ARM: dts: aspeed: zaius: Add 1-wire buses
Subsystems (2)
PATCH 1/2 ARM: dts: aspeed: zaius: Add 1-wire buses
Add device-tree bindings to instantiate GPIO-based 1-wire buses. These go to headers for DS18B20 thermal sensors.
--- arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +20 -0
@@ -20,6 +20,26 @@ reg = <0x80000000 0x40000000>; }; + onewire0 { + compatible = "w1-gpio"; + gpios = <&gpio ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>; + }; + + onewire1 { + compatible = "w1-gpio"; + gpios = <&gpio ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>; + }; + + onewire2 { + compatible = "w1-gpio"; + gpios = <&gpio ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>; + }; + + onewire3 { + compatible = "w1-gpio"; + gpios = <&gpio ASPEED_GPIO(H, 3) GPIO_ACTIVE_HIGH>; + }; + leds { compatible = "gpio-leds";
Signature · 1 line
2.8.0.rc3.226.g39d4020
PATCH 2/2 ARM: dts: aspeed: zaius: Add I2C master selector and hotswap controller
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.
--- arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-)
arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +17 -2
@@ -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 */
Signature · 1 line
2.8.0.rc3.226.g39d4020
Joel Stanley
maintainerRe: [PATCH linux 2/2] ARM: dts: aspeed: zaius: Add I2C master selector and hotswap controller
Hi Xo,
Quoted 4 lines · Xo Wang
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
Quoted 46 lines
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 <[email protected]>--- arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-)arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +17
-3@@ -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
[email protected]
https://lists.ozlabs.org/listinfo/openbmc
Re: [PATCH linux 2/2] ARM: dts: aspeed: zaius: Add I2C master selector and hotswap controller
Hi Joel,
Quoted 8 lines · Joel Stanley
Hi Xo,
Quoted 4 lines · Xo Wang
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.
Quoted 7 lines
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
Quoted 51 lines
Cheers,
Joel
Quoted 46 lines
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 <[email protected]>--- arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-)arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +17
-3@@ -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
[email protected]
https://lists.ozlabs.org/listinfo/openbmc
Joel Stanley
maintainerRe: [PATCH linux 2/2] ARM: dts: aspeed: zaius: Add I2C master selector and hotswap controller
Quoted 23 lines · Xo Wang
Hi Joel,
Quoted 8 lines · Joel Stanley
Hi Xo,
Quoted 4 lines · Xo Wang
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.
Quoted 7 lines
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.
Quoted 6 lines
To be clear, I haven't 100% tested the LM5066I instantiation since the motherboard I have actually has an ADI ADM1272 at address
0x10downstream 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
Quoted 13 lines · Xo Wang
Add device-tree bindings to instantiate GPIO-based 1-wire buses. These go to headers for DS18B20 thermal sensors.
Signed-off-by Xo Wang <[email protected]>--- arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +0
-0
arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts line 23
Quoted 4 lines
arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +1
-0@@ -20,6 +20,26 @@ reg = <0x80000000 0x40000000>; }; + onewire0 {
I wasn't sure if we should use a cell index: onewire@0, onewire@1, ... The binding suggests yes, but the convention is usually to make the cell index correspond to the reg property, and we don't have one one here.
Lets merge it as is.
Quoted 29 lines
arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +19
-1+ compatible = "w1-gpio"; + gpios = <&gpio ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>; + }; + + onewire1 { + compatible = "w1-gpio"; + gpios = <&gpio ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>; + }; + + onewire2 { + compatible = "w1-gpio"; + gpios = <&gpio ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>; + }; + + onewire3 { + compatible = "w1-gpio"; + gpios = <&gpio ASPEED_GPIO(H, 3) GPIO_ACTIVE_HIGH>; + }; + leds { compatible = "gpio-leds"; --2.8.0.rc3.226.g39d4020
_______________________________________________
openbmc mailing list
[email protected]
https://lists.ozlabs.org/listinfo/openbmc