[PATCH] ipq806x: Add buttons to OnHub

Brian Norris computersforpeace at gmail.com
Sat Feb 25 22:17:37 PST 2023


From: Alan Luck <luckyhome2008 at gmail.com>

These are the factory reset button (external) and "developer mode"
button (hidden inside the case (ASUS) or under a screw in the base
(TP-Link)) found on the TP-Link and ASUS OnHub devices.

Signed-off-by: Alan Luck <luckyhome2008 at gmail.com>
[Brian: add description; factor out for both ASUS and TP-Link; use
existing pinmux definitions; add keycode for dev button]
Signed-off-by: Brian Norris <computersforpeace at gmail.com>
---

 .../arch/arm/boot/dts/qcom-ipq8064-onhub.dtsi | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8064-onhub.dtsi b/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8064-onhub.dtsi
index 25ba71da00ef..549c46202619 100644
--- a/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8064-onhub.dtsi
+++ b/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8064-onhub.dtsi
@@ -5,6 +5,7 @@
 
 #include "qcom-ipq8064-smb208.dtsi"
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -30,6 +31,28 @@
 		};
 	};
 
+	keys {
+		compatible = "gpio-keys";
+		pinctrl-0 = <&button_pins>;
+		pinctrl-names = "default";
+
+		reset {
+			label = "reset";
+			gpios = <&qcom_pinmux 16 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+			debounce-interval = <60>;
+			wakeup-source;
+		};
+
+		dev {
+			label = "dev";
+			gpios = <&qcom_pinmux 15 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_CONFIG>;
+			debounce-interval = <60>;
+			wakeup-source;
+		};
+	};
+
 	mdio: mdio {
 		compatible = "virtual,mdio-gpio";
 		#address-cells = <1>;
@@ -227,12 +250,17 @@
 			pins = "gpio17";
 			output-low;
 		};
+	};
+
+	button_pins: button_pins {
 		recovery {
 			pins = "gpio16";
+			function = "gpio";
 			bias-none;
 		};
 		developer {
 			pins = "gpio15";
+			function = "gpio";
 			bias-none;
 		};
 	};
-- 
2.39.1




More information about the openwrt-devel mailing list