1// SPDX-License-Identifier: GPL-2.0+
2// Copyright (C) 2021 YADRO
3
4#include "aspeed-g5.dtsi"
5#include <dt-bindings/gpio/aspeed-gpio.h>
6
7/ {
8	aliases {
9		serial4 = &uart5;
10	};
11
12	chosen {
13		stdout-path = &uart5;
14		bootargs = "console=ttyS4,115200 earlyprintk";
15	};
16
17	memory@80000000 {
18		reg = <0x80000000 0x20000000>;
19	};
20
21	reserved-memory {
22		#address-cells = <1>;
23		#size-cells = <1>;
24		ranges;
25
26		video_engine_memory: jpegbuffer {
27			size = <0x02000000>;	/* 32M */
28			alignment = <0x01000000>;
29			compatible = "shared-dma-pool";
30			reusable;
31		};
32
33		ramoops@9eff0000{
34			compatible = "ramoops";
35			reg = <0x9eff0000 0x10000>;
36			record-size = <0x2000>;
37			console-size = <0x2000>;
38		};
39	};
40
41	iio-hwmon {
42		compatible = "iio-hwmon";
43		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
44			<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
45			<&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
46			<&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>;
47	};
48
49	leds {
50		compatible = "gpio-leds";
51
52		identify {
53			label = "platform:blue:indicator";
54			linux,default-trigger = "heartbeat";
55			gpios = <&gpio ASPEED_GPIO(S, 6) GPIO_ACTIVE_LOW>;
56		};
57
58		status_amber {
59			label = "platform:red:status";
60			default-state = "off";
61			gpios = <&gpio ASPEED_GPIO(S, 5) GPIO_ACTIVE_LOW>;
62		};
63
64		status_green {
65			label = "platform:green:status";
66			default-state = "off";
67			gpios = <&gpio ASPEED_GPIO(S, 4) GPIO_ACTIVE_LOW>;
68		};
69
70		power_fault {
71			label = "platform:red:power";
72			default-state = "off";
73			gpios = <&gpio ASPEED_GPIO(AA, 4) GPIO_ACTIVE_LOW>;
74		};
75
76		power_ok {
77			label = "platform:green:power";
78			default-state = "off";
79			gpios = <&gpio ASPEED_GPIO(AA, 5) GPIO_ACTIVE_LOW>;
80		};
81	};
82
83	beeper {
84		compatible = "pwm-beeper";
85		pwms = <&timer 5 1000000 0>;
86	};
87};
88
89&fmc {
90	status = "okay";
91	flash@0 {
92		status = "okay";
93		label = "bmc";
94		m25p,fast-read;
95#include "openbmc-flash-layout-64.dtsi"
96	};
97};
98
99&spi2 {
100	status = "okay";
101	pinctrl-names = "default";
102	pinctrl-0 = <&pinctrl_spi2ck_default
103			&pinctrl_spi2miso_default
104			&pinctrl_spi2mosi_default
105			&pinctrl_spi2cs0_default>;
106	flash@0 {
107		status = "okay";
108		label = "bios";
109		m25p,fast-read;
110	};
111};
112
113&mac0 {
114	status = "okay";
115	use-ncsi;
116
117	pinctrl-names = "default";
118	pinctrl-0 = <&pinctrl_rmii1_default>;
119};
120
121&mac1 {
122	status = "okay";
123
124	pinctrl-names = "default";
125	pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
126
127	phy-mode = "rgmii";
128	phy-handle = <&phy>;
129	mdio {
130		#address-cells = <1>;
131		#size-cells = <0>;
132
133		phy: ethernet-phy@1 {
134			/* KSZ9131 */
135			compatible = "ethernet-phy-id0022.1640";
136			reg = <1>;
137
138			micrel,led-mode = <0>;
139		};
140	};
141};
142
143&vhub {
144	status = "okay";
145};
146
147&adc {
148	status = "okay";
149};
150
151&video {
152	status = "okay";
153	memory-region = <&video_engine_memory>;
154};
155
156&sdmmc {
157	status = "okay";
158};
159
160&sdhci1 {
161	status = "okay";
162
163	pinctrl-names = "default";
164	pinctrl-0 = <&pinctrl_sd2_default>;
165	disable-wp;
166};
167
168&timer {
169	fttmr010,pwm-outputs = <5>;
170	pinctrl-names = "default";
171	pinctrl-0 = <&pinctrl_timer5_default>;
172	#pwm-cells = <3>;
173	status = "okay";
174};
175
176&uart1 {
177	status = "okay";
178	pinctrl-names = "default";
179	pinctrl-0 = <&pinctrl_txd1_default
180			&pinctrl_rxd1_default
181			&pinctrl_nrts1_default
182			&pinctrl_ndtr1_default
183			&pinctrl_ndsr1_default
184			&pinctrl_ncts1_default
185			&pinctrl_ndcd1_default
186			&pinctrl_nri1_default>;
187};
188
189&uart5 {
190	status = "okay";
191};
192
193&vuart {
194	status = "okay";
195};
196
197&kcs3 {
198	aspeed,lpc-io-reg = <0xCA2>;
199	status = "okay";
200};
201
202&kcs4 {
203	aspeed,lpc-io-reg = <0xCA4>;
204	status = "okay";
205};
206
207&lpc_snoop {
208	snoop-ports = <0x80>;
209	status = "okay";
210};
211
212&uart_routing {
213	status = "okay";
214};
215
216&uart2 {
217	status = "okay";
218	pinctrl-names = "default";
219	pinctrl-0 = <>;
220};
221
222&uart3 {
223	status = "okay";
224	pinctrl-names = "default";
225	pinctrl-0 = <>;
226};
227
228&uart4 {
229	status = "okay";
230	pinctrl-names = "default";
231	pinctrl-0 = <>;
232};
233
234&i2c0 {
235	/* SMB_IPMB_STBY_LVC3 */
236	multi-master;
237	status = "okay";
238};
239
240&i2c1 {
241	/* SMB_CHASSENSOR_STBY_LVC3 */
242	status = "okay";
243};
244
245&i2c2 {
246	/* SMB_PCIE_STBY_LVC3 */
247	status = "okay";
248};
249
250&i2c3 {
251	/* SMB_HOST_STBY_LVC3 */
252	multi-master;
253	status = "okay";
254};
255
256&i2c4 {
257	/* BMC_PMBUS2_STBY */
258	status = "okay";
259};
260
261&i2c5 {
262	/* SMB_SMLINK0_STBY_LVC3 */
263	bus-frequency = <1000000>;
264	multi-master;
265	status = "okay";
266};
267
268&i2c6 {
269	/* SMB_TEMPSENSOR_STBY_LVC3 */
270	multi-master;
271	status = "okay";
272};
273
274&i2c7 {
275	/* SMB_SM_PMB1_SML1_STBY_LVC3 */
276	multi-master;
277	status = "okay";
278};
279
280&i2c9 {
281	/* SMB_BMC_ETH3_LVC3 */
282	status = "okay";
283};
284
285&i2c10 {
286	/* SMB_BMC_ETH2_LVC3 */
287	status = "okay";
288};
289
290&i2c11 {
291	/* SMB_BMC_MGMT_LVC3 */
292	status = "okay";
293
294	at24@50 {
295		compatible = "atmel,24c64";
296		reg = <0x50>;
297		pagesize = <32>;
298		size = <8192>;
299		address-width = <16>;
300	};
301};
302
303&i2c12 {
304	/* SMB_BMC_FAULT_EXP_LVC3 */
305	status = "okay";
306};
307
308&i2c13 {
309	/* SMB_PCIE2_STBY_LVC3 */
310	status = "okay";
311};
312