[U-Boot] [PATCH 1/2] i2c: mvtwsi: disable i2c slave on Armada 38x
Chris Packham
judge.packham at gmail.com
Tue May 29 03:49:44 UTC 2018
On Tue, May 29, 2018 at 2:39 PM Baruch Siach <baruch at tkos.co.il> wrote:
> Hi Chris,
> 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
> Thanks,
> 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