u-boot/arch/arm
Raviteja Narayanam 486f25c727 arm64: zynqmp: Add 'i2c-mux-idle-disconnect' property
I2C muxes that have the slave devices with same address are
falling into the below problem.

VCK190 system controller (SC) - zynqmp-e-a2197-00-revA.dts
I2C1 (0xff030000) -> Mux1 (@0x74) -> Channel 3 -> 0x50
I2C1 (0xff030000) -> Mux2 (@0x75) -> Channel 0 -> 0x50

1. SC accesses I2C1 - Mux1 (0x74) - Channel 3 and then
2. SC accesses I2C1 - Mux2 (0x75) - Channel 0.

Now it results in 2 slave devices with same address (0x50)
on the I2C bus, making the communication un-reliable.

When ' i2c-mux-idle-disconnect' is in DT, after '1', the Mux
channel output is disconnected, making none of the channels
available to the I2C1. So, there is no question of having the
same addressed slave (0x50) present on the bus when we are doing '2'.

Same pattern is seen in below two boards also.

ZCU208 - zynqmp-zcu208-revA.dts
ZCU216 - zynqmp-zcu216-revA.dts

Signed-off-by: Raviteja Narayanam <raviteja.narayanam@xilinx.com>
2021-05-19 09:44:50 +02:00
..
cpu Revert "spl: Drop bd_info in the data section" 2021-04-19 11:34:01 -04:00
dts arm64: zynqmp: Add 'i2c-mux-idle-disconnect' property 2021-05-19 09:44:50 +02:00
include lmb: move CONFIG_LMB in Kconfig 2021-04-22 14:09:45 -04:00
lib arm: zimage: Use correct symbol to hide messages in SPL 2021-04-28 10:05:13 +02:00
mach-aspeed common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-at91 arm: Remove picosam9g45 board 2021-04-10 08:01:09 -04:00
mach-bcm283x reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-bcmstb
mach-cortina
mach-davinci reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-exynos reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-highbank common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
mach-imx ARM:imx:imx8mq-cm: Add support for Ronetix iMX8MQ-CM 2021-05-02 12:46:54 +02:00
mach-integrator
mach-ipq40xx dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mach-k3 arm: am64x: Add support for selecting DT based on EEPROM 2021-05-12 16:32:44 +05:30
mach-keystone reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-kirkwood drivers: ata: Remove mvsata_ide driver 2021-04-10 07:59:30 -04:00
mach-lpc32xx reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-mediatek board: mt7629: enable compression of u-boot to reduce the size of final image 2021-03-20 16:24:27 -04:00
mach-meson arm: meson: remove static ethernet link setup 2021-04-06 11:10:29 +02:00
mach-mvebu arm64: mvebu: extend the mmio region 2021-05-16 06:48:45 +02:00
mach-nexell s5p4418_nanopi2: Drop dead code 2021-03-02 15:53:37 -05:00
mach-octeontx reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-octeontx2 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-omap2 am335x: add support for cape detect functionality 2021-05-13 13:09:09 -04:00
mach-orion5x reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-owl reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-qemu qemu: arm: Initialise virtio devices in board_late_init 2020-12-31 14:41:31 +01:00
mach-rmobile ARM: renesas: Scrub duplicate memory nodes from DT on Gen3 2021-05-12 21:36:27 +02:00
mach-rockchip common: fit: Add weak board_fit_config_name_match 2021-04-14 15:23:01 -04:00
mach-s5pc1xx common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
mach-snapdragon common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-socfpga arm: socfpga: smc: Add function to get usercode 2021-04-08 17:29:13 +08:00
mach-sti
mach-stm32 board: Add rt-thread art-pi board support 2021-04-09 11:53:00 +02:00
mach-stm32mp Add rt-thread art-pi board support based on STM32H750 SoC 2021-04-09 13:10:59 -04:00
mach-sunxi arm: sunxi: add support for DIP detection to CHIP board 2021-05-13 13:09:09 -04:00
mach-tegra Tegra: remove e2220-1170 board 2021-04-12 17:17:11 -04:00
mach-u8500 common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
mach-uniphier reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-versal arm64: versal: Remove gd reference 2021-04-23 08:49:19 +02:00
mach-versatile
mach-zynq reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-zynqmp Xilinx changes for v2021.04-rc3 2021-02-23 10:45:55 -05:00
mach-zynqmp-r5 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
thumb1/include/asm/proc-armv
config.mk Add support for stack-protector 2021-04-20 07:31:12 -04:00
Kconfig arm: highbank: Do DRAM init from DT 2021-04-20 07:31:12 -04:00
Kconfig.debug
Makefile arm: octeontx2: Add support for OcteonTX2 SoC platforms 2020-08-25 08:01:16 +02:00