xref: /freebsd/sys/contrib/device-tree/src/arm/aspeed/aspeed-bmc-asrock-e3c256d4i.dts (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1*7d0873ebSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*7d0873ebSEmmanuel Vadot/dts-v1/;
3*7d0873ebSEmmanuel Vadot
4*7d0873ebSEmmanuel Vadot#include "aspeed-g5.dtsi"
5*7d0873ebSEmmanuel Vadot#include <dt-bindings/gpio/aspeed-gpio.h>
6*7d0873ebSEmmanuel Vadot#include <dt-bindings/i2c/i2c.h>
7*7d0873ebSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
8*7d0873ebSEmmanuel Vadot#include <dt-bindings/leds/common.h>
9*7d0873ebSEmmanuel Vadot#include <dt-bindings/watchdog/aspeed-wdt.h>
10*7d0873ebSEmmanuel Vadot
11*7d0873ebSEmmanuel Vadot/{
12*7d0873ebSEmmanuel Vadot	model = "ASRock E3C256D4I BMC";
13*7d0873ebSEmmanuel Vadot	compatible = "asrock,e3c256d4i-bmc", "aspeed,ast2500";
14*7d0873ebSEmmanuel Vadot
15*7d0873ebSEmmanuel Vadot	aliases {
16*7d0873ebSEmmanuel Vadot		serial4 = &uart5;
17*7d0873ebSEmmanuel Vadot
18*7d0873ebSEmmanuel Vadot		i2c20 = &i2c2mux0ch0;
19*7d0873ebSEmmanuel Vadot		i2c21 = &i2c2mux0ch1;
20*7d0873ebSEmmanuel Vadot		i2c22 = &i2c2mux0ch2;
21*7d0873ebSEmmanuel Vadot		i2c23 = &i2c2mux0ch3;
22*7d0873ebSEmmanuel Vadot	};
23*7d0873ebSEmmanuel Vadot
24*7d0873ebSEmmanuel Vadot	chosen {
25*7d0873ebSEmmanuel Vadot		stdout-path = &uart5;
26*7d0873ebSEmmanuel Vadot	};
27*7d0873ebSEmmanuel Vadot
28*7d0873ebSEmmanuel Vadot	memory@80000000 {
29*7d0873ebSEmmanuel Vadot		reg = <0x80000000 0x20000000>;
30*7d0873ebSEmmanuel Vadot	};
31*7d0873ebSEmmanuel Vadot
32*7d0873ebSEmmanuel Vadot	leds {
33*7d0873ebSEmmanuel Vadot		compatible = "gpio-leds";
34*7d0873ebSEmmanuel Vadot
35*7d0873ebSEmmanuel Vadot		/* BMC heartbeat */
36*7d0873ebSEmmanuel Vadot		led-0 {
37*7d0873ebSEmmanuel Vadot			gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
38*7d0873ebSEmmanuel Vadot			function = LED_FUNCTION_HEARTBEAT;
39*7d0873ebSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
40*7d0873ebSEmmanuel Vadot			linux,default-trigger = "timer";
41*7d0873ebSEmmanuel Vadot		};
42*7d0873ebSEmmanuel Vadot
43*7d0873ebSEmmanuel Vadot		/* system fault */
44*7d0873ebSEmmanuel Vadot		led-1 {
45*7d0873ebSEmmanuel Vadot			gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>;
46*7d0873ebSEmmanuel Vadot			function = LED_FUNCTION_FAULT;
47*7d0873ebSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
48*7d0873ebSEmmanuel Vadot			panic-indicator;
49*7d0873ebSEmmanuel Vadot		};
50*7d0873ebSEmmanuel Vadot	};
51*7d0873ebSEmmanuel Vadot
52*7d0873ebSEmmanuel Vadot	iio-hwmon {
53*7d0873ebSEmmanuel Vadot		compatible = "iio-hwmon";
54*7d0873ebSEmmanuel Vadot		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
55*7d0873ebSEmmanuel Vadot			<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
56*7d0873ebSEmmanuel Vadot			<&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
57*7d0873ebSEmmanuel Vadot			<&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>;
58*7d0873ebSEmmanuel Vadot	};
59*7d0873ebSEmmanuel Vadot};
60*7d0873ebSEmmanuel Vadot
61*7d0873ebSEmmanuel Vadot&fmc {
62*7d0873ebSEmmanuel Vadot	status = "okay";
63*7d0873ebSEmmanuel Vadot	flash@0 {
64*7d0873ebSEmmanuel Vadot		status = "okay";
65*7d0873ebSEmmanuel Vadot		m25p,fast-read;
66*7d0873ebSEmmanuel Vadot		label = "bmc";
67*7d0873ebSEmmanuel Vadot		spi-max-frequency = <100000000>; /* 100 MHz */
68*7d0873ebSEmmanuel Vadot#include "openbmc-flash-layout-64.dtsi"
69*7d0873ebSEmmanuel Vadot	};
70*7d0873ebSEmmanuel Vadot};
71*7d0873ebSEmmanuel Vadot
72*7d0873ebSEmmanuel Vadot&uart1 {
73*7d0873ebSEmmanuel Vadot	status = "okay";
74*7d0873ebSEmmanuel Vadot};
75*7d0873ebSEmmanuel Vadot
76*7d0873ebSEmmanuel Vadot&uart2 {
77*7d0873ebSEmmanuel Vadot	status = "okay";
78*7d0873ebSEmmanuel Vadot};
79*7d0873ebSEmmanuel Vadot
80*7d0873ebSEmmanuel Vadot&uart3 {
81*7d0873ebSEmmanuel Vadot	status = "okay";
82*7d0873ebSEmmanuel Vadot};
83*7d0873ebSEmmanuel Vadot
84*7d0873ebSEmmanuel Vadot&uart4 {
85*7d0873ebSEmmanuel Vadot	status = "okay";
86*7d0873ebSEmmanuel Vadot};
87*7d0873ebSEmmanuel Vadot
88*7d0873ebSEmmanuel Vadot&uart5 {
89*7d0873ebSEmmanuel Vadot	status = "okay";
90*7d0873ebSEmmanuel Vadot};
91*7d0873ebSEmmanuel Vadot
92*7d0873ebSEmmanuel Vadot&uart_routing {
93*7d0873ebSEmmanuel Vadot	status = "okay";
94*7d0873ebSEmmanuel Vadot};
95*7d0873ebSEmmanuel Vadot
96*7d0873ebSEmmanuel Vadot&mac0 {
97*7d0873ebSEmmanuel Vadot	status = "okay";
98*7d0873ebSEmmanuel Vadot
99*7d0873ebSEmmanuel Vadot	pinctrl-names = "default";
100*7d0873ebSEmmanuel Vadot	pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
101*7d0873ebSEmmanuel Vadot
102*7d0873ebSEmmanuel Vadot	nvmem-cells = <&eth0_macaddress>;
103*7d0873ebSEmmanuel Vadot	nvmem-cell-names = "mac-address";
104*7d0873ebSEmmanuel Vadot};
105*7d0873ebSEmmanuel Vadot
106*7d0873ebSEmmanuel Vadot&i2c0 {
107*7d0873ebSEmmanuel Vadot	status = "okay";
108*7d0873ebSEmmanuel Vadot};
109*7d0873ebSEmmanuel Vadot
110*7d0873ebSEmmanuel Vadot&i2c1 {
111*7d0873ebSEmmanuel Vadot	status = "okay";
112*7d0873ebSEmmanuel Vadot};
113*7d0873ebSEmmanuel Vadot
114*7d0873ebSEmmanuel Vadot&i2c2 {
115*7d0873ebSEmmanuel Vadot	status = "okay";
116*7d0873ebSEmmanuel Vadot
117*7d0873ebSEmmanuel Vadot	i2c-mux@70 {
118*7d0873ebSEmmanuel Vadot		compatible = "nxp,pca9545";
119*7d0873ebSEmmanuel Vadot		reg = <0x70>;
120*7d0873ebSEmmanuel Vadot		#address-cells = <1>;
121*7d0873ebSEmmanuel Vadot		#size-cells = <0>;
122*7d0873ebSEmmanuel Vadot
123*7d0873ebSEmmanuel Vadot		i2c2mux0ch0: i2c@0 {
124*7d0873ebSEmmanuel Vadot			#address-cells = <1>;
125*7d0873ebSEmmanuel Vadot			#size-cells = <0>;
126*7d0873ebSEmmanuel Vadot			reg = <0>;
127*7d0873ebSEmmanuel Vadot		};
128*7d0873ebSEmmanuel Vadot
129*7d0873ebSEmmanuel Vadot		i2c2mux0ch1: i2c@1 {
130*7d0873ebSEmmanuel Vadot			#address-cells = <1>;
131*7d0873ebSEmmanuel Vadot			#size-cells = <0>;
132*7d0873ebSEmmanuel Vadot			reg = <1>;
133*7d0873ebSEmmanuel Vadot		};
134*7d0873ebSEmmanuel Vadot
135*7d0873ebSEmmanuel Vadot		i2c2mux0ch2: i2c@2 {
136*7d0873ebSEmmanuel Vadot			#address-cells = <1>;
137*7d0873ebSEmmanuel Vadot			#size-cells = <0>;
138*7d0873ebSEmmanuel Vadot			reg = <2>;
139*7d0873ebSEmmanuel Vadot		};
140*7d0873ebSEmmanuel Vadot
141*7d0873ebSEmmanuel Vadot		i2c2mux0ch3: i2c@3 {
142*7d0873ebSEmmanuel Vadot			#address-cells = <1>;
143*7d0873ebSEmmanuel Vadot			#size-cells = <0>;
144*7d0873ebSEmmanuel Vadot			reg = <3>;
145*7d0873ebSEmmanuel Vadot		};
146*7d0873ebSEmmanuel Vadot	};
147*7d0873ebSEmmanuel Vadot};
148*7d0873ebSEmmanuel Vadot
149*7d0873ebSEmmanuel Vadot&i2c3 {
150*7d0873ebSEmmanuel Vadot	status = "okay";
151*7d0873ebSEmmanuel Vadot};
152*7d0873ebSEmmanuel Vadot
153*7d0873ebSEmmanuel Vadot&i2c4 {
154*7d0873ebSEmmanuel Vadot	status = "okay";
155*7d0873ebSEmmanuel Vadot};
156*7d0873ebSEmmanuel Vadot
157*7d0873ebSEmmanuel Vadot&i2c5 {
158*7d0873ebSEmmanuel Vadot	status = "okay";
159*7d0873ebSEmmanuel Vadot};
160*7d0873ebSEmmanuel Vadot
161*7d0873ebSEmmanuel Vadot&i2c6 {
162*7d0873ebSEmmanuel Vadot	status = "okay";
163*7d0873ebSEmmanuel Vadot};
164*7d0873ebSEmmanuel Vadot
165*7d0873ebSEmmanuel Vadot&i2c7 {
166*7d0873ebSEmmanuel Vadot	status = "okay";
167*7d0873ebSEmmanuel Vadot};
168*7d0873ebSEmmanuel Vadot
169*7d0873ebSEmmanuel Vadot&i2c9 {
170*7d0873ebSEmmanuel Vadot	status = "okay";
171*7d0873ebSEmmanuel Vadot};
172*7d0873ebSEmmanuel Vadot
173*7d0873ebSEmmanuel Vadot&i2c10 {
174*7d0873ebSEmmanuel Vadot	status = "okay";
175*7d0873ebSEmmanuel Vadot};
176*7d0873ebSEmmanuel Vadot
177*7d0873ebSEmmanuel Vadot&i2c11 {
178*7d0873ebSEmmanuel Vadot	status = "okay";
179*7d0873ebSEmmanuel Vadot
180*7d0873ebSEmmanuel Vadot	vrm@60 {
181*7d0873ebSEmmanuel Vadot		compatible = "isil,isl69269";
182*7d0873ebSEmmanuel Vadot		reg = <0x60>;
183*7d0873ebSEmmanuel Vadot	};
184*7d0873ebSEmmanuel Vadot};
185*7d0873ebSEmmanuel Vadot
186*7d0873ebSEmmanuel Vadot&i2c12 {
187*7d0873ebSEmmanuel Vadot	status = "okay";
188*7d0873ebSEmmanuel Vadot
189*7d0873ebSEmmanuel Vadot	/* FRU eeprom */
190*7d0873ebSEmmanuel Vadot	eeprom@57 {
191*7d0873ebSEmmanuel Vadot		compatible = "st,24c128", "atmel,24c128";
192*7d0873ebSEmmanuel Vadot		reg = <0x57>;
193*7d0873ebSEmmanuel Vadot		pagesize = <16>;
194*7d0873ebSEmmanuel Vadot		#address-cells = <1>;
195*7d0873ebSEmmanuel Vadot		#size-cells = <1>;
196*7d0873ebSEmmanuel Vadot
197*7d0873ebSEmmanuel Vadot		eth0_macaddress: macaddress@3f80 {
198*7d0873ebSEmmanuel Vadot			reg = <0x3f80 6>;
199*7d0873ebSEmmanuel Vadot		};
200*7d0873ebSEmmanuel Vadot	};
201*7d0873ebSEmmanuel Vadot};
202*7d0873ebSEmmanuel Vadot
203*7d0873ebSEmmanuel Vadot&video {
204*7d0873ebSEmmanuel Vadot	status = "okay";
205*7d0873ebSEmmanuel Vadot};
206*7d0873ebSEmmanuel Vadot
207*7d0873ebSEmmanuel Vadot&vhub {
208*7d0873ebSEmmanuel Vadot	status = "okay";
209*7d0873ebSEmmanuel Vadot};
210*7d0873ebSEmmanuel Vadot
211*7d0873ebSEmmanuel Vadot&lpc_ctrl {
212*7d0873ebSEmmanuel Vadot	status = "okay";
213*7d0873ebSEmmanuel Vadot};
214*7d0873ebSEmmanuel Vadot
215*7d0873ebSEmmanuel Vadot&lpc_snoop {
216*7d0873ebSEmmanuel Vadot	status = "okay";
217*7d0873ebSEmmanuel Vadot	snoop-ports = <0x80>;
218*7d0873ebSEmmanuel Vadot};
219*7d0873ebSEmmanuel Vadot
220*7d0873ebSEmmanuel Vadot&kcs3 {
221*7d0873ebSEmmanuel Vadot	status = "okay";
222*7d0873ebSEmmanuel Vadot	aspeed,lpc-io-reg = <0xca2>;
223*7d0873ebSEmmanuel Vadot};
224*7d0873ebSEmmanuel Vadot
225*7d0873ebSEmmanuel Vadot&peci0 {
226*7d0873ebSEmmanuel Vadot	status = "okay";
227*7d0873ebSEmmanuel Vadot};
228*7d0873ebSEmmanuel Vadot
229*7d0873ebSEmmanuel Vadot&wdt1 {
230*7d0873ebSEmmanuel Vadot	aspeed,reset-mask = <(AST2500_WDT_RESET_DEFAULT & ~AST2500_WDT_RESET_LPC)>;
231*7d0873ebSEmmanuel Vadot};
232*7d0873ebSEmmanuel Vadot
233*7d0873ebSEmmanuel Vadot&wdt2 {
234*7d0873ebSEmmanuel Vadot	aspeed,reset-mask = <(AST2500_WDT_RESET_DEFAULT & ~AST2500_WDT_RESET_LPC)>;
235*7d0873ebSEmmanuel Vadot};
236*7d0873ebSEmmanuel Vadot
237*7d0873ebSEmmanuel Vadot&pwm_tacho {
238*7d0873ebSEmmanuel Vadot	status = "okay";
239*7d0873ebSEmmanuel Vadot	pinctrl-names = "default";
240*7d0873ebSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm0_default /* CPU */
241*7d0873ebSEmmanuel Vadot		&pinctrl_pwm2_default      /* rear */
242*7d0873ebSEmmanuel Vadot		&pinctrl_pwm4_default>;    /* front */
243*7d0873ebSEmmanuel Vadot
244*7d0873ebSEmmanuel Vadot	/* CPU */
245*7d0873ebSEmmanuel Vadot	fan@0 {
246*7d0873ebSEmmanuel Vadot		reg = <0x00>;
247*7d0873ebSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x00>;
248*7d0873ebSEmmanuel Vadot	};
249*7d0873ebSEmmanuel Vadot
250*7d0873ebSEmmanuel Vadot	/* rear */
251*7d0873ebSEmmanuel Vadot	fan@2 {
252*7d0873ebSEmmanuel Vadot		reg = <0x02>;
253*7d0873ebSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x02>;
254*7d0873ebSEmmanuel Vadot	};
255*7d0873ebSEmmanuel Vadot
256*7d0873ebSEmmanuel Vadot	/* front */
257*7d0873ebSEmmanuel Vadot	fan@4 {
258*7d0873ebSEmmanuel Vadot		reg = <0x04>;
259*7d0873ebSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x04>;
260*7d0873ebSEmmanuel Vadot	};
261*7d0873ebSEmmanuel Vadot};
262*7d0873ebSEmmanuel Vadot
263*7d0873ebSEmmanuel Vadot&gpio {
264*7d0873ebSEmmanuel Vadot	status = "okay";
265*7d0873ebSEmmanuel Vadot	gpio-line-names =
266*7d0873ebSEmmanuel Vadot		/*  A */ "", "", "NMI_BTN_N", "BMC_NMI", "", "", "", "",
267*7d0873ebSEmmanuel Vadot		/*  B */ "", "", "", "", "", "", "", "",
268*7d0873ebSEmmanuel Vadot		/*  C */ "", "", "", "", "", "", "", "",
269*7d0873ebSEmmanuel Vadot		/*  D */ "BMC_PSIN", "BMC_PSOUT", "BMC_RESETCON", "RESETCON",
270*7d0873ebSEmmanuel Vadot			"", "", "", "",
271*7d0873ebSEmmanuel Vadot		/*  E */ "", "", "", "", "", "", "", "",
272*7d0873ebSEmmanuel Vadot		/*  F */ "LOCATORLED_STATUS_N", "LOCATORBTN", "", "",
273*7d0873ebSEmmanuel Vadot			"", "", "BMC_PCH_SCI_LPC", "BMC_NCSI_MUX_CTL",
274*7d0873ebSEmmanuel Vadot		/*  G */ "HWM_BAT_EN", "CHASSIS_ID0", "CHASSIS_ID1", "CHASSIS_ID2",
275*7d0873ebSEmmanuel Vadot			"", "", "", "",
276*7d0873ebSEmmanuel Vadot		/*  H */ "FM_ME_RCVR_N", "O_PWROK", "", "D4_DIMM_EVENT_3V_N",
277*7d0873ebSEmmanuel Vadot			"MFG_MODE_N", "BMC_RTCRST", "BMC_HB_LED_N", "BMC_CASEOPEN",
278*7d0873ebSEmmanuel Vadot		/*  I */ "", "", "", "", "", "", "", "",
279*7d0873ebSEmmanuel Vadot		/*  J */ "BMC_READY", "BMC_PCH_BIOS_CS_N", "BMC_SMI", "", "", "", "", "",
280*7d0873ebSEmmanuel Vadot		/*  K */ "", "", "", "", "", "", "", "",
281*7d0873ebSEmmanuel Vadot		/*  L */ "", "", "", "", "", "", "", "",
282*7d0873ebSEmmanuel Vadot		/*  M */ "", "", "", "", "", "", "", "",
283*7d0873ebSEmmanuel Vadot		/*  N */ "", "", "", "", "", "", "", "",
284*7d0873ebSEmmanuel Vadot		/*  O */ "", "", "", "", "", "", "", "",
285*7d0873ebSEmmanuel Vadot		/*  P */ "", "", "", "", "", "", "", "",
286*7d0873ebSEmmanuel Vadot		/*  Q */ "", "", "", "", "", "", "", "",
287*7d0873ebSEmmanuel Vadot		/*  R */ "", "", "", "", "", "", "", "",
288*7d0873ebSEmmanuel Vadot		/*  S */ "PCHHOT_BMC_N", "", "RSMRST", "", "", "", "", "",
289*7d0873ebSEmmanuel Vadot		/*  T */ "", "", "", "", "", "", "", "",
290*7d0873ebSEmmanuel Vadot		/*  U */ "", "", "", "", "", "", "", "",
291*7d0873ebSEmmanuel Vadot		/*  V */ "", "", "", "", "", "", "", "",
292*7d0873ebSEmmanuel Vadot		/*  W */ "", "", "", "", "", "", "", "",
293*7d0873ebSEmmanuel Vadot		/*  X */ "", "", "", "", "", "", "", "",
294*7d0873ebSEmmanuel Vadot		/*  Y */ "SLP_S3", "SLP_S5", "", "", "", "", "", "",
295*7d0873ebSEmmanuel Vadot		/*  Z */ "CPU_CATERR_BMC_N", "", "SYSTEM_FAULT_LED_N", "BMC_THROTTLE_N",
296*7d0873ebSEmmanuel Vadot			"", "", "", "",
297*7d0873ebSEmmanuel Vadot		/* AA */ "CPU1_THERMTRIP_LATCH_N", "", "CPU1_PROCHOT_N", "",
298*7d0873ebSEmmanuel Vadot			"", "", "IRQ_SMI_ACTIVE_N", "FM_BIOS_POST_CMPLT_N",
299*7d0873ebSEmmanuel Vadot		/* AB */ "", "", "ME_OVERRIDE", "BMC_DMI_MODIFY", "", "", "", "",
300*7d0873ebSEmmanuel Vadot		/* AC */ "", "", "", "", "", "", "", "";
301*7d0873ebSEmmanuel Vadot};
302*7d0873ebSEmmanuel Vadot
303*7d0873ebSEmmanuel Vadot&adc {
304*7d0873ebSEmmanuel Vadot	status = "okay";
305*7d0873ebSEmmanuel Vadot	pinctrl-names = "default";
306*7d0873ebSEmmanuel Vadot	pinctrl-0 = <&pinctrl_adc0_default /* 3VSB */
307*7d0873ebSEmmanuel Vadot		&pinctrl_adc1_default	   /* 5VSB */
308*7d0873ebSEmmanuel Vadot		&pinctrl_adc2_default	   /* CPU1 */
309*7d0873ebSEmmanuel Vadot		&pinctrl_adc3_default	   /* VCCSA */
310*7d0873ebSEmmanuel Vadot		&pinctrl_adc4_default	   /* VCCM */
311*7d0873ebSEmmanuel Vadot		&pinctrl_adc5_default	   /* V10M */
312*7d0873ebSEmmanuel Vadot		&pinctrl_adc6_default	   /* VCCIO */
313*7d0873ebSEmmanuel Vadot		&pinctrl_adc7_default	   /* VCCGT */
314*7d0873ebSEmmanuel Vadot		&pinctrl_adc8_default	   /* VPPM */
315*7d0873ebSEmmanuel Vadot		&pinctrl_adc9_default	   /* BAT */
316*7d0873ebSEmmanuel Vadot		&pinctrl_adc10_default	   /* 3V */
317*7d0873ebSEmmanuel Vadot		&pinctrl_adc11_default	   /* 5V */
318*7d0873ebSEmmanuel Vadot		&pinctrl_adc12_default	   /* 12V */
319*7d0873ebSEmmanuel Vadot		&pinctrl_adc13_default	   /* GND */
320*7d0873ebSEmmanuel Vadot		&pinctrl_adc14_default	   /* GND */
321*7d0873ebSEmmanuel Vadot		&pinctrl_adc15_default>;   /* GND */
322*7d0873ebSEmmanuel Vadot};
323