1// SPDX-License-Identifier: GPL-2.0+
2// Copyright (c) 2018 Facebook Inc.
3/dts-v1/;
4
5#include "aspeed-g5.dtsi"
6
7/ {
8	model = "Facebook Minipack 100 BMC";
9	compatible = "facebook,minipack-bmc", "aspeed,ast2500";
10
11	aliases {
12		/*
13		 * Override the default serial aliases to avoid breaking
14		 * the legacy applications.
15		 */
16		serial0 = &uart5;
17		serial1 = &uart1;
18		serial2 = &uart2;
19		serial3 = &uart3;
20		serial4 = &uart4;
21
22		/*
23		 * i2c switch 2-0070, pca9548, 8 child channels assigned
24		 * with bus number 16-23.
25		 */
26		i2c16 = &imux16;
27		i2c17 = &imux17;
28		i2c18 = &imux18;
29		i2c19 = &imux19;
30		i2c20 = &imux20;
31		i2c21 = &imux21;
32		i2c22 = &imux22;
33		i2c23 = &imux23;
34
35		/*
36		 * i2c switch 8-0070, pca9548, 8 child channels assigned
37		 * with bus number 24-31.
38		 */
39		i2c24 = &imux24;
40		i2c25 = &imux25;
41		i2c26 = &imux26;
42		i2c27 = &imux27;
43		i2c28 = &imux28;
44		i2c29 = &imux29;
45		i2c30 = &imux30;
46		i2c31 = &imux31;
47
48		/*
49		 * i2c switch 9-0070, pca9548, 8 child channels assigned
50		 * with bus number 32-39.
51		 */
52		i2c32 = &imux32;
53		i2c33 = &imux33;
54		i2c34 = &imux34;
55		i2c35 = &imux35;
56		i2c36 = &imux36;
57		i2c37 = &imux37;
58		i2c38 = &imux38;
59		i2c39 = &imux39;
60
61		/*
62		 * i2c switch 11-0070, pca9548, 8 child channels assigned
63		 * with bus number 40-47.
64		 */
65		i2c40 = &imux40;
66		i2c41 = &imux41;
67		i2c42 = &imux42;
68		i2c43 = &imux43;
69		i2c44 = &imux44;
70		i2c45 = &imux45;
71		i2c46 = &imux46;
72		i2c47 = &imux47;
73	};
74
75	chosen {
76		stdout-path = &uart1;
77		bootargs = "debug console=ttyS1,9600n8 root=/dev/ram rw";
78	};
79
80	memory@80000000 {
81		reg = <0x80000000 0x20000000>;
82	};
83};
84
85&wdt1 {
86	status = "okay";
87	aspeed,reset-type = "system";
88};
89
90&wdt2 {
91	status = "okay";
92	aspeed,reset-type = "system";
93};
94
95&fmc {
96	status = "okay";
97	flash@0 {
98		status = "okay";
99		m25p,fast-read;
100		label = "bmc";
101#include "facebook-bmc-flash-layout.dtsi"
102	};
103};
104
105&uart1 {
106	status = "okay";
107	pinctrl-names = "default";
108	pinctrl-0 = <&pinctrl_txd1_default
109		     &pinctrl_rxd1_default
110		     &pinctrl_ncts1_default
111		     &pinctrl_ndsr1_default
112		     &pinctrl_ndtr1_default
113		     &pinctrl_nrts1_default>;
114};
115
116&uart2 {
117	status = "okay";
118	pinctrl-names = "default";
119	pinctrl-0 = <&pinctrl_txd2_default
120		     &pinctrl_rxd2_default>;
121};
122
123&uart3 {
124	status = "okay";
125	pinctrl-names = "default";
126	pinctrl-0 = <&pinctrl_txd3_default
127		     &pinctrl_rxd3_default>;
128};
129
130&uart4 {
131	status = "okay";
132	pinctrl-names = "default";
133	pinctrl-0 = <&pinctrl_txd4_default
134		     &pinctrl_rxd4_default>;
135};
136
137&uart5 {
138	status = "okay";
139};
140
141&mac1 {
142	status = "okay";
143	no-hw-checksum;
144	pinctrl-names = "default";
145	pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
146};
147
148&i2c0 {
149	status = "okay";
150	bus-frequency = <400000>;
151	multi-master;
152};
153
154&i2c1 {
155	status = "okay";
156};
157
158&i2c2 {
159	status = "okay";
160
161	i2c-switch@70 {
162		compatible = "nxp,pca9548";
163		#address-cells = <1>;
164		#size-cells = <0>;
165		reg = <0x70>;
166
167		imux16: i2c@0 {
168			#address-cells = <1>;
169			#size-cells = <0>;
170			reg = <0>;
171		};
172
173		imux17: i2c@1 {
174			#address-cells = <1>;
175			#size-cells = <0>;
176			reg = <1>;
177		};
178
179		imux18: i2c@2 {
180			#address-cells = <1>;
181			#size-cells = <0>;
182			reg = <2>;
183		};
184
185		imux19: i2c@3 {
186			#address-cells = <1>;
187			#size-cells = <0>;
188			reg = <3>;
189		};
190
191		imux20: i2c@4 {
192			#address-cells = <1>;
193			#size-cells = <0>;
194			reg = <4>;
195		};
196
197		imux21: i2c@5 {
198			#address-cells = <1>;
199			#size-cells = <0>;
200			reg = <5>;
201		};
202
203		imux22: i2c@6 {
204			#address-cells = <1>;
205			#size-cells = <0>;
206			reg = <6>;
207		};
208
209		imux23: i2c@7 {
210			#address-cells = <1>;
211			#size-cells = <0>;
212			reg = <7>;
213		};
214	};
215};
216
217&i2c3 {
218	status = "okay";
219};
220
221&i2c4 {
222	status = "okay";
223	multi-master;
224};
225
226&i2c5 {
227	status = "okay";
228};
229
230&i2c6 {
231	status = "okay";
232};
233
234&i2c7 {
235	status = "okay";
236};
237
238&i2c8 {
239	status = "okay";
240
241	i2c-switch@70 {
242		compatible = "nxp,pca9548";
243		#address-cells = <1>;
244		#size-cells = <0>;
245		reg = <0x70>;
246
247		imux24: i2c@0 {
248			#address-cells = <1>;
249			#size-cells = <0>;
250			reg = <0>;
251		};
252
253		imux25: i2c@1 {
254			#address-cells = <1>;
255			#size-cells = <0>;
256			reg = <1>;
257		};
258
259		imux26: i2c@2 {
260			#address-cells = <1>;
261			#size-cells = <0>;
262			reg = <2>;
263		};
264
265		imux27: i2c@3 {
266			#address-cells = <1>;
267			#size-cells = <0>;
268			reg = <3>;
269		};
270
271		imux28: i2c@4 {
272			#address-cells = <1>;
273			#size-cells = <0>;
274			reg = <4>;
275		};
276
277		imux29: i2c@5 {
278			#address-cells = <1>;
279			#size-cells = <0>;
280			reg = <5>;
281		};
282
283		imux30: i2c@6 {
284			#address-cells = <1>;
285			#size-cells = <0>;
286			reg = <6>;
287		};
288
289		imux31: i2c@7 {
290			#address-cells = <1>;
291			#size-cells = <0>;
292			reg = <7>;
293		};
294	};
295};
296
297&i2c9 {
298	status = "okay";
299
300	i2c-switch@70 {
301		compatible = "nxp,pca9548";
302		#address-cells = <1>;
303		#size-cells = <0>;
304		reg = <0x70>;
305
306		imux32: i2c@0 {
307			#address-cells = <1>;
308			#size-cells = <0>;
309			reg = <0>;
310		};
311
312		imux33: i2c@1 {
313			#address-cells = <1>;
314			#size-cells = <0>;
315			reg = <1>;
316		};
317
318		imux34: i2c@2 {
319			#address-cells = <1>;
320			#size-cells = <0>;
321			reg = <2>;
322		};
323
324		imux35: i2c@3 {
325			#address-cells = <1>;
326			#size-cells = <0>;
327			reg = <3>;
328		};
329
330		imux36: i2c@4 {
331			#address-cells = <1>;
332			#size-cells = <0>;
333			reg = <4>;
334		};
335
336		imux37: i2c@5 {
337			#address-cells = <1>;
338			#size-cells = <0>;
339			reg = <5>;
340		};
341
342		imux38: i2c@6 {
343			#address-cells = <1>;
344			#size-cells = <0>;
345			reg = <6>;
346		};
347
348		imux39: i2c@7 {
349			#address-cells = <1>;
350			#size-cells = <0>;
351			reg = <7>;
352		};
353	};
354};
355
356&i2c10 {
357	status = "okay";
358};
359
360&i2c11 {
361	status = "okay";
362
363	i2c-switch@70 {
364		compatible = "nxp,pca9548";
365		#address-cells = <1>;
366		#size-cells = <0>;
367		reg = <0x70>;
368
369		imux40: i2c@0 {
370			#address-cells = <1>;
371			#size-cells = <0>;
372			reg = <0>;
373		};
374
375		imux41: i2c@1 {
376			#address-cells = <1>;
377			#size-cells = <0>;
378			reg = <1>;
379		};
380
381		imux42: i2c@2 {
382			#address-cells = <1>;
383			#size-cells = <0>;
384			reg = <2>;
385		};
386
387		imux43: i2c@3 {
388			#address-cells = <1>;
389			#size-cells = <0>;
390			reg = <3>;
391		};
392
393		imux44: i2c@4 {
394			#address-cells = <1>;
395			#size-cells = <0>;
396			reg = <4>;
397		};
398
399		imux45: i2c@5 {
400			#address-cells = <1>;
401			#size-cells = <0>;
402			reg = <5>;
403		};
404
405		imux46: i2c@6 {
406			#address-cells = <1>;
407			#size-cells = <0>;
408			reg = <6>;
409		};
410
411		imux47: i2c@7 {
412			#address-cells = <1>;
413			#size-cells = <0>;
414			reg = <7>;
415		};
416	};
417};
418
419&i2c12 {
420	status = "okay";
421};
422
423&i2c13 {
424	status = "okay";
425};
426
427&vhub {
428	status = "okay";
429};
430