]> git.baikalelectronics.ru Git - uboot.git/commit
i2c: correct I2C deblock logic
authorHaibo Chen <haibo.chen@nxp.com>
Mon, 27 Mar 2023 11:21:43 +0000 (19:21 +0800)
committerHeiko Schocher <hs@denx.de>
Tue, 11 Apr 2023 04:44:39 +0000 (06:44 +0200)
commita4dfb75f4d7353e5243dca063469bdccd087b51e
tree778c314948de12bd99adf009bde5c10fb90e2fd9
parentd72dd3cb8c10bb434a348fff206479df38106518
i2c: correct I2C deblock logic

Current code use dm_gpio_get_value() to get SDA and SCL value, and the
value depends on whether DTS file config the GPIO_ACTIVE_LOW. In ususal
case for i2c GPIO, DTS need to set GPIO_ACTIVE_LOW for SCL/SDA pins. So
here the logic is not correct.

And we must not use GPIOD_ACTIVE_LOW in client code include the
dm_gpio_set_dir_flags(), it is DTS's responsibility for this flag. So
remove GPIOD_ACTIVE_LOW here.

Fixes: 434ad187c971 ("dm: i2c: implement gpio-based I2C deblock")
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Alexander Kochetkov <al.kochet@gmail.com <mailto:al.kochet@gmail.com>>
drivers/i2c/i2c-uclass.c