public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
From: Sergey Suloev <ssuloev-RHPENKW2UW+1Z/+hSey0Gg@public.gmane.org>
To: Stefan Wahren <stefan.wahren-eS4NqCHxEME@public.gmane.org>,
	Eric Anholt <eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
Cc: "Noralf Trønnes" <noralf-L59+Z2yzLopAfugRpC6u6w@public.gmane.org>,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: I2C boot issue with RPI3B
Date: Fri, 7 Dec 2018 23:01:29 +0300	[thread overview]
Message-ID: <5848bfb2-6b0d-bcd8-318d-2a0c8e067f17@orpaltech.com> (raw)
In-Reply-To: <47d72b1b-3400-0785-37bd-2994c5e7b063-eS4NqCHxEME@public.gmane.org>

Hi, Stefan

On 12/7/18 6:42 PM, Stefan Wahren wrote:
> Hi Sergey,
>
> [add Noralf and drop the Broadcom guys from CC since this specific to
> the RPi]
>
> Am 07.12.18 um 14:36 schrieb Sergey Suloev:
>> 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.
> Could you give some kernel message or some measurements of the I2C line
> states?


I will provide dmesg as soon as I get to my machine.
And what measurements are you talking about ? I have a logical analyzer 
here and theoretically can get some bus snapshots, but I don't know what 
I should look for.


>> 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.
> I assume you don't use the downstream cpufreq driver, which could
> generate interferences on the clock.


No, it is 100% disabled as you mentioned this problem before in github 
thread.


>> 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.
>>
> AFAIK this I2C0 is shared with the VideoCore. Did you already tried I2C1
> which should be exclusive for the ARM core(s)?

I am aware of that. In my system 0 means i2c1.
Hard to say what exactly in device tree is managing this but I can't 
access i2c0 with i2cdetect, i.e. it is kinda disabled. I can access two 
i2c busses (probably i2c1 and i2c2) and 0 is assigned to the one 
connected to GPIO 2 & 3.

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

  parent reply	other threads:[~2018-12-07 20:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2018-12-08  8:30       ` Sergey Suloev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5848bfb2-6b0d-bcd8-318d-2a0c8e067f17@orpaltech.com \
    --to=ssuloev-rhpenkw2uw+1z/+hsey0gg@public.gmane.org \
    --cc=eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=noralf-L59+Z2yzLopAfugRpC6u6w@public.gmane.org \
    --cc=stefan.wahren-eS4NqCHxEME@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox