All of lore.kernel.org
 help / color / mirror / Atom feed
* i2c-i801 / SMBus timeouts on BayTrail board (U-Boot)
@ 2016-06-24 11:57 Stefan Roese
  2016-06-24 13:38 ` Jean Delvare
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Roese @ 2016-06-24 11:57 UTC (permalink / raw)
  To: linux-i2c; +Cc: Mika Westerberg, Jean Delvare, Jarkko Nikula, Chew, Kean ho

Hi,

I'm currently trying to use the SMBus on a congatec BayTrail board.
This works just fine when booting via the original BIOS. But when I
boot into Linux using U-Boot as bootloader, I get the following
errors:

[   81.877121] i801_smbus 0000:00:1f.3: Transaction timeout
[   81.879228] i801_smbus 0000:00:1f.3: Failed terminating the transaction
[   81.879320] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
[   81.879373] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
[   81.879421] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
[   81.879496] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
...

I checked with an oscilloscope and the SMBus clock is not toggling
at all in this case. My feeling is, that some basic setup is missing
in this non-BIOS case. Like some clock enabling. Does anyone of you
have some idea here?

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: i2c-i801 / SMBus timeouts on BayTrail board (U-Boot)
  2016-06-24 11:57 i2c-i801 / SMBus timeouts on BayTrail board (U-Boot) Stefan Roese
@ 2016-06-24 13:38 ` Jean Delvare
  2016-06-24 14:33   ` Stefan Roese
  0 siblings, 1 reply; 3+ messages in thread
From: Jean Delvare @ 2016-06-24 13:38 UTC (permalink / raw)
  To: Stefan Roese; +Cc: linux-i2c, Mika Westerberg, Jarkko Nikula, Chew, Kean ho

Hi Stefan,

On ven., 2016-06-24 at 13:57 +0200, Stefan Roese wrote:
> Hi,
> 
> I'm currently trying to use the SMBus on a congatec BayTrail board.
> This works just fine when booting via the original BIOS. But when I
> boot into Linux using U-Boot as bootloader, I get the following
> errors:
> 
> [   81.877121] i801_smbus 0000:00:1f.3: Transaction timeout
> [   81.879228] i801_smbus 0000:00:1f.3: Failed terminating the transaction
> [   81.879320] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
> [   81.879373] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
> [   81.879421] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
> [   81.879496] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
> ...
> 
> I checked with an oscilloscope and the SMBus clock is not toggling
> at all in this case. My feeling is, that some basic setup is missing
> in this non-BIOS case. Like some clock enabling. Does anyone of you
> have some idea here?

No immediate idea, sorry. Two ideas:

* Is this problem specific to Baytrail systems, or does i2c-i801 fail on
all U-Boot systems?

* Did you try comparing the PCI configuration space of the SMBus device
between original BIOS boot (working) and U-Boot boot (not working)?

-- 
Jean Delvare
SUSE L3 Support

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: i2c-i801 / SMBus timeouts on BayTrail board (U-Boot)
  2016-06-24 13:38 ` Jean Delvare
@ 2016-06-24 14:33   ` Stefan Roese
  0 siblings, 0 replies; 3+ messages in thread
From: Stefan Roese @ 2016-06-24 14:33 UTC (permalink / raw)
  To: Jean Delvare; +Cc: linux-i2c, Mika Westerberg, Jarkko Nikula, Chew, Kean ho

Hi Jean,

On 24.06.2016 15:38, Jean Delvare wrote:
> On ven., 2016-06-24 at 13:57 +0200, Stefan Roese wrote:
>> Hi,
>>
>> I'm currently trying to use the SMBus on a congatec BayTrail board.
>> This works just fine when booting via the original BIOS. But when I
>> boot into Linux using U-Boot as bootloader, I get the following
>> errors:
>>
>> [   81.877121] i801_smbus 0000:00:1f.3: Transaction timeout
>> [   81.879228] i801_smbus 0000:00:1f.3: Failed terminating the transaction
>> [   81.879320] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
>> [   81.879373] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
>> [   81.879421] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
>> [   81.879496] i801_smbus 0000:00:1f.3: SMBus is busy, can't use it!
>> ...
>>
>> I checked with an oscilloscope and the SMBus clock is not toggling
>> at all in this case. My feeling is, that some basic setup is missing
>> in this non-BIOS case. Like some clock enabling. Does anyone of you
>> have some idea here?
>
> No immediate idea, sorry. Two ideas:
>
> * Is this problem specific to Baytrail systems, or does i2c-i801 fail on
> all U-Boot systems?

I only have BayTrail systems right now.

> * Did you try comparing the PCI configuration space of the SMBus device
> between original BIOS boot (working) and U-Boot boot (not working)?

The issue seems to be solved just a few minutes ago. As it seems
a pin-mux configuration was missing for the SMBus pins. Now the bus
can be scanned in Linux without any issues.

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-06-24 14:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-24 11:57 i2c-i801 / SMBus timeouts on BayTrail board (U-Boot) Stefan Roese
2016-06-24 13:38 ` Jean Delvare
2016-06-24 14:33   ` Stefan Roese

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.