xref: /freebsd/sys/contrib/device-tree/src/arm/aspeed/aspeed-bmc-asrock-e3c246d4i.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*f126890aSEmmanuel Vadot/dts-v1/;
3*f126890aSEmmanuel Vadot
4*f126890aSEmmanuel Vadot#include "aspeed-g5.dtsi"
5*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/aspeed-gpio.h>
6*f126890aSEmmanuel Vadot#include <dt-bindings/i2c/i2c.h>
7*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadot/{
10*f126890aSEmmanuel Vadot	model = "ASRock E3C246D4I BMC";
11*f126890aSEmmanuel Vadot	compatible = "asrock,e3c246d4i-bmc", "aspeed,ast2500";
12*f126890aSEmmanuel Vadot
13*f126890aSEmmanuel Vadot	aliases {
14*f126890aSEmmanuel Vadot		serial4 = &uart5;
15*f126890aSEmmanuel Vadot	};
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot	chosen {
18*f126890aSEmmanuel Vadot		stdout-path = &uart5;
19*f126890aSEmmanuel Vadot		bootargs = "console=tty0 console=ttyS4,115200 earlycon";
20*f126890aSEmmanuel Vadot	};
21*f126890aSEmmanuel Vadot
22*f126890aSEmmanuel Vadot	memory@80000000 {
23*f126890aSEmmanuel Vadot		reg = <0x80000000 0x20000000>;
24*f126890aSEmmanuel Vadot	};
25*f126890aSEmmanuel Vadot
26*f126890aSEmmanuel Vadot	leds {
27*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
28*f126890aSEmmanuel Vadot
29*f126890aSEmmanuel Vadot		heartbeat {
30*f126890aSEmmanuel Vadot			/* BMC_HB_LED_N */
31*f126890aSEmmanuel Vadot			gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
32*f126890aSEmmanuel Vadot			linux,default-trigger = "timer";
33*f126890aSEmmanuel Vadot		};
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot		system-fault {
36*f126890aSEmmanuel Vadot			/* SYSTEM_FAULT_LED_N */
37*f126890aSEmmanuel Vadot			gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>;
38*f126890aSEmmanuel Vadot			panic-indicator;
39*f126890aSEmmanuel Vadot		};
40*f126890aSEmmanuel Vadot	};
41*f126890aSEmmanuel Vadot
42*f126890aSEmmanuel Vadot	gpio-keys {
43*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot		uid-button {
46*f126890aSEmmanuel Vadot			label = "uid-button";
47*f126890aSEmmanuel Vadot			gpios = <&gpio ASPEED_GPIO(F, 1) GPIO_ACTIVE_LOW>;
48*f126890aSEmmanuel Vadot			linux,code = <ASPEED_GPIO(F, 1)>;
49*f126890aSEmmanuel Vadot		};
50*f126890aSEmmanuel Vadot	};
51*f126890aSEmmanuel Vadot
52*f126890aSEmmanuel Vadot	iio-hwmon {
53*f126890aSEmmanuel Vadot		compatible = "iio-hwmon";
54*f126890aSEmmanuel Vadot		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
55*f126890aSEmmanuel Vadot			<&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>, <&adc 9>,
56*f126890aSEmmanuel Vadot			<&adc 10>, <&adc 11>, <&adc 12>;
57*f126890aSEmmanuel Vadot	};
58*f126890aSEmmanuel Vadot};
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot&fmc {
61*f126890aSEmmanuel Vadot	status = "okay";
62*f126890aSEmmanuel Vadot	flash@0 {
63*f126890aSEmmanuel Vadot		status = "okay";
64*f126890aSEmmanuel Vadot		m25p,fast-read;
65*f126890aSEmmanuel Vadot		label = "bmc";
66*f126890aSEmmanuel Vadot		spi-max-frequency = <50000000>; /* 50 MHz */
67*f126890aSEmmanuel Vadot#include "openbmc-flash-layout.dtsi"
68*f126890aSEmmanuel Vadot	};
69*f126890aSEmmanuel Vadot};
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot&uart5 {
72*f126890aSEmmanuel Vadot	status = "okay";
73*f126890aSEmmanuel Vadot};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot&vuart {
76*f126890aSEmmanuel Vadot	status = "okay";
77*f126890aSEmmanuel Vadot	aspeed,lpc-io-reg = <0x2f8>;
78*f126890aSEmmanuel Vadot	aspeed,lpc-interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
79*f126890aSEmmanuel Vadot};
80*f126890aSEmmanuel Vadot
81*f126890aSEmmanuel Vadot&mac0 {
82*f126890aSEmmanuel Vadot	status = "okay";
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot	pinctrl-names = "default";
85*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
86*f126890aSEmmanuel Vadot};
87*f126890aSEmmanuel Vadot
88*f126890aSEmmanuel Vadot&i2c1 {
89*f126890aSEmmanuel Vadot	status = "okay";
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot	/* thermal sensor, one diode run to a disconnected header */
92*f126890aSEmmanuel Vadot	w83773g@4c {
93*f126890aSEmmanuel Vadot		compatible = "nuvoton,w83773g";
94*f126890aSEmmanuel Vadot		reg = <0x4c>;
95*f126890aSEmmanuel Vadot	};
96*f126890aSEmmanuel Vadot};
97*f126890aSEmmanuel Vadot
98*f126890aSEmmanuel Vadot&i2c3 {
99*f126890aSEmmanuel Vadot	status = "okay";
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot	/* FRU EEPROM */
102*f126890aSEmmanuel Vadot	eeprom@57 {
103*f126890aSEmmanuel Vadot		compatible = "st,24c128", "atmel,24c128";
104*f126890aSEmmanuel Vadot		reg = <0x57>;
105*f126890aSEmmanuel Vadot		pagesize = <16>;
106*f126890aSEmmanuel Vadot	};
107*f126890aSEmmanuel Vadot};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot&video {
110*f126890aSEmmanuel Vadot	status = "okay";
111*f126890aSEmmanuel Vadot};
112*f126890aSEmmanuel Vadot
113*f126890aSEmmanuel Vadot&vhub {
114*f126890aSEmmanuel Vadot	status = "okay";
115*f126890aSEmmanuel Vadot};
116*f126890aSEmmanuel Vadot
117*f126890aSEmmanuel Vadot&lpc_ctrl {
118*f126890aSEmmanuel Vadot	status = "okay";
119*f126890aSEmmanuel Vadot};
120*f126890aSEmmanuel Vadot
121*f126890aSEmmanuel Vadot&lpc_snoop {
122*f126890aSEmmanuel Vadot	status = "okay";
123*f126890aSEmmanuel Vadot	snoop-ports = <0x80>;
124*f126890aSEmmanuel Vadot};
125*f126890aSEmmanuel Vadot
126*f126890aSEmmanuel Vadot&gpio {
127*f126890aSEmmanuel Vadot	status = "okay";
128*f126890aSEmmanuel Vadot	gpio-line-names =
129*f126890aSEmmanuel Vadot		/*  A */ "BMC_MAC1_INTB", "BMC_MAC2_INTB", "NMI_BTN_N", "BMC_NMI",
130*f126890aSEmmanuel Vadot			"", "", "", "",
131*f126890aSEmmanuel Vadot		/*  B */ "", "", "", "", "", "IRQ_BMC_PCH_SMI_LPC_N", "", "",
132*f126890aSEmmanuel Vadot		/*  C */ "", "", "", "", "", "", "", "",
133*f126890aSEmmanuel Vadot		/*  D */ "BMC_PSIN", "BMC_PSOUT", "BMC_RESETCON", "RESETCON",
134*f126890aSEmmanuel Vadot			"", "", "", "",
135*f126890aSEmmanuel Vadot		/*  E */ "", "", "", "", "", "", "", "",
136*f126890aSEmmanuel Vadot		/*  F */ "LOCATORLED_STATUS_N", "LOCATORBTN", "", "",
137*f126890aSEmmanuel Vadot			"", "", "BMC_PCH_SCI_LPC", "BMC_NCSI_MUX_CTL",
138*f126890aSEmmanuel Vadot		/*  G */ "HWM_BAT_EN", "CHASSIS_ID0", "CHASSIS_ID1", "CHASSIS_ID2",
139*f126890aSEmmanuel Vadot			"BMC_ALERT1_N_R", "BMC_ALERT2_N_R", "BMC_ALERT3_N", "SML0ALERT",
140*f126890aSEmmanuel Vadot		/*  H */ "FM_ME_RCVR_N", "O_PWROK", "SKL_CNL_R", "D4_DIMM_EVENT_3V_N",
141*f126890aSEmmanuel Vadot			"MFG_MODE_N", "BMC_RTCRST", "BMC_HB_LED_N", "BMC_CASEOPEN",
142*f126890aSEmmanuel Vadot		/*  I */ "", "", "", "", "", "", "", "",
143*f126890aSEmmanuel Vadot		/*  J */ "BMC_READY", "BMC_PCH_BIOS_CS_N", "BMC_SMI", "",
144*f126890aSEmmanuel Vadot			"", "", "", "",
145*f126890aSEmmanuel Vadot		/*  K */ "", "", "", "", "", "", "", "",
146*f126890aSEmmanuel Vadot		/*  L */ "BMC_CTS1", "BMC_DCD1", "BMC_DSR1", "BMC_RI1",
147*f126890aSEmmanuel Vadot			"BMC_DTR1", "BMC_RTS1", "BMC_TXD1", "BMC_RXD1",
148*f126890aSEmmanuel Vadot		/*  M */ "BMC_LAN0_DIS_N", "BMC_LAN1_DIS_N", "", "",
149*f126890aSEmmanuel Vadot			"", "", "", "",
150*f126890aSEmmanuel Vadot		/*  N */ "", "", "", "", "", "", "", "",
151*f126890aSEmmanuel Vadot		/*  O */ "", "", "", "", "", "", "", "",
152*f126890aSEmmanuel Vadot		/*  P */ "", "", "", "", "", "", "", "",
153*f126890aSEmmanuel Vadot		/*  Q */ "", "", "", "",
154*f126890aSEmmanuel Vadot			"BMC_SBM_PRESENT_1_N", "BMC_SBM_PRESENT_2_N",
155*f126890aSEmmanuel Vadot			"BMC_SBM_PRESENT_3_N", "BMC_PCIE_WAKE_N",
156*f126890aSEmmanuel Vadot		/*  R */ "", "", "", "", "", "", "", "",
157*f126890aSEmmanuel Vadot		/*  S */ "PCHHOT_BMC_N", "", "RSMRST",
158*f126890aSEmmanuel Vadot			"", "", "", "", "",
159*f126890aSEmmanuel Vadot		/*  T */ "", "", "", "", "", "", "", "",
160*f126890aSEmmanuel Vadot		/*  U */ "", "", "", "", "", "", "", "",
161*f126890aSEmmanuel Vadot		/*  V */ "", "", "", "", "", "", "", "",
162*f126890aSEmmanuel Vadot		/*  W */ "PS_PWROK", /* dummy always-high signal */
163*f126890aSEmmanuel Vadot			"", "", "", "", "", "", "",
164*f126890aSEmmanuel Vadot		/*  X */ "", "", "", "", "", "", "", "",
165*f126890aSEmmanuel Vadot		/*  Y */ "SLP_S3", "SLP_S5", "", "", "", "", "", "",
166*f126890aSEmmanuel Vadot		/*  Z */ "CPU_CATERR_BMC_PCH_N", "", "SYSTEM_FAULT_LED_N", "BMC_THROTTLE_N",
167*f126890aSEmmanuel Vadot			"", "", "", "",
168*f126890aSEmmanuel Vadot		/* AA */ "CPU1_THERMTRIP_LATCH_N", "", "CPU1_PROCHOT_N", "",
169*f126890aSEmmanuel Vadot			"", "", "IRQ_SMI_ACTIVE_N", "FM_BIOS_POST_CMPLT_N",
170*f126890aSEmmanuel Vadot		/* AB */ "", "", "ME_OVERRIDE", "BMC_DMI_MODIFY",
171*f126890aSEmmanuel Vadot			"", "", "", "",
172*f126890aSEmmanuel Vadot		/* AC */ "LAD0", "LAD1", "LAD2", "LAD3",
173*f126890aSEmmanuel Vadot			"CK_33M_BMC", "LFRAME", "SERIRQ", "S_PLTRST";
174*f126890aSEmmanuel Vadot
175*f126890aSEmmanuel Vadot	/* Assert BMC_READY so BIOS doesn't sit around waiting for it */
176*f126890aSEmmanuel Vadot	bmc-ready {
177*f126890aSEmmanuel Vadot		gpio-hog;
178*f126890aSEmmanuel Vadot		gpios = <ASPEED_GPIO(J, 0) GPIO_ACTIVE_LOW>;
179*f126890aSEmmanuel Vadot		output-high;
180*f126890aSEmmanuel Vadot	};
181*f126890aSEmmanuel Vadot};
182*f126890aSEmmanuel Vadot
183*f126890aSEmmanuel Vadot&adc {
184*f126890aSEmmanuel Vadot	status = "okay";
185*f126890aSEmmanuel Vadot	pinctrl-names = "default";
186*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_adc0_default
187*f126890aSEmmanuel Vadot			&pinctrl_adc1_default
188*f126890aSEmmanuel Vadot			&pinctrl_adc2_default
189*f126890aSEmmanuel Vadot			&pinctrl_adc3_default
190*f126890aSEmmanuel Vadot			&pinctrl_adc4_default
191*f126890aSEmmanuel Vadot			&pinctrl_adc5_default
192*f126890aSEmmanuel Vadot			&pinctrl_adc6_default
193*f126890aSEmmanuel Vadot			&pinctrl_adc7_default
194*f126890aSEmmanuel Vadot			&pinctrl_adc8_default
195*f126890aSEmmanuel Vadot			&pinctrl_adc9_default
196*f126890aSEmmanuel Vadot			&pinctrl_adc10_default
197*f126890aSEmmanuel Vadot			&pinctrl_adc11_default
198*f126890aSEmmanuel Vadot			&pinctrl_adc12_default>;
199*f126890aSEmmanuel Vadot};
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot&kcs3 {
202*f126890aSEmmanuel Vadot	status = "okay";
203*f126890aSEmmanuel Vadot	aspeed,lpc-io-reg = <0xca2>;
204*f126890aSEmmanuel Vadot};
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot&peci0 {
207*f126890aSEmmanuel Vadot	status = "okay";
208*f126890aSEmmanuel Vadot};
209