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