1// SPDX-License-Identifier: GPL-2.0+
2/dts-v1/;
3#include "aspeed-g5.dtsi"
4#include <dt-bindings/gpio/aspeed-gpio.h>
5
6/ {
7	model = "Romulus BMC";
8	compatible = "ibm,romulus-bmc", "aspeed,ast2500";
9
10	chosen {
11		stdout-path = &uart5;
12		bootargs = "console=ttyS4,115200 earlyprintk";
13	};
14
15	memory@80000000 {
16		reg = <0x80000000 0x20000000>;
17	};
18
19	reserved-memory {
20		#address-cells = <1>;
21		#size-cells = <1>;
22		ranges;
23
24		vga_memory: framebuffer@9f000000 {
25			no-map;
26			reg = <0x9f000000 0x01000000>; /* 16M */
27		};
28
29		flash_memory: region@98000000 {
30			no-map;
31			reg = <0x98000000 0x04000000>; /* 64M */
32		};
33
34		coldfire_memory: codefire_memory@9ef00000 {
35			reg = <0x9ef00000 0x00100000>;
36			no-map;
37		};
38
39		gfx_memory: framebuffer {
40			size = <0x01000000>;
41			alignment = <0x01000000>;
42			compatible = "shared-dma-pool";
43			reusable;
44		};
45
46		video_engine_memory: jpegbuffer {
47			size = <0x02000000>;	/* 32M */
48			alignment = <0x01000000>;
49			compatible = "shared-dma-pool";
50			reusable;
51		};
52	};
53
54	leds {
55		compatible = "gpio-leds";
56
57		fault {
58			gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
59		};
60
61		identify {
62			gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
63		};
64
65		power {
66			gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
67		};
68	};
69
70	fsi: gpio-fsi {
71		compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
72		#address-cells = <2>;
73		#size-cells = <0>;
74		no-gpio-delays;
75
76		memory-region = <&coldfire_memory>;
77		aspeed,sram = <&sram>;
78		aspeed,cvic = <&cvic>;
79
80		clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
81		data-gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_HIGH>;
82		mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
83		enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
84		trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
85	};
86
87	gpio-keys {
88		compatible = "gpio-keys";
89
90		checkstop {
91			label = "checkstop";
92			gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
93			linux,code = <ASPEED_GPIO(J, 2)>;
94		};
95
96		id-button {
97			label = "id-button";
98			gpios = <&gpio ASPEED_GPIO(Q, 7) GPIO_ACTIVE_LOW>;
99			linux,code = <ASPEED_GPIO(Q, 7)>;
100		};
101	};
102
103	iio-hwmon-battery {
104		compatible = "iio-hwmon";
105		io-channels = <&adc 12>;
106	};
107};
108
109&fmc {
110	status = "okay";
111	flash@0 {
112		status = "okay";
113		m25p,fast-read;
114		label = "bmc";
115#include "openbmc-flash-layout.dtsi"
116	};
117};
118
119&spi1 {
120	status = "okay";
121	pinctrl-names = "default";
122	pinctrl-0 = <&pinctrl_spi1_default>;
123
124	flash@0 {
125		status = "okay";
126		m25p,fast-read;
127		label = "pnor";
128	};
129};
130
131&lpc_ctrl {
132	status = "okay";
133	memory-region = <&flash_memory>;
134	flash = <&spi1>;
135};
136
137&uart1 {
138	/* Rear RS-232 connector */
139	status = "okay";
140
141	pinctrl-names = "default";
142	pinctrl-0 = <&pinctrl_txd1_default
143			&pinctrl_rxd1_default
144			&pinctrl_nrts1_default
145			&pinctrl_ndtr1_default
146			&pinctrl_ndsr1_default
147			&pinctrl_ncts1_default
148			&pinctrl_ndcd1_default
149			&pinctrl_nri1_default>;
150};
151
152&uart5 {
153	status = "okay";
154};
155
156&mac0 {
157	status = "okay";
158
159	use-ncsi;
160
161	pinctrl-names = "default";
162	pinctrl-0 = <&pinctrl_rmii1_default>;
163};
164
165&i2c1 {
166	status = "okay";
167};
168
169&i2c2 {
170	status = "okay";
171};
172
173&i2c3 {
174	status = "okay";
175};
176
177&i2c4 {
178	status = "okay";
179};
180
181&i2c5 {
182	status = "okay";
183};
184
185&i2c6 {
186	/* PCIe slot 1 (x8) */
187	status = "okay";
188};
189
190&i2c7 {
191	/* PCIe slot 2 (x16) */
192	status = "okay";
193};
194
195&i2c8 {
196	/* PCIe slot 3 (x16) */
197	status = "okay";
198};
199
200&i2c9 {
201	/* PCIe slot 4 (x16) */
202	status = "okay";
203};
204
205&i2c10 {
206	/* PCIe slot 5 (x8) */
207	status = "okay";
208};
209
210&i2c11 {
211	status = "okay";
212
213	rtc@32 {
214		compatible = "epson,rx8900";
215		reg = <0x32>;
216	};
217};
218
219&i2c12 {
220	status = "okay";
221
222	w83773g@4c {
223		compatible = "nuvoton,w83773g";
224		reg = <0x4c>;
225	};
226};
227
228&gpio {
229	nic_func_mode0 {
230		gpio-hog;
231		gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
232		output-low;
233		line-name = "nic_func_mode0";
234	};
235	nic_func_mode1 {
236		gpio-hog;
237		gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
238		output-low;
239		line-name = "nic_func_mode1";
240	};
241	seq_cont {
242		gpio-hog;
243		gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
244		output-low;
245		line-name = "seq_cont";
246	};
247};
248
249&vuart {
250	status = "okay";
251};
252
253&gfx {
254	status = "okay";
255	memory-region = <&gfx_memory>;
256};
257
258&pinctrl {
259	aspeed,external-nodes = <&gfx &lhc>;
260};
261
262&pwm_tacho {
263	status = "okay";
264	pinctrl-names = "default";
265	pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
266
267	fan@0 {
268		reg = <0x00>;
269		aspeed,fan-tach-ch = /bits/ 8 <0x08>;
270	};
271
272	fan@1 {
273		reg = <0x00>;
274		aspeed,fan-tach-ch = /bits/ 8 <0x09>;
275	};
276
277	fan@2 {
278		reg = <0x01>;
279		aspeed,fan-tach-ch = /bits/ 8 <0x0a>;
280	};
281
282	fan@3 {
283		reg = <0x01>;
284		aspeed,fan-tach-ch = /bits/ 8 <0x0b>;
285	};
286
287	fan@4 {
288		reg = <0x00>;
289		aspeed,fan-tach-ch = /bits/ 8 <0x0c>;
290	};
291
292	fan@5 {
293		reg = <0x00>;
294		aspeed,fan-tach-ch = /bits/ 8 <0x0d>;
295	};
296
297	fan@6 {
298		reg = <0x01>;
299		aspeed,fan-tach-ch = /bits/ 8 <0x0e>;
300	};
301};
302
303&ibt {
304	status = "okay";
305};
306
307&vhub {
308	status = "okay";
309};
310
311&adc {
312	status = "okay";
313};
314
315&video {
316	status = "okay";
317	memory-region = <&video_engine_memory>;
318};
319
320#include "ibm-power9-dual.dtsi"
321