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};
1591