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