[U-Boot] [PATCH] arm: mvebu: move i2c slave disable to generic SPL code

Baruch Siach baruch at tkos.co.il
Mon May 28 09:56:05 UTC 2018


Hi Chris, Stefan,

On Mon, May 28, 2018 at 10:20:01AM +0200, Stefan Roese wrote:
> On 28.05.2018 10:11, Chris Packham wrote:
> > On Mon, May 28, 2018 at 3:27 AM Baruch Siach <baruch at tkos.co.il> wrote:
> > 
> > > The hidden i2c slave that interferes the i2c bus is not board specific.
> > > All Armada 38x SoCs are affected. Move the code disabling this slave to
> > > generic code to make it work on all affected hardware.
> > 
> > I can't find a definition of this but the register seems to work for
> > kirkwood as well (not surprising since it's probably a common IP block). Is
> > there any chance we can find a home for this that's available to boards
> > that don't use SPL?
> 
> Yes, please. Can't we move this into the I2C driver instead (mvtwsi.c)?
> No need to use MVEBU_TWSI_BASE then.

The trouble is that the Turris Omnia board needs the i2c in SPL to read the 
RAM configuration from EEPROM. But I could not get the __twsi_i2c_init() 
routine (runs in both DM and non-DM) to be called from SPL.

I'm testing on (currently non-DM) 388 Clearfog Base.

In my testing here the hidden i2c slave interferes bus communication that runs 
at any speed other than 100KHz. If that is not a problem for Turris Omnia I 
can move the slave disable code to __twsi_i2c_init().

baruch

-- 
     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