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 spi2_gpio: spi2-gpio {
55 compatible = "spi-gpio";
59 gpio-sck = <&gpio0 ASPEED_GPIO(X, 3) GPIO_ACTIVE_HIGH>;
60 gpio-mosi = <&gpio0 ASPEED_GPIO(X, 4) GPIO_ACTIVE_HIGH>;
61 gpio-miso = <&gpio0 ASPEED_GPIO(X, 5) GPIO_ACTIVE_HIGH>;
62 num-chipselects = <1>;
63 cs-gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>;
67 compatible = "jedec,spi-nor";
70 spi-max-frequency = <100000000>;
74 switchphy: ethernet-phy@0 {
79 compatible = "gpio-leds";
81 default-state = "off";
82 gpios = <&front_leds 0 GPIO_ACTIVE_HIGH>;
87 compatible = "gpio-leds";
89 retain-state-shutdown;
91 gpios = <&fan_leds 8 GPIO_ACTIVE_HIGH>;
94 retain-state-shutdown;
96 gpios = <&fan_leds 9 GPIO_ACTIVE_HIGH>;
99 retain-state-shutdown;
100 default-state = "on";
101 gpios = <&fan_leds 10 GPIO_ACTIVE_HIGH>;
104 retain-state-shutdown;
105 default-state = "on";
106 gpios = <&fan_leds 11 GPIO_ACTIVE_HIGH>;
109 retain-state-shutdown;
110 default-state = "off";
111 gpios = <&fan_leds 12 GPIO_ACTIVE_HIGH>;
114 retain-state-shutdown;
115 default-state = "off";
116 gpios = <&fan_leds 13 GPIO_ACTIVE_HIGH>;
119 retain-state-shutdown;
120 default-state = "off";
121 gpios = <&fan_leds 14 GPIO_ACTIVE_HIGH>;
124 retain-state-shutdown;
125 default-state = "off";
126 gpios = <&fan_leds 15 GPIO_ACTIVE_HIGH>;
131 compatible = "gpio-leds";
133 retain-state-shutdown;
134 default-state = "keep";
135 gpios = <&sled1_leds 0 GPIO_ACTIVE_LOW>;
138 retain-state-shutdown;
139 default-state = "keep";
140 gpios = <&sled1_leds 1 GPIO_ACTIVE_LOW>;
145 compatible = "gpio-leds";
147 retain-state-shutdown;
148 default-state = "keep";
149 gpios = <&sled2_leds 0 GPIO_ACTIVE_LOW>;
152 retain-state-shutdown;
153 default-state = "keep";
154 gpios = <&sled2_leds 1 GPIO_ACTIVE_LOW>;
159 compatible = "gpio-leds";
161 retain-state-shutdown;
162 default-state = "keep";
163 gpios = <&sled3_leds 0 GPIO_ACTIVE_LOW>;
166 retain-state-shutdown;
167 default-state = "keep";
168 gpios = <&sled3_leds 1 GPIO_ACTIVE_LOW>;
173 compatible = "gpio-leds";
175 retain-state-shutdown;
176 default-state = "keep";
177 gpios = <&sled4_leds 0 GPIO_ACTIVE_LOW>;
180 retain-state-shutdown;
181 default-state = "keep";
182 gpios = <&sled4_leds 1 GPIO_ACTIVE_LOW>;
187 compatible = "gpio-leds";
189 retain-state-shutdown;
190 default-state = "keep";
191 gpios = <&sled5_leds 0 GPIO_ACTIVE_LOW>;
194 retain-state-shutdown;
195 default-state = "keep";
196 gpios = <&sled5_leds 1 GPIO_ACTIVE_LOW>;
201 compatible = "gpio-leds";
203 retain-state-shutdown;
204 default-state = "keep";
205 gpios = <&sled6_leds 0 GPIO_ACTIVE_LOW>;
208 retain-state-shutdown;
209 default-state = "keep";
210 gpios = <&sled6_leds 1 GPIO_ACTIVE_LOW>;
218 phy-handle = <&switchphy>;
219 pinctrl-names = "default";
220 pinctrl-0 = <&pinctrl_rgmii3_default>;
234 spi-max-frequency = <50000000>;
235 #include "openbmc-flash-layout-128.dtsi"
241 spi-max-frequency = <50000000>;
248 compatible = "ti,ina230";
250 shunt-resistor = <2000>;
254 compatible = "mps,mp5023";
259 compatible = "ti,tmp421";
263 sled1_ioexp: pca9539@76 {
264 compatible = "nxp,pca9539";
266 #address-cells = <1>;
271 interrupt-parent = <&gpio0>;
272 interrupts = <ASPEED_GPIO(M, 0) IRQ_TYPE_LEVEL_LOW>;
275 "SLED1_MS_DETECT1","SLED1_VBUS_BMC_EN","SLED1_INA230_ALERT","SLED1_P12V_STBY_ALERT",
276 "SLED1_SSD_ALERT","SLED1_MS_DETECT0","SLED1_RST_CCG5","SLED1_FUSB302_INT",
277 "SLED1_MD_STBY_RESET","SLED1_MD_IOEXP_EN_FAULT","SLED1_MD_DIR","SLED1_MD_DECAY",
278 "SLED1_MD_MODE1","SLED1_MD_MODE2","SLED1_MD_MODE3","power-host1";
281 sled1_leds: pca9552@67 {
282 compatible = "nxp,pca9552";
284 #address-cells = <1>;
290 "led-sled1-amber","led-sled1-blue","SLED1_RST_IOEXP","SLED1_MD_REF_PWM",
296 sled1_fusb302: typec-portc@22 {
297 compatible = "fcs,fusb302";
301 compatible = "usb-c-connector";
304 try-power-role = "sink";
306 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
307 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
308 PDO_VAR(3000, 12000, 3000)
309 PDO_PPS_APDO(3000, 11000, 3000)>;
310 op-sink-microwatt = <10000000>;
318 compatible = "ti,ina230";
320 shunt-resistor = <2000>;
324 compatible = "mps,mp5023";
329 compatible = "ti,tmp421";
333 sled2_ioexp: pca9539@76 {
334 compatible = "nxp,pca9539";
336 #address-cells = <1>;
341 interrupt-parent = <&gpio0>;
342 interrupts = <ASPEED_GPIO(M, 1) IRQ_TYPE_LEVEL_LOW>;
345 "SLED2_MS_DETECT1","SLED2_VBUS_BMC_EN","SLED2_INA230_ALERT","SLED2_P12V_STBY_ALERT",
346 "SLED2_SSD_ALERT","SLED2_MS_DETECT0","SLED2_RST_CCG5","SLED2_FUSB302_INT",
347 "SLED2_MD_STBY_RESET","SLED2_MD_IOEXP_EN_FAULT","SLED2_MD_DIR","SLED2_MD_DECAY",
348 "SLED2_MD_MODE1","SLED2_MD_MODE2","SLED2_MD_MODE3","power-host2";
351 sled2_leds: pca9552@67 {
352 compatible = "nxp,pca9552";
354 #address-cells = <1>;
360 "led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
366 sled2_fusb302: typec-portc@22 {
367 compatible = "fcs,fusb302";
371 compatible = "usb-c-connector";
374 try-power-role = "sink";
376 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
377 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
378 PDO_VAR(3000, 12000, 3000)
379 PDO_PPS_APDO(3000, 11000, 3000)>;
380 op-sink-microwatt = <10000000>;
388 compatible = "ti,ina230";
390 shunt-resistor = <2000>;
394 compatible = "mps,mp5023";
399 compatible = "ti,tmp421";
403 sled3_ioexp: pca9539@76 {
404 compatible = "nxp,pca9539";
406 #address-cells = <1>;
411 interrupt-parent = <&gpio0>;
412 interrupts = <ASPEED_GPIO(M, 2) IRQ_TYPE_LEVEL_LOW>;
415 "SLED3_MS_DETECT1","SLED3_VBUS_BMC_EN","SLED3_INA230_ALERT","SLED3_P12V_STBY_ALERT",
416 "SLED3_SSD_ALERT","SLED3_MS_DETECT0","SLED3_RST_CCG5","SLED3_FUSB302_INT",
417 "SLED3_MD_STBY_RESET","SLED3_MD_IOEXP_EN_FAULT","SLED3_MD_DIR","SLED3_MD_DECAY",
418 "SLED3_MD_MODE1","SLED3_MD_MODE2","SLED3_MD_MODE3","power-host3";
421 sled3_leds: pca9552@67 {
422 compatible = "nxp,pca9552";
424 #address-cells = <1>;
430 "led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
436 sled3_fusb302: typec-portc@22 {
437 compatible = "fcs,fusb302";
441 compatible = "usb-c-connector";
444 try-power-role = "sink";
446 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
447 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
448 PDO_VAR(3000, 12000, 3000)
449 PDO_PPS_APDO(3000, 11000, 3000)>;
450 op-sink-microwatt = <10000000>;
458 compatible = "ti,ina230";
460 shunt-resistor = <2000>;
464 compatible = "mps,mp5023";
469 compatible = "ti,tmp421";
473 sled4_ioexp: pca9539@76 {
474 compatible = "nxp,pca9539";
476 #address-cells = <1>;
481 interrupt-parent = <&gpio0>;
482 interrupts = <ASPEED_GPIO(M, 3) IRQ_TYPE_LEVEL_LOW>;
485 "SLED4_MS_DETECT1","SLED4_VBUS_BMC_EN","SLED4_INA230_ALERT","SLED4_P12V_STBY_ALERT",
486 "SLED4_SSD_ALERT","SLED4_MS_DETECT0","SLED4_RST_CCG5","SLED4_FUSB302_INT",
487 "SLED4_MD_STBY_RESET","SLED4_MD_IOEXP_EN_FAULT","SLED4_MD_DIR","SLED4_MD_DECAY",
488 "SLED4_MD_MODE1","SLED4_MD_MODE2","SLED4_MD_MODE3","power-host4";
491 sled4_leds: pca9552@67 {
492 compatible = "nxp,pca9552";
494 #address-cells = <1>;
500 "led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
506 sled4_fusb302: typec-portc@22 {
507 compatible = "fcs,fusb302";
511 compatible = "usb-c-connector";
514 try-power-role = "sink";
516 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
517 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
518 PDO_VAR(3000, 12000, 3000)
519 PDO_PPS_APDO(3000, 11000, 3000)>;
520 op-sink-microwatt = <10000000>;
528 compatible = "ti,ina230";
530 shunt-resistor = <2000>;
534 compatible = "mps,mp5023";
539 compatible = "ti,tmp421";
543 sled5_ioexp: pca9539@76 {
544 compatible = "nxp,pca9539";
546 #address-cells = <1>;
551 interrupt-parent = <&gpio0>;
552 interrupts = <ASPEED_GPIO(M, 4) IRQ_TYPE_LEVEL_LOW>;
555 "SLED5_MS_DETECT1","SLED5_VBUS_BMC_EN","SLED5_INA230_ALERT","SLED5_P12V_STBY_ALERT",
556 "SLED5_SSD_ALERT","SLED5_MS_DETECT0","SLED5_RST_CCG5","SLED5_FUSB302_INT",
557 "SLED5_MD_STBY_RESET","SLED5_MD_IOEXP_EN_FAULT","SLED5_MD_DIR","SLED5_MD_DECAY",
558 "SLED5_MD_MODE1","SLED5_MD_MODE2","SLED5_MD_MODE3","power-host5";
561 sled5_leds: pca9552@67 {
562 compatible = "nxp,pca9552";
564 #address-cells = <1>;
570 "led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
576 sled5_fusb302: typec-portc@22 {
577 compatible = "fcs,fusb302";
581 compatible = "usb-c-connector";
584 try-power-role = "sink";
586 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
587 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
588 PDO_VAR(3000, 12000, 3000)
589 PDO_PPS_APDO(3000, 11000, 3000)>;
590 op-sink-microwatt = <10000000>;
598 compatible = "ti,ina230";
600 shunt-resistor = <2000>;
604 compatible = "mps,mp5023";
609 compatible = "ti,tmp421";
613 sled6_ioexp: pca9539@76 {
614 compatible = "nxp,pca9539";
616 #address-cells = <1>;
621 interrupt-parent = <&gpio0>;
622 interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
625 "SLED6_MS_DETECT1","SLED6_VBUS_BMC_EN","SLED6_INA230_ALERT","SLED6_P12V_STBY_ALERT",
626 "SLED6_SSD_ALERT","SLED6_MS_DETECT0","SLED6_RST_CCG5","SLED6_FUSB302_INT",
627 "SLED6_MD_STBY_RESET","SLED6_MD_IOEXP_EN_FAULT","SLED6_MD_DIR","SLED6_MD_DECAY",
628 "SLED6_MD_MODE1","SLED6_MD_MODE2","SLED6_MD_MODE3","power-host6";
631 sled6_leds: pca9552@67 {
632 compatible = "nxp,pca9552";
634 #address-cells = <1>;
640 "led-sled6-amber","led-sled6-blue","SLED6_RST_IOEXP","SLED6_MD_REF_PWM",
646 sled6_fusb302: typec-portc@22 {
647 compatible = "fcs,fusb302";
651 compatible = "usb-c-connector";
654 try-power-role = "sink";
656 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
657 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
658 PDO_VAR(3000, 12000, 3000)
659 PDO_PPS_APDO(3000, 11000, 3000)>;
660 op-sink-microwatt = <10000000>;
669 compatible = "atmel,24c64";
674 /* in-chip rtc disabled, use external rtc (battery-backed) */
675 compatible = "nxp,pcf85263";
684 compatible = "atmel,24c64";
693 compatible = "ti,tmp421";
702 compatible = "ti,tmp421";
707 compatible = "ti,hdc1080";
711 front_leds: pca9552@67 {
712 compatible = "nxp,pca9552";
714 #address-cells = <1>;
720 "led-fault-identify","power-p5v-stby-good",
721 "power-p1v0-dvdd-good","power-p1v0-avdd-good",
732 compatible = "adi,adm1278";
734 shunt-resistor-micro-ohms = <300>;
738 compatible = "ti,tmp421";
743 compatible = "ti,tmp421";
747 fan_leds: pca9552@67 {
748 compatible = "nxp,pca9552";
750 #address-cells = <1>;
756 "presence-fan0","presence-fan1",
757 "presence-fan2","presence-fan3",
758 "power-fan0-good","power-fan1-good",
759 "power-fan2-good","power-fan3-good",
767 aspeed,hw-timeout-ms = <1000>;
773 /*A0-A7*/ "","","","","","","","",
774 /*B0-B7*/ "","","SEL_SPI2_MUX","SPI2_MUX1",
775 "SPI2_MUX2","SPI2_MUX3","","",
776 /*C0-C7*/ "","","","","","","","",
777 /*D0-D7*/ "","","","","","","","",
778 /*E0-E7*/ "","","","","","","","",
779 /*F0-F7*/ "","","","","","","","",
780 /*G0-G7*/ "BSM_FRU_WP","SWITCH_FRU_MUX","","",
781 "PWRGD_P1V05_VDDCORE","PWRGD_P1V5_VDD","","",
782 /*H0-H7*/ "presence-riser1","presence-riser2",
783 "presence-sled1","presence-sled2",
784 "presence-sled3","presence-sled4",
785 "presence-sled5","presence-sled6",
786 /*I0-I7*/ "REV_ID0","","REV_ID1","REV_ID2",
787 "","BSM_FLASH_WP_STATUS","BMC_TPM_PRES","",
788 /*J0-J7*/ "","","","","","","","",
789 /*K0-K7*/ "","","","","","","","",
790 /*L0-L7*/ "","","","","","BMC_RTC_INT","","",
791 /*M0-M7*/ "ALERT_SLED1","ALERT_SLED2",
792 "ALERT_SLED3","ALERT_SLED4",
793 "ALERT_SLED5","ALERT_SLED6",
794 "P12V_AUX_ALERT1","",
795 /*N0-N7*/ "","","","","","","","",
796 /*O0-O7*/ "","","","",
797 "","BOARD_ID0","BOARD_ID1","BOARD_ID2",
798 /*P0-P7*/ "","","","","","","","BMC_HEARTBEAT",
799 /*Q0-Q7*/ "","","","","","","","",
800 /*R0-R7*/ "","","","","","","","",
801 /*S0-S7*/ "","","","BAT_DETECT",
802 "BMC_BT_WP0","BMC_BT_WP1","","",
803 /*T0-T7*/ "","","","","","","","",
804 /*U0-U7*/ "","","","","","","","",
805 /*V0-V7*/ "PWRGD_CNS_PSU","RST_BMC_MVL","","PSU_PRSNT",
806 "USB2_SEL0_A","USB2_SEL1_A",
807 "USB2_SEL0_B","USB2_SEL1_B",
808 /*W0-W7*/ "RST_FRONT_IOEXP","","","","","","","",
809 /*X0-X7*/ "","","","","","","","",
810 /*Y0-Y7*/ "BMC_SELF_HW_RST","BSM_PRSNT","BSM_FLASH_LATCH","",
812 /*Z0-Z7*/ "","","","","","","","";
819 pinctrl-names = "default";
820 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
821 &pinctrl_adc2_default &pinctrl_adc3_default
822 &pinctrl_adc4_default &pinctrl_adc5_default
823 &pinctrl_adc6_default &pinctrl_adc7_default>;
830 pinctrl-names = "default";
831 pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
832 &pinctrl_adc10_default &pinctrl_adc11_default
833 &pinctrl_adc12_default &pinctrl_adc13_default
834 &pinctrl_adc14_default &pinctrl_adc15_default>;
839 /* TODO: Add Marvell 88X3310 */