ARM: dts: aspeed: everest: Add IBM Operation Panel I2C device
authorEddie James <eajames@linux.ibm.com>
Wed, 20 Oct 2021 21:53:20 +0000 (16:53 -0500)
committerJoel Stanley <joel@jms.id.au>
Thu, 21 Oct 2021 06:26:02 +0000 (16:56 +1030)
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>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20211020215321.33960-5-eajames@linux.ibm.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts

index 6a432bc..4412d71 100644 (file)
 };
 
 &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>;