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