[U-Boot] [PATCH] i2c: mvtwsi: fix hang on SPL bind

Baruch Siach baruch at tkos.co.il
Tue Apr 9 17:40:12 UTC 2019


Hi Stefan,

On Tue, Apr 09 2019, Stefan Roese wrote:
> On 07.04.19 11:30, Baruch Siach wrote:
>> The mvebu specific debug register is not accessible when the bind code
>> runs in SPL. Skip it.
>
> The other I2C registers can be accessed but only the debug register
> not? Do you know, why this is the case?

Access to other registers might hang as well, I have not tested. The
debug register is the only one that the .bind callback touches. .bind
callbacks are called before board_early_init_f() that configures the
MPP.

baruch

>> Signed-off-by: Baruch Siach <baruch at tkos.co.il>
>> ---
>>   drivers/i2c/mvtwsi.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c
>> index 74ac0a4aa789..05560e112729 100644
>> --- a/drivers/i2c/mvtwsi.c
>> +++ b/drivers/i2c/mvtwsi.c
>> @@ -801,6 +801,10 @@ static int mvtwsi_i2c_ofdata_to_platdata(struct udevice *bus)
>>     static void twsi_disable_i2c_slave(struct mvtwsi_registers *twsi)
>>   {
>> +	/* The debug register is not accessible in early boot */
>> +	if (IS_ENABLED(CONFIG_SPL_BUILD))
>> +		return;
>> +
>>   	clrbits_le32(&twsi->debug, BIT(18));
>>   }

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