[U-Boot] [PATCH v2 7/7] i2c: mux: Generate longer i2c mux name

Simon Glass sjg at chromium.org
Sat Feb 2 15:00:43 UTC 2019


On Thu, 31 Jan 2019 at 08:31, Michal Simek <michal.simek at xilinx.com> wrote:
>
> For !DM case busses are listed as
> ZynqMP> i2c bus
> Bus 0:  zynq_0
> Bus 1:  zynq_0->PCA9544A at 0x75:0
> Bus 2:  zynq_0->PCA9544A at 0x75:1
> Bus 3:  zynq_0->PCA9544A at 0x75:2
> Bus 4:  zynq_1
> Bus 5:  zynq_1->PCA9548 at 0x74:0
> Bus 6:  zynq_1->PCA9548 at 0x74:1
> Bus 7:  zynq_1->PCA9548 at 0x74:2
> Bus 8:  zynq_1->PCA9548 at 0x74:3
> Bus 9:  zynq_1->PCA9548 at 0x74:4
> Bus 10: zynq_1->PCA9548 at 0x75:0
> Bus 11: zynq_1->PCA9548 at 0x75:1
> Bus 12: zynq_1->PCA9548 at 0x75:2
> Bus 13: zynq_1->PCA9548 at 0x75:3
> Bus 14: zynq_1->PCA9548 at 0x75:4
> Bus 15: zynq_1->PCA9548 at 0x75:5
> Bus 16: zynq_1->PCA9548 at 0x75:6
> Bus 17: zynq_1->PCA9548 at 0x75:7
>
> where is exactly describing i2c bus topology.
> By moving to DM case i2c mux buses are using names from DT and because
> i2c-muxes describing sub busses with the same names like i2c at 0, etc it
> is hard to identify which bus is where.
> Linux is adding topology information to i2c-mux busses to identify them
> better.
> This patch is doing the same and composing bus name with topology
> information.
>
> When patch is applied with topology information on zcu102-revA.
> ZynqMP> i2c bus
> Bus 0:  i2c at ff020000
>    20: gpio at 20, offset len 1, flags 0
>    21: gpio at 21, offset len 1, flags 0
>    75: i2c-mux at 75, offset len 1, flags 0
> Bus 2:  i2c at ff020000->i2c-mux at 75->i2c at 0
> Bus 3:  i2c at ff020000->i2c-mux at 75->i2c at 1
> Bus 4:  i2c at ff020000->i2c-mux at 75->i2c at 2
> Bus 1:  i2c at ff030000  (active 1)
>    74: i2c-mux at 74, offset len 1, flags 0
>    75: i2c-mux at 75, offset len 1, flags 0
> Bus 5:  i2c at ff030000->i2c-mux at 74->i2c at 0  (active 5)
>    54: eeprom at 54, offset len 1, flags 0
> Bus 6:  i2c at ff030000->i2c-mux at 74->i2c at 1
> Bus 7:  i2c at ff030000->i2c-mux at 74->i2c at 2
> Bus 8:  i2c at ff030000->i2c-mux at 74->i2c at 3
> Bus 9:  i2c at ff030000->i2c-mux at 74->i2c at 4
> Bus 10: i2c at ff030000->i2c-mux at 75->i2c at 0
> Bus 11: i2c at ff030000->i2c-mux at 75->i2c at 1
> Bus 12: i2c at ff030000->i2c-mux at 75->i2c at 2
> Bus 13: i2c at ff030000->i2c-mux at 75->i2c at 3
> Bus 14: i2c at ff030000->i2c-mux at 75->i2c at 4
> Bus 15: i2c at ff030000->i2c-mux at 75->i2c at 5
> Bus 16: i2c at ff030000->i2c-mux at 75->i2c at 6
> Bus 17: i2c at ff030000->i2c-mux at 75->i2c at 7
>
> Behavior before the patch is applied.
> ZynqMP> i2c bus
> Bus 0:  i2c at ff020000
>    20: gpio at 20, offset len 1, flags 0
>    21: gpio at 21, offset len 1, flags 0
>    75: i2c-mux at 75, offset len 1, flags 0
> Bus 2:  i2c at 0
> Bus 3:  i2c at 1
> Bus 4:  i2c at 2
> Bus 1:  i2c at ff030000  (active 1)
>    74: i2c-mux at 74, offset len 1, flags 0
>    75: i2c-mux at 75, offset len 1, flags 0
> Bus 5:  i2c at 0  (active 5)
>    54: eeprom at 54, offset len 1, flags 0
> Bus 6:  i2c at 1
> Bus 7:  i2c at 2
> Bus 8:  i2c at 3
> Bus 9:  i2c at 4
> Bus 10: i2c at 0
> Bus 11: i2c at 1
> Bus 12: i2c at 2
> Bus 13: i2c at 3
> Bus 14: i2c at 4
> Bus 15: i2c at 5
> Bus 16: i2c at 6
> Bus 17: i2c at 7
>
> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
> ---
>
> Changes in v2:
> - Fix headers
> - Change patch description to focus only on bus name
>
>  drivers/i2c/muxes/i2c-mux-uclass.c | 29 ++++++++++++++++++++++++++---
>  1 file changed, 26 insertions(+), 3 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list