]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm/aspeed-bmc-opp-witherspoon.dts
Import DTS files for arm, arm64, riscv from Linux 5.8
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm / aspeed-bmc-opp-witherspoon.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 /dts-v1/;
3 #include "aspeed-g5.dtsi"
4 #include <dt-bindings/gpio/aspeed-gpio.h>
5 #include <dt-bindings/leds/leds-pca955x.h>
6
7 / {
8         model = "Witherspoon BMC";
9         compatible = "ibm,witherspoon-bmc", "aspeed,ast2500";
10
11         chosen {
12                 stdout-path = &uart5;
13                 bootargs = "console=ttyS4,115200 earlyprintk";
14         };
15
16         memory@80000000 {
17                 reg = <0x80000000 0x20000000>;
18         };
19
20         reserved-memory {
21                 #address-cells = <1>;
22                 #size-cells = <1>;
23                 ranges;
24
25                 flash_memory: region@98000000 {
26                         no-map;
27                         reg = <0x98000000 0x04000000>; /* 64M */
28                 };
29
30                 gfx_memory: framebuffer {
31                         size = <0x01000000>;
32                         alignment = <0x01000000>;
33                         compatible = "shared-dma-pool";
34                         reusable;
35                 };
36
37                 video_engine_memory: jpegbuffer {
38                         size = <0x02000000>;    /* 32MM */
39                         alignment = <0x01000000>;
40                         compatible = "shared-dma-pool";
41                         reusable;
42                 };
43         };
44
45         gpio-keys {
46                 compatible = "gpio-keys";
47
48                 air-water {
49                         label = "air-water";
50                         gpios = <&gpio ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>;
51                         linux,code = <ASPEED_GPIO(B, 5)>;
52                 };
53
54                 checkstop {
55                         label = "checkstop";
56                         gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
57                         linux,code = <ASPEED_GPIO(J, 2)>;
58                 };
59
60                 ps0-presence {
61                         label = "ps0-presence";
62                         gpios = <&gpio ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
63                         linux,code = <ASPEED_GPIO(P, 7)>;
64                 };
65
66                 ps1-presence {
67                         label = "ps1-presence";
68                         gpios = <&gpio ASPEED_GPIO(N, 0) GPIO_ACTIVE_LOW>;
69                         linux,code = <ASPEED_GPIO(N, 0)>;
70                 };
71         };
72
73         iio-hwmon-battery {
74                 compatible = "iio-hwmon";
75                 io-channels = <&adc 12>;
76         };
77
78         gpio-keys-polled {
79                 compatible = "gpio-keys-polled";
80                 poll-interval = <1000>;
81
82                 fan0-presence {
83                         label = "fan0-presence";
84                         gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
85                         linux,code = <4>;
86                 };
87
88                 fan1-presence {
89                         label = "fan1-presence";
90                         gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
91                         linux,code = <5>;
92                 };
93
94                 fan2-presence {
95                         label = "fan2-presence";
96                         gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
97                         linux,code = <6>;
98                 };
99
100                 fan3-presence {
101                         label = "fan3-presence";
102                         gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
103                         linux,code = <7>;
104                 };
105         };
106
107         leds {
108                 compatible = "gpio-leds";
109
110                 fan0 {
111                         retain-state-shutdown;
112                         default-state = "keep";
113                         gpios = <&pca0 0 GPIO_ACTIVE_LOW>;
114                 };
115
116                 fan1 {
117                         retain-state-shutdown;
118                         default-state = "keep";
119                         gpios = <&pca0 1 GPIO_ACTIVE_LOW>;
120                 };
121
122                 fan2 {
123                         retain-state-shutdown;
124                         default-state = "keep";
125                         gpios = <&pca0 2 GPIO_ACTIVE_LOW>;
126                 };
127
128                 fan3 {
129                         retain-state-shutdown;
130                         default-state = "keep";
131                         gpios = <&pca0 3 GPIO_ACTIVE_LOW>;
132                 };
133
134                 front-fault {
135                         retain-state-shutdown;
136                         default-state = "keep";
137                         gpios = <&pca0 13 GPIO_ACTIVE_LOW>;
138                 };
139
140                 front-power {
141                         retain-state-shutdown;
142                         default-state = "keep";
143                         gpios = <&pca0 14 GPIO_ACTIVE_LOW>;
144                 };
145
146                 front-id {
147                         retain-state-shutdown;
148                         default-state = "keep";
149                         gpios = <&pca0 15 GPIO_ACTIVE_LOW>;
150                 };
151
152                 rear-fault {
153                         gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
154                 };
155
156                 rear-id {
157                         gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_LOW>;
158                 };
159
160                 rear-power {
161                         gpios = <&gpio ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
162                 };
163
164                 power-button {
165                         gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
166                 };
167         };
168
169         fsi: gpio-fsi {
170                 compatible = "fsi-master-gpio", "fsi-master";
171                 #address-cells = <2>;
172                 #size-cells = <0>;
173                 no-gpio-delays;
174
175                 clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
176                 data-gpios = <&gpio ASPEED_GPIO(E, 0) GPIO_ACTIVE_HIGH>;
177                 mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
178                 enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
179                 trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
180         };
181
182         iio-hwmon-dps310 {
183                 compatible = "iio-hwmon";
184                 io-channels = <&dps 0>;
185         };
186
187         iio-hwmon-bmp280 {
188                 compatible = "iio-hwmon";
189                 io-channels = <&bmp 1>;
190         };
191
192 };
193
194 &gpio {
195         gpio-line-names =
196         /*A0-A7*/       "","cfam-reset","","","","","fsi-mux","",
197         /*B0-B7*/       "","","","","","air-water","","",
198         /*C0-C7*/       "","","","","","","","",
199         /*D0-D7*/       "fsi-enable","","","","","","","",
200         /*E0-E7*/       "fsi-data","","","","","","","",
201         /*F0-F7*/       "","","","","","","","",
202         /*G0-G7*/       "","","","","","","","",
203         /*H0-H7*/       "","","","","","","","",
204         /*I0-I7*/       "","","","","","","","",
205         /*J0-J7*/       "","","checkstop","","","","","",
206         /*K0-K7*/       "","","","","","","","",
207         /*L0-L7*/       "","","","","","","","",
208         /*M0-M7*/       "","","","","","","","",
209         /*N0-N7*/       "presence-ps1","","led-rear-fault","led-rear-power",
210                         "led-rear-id","","","",
211         /*O0-O7*/       "","","","","","","","",
212         /*P0-P7*/       "","","","","","","","presence-ps0",
213         /*Q0-Q7*/       "","","","","","","","",
214         /*R0-R7*/       "","","fsi-trans","","","power-button","","",
215         /*S0-S7*/       "","","","","","","","",
216         /*T0-T7*/       "","","","","","","","",
217         /*U0-U7*/       "","","","","","","","",
218         /*V0-V7*/       "","","","","","","","",
219         /*W0-W7*/       "","","","","","","","",
220         /*X0-X7*/       "","","","","","","","",
221         /*Y0-Y7*/       "","","","","","","","",
222         /*Z0-Z7*/       "","","","","","","","",
223         /*AA0-AA7*/     "fsi-clock","","","","","","","",
224         /*AB0-AB7*/     "","","","","","","","",
225         /*AC0-AC7*/     "","","","","","","","";
226 };
227
228 &fmc {
229         status = "okay";
230
231         flash@0 {
232                 status = "okay";
233                 label = "bmc";
234                 m25p,fast-read;
235                 spi-max-frequency = <50000000>;
236
237                 partitions {
238                         #address-cells = < 1 >;
239                         #size-cells = < 1 >;
240                         compatible = "fixed-partitions";
241                         u-boot@0 {
242                                 reg = < 0 0x60000 >;
243                                 label = "u-boot";
244                         };
245                         u-boot-env@60000 {
246                                 reg = < 0x60000 0x20000 >;
247                                 label = "u-boot-env";
248                         };
249                         obmc-ubi@80000 {
250                                 reg = < 0x80000 0x1F80000 >;
251                                 label = "obmc-ubi";
252                         };
253                 };
254         };
255
256         flash@1 {
257                 status = "okay";
258                 label = "alt-bmc";
259                 m25p,fast-read;
260                 spi-max-frequency = <50000000>;
261
262                 partitions {
263                         #address-cells = < 1 >;
264                         #size-cells = < 1 >;
265                         compatible = "fixed-partitions";
266                         u-boot@0 {
267                                 reg = < 0 0x60000 >;
268                                 label = "alt-u-boot";
269                         };
270                         u-boot-env@60000 {
271                                 reg = < 0x60000 0x20000 >;
272                                 label = "alt-u-boot-env";
273                         };
274                         obmc-ubi@80000 {
275                                 reg = < 0x80000 0x1F80000 >;
276                                 label = "alt-obmc-ubi";
277                         };
278                 };
279         };
280 };
281
282 &spi1 {
283         status = "okay";
284         pinctrl-names = "default";
285         pinctrl-0 = <&pinctrl_spi1_default>;
286
287         flash@0 {
288                 status = "okay";
289                 label = "pnor";
290                 m25p,fast-read;
291                 spi-max-frequency = <100000000>;
292         };
293 };
294
295 &uart1 {
296         /* Rear RS-232 connector */
297         status = "okay";
298         pinctrl-names = "default";
299         pinctrl-0 = <&pinctrl_txd1_default
300                         &pinctrl_rxd1_default
301                         &pinctrl_nrts1_default
302                         &pinctrl_ndtr1_default
303                         &pinctrl_ndsr1_default
304                         &pinctrl_ncts1_default
305                         &pinctrl_ndcd1_default
306                         &pinctrl_nri1_default>;
307 };
308
309 &uart2 {
310         /* APSS */
311         status = "okay";
312         pinctrl-names = "default";
313         pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
314 };
315
316 &uart5 {
317         status = "okay";
318 };
319
320 &lpc_ctrl {
321         status = "okay";
322         memory-region = <&flash_memory>;
323         flash = <&spi1>;
324 };
325
326 &mac0 {
327         status = "okay";
328         pinctrl-names = "default";
329         pinctrl-0 = <&pinctrl_rmii1_default>;
330         clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
331                  <&syscon ASPEED_CLK_MAC1RCLK>;
332         clock-names = "MACCLK", "RCLK";
333         use-ncsi;
334 };
335
336 &i2c2 {
337         status = "okay";
338
339         /* MUX ->
340          *    Samtec 1
341          *    Samtec 2
342          */
343 };
344
345 &i2c3 {
346         status = "okay";
347
348         bmp: bmp280@77 {
349                 compatible = "bosch,bmp280";
350                 reg = <0x77>;
351                 #io-channel-cells = <1>;
352         };
353
354         max31785@52 {
355                 compatible = "maxim,max31785a";
356                 reg = <0x52>;
357                 #address-cells = <1>;
358                 #size-cells = <0>;
359         };
360
361         dps: dps310@76 {
362                 compatible = "infineon,dps310";
363                 reg = <0x76>;
364                 #io-channel-cells = <0>;
365         };
366
367         pca0: pca9552@60 {
368                 compatible = "nxp,pca9552";
369                 reg = <0x60>;
370                 #address-cells = <1>;
371                 #size-cells = <0>;
372
373                 gpio-controller;
374                 #gpio-cells = <2>;
375
376                 gpio@0 {
377                         reg = <0>;
378                         type = <PCA955X_TYPE_GPIO>;
379                 };
380
381                 gpio@1 {
382                         reg = <1>;
383                         type = <PCA955X_TYPE_GPIO>;
384                 };
385
386                 gpio@2 {
387                         reg = <2>;
388                         type = <PCA955X_TYPE_GPIO>;
389                 };
390
391                 gpio@3 {
392                         reg = <3>;
393                         type = <PCA955X_TYPE_GPIO>;
394                 };
395
396                 gpio@4 {
397                         reg = <4>;
398                         type = <PCA955X_TYPE_GPIO>;
399                 };
400
401                 gpio@5 {
402                         reg = <5>;
403                         type = <PCA955X_TYPE_GPIO>;
404                 };
405
406                 gpio@6 {
407                         reg = <6>;
408                         type = <PCA955X_TYPE_GPIO>;
409                 };
410
411                 gpio@7 {
412                         reg = <7>;
413                         type = <PCA955X_TYPE_GPIO>;
414                 };
415
416                 gpio@8 {
417                         reg = <8>;
418                         type = <PCA955X_TYPE_GPIO>;
419                 };
420
421                 gpio@9 {
422                         reg = <9>;
423                         type = <PCA955X_TYPE_GPIO>;
424                 };
425
426                 gpio@10 {
427                         reg = <10>;
428                         type = <PCA955X_TYPE_GPIO>;
429                 };
430
431                 gpio@11 {
432                         reg = <11>;
433                         type = <PCA955X_TYPE_GPIO>;
434                 };
435
436                 gpio@12 {
437                         reg = <12>;
438                         type = <PCA955X_TYPE_GPIO>;
439                 };
440
441                 gpio@13 {
442                         reg = <13>;
443                         type = <PCA955X_TYPE_GPIO>;
444                 };
445
446                 gpio@14 {
447                         reg = <14>;
448                         type = <PCA955X_TYPE_GPIO>;
449                 };
450
451                 gpio@15 {
452                         reg = <15>;
453                         type = <PCA955X_TYPE_GPIO>;
454                 };
455         };
456
457         power-supply@68 {
458                 compatible = "ibm,cffps1";
459                 reg = <0x68>;
460         };
461
462         power-supply@69 {
463                 compatible = "ibm,cffps1";
464                 reg = <0x69>;
465         };
466 };
467
468 &i2c4 {
469         status = "okay";
470
471         tmp423a@4c {
472                 compatible = "ti,tmp423";
473                 reg = <0x4c>;
474         };
475
476         ir35221@70 {
477                 compatible = "infineon,ir35221";
478                 reg = <0x70>;
479         };
480
481         ir35221@71 {
482                 compatible = "infineon,ir35221";
483                 reg = <0x71>;
484         };
485 };
486
487
488 &i2c5 {
489         status = "okay";
490
491         tmp423a@4c {
492                 compatible = "ti,tmp423";
493                 reg = <0x4c>;
494         };
495
496         ir35221@70 {
497                 compatible = "infineon,ir35221";
498                 reg = <0x70>;
499         };
500
501         ir35221@71 {
502                 compatible = "infineon,ir35221";
503                 reg = <0x71>;
504         };
505 };
506
507 &i2c9 {
508         status = "okay";
509
510         tmp275@4a {
511                 compatible = "ti,tmp275";
512                 reg = <0x4a>;
513         };
514 };
515
516 &i2c10 {
517         /* MUX
518          *   -> PCIe Slot 3
519          *   -> PCIe Slot 4
520          */
521         status = "okay";
522 };
523
524 &i2c11 {
525         status = "okay";
526
527         pca9552: pca9552@60 {
528                 compatible = "nxp,pca9552";
529                 reg = <0x60>;
530                 #address-cells = <1>;
531                 #size-cells = <0>;
532                 gpio-controller;
533                 #gpio-cells = <2>;
534
535                 gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
536                         "GPU0_TH_OVERT_N_BUFF", "GPU1_TH_OVERT_N_BUFF",
537                         "GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
538                         "GPU4_TH_OVERT_N_BUFF", "GPU5_TH_OVERT_N_BUFF",
539                         "GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
540                         "GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
541                         "GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF",
542                         "12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
543
544                 gpio@0 {
545                         reg = <0>;
546                         type = <PCA955X_TYPE_GPIO>;
547                 };
548
549                 gpio@1 {
550                         reg = <1>;
551                         type = <PCA955X_TYPE_GPIO>;
552                 };
553
554                 gpio@2 {
555                         reg = <2>;
556                         type = <PCA955X_TYPE_GPIO>;
557                 };
558
559                 gpio@3 {
560                         reg = <3>;
561                         type = <PCA955X_TYPE_GPIO>;
562                 };
563
564                 gpio@4 {
565                         reg = <4>;
566                         type = <PCA955X_TYPE_GPIO>;
567                 };
568
569                 gpio@5 {
570                         reg = <5>;
571                         type = <PCA955X_TYPE_GPIO>;
572                 };
573
574                 gpio@6 {
575                         reg = <6>;
576                         type = <PCA955X_TYPE_GPIO>;
577                 };
578
579                 gpio@7 {
580                         reg = <7>;
581                         type = <PCA955X_TYPE_GPIO>;
582                 };
583
584                 gpio@8 {
585                         reg = <8>;
586                         type = <PCA955X_TYPE_GPIO>;
587                 };
588
589                 gpio@9 {
590                         reg = <9>;
591                         type = <PCA955X_TYPE_GPIO>;
592                 };
593
594                 gpio@10 {
595                         reg = <10>;
596                         type = <PCA955X_TYPE_GPIO>;
597                 };
598
599                 gpio@11 {
600                         reg = <11>;
601                         type = <PCA955X_TYPE_GPIO>;
602                 };
603
604                 gpio@12 {
605                         reg = <12>;
606                         type = <PCA955X_TYPE_GPIO>;
607                 };
608
609                 gpio@13 {
610                         reg = <13>;
611                         type = <PCA955X_TYPE_GPIO>;
612                 };
613
614                 gpio@14 {
615                         reg = <14>;
616                         type = <PCA955X_TYPE_GPIO>;
617                 };
618
619                 gpio@15 {
620                         reg = <15>;
621                         type = <PCA955X_TYPE_GPIO>;
622                 };
623         };
624
625         rtc@32 {
626                 compatible = "epson,rx8900";
627                 reg = <0x32>;
628         };
629
630         eeprom@51 {
631                 compatible = "atmel,24c64";
632                 reg = <0x51>;
633         };
634
635         ucd90160@64 {
636                 compatible = "ti,ucd90160";
637                 reg = <0x64>;
638         };
639 };
640
641 &i2c12 {
642         status = "okay";
643 };
644
645 &i2c13 {
646         status = "okay";
647 };
648
649 &vuart {
650         status = "okay";
651 };
652
653 &gfx {
654         status = "okay";
655         memory-region = <&gfx_memory>;
656 };
657
658 &pinctrl {
659         aspeed,external-nodes = <&gfx &lhc>;
660 };
661
662 &wdt1 {
663         aspeed,reset-type = "none";
664         aspeed,external-signal;
665         aspeed,ext-push-pull;
666         aspeed,ext-active-high;
667
668         pinctrl-names = "default";
669         pinctrl-0 = <&pinctrl_wdtrst1_default>;
670 };
671
672 &wdt2 {
673         aspeed,alt-boot;
674 };
675
676 &ibt {
677         status = "okay";
678 };
679
680 &adc {
681         status = "okay";
682 };
683
684 &vhub {
685         status = "okay";
686 };
687
688 &video {
689         status = "okay";
690         memory-region = <&video_engine_memory>;
691 };
692
693 #include "ibm-power9-dual.dtsi"