Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[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                  * PCA9548 (1-0077) provides 8 channels for connecting to
23                  * 4 Line Cards and 4 Fabric Cards.
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
34                 /*
35                  * PCA9548 (2-0071) provides 8 channels for connecting to
36                  * Power Distribution Board.
37                  */
38                 i2c24 = &imux24;
39                 i2c25 = &imux25;
40                 i2c26 = &imux26;
41                 i2c27 = &imux27;
42                 i2c28 = &imux28;
43                 i2c29 = &imux29;
44                 i2c30 = &imux30;
45                 i2c31 = &imux31;
46
47                 /*
48                  * PCA9548 (8-0077) provides 8 channels and the first 4
49                  * channels are connecting to 4 Fan Control Boards.
50                  */
51                 i2c32 = &imux32;
52                 i2c33 = &imux33;
53                 i2c34 = &imux34;
54                 i2c35 = &imux35;
55                 i2c36 = &imux36;
56                 i2c37 = &imux37;
57                 i2c38 = &imux38;
58                 i2c39 = &imux39;
59
60                 /*
61                  * 2 PCA9548 (18-0070 & 18-0073), 16 channels connecting
62                  * to Line Card #1.
63                  */
64                 i2c40 = &imux40;
65                 i2c41 = &imux41;
66                 i2c42 = &imux42;
67                 i2c43 = &imux43;
68                 i2c44 = &imux44;
69                 i2c45 = &imux45;
70                 i2c46 = &imux46;
71                 i2c47 = &imux47;
72                 i2c48 = &imux48;
73                 i2c49 = &imux49;
74                 i2c50 = &imux50;
75                 i2c51 = &imux51;
76                 i2c52 = &imux52;
77                 i2c53 = &imux53;
78                 i2c54 = &imux54;
79                 i2c55 = &imux55;
80
81                 /*
82                  * 2 PCA9548 (19-0070 & 19-0073), 16 channels connecting
83                  * to Line Card #2.
84                  */
85                 i2c56 = &imux56;
86                 i2c57 = &imux57;
87                 i2c58 = &imux58;
88                 i2c59 = &imux59;
89                 i2c60 = &imux60;
90                 i2c61 = &imux61;
91                 i2c62 = &imux62;
92                 i2c63 = &imux63;
93                 i2c64 = &imux64;
94                 i2c65 = &imux65;
95                 i2c66 = &imux66;
96                 i2c67 = &imux67;
97                 i2c68 = &imux68;
98                 i2c69 = &imux69;
99                 i2c70 = &imux70;
100                 i2c71 = &imux71;
101
102                 /*
103                  * 2 PCA9548 (20-0070 & 20-0073), 16 channels connecting
104                  * to Line Card #3.
105                  */
106                 i2c72 = &imux72;
107                 i2c73 = &imux73;
108                 i2c74 = &imux74;
109                 i2c75 = &imux75;
110                 i2c76 = &imux76;
111                 i2c77 = &imux77;
112                 i2c78 = &imux78;
113                 i2c79 = &imux79;
114                 i2c80 = &imux80;
115                 i2c81 = &imux81;
116                 i2c82 = &imux82;
117                 i2c83 = &imux83;
118                 i2c84 = &imux84;
119                 i2c85 = &imux85;
120                 i2c86 = &imux86;
121                 i2c87 = &imux87;
122
123                 /*
124                  * 2 PCA9548 (21-0070 & 21-0073), 16 channels connecting
125                  * to Line Card #4.
126                  */
127                 i2c88 = &imux88;
128                 i2c89 = &imux89;
129                 i2c90 = &imux90;
130                 i2c91 = &imux91;
131                 i2c92 = &imux92;
132                 i2c93 = &imux93;
133                 i2c94 = &imux94;
134                 i2c95 = &imux95;
135                 i2c96 = &imux96;
136                 i2c97 = &imux97;
137                 i2c98 = &imux98;
138                 i2c99 = &imux99;
139                 i2c100 = &imux100;
140                 i2c101 = &imux101;
141                 i2c102 = &imux102;
142                 i2c103 = &imux103;
143
144                 /*
145                  * 2 PCA9548 (16-0070 & 16-0073), 16 channels connecting
146                  * to Fabric Card #1.
147                  */
148                 i2c104 = &imux104;
149                 i2c105 = &imux105;
150                 i2c106 = &imux106;
151                 i2c107 = &imux107;
152                 i2c108 = &imux108;
153                 i2c109 = &imux109;
154                 i2c110 = &imux110;
155                 i2c111 = &imux111;
156                 i2c112 = &imux112;
157                 i2c113 = &imux113;
158                 i2c114 = &imux114;
159                 i2c115 = &imux115;
160                 i2c116 = &imux116;
161                 i2c117 = &imux117;
162                 i2c118 = &imux118;
163                 i2c119 = &imux119;
164
165                 /*
166                  * 2 PCA9548 (17-0070 & 17-0073), 16 channels connecting
167                  * to Fabric Card #2.
168                  */
169                 i2c120 = &imux120;
170                 i2c121 = &imux121;
171                 i2c122 = &imux122;
172                 i2c123 = &imux123;
173                 i2c124 = &imux124;
174                 i2c125 = &imux125;
175                 i2c126 = &imux126;
176                 i2c127 = &imux127;
177                 i2c128 = &imux128;
178                 i2c129 = &imux129;
179                 i2c130 = &imux130;
180                 i2c131 = &imux131;
181                 i2c132 = &imux132;
182                 i2c133 = &imux133;
183                 i2c134 = &imux134;
184                 i2c135 = &imux135;
185
186                 /*
187                  * 2 PCA9548 (22-0070 & 22-0073), 16 channels connecting
188                  * to Fabric Card #3.
189                  */
190                 i2c136 = &imux136;
191                 i2c137 = &imux137;
192                 i2c138 = &imux138;
193                 i2c139 = &imux139;
194                 i2c140 = &imux140;
195                 i2c141 = &imux141;
196                 i2c142 = &imux142;
197                 i2c143 = &imux143;
198                 i2c144 = &imux144;
199                 i2c145 = &imux145;
200                 i2c146 = &imux146;
201                 i2c147 = &imux147;
202                 i2c148 = &imux148;
203                 i2c149 = &imux149;
204                 i2c150 = &imux150;
205                 i2c151 = &imux151;
206
207                 /*
208                  * 2 PCA9548 (23-0070 & 23-0073), 16 channels connecting
209                  * to Fabric Card #4.
210                  */
211                 i2c152 = &imux152;
212                 i2c153 = &imux153;
213                 i2c154 = &imux154;
214                 i2c155 = &imux155;
215                 i2c156 = &imux156;
216                 i2c157 = &imux157;
217                 i2c158 = &imux158;
218                 i2c159 = &imux159;
219                 i2c160 = &imux160;
220                 i2c161 = &imux161;
221                 i2c162 = &imux162;
222                 i2c163 = &imux163;
223                 i2c164 = &imux164;
224                 i2c165 = &imux165;
225                 i2c166 = &imux166;
226                 i2c167 = &imux167;
227
228                 /*
229                  * PCA9548 (32-0070), 8 channels connecting to Fan Control
230                  # Board #1.
231                  */
232                 i2c168 = &imux168;
233                 i2c169 = &imux169;
234                 i2c170 = &imux170;
235                 i2c171 = &imux171;
236                 i2c172 = &imux172;
237                 i2c173 = &imux173;
238                 i2c174 = &imux174;
239                 i2c175 = &imux175;
240
241                 /*
242                  * PCA9548 (33-0070), 8 channels connecting to Fan Control
243                  # Board #2.
244                  */
245                 i2c176 = &imux176;
246                 i2c177 = &imux177;
247                 i2c178 = &imux178;
248                 i2c179 = &imux179;
249                 i2c180 = &imux180;
250                 i2c181 = &imux181;
251                 i2c182 = &imux182;
252                 i2c183 = &imux183;
253
254                 /*
255                  * PCA9548 (34-0070), 8 channels connecting to Fan Control
256                  # Board #3.
257                  */
258                 i2c184 = &imux184;
259                 i2c185 = &imux185;
260                 i2c186 = &imux186;
261                 i2c187 = &imux187;
262                 i2c188 = &imux188;
263                 i2c189 = &imux189;
264                 i2c190 = &imux190;
265                 i2c191 = &imux191;
266
267                 /*
268                  * PCA9548 (35-0070), 8 channels connecting to Fan Control
269                  # Board #4.
270                  */
271                 i2c192 = &imux192;
272                 i2c193 = &imux193;
273                 i2c194 = &imux194;
274                 i2c195 = &imux195;
275                 i2c196 = &imux196;
276                 i2c197 = &imux197;
277                 i2c198 = &imux198;
278                 i2c199 = &imux199;
279         };
280
281         chosen {
282                 stdout-path = &uart1;
283                 bootargs = "console=ttyS1,9600n8 root=/dev/ram rw earlycon";
284         };
285
286         ast-adc-hwmon {
287                 compatible = "iio-hwmon";
288                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
289                               <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
290         };
291 };
292
293 &uart1 {
294         pinctrl-0 = <&pinctrl_txd1_default
295                      &pinctrl_rxd1_default
296                      &pinctrl_ncts1_default
297                      &pinctrl_ndcd1_default
298                      &pinctrl_ndsr1_default
299                      &pinctrl_ndtr1_default
300                      &pinctrl_nrts1_default>;
301 };
302
303 &uart3 {
304         pinctrl-0 = <&pinctrl_txd3_default
305                      &pinctrl_rxd3_default
306                      &pinctrl_ncts3_default
307                      &pinctrl_ndcd3_default
308                      &pinctrl_nri3_default>;
309 };
310
311 &uart4 {
312         status = "okay";
313         pinctrl-names = "default";
314         pinctrl-0 = <&pinctrl_txd4_default
315                      &pinctrl_rxd4_default>;
316 };
317
318 /*
319  * I2C bus reserved for communication with COM-E.
320  */
321 &i2c0 {
322         status = "okay";
323 };
324
325 /*
326  * I2C bus to Line Cards and Fabric Cards.
327  */
328 &i2c1 {
329         status = "okay";
330
331         i2c-switch@77 {
332                 compatible = "nxp,pca9548";
333                 #address-cells = <1>;
334                 #size-cells = <0>;
335                 reg = <0x77>;
336                 i2c-mux-idle-disconnect;
337
338                 /* To Fabric Card #1 */
339                 imux16: i2c@0 {
340                         #address-cells = <1>;
341                         #size-cells = <0>;
342                         reg = <0>;
343
344                         i2c-switch@70 {
345                                 compatible = "nxp,pca9548";
346                                 #address-cells = <1>;
347                                 #size-cells = <0>;
348                                 reg = <0x70>;
349                                 i2c-mux-idle-disconnect;
350
351                                 imux104: i2c@0 {
352                                         #address-cells = <1>;
353                                         #size-cells = <0>;
354                                         reg = <0>;
355                                 };
356                                 imux105: i2c@1 {
357                                         #address-cells = <1>;
358                                         #size-cells = <0>;
359                                         reg = <1>;
360                                 };
361                                 imux106: i2c@2 {
362                                         #address-cells = <1>;
363                                         #size-cells = <0>;
364                                         reg = <2>;
365                                 };
366                                 imux107: i2c@3 {
367                                         #address-cells = <1>;
368                                         #size-cells = <0>;
369                                         reg = <3>;
370                                 };
371                                 imux108: i2c@4 {
372                                         #address-cells = <1>;
373                                         #size-cells = <0>;
374                                         reg = <4>;
375                                 };
376                                 imux109: i2c@5 {
377                                         #address-cells = <1>;
378                                         #size-cells = <0>;
379                                         reg = <5>;
380                                 };
381                                 imux110: i2c@6 {
382                                         #address-cells = <1>;
383                                         #size-cells = <0>;
384                                         reg = <6>;
385                                 };
386                                 imux111: i2c@7 {
387                                         #address-cells = <1>;
388                                         #size-cells = <0>;
389                                         reg = <7>;
390                                 };
391                         };
392
393                         i2c-switch@73 {
394                                 compatible = "nxp,pca9548";
395                                 #address-cells = <1>;
396                                 #size-cells = <0>;
397                                 reg = <0x73>;
398                                 i2c-mux-idle-disconnect;
399
400                                 imux112: i2c@0 {
401                                         #address-cells = <1>;
402                                         #size-cells = <0>;
403                                         reg = <0>;
404                                 };
405                                 imux113: i2c@1 {
406                                         #address-cells = <1>;
407                                         #size-cells = <0>;
408                                         reg = <1>;
409                                 };
410                                 imux114: i2c@2 {
411                                         #address-cells = <1>;
412                                         #size-cells = <0>;
413                                         reg = <2>;
414                                 };
415                                 imux115: i2c@3 {
416                                         #address-cells = <1>;
417                                         #size-cells = <0>;
418                                         reg = <3>;
419                                 };
420                                 imux116: i2c@4 {
421                                         #address-cells = <1>;
422                                         #size-cells = <0>;
423                                         reg = <4>;
424                                 };
425                                 imux117: i2c@5 {
426                                         #address-cells = <1>;
427                                         #size-cells = <0>;
428                                         reg = <5>;
429                                 };
430                                 imux118: i2c@6 {
431                                         #address-cells = <1>;
432                                         #size-cells = <0>;
433                                         reg = <6>;
434                                 };
435                                 imux119: i2c@7 {
436                                         #address-cells = <1>;
437                                         #size-cells = <0>;
438                                         reg = <7>;
439                                 };
440                         };
441                 };
442
443                 /* To Fabric Card #2 */
444                 imux17: i2c@1 {
445                         #address-cells = <1>;
446                         #size-cells = <0>;
447                         reg = <1>;
448
449                         i2c-switch@70 {
450                                 compatible = "nxp,pca9548";
451                                 #address-cells = <1>;
452                                 #size-cells = <0>;
453                                 reg = <0x70>;
454                                 i2c-mux-idle-disconnect;
455
456                                 imux120: i2c@0 {
457                                         #address-cells = <1>;
458                                         #size-cells = <0>;
459                                         reg = <0>;
460                                 };
461                                 imux121: i2c@1 {
462                                         #address-cells = <1>;
463                                         #size-cells = <0>;
464                                         reg = <1>;
465                                 };
466                                 imux122: i2c@2 {
467                                         #address-cells = <1>;
468                                         #size-cells = <0>;
469                                         reg = <2>;
470                                 };
471                                 imux123: i2c@3 {
472                                         #address-cells = <1>;
473                                         #size-cells = <0>;
474                                         reg = <3>;
475                                 };
476                                 imux124: i2c@4 {
477                                         #address-cells = <1>;
478                                         #size-cells = <0>;
479                                         reg = <4>;
480                                 };
481                                 imux125: i2c@5 {
482                                         #address-cells = <1>;
483                                         #size-cells = <0>;
484                                         reg = <5>;
485                                 };
486                                 imux126: i2c@6 {
487                                         #address-cells = <1>;
488                                         #size-cells = <0>;
489                                         reg = <6>;
490                                 };
491                                 imux127: i2c@7 {
492                                         #address-cells = <1>;
493                                         #size-cells = <0>;
494                                         reg = <7>;
495                                 };
496                         };
497
498                         i2c-switch@73 {
499                                 compatible = "nxp,pca9548";
500                                 #address-cells = <1>;
501                                 #size-cells = <0>;
502                                 reg = <0x73>;
503                                 i2c-mux-idle-disconnect;
504
505                                 imux128: i2c@0 {
506                                         #address-cells = <1>;
507                                         #size-cells = <0>;
508                                         reg = <0>;
509                                 };
510                                 imux129: i2c@1 {
511                                         #address-cells = <1>;
512                                         #size-cells = <0>;
513                                         reg = <1>;
514                                 };
515                                 imux130: i2c@2 {
516                                         #address-cells = <1>;
517                                         #size-cells = <0>;
518                                         reg = <2>;
519                                 };
520                                 imux131: i2c@3 {
521                                         #address-cells = <1>;
522                                         #size-cells = <0>;
523                                         reg = <3>;
524                                 };
525                                 imux132: i2c@4 {
526                                         #address-cells = <1>;
527                                         #size-cells = <0>;
528                                         reg = <4>;
529                                 };
530                                 imux133: i2c@5 {
531                                         #address-cells = <1>;
532                                         #size-cells = <0>;
533                                         reg = <5>;
534                                 };
535                                 imux134: i2c@6 {
536                                         #address-cells = <1>;
537                                         #size-cells = <0>;
538                                         reg = <6>;
539                                 };
540                                 imux135: i2c@7 {
541                                         #address-cells = <1>;
542                                         #size-cells = <0>;
543                                         reg = <7>;
544                                 };
545                         };
546                 };
547
548                 /* To Line Card #1 */
549                 imux18: i2c@2 {
550                         #address-cells = <1>;
551                         #size-cells = <0>;
552                         reg = <2>;
553
554                         i2c-switch@70 {
555                                 compatible = "nxp,pca9548";
556                                 #address-cells = <1>;
557                                 #size-cells = <0>;
558                                 reg = <0x70>;
559                                 i2c-mux-idle-disconnect;
560
561                                 imux40: i2c@0 {
562                                         #address-cells = <1>;
563                                         #size-cells = <0>;
564                                         reg = <0>;
565                                 };
566                                 imux41: i2c@1 {
567                                         #address-cells = <1>;
568                                         #size-cells = <0>;
569                                         reg = <1>;
570                                 };
571                                 imux42: i2c@2 {
572                                         #address-cells = <1>;
573                                         #size-cells = <0>;
574                                         reg = <2>;
575                                 };
576                                 imux43: i2c@3 {
577                                         #address-cells = <1>;
578                                         #size-cells = <0>;
579                                         reg = <3>;
580                                 };
581                                 imux44: i2c@4 {
582                                         #address-cells = <1>;
583                                         #size-cells = <0>;
584                                         reg = <4>;
585                                 };
586                                 imux45: i2c@5 {
587                                         #address-cells = <1>;
588                                         #size-cells = <0>;
589                                         reg = <5>;
590                                 };
591                                 imux46: i2c@6 {
592                                         #address-cells = <1>;
593                                         #size-cells = <0>;
594                                         reg = <6>;
595                                 };
596                                 imux47: i2c@7 {
597                                         #address-cells = <1>;
598                                         #size-cells = <0>;
599                                         reg = <7>;
600                                 };
601                         };
602
603                         i2c-switch@73 {
604                                 compatible = "nxp,pca9548";
605                                 #address-cells = <1>;
606                                 #size-cells = <0>;
607                                 reg = <0x73>;
608                                 i2c-mux-idle-disconnect;
609
610                                 imux48: i2c@0 {
611                                         #address-cells = <1>;
612                                         #size-cells = <0>;
613                                         reg = <0>;
614                                 };
615                                 imux49: i2c@1 {
616                                         #address-cells = <1>;
617                                         #size-cells = <0>;
618                                         reg = <1>;
619                                 };
620                                 imux50: i2c@2 {
621                                         #address-cells = <1>;
622                                         #size-cells = <0>;
623                                         reg = <2>;
624                                 };
625                                 imux51: i2c@3 {
626                                         #address-cells = <1>;
627                                         #size-cells = <0>;
628                                         reg = <3>;
629                                 };
630                                 imux52: i2c@4 {
631                                         #address-cells = <1>;
632                                         #size-cells = <0>;
633                                         reg = <4>;
634                                 };
635                                 imux53: i2c@5 {
636                                         #address-cells = <1>;
637                                         #size-cells = <0>;
638                                         reg = <5>;
639                                 };
640                                 imux54: i2c@6 {
641                                         #address-cells = <1>;
642                                         #size-cells = <0>;
643                                         reg = <6>;
644                                 };
645                                 imux55: i2c@7 {
646                                         #address-cells = <1>;
647                                         #size-cells = <0>;
648                                         reg = <7>;
649                                 };
650                         };
651                 };
652
653                 /* To Line Card #2 */
654                 imux19: i2c@3 {
655                         #address-cells = <1>;
656                         #size-cells = <0>;
657                         reg = <3>;
658
659                         i2c-switch@70 {
660                                 compatible = "nxp,pca9548";
661                                 #address-cells = <1>;
662                                 #size-cells = <0>;
663                                 reg = <0x70>;
664                                 i2c-mux-idle-disconnect;
665
666                                 imux56: i2c@0 {
667                                         #address-cells = <1>;
668                                         #size-cells = <0>;
669                                         reg = <0>;
670                                 };
671                                 imux57: i2c@1 {
672                                         #address-cells = <1>;
673                                         #size-cells = <0>;
674                                         reg = <1>;
675                                 };
676                                 imux58: i2c@2 {
677                                         #address-cells = <1>;
678                                         #size-cells = <0>;
679                                         reg = <2>;
680                                 };
681                                 imux59: i2c@3 {
682                                         #address-cells = <1>;
683                                         #size-cells = <0>;
684                                         reg = <3>;
685                                 };
686                                 imux60: i2c@4 {
687                                         #address-cells = <1>;
688                                         #size-cells = <0>;
689                                         reg = <4>;
690                                 };
691                                 imux61: i2c@5 {
692                                         #address-cells = <1>;
693                                         #size-cells = <0>;
694                                         reg = <5>;
695                                 };
696                                 imux62: i2c@6 {
697                                         #address-cells = <1>;
698                                         #size-cells = <0>;
699                                         reg = <6>;
700                                 };
701                                 imux63: i2c@7 {
702                                         #address-cells = <1>;
703                                         #size-cells = <0>;
704                                         reg = <7>;
705                                 };
706                         };
707
708                         i2c-switch@73 {
709                                 compatible = "nxp,pca9548";
710                                 #address-cells = <1>;
711                                 #size-cells = <0>;
712                                 reg = <0x73>;
713                                 i2c-mux-idle-disconnect;
714
715                                 imux64: i2c@0 {
716                                         #address-cells = <1>;
717                                         #size-cells = <0>;
718                                         reg = <0>;
719                                 };
720                                 imux65: i2c@1 {
721                                         #address-cells = <1>;
722                                         #size-cells = <0>;
723                                         reg = <1>;
724                                 };
725                                 imux66: i2c@2 {
726                                         #address-cells = <1>;
727                                         #size-cells = <0>;
728                                         reg = <2>;
729                                 };
730                                 imux67: i2c@3 {
731                                         #address-cells = <1>;
732                                         #size-cells = <0>;
733                                         reg = <3>;
734                                 };
735                                 imux68: i2c@4 {
736                                         #address-cells = <1>;
737                                         #size-cells = <0>;
738                                         reg = <4>;
739                                 };
740                                 imux69: i2c@5 {
741                                         #address-cells = <1>;
742                                         #size-cells = <0>;
743                                         reg = <5>;
744                                 };
745                                 imux70: i2c@6 {
746                                         #address-cells = <1>;
747                                         #size-cells = <0>;
748                                         reg = <6>;
749                                 };
750                                 imux71: i2c@7 {
751                                         #address-cells = <1>;
752                                         #size-cells = <0>;
753                                         reg = <7>;
754                                 };
755                         };
756                 };
757
758                 /* To LC3 SCM */
759                 imux20: i2c@4 {
760                         #address-cells = <1>;
761                         #size-cells = <0>;
762                         reg = <4>;
763
764                         i2c-switch@70 {
765                                 compatible = "nxp,pca9548";
766                                 #address-cells = <1>;
767                                 #size-cells = <0>;
768                                 reg = <0x70>;
769                                 i2c-mux-idle-disconnect;
770
771                                 imux72: i2c@0 {
772                                         #address-cells = <1>;
773                                         #size-cells = <0>;
774                                         reg = <0>;
775                                 };
776                                 imux73: i2c@1 {
777                                         #address-cells = <1>;
778                                         #size-cells = <0>;
779                                         reg = <1>;
780                                 };
781                                 imux74: i2c@2 {
782                                         #address-cells = <1>;
783                                         #size-cells = <0>;
784                                         reg = <2>;
785                                 };
786                                 imux75: i2c@3 {
787                                         #address-cells = <1>;
788                                         #size-cells = <0>;
789                                         reg = <3>;
790                                 };
791                                 imux76: i2c@4 {
792                                         #address-cells = <1>;
793                                         #size-cells = <0>;
794                                         reg = <4>;
795                                 };
796                                 imux77: i2c@5 {
797                                         #address-cells = <1>;
798                                         #size-cells = <0>;
799                                         reg = <5>;
800                                 };
801                                 imux78: i2c@6 {
802                                         #address-cells = <1>;
803                                         #size-cells = <0>;
804                                         reg = <6>;
805                                 };
806                                 imux79: i2c@7 {
807                                         #address-cells = <1>;
808                                         #size-cells = <0>;
809                                         reg = <7>;
810                                 };
811                         };
812
813                         i2c-switch@73 {
814                                 compatible = "nxp,pca9548";
815                                 #address-cells = <1>;
816                                 #size-cells = <0>;
817                                 reg = <0x73>;
818                                 i2c-mux-idle-disconnect;
819
820                                 imux80: i2c@0 {
821                                         #address-cells = <1>;
822                                         #size-cells = <0>;
823                                         reg = <0>;
824                                 };
825                                 imux81: i2c@1 {
826                                         #address-cells = <1>;
827                                         #size-cells = <0>;
828                                         reg = <1>;
829                                 };
830                                 imux82: i2c@2 {
831                                         #address-cells = <1>;
832                                         #size-cells = <0>;
833                                         reg = <2>;
834                                 };
835                                 imux83: i2c@3 {
836                                         #address-cells = <1>;
837                                         #size-cells = <0>;
838                                         reg = <3>;
839                                 };
840                                 imux84: i2c@4 {
841                                         #address-cells = <1>;
842                                         #size-cells = <0>;
843                                         reg = <4>;
844                                 };
845                                 imux85: i2c@5 {
846                                         #address-cells = <1>;
847                                         #size-cells = <0>;
848                                         reg = <5>;
849                                 };
850                                 imux86: i2c@6 {
851                                         #address-cells = <1>;
852                                         #size-cells = <0>;
853                                         reg = <6>;
854                                 };
855                                 imux87: i2c@7 {
856                                         #address-cells = <1>;
857                                         #size-cells = <0>;
858                                         reg = <7>;
859                                 };
860                         };
861                 };
862
863                 /* To Line Card #4 */
864                 imux21: i2c@5 {
865                         #address-cells = <1>;
866                         #size-cells = <0>;
867                         reg = <5>;
868
869                         i2c-switch@70 {
870                                 compatible = "nxp,pca9548";
871                                 #address-cells = <1>;
872                                 #size-cells = <0>;
873                                 reg = <0x70>;
874                                 i2c-mux-idle-disconnect;
875
876                                 imux88: i2c@0 {
877                                         #address-cells = <1>;
878                                         #size-cells = <0>;
879                                         reg = <0>;
880                                 };
881                                 imux89: i2c@1 {
882                                         #address-cells = <1>;
883                                         #size-cells = <0>;
884                                         reg = <1>;
885                                 };
886                                 imux90: i2c@2 {
887                                         #address-cells = <1>;
888                                         #size-cells = <0>;
889                                         reg = <2>;
890                                 };
891                                 imux91: i2c@3 {
892                                         #address-cells = <1>;
893                                         #size-cells = <0>;
894                                         reg = <3>;
895                                 };
896                                 imux92: i2c@4 {
897                                         #address-cells = <1>;
898                                         #size-cells = <0>;
899                                         reg = <4>;
900                                 };
901                                 imux93: i2c@5 {
902                                         #address-cells = <1>;
903                                         #size-cells = <0>;
904                                         reg = <5>;
905                                 };
906                                 imux94: i2c@6 {
907                                         #address-cells = <1>;
908                                         #size-cells = <0>;
909                                         reg = <6>;
910                                 };
911                                 imux95: i2c@7 {
912                                         #address-cells = <1>;
913                                         #size-cells = <0>;
914                                         reg = <7>;
915                                 };
916                         };
917
918                         i2c-switch@73 {
919                                 compatible = "nxp,pca9548";
920                                 #address-cells = <1>;
921                                 #size-cells = <0>;
922                                 reg = <0x73>;
923                                 i2c-mux-idle-disconnect;
924
925                                 imux96: i2c@0 {
926                                         #address-cells = <1>;
927                                         #size-cells = <0>;
928                                         reg = <0>;
929                                 };
930                                 imux97: i2c@1 {
931                                         #address-cells = <1>;
932                                         #size-cells = <0>;
933                                         reg = <1>;
934                                 };
935                                 imux98: i2c@2 {
936                                         #address-cells = <1>;
937                                         #size-cells = <0>;
938                                         reg = <2>;
939                                 };
940                                 imux99: i2c@3 {
941                                         #address-cells = <1>;
942                                         #size-cells = <0>;
943                                         reg = <3>;
944                                 };
945                                 imux100: i2c@4 {
946                                         #address-cells = <1>;
947                                         #size-cells = <0>;
948                                         reg = <4>;
949                                 };
950                                 imux101: i2c@5 {
951                                         #address-cells = <1>;
952                                         #size-cells = <0>;
953                                         reg = <5>;
954                                 };
955                                 imux102: i2c@6 {
956                                         #address-cells = <1>;
957                                         #size-cells = <0>;
958                                         reg = <6>;
959                                 };
960                                 imux103: i2c@7 {
961                                         #address-cells = <1>;
962                                         #size-cells = <0>;
963                                         reg = <7>;
964                                 };
965                         };
966                 };
967
968                 /* To Fabric Card #3 */
969                 imux22: i2c@6 {
970                         #address-cells = <1>;
971                         #size-cells = <0>;
972                         reg = <6>;
973
974                         i2c-switch@70 {
975                                 compatible = "nxp,pca9548";
976                                 #address-cells = <1>;
977                                 #size-cells = <0>;
978                                 reg = <0x70>;
979                                 i2c-mux-idle-disconnect;
980
981                                 imux136: i2c@0 {
982                                         #address-cells = <1>;
983                                         #size-cells = <0>;
984                                         reg = <0>;
985                                 };
986                                 imux137: i2c@1 {
987                                         #address-cells = <1>;
988                                         #size-cells = <0>;
989                                         reg = <1>;
990                                 };
991                                 imux138: i2c@2 {
992                                         #address-cells = <1>;
993                                         #size-cells = <0>;
994                                         reg = <2>;
995                                 };
996                                 imux139: i2c@3 {
997                                         #address-cells = <1>;
998                                         #size-cells = <0>;
999                                         reg = <3>;
1000                                 };
1001                                 imux140: i2c@4 {
1002                                         #address-cells = <1>;
1003                                         #size-cells = <0>;
1004                                         reg = <4>;
1005                                 };
1006                                 imux141: i2c@5 {
1007                                         #address-cells = <1>;
1008                                         #size-cells = <0>;
1009                                         reg = <5>;
1010                                 };
1011                                 imux142: i2c@6 {
1012                                         #address-cells = <1>;
1013                                         #size-cells = <0>;
1014                                         reg = <6>;
1015                                 };
1016                                 imux143: i2c@7 {
1017                                         #address-cells = <1>;
1018                                         #size-cells = <0>;
1019                                         reg = <7>;
1020                                 };
1021                         };
1022
1023                         i2c-switch@73 {
1024                                 compatible = "nxp,pca9548";
1025                                 #address-cells = <1>;
1026                                 #size-cells = <0>;
1027                                 reg = <0x73>;
1028                                 i2c-mux-idle-disconnect;
1029
1030                                 imux144: i2c@0 {
1031                                         #address-cells = <1>;
1032                                         #size-cells = <0>;
1033                                         reg = <0>;
1034                                 };
1035                                 imux145: i2c@1 {
1036                                         #address-cells = <1>;
1037                                         #size-cells = <0>;
1038                                         reg = <1>;
1039                                 };
1040                                 imux146: i2c@2 {
1041                                         #address-cells = <1>;
1042                                         #size-cells = <0>;
1043                                         reg = <2>;
1044                                 };
1045                                 imux147: i2c@3 {
1046                                         #address-cells = <1>;
1047                                         #size-cells = <0>;
1048                                         reg = <3>;
1049                                 };
1050                                 imux148: i2c@4 {
1051                                         #address-cells = <1>;
1052                                         #size-cells = <0>;
1053                                         reg = <4>;
1054                                 };
1055                                 imux149: i2c@5 {
1056                                         #address-cells = <1>;
1057                                         #size-cells = <0>;
1058                                         reg = <5>;
1059                                 };
1060                                 imux150: i2c@6 {
1061                                         #address-cells = <1>;
1062                                         #size-cells = <0>;
1063                                         reg = <6>;
1064                                 };
1065                                 imux151: i2c@7 {
1066                                         #address-cells = <1>;
1067                                         #size-cells = <0>;
1068                                         reg = <7>;
1069                                 };
1070                         };
1071                 };
1072
1073                 /* To Fabric Card #4 */
1074                 imux23: i2c@7 {
1075                         #address-cells = <1>;
1076                         #size-cells = <0>;
1077                         reg = <7>;
1078
1079                         i2c-switch@70 {
1080                                 compatible = "nxp,pca9548";
1081                                 #address-cells = <1>;
1082                                 #size-cells = <0>;
1083                                 reg = <0x70>;
1084                                 i2c-mux-idle-disconnect;
1085
1086                                 imux152: i2c@0 {
1087                                         #address-cells = <1>;
1088                                         #size-cells = <0>;
1089                                         reg = <0>;
1090                                 };
1091                                 imux153: i2c@1 {
1092                                         #address-cells = <1>;
1093                                         #size-cells = <0>;
1094                                         reg = <1>;
1095                                 };
1096                                 imux154: i2c@2 {
1097                                         #address-cells = <1>;
1098                                         #size-cells = <0>;
1099                                         reg = <2>;
1100                                 };
1101                                 imux155: i2c@3 {
1102                                         #address-cells = <1>;
1103                                         #size-cells = <0>;
1104                                         reg = <3>;
1105                                 };
1106                                 imux156: i2c@4 {
1107                                         #address-cells = <1>;
1108                                         #size-cells = <0>;
1109                                         reg = <4>;
1110                                 };
1111                                 imux157: i2c@5 {
1112                                         #address-cells = <1>;
1113                                         #size-cells = <0>;
1114                                         reg = <5>;
1115                                 };
1116                                 imux158: i2c@6 {
1117                                         #address-cells = <1>;
1118                                         #size-cells = <0>;
1119                                         reg = <6>;
1120                                 };
1121                                 imux159: i2c@7 {
1122                                         #address-cells = <1>;
1123                                         #size-cells = <0>;
1124                                         reg = <7>;
1125                                 };
1126                         };
1127
1128                         i2c-switch@73 {
1129                                 compatible = "nxp,pca9548";
1130                                 #address-cells = <1>;
1131                                 #size-cells = <0>;
1132                                 reg = <0x73>;
1133                                 i2c-mux-idle-disconnect;
1134
1135                                 imux160: i2c@0 {
1136                                         #address-cells = <1>;
1137                                         #size-cells = <0>;
1138                                         reg = <0>;
1139                                 };
1140                                 imux161: i2c@1 {
1141                                         #address-cells = <1>;
1142                                         #size-cells = <0>;
1143                                         reg = <1>;
1144                                 };
1145                                 imux162: i2c@2 {
1146                                         #address-cells = <1>;
1147                                         #size-cells = <0>;
1148                                         reg = <2>;
1149                                 };
1150                                 imux163: i2c@3 {
1151                                         #address-cells = <1>;
1152                                         #size-cells = <0>;
1153                                         reg = <3>;
1154                                 };
1155                                 imux164: i2c@4 {
1156                                         #address-cells = <1>;
1157                                         #size-cells = <0>;
1158                                         reg = <4>;
1159                                 };
1160                                 imux165: i2c@5 {
1161                                         #address-cells = <1>;
1162                                         #size-cells = <0>;
1163                                         reg = <5>;
1164                                 };
1165                                 imux166: i2c@6 {
1166                                         #address-cells = <1>;
1167                                         #size-cells = <0>;
1168                                         reg = <6>;
1169                                 };
1170                                 imux167: i2c@7 {
1171                                         #address-cells = <1>;
1172                                         #size-cells = <0>;
1173                                         reg = <7>;
1174                                 };
1175                         };
1176                 };
1177         };
1178 };
1179
1180 /*
1181  * I2C bus to Power Distribution Board.
1182  */
1183 &i2c2 {
1184         status = "okay";
1185
1186         i2c-switch@71 {
1187                 compatible = "nxp,pca9548";
1188                 #address-cells = <1>;
1189                 #size-cells = <0>;
1190                 reg = <0x71>;
1191                 i2c-mux-idle-disconnect;
1192
1193                 imux24: i2c@0 {
1194                         #address-cells = <1>;
1195                         #size-cells = <0>;
1196                         reg = <0>;
1197                 };
1198
1199                 imux25: i2c@1 {
1200                         #address-cells = <1>;
1201                         #size-cells = <0>;
1202                         reg = <1>;
1203                 };
1204
1205                 imux26: i2c@2 {
1206                         #address-cells = <1>;
1207                         #size-cells = <0>;
1208                         reg = <2>;
1209                 };
1210
1211                 imux27: i2c@3 {
1212                         #address-cells = <1>;
1213                         #size-cells = <0>;
1214                         reg = <3>;
1215                 };
1216
1217                 imux28: i2c@4 {
1218                         #address-cells = <1>;
1219                         #size-cells = <0>;
1220                         reg = <4>;
1221                 };
1222
1223                 imux29: i2c@5 {
1224                         #address-cells = <1>;
1225                         #size-cells = <0>;
1226                         reg = <5>;
1227                 };
1228
1229                 imux30: i2c@6 {
1230                         #address-cells = <1>;
1231                         #size-cells = <0>;
1232                         reg = <6>;
1233                 };
1234
1235                 imux31: i2c@7 {
1236                         #address-cells = <1>;
1237                         #size-cells = <0>;
1238                         reg = <7>;
1239                 };
1240         };
1241 };
1242
1243 /*
1244  * I2c bus connected with temperature sensors on CMM.
1245  */
1246 &i2c3 {
1247         status = "okay";
1248 };
1249
1250 /*
1251  * I2C bus reserved for communication with COM-E.
1252  */
1253 &i2c4 {
1254         status = "okay";
1255 };
1256
1257 /*
1258  * I2c bus connected with ADM1278.
1259  */
1260 &i2c5 {
1261         status = "okay";
1262 };
1263
1264 /*
1265  * I2c bus connected with I/O Expander.
1266  */
1267 &i2c6 {
1268         status = "okay";
1269 };
1270
1271 /*
1272  * I2c bus connected with I/O Expander and EPROMs.
1273  */
1274 &i2c7 {
1275         status = "okay";
1276 };
1277
1278 /*
1279  * I2C bus to Fan Control Boards.
1280  */
1281 &i2c8 {
1282         status = "okay";
1283
1284         i2c-switch@77 {
1285                 compatible = "nxp,pca9548";
1286                 #address-cells = <1>;
1287                 #size-cells = <0>;
1288                 reg = <0x77>;
1289                 i2c-mux-idle-disconnect;
1290
1291                 /* To Fan Control Board #1 */
1292                 imux32: i2c@0 {
1293                         #address-cells = <1>;
1294                         #size-cells = <0>;
1295                         reg = <0>;
1296
1297                         i2c-switch@70 {
1298                                 compatible = "nxp,pca9548";
1299                                 #address-cells = <1>;
1300                                 #size-cells = <0>;
1301                                 reg = <0x70>;
1302                                 i2c-mux-idle-disconnect;
1303
1304                                 imux168: i2c@0 {
1305                                         #address-cells = <1>;
1306                                         #size-cells = <0>;
1307                                         reg = <0>;
1308                                 };
1309                                 imux169: i2c@1 {
1310                                         #address-cells = <1>;
1311                                         #size-cells = <0>;
1312                                         reg = <1>;
1313                                 };
1314                                 imux170: i2c@2 {
1315                                         #address-cells = <1>;
1316                                         #size-cells = <0>;
1317                                         reg = <2>;
1318                                 };
1319                                 imux171: i2c@3 {
1320                                         #address-cells = <1>;
1321                                         #size-cells = <0>;
1322                                         reg = <3>;
1323                                 };
1324                                 imux172: i2c@4 {
1325                                         #address-cells = <1>;
1326                                         #size-cells = <0>;
1327                                         reg = <4>;
1328                                 };
1329                                 imux173: i2c@5 {
1330                                         #address-cells = <1>;
1331                                         #size-cells = <0>;
1332                                         reg = <5>;
1333                                 };
1334                                 imux174: i2c@6 {
1335                                         #address-cells = <1>;
1336                                         #size-cells = <0>;
1337                                         reg = <6>;
1338                                 };
1339                                 imux175: i2c@7 {
1340                                         #address-cells = <1>;
1341                                         #size-cells = <0>;
1342                                         reg = <7>;
1343                                 };
1344                         };
1345                 };
1346
1347                 /* To Fan Control Board #2 */
1348                 imux33: i2c@1 {
1349                         #address-cells = <1>;
1350                         #size-cells = <0>;
1351                         reg = <1>;
1352
1353                         i2c-switch@70 {
1354                                 compatible = "nxp,pca9548";
1355                                 #address-cells = <1>;
1356                                 #size-cells = <0>;
1357                                 reg = <0x70>;
1358                                 i2c-mux-idle-disconnect;
1359
1360                                 imux176: i2c@0 {
1361                                         #address-cells = <1>;
1362                                         #size-cells = <0>;
1363                                         reg = <0>;
1364                                 };
1365                                 imux177: i2c@1 {
1366                                         #address-cells = <1>;
1367                                         #size-cells = <0>;
1368                                         reg = <1>;
1369                                 };
1370                                 imux178: i2c@2 {
1371                                         #address-cells = <1>;
1372                                         #size-cells = <0>;
1373                                         reg = <2>;
1374                                 };
1375                                 imux179: i2c@3 {
1376                                         #address-cells = <1>;
1377                                         #size-cells = <0>;
1378                                         reg = <3>;
1379                                 };
1380                                 imux180: i2c@4 {
1381                                         #address-cells = <1>;
1382                                         #size-cells = <0>;
1383                                         reg = <4>;
1384                                 };
1385                                 imux181: i2c@5 {
1386                                         #address-cells = <1>;
1387                                         #size-cells = <0>;
1388                                         reg = <5>;
1389                                 };
1390                                 imux182: i2c@6 {
1391                                         #address-cells = <1>;
1392                                         #size-cells = <0>;
1393                                         reg = <6>;
1394                                 };
1395                                 imux183: i2c@7 {
1396                                         #address-cells = <1>;
1397                                         #size-cells = <0>;
1398                                         reg = <7>;
1399                                 };
1400                         };
1401                 };
1402
1403                 /* To Fan Control Board #3 */
1404                 imux34: i2c@2 {
1405                         #address-cells = <1>;
1406                         #size-cells = <0>;
1407                         reg = <2>;
1408
1409                         i2c-switch@70 {
1410                                 compatible = "nxp,pca9548";
1411                                 #address-cells = <1>;
1412                                 #size-cells = <0>;
1413                                 reg = <0x70>;
1414                                 i2c-mux-idle-disconnect;
1415
1416                                 imux184: i2c@0 {
1417                                         #address-cells = <1>;
1418                                         #size-cells = <0>;
1419                                         reg = <0>;
1420                                 };
1421                                 imux185: i2c@1 {
1422                                         #address-cells = <1>;
1423                                         #size-cells = <0>;
1424                                         reg = <1>;
1425                                 };
1426                                 imux186: i2c@2 {
1427                                         #address-cells = <1>;
1428                                         #size-cells = <0>;
1429                                         reg = <2>;
1430                                 };
1431                                 imux187: i2c@3 {
1432                                         #address-cells = <1>;
1433                                         #size-cells = <0>;
1434                                         reg = <3>;
1435                                 };
1436                                 imux188: i2c@4 {
1437                                         #address-cells = <1>;
1438                                         #size-cells = <0>;
1439                                         reg = <4>;
1440                                 };
1441                                 imux189: i2c@5 {
1442                                         #address-cells = <1>;
1443                                         #size-cells = <0>;
1444                                         reg = <5>;
1445                                 };
1446                                 imux190: i2c@6 {
1447                                         #address-cells = <1>;
1448                                         #size-cells = <0>;
1449                                         reg = <6>;
1450                                 };
1451                                 imux191: i2c@7 {
1452                                         #address-cells = <1>;
1453                                         #size-cells = <0>;
1454                                         reg = <7>;
1455                                 };
1456                         };
1457                 };
1458
1459                 /* To Fan Control Board #4 */
1460                 imux35: i2c@3 {
1461                         #address-cells = <1>;
1462                         #size-cells = <0>;
1463                         reg = <3>;
1464
1465                         i2c-switch@70 {
1466                                 compatible = "nxp,pca9548";
1467                                 #address-cells = <1>;
1468                                 #size-cells = <0>;
1469                                 reg = <0x70>;
1470                                 i2c-mux-idle-disconnect;
1471
1472                                 imux192: i2c@0 {
1473                                         #address-cells = <1>;
1474                                         #size-cells = <0>;
1475                                         reg = <0>;
1476                                 };
1477                                 imux193: i2c@1 {
1478                                         #address-cells = <1>;
1479                                         #size-cells = <0>;
1480                                         reg = <1>;
1481                                 };
1482                                 imux194: i2c@2 {
1483                                         #address-cells = <1>;
1484                                         #size-cells = <0>;
1485                                         reg = <2>;
1486                                 };
1487                                 imux195: i2c@3 {
1488                                         #address-cells = <1>;
1489                                         #size-cells = <0>;
1490                                         reg = <3>;
1491                                 };
1492                                 imux196: i2c@4 {
1493                                         #address-cells = <1>;
1494                                         #size-cells = <0>;
1495                                         reg = <4>;
1496                                 };
1497                                 imux197: i2c@5 {
1498                                         #address-cells = <1>;
1499                                         #size-cells = <0>;
1500                                         reg = <5>;
1501                                 };
1502                                 imux198: i2c@6 {
1503                                         #address-cells = <1>;
1504                                         #size-cells = <0>;
1505                                         reg = <6>;
1506                                 };
1507                                 imux199: i2c@7 {
1508                                         #address-cells = <1>;
1509                                         #size-cells = <0>;
1510                                         reg = <7>;
1511                                 };
1512                         };
1513                 };
1514
1515                 imux36: i2c@4 {
1516                         #address-cells = <1>;
1517                         #size-cells = <0>;
1518                         reg = <4>;
1519                 };
1520
1521                 imux37: i2c@5 {
1522                         #address-cells = <1>;
1523                         #size-cells = <0>;
1524                         reg = <5>;
1525                 };
1526
1527                 imux38: i2c@6 {
1528                         #address-cells = <1>;
1529                         #size-cells = <0>;
1530                         reg = <6>;
1531                 };
1532
1533                 imux39: i2c@7 {
1534                         #address-cells = <1>;
1535                         #size-cells = <0>;
1536                         reg = <7>;
1537                 };
1538         };
1539 };
1540
1541 /*
1542  * I2C bus to CMM CPLD.
1543  */
1544 &i2c13 {
1545         status = "okay";
1546 };
1547
1548 &adc {
1549         status = "okay";
1550 };
1551
1552 &ehci0 {
1553         status = "okay";
1554 };
1555
1556 &ehci1 {
1557         status = "okay";
1558 };
1559
1560 &vhub {
1561         status = "disabled";
1562 };
1563
1564 &sdhci0 {
1565         status = "okay";
1566
1567         pinctrl-names = "default";
1568         pinctrl-0 = <&pinctrl_sd1_default>;
1569 };
1570
1571 &sdhci1 {
1572         status = "disabled";
1573 };
1574
1575 &fmc_flash0 {
1576 #include "facebook-bmc-flash-layout.dtsi"
1577 };
1578
1579 &fmc_flash1 {
1580         partitions {
1581                 compatible = "fixed-partitions";
1582                 #address-cells = <1>;
1583                 #size-cells = <1>;
1584
1585                 flash1@0 {
1586                         reg = <0x0 0x2000000>;
1587                         label = "flash1";
1588                 };
1589         };
1590 };