summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Bauer2025-05-06 16:23:50 +0000
committerDavid Bauer2025-05-10 19:26:08 +0000
commitf828be4d10d795e2bd74ea77ea12dec285107974 (patch)
tree1d1746328d3ae91c7afcc2e14bd6c1893b94d4d0
parent49a1781d74590f0945973dac6d82faeb2f624b6f (diff)
downloadopenwrt-f828be4d10d795e2bd74ea77ea12dec285107974.tar.gz
ramips: use i2c-gpio driver for EX400
Configure the i2c pins as GPIO outputs and use the i2c-gpio driver to control the Semtech SX9512 touch controller. This fixes spurious errors in i2c transactions even at 1kHz with the native i2c driver. leds green:wan: Setting an LED's brightness failed (-6) Signed-off-by: David Bauer <mail@david-bauer.net>
-rw-r--r--target/linux/ramips/dts/mt7621_genexis_pulse-ex400-common.dtsi17
-rw-r--r--target/linux/ramips/dts/mt7621_genexis_pulse-ex400.dts4
2 files changed, 16 insertions, 5 deletions
diff --git a/target/linux/ramips/dts/mt7621_genexis_pulse-ex400-common.dtsi b/target/linux/ramips/dts/mt7621_genexis_pulse-ex400-common.dtsi
index a3bc70e8ce..ebcf558359 100644
--- a/target/linux/ramips/dts/mt7621_genexis_pulse-ex400-common.dtsi
+++ b/target/linux/ramips/dts/mt7621_genexis_pulse-ex400-common.dtsi
@@ -41,6 +41,18 @@
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
};
};
+
+ i2c_gpio: i2c-gpio {
+ compatible = "i2c-gpio";
+
+ sda-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
+ scl-gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
+
+ i2c-gpio,delay-us = <50>;
+ i2c-gpio,timeout-ms = <100>;
+
+ /* Semtech SX9512 */
+ };
};
&pcie {
@@ -92,7 +104,8 @@
};
&i2c {
- status = "okay";
+ /* Uses i2c-gpio */
+ status = "disabled";
};
&ethphy0 {
@@ -101,7 +114,7 @@
&state_default {
gpio {
- groups = "uart2", "uart3";
+ groups = "i2c", "uart2", "uart3";
function = "gpio";
};
};
diff --git a/target/linux/ramips/dts/mt7621_genexis_pulse-ex400.dts b/target/linux/ramips/dts/mt7621_genexis_pulse-ex400.dts
index 61b3e869d7..ad8a22ad79 100644
--- a/target/linux/ramips/dts/mt7621_genexis_pulse-ex400.dts
+++ b/target/linux/ramips/dts/mt7621_genexis_pulse-ex400.dts
@@ -22,9 +22,7 @@
};
};
-&i2c {
- clock-frequency = <1000>;
-
+&i2c_gpio {
touch@2b {
compatible = "semtech,sx9512";