linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adrian Fiergolski <Adrian.Fiergolski@cern.ch>
To: Peter Rosin <peda@axentia.se>, linux-i2c@vger.kernel.org
Subject: Re: nested I2C muxes
Date: Fri, 20 Jan 2017 09:50:08 +0100	[thread overview]
Message-ID: <0cffde89-9dd7-36e0-c213-820ae45e6cbf@cern.ch> (raw)
In-Reply-To: <ddbc9c2d-c1f4-0858-4453-bb03777ab236@axentia.se>

Hi Peter,

Thank you for your answers.

Yes, the typos you noticed (<5>, the same switch address) , are just
because I didn't prepare an example device tree carefully enough.

I will debug further from where my problem comes from.

Regards,
Adrian

On 19.01.2017 at 23:50, Peter Rosin wrote:
> On 2017-01-19 19:34, Peter Rosin wrote:
>> On 2017-01-19 19:03, Adrian Fiergolski wrote:
>>> Hi,
>>>
>>> I haven't found any information regarding support for nested i2c muxes.
>>> Is the below device tree supported by the current driver ?
>> No, it is not since you cannot have two devices with address 0x74
>> visible at the same time. You would have to set a different address
>> on one of the muxes using its A0-A2 pins. Then it should work.
>>
>> Look in Documentation/i2c/i2c-topology for more information.
>>
>> Cheers,
>> peda
>>
>>> &i2c0 {
>>>         status = "okay";
>>>         clock-frequency = <400000>;
>>>         pinctrl-names = "default";
>>>         pinctrl-0 = <&pinctrl_i2c0_default>;
>>>
>>>         i2cswitch@74 {
>>>                 compatible = "nxp,pca9548";
>>>                 #address-cells = <1>;
>>>                 #size-cells = <0>;
>>>                 reg = <0x74>;
>>>
>>>                 i2c@0 {
>>>                         #address-cells = <1>;
>>>                         #size-cells = <0>;
>>>                         reg = <0>;
>>>                         si570: clock-generator@5d {
>>>                                 #clock-cells = <0>;
>>>                                 compatible = "silabs,si570";
>>>                                 temperature-stability = <50>;
>>>                                 reg = <0x5d>;
>>>                                 factory-fout = <156250000>;
>>>                                 clock-frequency = <148500000>;
>>>                         };
>>>                 };
>>>
>>>                 i2c@2 {
>>>                         #address-cells = <1>;
>>>                         #size-cells = <0>;
>>>                         reg = <5>;
> Also, this <5> is bogus. It should match the @2 a few lines up.
>
> Cheers,
> peda
>
>>>                         i2cswitch_hpc@74 {
>>>                                 compatible = "nxp,pca9548";
>>>                                 #address-cells = <1>;
>>>                                 #size-cells = <0>;
>>>                                 reg = <0x74>;
>>>                                 hpc_caribou_sources_enable@76  {
>>>                                         compatible= "nxp,pca9539";
>>>                                         #address-cells = <1>;
>>>                                         #size-cells = <0>;
>>>                                         reg = <0x76>;
>>>                                 };
>>>                         };
>>>
>>>                 };
>>>
>>>         };
>>>
>>> };
>>>
>>> With such tree I am getting error
>>>
>>> [2.173385] i2c i2c-2: of_i2c: invalid addr=0 on
>>> /amba/i2c@e0004000/i2cswitch@74/i2c@2/i2cswitch_hpc@74
>>>
>>>
>>> Regards,
>>>
>>> Adrian Fiergolski
>>>
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

      reply	other threads:[~2017-01-20  8:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-19 18:03 nested I2C muxes Adrian Fiergolski
2017-01-19 18:34 ` Peter Rosin
2017-01-19 22:50   ` Peter Rosin
2017-01-20  8:50     ` Adrian Fiergolski [this message]

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=0cffde89-9dd7-36e0-c213-820ae45e6cbf@cern.ch \
    --to=adrian.fiergolski@cern.ch \
    --cc=linux-i2c@vger.kernel.org \
    --cc=peda@axentia.se \
    /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;
as well as URLs for NNTP newsgroup(s).