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 earlycon";
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