1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright (c) 2021 Facebook Inc.
5 #include "aspeed-g6.dtsi"
6 #include <dt-bindings/gpio/aspeed-gpio.h>
7 #include <dt-bindings/usb/pd.h>
8 #include <dt-bindings/leds/leds-pca955x.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
12 model = "Facebook Bletchley BMC";
13 compatible = "facebook,bletchley-bmc", "aspeed,ast2600";
20 bootargs = "console=ttyS4,57600n8";
24 device_type = "memory";
25 reg = <0x80000000 0x80000000>;
29 compatible = "iio-hwmon";
30 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
31 <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
32 <&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
33 <&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
36 spi1_gpio: spi1-gpio {
37 compatible = "spi-gpio";
41 gpio-sck = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
42 gpio-mosi = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
43 gpio-miso = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
44 num-chipselects = <1>;
45 cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
48 compatible = "tcg,tpm_tis-spi";
49 spi-max-frequency = <33000000>;
54 switchphy: ethernet-phy@0 {
59 compatible = "gpio-leds";
61 default-state = "off";
62 gpios = <&front_leds 0 GPIO_ACTIVE_HIGH>;
67 compatible = "gpio-leds";
69 retain-state-shutdown;
71 gpios = <&fan_leds 8 GPIO_ACTIVE_HIGH>;
74 retain-state-shutdown;
76 gpios = <&fan_leds 9 GPIO_ACTIVE_HIGH>;
79 retain-state-shutdown;
81 gpios = <&fan_leds 10 GPIO_ACTIVE_HIGH>;
84 retain-state-shutdown;
86 gpios = <&fan_leds 11 GPIO_ACTIVE_HIGH>;
89 retain-state-shutdown;
90 default-state = "off";
91 gpios = <&fan_leds 12 GPIO_ACTIVE_HIGH>;
94 retain-state-shutdown;
95 default-state = "off";
96 gpios = <&fan_leds 13 GPIO_ACTIVE_HIGH>;
99 retain-state-shutdown;
100 default-state = "off";
101 gpios = <&fan_leds 14 GPIO_ACTIVE_HIGH>;
104 retain-state-shutdown;
105 default-state = "off";
106 gpios = <&fan_leds 15 GPIO_ACTIVE_HIGH>;
111 compatible = "gpio-leds";
113 retain-state-shutdown;
114 default-state = "keep";
115 gpios = <&sled1_leds 0 GPIO_ACTIVE_LOW>;
118 retain-state-shutdown;
119 default-state = "keep";
120 gpios = <&sled1_leds 1 GPIO_ACTIVE_LOW>;
125 compatible = "gpio-leds";
127 retain-state-shutdown;
128 default-state = "keep";
129 gpios = <&sled2_leds 0 GPIO_ACTIVE_LOW>;
132 retain-state-shutdown;
133 default-state = "keep";
134 gpios = <&sled2_leds 1 GPIO_ACTIVE_LOW>;
139 compatible = "gpio-leds";
141 retain-state-shutdown;
142 default-state = "keep";
143 gpios = <&sled3_leds 0 GPIO_ACTIVE_LOW>;
146 retain-state-shutdown;
147 default-state = "keep";
148 gpios = <&sled3_leds 1 GPIO_ACTIVE_LOW>;
153 compatible = "gpio-leds";
155 retain-state-shutdown;
156 default-state = "keep";
157 gpios = <&sled4_leds 0 GPIO_ACTIVE_LOW>;
160 retain-state-shutdown;
161 default-state = "keep";
162 gpios = <&sled4_leds 1 GPIO_ACTIVE_LOW>;
167 compatible = "gpio-leds";
169 retain-state-shutdown;
170 default-state = "keep";
171 gpios = <&sled5_leds 0 GPIO_ACTIVE_LOW>;
174 retain-state-shutdown;
175 default-state = "keep";
176 gpios = <&sled5_leds 1 GPIO_ACTIVE_LOW>;
181 compatible = "gpio-leds";
183 retain-state-shutdown;
184 default-state = "keep";
185 gpios = <&sled6_leds 0 GPIO_ACTIVE_LOW>;
188 retain-state-shutdown;
189 default-state = "keep";
190 gpios = <&sled6_leds 1 GPIO_ACTIVE_LOW>;
198 phy-handle = <&switchphy>;
199 pinctrl-names = "default";
200 pinctrl-0 = <&pinctrl_rgmii3_default>;
214 spi-max-frequency = <50000000>;
215 #include "openbmc-flash-layout-128.dtsi"
221 spi-max-frequency = <50000000>;
227 pinctrl-names = "default";
228 pinctrl-0 = <&pinctrl_spi2_default>;
234 spi-max-frequency = <50000000>;
241 compatible = "ti,ina230";
243 shunt-resistor = <2000>;
247 compatible = "mps,mp5023";
252 compatible = "ti,tmp421";
256 sled1_ioexp41: pca9536@41 {
257 compatible = "nxp,pca9536";
263 "SLED1_SWD_MUX", "SLED1_XRES_SWD_N",
264 "SLED1_CLKREQ_N", "SLED1_PCIE_PWR_EN";
267 sled1_ioexp: pca9539@76 {
268 compatible = "nxp,pca9539";
270 #address-cells = <1>;
275 interrupt-parent = <&gpio0>;
276 interrupts = <ASPEED_GPIO(M, 0) IRQ_TYPE_LEVEL_LOW>;
279 "SLED1_MS_DETECT1","SLED1_VBUS_BMC_EN","SLED1_INA230_ALERT","SLED1_P12V_STBY_ALERT",
280 "SLED1_SSD_ALERT","SLED1_MS_DETECT0","SLED1_RST_CCG5","SLED1_FUSB302_INT",
281 "SLED1_MD_STBY_RESET","SLED1_MD_IOEXP_EN_FAULT","SLED1_MD_DIR","SLED1_MD_DECAY",
282 "SLED1_MD_MODE1","SLED1_MD_MODE2","SLED1_MD_MODE3","power-host1";
285 sled1_leds: pca9552@67 {
286 compatible = "nxp,pca9552";
288 #address-cells = <1>;
294 "led-sled1-amber","led-sled1-blue","SLED1_RST_IOEXP","SLED1_MD_REF_PWM",
300 sled1_fusb302: typec-portc@22 {
301 compatible = "fcs,fusb302";
305 compatible = "usb-c-connector";
308 try-power-role = "sink";
310 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
311 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
312 PDO_VAR(3000, 12000, 3000)
313 PDO_PPS_APDO(3000, 11000, 3000)>;
314 op-sink-microwatt = <10000000>;
319 compatible = "atmel,24c64";
327 compatible = "ti,ina230";
329 shunt-resistor = <2000>;
333 compatible = "mps,mp5023";
338 compatible = "ti,tmp421";
342 sled2_ioexp41: pca9536@41 {
343 compatible = "nxp,pca9536";
349 "SLED2_SWD_MUX", "SLED2_XRES_SWD_N",
350 "SLED2_CLKREQ_N", "SLED2_PCIE_PWR_EN";
353 sled2_ioexp: pca9539@76 {
354 compatible = "nxp,pca9539";
356 #address-cells = <1>;
361 interrupt-parent = <&gpio0>;
362 interrupts = <ASPEED_GPIO(M, 1) IRQ_TYPE_LEVEL_LOW>;
365 "SLED2_MS_DETECT1","SLED2_VBUS_BMC_EN","SLED2_INA230_ALERT","SLED2_P12V_STBY_ALERT",
366 "SLED2_SSD_ALERT","SLED2_MS_DETECT0","SLED2_RST_CCG5","SLED2_FUSB302_INT",
367 "SLED2_MD_STBY_RESET","SLED2_MD_IOEXP_EN_FAULT","SLED2_MD_DIR","SLED2_MD_DECAY",
368 "SLED2_MD_MODE1","SLED2_MD_MODE2","SLED2_MD_MODE3","power-host2";
371 sled2_leds: pca9552@67 {
372 compatible = "nxp,pca9552";
374 #address-cells = <1>;
380 "led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
386 sled2_fusb302: typec-portc@22 {
387 compatible = "fcs,fusb302";
391 compatible = "usb-c-connector";
394 try-power-role = "sink";
396 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
397 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
398 PDO_VAR(3000, 12000, 3000)
399 PDO_PPS_APDO(3000, 11000, 3000)>;
400 op-sink-microwatt = <10000000>;
405 compatible = "atmel,24c64";
413 compatible = "ti,ina230";
415 shunt-resistor = <2000>;
419 compatible = "mps,mp5023";
424 compatible = "ti,tmp421";
428 sled3_ioexp41: pca9536@41 {
429 compatible = "nxp,pca9536";
435 "SLED3_SWD_MUX", "SLED3_XRES_SWD_N",
436 "SLED3_CLKREQ_N", "SLED3_PCIE_PWR_EN";
439 sled3_ioexp: pca9539@76 {
440 compatible = "nxp,pca9539";
442 #address-cells = <1>;
447 interrupt-parent = <&gpio0>;
448 interrupts = <ASPEED_GPIO(M, 2) IRQ_TYPE_LEVEL_LOW>;
451 "SLED3_MS_DETECT1","SLED3_VBUS_BMC_EN","SLED3_INA230_ALERT","SLED3_P12V_STBY_ALERT",
452 "SLED3_SSD_ALERT","SLED3_MS_DETECT0","SLED3_RST_CCG5","SLED3_FUSB302_INT",
453 "SLED3_MD_STBY_RESET","SLED3_MD_IOEXP_EN_FAULT","SLED3_MD_DIR","SLED3_MD_DECAY",
454 "SLED3_MD_MODE1","SLED3_MD_MODE2","SLED3_MD_MODE3","power-host3";
457 sled3_leds: pca9552@67 {
458 compatible = "nxp,pca9552";
460 #address-cells = <1>;
466 "led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
472 sled3_fusb302: typec-portc@22 {
473 compatible = "fcs,fusb302";
477 compatible = "usb-c-connector";
480 try-power-role = "sink";
482 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
483 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
484 PDO_VAR(3000, 12000, 3000)
485 PDO_PPS_APDO(3000, 11000, 3000)>;
486 op-sink-microwatt = <10000000>;
491 compatible = "atmel,24c64";
499 compatible = "ti,ina230";
501 shunt-resistor = <2000>;
505 compatible = "mps,mp5023";
510 compatible = "ti,tmp421";
514 sled4_ioexp41: pca9536@41 {
515 compatible = "nxp,pca9536";
521 "SLED4_SWD_MUX", "SLED4_XRES_SWD_N",
522 "SLED4_CLKREQ_N", "SLED4_PCIE_PWR_EN";
525 sled4_ioexp: pca9539@76 {
526 compatible = "nxp,pca9539";
528 #address-cells = <1>;
533 interrupt-parent = <&gpio0>;
534 interrupts = <ASPEED_GPIO(M, 3) IRQ_TYPE_LEVEL_LOW>;
537 "SLED4_MS_DETECT1","SLED4_VBUS_BMC_EN","SLED4_INA230_ALERT","SLED4_P12V_STBY_ALERT",
538 "SLED4_SSD_ALERT","SLED4_MS_DETECT0","SLED4_RST_CCG5","SLED4_FUSB302_INT",
539 "SLED4_MD_STBY_RESET","SLED4_MD_IOEXP_EN_FAULT","SLED4_MD_DIR","SLED4_MD_DECAY",
540 "SLED4_MD_MODE1","SLED4_MD_MODE2","SLED4_MD_MODE3","power-host4";
543 sled4_leds: pca9552@67 {
544 compatible = "nxp,pca9552";
546 #address-cells = <1>;
552 "led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
558 sled4_fusb302: typec-portc@22 {
559 compatible = "fcs,fusb302";
563 compatible = "usb-c-connector";
566 try-power-role = "sink";
568 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
569 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
570 PDO_VAR(3000, 12000, 3000)
571 PDO_PPS_APDO(3000, 11000, 3000)>;
572 op-sink-microwatt = <10000000>;
577 compatible = "atmel,24c64";
585 compatible = "ti,ina230";
587 shunt-resistor = <2000>;
591 compatible = "mps,mp5023";
596 compatible = "ti,tmp421";
600 sled5_ioexp41: pca9536@41 {
601 compatible = "nxp,pca9536";
607 "SLED5_SWD_MUX", "SLED5_XRES_SWD_N",
608 "SLED5_CLKREQ_N", "SLED5_PCIE_PWR_EN";
611 sled5_ioexp: pca9539@76 {
612 compatible = "nxp,pca9539";
614 #address-cells = <1>;
619 interrupt-parent = <&gpio0>;
620 interrupts = <ASPEED_GPIO(M, 4) IRQ_TYPE_LEVEL_LOW>;
623 "SLED5_MS_DETECT1","SLED5_VBUS_BMC_EN","SLED5_INA230_ALERT","SLED5_P12V_STBY_ALERT",
624 "SLED5_SSD_ALERT","SLED5_MS_DETECT0","SLED5_RST_CCG5","SLED5_FUSB302_INT",
625 "SLED5_MD_STBY_RESET","SLED5_MD_IOEXP_EN_FAULT","SLED5_MD_DIR","SLED5_MD_DECAY",
626 "SLED5_MD_MODE1","SLED5_MD_MODE2","SLED5_MD_MODE3","power-host5";
629 sled5_leds: pca9552@67 {
630 compatible = "nxp,pca9552";
632 #address-cells = <1>;
638 "led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
644 sled5_fusb302: typec-portc@22 {
645 compatible = "fcs,fusb302";
649 compatible = "usb-c-connector";
652 try-power-role = "sink";
654 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
655 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
656 PDO_VAR(3000, 12000, 3000)
657 PDO_PPS_APDO(3000, 11000, 3000)>;
658 op-sink-microwatt = <10000000>;
663 compatible = "atmel,24c64";
671 compatible = "ti,ina230";
673 shunt-resistor = <2000>;
677 compatible = "mps,mp5023";
682 compatible = "ti,tmp421";
686 sled6_ioexp41: pca9536@41 {
687 compatible = "nxp,pca9536";
693 "SLED6_SWD_MUX", "SLED6_XRES_SWD_N",
694 "SLED6_CLKREQ_N", "SLED6_PCIE_PWR_EN";
697 sled6_ioexp: pca9539@76 {
698 compatible = "nxp,pca9539";
700 #address-cells = <1>;
705 interrupt-parent = <&gpio0>;
706 interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
709 "SLED6_MS_DETECT1","SLED6_VBUS_BMC_EN","SLED6_INA230_ALERT","SLED6_P12V_STBY_ALERT",
710 "SLED6_SSD_ALERT","SLED6_MS_DETECT0","SLED6_RST_CCG5","SLED6_FUSB302_INT",
711 "SLED6_MD_STBY_RESET","SLED6_MD_IOEXP_EN_FAULT","SLED6_MD_DIR","SLED6_MD_DECAY",
712 "SLED6_MD_MODE1","SLED6_MD_MODE2","SLED6_MD_MODE3","power-host6";
715 sled6_leds: pca9552@67 {
716 compatible = "nxp,pca9552";
718 #address-cells = <1>;
724 "led-sled6-amber","led-sled6-blue","SLED6_RST_IOEXP","SLED6_MD_REF_PWM",
730 sled6_fusb302: typec-portc@22 {
731 compatible = "fcs,fusb302";
735 compatible = "usb-c-connector";
738 try-power-role = "sink";
740 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
741 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
742 PDO_VAR(3000, 12000, 3000)
743 PDO_PPS_APDO(3000, 11000, 3000)>;
744 op-sink-microwatt = <10000000>;
749 compatible = "atmel,24c64";
758 compatible = "atmel,24c64";
763 /* in-chip rtc disabled, use external rtc (battery-backed) */
764 compatible = "nxp,pcf85263";
773 compatible = "atmel,24c64";
782 compatible = "ti,tmp421";
791 compatible = "ti,tmp421";
796 compatible = "ti,hdc1080";
800 front_leds: pca9552@67 {
801 compatible = "nxp,pca9552";
803 #address-cells = <1>;
809 "led-fault-identify","power-p5v-stby-good",
810 "power-p1v0-dvdd-good","power-p1v0-avdd-good",
821 compatible = "adi,adm1278";
823 shunt-resistor-micro-ohms = <300>;
824 adi,volt-curr-sample-average = <128>;
825 adi,power-sample-average = <128>;
829 compatible = "ti,tmp421";
834 compatible = "ti,tmp421";
838 fan_leds: pca9552@67 {
839 compatible = "nxp,pca9552";
841 #address-cells = <1>;
847 "presence-fan0","presence-fan1",
848 "presence-fan2","presence-fan3",
849 "power-fan0-good","power-fan1-good",
850 "power-fan2-good","power-fan3-good",
858 aspeed,hw-timeout-ms = <1000>;
864 /*A0-A7*/ "","","","","","","","",
865 /*B0-B7*/ "FUSB302_SLED1_INT_N","FUSB302_SLED2_INT_N",
866 "SEL_SPI2_MUX","SPI2_MUX1",
867 "SPI2_MUX2","SPI2_MUX3",
868 "","FUSB302_SLED3_INT_N",
869 /*C0-C7*/ "","","","","","","","",
870 /*D0-D7*/ "","","","","","","","",
871 /*E0-E7*/ "","","","","","","","",
872 /*F0-F7*/ "BMC_SLED1_STCK","BMC_SLED2_STCK",
873 "BMC_SLED3_STCK","BMC_SLED4_STCK",
874 "BMC_SLED5_STCK","BMC_SLED6_STCK",
876 /*G0-G7*/ "BSM_FRU_WP","SWITCH_FRU_MUX","","FM_SOL_UART_CH_SEL",
877 "PWRGD_P1V05_VDDCORE","PWRGD_P1V5_VDD","","",
878 /*H0-H7*/ "presence-riser1","presence-riser2",
879 "presence-sled1","presence-sled2",
880 "presence-sled3","presence-sled4",
881 "presence-sled5","presence-sled6",
882 /*I0-I7*/ "REV_ID0","",
884 "","BSM_FLASH_WP_STATUS",
885 "BMC_TPM_PRES_N","FUSB302_SLED6_INT_N",
886 /*J0-J7*/ "","","","","","","","",
887 /*K0-K7*/ "","","","","","","","",
888 /*L0-L7*/ "","","","","","BMC_RTC_INT","","",
889 /*M0-M7*/ "ALERT_SLED1_N","ALERT_SLED2_N",
890 "ALERT_SLED3_N","ALERT_SLED4_N",
891 "ALERT_SLED5_N","ALERT_SLED6_N",
893 /*N0-N7*/ "LED_POSTCODE_0","LED_POSTCODE_1",
894 "LED_POSTCODE_2","LED_POSTCODE_3",
895 "LED_POSTCODE_4","LED_POSTCODE_5",
896 "LED_POSTCODE_5","LED_POSTCODE_7",
897 /*O0-O7*/ "","","","",
898 "","BOARD_ID0","BOARD_ID1","BOARD_ID2",
899 /*P0-P7*/ "","","","","","","","BMC_HEARTBEAT",
900 /*Q0-Q7*/ "","","","","","","","",
901 /*R0-R7*/ "","","","","","","","",
902 /*S0-S7*/ "","","","BAT_DETECT",
903 "BMC_BT_WP0_N","BMC_BT_WP1_N","","FUSB302_SLED4_INT_N",
904 /*T0-T7*/ "","","","","","","","",
905 /*U0-U7*/ "","","","","","","","",
906 /*V0-V7*/ "PWRGD_CNS_PSU","RST_BMC_MVL_N",
907 "P12V_AUX_ALERT1_N","PSU_PRSNT",
908 "USB2_SEL0_A","USB2_SEL1_A",
909 "USB2_SEL0_B","USB2_SEL1_B",
910 /*W0-W7*/ "RST_FRONT_IOEXP_N","","","","","","","",
911 /*X0-X7*/ "","","","","","","","",
912 /*Y0-Y7*/ "BMC_SELF_HW_RST","BSM_PRSNT_N",
913 "BSM_FLASH_LATCH_N","FUSB302_SLED5_INT_N",
915 /*Z0-Z7*/ "","","","","","","","";
922 pinctrl-names = "default";
923 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
924 &pinctrl_adc2_default &pinctrl_adc3_default
925 &pinctrl_adc4_default &pinctrl_adc5_default
926 &pinctrl_adc6_default &pinctrl_adc7_default>;
933 pinctrl-names = "default";
934 pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
935 &pinctrl_adc10_default &pinctrl_adc11_default
936 &pinctrl_adc12_default &pinctrl_adc13_default
937 &pinctrl_adc14_default &pinctrl_adc15_default>;
942 /* TODO: Add Marvell 88E6191X */
947 /* TODO: Add Marvell 88X3310 */