Skip to contentSkip to conversation

ARM: hip04: add GPIO support

PATCH Superseded Zhou Wang 2 participants 6 messages Jan 12, 2015 – Feb 6, 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.

I resend this patchset with new E-mail address in signed-off-by.

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 v6 1/2 ARM: hip04: add GPIO configure in hisi_defconfig

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 1125436..4a50862 100644
@@ -50,6 +50,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 v6 2/2 ARM: dts: hip04: add GPIO pieces

In reply to Zhou Wang

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@4003000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "snps,dw-apb-gpio";
+			reg = <0x4003000 0x1000>;
+
+			gpio3: gpio-controller@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@4002000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "snps,dw-apb-gpio";
+			reg = <0x4002000 0x1000>;
+
+			gpio2: gpio-controller@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@4001000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "snps,dw-apb-gpio";
+			reg = <0x4001000 0x1000>;
+
+			gpio1: gpio-controller@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@4000000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "snps,dw-apb-gpio";
+			reg = <0x4000000 0x1000>;
+
+			gpio0: gpio-controller@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@0,e3c42000 {
Signature · 1 line
1.9.1
author
#3 lore raw

v6 cover ARM: hip04: add GPIO support

In reply to Zhou Wang

Hi Linus, Hi Haojian,

Any comments about this patch?

Best regards,
Zhou Wang

Quoted 36 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.

I resend this patchset with new E-mail address in signed-off-by.

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(+)
#4 lore raw

v6 cover ARM: hip04: add GPIO support

Quoted 3 lines · Zhou Wang

Hi Linus, Hi Haojian,

Any comments about this patch?

As it only patches arch/arm it's really an ARM SoC business, but for what it's worth:

Yours,
Linus Walleij

author
#5 lore raw

v6 cover ARM: hip04: add GPIO support

Quoted 6 lines · Linus Walleij
Quoted 3 lines · Zhou Wang

Hi Linus, Hi Haojian,

Any comments about this patch?

Quoted 7 lines

As it only patches arch/arm it's really an ARM SoC business, but for what it's worth:

Yours,
Linus Walleij

Thanks Linus, I will resend after v3.20-rc1

Yours,
Zhou Wang

Quoted 6 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html