[U-Boot] Regression: dm: i2c: Make i2c_get_chip_for_busnum() fail if the chip is not detected
Heiko Schocher
hs at denx.de
Tue Dec 11 04:41:22 UTC 2018
Hello Stephen,
Am 10.12.2018 um 19:23 schrieb Stephen Warren:
> 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:
:-(
Thanks for detecting so fast!
>> 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.
Hmm... yes, you are right.
Ah, Jean-Jacques first had another approach, see:
https://lists.denx.de/pipermail/u-boot/2018-October/343230.html
May it is possible to switch back to this approach ?
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs at denx.de
More information about the U-Boot
mailing list