bcm53xx: early buttons support (without interrupts)
authorRafał Miłecki <zajec5@gmail.com>
Thu, 2 Oct 2014 12:05:58 +0000 (12:05 +0000)
committerRafał Miłecki <zajec5@gmail.com>
Thu, 2 Oct 2014 12:05:58 +0000 (12:05 +0000)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 42718

target/linux/bcm53xx/Makefile
target/linux/bcm53xx/patches-3.14/301-ARM-BCM5301X-Add-buttons-support-for-Netgear-R6250.patch [new file with mode: 0644]

index 51b80dbb98efb57929fd2f98957f9089d9903b1a..519b5a553065e9068da14519cfc87f09dcf6bafc 100644 (file)
@@ -25,6 +25,7 @@ endef
 KERNELNAME:="zImage dtbs"
 
 DEFAULT_PACKAGES += swconfig wpad-mini nvram \
+       kmod-gpio-button-hotplug \
        kmod-leds-gpio kmod-ledtrig-default-on kmod-ledtrig-timer
 
 $(eval $(call BuildTarget))
diff --git a/target/linux/bcm53xx/patches-3.14/301-ARM-BCM5301X-Add-buttons-support-for-Netgear-R6250.patch b/target/linux/bcm53xx/patches-3.14/301-ARM-BCM5301X-Add-buttons-support-for-Netgear-R6250.patch
new file mode 100644 (file)
index 0000000..079c79b
--- /dev/null
@@ -0,0 +1,66 @@
+From e1b44fc2e3cf76be1213bde07fc37c47eff39158 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
+Date: Thu, 2 Oct 2014 13:49:13 +0200
+Subject: [PATCH] ARM: BCM5301X: Add buttons support for Netgear R6250
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We use "gpio-keys-polled" for now, as ChipCommon/GPIO interrupts are
+not implemented yet.
+
+Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
+---
+ arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 25 +++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi             |  1 +
+ 2 files changed, 26 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+index 58d999d..c5e51e5 100644
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+@@ -66,4 +66,29 @@
+                       linux,default-trigger = "default-off";
+               };
+       };
++
++      gpio-keys {
++              compatible = "gpio-keys-polled";
++              #address-cells = <1>;
++              #size-cells = <0>;
++              poll-interval = <200>;
++
++              wps {
++                      label = "WPS";
++                      linux,code = <KEY_WPS_BUTTON>;
++                      gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
++              };
++
++              rfkill {
++                      label = "WiFi";
++                      linux,code = <KEY_RFKILL>;
++                      gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
++              };
++
++              restart {
++                      label = "Reset";
++                      linux,code = <KEY_RESTART>;
++                      gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
++              };
++      };
+ };
+diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
+index dbcd7a3..54fe4d0 100644
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -9,6 +9,7 @@
+  */
+ #include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/input/input.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include "skeleton.dtsi"
+-- 
+1.8.4.5
+