Skip to content

Commit c44211a

Browse files
zevweissshenki
authored andcommitted
ARM: dts: aspeed: Add ASRock E3C256D4I BMC
Like the E3C246D4I, this is a reasonably affordable off-the-shelf mini-ITX AST2500/Xeon motherboard with good potential as an OpenBMC development platform. Booting the host requires a modicum of eSPI support that's not yet in the mainline kernel, but most other basic BMC functionality is available with this device-tree. Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Link: https://lore.kernel.org/r/20240502002836.17862-8-zev@bewilderbeest.net Signed-off-by: Joel Stanley <joel@jms.id.au>
1 parent 11726eb commit c44211a

File tree

2 files changed

+323
-0
lines changed

2 files changed

+323
-0
lines changed

arch/arm/boot/dts/aspeed/Makefile

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

0 commit comments

Comments
 (0)