[U-Boot] [PATCH v3 8/9] tegra: i2c: Enable new CONFIG_SYS_I2C framework
Stephen Warren
swarren at wwwdotorg.org
Tue Jul 30 20:56:22 CEST 2013
On 07/29/2013 10:28 PM, Heiko Schocher wrote:
> Hello Stephen,
>
> Am 29.07.2013 18:12, schrieb Stephen Warren:
>> On 05/04/2013 06:01 AM, Heiko Schocher wrote:
>>> From: Simon Glass<sjg at chromium.org>
>>>
>>> This enables CONFIG_SYS_I2C on Tegra, updating existing boards and
>>> the Tegra
>>> i2c driver to support this.
>>
>> Heiko, the latest U-Boot tree hangs during boot on Tegra, and "git
>
> :-(
>
> Could you enable debug printf?
>
>> bisect" points at this patch. Olof reported the issue to me.
>
> Thanks!
>
>> Can you take a look at the code and see what might be wrong? Thanks.
>
> Yep.
>
>> I suspect some kind of initialization ordering issue, since the boot
>> messages are:
>>
>> -----
>> U-Boot SPL 2013.07-rc3-00038-g880540d (Jul 29 2013 - 10:04:37)
>> U-Boot 2013.07-rc3-00038-g880540d (Jul 29 2013 - 10:04:37)
>>
>> TEGRA30
>> Board: NVIDIA Beaver
>> I2C: Caller requested bad clock: periph=-49, parent=2
>> -----
>>
>> ... and that "bad clock" message implies to me that the I2C driver is
>> initializing before it has parsed the correct clock ID out of device
>> tree.
>
> Hmm... looking in the patch ... I can see nothing which changes
> some initializing order ...
>
> @Simon: Do you have an idea?
>
> just found some wrong settings for tegra30:
>
> In include/configs/tegra30-common.h:
> /* Total I2C ports on Tegra30 */
> #define TEGRA_I2C_NUM_CONTROLLERS 5
>
> README says:
> - drivers/i2c/tegra_i2c.c:
> - activate this driver with CONFIG_SYS_I2C_TEGRA
> - This driver adds 4 i2c buses with a fix speed from
> 100000 and the slave addr 0!
I think that's just stale documentation; Tegra20 had just 4 I2C
controllers, and the docs probably weren't updated for Tegra30 which has 5.
> end yes, in the i2c driver are only 4 ports activated ... this
I don't see any limit in the driver; everything seems to use
TEGRA_I2C_NUM_CONTROLLERS.
> should be changed ... but I think, this has nothing to do with
> your problem ... but try to add in the i2c driver one more i2c adapter
> for the case TEGRA_I2C_NUM_CONTROLLERS > 4
More information about the U-Boot
mailing list