Skip to contentSkip to conversation

ARM: hip04: add GPIO support

PATCH RESEND Superseded Zhou Wang 2 participants 5 messages Mar 25, 2015

Subsystems (3)
lore
Share & tools
lore

Zhou Wang

author
#0 lore raw

v6 cover ARM: hip04: add GPIO support

This series add the support for the GPIOs of Hisilicon Soc hip04. Hip04 uses synopsis' GPIO IP, and we use the dwapb GPIO driver here. This series add the corresponding dts. The default value of ARCH_NR_GPIOS is used to find gpio base here.

Now this patchset is based on v4.0-rc5

Change in v6:
- Change E-mail address in signed-off-by to "[email protected]" Change in v5:
- Base on v3.19-rc1
- Just use default value of ARCH_NR_GPIOS to find gpio base. Remove the new added patch(3/4) in v4.
Change in v4:
- Delete "default 128 if ARCH_HIP04" in arch/arm/Kconfig
- add a new patch to support find GPIO base number in increasing order
- add gpio-number-forward property in snps gpio binding doc Change in v3:
- Move CONFIG_GPIO_DWAPB to hisi_defconfig
- Add CONFIG_GPIOLIB, CONFIG_GPIO_SYSFS in hisi_defconfig Change in v2:
- Add select GPIO_DWAPB in arch/arm/mach-hisi/Kconfig

Link for v4:
- http://www.spinics.net/lists/arm-kernel/msg383883.html
Link for v3:
- http://www.spinics.net/lists/devicetree/msg60324.html

Zhou Wang (2):
ARM: hip04: add GPIO configure in hisi_defconfig
ARM: dts: hip04: add GPIO pieces

 arch/arm/boot/dts/hip04.dtsi    | 75 +++++++++++++++++++++++++++++++++++++++++
 arch/arm/configs/hisi_defconfig |  1 +
 2 files changed, 76 insertions(+)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH RESEND v6 1/2 ARM: hip04: add GPIO configure in hisi_defconfig

From: Zhou Wang <[email protected]>

The GPIO controller of Hisilicon hip04 Soc uses the IP from Sysnopsis, gpio-dwapb.c can be reused to support this GPIO controller. This patch adds related configure item in hisi_defconfig.

---
 arch/arm/configs/hisi_defconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm/configs/hisi_defconfig +1 -0
index c34da58..e7bf486 100644
@@ -51,6 +51,7 @@ CONFIG_GPIO_SYSFS=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIO_GENERIC_PLATFORM=y
 CONFIG_REGULATOR_GPIO=y
+CONFIG_GPIO_DWAPB=y
 CONFIG_MFD_SYSCON=y
 CONFIG_POWER_RESET_SYSCON=y
 CONFIG_DRM=y
Signature · 1 line
1.9.1
author
#2 lore raw

PATCH RESEND v6 2/2 ARM: dts: hip04: add GPIO pieces

In reply to Zhou Wang

From: Zhou Wang <[email protected]>

Hisilicon Soc hip04 has four GPIO controllers, each one has 32 GPIOs and can be configured to be an interrupt controller.The GPIO controllers are compatible with the snps,dw-apb-gpio driver. This patch add the corresponding device tree nodes.

---
 arch/arm/boot/dts/hip04.dtsi | 75 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)
arch/arm/boot/dts/hip04.dtsi +75 -0
index 2388145..267942a 100644
@@ -269,6 +269,81 @@
 			interrupts = <0 372 4>;
 		};
 
+		gpio at 4003000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "snps,dw-apb-gpio";
+			reg = <0x4003000 0x1000>;
+
+			gpio3: gpio-controller at 0 {
+				compatible = "snps,dw-apb-gpio-port";
+				gpio-controller;
+				#gpio-cells = <2>;
+				snps,nr-gpios = <32>;
+				reg = <0>;
+				interrupt-parent = <&gic>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				interrupts = <0 392 4>;
+			};
+		};
+
+		gpio at 4002000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "snps,dw-apb-gpio";
+			reg = <0x4002000 0x1000>;
+
+			gpio2: gpio-controller at 0 {
+			compatible = "snps,dw-apb-gpio-port";
+				gpio-controller;
+				#gpio-cells = <2>;
+				snps,nr-gpios = <32>;
+				reg = <0>;
+				interrupt-parent = <&gic>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				interrupts = <0 391 4>;
+			};
+		};
+
+		gpio at 4001000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "snps,dw-apb-gpio";
+			reg = <0x4001000 0x1000>;
+
+			gpio1: gpio-controller at 0 {
+				compatible = "snps,dw-apb-gpio-port";
+				gpio-controller;
+				#gpio-cells = <2>;
+				snps,nr-gpios = <32>;
+				reg = <0>;
+				interrupt-parent = <&gic>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				interrupts = <0 390 4>;
+			};
+		};
+
+		gpio at 4000000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "snps,dw-apb-gpio";
+			reg = <0x4000000 0x1000>;
+
+			gpio0: gpio-controller at 0 {
+				compatible = "snps,dw-apb-gpio-port";
+				gpio-controller;
+				#gpio-cells = <2>;
+				snps,nr-gpios = <32>;
+				reg = <0>;
+				interrupt-parent = <&gic>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				interrupts = <0 389 4>;
+			};
+		};
 	};
 
 	etb at 0,e3c42000 {
Signature · 1 line
1.9.1
#3 lore raw

v6 cover ARM: hip04: add GPIO support

In reply to Zhou Wang
Quoted 33 lines · Zhou Wang

This series add the support for the GPIOs of Hisilicon Soc hip04. Hip04 uses synopsis' GPIO IP, and we use the dwapb GPIO driver here. This series add the corresponding dts. The default value of ARCH_NR_GPIOS is used to find gpio base here.

Now this patchset is based on v4.0-rc5

Change in v6:
- Change E-mail address in signed-off-by to "wangzhou1 at hisilicon.com" Change in v5:
- Base on v3.19-rc1
- Just use default value of ARCH_NR_GPIOS to find gpio base. Remove the new added patch(3/4) in v4.
Change in v4:
- Delete "default 128 if ARCH_HIP04" in arch/arm/Kconfig
- add a new patch to support find GPIO base number in increasing order
- add gpio-number-forward property in snps gpio binding doc Change in v3:
- Move CONFIG_GPIO_DWAPB to hisi_defconfig
- Add CONFIG_GPIOLIB, CONFIG_GPIO_SYSFS in hisi_defconfig Change in v2:
- Add select GPIO_DWAPB in arch/arm/mach-hisi/Kconfig

Link for v4:
- http://www.spinics.net/lists/arm-kernel/msg383883.html
Link for v3:
- http://www.spinics.net/lists/devicetree/msg60324.html

Zhou Wang (2):
ARM: hip04: add GPIO configure in hisi_defconfig
ARM: dts: hip04: add GPIO pieces

Quoted 7 lines
 arch/arm/boot/dts/hip04.dtsi    | 75 +++++++++++++++++++++++++++++++++++++++++
 arch/arm/configs/hisi_defconfig |  1 +
 2 files changed, 76 insertions(+)

--
1.9.1

author
#4 lore raw

v6 cover ARM: hip04: add GPIO support

Quoted 38 lines · Haojian Zhuang
Quoted 37 lines · Zhou Wang

This series add the support for the GPIOs of Hisilicon Soc hip04. Hip04 uses synopsis' GPIO IP, and we use the dwapb GPIO driver here. This series add the corresponding dts. The default value of ARCH_NR_GPIOS is used to find gpio base here.

Now this patchset is based on v4.0-rc5

Change in v6:
- Change E-mail address in signed-off-by to "wangzhou1 at hisilicon.com" Change in v5:
- Base on v3.19-rc1
- Just use default value of ARCH_NR_GPIOS to find gpio base. Remove the new added patch(3/4) in v4.
Change in v4:
- Delete "default 128 if ARCH_HIP04" in arch/arm/Kconfig
- add a new patch to support find GPIO base number in increasing order
- add gpio-number-forward property in snps gpio binding doc Change in v3:
- Move CONFIG_GPIO_DWAPB to hisi_defconfig
- Add CONFIG_GPIOLIB, CONFIG_GPIO_SYSFS in hisi_defconfig Change in v2:
- Add select GPIO_DWAPB in arch/arm/mach-hisi/Kconfig

Link for v4:
- http://www.spinics.net/lists/arm-kernel/msg383883.html
Link for v3:
- http://www.spinics.net/lists/devicetree/msg60324.html

Zhou Wang (2):
ARM: hip04: add GPIO configure in hisi_defconfig
ARM: dts: hip04: add GPIO pieces

 arch/arm/boot/dts/hip04.dtsi    | 75 +++++++++++++++++++++++++++++++++++++++++
 arch/arm/configs/hisi_defconfig |  1 +
 2 files changed, 76 insertions(+)
Quoted 7 lines
Quoted 3 lines

--
1.9.1

.

Thanks!
Zhou Wang