xref: /linux/scripts/dtc/include-prefixes/arm/aspeed/aspeed-bmc-amd-ethanolx.dts (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring// Copyright (c) 2020 AMD Inc.
3*724ba675SRob Herring// Author: Supreeth Venkatesh <supreeth.venkatesh@amd.com>
4*724ba675SRob Herring/dts-v1/;
5*724ba675SRob Herring
6*724ba675SRob Herring#include "aspeed-g5.dtsi"
7*724ba675SRob Herring#include <dt-bindings/gpio/aspeed-gpio.h>
8*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
9*724ba675SRob Herring
10*724ba675SRob Herring/ {
11*724ba675SRob Herring	model = "AMD EthanolX BMC";
12*724ba675SRob Herring	compatible = "amd,ethanolx-bmc", "aspeed,ast2500";
13*724ba675SRob Herring
14*724ba675SRob Herring	memory@80000000 {
15*724ba675SRob Herring		reg = <0x80000000 0x20000000>;
16*724ba675SRob Herring	};
17*724ba675SRob Herring
18*724ba675SRob Herring	reserved-memory {
19*724ba675SRob Herring		#address-cells = <1>;
20*724ba675SRob Herring		#size-cells = <1>;
21*724ba675SRob Herring		ranges;
22*724ba675SRob Herring
23*724ba675SRob Herring		video_engine_memory: jpegbuffer {
24*724ba675SRob Herring			size = <0x02000000>;	/* 32M */
25*724ba675SRob Herring			alignment = <0x01000000>;
26*724ba675SRob Herring			compatible = "shared-dma-pool";
27*724ba675SRob Herring			reusable;
28*724ba675SRob Herring		};
29*724ba675SRob Herring	};
30*724ba675SRob Herring
31*724ba675SRob Herring
32*724ba675SRob Herring	aliases {
33*724ba675SRob Herring		serial0 = &uart1;
34*724ba675SRob Herring		serial4 = &uart5;
35*724ba675SRob Herring	};
36*724ba675SRob Herring	chosen {
37*724ba675SRob Herring		stdout-path = &uart5;
38*724ba675SRob Herring		bootargs = "console=ttyS4,115200 earlycon";
39*724ba675SRob Herring	};
40*724ba675SRob Herring	leds {
41*724ba675SRob Herring		compatible = "gpio-leds";
42*724ba675SRob Herring
43*724ba675SRob Herring		fault {
44*724ba675SRob Herring			gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>;
45*724ba675SRob Herring		};
46*724ba675SRob Herring
47*724ba675SRob Herring		identify {
48*724ba675SRob Herring			gpios = <&gpio ASPEED_GPIO(A, 3) GPIO_ACTIVE_LOW>;
49*724ba675SRob Herring		};
50*724ba675SRob Herring	};
51*724ba675SRob Herring	iio-hwmon {
52*724ba675SRob Herring		compatible = "iio-hwmon";
53*724ba675SRob Herring		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>;
54*724ba675SRob Herring	};
55*724ba675SRob Herring};
56*724ba675SRob Herring
57*724ba675SRob Herring&fmc {
58*724ba675SRob Herring	status = "okay";
59*724ba675SRob Herring	flash@0 {
60*724ba675SRob Herring		status = "okay";
61*724ba675SRob Herring		m25p,fast-read;
62*724ba675SRob Herring		label = "bmc";
63*724ba675SRob Herring		#include "openbmc-flash-layout.dtsi"
64*724ba675SRob Herring	};
65*724ba675SRob Herring};
66*724ba675SRob Herring
67*724ba675SRob Herring&spi1 {
68*724ba675SRob Herring	status = "okay";
69*724ba675SRob Herring	pinctrl-names = "default";
70*724ba675SRob Herring	pinctrl-0 = <&pinctrl_spi1_default>;
71*724ba675SRob Herring	flash@0 {
72*724ba675SRob Herring		status = "okay";
73*724ba675SRob Herring		m25p,fast-read;
74*724ba675SRob Herring		label = "bios";
75*724ba675SRob Herring		spi-max-frequency = <100000000>;
76*724ba675SRob Herring	};
77*724ba675SRob Herring};
78*724ba675SRob Herring
79*724ba675SRob Herring&mac0 {
80*724ba675SRob Herring	status = "okay";
81*724ba675SRob Herring
82*724ba675SRob Herring	pinctrl-names = "default";
83*724ba675SRob Herring	pinctrl-0 = <&pinctrl_rmii1_default>;
84*724ba675SRob Herring	clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
85*724ba675SRob Herring		 <&syscon ASPEED_CLK_MAC1RCLK>;
86*724ba675SRob Herring	clock-names = "MACCLK", "RCLK";
87*724ba675SRob Herring};
88*724ba675SRob Herring
89*724ba675SRob Herring&uart1 {
90*724ba675SRob Herring	//Host Console
91*724ba675SRob Herring	status = "okay";
92*724ba675SRob Herring	pinctrl-names = "default";
93*724ba675SRob Herring	pinctrl-0 = <&pinctrl_txd1_default
94*724ba675SRob Herring		     &pinctrl_rxd1_default
95*724ba675SRob Herring		     &pinctrl_nrts1_default
96*724ba675SRob Herring		     &pinctrl_ncts1_default>;
97*724ba675SRob Herring};
98*724ba675SRob Herring
99*724ba675SRob Herring&uart5 {
100*724ba675SRob Herring	//BMC Console
101*724ba675SRob Herring	status = "okay";
102*724ba675SRob Herring};
103*724ba675SRob Herring
104*724ba675SRob Herring&adc {
105*724ba675SRob Herring	status = "okay";
106*724ba675SRob Herring
107*724ba675SRob Herring	pinctrl-names = "default";
108*724ba675SRob Herring	pinctrl-0 = <&pinctrl_adc0_default
109*724ba675SRob Herring		     &pinctrl_adc1_default
110*724ba675SRob Herring		     &pinctrl_adc2_default
111*724ba675SRob Herring		     &pinctrl_adc3_default
112*724ba675SRob Herring		     &pinctrl_adc4_default>;
113*724ba675SRob Herring};
114*724ba675SRob Herring
115*724ba675SRob Herring&gpio {
116*724ba675SRob Herring	status = "okay";
117*724ba675SRob Herring	gpio-line-names =
118*724ba675SRob Herring	/*A0-A7*/	"","","FAULT_LED","CHASSIS_ID_LED","","","","",
119*724ba675SRob Herring	/*B0-B7*/	"","","","","","","","",
120*724ba675SRob Herring	/*C0-C7*/	"CHASSIS_ID_BTN","INTRUDER","AC_LOSS","","","","","",
121*724ba675SRob Herring	/*D0-D7*/	"HDT_DBREQ","LOCAL_SPI_ROM_SEL","FPGA_SPI_ROM_SEL","JTAG_MUX_S",
122*724ba675SRob Herring			"JTAG_MUX_OE","HDT_SEL","ASERT_WARM_RST_BTN","FPGA_RSVD",
123*724ba675SRob Herring	/*E0-E7*/	"","","MON_P0_PWR_BTN","MON_P0_RST_BTN","MON_P0_NMI_BTN",
124*724ba675SRob Herring			"MON_P0_PWR_GOOD","MON_PWROK","MON_RESET",
125*724ba675SRob Herring	/*F0-F7*/	"MON_P0_PROCHOT","MON_P1_PROCHOT","MON_P0_THERMTRIP",
126*724ba675SRob Herring			"MON_P1_THERMTRIP","P0_PRESENT","P1_PRESENT","MON_ATX_PWR_OK","",
127*724ba675SRob Herring	/*G0-G7*/	"BRD_REV_ID_3","BRD_REV_ID_2","BRD_REV_ID_1","BRD_REV_ID_0",
128*724ba675SRob Herring			"P0_APML_ALERT","P1_APML_ALERT","FPGA ALERT","",
129*724ba675SRob Herring	/*H0-H7*/	"BRD_ID_0","BRD_ID_1","BRD_ID_2","BRD_ID_3",
130*724ba675SRob Herring			"PCIE_DISCONNECTED","USB_DISCONNECTED","SPARE_0","SPARE_1",
131*724ba675SRob Herring	/*I0-I7*/	"","","","","","","","",
132*724ba675SRob Herring	/*J0-J7*/	"","","","","","","","",
133*724ba675SRob Herring	/*K0-K7*/	"","","","","","","","",
134*724ba675SRob Herring	/*L0-L7*/	"","","","","","","","",
135*724ba675SRob Herring	/*M0-M7*/	"ASSERT_PWR_BTN","ASSERT_RST_BTN","ASSERT_NMI_BTN",
136*724ba675SRob Herring			"ASSERT_LOCAL_LOCK","ASSERT_P0_PROCHOT","ASSERT_P1_PROCHOT",
137*724ba675SRob Herring			"ASSERT_CLR_CMOS","ASSERT_BMC_READY",
138*724ba675SRob Herring	/*N0-N7*/	"","","","","","","","",
139*724ba675SRob Herring	/*O0-O7*/	"","","","","","","","",
140*724ba675SRob Herring	/*P0-P7*/	"P0_VDD_CORE_RUN_VRHOT","P0_VDD_SOC_RUN_VRHOT",
141*724ba675SRob Herring			"P0_VDD_MEM_ABCD_SUS_VRHOT","P0_VDD_MEM_EFGH_SUS_VRHOT",
142*724ba675SRob Herring			"P1_VDD_CORE_RUN_VRHOT","P1_VDD_SOC_RUN_VRHOT",
143*724ba675SRob Herring			"P1_VDD_MEM_ABCD_SUS_VRHOT","P1_VDD_MEM_EFGH_SUS_VRHOT",
144*724ba675SRob Herring	/*Q0-Q7*/	"","","","","","","","",
145*724ba675SRob Herring	/*R0-R7*/	"","","","","","","","",
146*724ba675SRob Herring	/*S0-S7*/	"","","","","","","","",
147*724ba675SRob Herring	/*T0-T7*/	"","","","","","","","",
148*724ba675SRob Herring	/*U0-U7*/	"","","","","","","","",
149*724ba675SRob Herring	/*V0-V7*/	"","","","","","","","",
150*724ba675SRob Herring	/*W0-W7*/	"","","","","","","","",
151*724ba675SRob Herring	/*X0-X7*/	"","","","","","","","",
152*724ba675SRob Herring	/*Y0-Y7*/	"","","","","","","","",
153*724ba675SRob Herring	/*Z0-Z7*/	"","","","","","","","",
154*724ba675SRob Herring	/*AA0-AA7*/	"","SENSOR THERM","","","","","","",
155*724ba675SRob Herring	/*AB0-AB7*/	"","","","","","","","",
156*724ba675SRob Herring	/*AC0-AC7*/	"","","","","","","","";
157*724ba675SRob Herring};
158*724ba675SRob Herring
159*724ba675SRob Herring//APML for P0
160*724ba675SRob Herring&i2c0 {
161*724ba675SRob Herring	status = "okay";
162*724ba675SRob Herring};
163*724ba675SRob Herring
164*724ba675SRob Herring//APML for P1
165*724ba675SRob Herring&i2c1 {
166*724ba675SRob Herring	status = "okay";
167*724ba675SRob Herring};
168*724ba675SRob Herring
169*724ba675SRob Herring//FPGA
170*724ba675SRob Herring&i2c2 {
171*724ba675SRob Herring	status = "okay";
172*724ba675SRob Herring};
173*724ba675SRob Herring
174*724ba675SRob Herring//24LC128 EEPROM
175*724ba675SRob Herring&i2c3 {
176*724ba675SRob Herring	status = "okay";
177*724ba675SRob Herring	eeprom@50 {
178*724ba675SRob Herring		compatible = "atmel,24c128";
179*724ba675SRob Herring		reg = <0x50>;
180*724ba675SRob Herring		pagesize = <64>;
181*724ba675SRob Herring	};
182*724ba675SRob Herring};
183*724ba675SRob Herring
184*724ba675SRob Herring//P0 Power regulators
185*724ba675SRob Herring&i2c4 {
186*724ba675SRob Herring	status = "okay";
187*724ba675SRob Herring};
188*724ba675SRob Herring
189*724ba675SRob Herring//P1 Power regulators
190*724ba675SRob Herring&i2c5 {
191*724ba675SRob Herring	status = "okay";
192*724ba675SRob Herring};
193*724ba675SRob Herring
194*724ba675SRob Herring//P0/P1 Thermal diode
195*724ba675SRob Herring&i2c6 {
196*724ba675SRob Herring	status = "okay";
197*724ba675SRob Herring};
198*724ba675SRob Herring
199*724ba675SRob Herring// Thermal Sensors
200*724ba675SRob Herring&i2c7 {
201*724ba675SRob Herring	status = "okay";
202*724ba675SRob Herring
203*724ba675SRob Herring	lm75a@48 {
204*724ba675SRob Herring		compatible = "national,lm75a";
205*724ba675SRob Herring		reg = <0x48>;
206*724ba675SRob Herring	};
207*724ba675SRob Herring
208*724ba675SRob Herring	lm75a@49 {
209*724ba675SRob Herring		compatible = "national,lm75a";
210*724ba675SRob Herring		reg = <0x49>;
211*724ba675SRob Herring	};
212*724ba675SRob Herring
213*724ba675SRob Herring	lm75a@4a {
214*724ba675SRob Herring		compatible = "national,lm75a";
215*724ba675SRob Herring		reg = <0x4a>;
216*724ba675SRob Herring	};
217*724ba675SRob Herring
218*724ba675SRob Herring	lm75a@4b {
219*724ba675SRob Herring		compatible = "national,lm75a";
220*724ba675SRob Herring		reg = <0x4b>;
221*724ba675SRob Herring	};
222*724ba675SRob Herring
223*724ba675SRob Herring	lm75a@4c {
224*724ba675SRob Herring		compatible = "national,lm75a";
225*724ba675SRob Herring		reg = <0x4c>;
226*724ba675SRob Herring	};
227*724ba675SRob Herring
228*724ba675SRob Herring	lm75a@4d {
229*724ba675SRob Herring		compatible = "national,lm75a";
230*724ba675SRob Herring		reg = <0x4d>;
231*724ba675SRob Herring	};
232*724ba675SRob Herring
233*724ba675SRob Herring	lm75a@4e {
234*724ba675SRob Herring		compatible = "national,lm75a";
235*724ba675SRob Herring		reg = <0x4e>;
236*724ba675SRob Herring	};
237*724ba675SRob Herring
238*724ba675SRob Herring	lm75a@4f {
239*724ba675SRob Herring		compatible = "national,lm75a";
240*724ba675SRob Herring		reg = <0x4f>;
241*724ba675SRob Herring	};
242*724ba675SRob Herring};
243*724ba675SRob Herring
244*724ba675SRob Herring//BMC I2C
245*724ba675SRob Herring&i2c8 {
246*724ba675SRob Herring	status = "okay";
247*724ba675SRob Herring};
248*724ba675SRob Herring
249*724ba675SRob Herring&kcs1 {
250*724ba675SRob Herring	status = "okay";
251*724ba675SRob Herring	aspeed,lpc-io-reg = <0x60>;
252*724ba675SRob Herring};
253*724ba675SRob Herring
254*724ba675SRob Herring&kcs2 {
255*724ba675SRob Herring	status = "okay";
256*724ba675SRob Herring	aspeed,lpc-io-reg = <0x62>;
257*724ba675SRob Herring};
258*724ba675SRob Herring
259*724ba675SRob Herring&kcs3 {
260*724ba675SRob Herring	status = "okay";
261*724ba675SRob Herring	aspeed,lpc-io-reg = <0xCA2>;
262*724ba675SRob Herring};
263*724ba675SRob Herring
264*724ba675SRob Herring&kcs4 {
265*724ba675SRob Herring	status = "okay";
266*724ba675SRob Herring	aspeed,lpc-io-reg = <0x97DE>;
267*724ba675SRob Herring};
268*724ba675SRob Herring
269*724ba675SRob Herring&lpc_snoop {
270*724ba675SRob Herring	status = "okay";
271*724ba675SRob Herring	snoop-ports = <0x80>, <0x81>;
272*724ba675SRob Herring};
273*724ba675SRob Herring
274*724ba675SRob Herring&lpc_ctrl {
275*724ba675SRob Herring	//Enable lpc clock
276*724ba675SRob Herring	status = "okay";
277*724ba675SRob Herring};
278*724ba675SRob Herring
279*724ba675SRob Herring&vuart {
280*724ba675SRob Herring	status = "okay";
281*724ba675SRob Herring	aspeed,lpc-io-reg = <0x3f8>;
282*724ba675SRob Herring	aspeed,lpc-interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
283*724ba675SRob Herring};
284*724ba675SRob Herring
285*724ba675SRob Herring&pwm_tacho {
286*724ba675SRob Herring	status = "okay";
287*724ba675SRob Herring	pinctrl-names = "default";
288*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm0_default
289*724ba675SRob Herring	&pinctrl_pwm1_default
290*724ba675SRob Herring	&pinctrl_pwm2_default
291*724ba675SRob Herring	&pinctrl_pwm3_default
292*724ba675SRob Herring	&pinctrl_pwm4_default
293*724ba675SRob Herring	&pinctrl_pwm5_default
294*724ba675SRob Herring	&pinctrl_pwm6_default
295*724ba675SRob Herring	&pinctrl_pwm7_default>;
296*724ba675SRob Herring
297*724ba675SRob Herring	fan@0 {
298*724ba675SRob Herring		reg = <0x00>;
299*724ba675SRob Herring		aspeed,fan-tach-ch = /bits/ 8 <0x00>;
300*724ba675SRob Herring	};
301*724ba675SRob Herring
302*724ba675SRob Herring	fan@1 {
303*724ba675SRob Herring		reg = <0x01>;
304*724ba675SRob Herring		aspeed,fan-tach-ch = /bits/ 8 <0x01>;
305*724ba675SRob Herring	};
306*724ba675SRob Herring
307*724ba675SRob Herring	fan@2 {
308*724ba675SRob Herring		reg = <0x02>;
309*724ba675SRob Herring		aspeed,fan-tach-ch = /bits/ 8 <0x02>;
310*724ba675SRob Herring	};
311*724ba675SRob Herring
312*724ba675SRob Herring	fan@3 {
313*724ba675SRob Herring		reg = <0x03>;
314*724ba675SRob Herring		aspeed,fan-tach-ch = /bits/ 8 <0x03>;
315*724ba675SRob Herring	};
316*724ba675SRob Herring
317*724ba675SRob Herring	fan@4 {
318*724ba675SRob Herring		reg = <0x04>;
319*724ba675SRob Herring		aspeed,fan-tach-ch = /bits/ 8 <0x04>;
320*724ba675SRob Herring	};
321*724ba675SRob Herring
322*724ba675SRob Herring	fan@5 {
323*724ba675SRob Herring		reg = <0x05>;
324*724ba675SRob Herring		aspeed,fan-tach-ch = /bits/ 8 <0x05>;
325*724ba675SRob Herring	};
326*724ba675SRob Herring
327*724ba675SRob Herring	fan@6 {
328*724ba675SRob Herring		reg = <0x06>;
329*724ba675SRob Herring		aspeed,fan-tach-ch = /bits/ 8 <0x06>;
330*724ba675SRob Herring	};
331*724ba675SRob Herring
332*724ba675SRob Herring	fan@7 {
333*724ba675SRob Herring		reg = <0x07>;
334*724ba675SRob Herring		aspeed,fan-tach-ch = /bits/ 8 <0x07>;
335*724ba675SRob Herring	};
336*724ba675SRob Herring};
337*724ba675SRob Herring
338*724ba675SRob Herring&video {
339*724ba675SRob Herring	status = "okay";
340*724ba675SRob Herring	memory-region = <&video_engine_memory>;
341*724ba675SRob Herring};
342*724ba675SRob Herring
343*724ba675SRob Herring&vhub {
344*724ba675SRob Herring	status = "okay";
345*724ba675SRob Herring};
346*724ba675SRob Herring
347