Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / aspeed-bmc-lenovo-hr855xg2.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Device Tree file for Lenovo Hr855xg2 platform
4  *
5  * Copyright (C) 2019-present Lenovo
6  */
7
8 /dts-v1/;
9
10 #include "aspeed-g5.dtsi"
11 #include <dt-bindings/gpio/aspeed-gpio.h>
12
13 / {
14         model = "HR855XG2 BMC";
15         compatible = "lenovo,hr855xg2-bmc", "aspeed,ast2500";
16
17         aliases {
18                 i2c14 = &i2c_riser1;
19                 i2c15 = &i2c_riser2;
20                 i2c16 = &i2c_riser3;
21                 i2c17 = &i2c_M2;
22                 i2c18 = &channel_0;
23                 i2c19 = &channel_1;
24                 i2c20 = &channel_2;
25                 i2c21 = &channel_3;
26         };
27
28         chosen {
29                 stdout-path = &uart5;
30                 bootargs = "console=tty0 console=ttyS4,115200 earlycon";
31         };
32
33         memory@80000000 {
34                 device_type = "memory";
35                 reg = <0x80000000 0x20000000>;
36         };
37
38         reserved-memory {
39                 #address-cells = <1>;
40                 #size-cells = <1>;
41                 ranges;
42
43                 flash_memory: region@98000000 {
44                         no-map;
45                         reg = <0x98000000 0x00100000>; /* 1M */
46                 };
47
48                 gfx_memory: framebuffer {
49                         size = <0x01000000>;
50                         alignment = <0x01000000>;
51                         compatible = "shared-dma-pool";
52                         reusable;
53                 };
54         };
55
56         leds {
57                 compatible = "gpio-leds";
58
59                 heartbeat {
60                         gpios = <&gpio ASPEED_GPIO(C, 7) GPIO_ACTIVE_LOW>;
61                 };
62
63                 fault {
64                         gpios = <&gpio ASPEED_GPIO(G, 3) GPIO_ACTIVE_LOW>;
65                 };
66         };
67
68         iio-hwmon {
69                 compatible = "iio-hwmon";
70                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
71                 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
72                 <&adc 8>, <&adc 9>, <&adc 10>,<&adc 11>,
73                 <&adc 12>,<&adc 13>,<&adc 14>;
74         };
75
76         iio-hwmon-battery {
77                 compatible = "iio-hwmon";
78                 io-channels = <&adc 15>;
79         };
80
81 };
82
83 &fmc {
84         status = "okay";
85         flash@0 {
86                 status = "okay";
87                 m25p,fast-read;
88                 label = "bmc";
89                 spi-max-frequency = <50000000>;
90 #include "openbmc-flash-layout.dtsi"
91         };
92 };
93
94 &lpc_ctrl {
95         status = "okay";
96         memory-region = <&flash_memory>;
97         flash = <&spi1>;
98 };
99
100 &lpc_snoop {
101         status = "okay";
102         snoop-ports = <0x80>;
103 };
104
105 &uart1 {
106         status = "okay";
107         pinctrl-names = "default";
108         pinctrl-0 = <&pinctrl_txd1_default
109                         &pinctrl_rxd1_default>;
110 };
111
112 &uart2 {
113         /* Rear RS-232 connector */
114         status = "okay";
115         pinctrl-names = "default";
116         pinctrl-0 = <&pinctrl_txd2_default
117                         &pinctrl_rxd2_default
118                         &pinctrl_nrts2_default
119                         &pinctrl_ndtr2_default
120                         &pinctrl_ndsr2_default
121                         &pinctrl_ncts2_default
122                         &pinctrl_ndcd2_default
123                         &pinctrl_nri2_default>;
124 };
125
126 &uart3 {
127         status = "okay";
128 };
129
130 &uart5 {
131         status = "okay";
132 };
133
134 &ibt {
135         status = "okay";
136 };
137
138 &mac0 {
139         status = "okay";
140         pinctrl-names = "default";
141         pinctrl-0 = <&pinctrl_rmii1_default>;
142         clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
143                  <&syscon ASPEED_CLK_MAC1RCLK>;
144         clock-names = "MACCLK", "RCLK";
145         use-ncsi;
146 };
147
148 &mac1 {
149         status = "okay";
150         pinctrl-names = "default";
151         pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
152 };
153
154 &adc{
155         status = "okay";
156         pinctrl-names = "default";
157         pinctrl-0 = <&pinctrl_adc0_default
158                         &pinctrl_adc1_default
159                         &pinctrl_adc2_default
160                         &pinctrl_adc3_default
161                         &pinctrl_adc4_default
162                         &pinctrl_adc5_default
163                         &pinctrl_adc6_default
164                         &pinctrl_adc7_default
165                         &pinctrl_adc8_default
166                         &pinctrl_adc9_default
167                         &pinctrl_adc10_default
168                         &pinctrl_adc11_default
169                         &pinctrl_adc12_default
170                         &pinctrl_adc13_default
171                         &pinctrl_adc14_default
172                         &pinctrl_adc15_default>;
173 };
174
175 &i2c0 {
176         status = "okay";
177
178         i2c-switch@70 {
179                 compatible = "nxp,pca9545";
180                 reg = <0x70>;
181                 #address-cells = <1>;
182                 #size-cells = <0>;
183
184                 i2c_riser1: i2c@0 {
185                         #address-cells = <1>;
186                         #size-cells = <0>;
187                         reg = <0>;
188                 };
189
190                 i2c_riser2: i2c@1 {
191                         #address-cells = <1>;
192                         #size-cells = <0>;
193                         reg = <1>;
194                 };
195
196                 i2c_riser3: i2c@2 {
197                         #address-cells = <1>;
198                         #size-cells = <0>;
199                         reg = <2>;
200                 };
201
202                 i2c_M2: i2c@3 {
203                         #address-cells = <1>;
204                         #size-cells = <0>;
205                         reg = <3>;
206                 };
207         };
208 };
209
210 &i2c1 {
211         status = "okay";
212         bus-frequency = <90000>;
213         HotSwap@10 {
214                 compatible = "adm1272";
215                 reg = <0x10>;
216         };
217
218         VR@45 {
219                 compatible = "pmbus";
220                 reg = <0x45>;
221         };
222 };
223
224 &i2c2 {
225         status = "okay";
226 };
227
228 &i2c3 {
229         status = "okay";
230         i2c-switch@70 {
231                 compatible = "nxp,pca9546";
232                 reg = <0x70>;
233                 #address-cells = <1>;
234                 #size-cells = <0>;
235
236                 channel_0: i2c@0 {
237                         #address-cells = <1>;
238                         #size-cells = <0>;
239                         reg = <0>;
240                 };
241
242                 channel_1: i2c@1 {
243                         #address-cells = <1>;
244                         #size-cells = <0>;
245                         reg = <1>;
246                 };
247
248                 channel_2: i2c@2 {
249                         #address-cells = <1>;
250                         #size-cells = <0>;
251                         reg = <2>;
252                 };
253
254                 channel_3: i2c@3 {
255                         #address-cells = <1>;
256                         #size-cells = <0>;
257                         reg = <3>;
258                 };
259         };
260 };
261
262 &i2c4 {
263         status = "okay";
264 };
265
266 &i2c5 {
267         status = "okay";
268 };
269
270 &i2c6 {
271         status = "okay";
272         /* temp1 */
273         tmp75@49 {
274                 compatible = "national,lm75";
275                 reg = <0x49>;
276         };
277
278         /* temp2 */
279         tmp75@4d {
280                 compatible = "national,lm75";
281                 reg = <0x4d>;
282         };
283
284         eeprom@54 {
285                 compatible = "atmel,24c256";
286                 reg = <0x54>;
287                 pagesize = <16>;
288         };
289 };
290
291 &i2c7 {
292         status = "okay";
293 };
294
295 &i2c8 {
296         status = "okay";
297 };
298
299 &i2c9 {
300         status = "okay";
301 };
302
303 &i2c10 {
304         status = "okay";
305 };
306
307 &i2c11 {
308         status = "okay";
309 };
310
311 &i2c13 {
312         status = "okay";
313 };
314
315 &ehci1 {
316         status = "okay";
317 };
318
319 &uhci {
320         status = "okay";
321 };
322
323 &gfx {
324         status = "okay";
325         memory-region = <&gfx_memory>;
326 };
327
328 &pwm_tacho {
329         status = "okay";
330         pinctrl-names = "default";
331         pinctrl-0 = <&pinctrl_pwm0_default
332         &pinctrl_pwm1_default
333         &pinctrl_pwm2_default
334         &pinctrl_pwm3_default
335         &pinctrl_pwm4_default
336         &pinctrl_pwm5_default
337         &pinctrl_pwm6_default
338         &pinctrl_pwm7_default>;
339
340         fan@0 {
341                 reg = <0x00>;
342                 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
343         };
344
345         fan@1 {
346                 reg = <0x00>;
347                 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
348         };
349
350         fan@2 {
351                 reg = <0x01>;
352                 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
353         };
354
355         fan@3 {
356                 reg = <0x01>;
357                 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
358         };
359
360         fan@4 {
361                 reg = <0x02>;
362                 aspeed,fan-tach-ch = /bits/ 8 <0x04>;
363         };
364
365         fan@5 {
366                 reg = <0x02>;
367                 aspeed,fan-tach-ch = /bits/ 8 <0x05>;
368         };
369
370         fan@6 {
371                 reg = <0x03>;
372                 aspeed,fan-tach-ch = /bits/ 8 <0x06>;
373         };
374
375         fan@7 {
376                 reg = <0x03>;
377                 aspeed,fan-tach-ch = /bits/ 8 <0x07>;
378         };
379
380         fan@8 {
381                 reg = <0x04>;
382                 aspeed,fan-tach-ch = /bits/ 8 <0x08>;
383         };
384
385         fan@9 {
386                 reg = <0x04>;
387                 aspeed,fan-tach-ch = /bits/ 8 <0x09>;
388         };
389
390         fan@10 {
391                 reg = <0x05>;
392                 aspeed,fan-tach-ch = /bits/ 8 <0x0a>;
393         };
394
395         fan@11 {
396                 reg = <0x05>;
397                 aspeed,fan-tach-ch = /bits/ 8 <0x0b>;
398         };
399
400         fan@12 {
401                 reg = <0x06>;
402                 aspeed,fan-tach-ch = /bits/ 8 <0x0c>;
403         };
404
405         fan@13 {
406                 reg = <0x06>;
407                 aspeed,fan-tach-ch = /bits/ 8 <0x0d>;
408         };
409
410         fan@14 {
411                 reg = <0x07>;
412                 aspeed,fan-tach-ch = /bits/ 8 <0x0e>;
413         };
414
415         fan@15 {
416                 reg = <0x07>;
417                 aspeed,fan-tach-ch = /bits/ 8 <0x0f>;
418         };
419
420         fan@16 {
421                 reg = <0x07>;
422                 aspeed,fan-tach-ch = /bits/ 8 <0x0f>;
423         };
424 };
425
426 &gpio {
427
428         pin_gpio_a1 {
429                 gpio-hog;
430                 gpios = <ASPEED_GPIO(A, 1) GPIO_ACTIVE_LOW>;
431                 output-high;
432                 line-name = "BMC_EMMC_RST_N";
433         };
434
435         pin_gpio_a3 {
436                 gpio-hog;
437                 gpios = <ASPEED_GPIO(A, 3) GPIO_ACTIVE_LOW>;
438                 output-high;
439                 line-name = "PCH_PWROK_BMC_FPGA";
440         };
441
442         pin_gpio_b5 {
443                 gpio-hog;
444                 gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
445                 output-high;
446                 line-name = "IRQ_BMC_PCH_SMI_LPC_N";
447         };
448
449         pin_gpio_b7 {
450                 gpio-hog;
451                 gpios = <ASPEED_GPIO(B, 7) GPIO_ACTIVE_LOW>;
452                 output-low;
453                 line-name = "CPU_SM_WP";
454         };
455
456         pin_gpio_e0 {
457                 gpio-hog;
458                 gpios = <ASPEED_GPIO(E, 0) GPIO_ACTIVE_HIGH>;
459                 input;
460                 line-name = "PDB_PSU_SEL";
461         };
462
463         pin_gpio_e2 {
464                 gpio-hog;
465                 gpios = <ASPEED_GPIO(E, 2) GPIO_ACTIVE_HIGH>;
466                 output-high;
467                 line-name = "LOCATOR_LED_N";
468         };
469
470         pin_gpio_e5 {
471                 gpio-hog;
472                 gpios = <ASPEED_GPIO(E, 5) GPIO_ACTIVE_HIGH>;
473                 output-high;
474                 line-name = "FM_BMC_DBP_PRESENT_R1_N";
475         };
476
477         pin_gpio_e6 {
478                 gpio-hog;
479                 gpios = <ASPEED_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
480                 output-high;
481                 line-name = "BMC_ME_SECURITY_OVERRIDE_N";
482         };
483
484         pin_gpio_f0 {
485                 gpio-hog;
486                 gpios = <ASPEED_GPIO(F, 0) GPIO_ACTIVE_HIGH>;
487                 output-high;
488                 line-name = "IRQ_BMC_PCH_NMI_R";
489         };
490
491         pin_gpio_f1 {
492                 gpio-hog;
493                 gpios = <ASPEED_GPIO(F, 1) GPIO_ACTIVE_HIGH>;
494                 input;
495                 line-name = "CPU2_PROCDIS_BMC_N";
496         };
497
498         pin_gpio_f2 {
499                 gpio-hog;
500                 gpios = <ASPEED_GPIO(F, 2) GPIO_ACTIVE_HIGH>;
501                 output-high;
502                 line-name = "RM_THROTTLE_EN_N";
503         };
504
505         pin_gpio_f3 {
506                 gpio-hog;
507                 gpios = <ASPEED_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
508                 output-low;
509                 line-name = "FM_PMBUS_ALERT_B_EN";
510         };
511
512         pin_gpio_f4 {
513                 gpio-hog;
514                 gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
515                 output-high;
516                 line-name = "BMC_FORCE_NM_THROTTLE_N";
517         };
518
519         pin_gpio_f6 {
520                 gpio-hog;
521                 gpios = <ASPEED_GPIO(F, 6) GPIO_ACTIVE_HIGH>;
522                 output-high;
523                 line-name = "FM_BMC_CPU_PWR_DEBUG_N";
524         };
525
526         pin_gpio_g7 {
527                 gpio-hog;
528                 gpios = <ASPEED_GPIO(G, 7) GPIO_ACTIVE_HIGH>;
529                 output-high;
530                 line-name = "BMC_PCIE_I2C_MUX_RST_N";
531         };
532
533         pin_gpio_h6 {
534                 gpio-hog;
535                 gpios = <ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
536                 output-high;
537                 line-name = "FM_BMC_DBP_PRESENT_R2_N";
538         };
539
540         pin_gpio_i3 {
541                 gpio-hog;
542                 gpios = <ASPEED_GPIO(I, 3) GPIO_ACTIVE_HIGH>;
543                 output-high;
544                 line-name = "SPI_BMC_BIOS_WP_N";
545         };
546
547         pin_gpio_j1 {
548                 gpio-hog;
549                 gpios = <ASPEED_GPIO(J, 1) GPIO_ACTIVE_HIGH>;
550                 output-high;
551                 line-name = "BMC_USB_SEL";
552         };
553
554         pin_gpio_j2 {
555                 gpio-hog;
556                 gpios = <ASPEED_GPIO(J, 2) GPIO_ACTIVE_HIGH>;
557                 output-high;
558                 line-name = "PDB_SMB_RST_N";
559         };
560
561         pin_gpio_j3 {
562                 gpio-hog;
563                 gpios = <ASPEED_GPIO(J, 3) GPIO_ACTIVE_HIGH>;
564                 output-high;
565                 line-name = "SPI_BMC_BIOS_HOLD_N";
566         };
567
568         pin_gpio_l0 {
569                 gpio-hog;
570                 gpios = <ASPEED_GPIO(L, 0) GPIO_ACTIVE_HIGH>;
571                 output-high;
572                 line-name = "PDB_FAN_TACH_SEL";
573         };
574
575         pin_gpio_l1 {
576                 gpio-hog;
577                 gpios = <ASPEED_GPIO(L, 1) GPIO_ACTIVE_HIGH>;
578                 output-high;
579                 line-name = "SYS_RESET_BMC_FPGA_N";
580         };
581
582         pin_gpio_l4 {
583                 gpio-hog;
584                 gpios = <ASPEED_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
585                 output-high;
586                 line-name = "FM_EFUSE_FAN_G1_EN";
587         };
588
589         pin_gpio_l5 {
590                 gpio-hog;
591                 gpios = <ASPEED_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
592                 output-high;
593                 line-name = "FM_EFUSE_FAN_G2_EN";
594         };
595
596         pin_gpio_r6 {
597                 gpio-hog;
598                 gpios = <ASPEED_GPIO(R, 6) GPIO_ACTIVE_HIGH>;
599                 input;
600                 line-name = "CPU3_PROCDIS_BMC_N";
601         };
602
603         pin_gpio_r7 {
604                 gpio-hog;
605                 gpios = <ASPEED_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
606                 input;
607                 line-name = "CPU4_PROCDIS_BMC_N";
608         };
609
610         pin_gpio_s1 {
611                 gpio-hog;
612                 gpios = <ASPEED_GPIO(S, 1) GPIO_ACTIVE_HIGH>;
613                 output-low;
614                 line-name = "DBP_SYSPWROK_BMC";
615         };
616
617         pin_gpio_s2 {
618                 gpio-hog;
619                 gpios = <ASPEED_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
620                 output-high;
621                 line-name = "PCH_RST_RSMRST_N";
622         };
623
624         pin_gpio_s6 {
625                 gpio-hog;
626                 gpios = <ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
627                 output-high;
628                 line-name = "BMC_HW_STRAP_5";
629         };
630
631         pin_gpio_z3 {
632                 gpio-hog;
633                 gpios = <ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
634                 output-high;
635                 line-name = "FM_BMC_PCH_SCI_LPC_N";
636         };
637
638         pin_gpio_aa0 {
639                 gpio-hog;
640                 gpios = <ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
641                 output-low;
642                 line-name = "FW_PSU_ALERT_EN_N";
643         };
644
645         pin_gpio_aa4 {
646                 gpio-hog;
647                 gpios = <ASPEED_GPIO(AA, 4) GPIO_ACTIVE_HIGH>;
648                 output-high;
649                 line-name = "DBP_CPU_PREQ_N";
650         };
651
652         pin_gpio_ab3 {
653                 gpio-hog;
654                 gpios = <ASPEED_GPIO(AB, 3) GPIO_ACTIVE_HIGH>;
655                 output-low;
656                 line-name = "BMC_WDTRST";
657         };
658
659         pin_gpio_ac6 {
660                 gpio-hog;
661                 gpios = <ASPEED_GPIO(AC, 6) GPIO_ACTIVE_HIGH>;
662                 output-high;
663                 line-name = "ESPI_BMC_ALERT_N";
664         };
665
666 };