xref: /linux/scripts/dtc/include-prefixes/arm/aspeed/aspeed-bmc-facebook-rainiera6.dts (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1// SPDX-License-Identifier: GPL-2.0+
2// Copyright (c) 2026 Facebook Inc.
3
4/dts-v1/;
5#include "aspeed-g6.dtsi"
6#include <dt-bindings/gpio/aspeed-gpio.h>
7#include <dt-bindings/i2c/i2c.h>
8
9/ {
10	model = "Facebook Rainier BMC";
11	compatible = "facebook,rainiera6-bmc", "aspeed,ast2600";
12
13	aliases {
14		i2c16 = &i2c5mux0ch0;
15		i2c17 = &i2c5mux0ch1;
16		i2c18 = &i2c5mux1ch0;
17		i2c19 = &i2c5mux1ch1;
18		i2c20 = &i2c6mux0ch0;
19		i2c21 = &i2c6mux0ch1;
20		i2c22 = &i2c6mux0ch2;
21		i2c23 = &i2c6mux0ch3;
22		i2c24 = &i2c8mux0ch0;
23		i2c25 = &i2c8mux0ch1;
24		i2c26 = &i2c8mux0ch2;
25		i2c27 = &i2c8mux0ch3;
26		i2c28 = &i2c26mux0ch0;
27		i2c29 = &i2c26mux0ch1;
28		i2c30 = &i2c26mux0ch2;
29		i2c31 = &i2c26mux0ch3;
30		serial0 = &uart1;
31		serial2 = &uart3;
32		serial3 = &uart4;
33		serial4 = &uart5;
34	};
35
36	chosen {
37		stdout-path = "serial4:57600n8";
38	};
39
40	iio-hwmon {
41		compatible = "iio-hwmon";
42		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
43					  <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
44					  <&adc1 2>;
45	};
46
47	leds {
48		compatible = "gpio-leds";
49
50		led-0 {
51			label = "bmc_heartbeat_amber";
52			gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
53			linux,default-trigger = "heartbeat";
54		};
55
56		led-1 {
57			label = "fp_id_amber";
58			default-state = "off";
59			gpios = <&gpio0 ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
60		};
61
62		led-2 {
63			label = "power_fault_amber";
64			default-state = "off";
65			gpios = <&gpio0 ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
66		};
67	};
68
69	memory@80000000 {
70		device_type = "memory";
71		reg = <0x80000000 0x80000000>;
72	};
73
74	p1v8_adc_vref: regulator-p1v8-aux {
75		compatible = "regulator-fixed";
76		regulator-name = "p1v8_adc_vref";
77		regulator-min-microvolt = <1800000>;
78		regulator-max-microvolt = <1800000>;
79		regulator-always-on;
80	};
81
82	spi_gpio: spi {
83		compatible = "spi-gpio";
84		#address-cells = <1>;
85		#size-cells = <0>;
86
87		sck-gpios = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
88		mosi-gpios = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
89		miso-gpios = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
90		cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
91		num-chipselects = <1>;
92		status = "okay";
93
94		tpm@0 {
95			compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
96			spi-max-frequency = <33000000>;
97			reg = <0>;
98		};
99	};
100};
101
102&adc0 {
103	vref-supply = <&p1v8_adc_vref>;
104	pinctrl-names = "default";
105	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
106				 &pinctrl_adc2_default &pinctrl_adc3_default
107				 &pinctrl_adc4_default &pinctrl_adc5_default
108				 &pinctrl_adc6_default &pinctrl_adc7_default>;
109	status = "okay";
110};
111
112&adc1 {
113	aspeed,int-vref-microvolt = <2500000>;
114	pinctrl-names = "default";
115	pinctrl-0 = <&pinctrl_adc10_default>;
116	status = "okay";
117};
118
119&ehci0 {
120	status = "okay";
121};
122
123&ehci1 {
124	status = "okay";
125};
126
127&fmc {
128	status = "okay";
129
130	flash@0 {
131		status = "okay";
132		m25p,fast-read;
133		label = "bmc";
134		spi-max-frequency = <50000000>;
135#include "openbmc-flash-layout-128.dtsi"
136	};
137
138	flash@1 {
139		status = "okay";
140		m25p,fast-read;
141		label = "alt-bmc";
142		spi-max-frequency = <50000000>;
143	};
144};
145
146&gpio0 {
147	gpio-line-names =
148	/*A0-A7*/	"","","","","","","","",
149	/*B0-B7*/	"BATTERY_DETECT","","BMC_I2C1_FPGA_ALERT_L","BMC_READY_R",
150				"IOEXP_INT_3V3_L_R1","FM_ID_LED","","",
151	/*C0-C7*/	"BMC_GPIOC0","","","","PMBUS_REQ_N","PSU_FW_UPDATE_REQ_N","",
152				"BMC_I2C_SSIF_ALERT_L",
153	/*D0-D7*/	"","","","","BMC_GPIOD4","","","",
154	/*E0-E7*/	"BMC_GPIOE0","BMC_GPIOE1","","","","","","",
155	/*F0-F7*/	"","","","","","","","",
156	/*G0-G7*/	"FM_BMC_MUX1_SEL_R","","","","","","FM_DEBUG_PORT_PRSNT_R1_N",
157			"FM_BMC_DBP_PRESENT_R_N",
158	/*H0-H7*/	"","","","","","","","",
159	/*I0-I7*/	"","","","","","FLASH_WP_STATUS_R1","BMC_JTAG_MUX_SEL","",
160	/*J0-J7*/	"","","","","","","","",
161	/*K0-K7*/	"","","","","","","","",
162	/*L0-L7*/	"","","","","","","","",
163	/*M0-M7*/	"PCIE_EP_RST_EN","BMC_FRU_WP","SCM_HPM_STBY_RST_N",
164				"SCM_HPM_STBY_R_EN","STBY_POWER_PG_3V3_R","TH500_SHDN_OK_L","","",
165	/*N0-N7*/	"LED_POSTCODE_0","LED_POSTCODE_1","LED_POSTCODE_2",
166				"LED_POSTCODE_3","LED_POSTCODE_4","LED_POSTCODE_5",
167				"LED_POSTCODE_6","LED_POSTCODE_7",
168	/*O0-O7*/	"RUN_POWER_PG","PWR_BRAKE_L","CHASSIS_AC_LOSS_L",
169				"BSM_PRSNT_R_N","PSU_SMB_ALERT_L","FM_TPM_PRSNT_0_N",
170				"PSU_FW_UPDATING_N","DEBUG_CARD_BYPASS",
171	/*P0-P7*/	"PWR_BTN_BMC_R1_N","IPEX_CABLE_PRSNT_L","ID_RST_BTN_BMC_R_N",
172				"RST_BMC_RSTBTN_OUT_R_N","BMC_PWR_LED","RUN_POWER_EN",
173				"SHDN_FORCE_L","BMC_HEARTBEAT_N",
174	/*Q0-Q7*/	"IRQ_PCH_TPM_SPI_LV3_N","USB_OC0_REAR_R_N","UART_MUX_SEL",
175				"I2C_MUX_RESET_L","RSVD_NV_PLT_DETECT","SPI_TPM_INT_L",
176				"CPU_JTAG_MUX_SELECT","THERM_BB_OVERT_L",
177	/*R0-R7*/	"THERM_BB_WARN_L","SPI_BMC_FPGA_INT_L","CPU_BOOT_DONE",
178				"PMBUS_GNT_L","CHASSIS_PWR_BRK_L","PCIE_WAKE_L","PDB_THERM_OVERT_L",
179				"SHDN_REQ_L",
180	/*S0-S7*/	"","","SYS_BMC_PWRBTN_R_N","FM_TPM_PRSNT_1_N",
181				"FM_BMC_DEBUG_SW_N","UID_LED_N","SYS_FAULT_LED_N",
182				"RUN_POWER_FAULT_L",
183	/*T0-T7*/	"","","","","","","","",
184	/*U0-U7*/	"","","","","","","","",
185	/*V0-V7*/	"L2_RST_REQ_OUT_L","L0L1_RST_REQ_OUT_L","BMC_ID_BEEP_SEL_R1",
186				"BMC_I2C0_FPGA_ALERT_L","SMB_BMC_TMP_ALERT","PWR_LED_N",
187				"SYS_RST_OUT_L","IRQ_TPM_SPI_N",
188	/*W0-W7*/	"","","","","","","","",
189	/*X0-X7*/	"","FM_DBP_CPU_PREQ_GF_N_R1","","","","","","",
190	/*Y0-Y7*/	"","RST_BMC_SELF_HW_R1","FM_FLASH_LATCH_N_R1","",
191				"BMC_GPIOY4_R","BMC_GPIOY5_R","","",
192	/*Z0-Z7*/	"","","","","","","BMC_GPIOZ6_R","BMC_GPIOZ7_R";
193};
194
195&gpio1 {
196	gpio-line-names =
197	/*18A0-18A7*/	"","","","","","","","",
198	/*18B0-18B7*/	"","","","","FM_BOARD_BMC_REV_ID0","FM_BOARD_BMC_REV_ID1",
199			"FM_BOARD_BMC_REV_ID2","",
200	/*18C0-18C7*/	"","","SPI_BMC_BIOS_ROM_IRQ0_R_N","","","","","",
201	/*18D0-18D7*/	"","","","","","","","",
202	/*18E0-18E3*/	"FM_BMC_PROT_LS_EN","AC_PWR_BMC_BTN_R_N","","";
203};
204
205/* Rainiera6 SoC SSIF */
206&i2c1 {
207	status = "okay";
208
209	ssif_bmc: ssif-bmc@10 {
210		compatible = "ssif-bmc";
211		reg = <0x10>;
212		status = "okay";
213	};
214};
215
216/* MCIO 2A I2C */
217&i2c2 {
218	status = "okay";
219};
220
221&i2c4 {
222	multi-master;
223	mctp-controller;
224	clock-frequency = <400000>;
225	status = "okay";
226
227	mctp@10 {
228		compatible = "mctp-i2c-controller";
229		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
230	};
231
232	/* OCP NIC TEMP */
233	temperature-sensor@1f {
234		compatible = "ti,tmp421";
235		reg = <0x1f>;
236	};
237
238	/* OCP NIC FRU EEPROM */
239	eeprom@50 {
240		compatible = "atmel,24c64";
241		reg = <0x50>;
242	};
243};
244
245&i2c5 {
246	status = "okay";
247
248	gpio-expander@22 {
249		compatible = "nxp,pca9535";
250		reg = <0x22>;
251		gpio-controller;
252		#gpio-cells = <2>;
253		gpio-line-names =
254			"JTAG_BMC_IOEXP_MUX_OE", "JTAG_BMC_MCIO_MUX_S1",
255			"JTAG_BMC_MCIO_MUX_S0", "JTAG_IOEXP_BMC_MUX_SEL",
256			"FM_USB_MUX_1_OE_N", "FM_USB_MUX_2_OE_N",
257			"PROGRAMN_CPLD", "",
258			"", "",
259			"", "",
260			"", "",
261			"", "";
262	};
263
264	/* I2C MUX for MCIO 1A */
265	i2c-mux@70 {
266		compatible = "nxp,pca9546";
267		reg = <0x70>;
268		#address-cells = <1>;
269		#size-cells = <0>;
270		i2c-mux-idle-disconnect;
271
272		i2c5mux0ch0: i2c@0 {
273			reg = <0>;
274			#address-cells = <1>;
275			#size-cells = <0>;
276		};
277
278		i2c5mux0ch1: i2c@1 {
279			reg = <1>;
280			#address-cells = <1>;
281			#size-cells = <0>;
282		};
283	};
284
285	/* I2C MUX for MCIO 0A */
286	i2c-mux@77 {
287		compatible = "nxp,pca9546";
288		reg = <0x77>;
289		#address-cells = <1>;
290		#size-cells = <0>;
291		i2c-mux-idle-disconnect;
292
293		i2c5mux1ch0: i2c@0 {
294			reg = <0>;
295			#address-cells = <1>;
296			#size-cells = <0>;
297		};
298
299		i2c5mux1ch1: i2c@1 {
300			reg = <1>;
301			#address-cells = <1>;
302			#size-cells = <0>;
303		};
304	};
305};
306
307&i2c6 {
308	status = "okay";
309
310	/* I2C MUX for PWRPIC #13 ~ #16 */
311	i2c-mux@77 {
312		compatible = "nxp,pca9546";
313		reg = <0x77>;
314		#address-cells = <1>;
315		#size-cells = <0>;
316		i2c-mux-idle-disconnect;
317
318		/* PWRPIC #13 */
319		i2c6mux0ch0: i2c@0 {
320			reg = <0>;
321			#address-cells = <1>;
322			#size-cells = <0>;
323		};
324
325		/* PWRPIC #14 */
326		i2c6mux0ch1: i2c@1 {
327			reg = <1>;
328			#address-cells = <1>;
329			#size-cells = <0>;
330		};
331
332		/* PWRPIC #16 */
333		i2c6mux0ch2: i2c@2 {
334			reg = <2>;
335			#address-cells = <1>;
336			#size-cells = <0>;
337		};
338
339		/* PWRPIC #15 */
340		i2c6mux0ch3: i2c@3 {
341			reg = <3>;
342			#address-cells = <1>;
343			#size-cells = <0>;
344		};
345	};
346};
347
348&i2c7 {
349	multi-master;
350	status = "okay";
351
352	ipmb@10 {
353		compatible = "ipmb-dev";
354		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
355		i2c-protocol;
356	};
357};
358
359&i2c8 {
360	status = "okay";
361
362	power-monitor@14 {
363		compatible = "infineon,xdp710";
364		reg = <0x14>;
365	};
366
367	adc@1d {
368		compatible = "ti,adc128d818";
369		reg = <0x1d>;
370		ti,mode = /bits/ 8 <1>;
371	};
372
373	/* PDB IOEXP0 */
374	pdb_io_expander0: gpio-expander@24 {
375		compatible = "nxp,pca9555";
376		reg = <0x24>;
377		interrupt-parent = <&sgpiom0>;
378		interrupts = <92 IRQ_TYPE_LEVEL_LOW>;
379		interrupt-controller;
380		#interrupt-cells = <2>;
381		gpio-controller;
382		#gpio-cells = <2>;
383		gpio-line-names =
384			"FM_P52V_AUX_FLT_N","FM_P12V_AUX_ALERT_N",
385			"FM_SLOT1_HSC_FAULT","FM_SLOT2_HSC_FAULT",
386			"FM_SLOT3_HSC_FAULT","FM_SLOT4_HSC_FAULT",
387			"FM_SLOT5_HSC_FAULT","FM_SLOT6_HSC_FAULT",
388			"PRSNT_FAN0","PRSNT_FAN1",
389			"PRSNT_FAN2","PRSNT_FAN3",
390			"","",
391			"","INT_SLOT";
392	};
393
394	/* PDB IOEXP1 */
395	gpio-expander@25 {
396		compatible = "nxp,pca9555";
397		reg = <0x25>;
398		interrupt-parent = <&pdb_io_expander0>;
399		interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
400		gpio-controller;
401		#gpio-cells = <2>;
402		gpio-line-names =
403			"SLOT1_CM_UPDATE","SLOT2_CM_UPDATE",
404			"SLOT3_CM_UPDATE","SLOT4_CM_UPDATE",
405			"SLOT5_CM_UPDATE","SLOT6_CM_UPDATE",
406			"","",
407			"","",
408			"","",
409			"","",
410			"","";
411	};
412
413	power-sensor@40 {
414		compatible = "ti,ina238";
415		reg = <0x40>;
416		shunt-resistor = <1000>;
417	};
418
419	/* PADDLE BD IOEXP */
420	gpio-expander@41 {
421		compatible = "nxp,pca9536";
422		reg = <0x41>;
423		gpio-controller;
424		#gpio-cells = <2>;
425		gpio-line-names =
426			"HSC_OC_GPIO0", "HSC_OC_GPIO1",
427			"HSC_OC_GPIO2", "HSC_OC_GPIO3";
428	};
429
430	power-sensor@42 {
431		compatible = "ti,ina238";
432		reg = <0x42>;
433		shunt-resistor = <1000>;
434	};
435
436	power-monitor@43 {
437		compatible = "lltc,ltc4287";
438		reg = <0x43>;
439		shunt-resistor-micro-ohms = <100>;
440	};
441
442	power-sensor@44 {
443		compatible = "ti,ina238";
444		reg = <0x44>;
445		shunt-resistor = <1000>;
446	};
447
448	power-sensor@45 {
449		compatible = "ti,ina238";
450		reg = <0x45>;
451		shunt-resistor = <1000>;
452	};
453
454	power-monitor@46 {
455		compatible = "mps,mp5998";
456		reg = <0x46>;
457	};
458
459	power-monitor@47 {
460		compatible = "ti,tps25990";
461		reg = <0x47>;
462		ti,rimon-micro-ohms = <430000000>;
463	};
464
465	temperature-sensor@48 {
466		compatible = "ti,tmp75";
467		reg = <0x48>;
468	};
469
470	temperature-sensor@49 {
471		compatible = "ti,tmp75";
472		reg = <0x49>;
473	};
474
475	/* PDB FRU */
476	eeprom@56 {
477		compatible = "atmel,24c128";
478		reg = <0x56>;
479	};
480
481	/* Paddle BD FRU */
482	eeprom@57 {
483		compatible = "atmel,24c128";
484		reg = <0x57>;
485	};
486
487	power-monitor@58 {
488		compatible = "renesas,isl28022";
489		reg = <0x58>;
490		shunt-resistor-micro-ohms = <10000>;
491	};
492
493	power-monitor@59 {
494		compatible = "renesas,isl28022";
495		reg = <0x59>;
496		shunt-resistor-micro-ohms = <10000>;
497	};
498
499	power-monitor@5a {
500		compatible = "renesas,isl28022";
501		reg = <0x5a>;
502		shunt-resistor-micro-ohms = <10000>;
503	};
504
505	power-monitor@5b {
506		compatible = "renesas,isl28022";
507		reg = <0x5b>;
508		shunt-resistor-micro-ohms = <10000>;
509	};
510
511	psu@5c {
512		compatible = "renesas,raa228006";
513		reg = <0x5c>;
514	};
515
516	fan-controller@5e{
517		compatible = "maxim,max31790";
518		reg = <0x5e>;
519	};
520
521	/* I2C MUX for PWRPIC #1, #2, #11, #12 */
522	i2c-mux@77 {
523		compatible = "nxp,pca9546";
524		reg = <0x77>;
525		#address-cells = <1>;
526		#size-cells = <0>;
527		i2c-mux-idle-disconnect;
528
529		/* PWRPIC #1 */
530		i2c8mux0ch0: i2c@0 {
531			reg = <0>;
532			#address-cells = <1>;
533			#size-cells = <0>;
534		};
535
536		/* PWRPIC #2 */
537		i2c8mux0ch1: i2c@1 {
538			reg = <1>;
539			#address-cells = <1>;
540			#size-cells = <0>;
541		};
542
543		/* PWRPIC #12 (Connector to CXL BD) */
544		i2c8mux0ch2: i2c@2 {
545			reg = <2>;
546			#address-cells = <1>;
547			#size-cells = <0>;
548			i2c-mux@70 {
549				compatible = "nxp,pca9546";
550				reg = <0x70>;
551				#address-cells = <1>;
552				#size-cells = <0>;
553				i2c-mux-idle-disconnect;
554				i2c26mux0ch0: i2c@0 {
555					reg = <0>;
556					#address-cells = <1>;
557					#size-cells = <0>;
558				};
559				i2c26mux0ch1: i2c@1 {
560					reg = <1>;
561					#address-cells = <1>;
562					#size-cells = <0>;
563				};
564				i2c26mux0ch2: i2c@2 {
565					reg = <2>;
566					#address-cells = <1>;
567					#size-cells = <0>;
568					/* CXL FRU */
569					eeprom@50 {
570						compatible = "atmel,24c64";
571						reg = <0x50>;
572					};
573				};
574				i2c26mux0ch3: i2c@3 {
575					reg = <3>;
576					#address-cells = <1>;
577					#size-cells = <0>;
578				};
579			};
580		};
581
582		/* PWRPIC #11 */
583		i2c8mux0ch3: i2c@3 {
584			reg = <3>;
585			#address-cells = <1>;
586			#size-cells = <0>;
587		};
588	};
589};
590
591&i2c9 {
592	status = "okay";
593
594	temperature-sensor@4b {
595		compatible = "ti,tmp75";
596		reg = <0x4b>;
597	};
598
599	/* SCM FRU */
600	eeprom@51 {
601		compatible = "atmel,24c128";
602		reg = <0x51>;
603	};
604
605	/* BSM FRU */
606	eeprom@56 {
607		compatible = "atmel,24c64";
608		reg = <0x56>;
609	};
610};
611
612/* MCIO 0A I2C */
613&i2c10 {
614	status = "okay";
615};
616
617&i2c11 {
618	status = "okay";
619
620	/* I2C11_IOEXP_3 */
621	gpio-expander@20 {
622		compatible = "nxp,pca9535";
623		reg = <0x20>;
624		gpio-controller;
625		#gpio-cells = <2>;
626		gpio-line-names =
627			"IRQ_INA230_FAN0_ALERT_N_CPLD", "IRQ_INA230_FAN1_ALERT_N_CPLD",
628			"IRQ_INA230_FAN2_ALERT_N_CPLD", "IRQ_INA230_FAN3_ALERT_N_CPLD",
629			"IRQ_INA230_P12V_DIMM_0_ALERT_N", "IRQ_INA230_P12V_DIMM_1_ALERT_N",
630			"IRQ_P3V3_E1S_0_FLT_N", "P12V_E1S_0_FAULT_R_N",
631			"IRQ_P3V3_E1S_1_FLT_N", "P12V_E1S_1_FAULT_R_N",
632			"IRQ_P3V3_NIC_FLT_N", "P12V_NIC_FAULT_R_N",
633			"SMB_SENSOR_ALERT_N", "FW_CPLD_RST_RTC_RST_R1",
634			"RTC_CLR", "RTC_U11_ALRT_N";
635	};
636
637	/* I2C11_IOEXP_2 */
638	gpio-expander@21 {
639		compatible = "nxp,pca9535";
640		reg = <0x21>;
641		gpio-controller;
642		#gpio-cells = <2>;
643		gpio-line-names =
644			"FAN_0_PRESENT_CPLD", "FAN_1_PRESENT_CPLD",
645			"FAN_2_PRESENT_CPLD", "FAN_3_PRESENT_CPLD",
646			"FAN_FAIL_L_CPLD", "FULL_SPEED_N_R_CPLD",
647			"P12V_FAN0_PWRGD_CPLD", "P12V_FAN1_PWRGD_CPLD",
648			"P12V_FAN2_PWRGD_CPLD", "P12V_FAN3_PWRGD_CPLD",
649			"FM_P12V_FAN0_FLTB_N_CPLD", "FM_P12V_FAN1_FLTB_N_CPLD",
650			"FM_P12V_FAN2_FLTB_N_CPLD", "FM_P12V_FAN3_FLTB_N_CPLD",
651			"P12V_FAN_EN_R_CPLD", "";
652	};
653
654	/* I2C11_IOEXP_1 */
655	gpio-expander@27 {
656		compatible = "nxp,pca9535";
657		reg = <0x27>;
658		gpio-controller;
659		#gpio-cells = <2>;
660		gpio-line-names =
661			"PWRGD_P12V_SCM", "PWRGD_P5V_STBY",
662			"PWRGD_P3V3_STBY", "PWRGD_P1V8_STBY",
663			"PWRGD_P1V2_STBY", "PWRGD_P1V1_STBY",
664			"PWRGD_P1V0_STBY", "",
665			"", "",
666			"", "",
667			"", "",
668			"", "";
669	};
670
671	power-sensor@40 {
672		compatible = "ti,ina230";
673		reg = <0x40>;
674		shunt-resistor = <1000>;
675	};
676
677	power-sensor@41 {
678		compatible = "ti,ina230";
679		reg = <0x41>;
680		shunt-resistor = <1000>;
681	};
682
683	power-sensor@42 {
684		compatible = "ti,ina230";
685		reg = <0x42>;
686		shunt-resistor = <2000>;
687	};
688
689	power-sensor@43 {
690		compatible = "ti,ina230";
691		reg = <0x43>;
692		shunt-resistor = <2000>;
693	};
694
695	power-sensor@44 {
696		compatible = "ti,ina230";
697		reg = <0x44>;
698		shunt-resistor = <2000>;
699	};
700
701	power-sensor@45 {
702		compatible = "ti,ina230";
703		reg = <0x45>;
704		shunt-resistor = <2000>;
705	};
706
707	adc@49 {
708		compatible = "ti,ads7830";
709		reg = <0x49>;
710	};
711
712	adc@4a {
713		compatible = "ti,ads7830";
714		reg = <0x4a>;
715	};
716
717	adc@4b {
718		compatible = "ti,ads7830";
719		reg = <0x4b>;
720	};
721	rtc@6f {
722		compatible = "nuvoton,nct3018y";
723		reg = <0x6f>;
724		status = "okay";
725	};
726};
727
728/* MCIO 4A I2C */
729&i2c12 {
730	multi-master;
731	mctp-controller;
732	clock-frequency = <400000>;
733	status = "okay";
734
735	mctp@10 {
736		compatible = "mctp-i2c-controller";
737		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
738	};
739};
740
741&i2c13 {
742	status = "okay";
743
744	fan-controller@20 {
745		compatible = "maxim,max31790";
746		reg = <0x20>;
747	};
748
749	power-sensor@40 {
750		compatible = "ti,ina230";
751		reg = <0x40>;
752		shunt-resistor = <2000>;
753	};
754
755	power-sensor@41 {
756		compatible = "ti,ina230";
757		reg = <0x41>;
758		shunt-resistor = <2000>;
759	};
760
761	power-sensor@44 {
762		compatible = "ti,ina230";
763		reg = <0x44>;
764		shunt-resistor = <2000>;
765	};
766
767	power-sensor@45 {
768		compatible = "ti,ina230";
769		reg = <0x45>;
770		shunt-resistor = <2000>;
771	};
772
773	temperature-sensor@48 {
774		compatible = "national,lm75b";
775		reg = <0x48>;
776	};
777
778	temperature-sensor@49 {
779		compatible = "national,lm75b";
780		reg = <0x49>;
781	};
782
783	/* MB FRU */
784	eeprom@51 {
785		compatible = "atmel,24c128";
786		reg = <0x51>;
787	};
788};
789
790/* PROT reserve */
791&i2c14 {
792	status = "okay";
793};
794
795/* MCIO 3A I2C */
796&i2c15 {
797	status = "okay";
798};
799
800&mac2 {
801	pinctrl-names = "default";
802	pinctrl-0 = <&pinctrl_ncsi3_default>;
803	use-ncsi;
804	status = "okay";
805};
806
807&pinctrl {
808	pinctrl_ncsi3_default: ncsi3_default {
809		function = "RMII3";
810		groups = "NCSI3";
811	};
812};
813
814&sgpiom0 {
815	status = "okay";
816	ngpios = <128>;
817	bus-frequency = <2000000>;
818	gpio-line-names =
819	/*"input pin","output pin"*/
820	"SOC_ERROR_N_CPLD","RST_SOC_SRST_N_CPLD",
821	"SOC_ELASTOPCLK_N","SOC_BMC_READY_CPLD",
822	"SOC_LINKSTOP_N","wIBB_BMC_SRST_OUT",
823	"SOC_POST_COMPLETE_CPLD","I3C_MUX_SEL_DIMM_C0_024",
824	"SOC_RESETREQ","I3C_MUX_SEL_DIMM_C0_135",
825	"SOC_SYS_PWRDN_CPLD","I3C_MUX_SEL_DIMM_C1_024",
826	"SOC_PORQ","I3C_MUX_SEL_DIMM_C1_135",
827	"SOC_HOT_N_CPLD","BOOT_PWRDIS_CPLD",
828	// IOB0-IOB7 bit8-15
829	"PWRGD_V1P8_CPU","HDD0_PERST_N_CPLD",
830	"PWRGD_V1P26_CPLD","HDD1_PERST_N_CPLD",
831	"PWRGD_V1P2","MCIO_1A_PWRDIS_R",
832	"","",
833	"FM_CONFIG_ID","P3V_BAT_SCALED_EN",
834	"wALL_POWER_OK","PERST_CEM0_N_CPLD",
835	"wANDGATE_ALL_POWER_GD","PERST_CEM1_N_CPLD",
836	"wAC_CYCLE_12V","PERST_PLD_TUSB7340_N",
837	// IOC0-IOC7 bit16-23
838	"wAC_CYCLE_54V","FM_USB_MUX_SEL_CPLD",
839	"FM_PLD_CLKS_DEV_EN","SMB_BOOT_RST_N_CPLD",
840	"PWRGD_P1V2_STBY","SMB_MCIO_0A_RST_R_N",
841	"wIBB_BMC_SRST","RST_SMB_NIC_R_N",
842	"PWRGD_P12V_E1S_0","FM_PPS_NIC_IN_BUF_OE_N_R",
843	"PWRGD_P12V_E1S_1","FM_BUF_PPS_NIC_IN_EN_CPLD",
844	"","FM_NIC_PPS_IN_OE_CPLD",
845	"PWRGD_P12V_NIC","FM_PPS_NIC_IN_S0_CPLD",
846	// IOD0-IOD7 bit24-31
847	"wALL_POWER_OK_1","FM_NIC_PPS_IN_S1",
848	"wALL_POWER_OK_2","FM_PPS_NIC_OUT_CPU_OE_N",
849	"PWRGD_EAST_DIMM_CPLD","",
850	"PWRGD_WEST_DIMM_CPLD","FM_BUF_PPS_NIC_OUT_EN_CPLD",
851	"PWRGD_NIC_CPLD","",
852	"","PMBUS_MUX_SEL_C0",
853	"PHOENIX_PWRBTN_N_CPLD","PMBUS_MUX_SEL_C1",
854	"IRQ_INA230_E1S_0_ALERT_N","",
855	// IOE0-IOE7 bit32-39
856	"IRQ_INA230_E1S_1_ALERT_N","PWR_ON_RST_TUSB7340_CPLD",
857	"","RST_PCIE_BOOT_PERST_N_CPLD",
858	"FM_NIC_WAKE_N_CPLD","RST_PCIE_CPLD_NIC_N_CPLD",
859	"FM_TPM_CONN_PRSNT_N","RST_PCIE_MCIO_0A_PERST_N_CPLD",
860	"HDD0_PRSNT_N_CPLD","RST_PCIE_MCIO_0B_PERST_N_CPLD",
861	"IRQ_INA230_P12V_NIC_ALERT_N","RST_PCIE_MCIO_1A_PERST_N_CPLD",
862	"IRQ_INA230_P12V_SCM_ALERT_N","RST_PCIE_MCIO_1A_SA_PERST_N_CPL",
863	"IRQ_PMBUS_ALERT_PWR11_R_N","RST_PCIE_MCIO_1B_PERST_N_CPLD",
864	// IOF0-IOF7 bit40-47
865	"CHASSIS_LEAK_2A_R_N","RST_PCIE_MCIO_2A_PERST_N_CPLD",
866	"CHASSIS_LEAK_3A_R_N","RST_PCIE_MCIO_2B_PERST_N_CPLD",
867	"CHASSIS_LEAK_4A_R_N","RST_PCIE_MCIO_3A_PERST_N_CPLD",
868	"OC_ALERT_PADDLE_R_N","RST_PCIE_MCIO_3B_PERST_N_CPLD",
869	"OC_ALERT_PWR2_R_N","RST_PCIE_MCIO_4A_PERST_N_CPLD",
870	"OC_ALERT_PWR11_R_N","RST_PCIE_MCIO_4B_PERST_N_CPLD",
871	"FM_IOE_ALT_N","RST_PERST1_N_CPLD",
872	"LEAK_DETECT_1_PWR14_R_N","RST_PERST2_N_CPLD",
873	// IOG0-IOG7 bit48-55
874	"LEAK_DETECT_2_PWR14_R_N","RST_PERST3_N_CPLD",
875	"LEAK_DETECT_1_PWR15_R_N","RST_SMB_MUX_MCIO_0A_R_N",
876	"LEAK_DETECT_2_PWR15_R_N","RST_SMB_MUX_MCIO_1A_R_N",
877	"MCIO_0A_SMB_ALERT_N","RST_SOC_EXTWARMRESET_CPLD",
878	"MCIO_1A_SMB_ALERT_N","RST_SOC_PORESET_N_BMC",
879	"MCIO_2A_SMB_ALERT_N","RST_USB_HUB_R_N",
880	"MCIO_2B_SMB_ALERT_N","SMB_MM7_MUX_RESET_N",
881	"MCIO_3A_SMB_ALERT_N","SMB_MUX_RESET_N_CPLD",
882	// IOH0-IOH7 bit56-63
883	"MCIO_3B_SMB_ALERT_N","SOC_I2C_0_ALERT_CPLD",
884	"MCIO_4A_SMB_ALERT_N","SOC_LINKSTOP_OUT_N",
885	"MCIO_4B_SMB_ALERT_N","SPI_TPM_RST_R_N",
886	"MCIO_1A_THERMTRIP_N","",
887	"MCIO_2A_THERMTRIP_N","",
888	"MCIO_3A_THERMTRIP_N","",
889	"MCIO_4A_THERMTRIP_N_CPLD","",
890	"UV_ALERT_PADDLE_R_N","wFM_USB_MUX_OE_N",
891	// IOI0-IOI7 bit64-71
892	"UV_ALERT_PWR2_R_N","wFM_USB_MUX_SEL",
893	"UV_ALERT_PWR11_R_N","",
894	"SOC_PMBUS_0_ALERT_R_CPLD","FM_BIOS_DEBUG_MODE_N",
895	"HDD1_PRSNT_N_CPLD","",
896	"","",
897	"SOC_DRAM_0_HOT_N_CPLD","",
898	"SOC_DRAM_1_HOT_N_CPLD","RST_PLTRST_PLD_B_N",
899	"SOC_DRAM_2_HOT_N_CPLD","FM_TPM_MUX6_SEL",
900	// IOJ0-IOJ7 bit72-79
901	"SOC_DRAM_3_HOT_N_CPLD","CPLD_MUX6_EN_N",
902	"IRQ_P3V3_NIC_FLT_MOS_N_CPLD","",
903	"VRHOT_V0P75_PCIE_VDDQ_N","",
904	"P12V_SCM_FAULT_R_N","",
905	"SOC_I2C_1_ALERT_CPLD","",
906	"","",
907	"SOC_PLATHOT_N_CPLD","",
908	"SOC_THRMTRIP_N_CPLD","",
909	// IOK0-IOK7 bit80-87
910	"VRHOT_VCPUC1_VCPUMC1_N","",
911	"VRHOT_VSYSC0_VSOCC0_N","",
912	"VRHOT_VSYSC1_VSOCC1_N","",
913	"VRHOT_VCPUC0_VCPUMC0_N","",
914	"","",
915	"INT_IOEXP_N","",
916	"RSVD_IOEXP_0A_SB1_R","",
917	"RSVD_IOEXP_0A_SB2_R","",
918	// IOL0-IOL7 bit88-95
919	"IRQ_PMBUS_PWR2_ALERT_R_N","",
920	"FM_BORD_REV_ID0","",
921	"FM_BORD_REV_ID1","",
922	"FM_BORD_REV_ID2","",
923	"FM_VR_TYPE_0","",
924	"FM_VR_TYPE_1","",
925	"","",
926	"MCIO_0B_SMB_ALERT_N","",
927	// IOM0-IOM7 bit96-103
928	"MCIO_1B_SMB_ALERT_N","",
929	"PRSNT_BOOT_N","",
930	"PRSNT_MCIO_1A_N","",
931	"wPRSNT_NIC_N","",
932	"","",
933	"SOC_TEST_MODE0","",
934	"PWRGD_V0P75_PCIE","",
935	"PWRGD_VDDQ","",
936	// ION0-ION7 bit104-111
937	"PWRGD_VCPUC0","",
938	"PWRGD_VCPUMC0","",
939	"PWRGD_VCPUMC1","",
940	"PWRGD_VCPUC1","",
941	"PWRGD_VSYSC0","",
942	"PWRGD_VSOCC0","",
943	"PWRGD_VSYSC1","",
944	"PWRGD_VSOCC1","",
945	// IOO0-IOO7 bit112-119
946	"SOC_PMBUS_1_ALERT_R_CPLD","",
947	"SOC_GPIO_15","",
948	"C0_POSTCODE_0_CPLD","",
949	"C0_POSTCODE_1_CPLD","",
950	"C0_POSTCODE_2_CPLD","",
951	"C0_POSTCODE_3_CPLD","",
952	"C0_POSTCODE_4_CPLD","",
953	"C1_POSTCODE_0_CPLD","",
954	// IOP0-IOP7 bit 120-127
955	"C1_POSTCODE_1_CPLD","",
956	"C1_POSTCODE_2_CPLD","",
957	"C1_POSTCODE_3_CPLD","",
958	"C1_POSTCODE_4_CPLD","",
959	"","",
960	"SOC_GPIO_17","",
961	"SOC_GPIO_18","",
962	"SOC_GPIO_37","";
963};
964
965/* BIOS Flash */
966&spi2 {
967	pinctrl-names = "default";
968	pinctrl-0 = <&pinctrl_spi2_default>;
969	status = "okay";
970
971	flash@0 {
972		m25p,fast-read;
973		label = "pnor";
974		spi-max-frequency = <12000000>;
975		spi-tx-bus-width = <2>;
976		spi-rx-bus-width = <2>;
977		status = "okay";
978	};
979};
980
981&uart1 {
982	status = "okay";
983};
984
985&uart2 {
986	status = "okay";
987};
988
989/* SOL */
990&uart3 {
991	status = "okay";
992};
993
994&uart4 {
995	status = "okay";
996};
997
998/* BMC Console */
999&uart5 {
1000	status = "okay";
1001};
1002
1003&wdt1 {
1004	pinctrl-names = "default";
1005	pinctrl-0 = <&pinctrl_wdtrst1_default>;
1006	aspeed,reset-type = "soc";
1007	aspeed,external-signal;
1008	aspeed,ext-push-pull;
1009	aspeed,ext-active-high;
1010	aspeed,ext-pulse-duration = <256>;
1011	status = "okay";
1012};
1013