Merge tag 'media/v5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / aspeed-bmc-ibm-rainier.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 // Copyright 2019 IBM Corp.
3 /dts-v1/;
4
5 #include "aspeed-g6.dtsi"
6 #include <dt-bindings/gpio/aspeed-gpio.h>
7 #include <dt-bindings/leds/leds-pca955x.h>
8
9 / {
10         model = "Rainier";
11         compatible = "ibm,rainier-bmc", "aspeed,ast2600";
12
13         aliases {
14                 serial4 = &uart5;
15         };
16
17         chosen {
18                 stdout-path = &uart5;
19                 bootargs = "console=ttyS4,115200n8";
20         };
21
22         memory@80000000 {
23                 device_type = "memory";
24                 reg = <0x80000000 0x40000000>;
25         };
26
27         reserved-memory {
28                 #address-cells = <1>;
29                 #size-cells = <1>;
30                 ranges;
31
32                 flash_memory: region@B8000000 {
33                         no-map;
34                         reg = <0xB8000000 0x04000000>; /* 64M */
35                 };
36
37                 vga_memory: region@bf000000 {
38                         no-map;
39                         reg = <0xbf000000 0x01000000>;  /* 16M */
40                 };
41         };
42
43         gpio-keys {
44                 compatible = "gpio-keys";
45
46                 ps0-presence {
47                         label = "ps0-presence";
48                         gpios = <&gpio0 ASPEED_GPIO(S, 0) GPIO_ACTIVE_LOW>;
49                         linux,code = <ASPEED_GPIO(S, 0)>;
50                 };
51
52                 ps1-presence {
53                         label = "ps1-presence";
54                         gpios = <&gpio0 ASPEED_GPIO(S, 1) GPIO_ACTIVE_LOW>;
55                         linux,code = <ASPEED_GPIO(S, 1)>;
56                 };
57
58                 ps2-presence {
59                         label = "ps2-presence";
60                         gpios = <&gpio0 ASPEED_GPIO(S, 2) GPIO_ACTIVE_LOW>;
61                         linux,code = <ASPEED_GPIO(S, 2)>;
62                 };
63
64                 ps3-presence {
65                         label = "ps3-presence";
66                         gpios = <&gpio0 ASPEED_GPIO(S, 3) GPIO_ACTIVE_LOW>;
67                         linux,code = <ASPEED_GPIO(S, 3)>;
68                 };
69         };
70
71 };
72
73 &gpio0 {
74         gpio-line-names =
75         /*A0-A7*/       "","","","","","","","",
76         /*B0-B7*/       "","","","","","","","",
77         /*C0-C7*/       "","","","","","","","",
78         /*D0-D7*/       "","","","","","","","",
79         /*E0-E7*/       "","","","","","","","",
80         /*F0-F7*/       "","","","","","","","",
81         /*G0-G7*/       "","","","","","","","",
82         /*H0-H7*/       "","","","","","","","",
83         /*I0-I7*/       "","","","","","","","",
84         /*J0-J7*/       "","","","","","","","",
85         /*K0-K7*/       "","","","","","","","",
86         /*L0-L7*/       "","","","","","","","",
87         /*M0-M7*/       "","","","","","","","",
88         /*N0-N7*/       "","","","","","","","",
89         /*O0-O7*/       "","","","","","","","",
90         /*P0-P7*/       "","","","","","","","",
91         /*Q0-Q7*/       "cfam-reset","","","","","","","",
92         /*R0-R7*/       "","","","","","","","",
93         /*S0-S7*/       "presence-ps0","presence-ps1","presence-ps2","presence-ps3",
94                                 "","","","",
95         /*T0-T7*/       "","","","","","","","",
96         /*U0-U7*/       "","","","","","","","",
97         /*V0-V7*/       "","","","","","","","",
98         /*W0-W7*/       "","","","","","","","",
99         /*X0-X7*/       "","","","","","","","",
100         /*Y0-Y7*/       "","","","","","","","",
101         /*Z0-Z7*/       "","","","","","","","",
102         /*AA0-AA7*/     "","","","","","","","",
103         /*AB0-AB7*/     "","","","","","","","",
104         /*AC0-AC7*/     "","","","","","","","";
105 };
106
107 &emmc_controller {
108         status = "okay";
109 };
110
111 &emmc {
112         status = "okay";
113 };
114
115 &fsim0 {
116         status = "okay";
117
118         #address-cells = <2>;
119         #size-cells = <0>;
120
121         cfam@0,0 {
122                 reg = <0 0>;
123                 #address-cells = <1>;
124                 #size-cells = <1>;
125                 chip-id = <0>;
126
127                 scom@1000 {
128                         compatible = "ibm,fsi2pib";
129                         reg = <0x1000 0x400>;
130                 };
131
132                 sbefifo@2400 {
133                         compatible = "ibm,p9-sbefifo";
134                         reg = <0x2400 0x400>;
135                         #address-cells = <1>;
136                         #size-cells = <0>;
137
138                         fsi_occ0: occ {
139                                 compatible = "ibm,p9-occ";
140                         };
141                 };
142
143                 fsi_hub0: hub@3400 {
144                         compatible = "fsi-master-hub";
145                         reg = <0x3400 0x400>;
146                         #address-cells = <2>;
147                         #size-cells = <0>;
148
149                         no-scan-on-init;
150                 };
151         };
152 };
153
154 &fsi_hub0 {
155         cfam@1,0 {
156                 reg = <1 0>;
157                 #address-cells = <1>;
158                 #size-cells = <1>;
159                 chip-id = <1>;
160
161                 scom@1000 {
162                         compatible = "ibm,fsi2pib";
163                         reg = <0x1000 0x400>;
164                 };
165
166                 sbefifo@2400 {
167                         compatible = "ibm,p9-sbefifo";
168                         reg = <0x2400 0x400>;
169                         #address-cells = <1>;
170                         #size-cells = <0>;
171
172                         fsi_occ1: occ {
173                                 compatible = "ibm,p9-occ";
174                         };
175                 };
176
177                 fsi_hub1: hub@3400 {
178                         compatible = "fsi-master-hub";
179                         reg = <0x3400 0x400>;
180                         #address-cells = <2>;
181                         #size-cells = <0>;
182
183                         no-scan-on-init;
184                 };
185         };
186 };
187
188 /* Legacy OCC numbering (to get rid of when userspace is fixed) */
189 &fsi_occ0 {
190         reg = <1>;
191 };
192
193 &fsi_occ1 {
194         reg = <2>;
195 };
196
197 &ibt {
198         status = "okay";
199 };
200
201 &i2c0 {
202         status = "okay";
203
204         eeprom@51 {
205                 compatible = "atmel,24c64";
206                 reg = <0x51>;
207         };
208 };
209
210 &i2c1 {
211         status = "okay";
212 };
213
214 &i2c2 {
215         status = "okay";
216 };
217
218 &i2c3 {
219         status = "okay";
220
221         power-supply@68 {
222                 compatible = "ibm,cffps";
223                 reg = <0x68>;
224         };
225
226         power-supply@69 {
227                 compatible = "ibm,cffps";
228                 reg = <0x69>;
229         };
230
231         power-supply@6a {
232                 compatible = "ibm,cffps";
233                 reg = <0x6a>;
234         };
235
236         power-supply@6b {
237                 compatible = "ibm,cffps";
238                 reg = <0x6b>;
239         };
240 };
241
242 &i2c4 {
243         status = "okay";
244
245         tmp275@48 {
246                 compatible = "ti,tmp275";
247                 reg = <0x48>;
248         };
249
250         tmp275@49 {
251                 compatible = "ti,tmp275";
252                 reg = <0x49>;
253         };
254
255         tmp275@4a {
256                 compatible = "ti,tmp275";
257                 reg = <0x4a>;
258         };
259
260         eeprom@50 {
261                 compatible = "atmel,24c64";
262                 reg = <0x50>;
263         };
264
265         eeprom@51 {
266                 compatible = "atmel,24c64";
267                 reg = <0x51>;
268         };
269
270         eeprom@52 {
271                 compatible = "atmel,24c64";
272                 reg = <0x52>;
273         };
274 };
275
276 &i2c5 {
277         status = "okay";
278
279         tmp275@48 {
280                 compatible = "ti,tmp275";
281                 reg = <0x48>;
282         };
283
284         tmp275@49 {
285                 compatible = "ti,tmp275";
286                 reg = <0x49>;
287         };
288
289         eeprom@50 {
290                 compatible = "atmel,24c64";
291                 reg = <0x50>;
292         };
293
294         eeprom@51 {
295                 compatible = "atmel,24c64";
296                 reg = <0x51>;
297         };
298 };
299
300 &i2c6 {
301         status = "okay";
302
303         tmp275@48 {
304                 compatible = "ti,tmp275";
305                 reg = <0x48>;
306         };
307
308         tmp275@4a {
309                 compatible = "ti,tmp275";
310                 reg = <0x4a>;
311         };
312
313         tmp275@4b {
314                 compatible = "ti,tmp275";
315                 reg = <0x4b>;
316         };
317
318         eeprom@50 {
319                 compatible = "atmel,24c64";
320                 reg = <0x50>;
321         };
322
323         eeprom@51 {
324                 compatible = "atmel,24c64";
325                 reg = <0x51>;
326         };
327
328         eeprom@52 {
329                 compatible = "atmel,24c64";
330                 reg = <0x52>;
331         };
332
333         eeprom@53 {
334                 compatible = "atmel,24c64";
335                 reg = <0x53>;
336         };
337 };
338
339 &i2c7 {
340         status = "okay";
341
342         si7021-a20@20 {
343                 compatible = "silabs,si7020";
344                 reg = <0x20>;
345         };
346
347         tmp275@48 {
348                 compatible = "ti,tmp275";
349                 reg = <0x48>;
350         };
351
352         max31785@52 {
353                 compatible = "maxim,max31785a";
354                 reg = <0x52>;
355                 #address-cells = <1>;
356                 #size-cells = <0>;
357
358                 fan@0 {
359                         compatible = "pmbus-fan";
360                         reg = <0>;
361                         tach-pulses = <2>;
362                 };
363
364                 fan@1 {
365                         compatible = "pmbus-fan";
366                         reg = <1>;
367                         tach-pulses = <2>;
368                 };
369
370                 fan@2 {
371                         compatible = "pmbus-fan";
372                         reg = <2>;
373                         tach-pulses = <2>;
374                 };
375
376                 fan@3 {
377                         compatible = "pmbus-fan";
378                         reg = <3>;
379                         tach-pulses = <2>;
380                 };
381         };
382
383         pca0: pca9552@61 {
384                 compatible = "nxp,pca9552";
385                 reg = <0x61>;
386                 #address-cells = <1>;
387                 #size-cells = <0>;
388
389                 gpio-controller;
390                 #gpio-cells = <2>;
391
392                 gpio@0 {
393                         reg = <0>;
394                         type = <PCA955X_TYPE_GPIO>;
395                 };
396
397                 gpio@1 {
398                         reg = <1>;
399                         type = <PCA955X_TYPE_GPIO>;
400                 };
401
402                 gpio@2 {
403                         reg = <2>;
404                         type = <PCA955X_TYPE_GPIO>;
405                 };
406
407                 gpio@3 {
408                         reg = <3>;
409                         type = <PCA955X_TYPE_GPIO>;
410                 };
411
412                 gpio@4 {
413                         reg = <4>;
414                         type = <PCA955X_TYPE_GPIO>;
415                 };
416
417                 gpio@5 {
418                         reg = <5>;
419                         type = <PCA955X_TYPE_GPIO>;
420                 };
421
422                 gpio@6 {
423                         reg = <6>;
424                         type = <PCA955X_TYPE_GPIO>;
425                 };
426
427                 gpio@7 {
428                         reg = <7>;
429                         type = <PCA955X_TYPE_GPIO>;
430                 };
431
432                 gpio@8 {
433                         reg = <8>;
434                         type = <PCA955X_TYPE_GPIO>;
435                 };
436
437                 gpio@9 {
438                         reg = <9>;
439                         type = <PCA955X_TYPE_GPIO>;
440                 };
441
442                 gpio@10 {
443                         reg = <10>;
444                         type = <PCA955X_TYPE_GPIO>;
445                 };
446
447                 gpio@11 {
448                         reg = <11>;
449                         type = <PCA955X_TYPE_GPIO>;
450                 };
451
452                 gpio@12 {
453                         reg = <12>;
454                         type = <PCA955X_TYPE_GPIO>;
455                 };
456
457                 gpio@13 {
458                         reg = <13>;
459                         type = <PCA955X_TYPE_GPIO>;
460                 };
461
462                 gpio@14 {
463                         reg = <14>;
464                         type = <PCA955X_TYPE_GPIO>;
465                 };
466
467                 gpio@15 {
468                         reg = <15>;
469                         type = <PCA955X_TYPE_GPIO>;
470                 };
471         };
472
473         dps: dps310@76 {
474                 compatible = "infineon,dps310";
475                 reg = <0x76>;
476                 #io-channel-cells = <0>;
477         };
478
479         eeprom@50 {
480                 compatible = "atmel,24c64";
481                 reg = <0x50>;
482         };
483
484         eeprom@51 {
485                 compatible = "atmel,24c64";
486                 reg = <0x51>;
487         };
488 };
489
490 &i2c8 {
491         status = "okay";
492
493         ucd90320@11 {
494                 compatible = "ti,ucd90320";
495                 reg = <0x11>;
496         };
497
498         rtc@32 {
499                 compatible = "epson,rx8900";
500                 reg = <0x32>;
501         };
502
503         tmp275@48 {
504                 compatible = "ti,tmp275";
505                 reg = <0x48>;
506         };
507
508         tmp275@4a {
509                 compatible = "ti,tmp275";
510                 reg = <0x4a>;
511         };
512
513         eeprom@50 {
514                 compatible = "atmel,24c64";
515                 reg = <0x50>;
516         };
517
518         eeprom@51 {
519                 compatible = "atmel,24c64";
520                 reg = <0x51>;
521         };
522 };
523
524 &i2c9 {
525         status = "okay";
526
527         tmp423a@4c {
528                 compatible = "ti,tmp423";
529                 reg = <0x4c>;
530         };
531
532         tmp423b@4d {
533                 compatible = "ti,tmp423";
534                 reg = <0x4d>;
535         };
536
537         eeprom@50 {
538                 compatible = "atmel,24c128";
539                 reg = <0x50>;
540         };
541 };
542
543 &i2c10 {
544         status = "okay";
545
546         tmp423a@4c {
547                 compatible = "ti,tmp423";
548                 reg = <0x4c>;
549         };
550
551         tmp423b@4d {
552                 compatible = "ti,tmp423";
553                 reg = <0x4d>;
554         };
555
556         eeprom@50 {
557                 compatible = "atmel,24c128";
558                 reg = <0x50>;
559         };
560 };
561
562 &i2c11 {
563         status = "okay";
564
565         tmp275@48 {
566                 compatible = "ti,tmp275";
567                 reg = <0x48>;
568         };
569
570         tmp275@49 {
571                 compatible = "ti,tmp275";
572                 reg = <0x49>;
573         };
574
575         eeprom@50 {
576                 compatible = "atmel,24c64";
577                 reg = <0x50>;
578         };
579
580         eeprom@51 {
581                 compatible = "atmel,24c64";
582                 reg = <0x51>;
583         };
584 };
585
586 &i2c12 {
587         status = "okay";
588 };
589
590 &i2c13 {
591         status = "okay";
592
593         eeprom@50 {
594                 compatible = "atmel,24c64";
595                 reg = <0x50>;
596         };
597 };
598
599 &i2c14 {
600         status = "okay";
601
602         eeprom@50 {
603                 compatible = "atmel,24c64";
604                 reg = <0x50>;
605         };
606 };
607
608 &i2c15 {
609         status = "okay";
610
611         eeprom@50 {
612                 compatible = "atmel,24c64";
613                 reg = <0x50>;
614         };
615 };
616
617 &vuart1 {
618         status = "okay";
619 };
620
621 &vuart2 {
622         status = "okay";
623 };
624
625 &lpc_ctrl {
626         status = "okay";
627         memory-region = <&flash_memory>;
628 };
629
630 &mac2 {
631         status = "okay";
632         pinctrl-names = "default";
633         pinctrl-0 = <&pinctrl_rmii3_default>;
634         clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
635                  <&syscon ASPEED_CLK_MAC3RCLK>;
636         clock-names = "MACCLK", "RCLK";
637         use-ncsi;
638 };
639
640 &mac3 {
641         status = "okay";
642         pinctrl-names = "default";
643         pinctrl-0 = <&pinctrl_rmii4_default>;
644         clocks = <&syscon ASPEED_CLK_GATE_MAC4CLK>,
645                  <&syscon ASPEED_CLK_MAC4RCLK>;
646         clock-names = "MACCLK", "RCLK";
647         use-ncsi;
648 };
649
650 &fmc {
651         status = "okay";
652         flash@0 {
653                 status = "okay";
654                 m25p,fast-read;
655                 label = "bmc";
656                 spi-max-frequency = <50000000>;
657 #include "openbmc-flash-layout-128.dtsi"
658         };
659
660         flash@1 {
661                 status = "okay";
662                 m25p,fast-read;
663                 label = "alt-bmc";
664                 spi-max-frequency = <50000000>;
665         };
666 };
667
668 &spi1 {
669         status = "okay";
670         pinctrl-names = "default";
671         pinctrl-0 = <&pinctrl_spi1_default>;
672
673         flash@0 {
674                 status = "okay";
675                 m25p,fast-read;
676                 label = "pnor";
677                 spi-max-frequency = <100000000>;
678         };
679 };