[U-Boot] [PATCH 1/2] i2c: mvtwsi: disable i2c slave on Armada 38x

Chris Packham judge.packham at gmail.com
Tue May 29 03:58:46 UTC 2018


On Tue, May 29, 2018 at 3:56 PM Baruch Siach <baruch at tkos.co.il> wrote:

> Hi Chris,

> On Tue, May 29, 2018 at 03:49:44PM +1200, Chris Packham wrote:
> > On Tue, May 29, 2018 at 2:39 PM Baruch Siach <baruch at tkos.co.il> wrote:
> > > On Tue, May 29, 2018 at 10:32:47AM +1200, Chris Packham wrote:
> > > > Did you intend to omit the u-boot mailing list?
> >
> > > No, sorry. Thanks for noticing. I'll resend with the change that
Stefan
> > > suggested and keep your Tested-by.
> >
> > > > On Tue, May 29, 2018 at 3:11 AM Baruch Siach <baruch at tkos.co.il>
wrote:
> > > > > Equivalent code that disables the hidden i2c0 slave already
exists in
> > > > > the Turris Omnia platform specific code. But this hidden i2c0
slave
> > that
> > > > > interferes the i2c bus is not board specific. All Armada 38x SoCs
are
> > > > > affected. Add code to disable this slave to the i2c bus driver to
make
> > > > > it work on all affected hardware.
> > > >
> > > > > Use the bind callback because we want this to always run at boot,
> > > > > regardless of whether U-Boot uses the i2c bus.
> > > >
> > > > > Cc: Rabeeh Khoury <rabeeh at solid-run.com>
> > > > > Signed-off-by: Baruch Siach <baruch at tkos.co.il>
> > > >
> > > > Tested-by: Chris Packham <judge.packham at gmail.com>
> >
> > > [snip]
> >
> > > >
> > > > > +       /* Disable the hidden slave on i2c0 of 38x */
> > > > > +       if (IS_ENABLED(CONFIG_ARMADA_38X) && bus->req_seq == 0)
> > > >
> > > > I'll submit a patch to add IS_ENABLED(CONFIG_KIRKWOOD) when this
hits
> > > > u-boot.git.
> >
> > > Have you hit this issue on Kirkwood? Which one?
> >
> > Custom board with Kirkwood 88F6281_A0
> >
> > Before
> > => i2c probe Valid chip addresses: 48 50 51 52 53 64 70 71 72 73 74
> >
> > After
> > => i2c probe Valid chip addresses: 48 50 51 52 53 70 71 72 73 74

> Since I'm resending this patch anyway, would you mind if I add
> IS_ENABLED(CONFIG_KIRKWOOD)?


I've got a patch ready for that. I'll send it your way and you can either
add it to the series or just squash it into the v2 of this patch.

> baruch

> > > > > +               twsi_disable_i2c_slave(twsi);
> > > > > +
> > > > > +       return 0;
> > > > > +}
> > > > > +
> > > > >   static int mvtwsi_i2c_probe(struct udevice *bus)
> > > > >   {
> > > > >          struct mvtwsi_i2c_dev *dev = dev_get_priv(bus);
> > > > > @@ -850,6 +873,7 @@ U_BOOT_DRIVER(i2c_mvtwsi) = {
> > > > >          .name = "i2c_mvtwsi",
> > > > >          .id = UCLASS_I2C,
> > > > >          .of_match = mvtwsi_i2c_ids,
> > > > > +       .bind = mvtwsi_i2c_bind,
> > > > >          .probe = mvtwsi_i2c_probe,
> > > > >          .ofdata_to_platdata = mvtwsi_i2c_ofdata_to_platdata,
> > > > >          .priv_auto_alloc_size = sizeof(struct mvtwsi_i2c_dev),
> > > > > --
> > > > > 2.17.0

> --
>       http://baruch.siach.name/blog/                  ~. .~   Tk Open
Systems

=}------------------------------------------------ooO--U--Ooo------------{=
>     - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -


More information about the U-Boot mailing list