Linux Audio

Check our new training course

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