diff mbox series

[linux,dev-5.14,4/5] ARM: dts: aspeed: everest: Add IBM Operation Panel I2C device

Message ID 20211020215321.33960-5-eajames@linux.ibm.com
State New
Headers show
Series ARM: dts: aspeed: Rainier and Everest devicetree updates | expand

Commit Message

Eddie James Oct. 20, 2021, 9:53 p.m. UTC
Set I2C bus 14 to multi-master mode and add the panel device that will
register the I2C controller as a slave device.
In addition, in early Everest systems, the panel device was behind an
I2C switch, which doesn't work for slave mode. Get it working (albeit
unreliably, since a master transaction might switch the switch at any
moment) by defaulting the switch channel to the one with the panel.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
---
 arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts b/arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts
index 59e187f3cba3..cc4314141aa6 100644
--- a/arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts
@@ -1908,15 +1908,21 @@  eeprom@52 {
 };
 
 &i2c14 {
+	multi-master;
 	status = "okay";
 
+	ibm-panel@62 {
+		compatible = "ibm,op-panel";
+		reg = <(0x62 | I2C_OWN_SLAVE_ADDRESS)>;
+	};
+
 	i2c-switch@70 {
 		compatible = "nxp,pca9546";
 		reg = <0x70>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 		status = "okay";
-		i2c-mux-idle-disconnect;
+		idle-state = <1>;
 
 		i2c14mux0chn0: i2c@0 {
 			#address-cells = <1>;