I2C bus swapping
We're attempting to swap all the devices on i2c_main0 to i2c_main1 and vice-versa. So when we do a i2cdetect on both buses we expect the devices that are shown on both buses to be swapped as well.
However, at the moment, our device tree changes have no effect. We have the following device tree diff:
diff --git a/recipes-kernel/linux/linux-ti-staging/rscm-m4010.dts b/recipes-kernel/linux/linux-ti-staging/rscm-m4010.dts
index e300fd0..deb0b61 100644
--- a/recipes-kernel/linux/linux-ti-staging/rscm-m4010.dts
+++ b/recipes-kernel/linux/linux-ti-staging/rscm-m4010.dts
@@ -250,15 +250,15 @@
main_i2c0_pins_default: main_i2c0_pins_default {
pinctrl-single,pins = <
- AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0) /* (A18) I2C0_SCL */
- AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0) /* (B18) I2C0_SDA */
+ AM64X_IOPAD(0x0268, PIN_INPUT_PULLUP, 0) /* (C18) I2C1_SCL */
+ AM64X_IOPAD(0x026c, PIN_INPUT_PULLUP, 0) /* (B19) I2C1_SDA */
>;
};
main_i2c1_pins_default: main-i2c1-pins-default {
pinctrl-single,pins = <
- AM64X_IOPAD(0x0268, PIN_INPUT_PULLUP, 0) /* (C18) I2C1_SCL */
- AM64X_IOPAD(0x026c, PIN_INPUT_PULLUP, 0) /* (B19) I2C1_SDA */
+ AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0) /* (A18) I2C0_SCL */
+ AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0) /* (B18) I2C0_SDA */
>;
};
@@ -547,14 +547,8 @@
};
&main_i2c0 {
- pinctrl-names = "default";
- pinctrl-0 = <&main_i2c0_pins_default>;
- status = "okay";
-};
-
-&main_i2c1 {
pinctrl-names = "default";
- pinctrl-0 = <&main_i2c1_pins_default>;
+ pinctrl-0 = <&main_i2c0_pins_default>;
/* clock-frequency = <400000>; */
exp1: gpio@22 {
@@ -590,6 +584,12 @@
};
};
+&main_i2c1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_i2c1_pins_default>;
+ status = "okay";
+};
+
&main_i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c2_pins_default>;
(END)