xref: /linux/scripts/dtc/include-prefixes/arm/aspeed/aspeed-bmc-facebook-wedge400.dts (revision 06d07429858317ded2db7986113a9e0129cd599b)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+
2724ba675SRob Herring// Copyright (c) 2019 Facebook Inc.
3724ba675SRob Herring/dts-v1/;
4724ba675SRob Herring
5724ba675SRob Herring#include <dt-bindings/gpio/aspeed-gpio.h>
6724ba675SRob Herring#include "ast2500-facebook-netbmc-common.dtsi"
7724ba675SRob Herring
8724ba675SRob Herring/ {
9724ba675SRob Herring	model = "Facebook Wedge 400 BMC";
10724ba675SRob Herring	compatible = "facebook,wedge400-bmc", "aspeed,ast2500";
11724ba675SRob Herring
12724ba675SRob Herring	aliases {
13724ba675SRob Herring		/*
14724ba675SRob Herring		 * PCA9548 (2-0070) provides 8 channels connecting to
15724ba675SRob Herring		 * SCM (System Controller Module).
16724ba675SRob Herring		 */
17724ba675SRob Herring		i2c16 = &imux16;
18724ba675SRob Herring		i2c17 = &imux17;
19724ba675SRob Herring		i2c18 = &imux18;
20724ba675SRob Herring		i2c19 = &imux19;
21724ba675SRob Herring		i2c20 = &imux20;
22724ba675SRob Herring		i2c21 = &imux21;
23724ba675SRob Herring		i2c22 = &imux22;
24724ba675SRob Herring		i2c23 = &imux23;
25724ba675SRob Herring
26724ba675SRob Herring		/*
27724ba675SRob Herring		 * PCA9548 (8-0070) provides 8 channels connecting to
28724ba675SRob Herring		 * SMB (Switch Main Board).
29724ba675SRob Herring		 */
30724ba675SRob Herring		i2c24 = &imux24;
31724ba675SRob Herring		i2c25 = &imux25;
32724ba675SRob Herring		i2c26 = &imux26;
33724ba675SRob Herring		i2c27 = &imux27;
34724ba675SRob Herring		i2c28 = &imux28;
35724ba675SRob Herring		i2c29 = &imux29;
36724ba675SRob Herring		i2c30 = &imux30;
37724ba675SRob Herring		i2c31 = &imux31;
38724ba675SRob Herring
39724ba675SRob Herring		/*
40724ba675SRob Herring		 * PCA9548 (11-0076) provides 8 channels connecting to
41724ba675SRob Herring		 * FCM (Fan Controller Module).
42724ba675SRob Herring		 */
43724ba675SRob Herring		i2c32 = &imux32;
44724ba675SRob Herring		i2c33 = &imux33;
45724ba675SRob Herring		i2c34 = &imux34;
46724ba675SRob Herring		i2c35 = &imux35;
47724ba675SRob Herring		i2c36 = &imux36;
48724ba675SRob Herring		i2c37 = &imux37;
49724ba675SRob Herring		i2c38 = &imux38;
50724ba675SRob Herring		i2c39 = &imux39;
51724ba675SRob Herring
52724ba675SRob Herring		spi2 = &spi_gpio;
53724ba675SRob Herring	};
54724ba675SRob Herring
55724ba675SRob Herring	chosen {
56724ba675SRob Herring		stdout-path = &uart1;
57724ba675SRob Herring		bootargs = "console=ttyS0,9600n8 root=/dev/ram rw";
58724ba675SRob Herring	};
59724ba675SRob Herring
60724ba675SRob Herring	ast-adc-hwmon {
61724ba675SRob Herring		compatible = "iio-hwmon";
622901b71cSTao Ren		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
632901b71cSTao Ren			      <&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>;
64724ba675SRob Herring	};
65724ba675SRob Herring
66724ba675SRob Herring	/*
67724ba675SRob Herring	 * GPIO-based SPI Master is required to access SPI TPM, because
68724ba675SRob Herring	 * full-duplex SPI transactions are not supported by ASPEED SPI
69724ba675SRob Herring	 * Controllers.
70724ba675SRob Herring	 */
71724ba675SRob Herring	spi_gpio: spi {
72724ba675SRob Herring		status = "okay";
73724ba675SRob Herring		compatible = "spi-gpio";
74724ba675SRob Herring		#address-cells = <1>;
75724ba675SRob Herring		#size-cells = <0>;
76724ba675SRob Herring
77724ba675SRob Herring		cs-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_LOW>;
78724ba675SRob Herring		gpio-sck = <&gpio ASPEED_GPIO(R, 3) GPIO_ACTIVE_HIGH>;
79724ba675SRob Herring		gpio-mosi = <&gpio ASPEED_GPIO(R, 4) GPIO_ACTIVE_HIGH>;
80724ba675SRob Herring		gpio-miso = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_HIGH>;
81724ba675SRob Herring		num-chipselects = <1>;
82724ba675SRob Herring
83*8412c47dSLukas Wunner		tpm@0 {
84*8412c47dSLukas Wunner			compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
85724ba675SRob Herring			spi-max-frequency = <33000000>;
86724ba675SRob Herring			reg = <0>;
87724ba675SRob Herring		};
88724ba675SRob Herring	};
89724ba675SRob Herring};
90724ba675SRob Herring
91724ba675SRob Herring/*
92724ba675SRob Herring * Both firmware flashes are 128MB on Wedge400 BMC.
93724ba675SRob Herring */
94724ba675SRob Herring&fmc_flash0 {
95724ba675SRob Herring#include "facebook-bmc-flash-layout-128.dtsi"
96724ba675SRob Herring};
97724ba675SRob Herring
98724ba675SRob Herring&fmc_flash1 {
99724ba675SRob Herring	partitions {
100724ba675SRob Herring		compatible = "fixed-partitions";
101724ba675SRob Herring		#address-cells = <1>;
102724ba675SRob Herring		#size-cells = <1>;
103724ba675SRob Herring
104724ba675SRob Herring		flash1@0 {
105724ba675SRob Herring			reg = <0x0 0x8000000>;
106724ba675SRob Herring			label = "flash1";
107724ba675SRob Herring		};
108724ba675SRob Herring	};
109724ba675SRob Herring};
110724ba675SRob Herring
111724ba675SRob Herring&uart2 {
112724ba675SRob Herring	status = "okay";
113724ba675SRob Herring	pinctrl-names = "default";
114724ba675SRob Herring	pinctrl-0 = <&pinctrl_txd2_default
115724ba675SRob Herring		     &pinctrl_rxd2_default>;
116724ba675SRob Herring};
117724ba675SRob Herring
118724ba675SRob Herring&uart4 {
119724ba675SRob Herring	status = "okay";
120724ba675SRob Herring	pinctrl-names = "default";
121724ba675SRob Herring	pinctrl-0 = <&pinctrl_txd4_default
122724ba675SRob Herring		     &pinctrl_rxd4_default>;
123724ba675SRob Herring};
124724ba675SRob Herring
125724ba675SRob Herring/*
126724ba675SRob Herring * I2C bus #0 is multi-master environment dedicated for BMC and Bridge IC
127724ba675SRob Herring * communication.
128724ba675SRob Herring */
129724ba675SRob Herring&i2c0 {
130724ba675SRob Herring	status = "okay";
131724ba675SRob Herring	multi-master;
132724ba675SRob Herring	bus-frequency = <1000000>;
133724ba675SRob Herring};
134724ba675SRob Herring
135724ba675SRob Herring&i2c1 {
136724ba675SRob Herring	status = "okay";
137724ba675SRob Herring};
138724ba675SRob Herring
139724ba675SRob Herring&i2c2 {
140724ba675SRob Herring	status = "okay";
141724ba675SRob Herring
1424b46d86cSGeert Uytterhoeven	i2c-mux@70 {
143724ba675SRob Herring		compatible = "nxp,pca9548";
144724ba675SRob Herring		#address-cells = <1>;
145724ba675SRob Herring		#size-cells = <0>;
146724ba675SRob Herring		reg = <0x70>;
147724ba675SRob Herring		i2c-mux-idle-disconnect;
148724ba675SRob Herring
149724ba675SRob Herring		imux16: i2c@0 {
150724ba675SRob Herring			#address-cells = <1>;
151724ba675SRob Herring			#size-cells = <0>;
152724ba675SRob Herring			reg = <0>;
153724ba675SRob Herring		};
154724ba675SRob Herring
155724ba675SRob Herring		imux17: i2c@1 {
156724ba675SRob Herring			#address-cells = <1>;
157724ba675SRob Herring			#size-cells = <0>;
158724ba675SRob Herring			reg = <1>;
159724ba675SRob Herring		};
160724ba675SRob Herring
161724ba675SRob Herring		imux18: i2c@2 {
162724ba675SRob Herring			#address-cells = <1>;
163724ba675SRob Herring			#size-cells = <0>;
164724ba675SRob Herring			reg = <2>;
165724ba675SRob Herring		};
166724ba675SRob Herring
167724ba675SRob Herring		imux19: i2c@3 {
168724ba675SRob Herring			#address-cells = <1>;
169724ba675SRob Herring			#size-cells = <0>;
170724ba675SRob Herring			reg = <3>;
171724ba675SRob Herring		};
172724ba675SRob Herring
173724ba675SRob Herring		imux20: i2c@4 {
174724ba675SRob Herring			#address-cells = <1>;
175724ba675SRob Herring			#size-cells = <0>;
176724ba675SRob Herring			reg = <4>;
177724ba675SRob Herring		};
178724ba675SRob Herring
179724ba675SRob Herring		imux21: i2c@5 {
180724ba675SRob Herring			#address-cells = <1>;
181724ba675SRob Herring			#size-cells = <0>;
182724ba675SRob Herring			reg = <5>;
183724ba675SRob Herring		};
184724ba675SRob Herring
185724ba675SRob Herring		imux22: i2c@6 {
186724ba675SRob Herring			#address-cells = <1>;
187724ba675SRob Herring			#size-cells = <0>;
188724ba675SRob Herring			reg = <6>;
189724ba675SRob Herring		};
190724ba675SRob Herring
191724ba675SRob Herring		imux23: i2c@7 {
192724ba675SRob Herring			#address-cells = <1>;
193724ba675SRob Herring			#size-cells = <0>;
194724ba675SRob Herring			reg = <7>;
195724ba675SRob Herring		};
196724ba675SRob Herring	};
197724ba675SRob Herring};
198724ba675SRob Herring
199724ba675SRob Herring&i2c3 {
200724ba675SRob Herring	status = "okay";
201724ba675SRob Herring};
202724ba675SRob Herring
203724ba675SRob Herring&i2c4 {
204724ba675SRob Herring	status = "okay";
205724ba675SRob Herring};
206724ba675SRob Herring
207724ba675SRob Herring&i2c5 {
208724ba675SRob Herring	status = "okay";
209724ba675SRob Herring};
210724ba675SRob Herring
211724ba675SRob Herring&i2c6 {
212724ba675SRob Herring	status = "okay";
213724ba675SRob Herring};
214724ba675SRob Herring
215724ba675SRob Herring&i2c7 {
216724ba675SRob Herring	status = "okay";
217724ba675SRob Herring};
218724ba675SRob Herring
219724ba675SRob Herring&i2c8 {
220724ba675SRob Herring	status = "okay";
221724ba675SRob Herring
2224b46d86cSGeert Uytterhoeven	i2c-mux@70 {
223724ba675SRob Herring		compatible = "nxp,pca9548";
224724ba675SRob Herring		#address-cells = <1>;
225724ba675SRob Herring		#size-cells = <0>;
226724ba675SRob Herring		reg = <0x70>;
227724ba675SRob Herring		i2c-mux-idle-disconnect;
228724ba675SRob Herring
229724ba675SRob Herring		imux24: i2c@0 {
230724ba675SRob Herring			#address-cells = <1>;
231724ba675SRob Herring			#size-cells = <0>;
232724ba675SRob Herring			reg = <0>;
233724ba675SRob Herring		};
234724ba675SRob Herring
235724ba675SRob Herring		imux25: i2c@1 {
236724ba675SRob Herring			#address-cells = <1>;
237724ba675SRob Herring			#size-cells = <0>;
238724ba675SRob Herring			reg = <1>;
239724ba675SRob Herring		};
240724ba675SRob Herring
241724ba675SRob Herring		imux26: i2c@2 {
242724ba675SRob Herring			#address-cells = <1>;
243724ba675SRob Herring			#size-cells = <0>;
244724ba675SRob Herring			reg = <2>;
245724ba675SRob Herring		};
246724ba675SRob Herring
247724ba675SRob Herring		imux27: i2c@3 {
248724ba675SRob Herring			#address-cells = <1>;
249724ba675SRob Herring			#size-cells = <0>;
250724ba675SRob Herring			reg = <3>;
251724ba675SRob Herring		};
252724ba675SRob Herring
253724ba675SRob Herring		imux28: i2c@4 {
254724ba675SRob Herring			#address-cells = <1>;
255724ba675SRob Herring			#size-cells = <0>;
256724ba675SRob Herring			reg = <4>;
257724ba675SRob Herring		};
258724ba675SRob Herring
259724ba675SRob Herring		imux29: i2c@5 {
260724ba675SRob Herring			#address-cells = <1>;
261724ba675SRob Herring			#size-cells = <0>;
262724ba675SRob Herring			reg = <5>;
263724ba675SRob Herring		};
264724ba675SRob Herring
265724ba675SRob Herring		imux30: i2c@6 {
266724ba675SRob Herring			#address-cells = <1>;
267724ba675SRob Herring			#size-cells = <0>;
268724ba675SRob Herring			reg = <6>;
269724ba675SRob Herring		};
270724ba675SRob Herring
271724ba675SRob Herring		imux31: i2c@7 {
272724ba675SRob Herring			#address-cells = <1>;
273724ba675SRob Herring			#size-cells = <0>;
274724ba675SRob Herring			reg = <7>;
275724ba675SRob Herring		};
276724ba675SRob Herring
277724ba675SRob Herring	};
278724ba675SRob Herring};
279724ba675SRob Herring
280724ba675SRob Herring&i2c9 {
281724ba675SRob Herring	status = "okay";
282724ba675SRob Herring};
283724ba675SRob Herring
284724ba675SRob Herring&i2c10 {
285724ba675SRob Herring	status = "okay";
286724ba675SRob Herring};
287724ba675SRob Herring
288724ba675SRob Herring&i2c11 {
289724ba675SRob Herring	status = "okay";
290724ba675SRob Herring
2914b46d86cSGeert Uytterhoeven	i2c-mux@76 {
292724ba675SRob Herring		compatible = "nxp,pca9548";
293724ba675SRob Herring		#address-cells = <1>;
294724ba675SRob Herring		#size-cells = <0>;
295724ba675SRob Herring		reg = <0x76>;
296724ba675SRob Herring		i2c-mux-idle-disconnect;
297724ba675SRob Herring
298724ba675SRob Herring		imux32: i2c@0 {
299724ba675SRob Herring			#address-cells = <1>;
300724ba675SRob Herring			#size-cells = <0>;
301724ba675SRob Herring			reg = <0>;
302724ba675SRob Herring		};
303724ba675SRob Herring
304724ba675SRob Herring		imux33: i2c@1 {
305724ba675SRob Herring			#address-cells = <1>;
306724ba675SRob Herring			#size-cells = <0>;
307724ba675SRob Herring			reg = <1>;
308724ba675SRob Herring		};
309724ba675SRob Herring
310724ba675SRob Herring		imux34: i2c@2 {
311724ba675SRob Herring			#address-cells = <1>;
312724ba675SRob Herring			#size-cells = <0>;
313724ba675SRob Herring			reg = <2>;
314724ba675SRob Herring		};
315724ba675SRob Herring
316724ba675SRob Herring		imux35: i2c@3 {
317724ba675SRob Herring			#address-cells = <1>;
318724ba675SRob Herring			#size-cells = <0>;
319724ba675SRob Herring			reg = <3>;
320724ba675SRob Herring		};
321724ba675SRob Herring
322724ba675SRob Herring		imux36: i2c@4 {
323724ba675SRob Herring			#address-cells = <1>;
324724ba675SRob Herring			#size-cells = <0>;
325724ba675SRob Herring			reg = <4>;
326724ba675SRob Herring		};
327724ba675SRob Herring
328724ba675SRob Herring		imux37: i2c@5 {
329724ba675SRob Herring			#address-cells = <1>;
330724ba675SRob Herring			#size-cells = <0>;
331724ba675SRob Herring			reg = <5>;
332724ba675SRob Herring		};
333724ba675SRob Herring
334724ba675SRob Herring		imux38: i2c@6 {
335724ba675SRob Herring			#address-cells = <1>;
336724ba675SRob Herring			#size-cells = <0>;
337724ba675SRob Herring			reg = <6>;
338724ba675SRob Herring		};
339724ba675SRob Herring
340724ba675SRob Herring		imux39: i2c@7 {
341724ba675SRob Herring			#address-cells = <1>;
342724ba675SRob Herring			#size-cells = <0>;
343724ba675SRob Herring			reg = <7>;
344724ba675SRob Herring		};
345724ba675SRob Herring
346724ba675SRob Herring	};
347724ba675SRob Herring};
348724ba675SRob Herring
349724ba675SRob Herring&i2c12 {
350724ba675SRob Herring	status = "okay";
351724ba675SRob Herring};
352724ba675SRob Herring
353724ba675SRob Herring&i2c13 {
354724ba675SRob Herring	status = "okay";
355724ba675SRob Herring};
356724ba675SRob Herring
357724ba675SRob Herring&adc {
358724ba675SRob Herring	status = "okay";
359724ba675SRob Herring};
360724ba675SRob Herring
361724ba675SRob Herring&ehci1 {
362724ba675SRob Herring	status = "okay";
363724ba675SRob Herring};
364724ba675SRob Herring
365724ba675SRob Herring&uhci {
366724ba675SRob Herring	status = "okay";
367724ba675SRob Herring};
368724ba675SRob Herring
369724ba675SRob Herring&sdhci1 {
3708dc783d9STao Ren	max-frequency = <25000000>;
371724ba675SRob Herring	/*
372724ba675SRob Herring	 * DMA mode needs to be disabled to avoid conflicts with UHCI
373724ba675SRob Herring	 * Controller in AST2500 SoC.
374724ba675SRob Herring	 */
375724ba675SRob Herring	sdhci-caps-mask = <0x0 0x580000>;
376724ba675SRob Herring};
377