Message ID | 1479338955-5248-2-git-send-email-xow@google.com |
---|---|
State | Accepted, archived |
Headers | show |
Hi Xo, On Thu, Nov 17, 2016 at 9:59 AM, Xo Wang <xow@google.com> wrote: > Add device-tree bindings to instantiate the PCA9541A I2C master > selector. This driver allows mastering downstream devices after sending > an arbitration request to the PCA9541A. Downstream devices go into the > 'i2c-arb' child node. I took a look at the bindings document for i2c-mux[1] and it suggests something different. Is there a reason why you didn't follow what it says? [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-mux.txt Cheers, Joel > > Instantiate the HWMON client driver for the TI LM5066I hotswap > controller present on Zaius EVT2 downstream of the master selector. > > Signed-off-by: Xo Wang <xow@google.com> > --- > arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 19 +++++++++++++++++-- > 1 file changed, 17 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts > index 3d997d9..136eb1d 100644 > --- a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts > +++ b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts > @@ -210,8 +210,23 @@ > &i2c7 { > status = "okay"; > > - /* MUX PCA9541A (other master: CPU0 PCIe 1) > - * ADM1272 PMBUS @10h > + pca9541a@70 { > + compatible = "nxp,pca9541"; > + reg = <0x70>; > + > + i2c-arb { > + #address-cells = <1>; > + #size-cells = <0>; > + > + hotswap@10 { > + compatible = "ti,lm5066"; > + reg = <0x10>; > + }; > + }; > + }; > + > + /* Master selector PCA9541A @70h (other master: CPU0) > + * LM5066I PMBUS @10h > */ > /* 12V SMPS Q54SH12050NNDH @61h */ > /* CPU0 VR ISL68137 0.7V, 0.96V PMBUS @64h */ > -- > 2.8.0.rc3.226.g39d4020 > > _______________________________________________ > openbmc mailing list > openbmc@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/openbmc
Hi Joel, On Wed, Nov 16, 2016 at 8:59 PM, Joel Stanley <joel@jms.id.au> wrote: > Hi Xo, > > On Thu, Nov 17, 2016 at 9:59 AM, Xo Wang <xow@google.com> wrote: >> Add device-tree bindings to instantiate the PCA9541A I2C master >> selector. This driver allows mastering downstream devices after sending >> an arbitration request to the PCA9541A. Downstream devices go into the >> 'i2c-arb' child node. > > I took a look at the bindings document for i2c-mux[1] and it suggests > something different. > > Is there a reason why you didn't follow what it says? > > [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-mux.txt > I was following the I2C arbitration bus doc, which has its i2c slave device nodes in an "i2c-arb" child node. I'm not sure why it was written differently from "i2c-mux" bindings. To be clear, I haven't 100% tested the LM5066I instantiation since the motherboard I have actually has an ADI ADM1272 at address 0x10 downstream of the NXP PCA9541A. https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-arb.txt cheers xo > Cheers, > > Joel > > >> >> Instantiate the HWMON client driver for the TI LM5066I hotswap >> controller present on Zaius EVT2 downstream of the master selector. >> >> Signed-off-by: Xo Wang <xow@google.com> >> --- >> arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 19 +++++++++++++++++-- >> 1 file changed, 17 insertions(+), 2 deletions(-) >> >> diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts >> index 3d997d9..136eb1d 100644 >> --- a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts >> +++ b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts >> @@ -210,8 +210,23 @@ >> &i2c7 { >> status = "okay"; >> >> - /* MUX PCA9541A (other master: CPU0 PCIe 1) >> - * ADM1272 PMBUS @10h >> + pca9541a@70 { >> + compatible = "nxp,pca9541"; >> + reg = <0x70>; >> + >> + i2c-arb { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + hotswap@10 { >> + compatible = "ti,lm5066"; >> + reg = <0x10>; >> + }; >> + }; >> + }; >> + >> + /* Master selector PCA9541A @70h (other master: CPU0) >> + * LM5066I PMBUS @10h >> */ >> /* 12V SMPS Q54SH12050NNDH @61h */ >> /* CPU0 VR ISL68137 0.7V, 0.96V PMBUS @64h */ >> -- >> 2.8.0.rc3.226.g39d4020 >> >> _______________________________________________ >> openbmc mailing list >> openbmc@lists.ozlabs.org >> https://lists.ozlabs.org/listinfo/openbmc
On Fri, Nov 18, 2016 at 8:23 AM, Xo Wang <xow@google.com> wrote: > Hi Joel, > > On Wed, Nov 16, 2016 at 8:59 PM, Joel Stanley <joel@jms.id.au> wrote: >> Hi Xo, >> >> On Thu, Nov 17, 2016 at 9:59 AM, Xo Wang <xow@google.com> wrote: >>> Add device-tree bindings to instantiate the PCA9541A I2C master >>> selector. This driver allows mastering downstream devices after sending >>> an arbitration request to the PCA9541A. Downstream devices go into the >>> 'i2c-arb' child node. >> >> I took a look at the bindings document for i2c-mux[1] and it suggests >> something different. >> >> Is there a reason why you didn't follow what it says? >> >> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-mux.txt >> > > I was following the I2C arbitration bus doc, which has its i2c slave > device nodes in an "i2c-arb" child node. I'm not sure why it was > written differently from "i2c-mux" bindings. > > To be clear, I haven't 100% tested the LM5066I instantiation since the > motherboard I have actually has an ADI ADM1272 at address 0x10 > downstream of the NXP PCA9541A. > > https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-arb.txt > Okay. Thanks for the explanation. I have merged both patches into dev-4.7. Cheers, Joel
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts index 3d997d9..136eb1d 100644 --- a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +++ b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts @@ -210,8 +210,23 @@ &i2c7 { status = "okay"; - /* MUX PCA9541A (other master: CPU0 PCIe 1) - * ADM1272 PMBUS @10h + pca9541a@70 { + compatible = "nxp,pca9541"; + reg = <0x70>; + + i2c-arb { + #address-cells = <1>; + #size-cells = <0>; + + hotswap@10 { + compatible = "ti,lm5066"; + reg = <0x10>; + }; + }; + }; + + /* Master selector PCA9541A @70h (other master: CPU0) + * LM5066I PMBUS @10h */ /* 12V SMPS Q54SH12050NNDH @61h */ /* CPU0 VR ISL68137 0.7V, 0.96V PMBUS @64h */
Add device-tree bindings to instantiate the PCA9541A I2C master selector. This driver allows mastering downstream devices after sending an arbitration request to the PCA9541A. Downstream devices go into the 'i2c-arb' child node. Instantiate the HWMON client driver for the TI LM5066I hotswap controller present on Zaius EVT2 downstream of the master selector. Signed-off-by: Xo Wang <xow@google.com> --- arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-)