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

Stefan Roese sr at denx.de
Mon May 28 10:05:43 UTC 2018


Hi Baruch,

On 28.05.2018 11:56, Baruch Siach wrote:
> 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.

Are you sure? How can you use the I2C functions of this driver, if the
init / probe function is not called?

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

Thanks,
Stefan


More information about the U-Boot mailing list