Hi Stephen, On Mon, 10 Dec 2018 at 11:23, Stephen Warren <swar...@wwwdotorg.org> wrote: > > The following commit: > > > dm: i2c: Make i2c_get_chip_for_busnum() fail if the chip is not detected > > > > i2c_get_chip_for_busnum() really should check the presence of the chip > > on > > the bus. Most of the users of this function assume that this is done. > > ... causes a boot failure on NVIDIA Jetson TX2: > > > U-Boot 2019.01-rc1-00220-g7ff485c68b7e (Dec 10 2018 - 11:20:41 -0700) > > > > TEGRA186 > > Model: NVIDIA P2771-0000-500 > > DRAM: 7.8 GiB > > tegra_ivc_read_get_next_frame() timed out (-12) > > tegra_board_init: Cannot find MAX77620 I2C chip > > initcall sequence 00000000fffa95a8 failed at call 0000000080083480 > > (err=-110) > > ### ERROR ### Please RESET the board ### > > This may be due to the fact the bus in question is implemented by RPC to > a separate CPU, and that mechanism hasn't been used with probing before. > In general though, there's not guarantee that probing will work even on > a local/native I2C bus, since different chips don't support all probe > methods (see i2c-detect in Linux, which supports various different > probing methods due to this), so I'm rather surprised this change was > implemented. Is it really necessary? I believe we should revert it.
i2c_get_chip_for_busnum() is a legacy function. New code should use the device tree to handle this case. Can this code be moved into a PMIC / regulator driver? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot