Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: aspeed: minipack: Fixup I2C tree

Create all the i2c switches in device tree and use aliases to assign
child channels with consistent bus numbers.

Besides, "i2c-mux-idle-disconnect" is set for all the i2c switches to
avoid potential conflicts when multiple devices (beind the switches) use
the same device address.

Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201110072446.8218-1-rentao.bupt@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>

authored by

Tao Ren and committed by
Joel Stanley
2e7cd913 c9f6aa9d

+888
+888
arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dts
··· 70 70 i2c45 = &imux45; 71 71 i2c46 = &imux46; 72 72 i2c47 = &imux47; 73 + 74 + /* 75 + * I2C Switch 24-0071 (channel #0 of 8-0070): 8 channels for 76 + * connecting to left PDB (Power Distribution Board). 77 + */ 78 + i2c48 = &imux48; 79 + i2c49 = &imux49; 80 + i2c50 = &imux50; 81 + i2c51 = &imux51; 82 + i2c52 = &imux52; 83 + i2c53 = &imux53; 84 + i2c54 = &imux54; 85 + i2c55 = &imux55; 86 + 87 + /* 88 + * I2C Switch 25-0072 (channel #1 of 8-0070): 8 channels for 89 + * connecting to right PDB (Power Distribution Board). 90 + */ 91 + i2c56 = &imux56; 92 + i2c57 = &imux57; 93 + i2c58 = &imux58; 94 + i2c59 = &imux59; 95 + i2c60 = &imux60; 96 + i2c61 = &imux61; 97 + i2c62 = &imux62; 98 + i2c63 = &imux63; 99 + 100 + /* 101 + * I2C Switch 26-0076 (channel #2 of 8-0070): 8 channels for 102 + * connecting to top FCM (Fan Control Module). 103 + */ 104 + i2c64 = &imux64; 105 + i2c65 = &imux65; 106 + i2c66 = &imux66; 107 + i2c67 = &imux67; 108 + i2c68 = &imux68; 109 + i2c69 = &imux69; 110 + i2c70 = &imux70; 111 + i2c71 = &imux71; 112 + 113 + /* 114 + * I2C Switch 27-0076 (channel #3 of 8-0070): 8 channels for 115 + * connecting to bottom FCM (Fan Control Module). 116 + */ 117 + i2c72 = &imux72; 118 + i2c73 = &imux73; 119 + i2c74 = &imux74; 120 + i2c75 = &imux75; 121 + i2c76 = &imux76; 122 + i2c77 = &imux77; 123 + i2c78 = &imux78; 124 + i2c79 = &imux79; 125 + 126 + /* 127 + * I2C Switch 40-0073 (channel #0 of 11-0070): connecting 128 + * to PIM (Port Interface Module) #1 (1-based). 129 + */ 130 + i2c80 = &imux80; 131 + i2c81 = &imux81; 132 + i2c82 = &imux82; 133 + i2c83 = &imux83; 134 + i2c84 = &imux84; 135 + i2c85 = &imux85; 136 + i2c86 = &imux86; 137 + i2c87 = &imux87; 138 + 139 + /* 140 + * I2C Switch 41-0073 (channel #1 of 11-0070): connecting 141 + * to PIM (Port Interface Module) #2 (1-based). 142 + */ 143 + i2c88 = &imux88; 144 + i2c89 = &imux89; 145 + i2c90 = &imux90; 146 + i2c91 = &imux91; 147 + i2c92 = &imux92; 148 + i2c93 = &imux93; 149 + i2c94 = &imux94; 150 + i2c95 = &imux95; 151 + 152 + /* 153 + * I2C Switch 42-0073 (channel #2 of 11-0070): connecting 154 + * to PIM (Port Interface Module) #3 (1-based). 155 + */ 156 + i2c96 = &imux96; 157 + i2c97 = &imux97; 158 + i2c98 = &imux98; 159 + i2c99 = &imux99; 160 + i2c100 = &imux100; 161 + i2c101 = &imux101; 162 + i2c102 = &imux102; 163 + i2c103 = &imux103; 164 + 165 + /* 166 + * I2C Switch 43-0073 (channel #3 of 11-0070): connecting 167 + * to PIM (Port Interface Module) #4 (1-based). 168 + */ 169 + i2c104 = &imux104; 170 + i2c105 = &imux105; 171 + i2c106 = &imux106; 172 + i2c107 = &imux107; 173 + i2c108 = &imux108; 174 + i2c109 = &imux109; 175 + i2c110 = &imux110; 176 + i2c111 = &imux111; 177 + 178 + /* 179 + * I2C Switch 44-0073 (channel #4 of 11-0070): connecting 180 + * to PIM (Port Interface Module) #5 (1-based). 181 + */ 182 + i2c112 = &imux112; 183 + i2c113 = &imux113; 184 + i2c114 = &imux114; 185 + i2c115 = &imux115; 186 + i2c116 = &imux116; 187 + i2c117 = &imux117; 188 + i2c118 = &imux118; 189 + i2c119 = &imux119; 190 + 191 + /* 192 + * I2C Switch 45-0073 (channel #5 of 11-0070): connecting 193 + * to PIM (Port Interface Module) #6 (1-based). 194 + */ 195 + i2c120 = &imux120; 196 + i2c121 = &imux121; 197 + i2c122 = &imux122; 198 + i2c123 = &imux123; 199 + i2c124 = &imux124; 200 + i2c125 = &imux125; 201 + i2c126 = &imux126; 202 + i2c127 = &imux127; 203 + 204 + /* 205 + * I2C Switch 46-0073 (channel #6 of 11-0070): connecting 206 + * to PIM (Port Interface Module) #7 (1-based). 207 + */ 208 + i2c128 = &imux128; 209 + i2c129 = &imux129; 210 + i2c130 = &imux130; 211 + i2c131 = &imux131; 212 + i2c132 = &imux132; 213 + i2c133 = &imux133; 214 + i2c134 = &imux134; 215 + i2c135 = &imux135; 216 + 217 + /* 218 + * I2C Switch 47-0073 (channel #7 of 11-0070): connecting 219 + * to PIM (Port Interface Module) #8 (1-based). 220 + */ 221 + i2c136 = &imux136; 222 + i2c137 = &imux137; 223 + i2c138 = &imux138; 224 + i2c139 = &imux139; 225 + i2c140 = &imux140; 226 + i2c141 = &imux141; 227 + i2c142 = &imux142; 228 + i2c143 = &imux143; 73 229 }; 74 230 75 231 chosen { ··· 340 184 &i2c2 { 341 185 status = "okay"; 342 186 187 + /* 188 + * I2C Switch 2-0070 is connecting to SCM (System Controller 189 + * Module). 190 + */ 343 191 i2c-switch@70 { 344 192 compatible = "nxp,pca9548"; 345 193 #address-cells = <1>; 346 194 #size-cells = <0>; 347 195 reg = <0x70>; 196 + i2c-mux-idle-disconnect; 348 197 349 198 imux16: i2c@0 { 350 199 #address-cells = <1>; ··· 430 269 #address-cells = <1>; 431 270 #size-cells = <0>; 432 271 reg = <0x70>; 272 + i2c-mux-idle-disconnect; 433 273 274 + /* 275 + * I2C Switch 8-0070 channel #0: connecting to left PDB 276 + * (Power Distribution Board). 277 + */ 434 278 imux24: i2c@0 { 435 279 #address-cells = <1>; 436 280 #size-cells = <0>; 437 281 reg = <0>; 282 + 283 + i2c-switch@71 { 284 + compatible = "nxp,pca9548"; 285 + #address-cells = <1>; 286 + #size-cells = <0>; 287 + reg = <0x71>; 288 + i2c-mux-idle-disconnect; 289 + 290 + imux48: i2c@0 { 291 + #address-cells = <1>; 292 + #size-cells = <0>; 293 + reg = <0>; 294 + }; 295 + 296 + imux49: i2c@1 { 297 + #address-cells = <1>; 298 + #size-cells = <0>; 299 + reg = <1>; 300 + }; 301 + 302 + imux50: i2c@2 { 303 + #address-cells = <1>; 304 + #size-cells = <0>; 305 + reg = <2>; 306 + }; 307 + 308 + imux51: i2c@3 { 309 + #address-cells = <1>; 310 + #size-cells = <0>; 311 + reg = <3>; 312 + }; 313 + 314 + imux52: i2c@4 { 315 + #address-cells = <1>; 316 + #size-cells = <0>; 317 + reg = <4>; 318 + }; 319 + 320 + imux53: i2c@5 { 321 + #address-cells = <1>; 322 + #size-cells = <0>; 323 + reg = <5>; 324 + }; 325 + 326 + imux54: i2c@6 { 327 + #address-cells = <1>; 328 + #size-cells = <0>; 329 + reg = <6>; 330 + }; 331 + 332 + imux55: i2c@7 { 333 + #address-cells = <1>; 334 + #size-cells = <0>; 335 + reg = <7>; 336 + }; 337 + }; 438 338 }; 439 339 340 + /* 341 + * I2C Switch 8-0070 channel #1: connecting to right PDB 342 + * (Power Distribution Board). 343 + */ 440 344 imux25: i2c@1 { 441 345 #address-cells = <1>; 442 346 #size-cells = <0>; 443 347 reg = <1>; 348 + 349 + i2c-switch@72 { 350 + compatible = "nxp,pca9548"; 351 + #address-cells = <1>; 352 + #size-cells = <0>; 353 + reg = <0x72>; 354 + i2c-mux-idle-disconnect; 355 + 356 + imux56: i2c@0 { 357 + #address-cells = <1>; 358 + #size-cells = <0>; 359 + reg = <0>; 360 + }; 361 + 362 + imux57: i2c@1 { 363 + #address-cells = <1>; 364 + #size-cells = <0>; 365 + reg = <1>; 366 + }; 367 + 368 + imux58: i2c@2 { 369 + #address-cells = <1>; 370 + #size-cells = <0>; 371 + reg = <2>; 372 + }; 373 + 374 + imux59: i2c@3 { 375 + #address-cells = <1>; 376 + #size-cells = <0>; 377 + reg = <3>; 378 + }; 379 + 380 + imux60: i2c@4 { 381 + #address-cells = <1>; 382 + #size-cells = <0>; 383 + reg = <4>; 384 + }; 385 + 386 + imux61: i2c@5 { 387 + #address-cells = <1>; 388 + #size-cells = <0>; 389 + reg = <5>; 390 + }; 391 + 392 + imux62: i2c@6 { 393 + #address-cells = <1>; 394 + #size-cells = <0>; 395 + reg = <6>; 396 + }; 397 + 398 + imux63: i2c@7 { 399 + #address-cells = <1>; 400 + #size-cells = <0>; 401 + reg = <7>; 402 + }; 403 + }; 444 404 }; 445 405 406 + /* 407 + * I2C Switch 8-0070 channel #2: connecting to top FCM 408 + * (Fan Control Module). 409 + */ 446 410 imux26: i2c@2 { 447 411 #address-cells = <1>; 448 412 #size-cells = <0>; 449 413 reg = <2>; 414 + 415 + i2c-switch@76 { 416 + compatible = "nxp,pca9548"; 417 + #address-cells = <1>; 418 + #size-cells = <0>; 419 + reg = <0x76>; 420 + i2c-mux-idle-disconnect; 421 + 422 + imux64: i2c@0 { 423 + #address-cells = <1>; 424 + #size-cells = <0>; 425 + reg = <0>; 426 + }; 427 + 428 + imux65: i2c@1 { 429 + #address-cells = <1>; 430 + #size-cells = <0>; 431 + reg = <1>; 432 + }; 433 + 434 + imux66: i2c@2 { 435 + #address-cells = <1>; 436 + #size-cells = <0>; 437 + reg = <2>; 438 + }; 439 + 440 + imux67: i2c@3 { 441 + #address-cells = <1>; 442 + #size-cells = <0>; 443 + reg = <3>; 444 + }; 445 + 446 + imux68: i2c@4 { 447 + #address-cells = <1>; 448 + #size-cells = <0>; 449 + reg = <4>; 450 + }; 451 + 452 + imux69: i2c@5 { 453 + #address-cells = <1>; 454 + #size-cells = <0>; 455 + reg = <5>; 456 + }; 457 + 458 + imux70: i2c@6 { 459 + #address-cells = <1>; 460 + #size-cells = <0>; 461 + reg = <6>; 462 + }; 463 + 464 + imux71: i2c@7 { 465 + #address-cells = <1>; 466 + #size-cells = <0>; 467 + reg = <7>; 468 + }; 469 + }; 450 470 }; 451 471 472 + /* 473 + * I2C Switch 8-0070 channel #3: connecting to bottom 474 + * FCM (Fan Control Module). 475 + */ 452 476 imux27: i2c@3 { 453 477 #address-cells = <1>; 454 478 #size-cells = <0>; 455 479 reg = <3>; 480 + 481 + i2c-switch@76 { 482 + compatible = "nxp,pca9548"; 483 + #address-cells = <1>; 484 + #size-cells = <0>; 485 + reg = <0x76>; 486 + i2c-mux-idle-disconnect; 487 + 488 + imux72: i2c@0 { 489 + #address-cells = <1>; 490 + #size-cells = <0>; 491 + reg = <0>; 492 + }; 493 + 494 + imux73: i2c@1 { 495 + #address-cells = <1>; 496 + #size-cells = <0>; 497 + reg = <1>; 498 + }; 499 + 500 + imux74: i2c@2 { 501 + #address-cells = <1>; 502 + #size-cells = <0>; 503 + reg = <2>; 504 + }; 505 + 506 + imux75: i2c@3 { 507 + #address-cells = <1>; 508 + #size-cells = <0>; 509 + reg = <3>; 510 + }; 511 + 512 + imux76: i2c@4 { 513 + #address-cells = <1>; 514 + #size-cells = <0>; 515 + reg = <4>; 516 + }; 517 + 518 + imux77: i2c@5 { 519 + #address-cells = <1>; 520 + #size-cells = <0>; 521 + reg = <5>; 522 + }; 523 + 524 + imux78: i2c@6 { 525 + #address-cells = <1>; 526 + #size-cells = <0>; 527 + reg = <6>; 528 + }; 529 + 530 + imux79: i2c@7 { 531 + #address-cells = <1>; 532 + #size-cells = <0>; 533 + reg = <7>; 534 + }; 535 + }; 456 536 }; 457 537 458 538 imux28: i2c@4 { ··· 725 323 &i2c9 { 726 324 status = "okay"; 727 325 326 + /* 327 + * I2C Switch 9-0070 is connecting to MAC/PHY EEPROMs on SMB 328 + * (Switch Main Board). 329 + */ 728 330 i2c-switch@70 { 729 331 compatible = "nxp,pca9548"; 730 332 #address-cells = <1>; 731 333 #size-cells = <0>; 732 334 reg = <0x70>; 335 + i2c-mux-idle-disconnect; 733 336 734 337 imux32: i2c@0 { 735 338 #address-cells = <1>; ··· 798 391 #address-cells = <1>; 799 392 #size-cells = <0>; 800 393 reg = <0x70>; 394 + i2c-mux-idle-disconnect; 801 395 396 + /* 397 + * I2C Switch 11-0070 channel #0: connecting to PIM 398 + * (Port Interface Module) #1 (1-based). 399 + */ 802 400 imux40: i2c@0 { 803 401 #address-cells = <1>; 804 402 #size-cells = <0>; 805 403 reg = <0>; 404 + 405 + i2c-switch@73 { 406 + compatible = "nxp,pca9548"; 407 + #address-cells = <1>; 408 + #size-cells = <0>; 409 + reg = <0x73>; 410 + i2c-mux-idle-disconnect; 411 + 412 + imux80: i2c@0 { 413 + #address-cells = <1>; 414 + #size-cells = <0>; 415 + reg = <0>; 416 + }; 417 + 418 + imux81: i2c@1 { 419 + #address-cells = <1>; 420 + #size-cells = <0>; 421 + reg = <1>; 422 + }; 423 + 424 + imux82: i2c@2 { 425 + #address-cells = <1>; 426 + #size-cells = <0>; 427 + reg = <2>; 428 + }; 429 + 430 + imux83: i2c@3 { 431 + #address-cells = <1>; 432 + #size-cells = <0>; 433 + reg = <3>; 434 + }; 435 + 436 + imux84: i2c@4 { 437 + #address-cells = <1>; 438 + #size-cells = <0>; 439 + reg = <4>; 440 + }; 441 + 442 + imux85: i2c@5 { 443 + #address-cells = <1>; 444 + #size-cells = <0>; 445 + reg = <5>; 446 + }; 447 + 448 + imux86: i2c@6 { 449 + #address-cells = <1>; 450 + #size-cells = <0>; 451 + reg = <6>; 452 + }; 453 + 454 + imux87: i2c@7 { 455 + #address-cells = <1>; 456 + #size-cells = <0>; 457 + reg = <7>; 458 + }; 459 + }; 806 460 }; 807 461 462 + /* 463 + * I2C Switch 11-0070 channel #1: connecting to PIM 464 + * (Port Interface Module) #2 (1-based). 465 + */ 808 466 imux41: i2c@1 { 809 467 #address-cells = <1>; 810 468 #size-cells = <0>; 811 469 reg = <1>; 470 + 471 + i2c-switch@73 { 472 + compatible = "nxp,pca9548"; 473 + #address-cells = <1>; 474 + #size-cells = <0>; 475 + reg = <0x73>; 476 + i2c-mux-idle-disconnect; 477 + 478 + imux88: i2c@0 { 479 + #address-cells = <1>; 480 + #size-cells = <0>; 481 + reg = <0>; 482 + }; 483 + 484 + imux89: i2c@1 { 485 + #address-cells = <1>; 486 + #size-cells = <0>; 487 + reg = <1>; 488 + }; 489 + 490 + imux90: i2c@2 { 491 + #address-cells = <1>; 492 + #size-cells = <0>; 493 + reg = <2>; 494 + }; 495 + 496 + imux91: i2c@3 { 497 + #address-cells = <1>; 498 + #size-cells = <0>; 499 + reg = <3>; 500 + }; 501 + 502 + imux92: i2c@4 { 503 + #address-cells = <1>; 504 + #size-cells = <0>; 505 + reg = <4>; 506 + }; 507 + 508 + imux93: i2c@5 { 509 + #address-cells = <1>; 510 + #size-cells = <0>; 511 + reg = <5>; 512 + }; 513 + 514 + imux94: i2c@6 { 515 + #address-cells = <1>; 516 + #size-cells = <0>; 517 + reg = <6>; 518 + }; 519 + 520 + imux95: i2c@7 { 521 + #address-cells = <1>; 522 + #size-cells = <0>; 523 + reg = <7>; 524 + }; 525 + }; 812 526 }; 813 527 528 + /* 529 + * I2C Switch 11-0070 channel #2: connecting to PIM 530 + * (Port Interface Module) #3 (1-based). 531 + */ 814 532 imux42: i2c@2 { 815 533 #address-cells = <1>; 816 534 #size-cells = <0>; 817 535 reg = <2>; 536 + 537 + i2c-switch@73 { 538 + compatible = "nxp,pca9548"; 539 + #address-cells = <1>; 540 + #size-cells = <0>; 541 + reg = <0x73>; 542 + i2c-mux-idle-disconnect; 543 + 544 + imux96: i2c@0 { 545 + #address-cells = <1>; 546 + #size-cells = <0>; 547 + reg = <0>; 548 + }; 549 + 550 + imux97: i2c@1 { 551 + #address-cells = <1>; 552 + #size-cells = <0>; 553 + reg = <1>; 554 + }; 555 + 556 + imux98: i2c@2 { 557 + #address-cells = <1>; 558 + #size-cells = <0>; 559 + reg = <2>; 560 + }; 561 + 562 + imux99: i2c@3 { 563 + #address-cells = <1>; 564 + #size-cells = <0>; 565 + reg = <3>; 566 + }; 567 + 568 + imux100: i2c@4 { 569 + #address-cells = <1>; 570 + #size-cells = <0>; 571 + reg = <4>; 572 + }; 573 + 574 + imux101: i2c@5 { 575 + #address-cells = <1>; 576 + #size-cells = <0>; 577 + reg = <5>; 578 + }; 579 + 580 + imux102: i2c@6 { 581 + #address-cells = <1>; 582 + #size-cells = <0>; 583 + reg = <6>; 584 + }; 585 + 586 + imux103: i2c@7 { 587 + #address-cells = <1>; 588 + #size-cells = <0>; 589 + reg = <7>; 590 + }; 591 + }; 818 592 }; 819 593 594 + /* 595 + * I2C Switch 11-0070 channel #3: connecting to PIM 596 + * (Port Interface Module) #4 (1-based). 597 + */ 820 598 imux43: i2c@3 { 821 599 #address-cells = <1>; 822 600 #size-cells = <0>; 823 601 reg = <3>; 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 + imux104: i2c@0 { 611 + #address-cells = <1>; 612 + #size-cells = <0>; 613 + reg = <0>; 614 + }; 615 + 616 + imux105: i2c@1 { 617 + #address-cells = <1>; 618 + #size-cells = <0>; 619 + reg = <1>; 620 + }; 621 + 622 + imux106: i2c@2 { 623 + #address-cells = <1>; 624 + #size-cells = <0>; 625 + reg = <2>; 626 + }; 627 + 628 + imux107: i2c@3 { 629 + #address-cells = <1>; 630 + #size-cells = <0>; 631 + reg = <3>; 632 + }; 633 + 634 + imux108: i2c@4 { 635 + #address-cells = <1>; 636 + #size-cells = <0>; 637 + reg = <4>; 638 + }; 639 + 640 + imux109: i2c@5 { 641 + #address-cells = <1>; 642 + #size-cells = <0>; 643 + reg = <5>; 644 + }; 645 + 646 + imux110: i2c@6 { 647 + #address-cells = <1>; 648 + #size-cells = <0>; 649 + reg = <6>; 650 + }; 651 + 652 + imux111: i2c@7 { 653 + #address-cells = <1>; 654 + #size-cells = <0>; 655 + reg = <7>; 656 + }; 657 + }; 824 658 }; 825 659 660 + /* 661 + * I2C Switch 11-0070 channel #4: connecting to PIM 662 + * (Port Interface Module) #5 (1-based). 663 + */ 826 664 imux44: i2c@4 { 827 665 #address-cells = <1>; 828 666 #size-cells = <0>; 829 667 reg = <4>; 668 + 669 + i2c-switch@73 { 670 + compatible = "nxp,pca9548"; 671 + #address-cells = <1>; 672 + #size-cells = <0>; 673 + reg = <0x73>; 674 + i2c-mux-idle-disconnect; 675 + 676 + imux112: i2c@0 { 677 + #address-cells = <1>; 678 + #size-cells = <0>; 679 + reg = <0>; 680 + }; 681 + 682 + imux113: i2c@1 { 683 + #address-cells = <1>; 684 + #size-cells = <0>; 685 + reg = <1>; 686 + }; 687 + 688 + imux114: i2c@2 { 689 + #address-cells = <1>; 690 + #size-cells = <0>; 691 + reg = <2>; 692 + }; 693 + 694 + imux115: i2c@3 { 695 + #address-cells = <1>; 696 + #size-cells = <0>; 697 + reg = <3>; 698 + }; 699 + 700 + imux116: i2c@4 { 701 + #address-cells = <1>; 702 + #size-cells = <0>; 703 + reg = <4>; 704 + }; 705 + 706 + imux117: i2c@5 { 707 + #address-cells = <1>; 708 + #size-cells = <0>; 709 + reg = <5>; 710 + }; 711 + 712 + imux118: i2c@6 { 713 + #address-cells = <1>; 714 + #size-cells = <0>; 715 + reg = <6>; 716 + }; 717 + 718 + imux119: i2c@7 { 719 + #address-cells = <1>; 720 + #size-cells = <0>; 721 + reg = <7>; 722 + }; 723 + }; 830 724 }; 831 725 726 + /* 727 + * I2C Switch 11-0070 channel #5: connecting to PIM 728 + * (Port Interface Module) #6 (1-based). 729 + */ 832 730 imux45: i2c@5 { 833 731 #address-cells = <1>; 834 732 #size-cells = <0>; 835 733 reg = <5>; 734 + 735 + i2c-switch@73 { 736 + compatible = "nxp,pca9548"; 737 + #address-cells = <1>; 738 + #size-cells = <0>; 739 + reg = <0x73>; 740 + i2c-mux-idle-disconnect; 741 + 742 + imux120: i2c@0 { 743 + #address-cells = <1>; 744 + #size-cells = <0>; 745 + reg = <0>; 746 + }; 747 + 748 + imux121: i2c@1 { 749 + #address-cells = <1>; 750 + #size-cells = <0>; 751 + reg = <1>; 752 + }; 753 + 754 + imux122: i2c@2 { 755 + #address-cells = <1>; 756 + #size-cells = <0>; 757 + reg = <2>; 758 + }; 759 + 760 + imux123: i2c@3 { 761 + #address-cells = <1>; 762 + #size-cells = <0>; 763 + reg = <3>; 764 + }; 765 + 766 + imux124: i2c@4 { 767 + #address-cells = <1>; 768 + #size-cells = <0>; 769 + reg = <4>; 770 + }; 771 + 772 + imux125: i2c@5 { 773 + #address-cells = <1>; 774 + #size-cells = <0>; 775 + reg = <5>; 776 + }; 777 + 778 + imux126: i2c@6 { 779 + #address-cells = <1>; 780 + #size-cells = <0>; 781 + reg = <6>; 782 + }; 783 + 784 + imux127: i2c@7 { 785 + #address-cells = <1>; 786 + #size-cells = <0>; 787 + reg = <7>; 788 + }; 789 + }; 836 790 }; 837 791 792 + /* 793 + * I2C Switch 11-0070 channel #6: connecting to PIM 794 + * (Port Interface Module) #7 (1-based). 795 + */ 838 796 imux46: i2c@6 { 839 797 #address-cells = <1>; 840 798 #size-cells = <0>; 841 799 reg = <6>; 800 + 801 + i2c-switch@73 { 802 + compatible = "nxp,pca9548"; 803 + #address-cells = <1>; 804 + #size-cells = <0>; 805 + reg = <0x73>; 806 + i2c-mux-idle-disconnect; 807 + 808 + imux128: i2c@0 { 809 + #address-cells = <1>; 810 + #size-cells = <0>; 811 + reg = <0>; 812 + }; 813 + 814 + imux129: i2c@1 { 815 + #address-cells = <1>; 816 + #size-cells = <0>; 817 + reg = <1>; 818 + }; 819 + 820 + imux130: i2c@2 { 821 + #address-cells = <1>; 822 + #size-cells = <0>; 823 + reg = <2>; 824 + }; 825 + 826 + imux131: i2c@3 { 827 + #address-cells = <1>; 828 + #size-cells = <0>; 829 + reg = <3>; 830 + }; 831 + 832 + imux132: i2c@4 { 833 + #address-cells = <1>; 834 + #size-cells = <0>; 835 + reg = <4>; 836 + }; 837 + 838 + imux133: i2c@5 { 839 + #address-cells = <1>; 840 + #size-cells = <0>; 841 + reg = <5>; 842 + }; 843 + 844 + imux134: i2c@6 { 845 + #address-cells = <1>; 846 + #size-cells = <0>; 847 + reg = <6>; 848 + }; 849 + 850 + imux135: i2c@7 { 851 + #address-cells = <1>; 852 + #size-cells = <0>; 853 + reg = <7>; 854 + }; 855 + }; 842 856 }; 843 857 858 + /* 859 + * I2C Switch 11-0070 channel #7: connecting to PIM 860 + * (Port Interface Module) #8 (1-based). 861 + */ 844 862 imux47: i2c@7 { 845 863 #address-cells = <1>; 846 864 #size-cells = <0>; 847 865 reg = <7>; 866 + 867 + i2c-switch@73 { 868 + compatible = "nxp,pca9548"; 869 + #address-cells = <1>; 870 + #size-cells = <0>; 871 + reg = <0x73>; 872 + i2c-mux-idle-disconnect; 873 + 874 + imux136: i2c@0 { 875 + #address-cells = <1>; 876 + #size-cells = <0>; 877 + reg = <0>; 878 + }; 879 + 880 + imux137: i2c@1 { 881 + #address-cells = <1>; 882 + #size-cells = <0>; 883 + reg = <1>; 884 + }; 885 + 886 + imux138: i2c@2 { 887 + #address-cells = <1>; 888 + #size-cells = <0>; 889 + reg = <2>; 890 + }; 891 + 892 + imux139: i2c@3 { 893 + #address-cells = <1>; 894 + #size-cells = <0>; 895 + reg = <3>; 896 + }; 897 + 898 + imux140: i2c@4 { 899 + #address-cells = <1>; 900 + #size-cells = <0>; 901 + reg = <4>; 902 + }; 903 + 904 + imux141: i2c@5 { 905 + #address-cells = <1>; 906 + #size-cells = <0>; 907 + reg = <5>; 908 + }; 909 + 910 + imux142: i2c@6 { 911 + #address-cells = <1>; 912 + #size-cells = <0>; 913 + reg = <6>; 914 + }; 915 + 916 + imux143: i2c@7 { 917 + #address-cells = <1>; 918 + #size-cells = <0>; 919 + reg = <7>; 920 + }; 921 + }; 848 922 }; 849 923 }; 850 924 };