1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright (c) 2019 Facebook Inc.
3 /dts-v1/;
4
5 #include <dt-bindings/gpio/aspeed-gpio.h>
6 #include "ast2500-facebook-netbmc-common.dtsi"
7
8 / {
9 model = "Facebook Wedge 400 BMC";
10 compatible = "facebook,wedge400-bmc", "aspeed,ast2500";
11
12 aliases {
13 /*
14 * PCA9548 (2-0070) provides 8 channels connecting to
15 * SCM (System Controller Module).
16 */
17 i2c16 = &imux16;
18 i2c17 = &imux17;
19 i2c18 = &imux18;
20 i2c19 = &imux19;
21 i2c20 = &imux20;
22 i2c21 = &imux21;
23 i2c22 = &imux22;
24 i2c23 = &imux23;
25
26 /*
27 * PCA9548 (8-0070) provides 8 channels connecting to
28 * SMB (Switch Main Board).
29 */
30 i2c24 = &imux24;
31 i2c25 = &imux25;
32 i2c26 = &imux26;
33 i2c27 = &imux27;
34 i2c28 = &imux28;
35 i2c29 = &imux29;
36 i2c30 = &imux30;
37 i2c31 = &imux31;
38
39 /*
40 * PCA9548 (11-0076) provides 8 channels connecting to
41 * FCM (Fan Controller Module).
42 */
43 i2c32 = &imux32;
44 i2c33 = &imux33;
45 i2c34 = &imux34;
46 i2c35 = &imux35;
47 i2c36 = &imux36;
48 i2c37 = &imux37;
49 i2c38 = &imux38;
50 i2c39 = &imux39;
51
52 spi2 = &spi_gpio;
53 };
54
55 chosen {
56 stdout-path = &uart1;
57 bootargs = "console=ttyS0,9600n8 root=/dev/ram rw";
58 };
59
60 ast-adc-hwmon {
61 compatible = "iio-hwmon";
62 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>;
63 };
64
65 /*
66 * GPIO-based SPI Master is required to access SPI TPM, because
67 * full-duplex SPI transactions are not supported by ASPEED SPI
68 * Controllers.
69 */
70 spi_gpio: spi-gpio {
71 status = "okay";
72 compatible = "spi-gpio";
73 #address-cells = <1>;
74 #size-cells = <0>;
75
76 cs-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_LOW>;
77 gpio-sck = <&gpio ASPEED_GPIO(R, 3) GPIO_ACTIVE_HIGH>;
78 gpio-mosi = <&gpio ASPEED_GPIO(R, 4) GPIO_ACTIVE_HIGH>;
79 gpio-miso = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_HIGH>;
80 num-chipselects = <1>;
81
82 tpmdev@0 {
83 compatible = "tcg,tpm_tis-spi";
84 spi-max-frequency = <33000000>;
85 reg = <0>;
86 };
87 };
88 };
89
90 /*
91 * Both firmware flashes are 128MB on Wedge400 BMC.
92 */
93 &fmc_flash0 {
94 #include "facebook-bmc-flash-layout-128.dtsi"
95 };
96
97 &fmc_flash1 {
98 partitions {
99 compatible = "fixed-partitions";
100 #address-cells = <1>;
101 #size-cells = <1>;
102
103 flash1@0 {
104 reg = <0x0 0x8000000>;
105 label = "flash1";
106 };
107 };
108 };
109
110 &uart2 {
111 status = "okay";
112 pinctrl-names = "default";
113 pinctrl-0 = <&pinctrl_txd2_default
114 &pinctrl_rxd2_default>;
115 };
116
117 &uart4 {
118 status = "okay";
119 pinctrl-names = "default";
120 pinctrl-0 = <&pinctrl_txd4_default
121 &pinctrl_rxd4_default>;
122 };
123
124 /*
125 * I2C bus #0 is multi-master environment dedicated for BMC and Bridge IC
126 * communication.
127 */
128 &i2c0 {
129 status = "okay";
130 multi-master;
131 bus-frequency = <1000000>;
132 };
133
134 &i2c1 {
135 status = "okay";
136 };
137
138 &i2c2 {
139 status = "okay";
140
141 i2c-switch@70 {
142 compatible = "nxp,pca9548";
143 #address-cells = <1>;
144 #size-cells = <0>;
145 reg = <0x70>;
146 i2c-mux-idle-disconnect;
147
148 imux16: i2c@0 {
149 #address-cells = <1>;
150 #size-cells = <0>;
151 reg = <0>;
152 };
153
154 imux17: i2c@1 {
155 #address-cells = <1>;
156 #size-cells = <0>;
157 reg = <1>;
158 };
159
160 imux18: i2c@2 {
161 #address-cells = <1>;
162 #size-cells = <0>;
163 reg = <2>;
164 };
165
166 imux19: i2c@3 {
167 #address-cells = <1>;
168 #size-cells = <0>;
169 reg = <3>;
170 };
171
172 imux20: i2c@4 {
173 #address-cells = <1>;
174 #size-cells = <0>;
175 reg = <4>;
176 };
177
178 imux21: i2c@5 {
179 #address-cells = <1>;
180 #size-cells = <0>;
181 reg = <5>;
182 };
183
184 imux22: i2c@6 {
185 #address-cells = <1>;
186 #size-cells = <0>;
187 reg = <6>;
188 };
189
190 imux23: i2c@7 {
191 #address-cells = <1>;
192 #size-cells = <0>;
193 reg = <7>;
194 };
195 };
196 };
197
198 &i2c3 {
199 status = "okay";
200 };
201
202 &i2c4 {
203 status = "okay";
204 };
205
206 &i2c5 {
207 status = "okay";
208 };
209
210 &i2c6 {
211 status = "okay";
212 };
213
214 &i2c7 {
215 status = "okay";
216 };
217
218 &i2c8 {
219 status = "okay";
220
221 i2c-switch@70 {
222 compatible = "nxp,pca9548";
223 #address-cells = <1>;
224 #size-cells = <0>;
225 reg = <0x70>;
226 i2c-mux-idle-disconnect;
227
228 imux24: i2c@0 {
229 #address-cells = <1>;
230 #size-cells = <0>;
231 reg = <0>;
232 };
233
234 imux25: i2c@1 {
235 #address-cells = <1>;
236 #size-cells = <0>;
237 reg = <1>;
238 };
239
240 imux26: i2c@2 {
241 #address-cells = <1>;
242 #size-cells = <0>;
243 reg = <2>;
244 };
245
246 imux27: i2c@3 {
247 #address-cells = <1>;
248 #size-cells = <0>;
249 reg = <3>;
250 };
251
252 imux28: i2c@4 {
253 #address-cells = <1>;
254 #size-cells = <0>;
255 reg = <4>;
256 };
257
258 imux29: i2c@5 {
259 #address-cells = <1>;
260 #size-cells = <0>;
261 reg = <5>;
262 };
263
264 imux30: i2c@6 {
265 #address-cells = <1>;
266 #size-cells = <0>;
267 reg = <6>;
268 };
269
270 imux31: i2c@7 {
271 #address-cells = <1>;
272 #size-cells = <0>;
273 reg = <7>;
274 };
275
276 };
277 };
278
279 &i2c9 {
280 status = "okay";
281 };
282
283 &i2c10 {
284 status = "okay";
285 };
286
287 &i2c11 {
288 status = "okay";
289
290 i2c-switch@76 {
291 compatible = "nxp,pca9548";
292 #address-cells = <1>;
293 #size-cells = <0>;
294 reg = <0x76>;
295 i2c-mux-idle-disconnect;
296
297 imux32: i2c@0 {
298 #address-cells = <1>;
299 #size-cells = <0>;
300 reg = <0>;
301 };
302
303 imux33: i2c@1 {
304 #address-cells = <1>;
305 #size-cells = <0>;
306 reg = <1>;
307 };
308
309 imux34: i2c@2 {
310 #address-cells = <1>;
311 #size-cells = <0>;
312 reg = <2>;
313 };
314
315 imux35: i2c@3 {
316 #address-cells = <1>;
317 #size-cells = <0>;
318 reg = <3>;
319 };
320
321 imux36: i2c@4 {
322 #address-cells = <1>;
323 #size-cells = <0>;
324 reg = <4>;
325 };
326
327 imux37: i2c@5 {
328 #address-cells = <1>;
329 #size-cells = <0>;
330 reg = <5>;
331 };
332
333 imux38: i2c@6 {
334 #address-cells = <1>;
335 #size-cells = <0>;
336 reg = <6>;
337 };
338
339 imux39: i2c@7 {
340 #address-cells = <1>;
341 #size-cells = <0>;
342 reg = <7>;
343 };
344
345 };
346 };
347
348 &i2c12 {
349 status = "okay";
350 };
351
352 &i2c13 {
353 status = "okay";
354 };
355
356 &adc {
357 status = "okay";
358 };
359
360 &ehci1 {
361 status = "okay";
362 };
363
364 &uhci {
365 status = "okay";
366 };
367
368 &sdhci1 {
369 /*
370 * DMA mode needs to be disabled to avoid conflicts with UHCI
371 * Controller in AST2500 SoC.
372 */
373 sdhci-caps-mask = <0x0 0x580000>;
374 };
Cache object: b4dcf04518b693dd969c48c9258dc3d1
|