public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
* I2C boot issue with RPI3B
@ 2018-12-07 13:36 Sergey Suloev
       [not found] ` <adbaedcd-3d51-f8fc-fef2-8cc00b93f057-RHPENKW2UW+1Z/+hSey0Gg@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Sergey Suloev @ 2018-12-07 13:36 UTC (permalink / raw)
  To: stefan.wahren-eS4NqCHxEME, eric-WhKQ6XTQaPysTnJN9+BGXg
  Cc: rjui-dY08KVG/lbpWk0Htik3J/w,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	sbranden-dY08KVG/lbpWk0Htik3J/w, linux-i2c-u79uwXL29TY76Z2rM5mHXA

Greetings,

I am dealing with a custom hardware based on RPI3B running kernel 4.19 
(or 4.20).
My device has 2 slaves on I2C  bus: codec WM8731 (on address 0x1a) and 
clock generator si5351a (on 0x60).

It has been a lot of time for me fighting with an I2C issue which does 
not allow the two I2C devices work correctly together: I2C bus hangs up 
at kernel boot. The issue happens in 50-70% boot cases and the fail 
percentage noticeably depends on  the bus clock set in DTS: the more 
frequency set the less fail percentage.
The kernel itself loads successfully, I can ssh to the RPI in order to 
issue "i2cdetect -y 0" and make sure that I2C bus is locked completely 
and not responding.

So far I have found the only way to make it work :  to compile si5351a 
driver into kernel and use wm8731 driver as a module.
This probably makes the clock driver load 100% before the codec and I2C 
bus does not hang up.
Since it can be fixed this way the problem really looks like a "race 
condition" in I2C bus/driver.

Would be really nice to know your opinion and possible ways to fix this.


Best regards,

Sergey


_______________________________________________
linux-rpi-kernel mailing list
linux-rpi-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel

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

end of thread, other threads:[~2018-12-08  8:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-07 13:36 I2C boot issue with RPI3B Sergey Suloev
     [not found] ` <adbaedcd-3d51-f8fc-fef2-8cc00b93f057-RHPENKW2UW+1Z/+hSey0Gg@public.gmane.org>
2018-12-07 15:42   ` Stefan Wahren
     [not found]     ` <47d72b1b-3400-0785-37bd-2994c5e7b063-eS4NqCHxEME@public.gmane.org>
2018-12-07 20:01       ` Sergey Suloev
2018-12-08  8:30       ` Sergey Suloev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox