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@xxxxxxxxxxxxxxx >>> 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@xxxxxxxxxxxxxxx >> 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@xxxxxxxxxxxxxxx > 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html