On Saturday 28 November 2020 13:48:37 Michael Nazzareno Trimarchi wrote:
> Hi
>
> On Sat, Nov 21, 2020 at 11:30 PM Pali Rohár <pali@???> wrote:
> >
> > It looks like that i2c bus lot of times timeout on some units. Prior
> > migration to CONFIG_DM_I2C i2c speed was set to CONFIG_SYS_OMAP24_I2C_SPEED
> > value which was 100000. Lower speed fixes timeout problems, so change speed
> > back to its previous value.
> >
> > Signed-off-by: Pali Rohár <pali@???>
> > Fixes: 8d8c18170325 ("Nokia RX-51: Convert to CONFIG_DM_I2C")
> > ---
> > Please include this patch into U-Boot master branch for 2020.01 release
> > to have i2c bus working.
> > ---
> > board/nokia/rx51/rx51.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
> > index 3d62b5d9ad..2dd41604c9 100644
> > --- a/board/nokia/rx51/rx51.c
> > +++ b/board/nokia/rx51/rx51.c
> > @@ -704,9 +704,9 @@ void board_mmc_power_init(void)
> > }
> >
> > static const struct omap_i2c_platdata rx51_i2c[] = {
> > - { I2C_BASE1, 2200000, OMAP_I2C_REV_V1 },
> > + { I2C_BASE1, 100000, OMAP_I2C_REV_V1 },
>
> I can understand this one. I don't know what kind of speed was before
Prior to mentioned commit which is doing conversion to DM, i2c speed was
set to 100000.
> > { I2C_BASE2, 100000, OMAP_I2C_REV_V1 },
> > - { I2C_BASE3, 400000, OMAP_I2C_REV_V1 },
> > + { I2C_BASE3, 100000, OMAP_I2C_REV_V1 },
>
> Can you report the peripherals have this problem? I mean
> a lot of i2c devices can run to 400Khz.
Problematic is i2c LED device.
> And how are those buses configured in the kernel?
It configures it to 2200000, 100000, 400000, like prior this patch.
In kernel they are working fine. I really do not know why U-Boot has
problems...
>
> Michael
>
> > };
> >
> > U_BOOT_DEVICES(rx51_i2c) = {
> > --
> > 2.20.1
> >
>
>
> --
> Michael Nazzareno Trimarchi
> Amarula Solutions BV
> COO Co-Founder
> Cruquiuskade 47 Amsterdam 1018 AM NL
> T. +31(0)851119172
> M. +39(0)3479132170
> [`as] https://www.amarulasolutions.com