Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.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 "aspeed-g5.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         memory@80000000 {
57                 reg = <0x80000000 0x20000000>;
58         };
59
60         ast-adc-hwmon {
61                 compatible = "iio-hwmon";
62                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
63                               <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
64         };
65 };
66
67 &pinctrl {
68         aspeed,external-nodes = <&gfx &lhc>;
69 };
70
71 /*
72  * Update reset type to "system" (full chip) to fix warm reboot hang issue
73  * when reset type is set to default ("soc", gated by reset mask registers).
74  */
75 &wdt1 {
76         status = "okay";
77         aspeed,reset-type = "system";
78 };
79
80 /*
81  * wdt2 is not used by Backpack CMM.
82  */
83 &wdt2 {
84         status = "disabled";
85 };
86
87 &fmc {
88         status = "okay";
89         flash@0 {
90                 status = "okay";
91                 m25p,fast-read;
92                 label = "bmc";
93 #include "facebook-bmc-flash-layout.dtsi"
94         };
95 };
96
97 &uart1 {
98         status = "okay";
99         pinctrl-names = "default";
100         pinctrl-0 = <&pinctrl_txd1_default
101                      &pinctrl_rxd1_default
102                      &pinctrl_ncts1_default
103                      &pinctrl_ndcd1_default
104                      &pinctrl_ndsr1_default
105                      &pinctrl_ndtr1_default
106                      &pinctrl_nrts1_default>;
107 };
108
109 &uart3 {
110         status = "okay";
111         pinctrl-names = "default";
112         pinctrl-0 = <&pinctrl_txd3_default
113                      &pinctrl_rxd3_default
114                      &pinctrl_ncts3_default
115                      &pinctrl_ndcd3_default
116                      &pinctrl_nri3_default>;
117 };
118
119 &uart4 {
120         status = "okay";
121         pinctrl-names = "default";
122         pinctrl-0 = <&pinctrl_txd4_default
123                      &pinctrl_rxd4_default>;
124 };
125
126 &uart5 {
127         status = "okay";
128 };
129
130 &mac1 {
131         status = "okay";
132         no-hw-checksum;
133         pinctrl-names = "default";
134         pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
135 };
136
137 /*
138  * I2C bus reserved for communication with COM-E.
139  */
140 &i2c0 {
141         status = "okay";
142 };
143
144 /*
145  * I2C bus to Line Cards and Fabric Cards.
146  */
147 &i2c1 {
148         status = "okay";
149
150         i2c-switch@77 {
151                 compatible = "nxp,pca9548";
152                 #address-cells = <1>;
153                 #size-cells = <0>;
154                 reg = <0x77>;
155
156                 imux16: i2c@0 {
157                         #address-cells = <1>;
158                         #size-cells = <0>;
159                         reg = <0>;
160                 };
161
162                 imux17: i2c@1 {
163                         #address-cells = <1>;
164                         #size-cells = <0>;
165                         reg = <1>;
166                 };
167
168                 imux18: i2c@2 {
169                         #address-cells = <1>;
170                         #size-cells = <0>;
171                         reg = <2>;
172                 };
173
174                 imux19: i2c@3 {
175                         #address-cells = <1>;
176                         #size-cells = <0>;
177                         reg = <3>;
178                 };
179
180                 imux20: i2c@4 {
181                         #address-cells = <1>;
182                         #size-cells = <0>;
183                         reg = <4>;
184                 };
185
186                 imux21: i2c@5 {
187                         #address-cells = <1>;
188                         #size-cells = <0>;
189                         reg = <5>;
190                 };
191
192                 imux22: i2c@6 {
193                         #address-cells = <1>;
194                         #size-cells = <0>;
195                         reg = <6>;
196                 };
197
198                 imux23: i2c@7 {
199                         #address-cells = <1>;
200                         #size-cells = <0>;
201                         reg = <7>;
202                 };
203         };
204 };
205
206 /*
207  * I2C bus to Power Distribution Board.
208  */
209 &i2c2 {
210         status = "okay";
211
212         i2c-switch@71 {
213                 compatible = "nxp,pca9548";
214                 #address-cells = <1>;
215                 #size-cells = <0>;
216                 reg = <0x71>;
217
218                 imux24: i2c@0 {
219                         #address-cells = <1>;
220                         #size-cells = <0>;
221                         reg = <0>;
222                 };
223
224                 imux25: i2c@1 {
225                         #address-cells = <1>;
226                         #size-cells = <0>;
227                         reg = <1>;
228                 };
229
230                 imux26: i2c@2 {
231                         #address-cells = <1>;
232                         #size-cells = <0>;
233                         reg = <2>;
234                 };
235
236                 imux27: i2c@3 {
237                         #address-cells = <1>;
238                         #size-cells = <0>;
239                         reg = <3>;
240                 };
241
242                 imux28: i2c@4 {
243                         #address-cells = <1>;
244                         #size-cells = <0>;
245                         reg = <4>;
246                 };
247
248                 imux29: i2c@5 {
249                         #address-cells = <1>;
250                         #size-cells = <0>;
251                         reg = <5>;
252                 };
253
254                 imux30: i2c@6 {
255                         #address-cells = <1>;
256                         #size-cells = <0>;
257                         reg = <6>;
258                 };
259
260                 imux31: i2c@7 {
261                         #address-cells = <1>;
262                         #size-cells = <0>;
263                         reg = <7>;
264                 };
265         };
266 };
267
268 /*
269  * I2c bus connected with temperature sensors on CMM.
270  */
271 &i2c3 {
272         status = "okay";
273 };
274
275 /*
276  * I2C bus reserved for communication with COM-E.
277  */
278 &i2c4 {
279         status = "okay";
280 };
281
282 /*
283  * I2c bus connected with ADM1278.
284  */
285 &i2c5 {
286         status = "okay";
287 };
288
289 /*
290  * I2c bus connected with I/O Expander.
291  */
292 &i2c6 {
293         status = "okay";
294 };
295
296 /*
297  * I2c bus connected with I/O Expander and EPROMs.
298  */
299 &i2c7 {
300         status = "okay";
301 };
302
303 /*
304  * I2C bus to Fan Control Board.
305  */
306 &i2c8 {
307         status = "okay";
308
309         i2c-switch@77 {
310                 compatible = "nxp,pca9548";
311                 #address-cells = <1>;
312                 #size-cells = <0>;
313                 reg = <0x77>;
314
315                 imux32: i2c@0 {
316                         #address-cells = <1>;
317                         #size-cells = <0>;
318                         reg = <0>;
319                 };
320
321                 imux33: i2c@1 {
322                         #address-cells = <1>;
323                         #size-cells = <0>;
324                         reg = <1>;
325                 };
326
327                 imux34: i2c@2 {
328                         #address-cells = <1>;
329                         #size-cells = <0>;
330                         reg = <2>;
331                 };
332
333                 imux35: i2c@3 {
334                         #address-cells = <1>;
335                         #size-cells = <0>;
336                         reg = <3>;
337                 };
338
339                 imux36: i2c@4 {
340                         #address-cells = <1>;
341                         #size-cells = <0>;
342                         reg = <4>;
343                 };
344
345                 imux37: i2c@5 {
346                         #address-cells = <1>;
347                         #size-cells = <0>;
348                         reg = <5>;
349                 };
350
351                 imux38: i2c@6 {
352                         #address-cells = <1>;
353                         #size-cells = <0>;
354                         reg = <6>;
355                 };
356
357                 imux39: i2c@7 {
358                         #address-cells = <1>;
359                         #size-cells = <0>;
360                         reg = <7>;
361                 };
362         };
363 };
364
365 /*
366  * I2C bus to CMM CPLD.
367  */
368 &i2c13 {
369         status = "okay";
370 };
371
372 &adc {
373         status = "okay";
374 };