0001 // SPDX-License-Identifier: GPL-2.0+
0002 // Copyright (c) 2018 Facebook Inc.
0003 /dts-v1/;
0004
0005 #include "ast2500-facebook-netbmc-common.dtsi"
0006
0007 / {
0008 model = "Facebook Backpack CMM BMC";
0009 compatible = "facebook,cmm-bmc", "aspeed,ast2500";
0010
0011 aliases {
0012 /*
0013 * Override the default uart aliases to avoid breaking
0014 * the legacy applications.
0015 */
0016 serial0 = &uart5;
0017 serial1 = &uart1;
0018 serial2 = &uart3;
0019 serial3 = &uart4;
0020
0021 /*
0022 * PCA9548 (1-0077) provides 8 channels for connecting to
0023 * 4 Line Cards and 4 Fabric Cards.
0024 */
0025 i2c16 = &imux16;
0026 i2c17 = &imux17;
0027 i2c18 = &imux18;
0028 i2c19 = &imux19;
0029 i2c20 = &imux20;
0030 i2c21 = &imux21;
0031 i2c22 = &imux22;
0032 i2c23 = &imux23;
0033
0034 /*
0035 * PCA9548 (2-0071) provides 8 channels for connecting to
0036 * Power Distribution Board.
0037 */
0038 i2c24 = &imux24;
0039 i2c25 = &imux25;
0040 i2c26 = &imux26;
0041 i2c27 = &imux27;
0042 i2c28 = &imux28;
0043 i2c29 = &imux29;
0044 i2c30 = &imux30;
0045 i2c31 = &imux31;
0046
0047 /*
0048 * PCA9548 (8-0077) provides 8 channels and the first 4
0049 * channels are connecting to 4 Fan Control Boards.
0050 */
0051 i2c32 = &imux32;
0052 i2c33 = &imux33;
0053 i2c34 = &imux34;
0054 i2c35 = &imux35;
0055 i2c36 = &imux36;
0056 i2c37 = &imux37;
0057 i2c38 = &imux38;
0058 i2c39 = &imux39;
0059
0060 /*
0061 * 2 PCA9548 (18-0070 & 18-0073), 16 channels connecting
0062 * to Line Card #1.
0063 */
0064 i2c40 = &imux40;
0065 i2c41 = &imux41;
0066 i2c42 = &imux42;
0067 i2c43 = &imux43;
0068 i2c44 = &imux44;
0069 i2c45 = &imux45;
0070 i2c46 = &imux46;
0071 i2c47 = &imux47;
0072 i2c48 = &imux48;
0073 i2c49 = &imux49;
0074 i2c50 = &imux50;
0075 i2c51 = &imux51;
0076 i2c52 = &imux52;
0077 i2c53 = &imux53;
0078 i2c54 = &imux54;
0079 i2c55 = &imux55;
0080
0081 /*
0082 * 2 PCA9548 (19-0070 & 19-0073), 16 channels connecting
0083 * to Line Card #2.
0084 */
0085 i2c56 = &imux56;
0086 i2c57 = &imux57;
0087 i2c58 = &imux58;
0088 i2c59 = &imux59;
0089 i2c60 = &imux60;
0090 i2c61 = &imux61;
0091 i2c62 = &imux62;
0092 i2c63 = &imux63;
0093 i2c64 = &imux64;
0094 i2c65 = &imux65;
0095 i2c66 = &imux66;
0096 i2c67 = &imux67;
0097 i2c68 = &imux68;
0098 i2c69 = &imux69;
0099 i2c70 = &imux70;
0100 i2c71 = &imux71;
0101
0102 /*
0103 * 2 PCA9548 (20-0070 & 20-0073), 16 channels connecting
0104 * to Line Card #3.
0105 */
0106 i2c72 = &imux72;
0107 i2c73 = &imux73;
0108 i2c74 = &imux74;
0109 i2c75 = &imux75;
0110 i2c76 = &imux76;
0111 i2c77 = &imux77;
0112 i2c78 = &imux78;
0113 i2c79 = &imux79;
0114 i2c80 = &imux80;
0115 i2c81 = &imux81;
0116 i2c82 = &imux82;
0117 i2c83 = &imux83;
0118 i2c84 = &imux84;
0119 i2c85 = &imux85;
0120 i2c86 = &imux86;
0121 i2c87 = &imux87;
0122
0123 /*
0124 * 2 PCA9548 (21-0070 & 21-0073), 16 channels connecting
0125 * to Line Card #4.
0126 */
0127 i2c88 = &imux88;
0128 i2c89 = &imux89;
0129 i2c90 = &imux90;
0130 i2c91 = &imux91;
0131 i2c92 = &imux92;
0132 i2c93 = &imux93;
0133 i2c94 = &imux94;
0134 i2c95 = &imux95;
0135 i2c96 = &imux96;
0136 i2c97 = &imux97;
0137 i2c98 = &imux98;
0138 i2c99 = &imux99;
0139 i2c100 = &imux100;
0140 i2c101 = &imux101;
0141 i2c102 = &imux102;
0142 i2c103 = &imux103;
0143
0144 /*
0145 * 2 PCA9548 (16-0070 & 16-0073), 16 channels connecting
0146 * to Fabric Card #1.
0147 */
0148 i2c104 = &imux104;
0149 i2c105 = &imux105;
0150 i2c106 = &imux106;
0151 i2c107 = &imux107;
0152 i2c108 = &imux108;
0153 i2c109 = &imux109;
0154 i2c110 = &imux110;
0155 i2c111 = &imux111;
0156 i2c112 = &imux112;
0157 i2c113 = &imux113;
0158 i2c114 = &imux114;
0159 i2c115 = &imux115;
0160 i2c116 = &imux116;
0161 i2c117 = &imux117;
0162 i2c118 = &imux118;
0163 i2c119 = &imux119;
0164
0165 /*
0166 * 2 PCA9548 (17-0070 & 17-0073), 16 channels connecting
0167 * to Fabric Card #2.
0168 */
0169 i2c120 = &imux120;
0170 i2c121 = &imux121;
0171 i2c122 = &imux122;
0172 i2c123 = &imux123;
0173 i2c124 = &imux124;
0174 i2c125 = &imux125;
0175 i2c126 = &imux126;
0176 i2c127 = &imux127;
0177 i2c128 = &imux128;
0178 i2c129 = &imux129;
0179 i2c130 = &imux130;
0180 i2c131 = &imux131;
0181 i2c132 = &imux132;
0182 i2c133 = &imux133;
0183 i2c134 = &imux134;
0184 i2c135 = &imux135;
0185
0186 /*
0187 * 2 PCA9548 (22-0070 & 22-0073), 16 channels connecting
0188 * to Fabric Card #3.
0189 */
0190 i2c136 = &imux136;
0191 i2c137 = &imux137;
0192 i2c138 = &imux138;
0193 i2c139 = &imux139;
0194 i2c140 = &imux140;
0195 i2c141 = &imux141;
0196 i2c142 = &imux142;
0197 i2c143 = &imux143;
0198 i2c144 = &imux144;
0199 i2c145 = &imux145;
0200 i2c146 = &imux146;
0201 i2c147 = &imux147;
0202 i2c148 = &imux148;
0203 i2c149 = &imux149;
0204 i2c150 = &imux150;
0205 i2c151 = &imux151;
0206
0207 /*
0208 * 2 PCA9548 (23-0070 & 23-0073), 16 channels connecting
0209 * to Fabric Card #4.
0210 */
0211 i2c152 = &imux152;
0212 i2c153 = &imux153;
0213 i2c154 = &imux154;
0214 i2c155 = &imux155;
0215 i2c156 = &imux156;
0216 i2c157 = &imux157;
0217 i2c158 = &imux158;
0218 i2c159 = &imux159;
0219 i2c160 = &imux160;
0220 i2c161 = &imux161;
0221 i2c162 = &imux162;
0222 i2c163 = &imux163;
0223 i2c164 = &imux164;
0224 i2c165 = &imux165;
0225 i2c166 = &imux166;
0226 i2c167 = &imux167;
0227
0228 /*
0229 * PCA9548 (32-0070), 8 channels connecting to Fan Control
0230 # Board #1.
0231 */
0232 i2c168 = &imux168;
0233 i2c169 = &imux169;
0234 i2c170 = &imux170;
0235 i2c171 = &imux171;
0236 i2c172 = &imux172;
0237 i2c173 = &imux173;
0238 i2c174 = &imux174;
0239 i2c175 = &imux175;
0240
0241 /*
0242 * PCA9548 (33-0070), 8 channels connecting to Fan Control
0243 # Board #2.
0244 */
0245 i2c176 = &imux176;
0246 i2c177 = &imux177;
0247 i2c178 = &imux178;
0248 i2c179 = &imux179;
0249 i2c180 = &imux180;
0250 i2c181 = &imux181;
0251 i2c182 = &imux182;
0252 i2c183 = &imux183;
0253
0254 /*
0255 * PCA9548 (34-0070), 8 channels connecting to Fan Control
0256 # Board #3.
0257 */
0258 i2c184 = &imux184;
0259 i2c185 = &imux185;
0260 i2c186 = &imux186;
0261 i2c187 = &imux187;
0262 i2c188 = &imux188;
0263 i2c189 = &imux189;
0264 i2c190 = &imux190;
0265 i2c191 = &imux191;
0266
0267 /*
0268 * PCA9548 (35-0070), 8 channels connecting to Fan Control
0269 # Board #4.
0270 */
0271 i2c192 = &imux192;
0272 i2c193 = &imux193;
0273 i2c194 = &imux194;
0274 i2c195 = &imux195;
0275 i2c196 = &imux196;
0276 i2c197 = &imux197;
0277 i2c198 = &imux198;
0278 i2c199 = &imux199;
0279 };
0280
0281 chosen {
0282 stdout-path = &uart1;
0283 bootargs = "console=ttyS1,9600n8 root=/dev/ram rw earlycon";
0284 };
0285
0286 ast-adc-hwmon {
0287 compatible = "iio-hwmon";
0288 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
0289 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
0290 };
0291 };
0292
0293 &uart1 {
0294 pinctrl-0 = <&pinctrl_txd1_default
0295 &pinctrl_rxd1_default
0296 &pinctrl_ncts1_default
0297 &pinctrl_ndcd1_default
0298 &pinctrl_ndsr1_default
0299 &pinctrl_ndtr1_default
0300 &pinctrl_nrts1_default>;
0301 };
0302
0303 &uart3 {
0304 pinctrl-0 = <&pinctrl_txd3_default
0305 &pinctrl_rxd3_default
0306 &pinctrl_ncts3_default
0307 &pinctrl_ndcd3_default
0308 &pinctrl_nri3_default>;
0309 };
0310
0311 &uart4 {
0312 status = "okay";
0313 pinctrl-names = "default";
0314 pinctrl-0 = <&pinctrl_txd4_default
0315 &pinctrl_rxd4_default>;
0316 };
0317
0318 /*
0319 * I2C bus reserved for communication with COM-E.
0320 */
0321 &i2c0 {
0322 status = "okay";
0323 };
0324
0325 /*
0326 * I2C bus to Line Cards and Fabric Cards.
0327 */
0328 &i2c1 {
0329 status = "okay";
0330
0331 i2c-switch@77 {
0332 compatible = "nxp,pca9548";
0333 #address-cells = <1>;
0334 #size-cells = <0>;
0335 reg = <0x77>;
0336 i2c-mux-idle-disconnect;
0337
0338 /* To Fabric Card #1 */
0339 imux16: i2c@0 {
0340 #address-cells = <1>;
0341 #size-cells = <0>;
0342 reg = <0>;
0343
0344 i2c-switch@70 {
0345 compatible = "nxp,pca9548";
0346 #address-cells = <1>;
0347 #size-cells = <0>;
0348 reg = <0x70>;
0349 i2c-mux-idle-disconnect;
0350
0351 imux104: i2c@0 {
0352 #address-cells = <1>;
0353 #size-cells = <0>;
0354 reg = <0>;
0355 };
0356 imux105: i2c@1 {
0357 #address-cells = <1>;
0358 #size-cells = <0>;
0359 reg = <1>;
0360 };
0361 imux106: i2c@2 {
0362 #address-cells = <1>;
0363 #size-cells = <0>;
0364 reg = <2>;
0365 };
0366 imux107: i2c@3 {
0367 #address-cells = <1>;
0368 #size-cells = <0>;
0369 reg = <3>;
0370 };
0371 imux108: i2c@4 {
0372 #address-cells = <1>;
0373 #size-cells = <0>;
0374 reg = <4>;
0375 };
0376 imux109: i2c@5 {
0377 #address-cells = <1>;
0378 #size-cells = <0>;
0379 reg = <5>;
0380 };
0381 imux110: i2c@6 {
0382 #address-cells = <1>;
0383 #size-cells = <0>;
0384 reg = <6>;
0385 };
0386 imux111: i2c@7 {
0387 #address-cells = <1>;
0388 #size-cells = <0>;
0389 reg = <7>;
0390 };
0391 };
0392
0393 i2c-switch@73 {
0394 compatible = "nxp,pca9548";
0395 #address-cells = <1>;
0396 #size-cells = <0>;
0397 reg = <0x73>;
0398 i2c-mux-idle-disconnect;
0399
0400 imux112: i2c@0 {
0401 #address-cells = <1>;
0402 #size-cells = <0>;
0403 reg = <0>;
0404 };
0405 imux113: i2c@1 {
0406 #address-cells = <1>;
0407 #size-cells = <0>;
0408 reg = <1>;
0409 };
0410 imux114: i2c@2 {
0411 #address-cells = <1>;
0412 #size-cells = <0>;
0413 reg = <2>;
0414 };
0415 imux115: i2c@3 {
0416 #address-cells = <1>;
0417 #size-cells = <0>;
0418 reg = <3>;
0419 };
0420 imux116: i2c@4 {
0421 #address-cells = <1>;
0422 #size-cells = <0>;
0423 reg = <4>;
0424 };
0425 imux117: i2c@5 {
0426 #address-cells = <1>;
0427 #size-cells = <0>;
0428 reg = <5>;
0429 };
0430 imux118: i2c@6 {
0431 #address-cells = <1>;
0432 #size-cells = <0>;
0433 reg = <6>;
0434 };
0435 imux119: i2c@7 {
0436 #address-cells = <1>;
0437 #size-cells = <0>;
0438 reg = <7>;
0439 };
0440 };
0441 };
0442
0443 /* To Fabric Card #2 */
0444 imux17: i2c@1 {
0445 #address-cells = <1>;
0446 #size-cells = <0>;
0447 reg = <1>;
0448
0449 i2c-switch@70 {
0450 compatible = "nxp,pca9548";
0451 #address-cells = <1>;
0452 #size-cells = <0>;
0453 reg = <0x70>;
0454 i2c-mux-idle-disconnect;
0455
0456 imux120: i2c@0 {
0457 #address-cells = <1>;
0458 #size-cells = <0>;
0459 reg = <0>;
0460 };
0461 imux121: i2c@1 {
0462 #address-cells = <1>;
0463 #size-cells = <0>;
0464 reg = <1>;
0465 };
0466 imux122: i2c@2 {
0467 #address-cells = <1>;
0468 #size-cells = <0>;
0469 reg = <2>;
0470 };
0471 imux123: i2c@3 {
0472 #address-cells = <1>;
0473 #size-cells = <0>;
0474 reg = <3>;
0475 };
0476 imux124: i2c@4 {
0477 #address-cells = <1>;
0478 #size-cells = <0>;
0479 reg = <4>;
0480 };
0481 imux125: i2c@5 {
0482 #address-cells = <1>;
0483 #size-cells = <0>;
0484 reg = <5>;
0485 };
0486 imux126: i2c@6 {
0487 #address-cells = <1>;
0488 #size-cells = <0>;
0489 reg = <6>;
0490 };
0491 imux127: i2c@7 {
0492 #address-cells = <1>;
0493 #size-cells = <0>;
0494 reg = <7>;
0495 };
0496 };
0497
0498 i2c-switch@73 {
0499 compatible = "nxp,pca9548";
0500 #address-cells = <1>;
0501 #size-cells = <0>;
0502 reg = <0x73>;
0503 i2c-mux-idle-disconnect;
0504
0505 imux128: i2c@0 {
0506 #address-cells = <1>;
0507 #size-cells = <0>;
0508 reg = <0>;
0509 };
0510 imux129: i2c@1 {
0511 #address-cells = <1>;
0512 #size-cells = <0>;
0513 reg = <1>;
0514 };
0515 imux130: i2c@2 {
0516 #address-cells = <1>;
0517 #size-cells = <0>;
0518 reg = <2>;
0519 };
0520 imux131: i2c@3 {
0521 #address-cells = <1>;
0522 #size-cells = <0>;
0523 reg = <3>;
0524 };
0525 imux132: i2c@4 {
0526 #address-cells = <1>;
0527 #size-cells = <0>;
0528 reg = <4>;
0529 };
0530 imux133: i2c@5 {
0531 #address-cells = <1>;
0532 #size-cells = <0>;
0533 reg = <5>;
0534 };
0535 imux134: i2c@6 {
0536 #address-cells = <1>;
0537 #size-cells = <0>;
0538 reg = <6>;
0539 };
0540 imux135: i2c@7 {
0541 #address-cells = <1>;
0542 #size-cells = <0>;
0543 reg = <7>;
0544 };
0545 };
0546 };
0547
0548 /* To Line Card #1 */
0549 imux18: i2c@2 {
0550 #address-cells = <1>;
0551 #size-cells = <0>;
0552 reg = <2>;
0553
0554 i2c-switch@70 {
0555 compatible = "nxp,pca9548";
0556 #address-cells = <1>;
0557 #size-cells = <0>;
0558 reg = <0x70>;
0559 i2c-mux-idle-disconnect;
0560
0561 imux40: i2c@0 {
0562 #address-cells = <1>;
0563 #size-cells = <0>;
0564 reg = <0>;
0565 };
0566 imux41: i2c@1 {
0567 #address-cells = <1>;
0568 #size-cells = <0>;
0569 reg = <1>;
0570 };
0571 imux42: i2c@2 {
0572 #address-cells = <1>;
0573 #size-cells = <0>;
0574 reg = <2>;
0575 };
0576 imux43: i2c@3 {
0577 #address-cells = <1>;
0578 #size-cells = <0>;
0579 reg = <3>;
0580 };
0581 imux44: i2c@4 {
0582 #address-cells = <1>;
0583 #size-cells = <0>;
0584 reg = <4>;
0585 };
0586 imux45: i2c@5 {
0587 #address-cells = <1>;
0588 #size-cells = <0>;
0589 reg = <5>;
0590 };
0591 imux46: i2c@6 {
0592 #address-cells = <1>;
0593 #size-cells = <0>;
0594 reg = <6>;
0595 };
0596 imux47: i2c@7 {
0597 #address-cells = <1>;
0598 #size-cells = <0>;
0599 reg = <7>;
0600 };
0601 };
0602
0603 i2c-switch@73 {
0604 compatible = "nxp,pca9548";
0605 #address-cells = <1>;
0606 #size-cells = <0>;
0607 reg = <0x73>;
0608 i2c-mux-idle-disconnect;
0609
0610 imux48: i2c@0 {
0611 #address-cells = <1>;
0612 #size-cells = <0>;
0613 reg = <0>;
0614 };
0615 imux49: i2c@1 {
0616 #address-cells = <1>;
0617 #size-cells = <0>;
0618 reg = <1>;
0619 };
0620 imux50: i2c@2 {
0621 #address-cells = <1>;
0622 #size-cells = <0>;
0623 reg = <2>;
0624 };
0625 imux51: i2c@3 {
0626 #address-cells = <1>;
0627 #size-cells = <0>;
0628 reg = <3>;
0629 };
0630 imux52: i2c@4 {
0631 #address-cells = <1>;
0632 #size-cells = <0>;
0633 reg = <4>;
0634 };
0635 imux53: i2c@5 {
0636 #address-cells = <1>;
0637 #size-cells = <0>;
0638 reg = <5>;
0639 };
0640 imux54: i2c@6 {
0641 #address-cells = <1>;
0642 #size-cells = <0>;
0643 reg = <6>;
0644 };
0645 imux55: i2c@7 {
0646 #address-cells = <1>;
0647 #size-cells = <0>;
0648 reg = <7>;
0649 };
0650 };
0651 };
0652
0653 /* To Line Card #2 */
0654 imux19: i2c@3 {
0655 #address-cells = <1>;
0656 #size-cells = <0>;
0657 reg = <3>;
0658
0659 i2c-switch@70 {
0660 compatible = "nxp,pca9548";
0661 #address-cells = <1>;
0662 #size-cells = <0>;
0663 reg = <0x70>;
0664 i2c-mux-idle-disconnect;
0665
0666 imux56: i2c@0 {
0667 #address-cells = <1>;
0668 #size-cells = <0>;
0669 reg = <0>;
0670 };
0671 imux57: i2c@1 {
0672 #address-cells = <1>;
0673 #size-cells = <0>;
0674 reg = <1>;
0675 };
0676 imux58: i2c@2 {
0677 #address-cells = <1>;
0678 #size-cells = <0>;
0679 reg = <2>;
0680 };
0681 imux59: i2c@3 {
0682 #address-cells = <1>;
0683 #size-cells = <0>;
0684 reg = <3>;
0685 };
0686 imux60: i2c@4 {
0687 #address-cells = <1>;
0688 #size-cells = <0>;
0689 reg = <4>;
0690 };
0691 imux61: i2c@5 {
0692 #address-cells = <1>;
0693 #size-cells = <0>;
0694 reg = <5>;
0695 };
0696 imux62: i2c@6 {
0697 #address-cells = <1>;
0698 #size-cells = <0>;
0699 reg = <6>;
0700 };
0701 imux63: i2c@7 {
0702 #address-cells = <1>;
0703 #size-cells = <0>;
0704 reg = <7>;
0705 };
0706 };
0707
0708 i2c-switch@73 {
0709 compatible = "nxp,pca9548";
0710 #address-cells = <1>;
0711 #size-cells = <0>;
0712 reg = <0x73>;
0713 i2c-mux-idle-disconnect;
0714
0715 imux64: i2c@0 {
0716 #address-cells = <1>;
0717 #size-cells = <0>;
0718 reg = <0>;
0719 };
0720 imux65: i2c@1 {
0721 #address-cells = <1>;
0722 #size-cells = <0>;
0723 reg = <1>;
0724 };
0725 imux66: i2c@2 {
0726 #address-cells = <1>;
0727 #size-cells = <0>;
0728 reg = <2>;
0729 };
0730 imux67: i2c@3 {
0731 #address-cells = <1>;
0732 #size-cells = <0>;
0733 reg = <3>;
0734 };
0735 imux68: i2c@4 {
0736 #address-cells = <1>;
0737 #size-cells = <0>;
0738 reg = <4>;
0739 };
0740 imux69: i2c@5 {
0741 #address-cells = <1>;
0742 #size-cells = <0>;
0743 reg = <5>;
0744 };
0745 imux70: i2c@6 {
0746 #address-cells = <1>;
0747 #size-cells = <0>;
0748 reg = <6>;
0749 };
0750 imux71: i2c@7 {
0751 #address-cells = <1>;
0752 #size-cells = <0>;
0753 reg = <7>;
0754 };
0755 };
0756 };
0757
0758 /* To LC3 SCM */
0759 imux20: i2c@4 {
0760 #address-cells = <1>;
0761 #size-cells = <0>;
0762 reg = <4>;
0763
0764 i2c-switch@70 {
0765 compatible = "nxp,pca9548";
0766 #address-cells = <1>;
0767 #size-cells = <0>;
0768 reg = <0x70>;
0769 i2c-mux-idle-disconnect;
0770
0771 imux72: i2c@0 {
0772 #address-cells = <1>;
0773 #size-cells = <0>;
0774 reg = <0>;
0775 };
0776 imux73: i2c@1 {
0777 #address-cells = <1>;
0778 #size-cells = <0>;
0779 reg = <1>;
0780 };
0781 imux74: i2c@2 {
0782 #address-cells = <1>;
0783 #size-cells = <0>;
0784 reg = <2>;
0785 };
0786 imux75: i2c@3 {
0787 #address-cells = <1>;
0788 #size-cells = <0>;
0789 reg = <3>;
0790 };
0791 imux76: i2c@4 {
0792 #address-cells = <1>;
0793 #size-cells = <0>;
0794 reg = <4>;
0795 };
0796 imux77: i2c@5 {
0797 #address-cells = <1>;
0798 #size-cells = <0>;
0799 reg = <5>;
0800 };
0801 imux78: i2c@6 {
0802 #address-cells = <1>;
0803 #size-cells = <0>;
0804 reg = <6>;
0805 };
0806 imux79: i2c@7 {
0807 #address-cells = <1>;
0808 #size-cells = <0>;
0809 reg = <7>;
0810 };
0811 };
0812
0813 i2c-switch@73 {
0814 compatible = "nxp,pca9548";
0815 #address-cells = <1>;
0816 #size-cells = <0>;
0817 reg = <0x73>;
0818 i2c-mux-idle-disconnect;
0819
0820 imux80: i2c@0 {
0821 #address-cells = <1>;
0822 #size-cells = <0>;
0823 reg = <0>;
0824 };
0825 imux81: i2c@1 {
0826 #address-cells = <1>;
0827 #size-cells = <0>;
0828 reg = <1>;
0829 };
0830 imux82: i2c@2 {
0831 #address-cells = <1>;
0832 #size-cells = <0>;
0833 reg = <2>;
0834 };
0835 imux83: i2c@3 {
0836 #address-cells = <1>;
0837 #size-cells = <0>;
0838 reg = <3>;
0839 };
0840 imux84: i2c@4 {
0841 #address-cells = <1>;
0842 #size-cells = <0>;
0843 reg = <4>;
0844 };
0845 imux85: i2c@5 {
0846 #address-cells = <1>;
0847 #size-cells = <0>;
0848 reg = <5>;
0849 };
0850 imux86: i2c@6 {
0851 #address-cells = <1>;
0852 #size-cells = <0>;
0853 reg = <6>;
0854 };
0855 imux87: i2c@7 {
0856 #address-cells = <1>;
0857 #size-cells = <0>;
0858 reg = <7>;
0859 };
0860 };
0861 };
0862
0863 /* To Line Card #4 */
0864 imux21: i2c@5 {
0865 #address-cells = <1>;
0866 #size-cells = <0>;
0867 reg = <5>;
0868
0869 i2c-switch@70 {
0870 compatible = "nxp,pca9548";
0871 #address-cells = <1>;
0872 #size-cells = <0>;
0873 reg = <0x70>;
0874 i2c-mux-idle-disconnect;
0875
0876 imux88: i2c@0 {
0877 #address-cells = <1>;
0878 #size-cells = <0>;
0879 reg = <0>;
0880 };
0881 imux89: i2c@1 {
0882 #address-cells = <1>;
0883 #size-cells = <0>;
0884 reg = <1>;
0885 };
0886 imux90: i2c@2 {
0887 #address-cells = <1>;
0888 #size-cells = <0>;
0889 reg = <2>;
0890 };
0891 imux91: i2c@3 {
0892 #address-cells = <1>;
0893 #size-cells = <0>;
0894 reg = <3>;
0895 };
0896 imux92: i2c@4 {
0897 #address-cells = <1>;
0898 #size-cells = <0>;
0899 reg = <4>;
0900 };
0901 imux93: i2c@5 {
0902 #address-cells = <1>;
0903 #size-cells = <0>;
0904 reg = <5>;
0905 };
0906 imux94: i2c@6 {
0907 #address-cells = <1>;
0908 #size-cells = <0>;
0909 reg = <6>;
0910 };
0911 imux95: i2c@7 {
0912 #address-cells = <1>;
0913 #size-cells = <0>;
0914 reg = <7>;
0915 };
0916 };
0917
0918 i2c-switch@73 {
0919 compatible = "nxp,pca9548";
0920 #address-cells = <1>;
0921 #size-cells = <0>;
0922 reg = <0x73>;
0923 i2c-mux-idle-disconnect;
0924
0925 imux96: i2c@0 {
0926 #address-cells = <1>;
0927 #size-cells = <0>;
0928 reg = <0>;
0929 };
0930 imux97: i2c@1 {
0931 #address-cells = <1>;
0932 #size-cells = <0>;
0933 reg = <1>;
0934 };
0935 imux98: i2c@2 {
0936 #address-cells = <1>;
0937 #size-cells = <0>;
0938 reg = <2>;
0939 };
0940 imux99: i2c@3 {
0941 #address-cells = <1>;
0942 #size-cells = <0>;
0943 reg = <3>;
0944 };
0945 imux100: i2c@4 {
0946 #address-cells = <1>;
0947 #size-cells = <0>;
0948 reg = <4>;
0949 };
0950 imux101: i2c@5 {
0951 #address-cells = <1>;
0952 #size-cells = <0>;
0953 reg = <5>;
0954 };
0955 imux102: i2c@6 {
0956 #address-cells = <1>;
0957 #size-cells = <0>;
0958 reg = <6>;
0959 };
0960 imux103: i2c@7 {
0961 #address-cells = <1>;
0962 #size-cells = <0>;
0963 reg = <7>;
0964 };
0965 };
0966 };
0967
0968 /* To Fabric Card #3 */
0969 imux22: i2c@6 {
0970 #address-cells = <1>;
0971 #size-cells = <0>;
0972 reg = <6>;
0973
0974 i2c-switch@70 {
0975 compatible = "nxp,pca9548";
0976 #address-cells = <1>;
0977 #size-cells = <0>;
0978 reg = <0x70>;
0979 i2c-mux-idle-disconnect;
0980
0981 imux136: i2c@0 {
0982 #address-cells = <1>;
0983 #size-cells = <0>;
0984 reg = <0>;
0985 };
0986 imux137: i2c@1 {
0987 #address-cells = <1>;
0988 #size-cells = <0>;
0989 reg = <1>;
0990 };
0991 imux138: i2c@2 {
0992 #address-cells = <1>;
0993 #size-cells = <0>;
0994 reg = <2>;
0995 };
0996 imux139: i2c@3 {
0997 #address-cells = <1>;
0998 #size-cells = <0>;
0999 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 };