Commit f32a8007ef0f ("dm: i2c: Make i2c_get_chip_for_busnum() fail if the chip is not detected") introduced a regression for the NVIDIA Jetson TX2.
For some reason the xfer callback of the tegra i2c driver doesn't support probing the I2C devices with a 0-length message. Fixing the regression by providing a dummy implementation of probe_chip() that does nothing. Signed-off-by: Jean-Jacques Hiblot <jjhib...@ti.com> Tested-by: Stephen Warren <swar...@nvidia.com> --- drivers/i2c/tegra186_bpmp_i2c.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/i2c/tegra186_bpmp_i2c.c b/drivers/i2c/tegra186_bpmp_i2c.c index b4fff43..793f3f5 100644 --- a/drivers/i2c/tegra186_bpmp_i2c.c +++ b/drivers/i2c/tegra186_bpmp_i2c.c @@ -85,6 +85,12 @@ static int tegra186_bpmp_i2c_xfer(struct udevice *dev, struct i2c_msg *msg, return 0; } +static int tegra186_bpmp_probe_chip(struct udevice *bus, uint chip_addr, + uint chip_flags) +{ + return 0; +} + static int tegra186_bpmp_i2c_probe(struct udevice *dev) { struct tegra186_bpmp_i2c *priv = dev_get_priv(dev); @@ -101,6 +107,7 @@ static int tegra186_bpmp_i2c_probe(struct udevice *dev) static const struct dm_i2c_ops tegra186_bpmp_i2c_ops = { .xfer = tegra186_bpmp_i2c_xfer, + .probe_chip = tegra186_bpmp_probe_chip, }; static const struct udevice_id tegra186_bpmp_i2c_ids[] = { -- 2.7.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot