summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorEddie James <eajames@linux.ibm.com>2021-10-21 00:53:20 +0300
committerJoel Stanley <joel@jms.id.au>2021-10-21 09:26:02 +0300
commite175be2a718f81db17295d0f82d84c6198783a43 (patch)
tree6df299a65c3b3f8cf5a97fb82ef1abf8e578d99b /arch/arm
parente80e70fb05709f79a0ae9ac6e0b310c044001a11 (diff)
downloadlinux-e175be2a718f81db17295d0f82d84c6198783a43.tar.xz
ARM: dts: aspeed: everest: Add IBM Operation Panel I2C device
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>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts b/arch/arm/boot/dts/aspeed-bmc-ibm-everest.dts
index 6a432bc4eafc..4412d71d8b08 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 @@
};
&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>;