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