Merge branch 'elan-i2c' into next
[linux-2.6-microblaze.git] / arch / arm / boot / dts / aspeed-bmc-facebook-cmm.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright (c) 2018 Facebook Inc.
3 /dts-v1/;
4
5 #include "ast2500-facebook-netbmc-common.dtsi"
6
7 / {
8         model = "Facebook Backpack CMM BMC";
9         compatible = "facebook,cmm-bmc", "aspeed,ast2500";
10
11         aliases {
12                 /*
13                  * Override the default uart aliases to avoid breaking
14                  * the legacy applications.
15                  */
16                 serial0 = &uart5;
17                 serial1 = &uart1;
18                 serial2 = &uart3;
19                 serial3 = &uart4;
20
21                 /*
22                  * Hardcode the bus number of i2c switches' channels to
23                  * avoid breaking the legacy applications.
24                  */
25                 i2c16 = &imux16;
26                 i2c17 = &imux17;
27                 i2c18 = &imux18;
28                 i2c19 = &imux19;
29                 i2c20 = &imux20;
30                 i2c21 = &imux21;
31                 i2c22 = &imux22;
32                 i2c23 = &imux23;
33                 i2c24 = &imux24;
34                 i2c25 = &imux25;
35                 i2c26 = &imux26;
36                 i2c27 = &imux27;
37                 i2c28 = &imux28;
38                 i2c29 = &imux29;
39                 i2c30 = &imux30;
40                 i2c31 = &imux31;
41                 i2c32 = &imux32;
42                 i2c33 = &imux33;
43                 i2c34 = &imux34;
44                 i2c35 = &imux35;
45                 i2c36 = &imux36;
46                 i2c37 = &imux37;
47                 i2c38 = &imux38;
48                 i2c39 = &imux39;
49         };
50
51         chosen {
52                 stdout-path = &uart1;
53                 bootargs = "console=ttyS1,9600n8 root=/dev/ram rw earlyprintk";
54         };
55
56         ast-adc-hwmon {
57                 compatible = "iio-hwmon";
58                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
59                               <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
60         };
61 };
62
63 &uart1 {
64         pinctrl-0 = <&pinctrl_txd1_default
65                      &pinctrl_rxd1_default
66                      &pinctrl_ncts1_default
67                      &pinctrl_ndcd1_default
68                      &pinctrl_ndsr1_default
69                      &pinctrl_ndtr1_default
70                      &pinctrl_nrts1_default>;
71 };
72
73 &uart3 {
74         pinctrl-0 = <&pinctrl_txd3_default
75                      &pinctrl_rxd3_default
76                      &pinctrl_ncts3_default
77                      &pinctrl_ndcd3_default
78                      &pinctrl_nri3_default>;
79 };
80
81 &uart4 {
82         status = "okay";
83         pinctrl-names = "default";
84         pinctrl-0 = <&pinctrl_txd4_default
85                      &pinctrl_rxd4_default>;
86 };
87
88 /*
89  * I2C bus reserved for communication with COM-E.
90  */
91 &i2c0 {
92         status = "okay";
93 };
94
95 /*
96  * I2C bus to Line Cards and Fabric Cards.
97  */
98 &i2c1 {
99         status = "okay";
100
101         i2c-switch@77 {
102                 compatible = "nxp,pca9548";
103                 #address-cells = <1>;
104                 #size-cells = <0>;
105                 reg = <0x77>;
106
107                 imux16: i2c@0 {
108                         #address-cells = <1>;
109                         #size-cells = <0>;
110                         reg = <0>;
111                 };
112
113                 imux17: i2c@1 {
114                         #address-cells = <1>;
115                         #size-cells = <0>;
116                         reg = <1>;
117                 };
118
119                 imux18: i2c@2 {
120                         #address-cells = <1>;
121                         #size-cells = <0>;
122                         reg = <2>;
123                 };
124
125                 imux19: i2c@3 {
126                         #address-cells = <1>;
127                         #size-cells = <0>;
128                         reg = <3>;
129                 };
130
131                 imux20: i2c@4 {
132                         #address-cells = <1>;
133                         #size-cells = <0>;
134                         reg = <4>;
135                 };
136
137                 imux21: i2c@5 {
138                         #address-cells = <1>;
139                         #size-cells = <0>;
140                         reg = <5>;
141                 };
142
143                 imux22: i2c@6 {
144                         #address-cells = <1>;
145                         #size-cells = <0>;
146                         reg = <6>;
147                 };
148
149                 imux23: i2c@7 {
150                         #address-cells = <1>;
151                         #size-cells = <0>;
152                         reg = <7>;
153                 };
154         };
155 };
156
157 /*
158  * I2C bus to Power Distribution Board.
159  */
160 &i2c2 {
161         status = "okay";
162
163         i2c-switch@71 {
164                 compatible = "nxp,pca9548";
165                 #address-cells = <1>;
166                 #size-cells = <0>;
167                 reg = <0x71>;
168
169                 imux24: i2c@0 {
170                         #address-cells = <1>;
171                         #size-cells = <0>;
172                         reg = <0>;
173                 };
174
175                 imux25: i2c@1 {
176                         #address-cells = <1>;
177                         #size-cells = <0>;
178                         reg = <1>;
179                 };
180
181                 imux26: i2c@2 {
182                         #address-cells = <1>;
183                         #size-cells = <0>;
184                         reg = <2>;
185                 };
186
187                 imux27: i2c@3 {
188                         #address-cells = <1>;
189                         #size-cells = <0>;
190                         reg = <3>;
191                 };
192
193                 imux28: i2c@4 {
194                         #address-cells = <1>;
195                         #size-cells = <0>;
196                         reg = <4>;
197                 };
198
199                 imux29: i2c@5 {
200                         #address-cells = <1>;
201                         #size-cells = <0>;
202                         reg = <5>;
203                 };
204
205                 imux30: i2c@6 {
206                         #address-cells = <1>;
207                         #size-cells = <0>;
208                         reg = <6>;
209                 };
210
211                 imux31: i2c@7 {
212                         #address-cells = <1>;
213                         #size-cells = <0>;
214                         reg = <7>;
215                 };
216         };
217 };
218
219 /*
220  * I2c bus connected with temperature sensors on CMM.
221  */
222 &i2c3 {
223         status = "okay";
224 };
225
226 /*
227  * I2C bus reserved for communication with COM-E.
228  */
229 &i2c4 {
230         status = "okay";
231 };
232
233 /*
234  * I2c bus connected with ADM1278.
235  */
236 &i2c5 {
237         status = "okay";
238 };
239
240 /*
241  * I2c bus connected with I/O Expander.
242  */
243 &i2c6 {
244         status = "okay";
245 };
246
247 /*
248  * I2c bus connected with I/O Expander and EPROMs.
249  */
250 &i2c7 {
251         status = "okay";
252 };
253
254 /*
255  * I2C bus to Fan Control Board.
256  */
257 &i2c8 {
258         status = "okay";
259
260         i2c-switch@77 {
261                 compatible = "nxp,pca9548";
262                 #address-cells = <1>;
263                 #size-cells = <0>;
264                 reg = <0x77>;
265
266                 imux32: i2c@0 {
267                         #address-cells = <1>;
268                         #size-cells = <0>;
269                         reg = <0>;
270                 };
271
272                 imux33: i2c@1 {
273                         #address-cells = <1>;
274                         #size-cells = <0>;
275                         reg = <1>;
276                 };
277
278                 imux34: i2c@2 {
279                         #address-cells = <1>;
280                         #size-cells = <0>;
281                         reg = <2>;
282                 };
283
284                 imux35: i2c@3 {
285                         #address-cells = <1>;
286                         #size-cells = <0>;
287                         reg = <3>;
288                 };
289
290                 imux36: i2c@4 {
291                         #address-cells = <1>;
292                         #size-cells = <0>;
293                         reg = <4>;
294                 };
295
296                 imux37: i2c@5 {
297                         #address-cells = <1>;
298                         #size-cells = <0>;
299                         reg = <5>;
300                 };
301
302                 imux38: i2c@6 {
303                         #address-cells = <1>;
304                         #size-cells = <0>;
305                         reg = <6>;
306                 };
307
308                 imux39: i2c@7 {
309                         #address-cells = <1>;
310                         #size-cells = <0>;
311                         reg = <7>;
312                 };
313         };
314 };
315
316 /*
317  * I2C bus to CMM CPLD.
318  */
319 &i2c13 {
320         status = "okay";
321 };
322
323 &adc {
324         status = "okay";
325 };
326
327 &ehci0 {
328         status = "okay";
329 };
330
331 &ehci1 {
332         status = "okay";
333 };
334
335 &vhub {
336         status = "disabled";
337 };
338
339 &sdhci0 {
340         status = "okay";
341
342         pinctrl-names = "default";
343         pinctrl-0 = <&pinctrl_sd1_default>;
344 };
345
346 &sdhci1 {
347         status = "disabled";
348 };