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
35	leds {
36		compatible = "gpio-leds";
37
38		fault {
39			gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
40		};
41
42		identify {
43			gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
44		};
45
46		power {
47			gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
48		};
49	};
50
51	fsi: gpio-fsi {
52		compatible = "fsi-master-gpio", "fsi-master";
53		#address-cells = <2>;
54		#size-cells = <0>;
55		no-gpio-delays;
56
57		clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
58		data-gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_HIGH>;
59		mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
60		enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
61		trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
62	};
63
64	gpio-keys {
65		compatible = "gpio-keys";
66
67		checkstop {
68			label = "checkstop";
69			gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
70			linux,code = <ASPEED_GPIO(J, 2)>;
71		};
72
73		id-button {
74			label = "id-button";
75			gpios = <&gpio ASPEED_GPIO(Q, 7) GPIO_ACTIVE_LOW>;
76			linux,code = <ASPEED_GPIO(Q, 7)>;
77		};
78	};
79};
80
81&fmc {
82	status = "okay";
83	flash@0 {
84		status = "okay";
85		m25p,fast-read;
86		label = "bmc";
87#include "openbmc-flash-layout.dtsi"
88	};
89};
90
91&spi1 {
92	status = "okay";
93	pinctrl-names = "default";
94	pinctrl-0 = <&pinctrl_spi1_default>;
95
96	flash@0 {
97		status = "okay";
98		m25p,fast-read;
99		label = "pnor";
100	};
101};
102
103&lpc_ctrl {
104	status = "okay";
105	memory-region = <&flash_memory>;
106	flash = <&spi1>;
107};
108
109&uart1 {
110	/* Rear RS-232 connector */
111	status = "okay";
112
113	pinctrl-names = "default";
114	pinctrl-0 = <&pinctrl_txd1_default
115			&pinctrl_rxd1_default
116			&pinctrl_nrts1_default
117			&pinctrl_ndtr1_default
118			&pinctrl_ndsr1_default
119			&pinctrl_ncts1_default
120			&pinctrl_ndcd1_default
121			&pinctrl_nri1_default>;
122};
123
124&uart5 {
125	status = "okay";
126};
127
128&mac0 {
129	status = "okay";
130
131	use-ncsi;
132
133	pinctrl-names = "default";
134	pinctrl-0 = <&pinctrl_rmii1_default>;
135};
136
137&i2c1 {
138	status = "okay";
139};
140
141&i2c2 {
142	status = "okay";
143};
144
145&i2c3 {
146	status = "okay";
147};
148
149&i2c4 {
150	status = "okay";
151};
152
153&i2c5 {
154	status = "okay";
155};
156
157&i2c6 {
158	/* PCIe slot 1 (x8) */
159	status = "okay";
160};
161
162&i2c7 {
163	/* PCIe slot 2 (x16) */
164	status = "okay";
165};
166
167&i2c8 {
168	/* PCIe slot 3 (x16) */
169	status = "okay";
170};
171
172&i2c9 {
173	/* PCIe slot 4 (x16) */
174	status = "okay";
175};
176
177&i2c10 {
178	/* PCIe slot 5 (x8) */
179	status = "okay";
180};
181
182&i2c11 {
183	status = "okay";
184
185	rtc@32 {
186		compatible = "epson,rx8900";
187		reg = <0x32>;
188	};
189};
190
191&i2c12 {
192	status = "okay";
193
194	w83773g@4c {
195		compatible = "nuvoton,w83773g";
196		reg = <0x4c>;
197	};
198};
199
200&gpio {
201	nic_func_mode0 {
202		gpio-hog;
203		gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
204		output-low;
205		line-name = "nic_func_mode0";
206	};
207	nic_func_mode1 {
208		gpio-hog;
209		gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
210		output-low;
211		line-name = "nic_func_mode1";
212	};
213	seq_cont {
214		gpio-hog;
215		gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
216		output-low;
217		line-name = "seq_cont";
218	};
219};
220
221&vuart {
222	status = "okay";
223};
224
225&gfx {
226	status = "okay";
227};
228
229&pinctrl {
230	aspeed,external-nodes = <&gfx &lhc>;
231};
232
233&pwm_tacho {
234	status = "okay";
235	pinctrl-names = "default";
236	pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
237
238	fan@0 {
239		reg = <0x00>;
240		aspeed,fan-tach-ch = /bits/ 8 <0x08>;
241	};
242
243	fan@1 {
244		reg = <0x00>;
245		aspeed,fan-tach-ch = /bits/ 8 <0x09>;
246	};
247
248	fan@2 {
249		reg = <0x01>;
250		aspeed,fan-tach-ch = /bits/ 8 <0x0a>;
251	};
252
253	fan@3 {
254		reg = <0x01>;
255		aspeed,fan-tach-ch = /bits/ 8 <0x0b>;
256	};
257
258	fan@4 {
259		reg = <0x00>;
260		aspeed,fan-tach-ch = /bits/ 8 <0x0c>;
261	};
262
263	fan@5 {
264		reg = <0x00>;
265		aspeed,fan-tach-ch = /bits/ 8 <0x0d>;
266	};
267
268	fan@6 {
269		reg = <0x01>;
270		aspeed,fan-tach-ch = /bits/ 8 <0x0e>;
271	};
272};
273
274&ibt {
275	status = "okay";
276};
277