[PATCH] ARM: dts: aspeed: minipack: Fixup I2C tree

Joel Stanley joel at jms.id.au
Mon Nov 16 14:33:45 AEDT 2020


On Tue, 10 Nov 2020 at 07:24, <rentao.bupt at gmail.com> wrote:
>
> From: Tao Ren <rentao.bupt at gmail.com>
>
> 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 at gmail.com>

Reviewed-by: Joel Stanley <joel at jms.id.au>

I will apply for 5.11.

> ---
>  .../boot/dts/aspeed-bmc-facebook-minipack.dts | 888 ++++++++++++++++++
>  1 file changed, 888 insertions(+)
>
> diff --git a/arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dts b/arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dts
> index c34741dbd268..9eb23e874f19 100644
> --- a/arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dts
> +++ b/arch/arm/boot/dts/aspeed-bmc-facebook-minipack.dts
> @@ -70,6 +70,162 @@
>                 i2c45 = &imux45;
>                 i2c46 = &imux46;
>                 i2c47 = &imux47;
> +
> +               /*
> +                * I2C Switch 24-0071 (channel #0 of 8-0070): 8 channels for
> +                * connecting to left PDB (Power Distribution Board).
> +                */
> +               i2c48 = &imux48;
> +               i2c49 = &imux49;
> +               i2c50 = &imux50;
> +               i2c51 = &imux51;
> +               i2c52 = &imux52;
> +               i2c53 = &imux53;
> +               i2c54 = &imux54;
> +               i2c55 = &imux55;
> +
> +               /*
> +                * I2C Switch 25-0072 (channel #1 of 8-0070): 8 channels for
> +                * connecting to right PDB (Power Distribution Board).
> +                */
> +               i2c56 = &imux56;
> +               i2c57 = &imux57;
> +               i2c58 = &imux58;
> +               i2c59 = &imux59;
> +               i2c60 = &imux60;
> +               i2c61 = &imux61;
> +               i2c62 = &imux62;
> +               i2c63 = &imux63;
> +
> +               /*
> +                * I2C Switch 26-0076 (channel #2 of 8-0070): 8 channels for
> +                * connecting to top FCM (Fan Control Module).
> +                */
> +               i2c64 = &imux64;
> +               i2c65 = &imux65;
> +               i2c66 = &imux66;
> +               i2c67 = &imux67;
> +               i2c68 = &imux68;
> +               i2c69 = &imux69;
> +               i2c70 = &imux70;
> +               i2c71 = &imux71;
> +
> +               /*
> +                * I2C Switch 27-0076 (channel #3 of 8-0070): 8 channels for
> +                * connecting to bottom FCM (Fan Control Module).
> +                */
> +               i2c72 = &imux72;
> +               i2c73 = &imux73;
> +               i2c74 = &imux74;
> +               i2c75 = &imux75;
> +               i2c76 = &imux76;
> +               i2c77 = &imux77;
> +               i2c78 = &imux78;
> +               i2c79 = &imux79;
> +
> +               /*
> +                * I2C Switch 40-0073 (channel #0 of 11-0070): connecting
> +                * to PIM (Port Interface Module) #1 (1-based).
> +                */
> +               i2c80 = &imux80;
> +               i2c81 = &imux81;
> +               i2c82 = &imux82;
> +               i2c83 = &imux83;
> +               i2c84 = &imux84;
> +               i2c85 = &imux85;
> +               i2c86 = &imux86;
> +               i2c87 = &imux87;
> +
> +               /*
> +                * I2C Switch 41-0073 (channel #1 of 11-0070): connecting
> +                * to PIM (Port Interface Module) #2 (1-based).
> +                */
> +               i2c88 = &imux88;
> +               i2c89 = &imux89;
> +               i2c90 = &imux90;
> +               i2c91 = &imux91;
> +               i2c92 = &imux92;
> +               i2c93 = &imux93;
> +               i2c94 = &imux94;
> +               i2c95 = &imux95;
> +
> +               /*
> +                * I2C Switch 42-0073 (channel #2 of 11-0070): connecting
> +                * to PIM (Port Interface Module) #3 (1-based).
> +                */
> +               i2c96 = &imux96;
> +               i2c97 = &imux97;
> +               i2c98 = &imux98;
> +               i2c99 = &imux99;
> +               i2c100 = &imux100;
> +               i2c101 = &imux101;
> +               i2c102 = &imux102;
> +               i2c103 = &imux103;
> +
> +               /*
> +                * I2C Switch 43-0073 (channel #3 of 11-0070): connecting
> +                * to PIM (Port Interface Module) #4 (1-based).
> +                */
> +               i2c104 = &imux104;
> +               i2c105 = &imux105;
> +               i2c106 = &imux106;
> +               i2c107 = &imux107;
> +               i2c108 = &imux108;
> +               i2c109 = &imux109;
> +               i2c110 = &imux110;
> +               i2c111 = &imux111;
> +
> +               /*
> +                * I2C Switch 44-0073 (channel #4 of 11-0070): connecting
> +                * to PIM (Port Interface Module) #5 (1-based).
> +                */
> +               i2c112 = &imux112;
> +               i2c113 = &imux113;
> +               i2c114 = &imux114;
> +               i2c115 = &imux115;
> +               i2c116 = &imux116;
> +               i2c117 = &imux117;
> +               i2c118 = &imux118;
> +               i2c119 = &imux119;
> +
> +               /*
> +                * I2C Switch 45-0073 (channel #5 of 11-0070): connecting
> +                * to PIM (Port Interface Module) #6 (1-based).
> +                */
> +               i2c120 = &imux120;
> +               i2c121 = &imux121;
> +               i2c122 = &imux122;
> +               i2c123 = &imux123;
> +               i2c124 = &imux124;
> +               i2c125 = &imux125;
> +               i2c126 = &imux126;
> +               i2c127 = &imux127;
> +
> +               /*
> +                * I2C Switch 46-0073 (channel #6 of 11-0070): connecting
> +                * to PIM (Port Interface Module) #7 (1-based).
> +                */
> +               i2c128 = &imux128;
> +               i2c129 = &imux129;
> +               i2c130 = &imux130;
> +               i2c131 = &imux131;
> +               i2c132 = &imux132;
> +               i2c133 = &imux133;
> +               i2c134 = &imux134;
> +               i2c135 = &imux135;
> +
> +               /*
> +                * I2C Switch 47-0073 (channel #7 of 11-0070): connecting
> +                * to PIM (Port Interface Module) #8 (1-based).
> +                */
> +               i2c136 = &imux136;
> +               i2c137 = &imux137;
> +               i2c138 = &imux138;
> +               i2c139 = &imux139;
> +               i2c140 = &imux140;
> +               i2c141 = &imux141;
> +               i2c142 = &imux142;
> +               i2c143 = &imux143;
>         };
>
>         chosen {
> @@ -184,11 +340,16 @@
>  &i2c2 {
>         status = "okay";
>
> +       /*
> +        * I2C Switch 2-0070 is connecting to SCM (System Controller
> +        * Module).
> +        */
>         i2c-switch at 70 {
>                 compatible = "nxp,pca9548";
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 reg = <0x70>;
> +               i2c-mux-idle-disconnect;
>
>                 imux16: i2c at 0 {
>                         #address-cells = <1>;
> @@ -269,29 +430,270 @@
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 reg = <0x70>;
> +               i2c-mux-idle-disconnect;
>
> +               /*
> +                * I2C Switch 8-0070 channel #0: connecting to left PDB
> +                * (Power Distribution Board).
> +                */
>                 imux24: i2c at 0 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <0>;
> +
> +                       i2c-switch at 71 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x71>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux48: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux49: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux50: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux51: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux52: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux53: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux54: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux55: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 8-0070 channel #1: connecting to right PDB
> +                * (Power Distribution Board).
> +                */
>                 imux25: i2c at 1 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <1>;
> +
> +                       i2c-switch at 72 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x72>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux56: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux57: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux58: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux59: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux60: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux61: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux62: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux63: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 8-0070 channel #2: connecting to top FCM
> +                * (Fan Control Module).
> +                */
>                 imux26: i2c at 2 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <2>;
> +
> +                       i2c-switch at 76 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x76>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux64: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux65: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux66: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux67: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux68: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux69: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux70: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux71: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 8-0070 channel #3: connecting to bottom
> +                * FCM (Fan Control Module).
> +                */
>                 imux27: i2c at 3 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <3>;
> +
> +                       i2c-switch at 76 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x76>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux72: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux73: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux74: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux75: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux76: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux77: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux78: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux79: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
>                 imux28: i2c at 4 {
> @@ -323,11 +725,16 @@
>  &i2c9 {
>         status = "okay";
>
> +       /*
> +        * I2C Switch 9-0070 is connecting to MAC/PHY EEPROMs on SMB
> +        * (Switch Main Board).
> +        */
>         i2c-switch at 70 {
>                 compatible = "nxp,pca9548";
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 reg = <0x70>;
> +               i2c-mux-idle-disconnect;
>
>                 imux32: i2c at 0 {
>                         #address-cells = <1>;
> @@ -391,53 +798,534 @@
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 reg = <0x70>;
> +               i2c-mux-idle-disconnect;
>
> +               /*
> +                * I2C Switch 11-0070 channel #0: connecting to PIM
> +                * (Port Interface Module) #1 (1-based).
> +                */
>                 imux40: i2c at 0 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <0>;
> +
> +                       i2c-switch at 73 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x73>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux80: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux81: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux82: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux83: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux84: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux85: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux86: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux87: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 11-0070 channel #1: connecting to PIM
> +                * (Port Interface Module) #2 (1-based).
> +                */
>                 imux41: i2c at 1 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <1>;
> +
> +                       i2c-switch at 73 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x73>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux88: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux89: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux90: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux91: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux92: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux93: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux94: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux95: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 11-0070 channel #2: connecting to PIM
> +                * (Port Interface Module) #3 (1-based).
> +                */
>                 imux42: i2c at 2 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <2>;
> +
> +                       i2c-switch at 73 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x73>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux96: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux97: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux98: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux99: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux100: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux101: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux102: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux103: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 11-0070 channel #3: connecting to PIM
> +                * (Port Interface Module) #4 (1-based).
> +                */
>                 imux43: i2c at 3 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <3>;
> +
> +                       i2c-switch at 73 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x73>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux104: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux105: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux106: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux107: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux108: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux109: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux110: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux111: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 11-0070 channel #4: connecting to PIM
> +                * (Port Interface Module) #5 (1-based).
> +                */
>                 imux44: i2c at 4 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <4>;
> +
> +                       i2c-switch at 73 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x73>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux112: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux113: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux114: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux115: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux116: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux117: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux118: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux119: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 11-0070 channel #5: connecting to PIM
> +                * (Port Interface Module) #6 (1-based).
> +                */
>                 imux45: i2c at 5 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <5>;
> +
> +                       i2c-switch at 73 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x73>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux120: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux121: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux122: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux123: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux124: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux125: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux126: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux127: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 11-0070 channel #6: connecting to PIM
> +                * (Port Interface Module) #7 (1-based).
> +                */
>                 imux46: i2c at 6 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <6>;
> +
> +                       i2c-switch at 73 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x73>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux128: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux129: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux130: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux131: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux132: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux133: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux134: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux135: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>
> +               /*
> +                * I2C Switch 11-0070 channel #7: connecting to PIM
> +                * (Port Interface Module) #8 (1-based).
> +                */
>                 imux47: i2c at 7 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <7>;
> +
> +                       i2c-switch at 73 {
> +                               compatible = "nxp,pca9548";
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x73>;
> +                               i2c-mux-idle-disconnect;
> +
> +                               imux136: i2c at 0 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <0>;
> +                               };
> +
> +                               imux137: i2c at 1 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <1>;
> +                               };
> +
> +                               imux138: i2c at 2 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <2>;
> +                               };
> +
> +                               imux139: i2c at 3 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <3>;
> +                               };
> +
> +                               imux140: i2c at 4 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <4>;
> +                               };
> +
> +                               imux141: i2c at 5 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <5>;
> +                               };
> +
> +                               imux142: i2c at 6 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <6>;
> +                               };
> +
> +                               imux143: i2c at 7 {
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
> +                                       reg = <7>;
> +                               };
> +                       };
>                 };
>         };
>  };
> --
> 2.17.1
>


More information about the openbmc mailing list