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