1// SPDX-License-Identifier: GPL-2.0+
2/dts-v1/;
3
4#include "aspeed-g4.dtsi"
5#include <dt-bindings/gpio/aspeed-gpio.h>
6
7/ {
8	model = "Palmetto BMC";
9	compatible = "tyan,palmetto-bmc", "aspeed,ast2400";
10
11	chosen {
12		stdout-path = &uart5;
13		bootargs = "console=ttyS4,115200 earlyprintk";
14	};
15
16	memory@40000000 {
17		reg = <0x40000000 0x20000000>;
18	};
19
20	reserved-memory {
21		#address-cells = <1>;
22		#size-cells = <1>;
23		ranges;
24
25		vga_memory: framebuffer@5f000000 {
26			no-map;
27			reg = <0x5f000000 0x01000000>; /* 16M */
28		};
29
30		coldfire_memory: codefire_memory@5ee00000 {
31			reg = <0x5ee00000 0x00200000>;
32			no-map;
33		};
34
35		flash_memory: region@5c000000 {
36			no-map;
37			reg = <0x5C000000 0x02000000>; /* 32MB */
38		};
39	};
40
41	leds {
42		compatible = "gpio-leds";
43
44		heartbeat {
45			gpios = <&gpio ASPEED_GPIO(R, 4) GPIO_ACTIVE_LOW>;
46		};
47
48		power {
49			gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
50		};
51
52		identify {
53			gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>;
54		};
55	};
56
57	fsi: gpio-fsi {
58		compatible = "aspeed,ast2400-cf-fsi-master", "fsi-master";
59		#address-cells = <2>;
60		#size-cells = <0>;
61
62		memory-region = <&coldfire_memory>;
63		aspeed,sram = <&sram>;
64		aspeed,cvic = <&cvic>;
65
66		clock-gpios = <&gpio ASPEED_GPIO(A, 4) GPIO_ACTIVE_HIGH>;
67		data-gpios = <&gpio ASPEED_GPIO(A, 5) GPIO_ACTIVE_HIGH>;
68		mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
69		enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
70		trans-gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
71	};
72
73	gpio-keys {
74		compatible = "gpio-keys";
75
76		checkstop {
77			label = "checkstop";
78			gpios = <&gpio ASPEED_GPIO(P, 5) GPIO_ACTIVE_LOW>;
79			linux,code = <ASPEED_GPIO(P, 5)>;
80		};
81	};
82};
83
84&fmc {
85	status = "okay";
86	flash@0 {
87		status = "okay";
88		m25p,fast-read;
89		label = "bmc";
90		spi-max-frequency = <50000000>;
91#include "openbmc-flash-layout.dtsi"
92	};
93};
94
95&spi {
96	status = "okay";
97	pinctrl-names = "default";
98	pinctrl-0 = <&pinctrl_spi1debug_default>;
99
100	flash@0 {
101		status = "okay";
102		m25p,fast-read;
103		spi-max-frequency = <50000000>;
104		label = "pnor";
105	};
106};
107
108&pinctrl {
109	pinctrl-names = "default";
110	pinctrl-0 = <&pinctrl_flbusy_default &pinctrl_flwp_default
111
112			&pinctrl_vgahs_default &pinctrl_vgavs_default
113			&pinctrl_ddcclk_default &pinctrl_ddcdat_default>;
114};
115
116&uart1 {
117	/* Rear RS-232 connector */
118	status = "okay";
119
120	pinctrl-names = "default";
121	pinctrl-0 = <&pinctrl_txd1_default
122			&pinctrl_rxd1_default
123			&pinctrl_nrts1_default
124			&pinctrl_ndtr1_default
125			&pinctrl_ndsr1_default
126			&pinctrl_ncts1_default
127			&pinctrl_ndcd1_default
128			&pinctrl_nri1_default>;
129};
130
131&uart5 {
132	status = "okay";
133};
134
135&mac0 {
136	status = "okay";
137
138	use-ncsi;
139
140	pinctrl-names = "default";
141	pinctrl-0 = <&pinctrl_rmii1_default>;
142};
143
144&i2c0 {
145	status = "okay";
146
147	eeprom@50 {
148		compatible = "atmel,24c256";
149		reg = <0x50>;
150		pagesize = <64>;
151	};
152
153	rtc@68 {
154		compatible = "dallas,ds3231";
155		reg = <0x68>;
156	};
157};
158
159&i2c1 {
160	status = "okay";
161};
162
163&i2c2 {
164	status = "okay";
165
166	tmp423@4c {
167		compatible = "ti,tmp423";
168		reg = <0x4c>;
169	};
170};
171
172&i2c3 {
173	status = "okay";
174
175	occ-hwmon@50 {
176		compatible = "ibm,p8-occ-hwmon";
177		reg = <0x50>;
178	};
179};
180
181&i2c4 {
182	status = "okay";
183};
184
185&i2c5 {
186	status = "okay";
187};
188
189&i2c6 {
190	status = "okay";
191};
192
193&i2c7 {
194	status = "okay";
195};
196
197&vuart {
198	status = "okay";
199};
200
201&ibt {
202	status = "okay";
203};
204
205&lpc_ctrl {
206	status = "okay";
207	memory-region = <&flash_memory>;
208	flash = <&spi>;
209};
210
211&gpio {
212	pin_func_mode0 {
213		gpio-hog;
214		gpios = <ASPEED_GPIO(C, 4) GPIO_ACTIVE_HIGH>;
215		output-low;
216		line-name = "func_mode0";
217	};
218
219	pin_func_mode1 {
220		gpio-hog;
221		gpios = <ASPEED_GPIO(C, 5)  GPIO_ACTIVE_HIGH>;
222		output-low;
223		line-name = "func_mode1";
224	};
225
226	pin_func_mode2 {
227		gpio-hog;
228		gpios = <ASPEED_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
229		output-low;
230		line-name = "func_mode2";
231	};
232
233	pin_gpio_a0 {
234		gpio-hog;
235		gpios = <ASPEED_GPIO(A, 0) GPIO_ACTIVE_HIGH>;
236		input;
237		line-name = "BMC_FAN_RESERVED_N";
238	};
239
240	pin_gpio_a1 {
241		gpio-hog;
242		gpios = <ASPEED_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
243		output-high;
244		line-name = "APSS_WDT_N";
245	};
246
247	pin_gpio_b1 {
248		gpio-hog;
249		gpios = <ASPEED_GPIO(B, 1) GPIO_ACTIVE_HIGH>;
250		output-high;
251		line-name = "APSS_BOOT_MODE";
252	};
253
254	pin_gpio_b2 {
255		gpio-hog;
256		gpios = <ASPEED_GPIO(B, 2) GPIO_ACTIVE_HIGH>;
257		output-high;
258		line-name = "APSS_RESET_N";
259	};
260
261	pin_gpio_b7 {
262		gpio-hog;
263		gpios = <ASPEED_GPIO(B, 7) GPIO_ACTIVE_HIGH>;
264		output-high;
265		line-name = "SPIVID_STBY_RESET_N";
266	};
267
268	pin_gpio_d1 {
269		gpio-hog;
270		gpios = <ASPEED_GPIO(D, 1) GPIO_ACTIVE_HIGH>;
271		output-high;
272		line-name = "BMC_POWER_UP";
273	};
274
275	pin_gpio_f1 {
276		gpio-hog;
277		gpios = <ASPEED_GPIO(F, 1) GPIO_ACTIVE_HIGH>;
278		input;
279		line-name = "BMC_BATTERY_TEST";
280	};
281
282	pin_gpio_f4 {
283		gpio-hog;
284		gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
285		input;
286		line-name = "AST_HW_FAULT_N";
287	};
288
289	pin_gpio_f5 {
290		gpio-hog;
291		gpios = <ASPEED_GPIO(F, 5) GPIO_ACTIVE_HIGH>;
292		input;
293		line-name = "AST_SYS_FAULT_N";
294	};
295
296	pin_gpio_f7 {
297		gpio-hog;
298		gpios = <ASPEED_GPIO(F, 7) GPIO_ACTIVE_HIGH>;
299		output-high;
300		line-name = "BMC_FULL_SPEED_N";
301	};
302
303	pin_gpio_g3 {
304		gpio-hog;
305		gpios = <ASPEED_GPIO(G, 3) GPIO_ACTIVE_HIGH>;
306		output-high;
307		line-name = "BMC_FAN_ERROR_N";
308	};
309
310	pin_gpio_g4 {
311		gpio-hog;
312		gpios = <ASPEED_GPIO(G, 4) GPIO_ACTIVE_HIGH>;
313		input;
314		line-name = "BMC_WDT_RST1_P";
315	};
316
317	pin_gpio_g5 {
318		gpio-hog;
319		gpios = <ASPEED_GPIO(G, 5) GPIO_ACTIVE_HIGH>;
320		input;
321		line-name = "BMC_WDT_RST2_P";
322	};
323
324	pin_gpio_h0 {
325		gpio-hog;
326		gpios = <ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>;
327		input;
328		line-name = "PE_SLOT_TEST_EN_N";
329	};
330
331	pin_gpio_h1 {
332		gpio-hog;
333		gpios = <ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
334		input;
335		line-name = "BMC_RTCRST_N";
336	};
337
338	pin_gpio_h2 {
339		gpio-hog;
340		gpios = <ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
341		output-high;
342		line-name = "SYS_PWROK_BMC";
343	};
344
345	pin_gpio_h7 {
346		gpio-hog;
347		gpios = <ASPEED_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
348		output-high;
349		line-name = "BMC_TPM_INT_N";
350	};
351};
352
353&fsi {
354	cfam@0,0 {
355		reg = <0 0>;
356		#address-cells = <1>;
357		#size-cells = <1>;
358		chip-id = <0>;
359
360		scom@1000 {
361			compatible = "ibm,fsi2pib";
362			reg = <0x1000 0x400>;
363		};
364
365		fsi_hub0: hub@3400 {
366			compatible = "ibm,fsi-master-hub";
367			reg = <0x3400 0x400>;
368			#address-cells = <2>;
369			#size-cells = <0>;
370			no-scan-on-init;
371		};
372	};
373};
374