Re: [PATCH 1/2] arm64: dts: Add GPIO and GPIO keys device nodes

2018-05-25 Thread Olof Johansson
On Mon, Apr 16, 2018 at 10:40:03AM +0800, Baolin Wang wrote:
> This patch adds device nodes to enable one GPIO controller located on
> digital chip, 2 EIC (external interrupt controller) controllers loacted
> on PMIC and digital chip for Spreadtrum SC9860 platform.
> 
> Moreover this patch adds 3 GPIO keys relied on EIC controller to support
> power key and volume up/down keys.
> 
> Signed-off-by: Baolin Wang 

Applied with "sprd:" added to the subject.


-Olof


Re: [PATCH 1/2] arm64: dts: Add GPIO and GPIO keys device nodes

2018-05-25 Thread Olof Johansson
On Mon, Apr 16, 2018 at 10:40:03AM +0800, Baolin Wang wrote:
> This patch adds device nodes to enable one GPIO controller located on
> digital chip, 2 EIC (external interrupt controller) controllers loacted
> on PMIC and digital chip for Spreadtrum SC9860 platform.
> 
> Moreover this patch adds 3 GPIO keys relied on EIC controller to support
> power key and volume up/down keys.
> 
> Signed-off-by: Baolin Wang 

Applied with "sprd:" added to the subject.


-Olof


[PATCH 1/2] arm64: dts: Add GPIO and GPIO keys device nodes

2018-04-15 Thread Baolin Wang
This patch adds device nodes to enable one GPIO controller located on
digital chip, 2 EIC (external interrupt controller) controllers loacted
on PMIC and digital chip for Spreadtrum SC9860 platform.

Moreover this patch adds 3 GPIO keys relied on EIC controller to support
power key and volume up/down keys.

Signed-off-by: Baolin Wang 
---
 arch/arm64/boot/dts/sprd/sc2731.dtsi |   11 
 arch/arm64/boot/dts/sprd/sc9860.dtsi |   30 
 arch/arm64/boot/dts/sprd/whale2.dtsi |   50 ++
 3 files changed, 91 insertions(+)

diff --git a/arch/arm64/boot/dts/sprd/sc2731.dtsi 
b/arch/arm64/boot/dts/sprd/sc2731.dtsi
index 4331006..98d3b4f 100644
--- a/arch/arm64/boot/dts/sprd/sc2731.dtsi
+++ b/arch/arm64/boot/dts/sprd/sc2731.dtsi
@@ -24,6 +24,17 @@
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
};
 
+   pmic_eic: gpio@300 {
+   compatible = "sprd,sc27xx-eic";
+   reg = <0x300>;
+   interrupt-parent = <_pmic>;
+   interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+   };
+
regulators {
compatible = "sprd,sc27xx-regulator";
 
diff --git a/arch/arm64/boot/dts/sprd/sc9860.dtsi 
b/arch/arm64/boot/dts/sprd/sc9860.dtsi
index 5dbfb79..3066a55 100644
--- a/arch/arm64/boot/dts/sprd/sc9860.dtsi
+++ b/arch/arm64/boot/dts/sprd/sc9860.dtsi
@@ -7,6 +7,8 @@
  */
 
 #include 
+#include 
+#include 
 #include "whale2.dtsi"
 
 / {
@@ -679,5 +681,33 @@
};
};
};
+
+   gpio-keys {
+   compatible = "gpio-keys";
+
+   key-volumedown {
+   label = "Volume Down Key";
+   linux,code = ;
+   gpios = <_debounce 2 GPIO_ACTIVE_LOW>;
+   debounce-interval = <2>;
+   wakeup-source;
+   };
+
+   key-volumeup {
+   label = "Volume Up Key";
+   linux,code = ;
+   gpios = <_eic 10 GPIO_ACTIVE_HIGH>;
+   debounce-interval = <2>;
+   wakeup-source;
+   };
+
+   key-power {
+   label = "Power Key";
+   linux,code = ;
+   gpios = <_eic 1 GPIO_ACTIVE_HIGH>;
+   debounce-interval = <2>;
+   wakeup-source;
+   };
+   };
};
 };
diff --git a/arch/arm64/boot/dts/sprd/whale2.dtsi 
b/arch/arm64/boot/dts/sprd/whale2.dtsi
index 66a881e..bf7e70c 100644
--- a/arch/arm64/boot/dts/sprd/whale2.dtsi
+++ b/arch/arm64/boot/dts/sprd/whale2.dtsi
@@ -154,6 +154,56 @@
clocks = <_gate CLK_SPLK_EB>;
};
 
+   eic_debounce: gpio@4021 {
+   compatible = "sprd,sc9860-eic-debounce";
+   reg = <0 0x4021 0 0x80>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+   interrupts = ;
+   };
+
+   eic_latch: gpio@40210080 {
+   compatible = "sprd,sc9860-eic-latch";
+   reg = <0 0x40210080 0 0x20>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+   interrupts = ;
+   };
+
+   eic_async: gpio@402100a0 {
+   compatible = "sprd,sc9860-eic-async";
+   reg = <0 0x402100a0 0 0x20>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+   interrupts = ;
+   };
+
+   eic_sync: gpio@402100c0 {
+   compatible = "sprd,sc9860-eic-sync";
+   reg = <0 0x402100c0 0 0x20>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   

[PATCH 1/2] arm64: dts: Add GPIO and GPIO keys device nodes

2018-04-15 Thread Baolin Wang
This patch adds device nodes to enable one GPIO controller located on
digital chip, 2 EIC (external interrupt controller) controllers loacted
on PMIC and digital chip for Spreadtrum SC9860 platform.

Moreover this patch adds 3 GPIO keys relied on EIC controller to support
power key and volume up/down keys.

Signed-off-by: Baolin Wang 
---
 arch/arm64/boot/dts/sprd/sc2731.dtsi |   11 
 arch/arm64/boot/dts/sprd/sc9860.dtsi |   30 
 arch/arm64/boot/dts/sprd/whale2.dtsi |   50 ++
 3 files changed, 91 insertions(+)

diff --git a/arch/arm64/boot/dts/sprd/sc2731.dtsi 
b/arch/arm64/boot/dts/sprd/sc2731.dtsi
index 4331006..98d3b4f 100644
--- a/arch/arm64/boot/dts/sprd/sc2731.dtsi
+++ b/arch/arm64/boot/dts/sprd/sc2731.dtsi
@@ -24,6 +24,17 @@
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
};
 
+   pmic_eic: gpio@300 {
+   compatible = "sprd,sc27xx-eic";
+   reg = <0x300>;
+   interrupt-parent = <_pmic>;
+   interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+   };
+
regulators {
compatible = "sprd,sc27xx-regulator";
 
diff --git a/arch/arm64/boot/dts/sprd/sc9860.dtsi 
b/arch/arm64/boot/dts/sprd/sc9860.dtsi
index 5dbfb79..3066a55 100644
--- a/arch/arm64/boot/dts/sprd/sc9860.dtsi
+++ b/arch/arm64/boot/dts/sprd/sc9860.dtsi
@@ -7,6 +7,8 @@
  */
 
 #include 
+#include 
+#include 
 #include "whale2.dtsi"
 
 / {
@@ -679,5 +681,33 @@
};
};
};
+
+   gpio-keys {
+   compatible = "gpio-keys";
+
+   key-volumedown {
+   label = "Volume Down Key";
+   linux,code = ;
+   gpios = <_debounce 2 GPIO_ACTIVE_LOW>;
+   debounce-interval = <2>;
+   wakeup-source;
+   };
+
+   key-volumeup {
+   label = "Volume Up Key";
+   linux,code = ;
+   gpios = <_eic 10 GPIO_ACTIVE_HIGH>;
+   debounce-interval = <2>;
+   wakeup-source;
+   };
+
+   key-power {
+   label = "Power Key";
+   linux,code = ;
+   gpios = <_eic 1 GPIO_ACTIVE_HIGH>;
+   debounce-interval = <2>;
+   wakeup-source;
+   };
+   };
};
 };
diff --git a/arch/arm64/boot/dts/sprd/whale2.dtsi 
b/arch/arm64/boot/dts/sprd/whale2.dtsi
index 66a881e..bf7e70c 100644
--- a/arch/arm64/boot/dts/sprd/whale2.dtsi
+++ b/arch/arm64/boot/dts/sprd/whale2.dtsi
@@ -154,6 +154,56 @@
clocks = <_gate CLK_SPLK_EB>;
};
 
+   eic_debounce: gpio@4021 {
+   compatible = "sprd,sc9860-eic-debounce";
+   reg = <0 0x4021 0 0x80>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+   interrupts = ;
+   };
+
+   eic_latch: gpio@40210080 {
+   compatible = "sprd,sc9860-eic-latch";
+   reg = <0 0x40210080 0 0x20>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+   interrupts = ;
+   };
+
+   eic_async: gpio@402100a0 {
+   compatible = "sprd,sc9860-eic-async";
+   reg = <0 0x402100a0 0 0x20>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+   interrupts = ;
+   };
+
+   eic_sync: gpio@402100c0 {
+   compatible = "sprd,sc9860-eic-sync";
+   reg = <0 0x402100c0 0 0x20>;
+   gpio-controller;
+   #gpio-cells = <2>;
+