1// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2023 Inventec Corp.
3
4/dts-v1/;
5
6#include "aspeed-g6.dtsi"
7#include "aspeed-g6-pinctrl.dtsi"
8#include <dt-bindings/i2c/i2c.h>
9#include <dt-bindings/gpio/aspeed-gpio.h>
10
11/ {
12	model = "STARSCREAM BMC";
13	compatible = "inventec,starscream-bmc", "aspeed,ast2600";
14
15	aliases {
16		serial4 = &uart5;
17	};
18
19	chosen {
20		stdout-path = &uart5;
21	};
22
23	memory@80000000 {
24		device_type = "memory";
25		reg = <0x80000000 0x80000000>;
26	};
27
28	reserved-memory {
29		#address-cells = <1>;
30		#size-cells = <1>;
31		ranges;
32
33		video_engine_memory: video {
34			size = <0x04000000>;
35			alignment = <0x01000000>;
36			compatible = "shared-dma-pool";
37			reusable;
38		};
39	};
40
41	leds {
42		compatible = "gpio-leds";
43
44		led-uid {
45			label = "UID_LED";
46			gpios = <&gpio0 186 GPIO_ACTIVE_LOW>;
47		};
48
49		led-heartbeat {
50			label = "HB_LED";
51			gpios = <&gpio0 127 GPIO_ACTIVE_LOW>;
52		};
53	};
54};
55
56&mdio0 {
57	status = "okay";
58
59	ethphy0: ethernet-phy@0 {
60		compatible = "ethernet-phy-ieee802.3-c22";
61		reg = <1>;
62	};
63};
64
65&mac2 {
66	status = "okay";
67	pinctrl-names = "default";
68	phy-mode = "rmii";
69	pinctrl-0 = <&pinctrl_rmii3_default>;
70	use-ncsi;
71};
72
73&mac3 {
74	status = "okay";
75	phy-mode = "rgmii";
76	phy-handle = <&ethphy0>;
77	pinctrl-names = "default";
78	pinctrl-0 = <&pinctrl_rgmii4_default>;
79};
80
81&fmc {
82	status = "okay";
83	flash@0 {
84		status = "okay";
85		m25p,fast-read;
86		label = "bmc";
87		spi-max-frequency = <50000000>;
88		spi-tx-bus-width = <4>;
89		spi-rx-bus-width = <4>;
90#include "openbmc-flash-layout.dtsi"
91	};
92
93	flash@1 {
94		status = "okay";
95		m25p,fast-read;
96		label = "bmc2";
97		spi-max-frequency = <50000000>;
98		spi-tx-bus-width = <4>;
99		spi-rx-bus-width = <4>;
100	};
101};
102
103&spi1 {
104	status = "okay";
105	pinctrl-names = "default";
106	pinctrl-0 = <&pinctrl_spi1_default>;
107
108	flash@0 {
109		status = "okay";
110		m25p,fast-read;
111		label = "bios";
112		spi-max-frequency = <50000000>;
113		spi-tx-bus-width = <4>;
114		spi-rx-bus-width = <4>;
115	};
116};
117
118&vuart1 {
119	status = "okay";
120};
121
122&uart1 {
123	status = "okay";
124};
125
126&uart3 {
127	status = "okay";
128};
129
130&uart5 {
131	status = "okay";
132};
133
134&kcs3 {
135	aspeed,lpc-io-reg = <0xca2>;
136	status = "okay";
137};
138
139&uart_routing {
140	status = "okay";
141};
142
143&i2c0 {
144	status = "okay";
145};
146&i2c1 {
147	status = "okay";
148};
149&i2c2 {
150	status = "okay";
151};
152&i2c3 {
153	status = "okay";
154};
155
156&i2c4 {
157	status = "okay";
158
159	// I2C EXPANDER
160	i2c-mux@71 {
161		compatible = "nxp,pca9546";
162		#address-cells = <1>;
163		#size-cells = <0>;
164		reg = <0x71>;
165
166		i2c@0 {
167			#address-cells = <1>;
168			#size-cells = <0>;
169			reg = <0>;
170			// AMD SB-TSI CPU1
171			sbtsi@4c {
172				compatible = "amd,sbtsi";
173				reg = <0x4c>;
174			};
175		};
176
177		i2c@1 {
178			#address-cells = <1>;
179			#size-cells = <0>;
180			reg = <1>;
181			// AMD SB-TSI CPU2
182			sbtsi@48 {
183				compatible = "amd,sbtsi";
184				reg = <0x48>;
185			};
186		};
187	};
188};
189
190&i2c5 {
191	status = "okay";
192
193	// I2C EXPANDER U153
194	i2c-mux@70 {
195		compatible = "nxp,pca9546";
196		#address-cells = <1>;
197		#size-cells = <0>;
198		reg = <0x70>;
199
200		usb_hub: i2c@0 {
201			#address-cells = <1>;
202			#size-cells = <0>;
203			reg = <0>;
204		};
205
206		riser1: i2c@1 {
207			#address-cells = <1>;
208			#size-cells = <0>;
209			reg = <1>;
210		};
211
212		riser2: i2c@2 {
213			#address-cells = <1>;
214			#size-cells = <0>;
215			reg = <2>;
216		};
217
218		i2c@3 {
219			#address-cells = <1>;
220			#size-cells = <0>;
221			reg = <3>;
222		};
223	};
224};
225
226&i2c6 {
227	status = "okay";
228
229	// Motherboard Temp_U89
230	temperature-sensor@4e {
231		compatible = "ti,tmp421";
232		reg = <0x4e>;
233	};
234
235	// RunBMC Temp_U6
236	temperature-sensor@49 {
237		compatible = "ti,tmp75";
238		reg = <0x49>;
239	};
240};
241
242&i2c7 {
243	status = "okay";
244	// I2C EXPANDER U40
245	i2c-mux@70 {
246		compatible = "nxp,pca9545";
247		#address-cells = <1>;
248		#size-cells = <0>;
249		reg = <0x70>;
250
251		i2c@0 {
252			#address-cells = <1>;
253			#size-cells = <0>;
254			reg = <0>;
255		};
256
257		i2c@1 {
258			#address-cells = <1>;
259			#size-cells = <0>;
260			reg = <1>;
261		};
262
263		i2c@2 {
264			#address-cells = <1>;
265			#size-cells = <0>;
266			reg = <2>;
267		};
268
269		i2c@3 {
270			#address-cells = <1>;
271			#size-cells = <0>;
272			reg = <3>;
273		};
274	};
275};
276
277&i2c8 {
278	status = "okay";
279	// FRU RunBMC
280	eeprom@51 {
281		compatible = "atmel,24c512";
282		reg = <0x51>;
283		pagesize = <128>;
284	};
285};
286
287&i2c9 {
288	status = "okay";
289};
290
291&i2c10 {
292	status = "okay";
293};
294
295&i2c11 {
296	status = "okay";
297};
298
299&i2c12 {
300	status = "okay";
301	// FRU SCM
302	eeprom@51 {
303		compatible = "atmel,24c512";
304		reg = <0x51>;
305		pagesize = <128>;
306	};
307
308	// SCM Temp_U17
309	temperature-sensor@4f {
310		compatible = "ti,tmp75";
311		reg = <0x4f>;
312	};
313};
314
315&gpio0 {
316	status = "okay";
317	gpio-line-names =
318	/*A0-A7*/   "","","","","","","","",
319	/*B0-B7*/   "alert-psu0-smb-r-n","bmc-ready","","assert-cpu0-prochot-r-n",
320	"","","","",
321	/*C0-C7*/   "","","","","","","","",
322	/*D0-D7*/   "","","","","","","","",
323	/*E0-E7*/   "","","","","","","","",
324	/*F0-F7*/   "","","","","reset-sgpio-r-n","","","",
325	/*G0-G7*/   "","","scm-jtag-mux-select","","","","","",
326	/*H0-H7*/   "","","","","reset-out","power-out","","",
327	/*I0-I7*/   "","","","","","","irq-bmc-cpu0-buf-nmi-n","",
328	/*J0-J7*/   "","","","","","","","",
329	/*K0-K7*/   "","","","","","","","",
330	/*L0-L7*/   "","","","","","","","",
331	/*M0-M7*/   "","","","","","","","",
332	/*N0-N7*/   "","","ncsi-ocp-clk-en-n","","","","","",
333	/*O0-O7*/   "","","","","","","cpu1-thermal-trip-n","",
334	/*P0-P7*/   "","","","","","","","",
335	/*Q0-Q7*/   "cpu0-prochot-n","","cpu1-prochot-n","","cpu0-pe-rst0","","","",
336	/*R0-R7*/   "","","","","","","","",
337	/*S0-S7*/   "","","","",
338	"","PCH_SLP_S4_BMC_N","cpu0-thermtrip-n","alert-psu1-smb-r-n",
339	/*T0-T7*/   "","","","","","","","",
340	/*U0-U7*/   "","","","","","","","",
341	/*V0-V7*/   "bios-recovery-buf-n","","assert-cpu1-prochot-r-n","",
342	"power-chassis-good","","","",
343	/*W0-W7*/   "","","","","","","","",
344	/*X0-X7*/   "","","","","platform-type","","","",
345	/*Y0-Y7*/   "","","","","","","","",
346	/*Z0-Z7*/   "","cpld-power-break-n","","","","","","",
347	/*AA0-AA7*/ "","","","","","","","",
348	/*AB0-AB7*/ "","","","","","","","",
349	/*AC0-AC7*/ "","","","","","","","";
350};
351
352&sgpiom0 {
353	status = "okay";
354	ngpios = <64>;
355	bus-frequency = <1000000>;
356};
357
358&lpc_snoop {
359	status = "okay";
360	snoop-ports = <0x80>;
361};
362
363&emmc_controller {
364	status = "okay";
365};
366
367&emmc {
368	status = "okay";
369	non-removable;
370	max-frequency = <52000000>;
371	bus-width = <8>;
372};
373
374&video {
375	status = "okay";
376	memory-region = <&video_engine_memory>;
377};
378
379&vhub {
380	status = "okay";
381	aspeed,vhub-downstream-ports = <7>;
382	aspeed,vhub-generic-endpoints = <21>;
383	pinctrl-names = "default";
384	pinctrl-0 = <&pinctrl_usb2ad_default>;
385};
386
387&rtc {
388	status = "okay";
389};
390