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