xref: /linux/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
1*20ae1402SLeo Wang// SPDX-License-Identifier: GPL-2.0+
2*20ae1402SLeo Wang// Copyright (c) 2021 Facebook Inc.
3*20ae1402SLeo Wang/dts-v1/;
4*20ae1402SLeo Wang
5*20ae1402SLeo Wang#include "aspeed-g6.dtsi"
6*20ae1402SLeo Wang#include <dt-bindings/gpio/aspeed-gpio.h>
7*20ae1402SLeo Wang#include <dt-bindings/usb/pd.h>
8*20ae1402SLeo Wang#include <dt-bindings/leds/leds-pca955x.h>
9*20ae1402SLeo Wang#include <dt-bindings/interrupt-controller/irq.h>
10*20ae1402SLeo Wang#include <dt-bindings/i2c/i2c.h>
11*20ae1402SLeo Wang
12*20ae1402SLeo Wang/ {
13*20ae1402SLeo Wang	model = "Facebook Clemente BMC";
14*20ae1402SLeo Wang	compatible = "facebook,clemente-bmc", "aspeed,ast2600";
15*20ae1402SLeo Wang
16*20ae1402SLeo Wang	aliases {
17*20ae1402SLeo Wang		serial0 = &uart1;
18*20ae1402SLeo Wang		serial2 = &uart3;
19*20ae1402SLeo Wang		serial3 = &uart4;
20*20ae1402SLeo Wang		serial4 = &uart5;
21*20ae1402SLeo Wang		i2c16 = &i2c1mux0ch0;
22*20ae1402SLeo Wang		i2c17 = &i2c1mux0ch1;
23*20ae1402SLeo Wang		i2c18 = &i2c1mux0ch2;
24*20ae1402SLeo Wang		i2c19 = &i2c1mux0ch3;
25*20ae1402SLeo Wang		i2c20 = &i2c1mux0ch4;
26*20ae1402SLeo Wang		i2c21 = &i2c1mux0ch5;
27*20ae1402SLeo Wang		i2c22 = &i2c1mux0ch6;
28*20ae1402SLeo Wang		i2c23 = &i2c1mux0ch7;
29*20ae1402SLeo Wang		i2c24 = &i2c0mux0ch0;
30*20ae1402SLeo Wang		i2c25 = &i2c0mux0ch1;
31*20ae1402SLeo Wang		i2c26 = &i2c0mux0ch2;
32*20ae1402SLeo Wang		i2c27 = &i2c0mux0ch3;
33*20ae1402SLeo Wang		i2c28 = &i2c0mux1ch0;
34*20ae1402SLeo Wang		i2c29 = &i2c0mux1ch1;
35*20ae1402SLeo Wang		i2c30 = &i2c0mux1ch2;
36*20ae1402SLeo Wang		i2c31 = &i2c0mux1ch3;
37*20ae1402SLeo Wang		i2c32 = &i2c0mux2ch0;
38*20ae1402SLeo Wang		i2c33 = &i2c0mux2ch1;
39*20ae1402SLeo Wang		i2c34 = &i2c0mux2ch2;
40*20ae1402SLeo Wang		i2c35 = &i2c0mux2ch3;
41*20ae1402SLeo Wang		i2c36 = &i2c0mux3ch0;
42*20ae1402SLeo Wang		i2c37 = &i2c0mux3ch1;
43*20ae1402SLeo Wang		i2c38 = &i2c0mux3ch2;
44*20ae1402SLeo Wang		i2c39 = &i2c0mux3ch3;
45*20ae1402SLeo Wang		i2c40 = &i2c0mux4ch0;
46*20ae1402SLeo Wang		i2c41 = &i2c0mux4ch1;
47*20ae1402SLeo Wang		i2c42 = &i2c0mux4ch2;
48*20ae1402SLeo Wang		i2c43 = &i2c0mux4ch3;
49*20ae1402SLeo Wang		i2c44 = &i2c0mux5ch0;
50*20ae1402SLeo Wang		i2c45 = &i2c0mux5ch1;
51*20ae1402SLeo Wang		i2c46 = &i2c0mux5ch2;
52*20ae1402SLeo Wang		i2c47 = &i2c0mux5ch3;
53*20ae1402SLeo Wang		i2c48 = &i2c0mux0ch1mux0ch0;
54*20ae1402SLeo Wang		i2c49 = &i2c0mux0ch1mux0ch1;
55*20ae1402SLeo Wang		i2c50 = &i2c0mux0ch1mux0ch2;
56*20ae1402SLeo Wang		i2c51 = &i2c0mux0ch1mux0ch3;
57*20ae1402SLeo Wang		i2c52 = &i2c0mux3ch1mux0ch0;
58*20ae1402SLeo Wang		i2c53 = &i2c0mux3ch1mux0ch1;
59*20ae1402SLeo Wang		i2c54 = &i2c0mux3ch1mux0ch2;
60*20ae1402SLeo Wang		i2c55 = &i2c0mux3ch1mux0ch3;
61*20ae1402SLeo Wang	};
62*20ae1402SLeo Wang
63*20ae1402SLeo Wang	chosen {
64*20ae1402SLeo Wang		stdout-path = "serial4:57600n8";
65*20ae1402SLeo Wang	};
66*20ae1402SLeo Wang
67*20ae1402SLeo Wang	iio-hwmon {
68*20ae1402SLeo Wang		compatible = "iio-hwmon";
69*20ae1402SLeo Wang		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
70*20ae1402SLeo Wang			      <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
71*20ae1402SLeo Wang			      <&adc1 2>;
72*20ae1402SLeo Wang	};
73*20ae1402SLeo Wang
74*20ae1402SLeo Wang	leds {
75*20ae1402SLeo Wang		compatible = "gpio-leds";
76*20ae1402SLeo Wang
77*20ae1402SLeo Wang		led-0 {
78*20ae1402SLeo Wang			label = "bmc_heartbeat_amber";
79*20ae1402SLeo Wang			gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
80*20ae1402SLeo Wang			linux,default-trigger = "heartbeat";
81*20ae1402SLeo Wang		};
82*20ae1402SLeo Wang
83*20ae1402SLeo Wang		led-1 {
84*20ae1402SLeo Wang			label = "fp_id_amber";
85*20ae1402SLeo Wang			default-state = "off";
86*20ae1402SLeo Wang			gpios = <&gpio0 ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
87*20ae1402SLeo Wang		};
88*20ae1402SLeo Wang
89*20ae1402SLeo Wang		led-2 {
90*20ae1402SLeo Wang			label = "bmc_ready_noled";
91*20ae1402SLeo Wang			gpios = <&gpio0 ASPEED_GPIO(B, 3) (GPIO_ACTIVE_HIGH|GPIO_TRANSITORY)>;
92*20ae1402SLeo Wang		};
93*20ae1402SLeo Wang
94*20ae1402SLeo Wang		led-3 {
95*20ae1402SLeo Wang			label = "bmc_ready_cpld_noled";
96*20ae1402SLeo Wang			gpios = <&gpio0 ASPEED_GPIO(P, 5) (GPIO_ACTIVE_HIGH|GPIO_TRANSITORY)>;
97*20ae1402SLeo Wang		};
98*20ae1402SLeo Wang	};
99*20ae1402SLeo Wang
100*20ae1402SLeo Wang	memory@80000000 {
101*20ae1402SLeo Wang		device_type = "memory";
102*20ae1402SLeo Wang		reg = <0x80000000 0x80000000>;
103*20ae1402SLeo Wang	};
104*20ae1402SLeo Wang
105*20ae1402SLeo Wang	p1v8_bmc_aux: regulator-p1v8-bmc-aux {
106*20ae1402SLeo Wang		compatible = "regulator-fixed";
107*20ae1402SLeo Wang		regulator-name = "p1v8_bmc_aux";
108*20ae1402SLeo Wang		regulator-min-microvolt = <1800000>;
109*20ae1402SLeo Wang		regulator-max-microvolt = <1800000>;
110*20ae1402SLeo Wang		regulator-always-on;
111*20ae1402SLeo Wang	};
112*20ae1402SLeo Wang
113*20ae1402SLeo Wang	p2v5_bmc_aux: regulator-p2v5-bmc-aux {
114*20ae1402SLeo Wang		compatible = "regulator-fixed";
115*20ae1402SLeo Wang		regulator-name = "p2v5_bmc_aux";
116*20ae1402SLeo Wang		regulator-min-microvolt = <2500000>;
117*20ae1402SLeo Wang		regulator-max-microvolt = <2500000>;
118*20ae1402SLeo Wang		regulator-always-on;
119*20ae1402SLeo Wang	};
120*20ae1402SLeo Wang
121*20ae1402SLeo Wang	reserved-memory {
122*20ae1402SLeo Wang		#address-cells = <1>;
123*20ae1402SLeo Wang		#size-cells = <1>;
124*20ae1402SLeo Wang		ranges;
125*20ae1402SLeo Wang
126*20ae1402SLeo Wang		ramoops@b3e00000 {
127*20ae1402SLeo Wang			compatible = "ramoops";
128*20ae1402SLeo Wang			reg = <0xbb000000 0x200000>; /* 16 * (4 * 0x8000) */
129*20ae1402SLeo Wang			record-size = <0x8000>;
130*20ae1402SLeo Wang			console-size = <0x8000>;
131*20ae1402SLeo Wang			ftrace-size = <0x8000>;
132*20ae1402SLeo Wang			pmsg-size = <0x8000>;
133*20ae1402SLeo Wang			max-reason = <3>;
134*20ae1402SLeo Wang		};
135*20ae1402SLeo Wang	};
136*20ae1402SLeo Wang
137*20ae1402SLeo Wang	spi1_gpio: spi {
138*20ae1402SLeo Wang		compatible = "spi-gpio";
139*20ae1402SLeo Wang		#address-cells = <1>;
140*20ae1402SLeo Wang		#size-cells = <0>;
141*20ae1402SLeo Wang
142*20ae1402SLeo Wang		sck-gpios = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
143*20ae1402SLeo Wang		mosi-gpios = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
144*20ae1402SLeo Wang		miso-gpios = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
145*20ae1402SLeo Wang		cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
146*20ae1402SLeo Wang		num-chipselects = <1>;
147*20ae1402SLeo Wang
148*20ae1402SLeo Wang		tpm@0 {
149*20ae1402SLeo Wang			compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
150*20ae1402SLeo Wang			spi-max-frequency = <33000000>;
151*20ae1402SLeo Wang			reg = <0>;
152*20ae1402SLeo Wang		};
153*20ae1402SLeo Wang	};
154*20ae1402SLeo Wang};
155*20ae1402SLeo Wang
156*20ae1402SLeo Wang&adc0 {
157*20ae1402SLeo Wang	vref-supply = <&p1v8_bmc_aux>;
158*20ae1402SLeo Wang	status = "okay";
159*20ae1402SLeo Wang
160*20ae1402SLeo Wang	pinctrl-names = "default";
161*20ae1402SLeo Wang	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
162*20ae1402SLeo Wang		&pinctrl_adc2_default &pinctrl_adc3_default
163*20ae1402SLeo Wang		&pinctrl_adc4_default &pinctrl_adc5_default
164*20ae1402SLeo Wang		&pinctrl_adc6_default &pinctrl_adc7_default>;
165*20ae1402SLeo Wang};
166*20ae1402SLeo Wang
167*20ae1402SLeo Wang&adc1 {
168*20ae1402SLeo Wang	vref-supply = <&p2v5_bmc_aux>;
169*20ae1402SLeo Wang	status = "okay";
170*20ae1402SLeo Wang
171*20ae1402SLeo Wang	pinctrl-names = "default";
172*20ae1402SLeo Wang	pinctrl-0 = <&pinctrl_adc10_default>;
173*20ae1402SLeo Wang};
174*20ae1402SLeo Wang
175*20ae1402SLeo Wang&ehci0 {
176*20ae1402SLeo Wang	status = "okay";
177*20ae1402SLeo Wang};
178*20ae1402SLeo Wang
179*20ae1402SLeo Wang&fmc {
180*20ae1402SLeo Wang	status = "okay";
181*20ae1402SLeo Wang	flash@0 {
182*20ae1402SLeo Wang		status = "okay";
183*20ae1402SLeo Wang		m25p,fast-read;
184*20ae1402SLeo Wang		label = "bmc";
185*20ae1402SLeo Wang		spi-max-frequency = <50000000>;
186*20ae1402SLeo Wang#include "openbmc-flash-layout-128.dtsi"
187*20ae1402SLeo Wang	};
188*20ae1402SLeo Wang
189*20ae1402SLeo Wang	flash@1 {
190*20ae1402SLeo Wang		status = "okay";
191*20ae1402SLeo Wang		m25p,fast-read;
192*20ae1402SLeo Wang		label = "alt-bmc";
193*20ae1402SLeo Wang		spi-max-frequency = <50000000>;
194*20ae1402SLeo Wang	};
195*20ae1402SLeo Wang};
196*20ae1402SLeo Wang
197*20ae1402SLeo Wang&gpio0 {
198*20ae1402SLeo Wang	gpio-line-names =
199*20ae1402SLeo Wang	/*A0-A7*/	"","","","","","","","",
200*20ae1402SLeo Wang	/*B0-B7*/	"BATTERY_DETECT","PRSNT1_HPM_SCM_N",
201*20ae1402SLeo Wang			"BMC_I2C1_FPGA_ALERT_L","BMC_READY",
202*20ae1402SLeo Wang			"IOEXP_INT_L","FM_ID_LED",
203*20ae1402SLeo Wang			"","",
204*20ae1402SLeo Wang	/*C0-C7*/	"BMC_GPIOC0","","","",
205*20ae1402SLeo Wang			"PMBUS_REQ_N","PSU_FW_UPDATE_REQ_N",
206*20ae1402SLeo Wang			"","BMC_I2C_SSIF_ALERT_L",
207*20ae1402SLeo Wang	/*D0-D7*/	"","","","","BMC_GPIOD4","","","",
208*20ae1402SLeo Wang	/*E0-E7*/	"BMC_GPIOE0","BMC_GPIOE1","","","","","","",
209*20ae1402SLeo Wang	/*F0-F7*/	"","","","","","","","",
210*20ae1402SLeo Wang	/*G0-G7*/	"","","","","","",
211*20ae1402SLeo Wang			"FM_DEBUG_PORT_PRSNT_N","FM_BMC_DBP_PRESENT_N",
212*20ae1402SLeo Wang	/*H0-H7*/	"PWR_BRAKE_L","RUN_POWER_EN",
213*20ae1402SLeo Wang			"SHDN_FORCE_L","SHDN_REQ_L",
214*20ae1402SLeo Wang			"","","","",
215*20ae1402SLeo Wang	/*I0-I7*/	"","","","",
216*20ae1402SLeo Wang			"","FLASH_WP_STATUS",
217*20ae1402SLeo Wang			"FM_PDB_HEALTH_N","RUN_POWER_PG",
218*20ae1402SLeo Wang	/*J0-J7*/	"","","","","","","","",
219*20ae1402SLeo Wang	/*K0-K7*/	"","","","","","","","",
220*20ae1402SLeo Wang	/*L0-L7*/	"","","","","","","","",
221*20ae1402SLeo Wang	/*M0-M7*/	"PCIE_EP_RST_EN","BMC_FRU_WP",
222*20ae1402SLeo Wang			"SCM_HPM_STBY_RST_N","SCM_HPM_STBY_EN",
223*20ae1402SLeo Wang			"STBY_POWER_PG_3V3","TH500_SHDN_OK_L","","",
224*20ae1402SLeo Wang	/*N0-N7*/	"LED_POSTCODE_0","LED_POSTCODE_1",
225*20ae1402SLeo Wang			"LED_POSTCODE_2","LED_POSTCODE_3",
226*20ae1402SLeo Wang			"LED_POSTCODE_4","LED_POSTCODE_5",
227*20ae1402SLeo Wang			"LED_POSTCODE_6","LED_POSTCODE_7",
228*20ae1402SLeo Wang	/*O0-O7*/	"HMC_I2C3_FPGA_ALERT_L","FPGA_READY_HMC",
229*20ae1402SLeo Wang			"CHASSIS_AC_LOSS_L","BSM_PRSNT_R_N",
230*20ae1402SLeo Wang			"PSU_SMB_ALERT_L","FM_TPM_PRSNT_0_N",
231*20ae1402SLeo Wang			"","USBDBG_IPMI_EN_L",
232*20ae1402SLeo Wang	/*P0-P7*/	"PWR_BTN_BMC_N","IPEX_CABLE_PRSNT_L",
233*20ae1402SLeo Wang			"ID_RST_BTN_BMC_N","RST_BMC_RSTBTN_OUT_N",
234*20ae1402SLeo Wang			"host0-ready","BMC_READY_CPLD","BMC_GPIOP6","BMC_HEARTBEAT_N",
235*20ae1402SLeo Wang	/*Q0-Q7*/	"IRQ_PCH_TPM_SPI_N","USB_OC0_REAR_R_N",
236*20ae1402SLeo Wang			"UART_MUX_SEL","I2C_MUX_RESET_L",
237*20ae1402SLeo Wang			"RSVD_NV_PLT_DETECT","SPI_TPM_INT_L",
238*20ae1402SLeo Wang			"CPU_JTAG_MUX_SELECT","THERM_BB_OVERT_L",
239*20ae1402SLeo Wang	/*R0-R7*/	"THERM_BB_WARN_L","SPI_BMC_FPGA_INT_L",
240*20ae1402SLeo Wang			"CPU_BOOT_DONE","PMBUS_GNT_L",
241*20ae1402SLeo Wang			"CHASSIS_PWR_BRK_L","PCIE_WAKE_L",
242*20ae1402SLeo Wang			"PDB_THERM_OVERT_L","HMC_I2C2_FPGA_ALERT_L",
243*20ae1402SLeo Wang	/*S0-S7*/	"","","SYS_BMC_PWRBTN_R_N","FM_TPM_PRSNT_1_N",
244*20ae1402SLeo Wang			"FM_BMC_DEBUG_SW_N","UID_LED_N",
245*20ae1402SLeo Wang			"SYS_FAULT_LED_N","RUN_POWER_FAULT_L",
246*20ae1402SLeo Wang	/*T0-T7*/	"","","","","","","","",
247*20ae1402SLeo Wang	/*U0-U7*/	"","","","","","","","",
248*20ae1402SLeo Wang	/*V0-V7*/	"L2_RST_REQ_OUT_L","L0L1_RST_REQ_OUT_L",
249*20ae1402SLeo Wang			"BMC_ID_BEEP_SEL","BMC_I2C0_FPGA_ALERT_L",
250*20ae1402SLeo Wang			"SMB_BMC_TMP_ALERT","PWR_LED_N",
251*20ae1402SLeo Wang			"SYS_RST_OUT_L","IRQ_TPM_SPI_N",
252*20ae1402SLeo Wang	/*W0-W7*/	"","","","","","","","",
253*20ae1402SLeo Wang	/*X0-X7*/	"","","","","","","","",
254*20ae1402SLeo Wang	/*Y0-Y7*/	"","RST_BMC_SELF_HW",
255*20ae1402SLeo Wang			"FM_FLASH_LATCH_N","BMC_EMMC_RST_N",
256*20ae1402SLeo Wang			"BMC_GPIOY4","BMC_GPIOY5","","",
257*20ae1402SLeo Wang	/*Z0-Z7*/	"","","","","","","BMC_GPIOZ6","BMC_GPIOZ7";
258*20ae1402SLeo Wang};
259*20ae1402SLeo Wang
260*20ae1402SLeo Wang&gpio1 {
261*20ae1402SLeo Wang	gpio-line-names =
262*20ae1402SLeo Wang	/*18A0-18A7*/	"","","","","","","","",
263*20ae1402SLeo Wang	/*18B0-18B3*/	"","","","",
264*20ae1402SLeo Wang	/*18B4-18B7*/	"FM_BOARD_BMC_REV_ID0","FM_BOARD_BMC_REV_ID1","FM_BOARD_BMC_REV_ID2","",
265*20ae1402SLeo Wang	/*18C0-18C7*/	"","","PI_BMC_BIOS_ROM_IRQ0_N","","","","","",
266*20ae1402SLeo Wang	/*18D0-18D7*/	"","","","","","","","",
267*20ae1402SLeo Wang	/*18E0-18E3*/	"","","","AC_PWR_BMC_BTN_N","","","","";
268*20ae1402SLeo Wang};
269*20ae1402SLeo Wang
270*20ae1402SLeo Wang&i2c0 {
271*20ae1402SLeo Wang	status = "okay";
272*20ae1402SLeo Wang
273*20ae1402SLeo Wang	i2c-mux@71 {
274*20ae1402SLeo Wang		compatible = "nxp,pca9546";
275*20ae1402SLeo Wang		reg = <0x71>;
276*20ae1402SLeo Wang		#address-cells = <1>;
277*20ae1402SLeo Wang		#size-cells = <0>;
278*20ae1402SLeo Wang		i2c-mux-idle-disconnect;
279*20ae1402SLeo Wang
280*20ae1402SLeo Wang		i2c0mux0ch0: i2c@0 {
281*20ae1402SLeo Wang			#address-cells = <1>;
282*20ae1402SLeo Wang			#size-cells = <0>;
283*20ae1402SLeo Wang			reg = <0>;
284*20ae1402SLeo Wang		};
285*20ae1402SLeo Wang
286*20ae1402SLeo Wang		i2c0mux0ch1: i2c@1 {
287*20ae1402SLeo Wang			#address-cells = <1>;
288*20ae1402SLeo Wang			#size-cells = <0>;
289*20ae1402SLeo Wang			reg = <1>;
290*20ae1402SLeo Wang
291*20ae1402SLeo Wang			// HDD FRU EEPROM
292*20ae1402SLeo Wang			eeprom@56 {
293*20ae1402SLeo Wang				compatible = "atmel,24c128";
294*20ae1402SLeo Wang				reg = <0x56>;
295*20ae1402SLeo Wang			};
296*20ae1402SLeo Wang
297*20ae1402SLeo Wang			// E1.S Backplane
298*20ae1402SLeo Wang			i2c0mux0ch1mux0: i2c-mux@74 {
299*20ae1402SLeo Wang				compatible = "nxp,pca9546";
300*20ae1402SLeo Wang				reg = <0x74>;
301*20ae1402SLeo Wang				#address-cells = <1>;
302*20ae1402SLeo Wang				#size-cells = <0>;
303*20ae1402SLeo Wang				i2c-mux-idle-disconnect;
304*20ae1402SLeo Wang
305*20ae1402SLeo Wang				i2c0mux0ch1mux0ch0: i2c@0 {
306*20ae1402SLeo Wang					#address-cells = <1>;
307*20ae1402SLeo Wang					#size-cells = <0>;
308*20ae1402SLeo Wang					reg = <0>;
309*20ae1402SLeo Wang				};
310*20ae1402SLeo Wang
311*20ae1402SLeo Wang				i2c0mux0ch1mux0ch1: i2c@1 {
312*20ae1402SLeo Wang					#address-cells = <1>;
313*20ae1402SLeo Wang					#size-cells = <0>;
314*20ae1402SLeo Wang					reg = <1>;
315*20ae1402SLeo Wang				};
316*20ae1402SLeo Wang
317*20ae1402SLeo Wang				i2c0mux0ch1mux0ch2: i2c@2 {
318*20ae1402SLeo Wang					#address-cells = <1>;
319*20ae1402SLeo Wang					#size-cells = <0>;
320*20ae1402SLeo Wang					reg = <2>;
321*20ae1402SLeo Wang				};
322*20ae1402SLeo Wang
323*20ae1402SLeo Wang				i2c0mux0ch1mux0ch3: i2c@3 {
324*20ae1402SLeo Wang					#address-cells = <1>;
325*20ae1402SLeo Wang					#size-cells = <0>;
326*20ae1402SLeo Wang					reg = <3>;
327*20ae1402SLeo Wang				};
328*20ae1402SLeo Wang			};
329*20ae1402SLeo Wang		};
330*20ae1402SLeo Wang
331*20ae1402SLeo Wang		i2c0mux0ch2: i2c@2 {
332*20ae1402SLeo Wang			#address-cells = <1>;
333*20ae1402SLeo Wang			#size-cells = <0>;
334*20ae1402SLeo Wang			reg = <2>;
335*20ae1402SLeo Wang		};
336*20ae1402SLeo Wang
337*20ae1402SLeo Wang		i2c0mux0ch3: i2c@3 {
338*20ae1402SLeo Wang			#address-cells = <1>;
339*20ae1402SLeo Wang			#size-cells = <0>;
340*20ae1402SLeo Wang			reg = <3>;
341*20ae1402SLeo Wang		};
342*20ae1402SLeo Wang	};
343*20ae1402SLeo Wang
344*20ae1402SLeo Wang	i2c-mux@72 {
345*20ae1402SLeo Wang		compatible = "nxp,pca9546";
346*20ae1402SLeo Wang		reg = <0x72>;
347*20ae1402SLeo Wang		#address-cells = <1>;
348*20ae1402SLeo Wang		#size-cells = <0>;
349*20ae1402SLeo Wang		i2c-mux-idle-disconnect;
350*20ae1402SLeo Wang
351*20ae1402SLeo Wang		i2c0mux1ch0: i2c@0 {
352*20ae1402SLeo Wang			#address-cells = <1>;
353*20ae1402SLeo Wang			#size-cells = <0>;
354*20ae1402SLeo Wang			reg = <0>;
355*20ae1402SLeo Wang		};
356*20ae1402SLeo Wang
357*20ae1402SLeo Wang		i2c0mux1ch1: i2c@1 {
358*20ae1402SLeo Wang			#address-cells = <1>;
359*20ae1402SLeo Wang			#size-cells = <0>;
360*20ae1402SLeo Wang			reg = <1>;
361*20ae1402SLeo Wang
362*20ae1402SLeo Wang			// IO Mezz 0 IOEXP
363*20ae1402SLeo Wang			io_expander7: gpio@20 {
364*20ae1402SLeo Wang				compatible = "nxp,pca9535";
365*20ae1402SLeo Wang				reg = <0x20>;
366*20ae1402SLeo Wang				gpio-controller;
367*20ae1402SLeo Wang				#gpio-cells = <2>;
368*20ae1402SLeo Wang				gpio-line-names =
369*20ae1402SLeo Wang					"RST_CX7_0",
370*20ae1402SLeo Wang					"RST_CX7_1",
371*20ae1402SLeo Wang					"CX0_SSD0_PRSNT_L",
372*20ae1402SLeo Wang					"CX1_SSD1_PRSNT_L",
373*20ae1402SLeo Wang					"CX_BOOT_CMPLT_CX0",
374*20ae1402SLeo Wang					"CX_BOOT_CMPLT_CX1",
375*20ae1402SLeo Wang					"CX_TWARN_CX0_L",
376*20ae1402SLeo Wang					"CX_TWARN_CX1_L",
377*20ae1402SLeo Wang					"CX_OVT_SHDN_CX0",
378*20ae1402SLeo Wang					"CX_OVT_SHDN_CX1",
379*20ae1402SLeo Wang					"FNP_L_CX0",
380*20ae1402SLeo Wang					"FNP_L_CX1",
381*20ae1402SLeo Wang					"",
382*20ae1402SLeo Wang					"MCU_GPIO",
383*20ae1402SLeo Wang					"MCU_RST_N",
384*20ae1402SLeo Wang					"MCU_RECOVERY_N";
385*20ae1402SLeo Wang			};
386*20ae1402SLeo Wang
387*20ae1402SLeo Wang			// IO Mezz 0 FRU EEPROM
388*20ae1402SLeo Wang			eeprom@50 {
389*20ae1402SLeo Wang				compatible = "atmel,24c64";
390*20ae1402SLeo Wang				reg = <0x50>;
391*20ae1402SLeo Wang			};
392*20ae1402SLeo Wang
393*20ae1402SLeo Wang			// OSFP 0 FRU EEPROM
394*20ae1402SLeo Wang			eeprom@52 {
395*20ae1402SLeo Wang				compatible = "atmel,24c128";
396*20ae1402SLeo Wang				reg = <0x52>;
397*20ae1402SLeo Wang			};
398*20ae1402SLeo Wang		};
399*20ae1402SLeo Wang
400*20ae1402SLeo Wang		i2c0mux1ch2: i2c@2 {
401*20ae1402SLeo Wang			#address-cells = <1>;
402*20ae1402SLeo Wang			#size-cells = <0>;
403*20ae1402SLeo Wang			reg = <2>;
404*20ae1402SLeo Wang		};
405*20ae1402SLeo Wang
406*20ae1402SLeo Wang		i2c0mux1ch3: i2c@3 {
407*20ae1402SLeo Wang			#address-cells = <1>;
408*20ae1402SLeo Wang			#size-cells = <0>;
409*20ae1402SLeo Wang			reg = <3>;
410*20ae1402SLeo Wang		};
411*20ae1402SLeo Wang	};
412*20ae1402SLeo Wang
413*20ae1402SLeo Wang	i2c-mux@73 {
414*20ae1402SLeo Wang		compatible = "nxp,pca9546";
415*20ae1402SLeo Wang		reg = <0x73>;
416*20ae1402SLeo Wang		#address-cells = <1>;
417*20ae1402SLeo Wang		#size-cells = <0>;
418*20ae1402SLeo Wang		i2c-mux-idle-disconnect;
419*20ae1402SLeo Wang
420*20ae1402SLeo Wang		i2c0mux2ch0: i2c@0 {
421*20ae1402SLeo Wang			#address-cells = <1>;
422*20ae1402SLeo Wang			#size-cells = <0>;
423*20ae1402SLeo Wang			reg = <0>;
424*20ae1402SLeo Wang			// IOB0 NIC0 TEMP
425*20ae1402SLeo Wang			temperature-sensor@1f {
426*20ae1402SLeo Wang				compatible = "ti,tmp421";
427*20ae1402SLeo Wang				reg = <0x1f>;
428*20ae1402SLeo Wang			};
429*20ae1402SLeo Wang		};
430*20ae1402SLeo Wang
431*20ae1402SLeo Wang		i2c0mux2ch1: i2c@1 {
432*20ae1402SLeo Wang			#address-cells = <1>;
433*20ae1402SLeo Wang			#size-cells = <0>;
434*20ae1402SLeo Wang			reg = <1>;
435*20ae1402SLeo Wang		};
436*20ae1402SLeo Wang
437*20ae1402SLeo Wang		i2c0mux2ch2: i2c@2 {
438*20ae1402SLeo Wang			#address-cells = <1>;
439*20ae1402SLeo Wang			#size-cells = <0>;
440*20ae1402SLeo Wang			reg = <2>;
441*20ae1402SLeo Wang		};
442*20ae1402SLeo Wang
443*20ae1402SLeo Wang		i2c0mux2ch3: i2c@3 {
444*20ae1402SLeo Wang			#address-cells = <1>;
445*20ae1402SLeo Wang			#size-cells = <0>;
446*20ae1402SLeo Wang			reg = <3>;
447*20ae1402SLeo Wang			// IOB0 NIC1 TEMP
448*20ae1402SLeo Wang			temperature-sensor@1f {
449*20ae1402SLeo Wang				compatible = "ti,tmp421";
450*20ae1402SLeo Wang				reg = <0x1f>;
451*20ae1402SLeo Wang			};
452*20ae1402SLeo Wang		};
453*20ae1402SLeo Wang	};
454*20ae1402SLeo Wang
455*20ae1402SLeo Wang	i2c-mux@75 {
456*20ae1402SLeo Wang		compatible = "nxp,pca9546";
457*20ae1402SLeo Wang		reg = <0x75>;
458*20ae1402SLeo Wang		#address-cells = <1>;
459*20ae1402SLeo Wang		#size-cells = <0>;
460*20ae1402SLeo Wang		i2c-mux-idle-disconnect;
461*20ae1402SLeo Wang
462*20ae1402SLeo Wang		i2c0mux3ch0: i2c@0 {
463*20ae1402SLeo Wang			#address-cells = <1>;
464*20ae1402SLeo Wang			#size-cells = <0>;
465*20ae1402SLeo Wang			reg = <0>;
466*20ae1402SLeo Wang		};
467*20ae1402SLeo Wang
468*20ae1402SLeo Wang		i2c0mux3ch1: i2c@1 {
469*20ae1402SLeo Wang			#address-cells = <1>;
470*20ae1402SLeo Wang			#size-cells = <0>;
471*20ae1402SLeo Wang			reg = <1>;
472*20ae1402SLeo Wang
473*20ae1402SLeo Wang			// E1.S Backplane HDD FRU EEPROM
474*20ae1402SLeo Wang			eeprom@56 {
475*20ae1402SLeo Wang				compatible = "atmel,24c128";
476*20ae1402SLeo Wang				reg = <0x56>;
477*20ae1402SLeo Wang			};
478*20ae1402SLeo Wang
479*20ae1402SLeo Wang			// E1.S Backplane MUX
480*20ae1402SLeo Wang			i2c0mux3ch1mux0: i2c-mux@74 {
481*20ae1402SLeo Wang				compatible = "nxp,pca9546";
482*20ae1402SLeo Wang				reg = <0x74>;
483*20ae1402SLeo Wang				#address-cells = <1>;
484*20ae1402SLeo Wang				#size-cells = <0>;
485*20ae1402SLeo Wang				i2c-mux-idle-disconnect;
486*20ae1402SLeo Wang
487*20ae1402SLeo Wang				i2c0mux3ch1mux0ch0: i2c@0 {
488*20ae1402SLeo Wang					#address-cells = <1>;
489*20ae1402SLeo Wang					#size-cells = <0>;
490*20ae1402SLeo Wang					reg = <0>;
491*20ae1402SLeo Wang				};
492*20ae1402SLeo Wang
493*20ae1402SLeo Wang				i2c0mux3ch1mux0ch1: i2c@1 {
494*20ae1402SLeo Wang					#address-cells = <1>;
495*20ae1402SLeo Wang					#size-cells = <0>;
496*20ae1402SLeo Wang					reg = <1>;
497*20ae1402SLeo Wang				};
498*20ae1402SLeo Wang
499*20ae1402SLeo Wang				i2c0mux3ch1mux0ch2: i2c@2 {
500*20ae1402SLeo Wang					#address-cells = <1>;
501*20ae1402SLeo Wang					#size-cells = <0>;
502*20ae1402SLeo Wang					reg = <2>;
503*20ae1402SLeo Wang				};
504*20ae1402SLeo Wang
505*20ae1402SLeo Wang				i2c0mux3ch1mux0ch3: i2c@3 {
506*20ae1402SLeo Wang					#address-cells = <1>;
507*20ae1402SLeo Wang					#size-cells = <0>;
508*20ae1402SLeo Wang					reg = <3>;
509*20ae1402SLeo Wang				};
510*20ae1402SLeo Wang			};
511*20ae1402SLeo Wang		};
512*20ae1402SLeo Wang
513*20ae1402SLeo Wang		i2c0mux3ch2: i2c@2 {
514*20ae1402SLeo Wang			#address-cells = <1>;
515*20ae1402SLeo Wang			#size-cells = <0>;
516*20ae1402SLeo Wang			reg = <2>;
517*20ae1402SLeo Wang		};
518*20ae1402SLeo Wang
519*20ae1402SLeo Wang		i2c0mux3ch3: i2c@3 {
520*20ae1402SLeo Wang			#address-cells = <1>;
521*20ae1402SLeo Wang			#size-cells = <0>;
522*20ae1402SLeo Wang			reg = <3>;
523*20ae1402SLeo Wang		};
524*20ae1402SLeo Wang	};
525*20ae1402SLeo Wang
526*20ae1402SLeo Wang	i2c-mux@76 {
527*20ae1402SLeo Wang		compatible = "nxp,pca9546";
528*20ae1402SLeo Wang		reg = <0x76>;
529*20ae1402SLeo Wang		#address-cells = <1>;
530*20ae1402SLeo Wang		#size-cells = <0>;
531*20ae1402SLeo Wang		i2c-mux-idle-disconnect;
532*20ae1402SLeo Wang
533*20ae1402SLeo Wang		i2c0mux4ch0: i2c@0 {
534*20ae1402SLeo Wang			#address-cells = <1>;
535*20ae1402SLeo Wang			#size-cells = <0>;
536*20ae1402SLeo Wang			reg = <0>;
537*20ae1402SLeo Wang		};
538*20ae1402SLeo Wang
539*20ae1402SLeo Wang		i2c0mux4ch1: i2c@1 {
540*20ae1402SLeo Wang			#address-cells = <1>;
541*20ae1402SLeo Wang			#size-cells = <0>;
542*20ae1402SLeo Wang			reg = <1>;
543*20ae1402SLeo Wang
544*20ae1402SLeo Wang			// IO Mezz 1 IOEXP
545*20ae1402SLeo Wang			io_expander8: gpio@21 {
546*20ae1402SLeo Wang				compatible = "nxp,pca9535";
547*20ae1402SLeo Wang				reg = <0x21>;
548*20ae1402SLeo Wang				gpio-controller;
549*20ae1402SLeo Wang				#gpio-cells = <2>;
550*20ae1402SLeo Wang				gpio-line-names =
551*20ae1402SLeo Wang					"SEC_RST_CX7_0",
552*20ae1402SLeo Wang					"SEC_RST_CX7_1",
553*20ae1402SLeo Wang					"SEC_CX0_SSD0_PRSNT_L",
554*20ae1402SLeo Wang					"SEC_CX1_SSD1_PRSNT_L",
555*20ae1402SLeo Wang					"SEC_CX_BOOT_CMPLT_CX0",
556*20ae1402SLeo Wang					"SEC_CX_BOOT_CMPLT_CX1",
557*20ae1402SLeo Wang					"SEC_CX_TWARN_CX0_L",
558*20ae1402SLeo Wang					"SEC_CX_TWARN_CX1_L",
559*20ae1402SLeo Wang					"SEC_CX_OVT_SHDN_CX0",
560*20ae1402SLeo Wang					"SEC_CX_OVT_SHDN_CX1",
561*20ae1402SLeo Wang					"SEC_FNP_L_CX0",
562*20ae1402SLeo Wang					"SEC_FNP_L_CX1",
563*20ae1402SLeo Wang					"",
564*20ae1402SLeo Wang					"SEC_MCU_GPIO",
565*20ae1402SLeo Wang					"SEC_MCU_RST_N",
566*20ae1402SLeo Wang					"SEC_MCU_RECOVERY_N";
567*20ae1402SLeo Wang			};
568*20ae1402SLeo Wang
569*20ae1402SLeo Wang			// IO Mezz 1 FRU EEPROM
570*20ae1402SLeo Wang			eeprom@50 {
571*20ae1402SLeo Wang				compatible = "atmel,24c64";
572*20ae1402SLeo Wang				reg = <0x50>;
573*20ae1402SLeo Wang			};
574*20ae1402SLeo Wang
575*20ae1402SLeo Wang			// OSFP 1 FRU EEPROM
576*20ae1402SLeo Wang			eeprom@52 {
577*20ae1402SLeo Wang				compatible = "atmel,24c128";
578*20ae1402SLeo Wang				reg = <0x52>;
579*20ae1402SLeo Wang			};
580*20ae1402SLeo Wang		};
581*20ae1402SLeo Wang
582*20ae1402SLeo Wang		i2c0mux4ch2: i2c@2 {
583*20ae1402SLeo Wang			#address-cells = <1>;
584*20ae1402SLeo Wang			#size-cells = <0>;
585*20ae1402SLeo Wang			reg = <2>;
586*20ae1402SLeo Wang		};
587*20ae1402SLeo Wang
588*20ae1402SLeo Wang		i2c0mux4ch3: i2c@3 {
589*20ae1402SLeo Wang			#address-cells = <1>;
590*20ae1402SLeo Wang			#size-cells = <0>;
591*20ae1402SLeo Wang			reg = <3>;
592*20ae1402SLeo Wang		};
593*20ae1402SLeo Wang	};
594*20ae1402SLeo Wang
595*20ae1402SLeo Wang	i2c-mux@77 {
596*20ae1402SLeo Wang		compatible = "nxp,pca9546";
597*20ae1402SLeo Wang		reg = <0x77>;
598*20ae1402SLeo Wang		#address-cells = <1>;
599*20ae1402SLeo Wang		#size-cells = <0>;
600*20ae1402SLeo Wang		i2c-mux-idle-disconnect;
601*20ae1402SLeo Wang
602*20ae1402SLeo Wang		i2c0mux5ch0: i2c@0 {
603*20ae1402SLeo Wang			#address-cells = <1>;
604*20ae1402SLeo Wang			#size-cells = <0>;
605*20ae1402SLeo Wang			reg = <0>;
606*20ae1402SLeo Wang			// IOB1 NIC0 TEMP
607*20ae1402SLeo Wang			temperature-sensor@1f {
608*20ae1402SLeo Wang				compatible = "ti,tmp421";
609*20ae1402SLeo Wang				reg = <0x1f>;
610*20ae1402SLeo Wang			};
611*20ae1402SLeo Wang		};
612*20ae1402SLeo Wang
613*20ae1402SLeo Wang		i2c0mux5ch1: i2c@1 {
614*20ae1402SLeo Wang			#address-cells = <1>;
615*20ae1402SLeo Wang			#size-cells = <0>;
616*20ae1402SLeo Wang			reg = <1>;
617*20ae1402SLeo Wang		};
618*20ae1402SLeo Wang
619*20ae1402SLeo Wang		i2c0mux5ch2: i2c@2 {
620*20ae1402SLeo Wang			#address-cells = <1>;
621*20ae1402SLeo Wang			#size-cells = <0>;
622*20ae1402SLeo Wang			reg = <2>;
623*20ae1402SLeo Wang		};
624*20ae1402SLeo Wang
625*20ae1402SLeo Wang		i2c0mux5ch3: i2c@3 {
626*20ae1402SLeo Wang			#address-cells = <1>;
627*20ae1402SLeo Wang			#size-cells = <0>;
628*20ae1402SLeo Wang			reg = <3>;
629*20ae1402SLeo Wang			// IOB1 NIC1 TEMP
630*20ae1402SLeo Wang			temperature-sensor@1f {
631*20ae1402SLeo Wang				compatible = "ti,tmp421";
632*20ae1402SLeo Wang				reg = <0x1f>;
633*20ae1402SLeo Wang			};
634*20ae1402SLeo Wang		};
635*20ae1402SLeo Wang	};
636*20ae1402SLeo Wang};
637*20ae1402SLeo Wang
638*20ae1402SLeo Wang&i2c1 {
639*20ae1402SLeo Wang	status = "okay";
640*20ae1402SLeo Wang
641*20ae1402SLeo Wang	// PDB
642*20ae1402SLeo Wang	power-monitor@12 {
643*20ae1402SLeo Wang		compatible = "ti,lm5066i";
644*20ae1402SLeo Wang		reg = <0x12>;
645*20ae1402SLeo Wang	};
646*20ae1402SLeo Wang
647*20ae1402SLeo Wang	// PDB
648*20ae1402SLeo Wang	power-monitor@14 {
649*20ae1402SLeo Wang		compatible = "ti,lm5066i";
650*20ae1402SLeo Wang		reg = <0x14>;
651*20ae1402SLeo Wang	};
652*20ae1402SLeo Wang
653*20ae1402SLeo Wang	// Module 0
654*20ae1402SLeo Wang	fanctl0: fan-controller@20{
655*20ae1402SLeo Wang		compatible = "maxim,max31790";
656*20ae1402SLeo Wang		reg = <0x20>;
657*20ae1402SLeo Wang	};
658*20ae1402SLeo Wang
659*20ae1402SLeo Wang	// Module 0
660*20ae1402SLeo Wang	fanctl1: fan-controller@23{
661*20ae1402SLeo Wang		compatible = "maxim,max31790";
662*20ae1402SLeo Wang		reg = <0x23>;
663*20ae1402SLeo Wang	};
664*20ae1402SLeo Wang
665*20ae1402SLeo Wang	// Module 1
666*20ae1402SLeo Wang	fanctl2: fan-controller@2c{
667*20ae1402SLeo Wang		compatible = "maxim,max31790";
668*20ae1402SLeo Wang		reg = <0x2c>;
669*20ae1402SLeo Wang	};
670*20ae1402SLeo Wang
671*20ae1402SLeo Wang	// Module 1
672*20ae1402SLeo Wang	fanctl3: fan-controller@2f{
673*20ae1402SLeo Wang		compatible = "maxim,max31790";
674*20ae1402SLeo Wang		reg = <0x2f>;
675*20ae1402SLeo Wang	};
676*20ae1402SLeo Wang
677*20ae1402SLeo Wang	// Module 0 Leak Sensor
678*20ae1402SLeo Wang	adc@34 {
679*20ae1402SLeo Wang		compatible = "maxim,max1363";
680*20ae1402SLeo Wang		reg = <0x34>;
681*20ae1402SLeo Wang	};
682*20ae1402SLeo Wang
683*20ae1402SLeo Wang	// Module 1 Leak Sensor
684*20ae1402SLeo Wang	adc@35 {
685*20ae1402SLeo Wang		compatible = "maxim,max1363";
686*20ae1402SLeo Wang		reg = <0x35>;
687*20ae1402SLeo Wang	};
688*20ae1402SLeo Wang
689*20ae1402SLeo Wang	// PDB TEMP SENSOR
690*20ae1402SLeo Wang	temperature-sensor@4e {
691*20ae1402SLeo Wang		compatible = "ti,tmp1075";
692*20ae1402SLeo Wang		reg = <0x4e>;
693*20ae1402SLeo Wang	};
694*20ae1402SLeo Wang
695*20ae1402SLeo Wang	// PDB FRU EEPROM
696*20ae1402SLeo Wang	eeprom@50 {
697*20ae1402SLeo Wang		compatible = "atmel,24c02";
698*20ae1402SLeo Wang		reg = <0x50>;
699*20ae1402SLeo Wang	};
700*20ae1402SLeo Wang
701*20ae1402SLeo Wang	// PDB
702*20ae1402SLeo Wang	vrm@60 {
703*20ae1402SLeo Wang		compatible = "renesas,raa228004";
704*20ae1402SLeo Wang		reg = <0x60>;
705*20ae1402SLeo Wang	};
706*20ae1402SLeo Wang
707*20ae1402SLeo Wang	// PDB
708*20ae1402SLeo Wang	vrm@61 {
709*20ae1402SLeo Wang		compatible = "renesas,raa228004";
710*20ae1402SLeo Wang		reg = <0x61>;
711*20ae1402SLeo Wang	};
712*20ae1402SLeo Wang
713*20ae1402SLeo Wang	// Interposer
714*20ae1402SLeo Wang	i2c-mux@70 {
715*20ae1402SLeo Wang		compatible = "nxp,pca9548";
716*20ae1402SLeo Wang		#address-cells = <1>;
717*20ae1402SLeo Wang		#size-cells = <0>;
718*20ae1402SLeo Wang		reg = <0x70>;
719*20ae1402SLeo Wang		i2c-mux-idle-disconnect;
720*20ae1402SLeo Wang
721*20ae1402SLeo Wang		i2c1mux0ch0: i2c@0 {
722*20ae1402SLeo Wang			#address-cells = <1>;
723*20ae1402SLeo Wang			#size-cells = <0>;
724*20ae1402SLeo Wang			reg = <0x0>;
725*20ae1402SLeo Wang		};
726*20ae1402SLeo Wang
727*20ae1402SLeo Wang		i2c1mux0ch1: i2c@1 {
728*20ae1402SLeo Wang			#address-cells = <1>;
729*20ae1402SLeo Wang			#size-cells = <0>;
730*20ae1402SLeo Wang			reg = <0x1>;
731*20ae1402SLeo Wang		};
732*20ae1402SLeo Wang
733*20ae1402SLeo Wang		i2c1mux0ch2: i2c@2 {
734*20ae1402SLeo Wang			#address-cells = <1>;
735*20ae1402SLeo Wang			#size-cells = <0>;
736*20ae1402SLeo Wang			reg = <0x2>;
737*20ae1402SLeo Wang		};
738*20ae1402SLeo Wang
739*20ae1402SLeo Wang		i2c1mux0ch3: i2c@3 {
740*20ae1402SLeo Wang			#address-cells = <1>;
741*20ae1402SLeo Wang			#size-cells = <0>;
742*20ae1402SLeo Wang			reg = <0x3>;
743*20ae1402SLeo Wang		};
744*20ae1402SLeo Wang
745*20ae1402SLeo Wang		i2c1mux0ch4: i2c@4 {
746*20ae1402SLeo Wang			#address-cells = <1>;
747*20ae1402SLeo Wang			#size-cells = <0>;
748*20ae1402SLeo Wang			reg = <0x4>;
749*20ae1402SLeo Wang		};
750*20ae1402SLeo Wang
751*20ae1402SLeo Wang		i2c1mux0ch5: i2c@5 {
752*20ae1402SLeo Wang			#address-cells = <1>;
753*20ae1402SLeo Wang			#size-cells = <0>;
754*20ae1402SLeo Wang			reg = <0x5>;
755*20ae1402SLeo Wang
756*20ae1402SLeo Wang			// Interposer TEMP SENSOR
757*20ae1402SLeo Wang			temperature-sensor@4f {
758*20ae1402SLeo Wang				compatible = "ti,tmp75";
759*20ae1402SLeo Wang				reg = <0x4f>;
760*20ae1402SLeo Wang			};
761*20ae1402SLeo Wang
762*20ae1402SLeo Wang			// Interposer FRU EEPROM
763*20ae1402SLeo Wang			eeprom@54 {
764*20ae1402SLeo Wang				compatible = "atmel,24c64";
765*20ae1402SLeo Wang				reg = <0x54>;
766*20ae1402SLeo Wang			};
767*20ae1402SLeo Wang		};
768*20ae1402SLeo Wang
769*20ae1402SLeo Wang		i2c1mux0ch6: i2c@6 {
770*20ae1402SLeo Wang			#address-cells = <1>;
771*20ae1402SLeo Wang			#size-cells = <0>;
772*20ae1402SLeo Wang			reg = <0x6>;
773*20ae1402SLeo Wang
774*20ae1402SLeo Wang			// Interposer IOEXP
775*20ae1402SLeo Wang			io_expander5: gpio@27 {
776*20ae1402SLeo Wang				compatible = "nxp,pca9554";
777*20ae1402SLeo Wang				reg = <0x27>;
778*20ae1402SLeo Wang				gpio-controller;
779*20ae1402SLeo Wang				#gpio-cells = <2>;
780*20ae1402SLeo Wang				gpio-line-names =
781*20ae1402SLeo Wang					"JTAG_MUX_SEL",
782*20ae1402SLeo Wang					"IOX_BMC_RESET",
783*20ae1402SLeo Wang					"RTC_CLR_L",
784*20ae1402SLeo Wang					"RTC_U77_ALRT_N",
785*20ae1402SLeo Wang					"",
786*20ae1402SLeo Wang					"PSU_ALERT_N",
787*20ae1402SLeo Wang					"",
788*20ae1402SLeo Wang					"RST_P12V_STBY_N";
789*20ae1402SLeo Wang			};
790*20ae1402SLeo Wang		};
791*20ae1402SLeo Wang
792*20ae1402SLeo Wang		i2c1mux0ch7: i2c@7 {
793*20ae1402SLeo Wang			#address-cells = <1>;
794*20ae1402SLeo Wang			#size-cells = <0>;
795*20ae1402SLeo Wang			reg = <0x7>;
796*20ae1402SLeo Wang
797*20ae1402SLeo Wang			// FIO TEMP SENSOR
798*20ae1402SLeo Wang			temperature-sensor@4b {
799*20ae1402SLeo Wang				compatible = "ti,tmp75";
800*20ae1402SLeo Wang				reg = <0x4b>;
801*20ae1402SLeo Wang			};
802*20ae1402SLeo Wang
803*20ae1402SLeo Wang			// FIO FRU EEPROM
804*20ae1402SLeo Wang			eeprom@51 {
805*20ae1402SLeo Wang				compatible = "atmel,24c64";
806*20ae1402SLeo Wang				reg = <0x51>;
807*20ae1402SLeo Wang			};
808*20ae1402SLeo Wang		};
809*20ae1402SLeo Wang	};
810*20ae1402SLeo Wang};
811*20ae1402SLeo Wang
812*20ae1402SLeo Wang&i2c2 {
813*20ae1402SLeo Wang	status = "okay";
814*20ae1402SLeo Wang	// Module 0, Expander @0x20
815*20ae1402SLeo Wang	io_expander0: gpio@20 {
816*20ae1402SLeo Wang		compatible = "nxp,pca9555";
817*20ae1402SLeo Wang		reg = <0x20>;
818*20ae1402SLeo Wang		gpio-controller;
819*20ae1402SLeo Wang		#gpio-cells = <2>;
820*20ae1402SLeo Wang		gpio-line-names =
821*20ae1402SLeo Wang			"FPGA_THERM_OVERT_L-I",
822*20ae1402SLeo Wang			"FPGA_READY_BMC-I",
823*20ae1402SLeo Wang			"HMC_BMC_DETECT-O",
824*20ae1402SLeo Wang			"HMC_PGOOD-O",
825*20ae1402SLeo Wang			"",
826*20ae1402SLeo Wang			"BMC_STBY_CYCLE-O",
827*20ae1402SLeo Wang			"FPGA_EROT_FATAL_ERROR_L-I",
828*20ae1402SLeo Wang			"WP_HW_EXT_CTRL_L-O",
829*20ae1402SLeo Wang			"EROT_FPGA_RST_L-O",
830*20ae1402SLeo Wang			"FPGA_EROT_RECOVERY_L-O",
831*20ae1402SLeo Wang			"BMC_EROT_FPGA_SPI_MUX_SEL-O",
832*20ae1402SLeo Wang			"USB2_HUB_RST_L-O",
833*20ae1402SLeo Wang			"",
834*20ae1402SLeo Wang			"SGPIO_EN_L-O",
835*20ae1402SLeo Wang			"B2B_IOEXP_INT_L-I",
836*20ae1402SLeo Wang			"I2C_BUS_MUX_RESET_L-O";
837*20ae1402SLeo Wang	};
838*20ae1402SLeo Wang
839*20ae1402SLeo Wang	// Module 1, Expander @0x21
840*20ae1402SLeo Wang	io_expander1: gpio@21 {
841*20ae1402SLeo Wang		compatible = "nxp,pca9555";
842*20ae1402SLeo Wang		reg = <0x21>;
843*20ae1402SLeo Wang		gpio-controller;
844*20ae1402SLeo Wang		#gpio-cells = <2>;
845*20ae1402SLeo Wang		gpio-line-names =
846*20ae1402SLeo Wang			"SEC_FPGA_THERM_OVERT_L",
847*20ae1402SLeo Wang			"SEC_FPGA_READY_BMC",
848*20ae1402SLeo Wang			"SEC_HMC_BMC_DETECT",
849*20ae1402SLeo Wang			"SEC_HMC_PGOOD",
850*20ae1402SLeo Wang			"",
851*20ae1402SLeo Wang			"SEC_BMC_SELF_POWER_CYCLE",
852*20ae1402SLeo Wang			"SEC_SEC_FPGA_EROT_FATAL_ERROR_L",
853*20ae1402SLeo Wang			"SEC_WP_HW_EXT_CTRL_L",
854*20ae1402SLeo Wang			"SEC_EROT_FPGA_RST_L",
855*20ae1402SLeo Wang			"SEC_FPGA_EROT_RECOVERY_L",
856*20ae1402SLeo Wang			"SEC_BMC_EROT_FPGA_SPI_MUX_SEL",
857*20ae1402SLeo Wang			"SEC_USB2_HUB_RST_L",
858*20ae1402SLeo Wang			"",
859*20ae1402SLeo Wang			"SEC_SGPIO_EN_L",
860*20ae1402SLeo Wang			"SEC_IOB_IOEXP_INT_L",
861*20ae1402SLeo Wang			"SEC_I2C_BUS_MUX_RESET_L";
862*20ae1402SLeo Wang	};
863*20ae1402SLeo Wang
864*20ae1402SLeo Wang	// HMC Expander @0x27
865*20ae1402SLeo Wang	io_expander2: gpio@27 {
866*20ae1402SLeo Wang		compatible = "nxp,pca9555";
867*20ae1402SLeo Wang		reg = <0x27>;
868*20ae1402SLeo Wang		gpio-controller;
869*20ae1402SLeo Wang		#gpio-cells = <2>;
870*20ae1402SLeo Wang		gpio-line-names =
871*20ae1402SLeo Wang			"HMC_PRSNT_L-I",
872*20ae1402SLeo Wang			"HMC_READY-I",
873*20ae1402SLeo Wang			"HMC_EROT_FATAL_ERROR_L-I",
874*20ae1402SLeo Wang			"I2C_MUX_SEL-O",
875*20ae1402SLeo Wang			"HMC_EROT_SPI_MUX_SEL-O",
876*20ae1402SLeo Wang			"HMC_EROT_RECOVERY_L-O",
877*20ae1402SLeo Wang			"HMC_EROT_RST_L-O",
878*20ae1402SLeo Wang			"GLOBAL_WP_HMC-O",
879*20ae1402SLeo Wang			"FPGA_RST_L-O",
880*20ae1402SLeo Wang			"USB2_HUB_RST-O",
881*20ae1402SLeo Wang			"CPU_UART_MUX_SEL-O",
882*20ae1402SLeo Wang			"",
883*20ae1402SLeo Wang			"",
884*20ae1402SLeo Wang			"",
885*20ae1402SLeo Wang			"",
886*20ae1402SLeo Wang			"";
887*20ae1402SLeo Wang	};
888*20ae1402SLeo Wang
889*20ae1402SLeo Wang	// Module 0 Aux EEPROM
890*20ae1402SLeo Wang	eeprom@50 {
891*20ae1402SLeo Wang		compatible = "atmel,24c64";
892*20ae1402SLeo Wang		reg = <0x50>;
893*20ae1402SLeo Wang	};
894*20ae1402SLeo Wang
895*20ae1402SLeo Wang	// Module 1 Aux EEPROM
896*20ae1402SLeo Wang	eeprom@51 {
897*20ae1402SLeo Wang		compatible = "atmel,24c64";
898*20ae1402SLeo Wang		reg = <0x51>;
899*20ae1402SLeo Wang	};
900*20ae1402SLeo Wang};
901*20ae1402SLeo Wang
902*20ae1402SLeo Wang&i2c3 {
903*20ae1402SLeo Wang	status = "okay";
904*20ae1402SLeo Wang};
905*20ae1402SLeo Wang
906*20ae1402SLeo Wang&i2c4 {
907*20ae1402SLeo Wang	status = "okay";
908*20ae1402SLeo Wang};
909*20ae1402SLeo Wang
910*20ae1402SLeo Wang&i2c5 {
911*20ae1402SLeo Wang	status = "okay";
912*20ae1402SLeo Wang};
913*20ae1402SLeo Wang
914*20ae1402SLeo Wang&i2c6 {
915*20ae1402SLeo Wang	status = "okay";
916*20ae1402SLeo Wang	io_expander3: gpio@21 {
917*20ae1402SLeo Wang		compatible = "nxp,pca9555";
918*20ae1402SLeo Wang		reg = <0x21>;
919*20ae1402SLeo Wang		gpio-controller;
920*20ae1402SLeo Wang		#gpio-cells = <2>;
921*20ae1402SLeo Wang		gpio-line-names =
922*20ae1402SLeo Wang			"RTC_MUX_SEL",
923*20ae1402SLeo Wang			"PCI_MUX_SEL",
924*20ae1402SLeo Wang			"TPM_MUX_SEL",
925*20ae1402SLeo Wang			"FAN_MUX-SEL",
926*20ae1402SLeo Wang			"SGMII_MUX_SEL",
927*20ae1402SLeo Wang			"DP_MUX_SEL",
928*20ae1402SLeo Wang			"UPHY3_USB_SEL",
929*20ae1402SLeo Wang			"NCSI_MUX_SEL",
930*20ae1402SLeo Wang			"BMC_PHY_RST",
931*20ae1402SLeo Wang			"RTC_CLR_L",
932*20ae1402SLeo Wang			"BMC_12V_CTRL",
933*20ae1402SLeo Wang			"PS_RUN_IO0_PG",
934*20ae1402SLeo Wang			"",
935*20ae1402SLeo Wang			"",
936*20ae1402SLeo Wang			"",
937*20ae1402SLeo Wang			"";
938*20ae1402SLeo Wang	};
939*20ae1402SLeo Wang
940*20ae1402SLeo Wang	rtc@6f {
941*20ae1402SLeo Wang		compatible = "nuvoton,nct3018y";
942*20ae1402SLeo Wang		reg = <0x6f>;
943*20ae1402SLeo Wang	};
944*20ae1402SLeo Wang};
945*20ae1402SLeo Wang
946*20ae1402SLeo Wang&i2c7 {
947*20ae1402SLeo Wang	status = "okay";
948*20ae1402SLeo Wang};
949*20ae1402SLeo Wang
950*20ae1402SLeo Wang&i2c8 {
951*20ae1402SLeo Wang	status = "okay";
952*20ae1402SLeo Wang};
953*20ae1402SLeo Wang
954*20ae1402SLeo Wang&i2c9 {
955*20ae1402SLeo Wang	status = "okay";
956*20ae1402SLeo Wang	// SCM TEMP SENSOR BOARD
957*20ae1402SLeo Wang	temperature-sensor@4b {
958*20ae1402SLeo Wang		compatible = "national,lm75b";
959*20ae1402SLeo Wang		reg = <0x4b>;
960*20ae1402SLeo Wang	};
961*20ae1402SLeo Wang
962*20ae1402SLeo Wang	// SCM CPLD IOEXP
963*20ae1402SLeo Wang	io_expander4: gpio@4f {
964*20ae1402SLeo Wang		compatible = "nxp,pca9555";
965*20ae1402SLeo Wang		reg = <0x4f>;
966*20ae1402SLeo Wang		gpio-controller;
967*20ae1402SLeo Wang		#gpio-cells = <2>;
968*20ae1402SLeo Wang		gpio-line-names =
969*20ae1402SLeo Wang			"stby_power_en_cpld",
970*20ae1402SLeo Wang			"stby_power_gd_cpld",
971*20ae1402SLeo Wang			"",
972*20ae1402SLeo Wang			"",
973*20ae1402SLeo Wang			"",
974*20ae1402SLeo Wang			"",
975*20ae1402SLeo Wang			"",
976*20ae1402SLeo Wang			"",
977*20ae1402SLeo Wang			"",
978*20ae1402SLeo Wang			"",
979*20ae1402SLeo Wang			"",
980*20ae1402SLeo Wang			"",
981*20ae1402SLeo Wang			"",
982*20ae1402SLeo Wang			"",
983*20ae1402SLeo Wang			"",
984*20ae1402SLeo Wang			"";
985*20ae1402SLeo Wang	};
986*20ae1402SLeo Wang
987*20ae1402SLeo Wang	// SCM FRU EEPROM
988*20ae1402SLeo Wang	eeprom@50 {
989*20ae1402SLeo Wang		compatible = "atmel,24c64";
990*20ae1402SLeo Wang		reg = <0x50>;
991*20ae1402SLeo Wang	};
992*20ae1402SLeo Wang
993*20ae1402SLeo Wang	// BSM FRU EEPROM
994*20ae1402SLeo Wang	eeprom@56 {
995*20ae1402SLeo Wang		compatible = "atmel,24c64";
996*20ae1402SLeo Wang		reg = <0x56>;
997*20ae1402SLeo Wang	};
998*20ae1402SLeo Wang};
999*20ae1402SLeo Wang
1000*20ae1402SLeo Wang&i2c10 {
1001*20ae1402SLeo Wang	status = "okay";
1002*20ae1402SLeo Wang	multi-master;
1003*20ae1402SLeo Wang	mctp-controller;
1004*20ae1402SLeo Wang	mctp@10 {
1005*20ae1402SLeo Wang		compatible = "mctp-i2c-controller";
1006*20ae1402SLeo Wang		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
1007*20ae1402SLeo Wang	};
1008*20ae1402SLeo Wang
1009*20ae1402SLeo Wang	// OCP NIC0 TEMP
1010*20ae1402SLeo Wang	temperature-sensor@1f {
1011*20ae1402SLeo Wang		compatible = "ti,tmp421";
1012*20ae1402SLeo Wang		reg = <0x1f>;
1013*20ae1402SLeo Wang	};
1014*20ae1402SLeo Wang
1015*20ae1402SLeo Wang	// OCP NIC0 FRU EEPROM
1016*20ae1402SLeo Wang	eeprom@50 {
1017*20ae1402SLeo Wang		compatible = "atmel,24c64";
1018*20ae1402SLeo Wang		reg = <0x50>;
1019*20ae1402SLeo Wang	};
1020*20ae1402SLeo Wang};
1021*20ae1402SLeo Wang
1022*20ae1402SLeo Wang&i2c11 {
1023*20ae1402SLeo Wang	status = "okay";
1024*20ae1402SLeo Wang
1025*20ae1402SLeo Wang	ssif-bmc@10 {
1026*20ae1402SLeo Wang		compatible = "ssif-bmc";
1027*20ae1402SLeo Wang		reg = <0x10>;
1028*20ae1402SLeo Wang	};
1029*20ae1402SLeo Wang};
1030*20ae1402SLeo Wang
1031*20ae1402SLeo Wang&i2c12 {
1032*20ae1402SLeo Wang	status = "okay";
1033*20ae1402SLeo Wang	multi-master;
1034*20ae1402SLeo Wang
1035*20ae1402SLeo Wang	// HPM 1 FRU EEPROM
1036*20ae1402SLeo Wang	eeprom@50 {
1037*20ae1402SLeo Wang		compatible = "atmel,24c64";
1038*20ae1402SLeo Wang		reg = <0x50>;
1039*20ae1402SLeo Wang	};
1040*20ae1402SLeo Wang	// CBC 2 FRU
1041*20ae1402SLeo Wang	eeprom@54 {
1042*20ae1402SLeo Wang		compatible = "atmel,24c02";
1043*20ae1402SLeo Wang		reg = <0x54>;
1044*20ae1402SLeo Wang	};
1045*20ae1402SLeo Wang	// CBC 3 FRU
1046*20ae1402SLeo Wang	eeprom@55 {
1047*20ae1402SLeo Wang		compatible = "atmel,24c02";
1048*20ae1402SLeo Wang		reg = <0x55>;
1049*20ae1402SLeo Wang	};
1050*20ae1402SLeo Wang};
1051*20ae1402SLeo Wang
1052*20ae1402SLeo Wang&i2c13 {
1053*20ae1402SLeo Wang	status = "okay";
1054*20ae1402SLeo Wang	multi-master;
1055*20ae1402SLeo Wang
1056*20ae1402SLeo Wang	// HPM FRU EEPROM
1057*20ae1402SLeo Wang	eeprom@50 {
1058*20ae1402SLeo Wang		compatible = "atmel,24c64";
1059*20ae1402SLeo Wang		reg = <0x50>;
1060*20ae1402SLeo Wang	};
1061*20ae1402SLeo Wang
1062*20ae1402SLeo Wang	// CBC 0 FRU
1063*20ae1402SLeo Wang	eeprom@54 {
1064*20ae1402SLeo Wang		compatible = "atmel,24c02";
1065*20ae1402SLeo Wang		reg = <0x54>;
1066*20ae1402SLeo Wang	};
1067*20ae1402SLeo Wang
1068*20ae1402SLeo Wang	// CBC 1 FRU
1069*20ae1402SLeo Wang	eeprom@55 {
1070*20ae1402SLeo Wang		compatible = "atmel,24c02";
1071*20ae1402SLeo Wang		reg = <0x55>;
1072*20ae1402SLeo Wang	};
1073*20ae1402SLeo Wang
1074*20ae1402SLeo Wang	// HMC FRU EEPROM
1075*20ae1402SLeo Wang	eeprom@57 {
1076*20ae1402SLeo Wang		compatible = "atmel,24c02";
1077*20ae1402SLeo Wang		reg = <0x57>;
1078*20ae1402SLeo Wang	};
1079*20ae1402SLeo Wang};
1080*20ae1402SLeo Wang
1081*20ae1402SLeo Wang&i2c14 {
1082*20ae1402SLeo Wang	status = "okay";
1083*20ae1402SLeo Wang
1084*20ae1402SLeo Wang	// PDB CPLD IOEXP 0x10
1085*20ae1402SLeo Wang	io_expander9: gpio@10 {
1086*20ae1402SLeo Wang		compatible = "nxp,pca9555";
1087*20ae1402SLeo Wang		interrupt-parent = <&gpio0>;
1088*20ae1402SLeo Wang		interrupts = <ASPEED_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
1089*20ae1402SLeo Wang		reg = <0x10>;
1090*20ae1402SLeo Wang		gpio-controller;
1091*20ae1402SLeo Wang		#gpio-cells = <2>;
1092*20ae1402SLeo Wang		gpio-line-names =
1093*20ae1402SLeo Wang			"wSequence_Latch_State_N",
1094*20ae1402SLeo Wang			"wP12V_N1N2_RUNTIME_FLT_N",
1095*20ae1402SLeo Wang			"wP12V_FAN_RUNTIME_FLT_N",
1096*20ae1402SLeo Wang			"wP12V_AUX_RUNTIME_FLT_N",
1097*20ae1402SLeo Wang			"wHost_PERST_SEQPWR_FLT_N",
1098*20ae1402SLeo Wang			"wP12V_N1N2_SEQPWR_FLT_N",
1099*20ae1402SLeo Wang			"wP12V_FAN_SEQPWR_FLT_N",
1100*20ae1402SLeo Wang			"wP12V_AUX_SEQPWR_FLT_N",
1101*20ae1402SLeo Wang			"wP12V_RUNTIME_FLT_NIC1_N",
1102*20ae1402SLeo Wang			"wAUX_RUNTIME_FLT_NIC1_N",
1103*20ae1402SLeo Wang			"wP12V_SEQPWR_FLT_NIC1_N",
1104*20ae1402SLeo Wang			"wAUX_SEQPWR_FLT_NIC1_N",
1105*20ae1402SLeo Wang			"wP12V_RUNTIME_FLT_NIC0_N",
1106*20ae1402SLeo Wang			"wAUX_RUNTIME_FLT_NIC0_N",
1107*20ae1402SLeo Wang			"wP12V_SEQPWR_FLT_NIC0_N",
1108*20ae1402SLeo Wang			"wAUX_SEQPWR_FLT_NIC0_N";
1109*20ae1402SLeo Wang	};
1110*20ae1402SLeo Wang
1111*20ae1402SLeo Wang	// PDB CPLD IOEXP 0x11
1112*20ae1402SLeo Wang	io_expander10: gpio@11 {
1113*20ae1402SLeo Wang		compatible = "nxp,pca9555";
1114*20ae1402SLeo Wang		interrupt-parent = <&gpio0>;
1115*20ae1402SLeo Wang		interrupts = <ASPEED_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
1116*20ae1402SLeo Wang		reg = <0x11>;
1117*20ae1402SLeo Wang		gpio-controller;
1118*20ae1402SLeo Wang		#gpio-cells = <2>;
1119*20ae1402SLeo Wang		gpio-line-names =
1120*20ae1402SLeo Wang			"FM_P12V_NIC1_FLTB_R_N",
1121*20ae1402SLeo Wang			"FM_P3V3_NIC1_FAULT_R_N",
1122*20ae1402SLeo Wang			"FM_P12V_NIC0_FLTB_R_N",
1123*20ae1402SLeo Wang			"FM_P3V3_NIC0_FAULT_R_N",
1124*20ae1402SLeo Wang			"P48V_HS2_FAULT_N_PLD",
1125*20ae1402SLeo Wang			"P48V_HS1_FAULT_N_PLD",
1126*20ae1402SLeo Wang			"P12V_AUX_FAN_OC_PLD_N",
1127*20ae1402SLeo Wang			"P12V_AUX_FAN_FAULT_PLD_N",
1128*20ae1402SLeo Wang			"",
1129*20ae1402SLeo Wang			"",
1130*20ae1402SLeo Wang			"",
1131*20ae1402SLeo Wang			"",
1132*20ae1402SLeo Wang			"",
1133*20ae1402SLeo Wang			"FM_SYS_THROTTLE_N",
1134*20ae1402SLeo Wang			"OCP_V3_2_PWRBRK_FROM_HOST_ISO_PLD_N",
1135*20ae1402SLeo Wang			"OCP_SFF_PWRBRK_FROM_HOST_ISO_PLD_N";
1136*20ae1402SLeo Wang	};
1137*20ae1402SLeo Wang
1138*20ae1402SLeo Wang	// PDB CPLD IOEXP 0x12
1139*20ae1402SLeo Wang	io_expander11: gpio@12 {
1140*20ae1402SLeo Wang		compatible = "nxp,pca9555";
1141*20ae1402SLeo Wang		interrupt-parent = <&gpio0>;
1142*20ae1402SLeo Wang		interrupts = <ASPEED_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
1143*20ae1402SLeo Wang		reg = <0x12>;
1144*20ae1402SLeo Wang		gpio-controller;
1145*20ae1402SLeo Wang		#gpio-cells = <2>;
1146*20ae1402SLeo Wang		gpio-line-names =
1147*20ae1402SLeo Wang			"P12V_AUX_PSU_SMB_ALERT_R_L",
1148*20ae1402SLeo Wang			"P12V_SCM_SENSE_ALERT_R_N",
1149*20ae1402SLeo Wang			"P12V_AUX_NIC1_SENSE_ALERT_R_N",
1150*20ae1402SLeo Wang			"P12V_AUX_NIC0_SENSE_ALERT_R_N",
1151*20ae1402SLeo Wang			"NODEB_PSU_SMB_ALERT_R_L",
1152*20ae1402SLeo Wang			"NODEA_PSU_SMB_ALERT_R_L",
1153*20ae1402SLeo Wang			"P12V_AUX_FAN_ALERT_PLD_N",
1154*20ae1402SLeo Wang			"P52V_SENSE_ALERT_PLD_N",
1155*20ae1402SLeo Wang			"PRSNT_RJ45_FIO_N_R",
1156*20ae1402SLeo Wang			"FM_MAIN_PWREN_RMC_EN_ISO_R",
1157*20ae1402SLeo Wang			"CHASSIS3_LEAK_Q_N_PLD",
1158*20ae1402SLeo Wang			"CHASSIS2_LEAK_Q_N_PLD",
1159*20ae1402SLeo Wang			"CHASSIS1_LEAK_Q_N_PLD",
1160*20ae1402SLeo Wang			"CHASSIS0_LEAK_Q_N_PLD",
1161*20ae1402SLeo Wang			"",
1162*20ae1402SLeo Wang			"SMB_RJ45_FIO_TMP_ALERT";
1163*20ae1402SLeo Wang	};
1164*20ae1402SLeo Wang
1165*20ae1402SLeo Wang	// PDB CPLD IOEXP 0x13
1166*20ae1402SLeo Wang	io_expander12: gpio@13 {
1167*20ae1402SLeo Wang		compatible = "nxp,pca9555";
1168*20ae1402SLeo Wang		interrupt-parent = <&gpio0>;
1169*20ae1402SLeo Wang		interrupts = <ASPEED_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
1170*20ae1402SLeo Wang		reg = <0x13>;
1171*20ae1402SLeo Wang		gpio-controller;
1172*20ae1402SLeo Wang		#gpio-cells = <2>;
1173*20ae1402SLeo Wang		gpio-line-names =
1174*20ae1402SLeo Wang			"FAN_7_PRESENT_N",
1175*20ae1402SLeo Wang			"FAN_6_PRESENT_N",
1176*20ae1402SLeo Wang			"FAN_5_PRESENT_N",
1177*20ae1402SLeo Wang			"FAN_4_PRESENT_N",
1178*20ae1402SLeo Wang			"FAN_3_PRESENT_N",
1179*20ae1402SLeo Wang			"FAN_2_PRESENT_N",
1180*20ae1402SLeo Wang			"FAN_1_PRESENT_N",
1181*20ae1402SLeo Wang			"FAN_0_PRESENT_N",
1182*20ae1402SLeo Wang			"HP_LVC3_OCP_V3_2_PRSNT2_PLD_N",
1183*20ae1402SLeo Wang			"HP_LVC3_OCP_V3_1_PRSNT2_PLD_N",
1184*20ae1402SLeo Wang			"PRSNT_HDDBD_POWER_CABLE_N",
1185*20ae1402SLeo Wang			"PRSNT_OSFP0_POWER_CABLE_N",
1186*20ae1402SLeo Wang			"PRSNT_CHASSIS3_LEAK_CABLE_R_N",
1187*20ae1402SLeo Wang			"PRSNT_CHASSIS2_LEAK_CABLE_R_N",
1188*20ae1402SLeo Wang			"PRSNT_CHASSIS1_LEAK_CABLE_R_N",
1189*20ae1402SLeo Wang			"PRSNT_CHASSIS0_LEAK_CABLE_R_N";
1190*20ae1402SLeo Wang	};
1191*20ae1402SLeo Wang
1192*20ae1402SLeo Wang	// PDB CPLD IOEXP 0x14
1193*20ae1402SLeo Wang	io_expander13: gpio@14 {
1194*20ae1402SLeo Wang		compatible = "nxp,pca9555";
1195*20ae1402SLeo Wang		reg = <0x14>;
1196*20ae1402SLeo Wang		gpio-controller;
1197*20ae1402SLeo Wang		#gpio-cells = <2>;
1198*20ae1402SLeo Wang		gpio-line-names =
1199*20ae1402SLeo Wang			"rmc_en_dc_pwr_on",
1200*20ae1402SLeo Wang			"",
1201*20ae1402SLeo Wang			"",
1202*20ae1402SLeo Wang			"",
1203*20ae1402SLeo Wang			"",
1204*20ae1402SLeo Wang			"",
1205*20ae1402SLeo Wang			"",
1206*20ae1402SLeo Wang			"",
1207*20ae1402SLeo Wang			"leak_config_0",
1208*20ae1402SLeo Wang			"leak_config_1",
1209*20ae1402SLeo Wang			"leak_config_2",
1210*20ae1402SLeo Wang			"leak_config_3",
1211*20ae1402SLeo Wang			"mfg_led_test_mode_l",
1212*20ae1402SLeo Wang			"small_leak_err_inj",
1213*20ae1402SLeo Wang			"large_leak_err_inj",
1214*20ae1402SLeo Wang			"";
1215*20ae1402SLeo Wang	};
1216*20ae1402SLeo Wang};
1217*20ae1402SLeo Wang
1218*20ae1402SLeo Wang&i2c15 {
1219*20ae1402SLeo Wang	status = "okay";
1220*20ae1402SLeo Wang	multi-master;
1221*20ae1402SLeo Wang	mctp-controller;
1222*20ae1402SLeo Wang	mctp@10 {
1223*20ae1402SLeo Wang		compatible = "mctp-i2c-controller";
1224*20ae1402SLeo Wang		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
1225*20ae1402SLeo Wang	};
1226*20ae1402SLeo Wang
1227*20ae1402SLeo Wang	// OCP NIC1 TEMP
1228*20ae1402SLeo Wang	temperature-sensor@1f {
1229*20ae1402SLeo Wang		compatible = "ti,tmp421";
1230*20ae1402SLeo Wang		reg = <0x1f>;
1231*20ae1402SLeo Wang	};
1232*20ae1402SLeo Wang
1233*20ae1402SLeo Wang	// OCP NIC1 FRU EEPROM
1234*20ae1402SLeo Wang	eeprom@52 {
1235*20ae1402SLeo Wang		compatible = "atmel,24c64";
1236*20ae1402SLeo Wang		reg = <0x52>;
1237*20ae1402SLeo Wang	};
1238*20ae1402SLeo Wang};
1239*20ae1402SLeo Wang
1240*20ae1402SLeo Wang&mac2 {
1241*20ae1402SLeo Wang	status = "okay";
1242*20ae1402SLeo Wang	pinctrl-names = "default";
1243*20ae1402SLeo Wang	pinctrl-0 = <&pinctrl_ncsi3_default>;
1244*20ae1402SLeo Wang	use-ncsi;
1245*20ae1402SLeo Wang};
1246*20ae1402SLeo Wang
1247*20ae1402SLeo Wang&mac3 {
1248*20ae1402SLeo Wang	status = "okay";
1249*20ae1402SLeo Wang	pinctrl-names = "default";
1250*20ae1402SLeo Wang	pinctrl-0 = <&pinctrl_ncsi4_default>;
1251*20ae1402SLeo Wang	use-ncsi;
1252*20ae1402SLeo Wang};
1253*20ae1402SLeo Wang
1254*20ae1402SLeo Wang&udma {
1255*20ae1402SLeo Wang	status = "okay";
1256*20ae1402SLeo Wang};
1257*20ae1402SLeo Wang
1258*20ae1402SLeo Wang&uart1 {
1259*20ae1402SLeo Wang	status = "okay";
1260*20ae1402SLeo Wang};
1261*20ae1402SLeo Wang
1262*20ae1402SLeo Wang&uart3 {
1263*20ae1402SLeo Wang	status = "okay";
1264*20ae1402SLeo Wang};
1265*20ae1402SLeo Wang
1266*20ae1402SLeo Wang&uart4 {
1267*20ae1402SLeo Wang	status = "okay";
1268*20ae1402SLeo Wang};
1269*20ae1402SLeo Wang
1270*20ae1402SLeo Wang&uart5 {
1271*20ae1402SLeo Wang	status = "okay";
1272*20ae1402SLeo Wang};
1273*20ae1402SLeo Wang
1274*20ae1402SLeo Wang&wdt1 {
1275*20ae1402SLeo Wang	status = "okay";
1276*20ae1402SLeo Wang	pinctrl-names = "default";
1277*20ae1402SLeo Wang	pinctrl-0 = <&pinctrl_wdtrst1_default>;
1278*20ae1402SLeo Wang	aspeed,reset-type = "soc";
1279*20ae1402SLeo Wang	aspeed,external-signal;
1280*20ae1402SLeo Wang	aspeed,ext-push-pull;
1281*20ae1402SLeo Wang	aspeed,ext-active-high;
1282*20ae1402SLeo Wang	aspeed,ext-pulse-duration = <256>;
1283*20ae1402SLeo Wang};
1284