target: socfpga: Add Altera SoCFPGA support
[openwrt.git] / target / linux / socfpga / patches-4.4 / 0005-ARM-socfpga-Add-support-for-HPS-KEYs-SWs-on-SoCKit.patch
diff --git a/target/linux/socfpga/patches-4.4/0005-ARM-socfpga-Add-support-for-HPS-KEYs-SWs-on-SoCKit.patch b/target/linux/socfpga/patches-4.4/0005-ARM-socfpga-Add-support-for-HPS-KEYs-SWs-on-SoCKit.patch
new file mode 100644 (file)
index 0000000..a5e53f5
--- /dev/null
@@ -0,0 +1,100 @@
+From a953c0800246e99c9b449bd9ec0b26682a82700c Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 23 Jun 2015 00:41:08 +0200
+Subject: [PATCH 5/5] ARM: socfpga: Add support for HPS KEYs/SWs on SoCKit
+
+Add support for the keys and flip-switches on the SoCFPGA SoCkit board.
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
+---
+ arch/arm/boot/dts/socfpga_cyclone5_sockit.dts | 62 ++++++++++++++++++++++++++-
+ 1 file changed, 61 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/socfpga_cyclone5_sockit.dts b/arch/arm/boot/dts/socfpga_cyclone5_sockit.dts
+index 1461690..02e22f5 100644
+--- a/arch/arm/boot/dts/socfpga_cyclone5_sockit.dts
++++ b/arch/arm/boot/dts/socfpga_cyclone5_sockit.dts
+@@ -67,6 +67,62 @@
+               };
+       };
++      gpio-keys {
++              compatible = "gpio-keys";
++
++              hps_sw0 {
++                      label = "hps_sw0";
++                      gpios = <&portc 20 0>;  /* HPS_GPI7 */
++                      linux,input-type = <5>; /* EV_SW */
++                      linux,code = <0x0>;     /* SW_LID */
++              };
++
++              hps_sw1 {
++                      label = "hps_sw1";
++                      gpios = <&portc 19 0>;  /* HPS_GPI6 */
++                      linux,input-type = <5>; /* EV_SW */
++                      linux,code = <0x5>;     /* SW_DOCK */
++              };
++
++              hps_sw2 {
++                      label = "hps_sw2";
++                      gpios = <&portc 18 0>;  /* HPS_GPI5 */
++                      linux,input-type = <5>; /* EV_SW */
++                      linux,code = <0xa>;     /* SW_KEYPAD_SLIDE */
++              };
++
++              hps_sw3 {
++                      label = "hps_sw3";
++                      gpios = <&portc 17 0>;  /* HPS_GPI4 */
++                      linux,input-type = <5>; /* EV_SW */
++                      linux,code = <0xc>;     /* SW_ROTATE_LOCK */
++              };
++
++              hps_hkey0 {
++                      label = "hps_hkey0";
++                      gpios = <&portc 21 1>;  /* HPS_GPI8 */
++                      linux,code = <187>;     /* KEY_F17 */
++              };
++
++              hps_hkey1 {
++                      label = "hps_hkey1";
++                      gpios = <&portc 22 1>;  /* HPS_GPI9 */
++                      linux,code = <188>;     /* KEY_F18 */
++              };
++
++              hps_hkey2 {
++                      label = "hps_hkey2";
++                      gpios = <&portc 23 1>;  /* HPS_GPI10 */
++                      linux,code = <189>;     /* KEY_F19 */
++              };
++
++              hps_hkey3 {
++                      label = "hps_hkey3";
++                      gpios = <&portc 24 1>;  /* HPS_GPI11 */
++                      linux,code = <190>;     /* KEY_F20 */
++              };
++      };
++
+       regulator_3_3v: vcc3p3-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "VCC3P3";
+@@ -89,11 +145,15 @@
+       rxc-skew-ps = <2000>;
+ };
++&gpio0 {      /* GPIO 0..29 */
++      status = "okay";
++};
++
+ &gpio1 {      /* GPIO 30..57 */
+       status = "okay";
+ };
+-&gpio2 {
++&gpio2 {      /* GPIO 58..66 (HLGPI 0..13 at offset 13) */
+       status = "okay";
+ };
+-- 
+2.7.0
+