linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] ARM: meson: enable gpio interrupt controller
@ 2017-10-19 12:01 Jerome Brunet
  2017-10-19 12:01 ` [PATCH 1/5] ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b Jerome Brunet
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Jerome Brunet @ 2017-10-19 12:01 UTC (permalink / raw)
  To: linux-arm-kernel

This patchset enables gpio interrupt controller found on the meson SoC
family. ATM, it supports meson8b, gxbb and gxl. The meson8 has been left
out because I don't have the documentation of this particular SoC.

The last patch uses the interrupts provided by this controller with the
external ethernet PHY found on a few platforms.

Jerome Brunet (5):
  ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b
  ARM64: meson: enable MESON_IRQ_GPIO in Kconfig
  ARM: dts: meson8b: enable gpio interrupt controller
  ARM64: dts: meson-gx: add gpio interrupt controller
  ARM64: dts: meson-gx: add external PHY interrupt on some platforms

 arch/arm/boot/dts/meson.dtsi                         | 9 +++++++++
 arch/arm/boot/dts/meson8b.dtsi                       | 6 ++++++
 arch/arm/mach-meson/Kconfig                          | 1 +
 arch/arm64/Kconfig.platforms                         | 1 +
 arch/arm64/boot/dts/amlogic/meson-gx.dtsi            | 9 +++++++++
 arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 2 ++
 arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts  | 2 ++
 arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts      | 2 ++
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi          | 6 ++++++
 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 2 ++
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi           | 6 ++++++
 arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts       | 2 ++
 12 files changed, 48 insertions(+)

-- 
2.13.6

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/5] ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b
  2017-10-19 12:01 [PATCH 0/5] ARM: meson: enable gpio interrupt controller Jerome Brunet
@ 2017-10-19 12:01 ` Jerome Brunet
  2017-10-19 12:01 ` [PATCH 2/5] ARM64: meson: enable MESON_IRQ_GPIO in Kconfig Jerome Brunet
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jerome Brunet @ 2017-10-19 12:01 UTC (permalink / raw)
  To: linux-arm-kernel

select MESON_IRQ_GPIO in Kconfig for Amlogic's meson8b SoC

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
 arch/arm/mach-meson/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-meson/Kconfig b/arch/arm/mach-meson/Kconfig
index ee30511849ca..dc4830bb80fc 100644
--- a/arch/arm/mach-meson/Kconfig
+++ b/arch/arm/mach-meson/Kconfig
@@ -28,5 +28,6 @@ config MACH_MESON8B
 	default ARCH_MESON
 	select MESON6_TIMER
 	select COMMON_CLK_MESON8B
+	select MESON_IRQ_GPIO
 
 endif
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/5] ARM64: meson: enable MESON_IRQ_GPIO in Kconfig
  2017-10-19 12:01 [PATCH 0/5] ARM: meson: enable gpio interrupt controller Jerome Brunet
  2017-10-19 12:01 ` [PATCH 1/5] ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b Jerome Brunet
@ 2017-10-19 12:01 ` Jerome Brunet
  2017-10-19 12:01 ` [PATCH 3/5] ARM: dts: meson8b: enable gpio interrupt controller Jerome Brunet
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jerome Brunet @ 2017-10-19 12:01 UTC (permalink / raw)
  To: linux-arm-kernel

select MESON_IRQ_GPIO in Kconfig for Amlogic's meson SoC family

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
 arch/arm64/Kconfig.platforms | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 6b54ee8c1262..5d5e79e8d556 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -104,6 +104,7 @@ config ARCH_MESON
 	select PINCTRL_MESON
 	select COMMON_CLK_AMLOGIC
 	select COMMON_CLK_GXBB
+	select MESON_IRQ_GPIO
 	help
 	  This enables support for the Amlogic S905 SoCs.
 
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/5] ARM: dts: meson8b: enable gpio interrupt controller
  2017-10-19 12:01 [PATCH 0/5] ARM: meson: enable gpio interrupt controller Jerome Brunet
  2017-10-19 12:01 ` [PATCH 1/5] ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b Jerome Brunet
  2017-10-19 12:01 ` [PATCH 2/5] ARM64: meson: enable MESON_IRQ_GPIO in Kconfig Jerome Brunet
@ 2017-10-19 12:01 ` Jerome Brunet
  2017-10-19 12:01 ` [PATCH 4/5] ARM64: dts: meson-gx: add " Jerome Brunet
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jerome Brunet @ 2017-10-19 12:01 UTC (permalink / raw)
  To: linux-arm-kernel

Add gpio interrupt controller node to the meson8b boards

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
 arch/arm/boot/dts/meson.dtsi   | 9 +++++++++
 arch/arm/boot/dts/meson8b.dtsi | 6 ++++++
 2 files changed, 15 insertions(+)

diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi
index 290a183e87c5..3d18ecc2bef1 100644
--- a/arch/arm/boot/dts/meson.dtsi
+++ b/arch/arm/boot/dts/meson.dtsi
@@ -85,6 +85,15 @@
 				reg = <0x7c00 0x200>;
 			};
 
+			gpio_intc: interrupt-controller at 9880 {
+				compatible = "amlogic,meson-gpio-intc";
+				reg = <0xc1109880 0x10>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
+				status = "disabled";
+			};
+
 			hwrng: rng at 8100 {
 				compatible = "amlogic,meson-rng";
 				reg = <0x8100 0x8>;
diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi
index 40cfe5c8df6a..574aafa3db83 100644
--- a/arch/arm/boot/dts/meson8b.dtsi
+++ b/arch/arm/boot/dts/meson8b.dtsi
@@ -179,6 +179,12 @@
 	clock-names = "stmmaceth";
 };
 
+&gpio_intc {
+	compatible = "amlogic,meson-gpio-intc",
+		     "amlogic,meson8b-gpio-intc";
+	status = "okay";
+};
+
 &hwrng {
 	compatible = "amlogic,meson8b-rng", "amlogic,meson-rng";
 	clocks = <&clkc CLKID_RNG0>;
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/5] ARM64: dts: meson-gx: add gpio interrupt controller
  2017-10-19 12:01 [PATCH 0/5] ARM: meson: enable gpio interrupt controller Jerome Brunet
                   ` (2 preceding siblings ...)
  2017-10-19 12:01 ` [PATCH 3/5] ARM: dts: meson8b: enable gpio interrupt controller Jerome Brunet
@ 2017-10-19 12:01 ` Jerome Brunet
  2017-10-19 12:01 ` [PATCH 5/5] ARM64: dts: meson-gx: add external PHY interrupt on some platforms Jerome Brunet
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jerome Brunet @ 2017-10-19 12:01 UTC (permalink / raw)
  To: linux-arm-kernel

Add gpio interrupt controller to Amlogic GX family SoCs

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
 arch/arm64/boot/dts/amlogic/meson-gx.dtsi   | 9 +++++++++
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 6 ++++++
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi  | 6 ++++++
 3 files changed, 21 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index b7723436a04b..ab7ce1644cdc 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -218,6 +218,15 @@
 			#size-cells = <2>;
 			ranges = <0x0 0x0 0x0 0xc1100000 0x0 0x100000>;
 
+			gpio_intc: interrupt-controller at 9880 {
+				compatible = "amlogic,meson-gpio-intc";
+				reg = <0x0 0x9880 0x0 0x10>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
+				status = "disabled";
+			};
+
 			reset: reset-controller at 4404 {
 				compatible = "amlogic,meson-gx-reset", "amlogic,meson-gxbb-reset";
 				reg = <0x0 0x04404 0x0 0x20>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 3d41db9c9d22..ead895a4e9a5 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -323,6 +323,12 @@
 	clock-names = "stmmaceth", "clkin0", "clkin1";
 };
 
+&gpio_intc {
+	compatible = "amlogic,meson-gpio-intc",
+		     "amlogic,meson-gxbb-gpio-intc";
+	status = "okay";
+};
+
 &hdmi_tx {
 	compatible = "amlogic,meson-gxbb-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
 	resets = <&reset RESET_HDMITX_CAPB3>,
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index d3a51031a711..0aa71a35ce64 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -225,6 +225,12 @@
 	compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc";
 };
 
+&gpio_intc {
+	compatible = "amlogic,meson-gpio-intc",
+		     "amlogic,meson-gxl-gpio-intc";
+	status = "okay";
+};
+
 &hdmi_tx {
 	compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
 	resets = <&reset RESET_HDMITX_CAPB3>,
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 5/5] ARM64: dts: meson-gx: add external PHY interrupt on some platforms
  2017-10-19 12:01 [PATCH 0/5] ARM: meson: enable gpio interrupt controller Jerome Brunet
                   ` (3 preceding siblings ...)
  2017-10-19 12:01 ` [PATCH 4/5] ARM64: dts: meson-gx: add " Jerome Brunet
@ 2017-10-19 12:01 ` Jerome Brunet
  2017-10-20  8:12 ` [PATCH 0/5] ARM: meson: enable gpio interrupt controller Neil Armstrong
  2017-10-30  8:28 ` Kevin Hilman
  6 siblings, 0 replies; 8+ messages in thread
From: Jerome Brunet @ 2017-10-19 12:01 UTC (permalink / raw)
  To: linux-arm-kernel

Add the external PHY interrupt on the nanopi-k2, odroid-c2, p200, p230
and q200

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
 arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 2 ++
 arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts  | 2 ++
 arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts      | 2 ++
 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 2 ++
 arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts       | 2 ++
 5 files changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
index 2e853c082a65..4a4251001bfd 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
@@ -168,6 +168,8 @@
 		eth_phy0: ethernet-phy at 0 {
 			/* Realtek RTL8211F (0x001cc916) */
 			reg = <0>;
+			interrupt-parent = <&gpio_intc>;
+			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
 		};
 	};
 };
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
index 1deaa53c9fb5..fac5c3eeb07d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
@@ -157,6 +157,8 @@
 
 		eth_phy0: ethernet-phy at 0 {
 			reg = <0>;
+			interrupt-parent = <&gpio_intc>;
+			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
 			eee-broken-1000t;
 		};
 	};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts
index 2054a474e0a9..9bf16bb7c491 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts
@@ -117,6 +117,8 @@
 		eth_phy0: ethernet-phy at 3 {
 			/* Micrel KSZ9031 (0x00221620) */
 			reg = <3>;
+			interrupt-parent = <&gpio_intc>;
+			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
 		};
 	};
 };
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
index 6827f235d7cf..4f3f03fc31b0 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
@@ -128,6 +128,8 @@
 		compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22";
 		reg = <0>;
 		max-speed = <1000>;
+		interrupt-parent = <&gpio_intc>;
+		interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
 	};
 };
 
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
index b65776b01911..66c6da7e112c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
@@ -110,6 +110,8 @@
 		compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22";
 		reg = <0>;
 		max-speed = <1000>;
+		interrupt-parent = <&gpio_intc>;
+		interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
 	};
 };
 
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 0/5] ARM: meson: enable gpio interrupt controller
  2017-10-19 12:01 [PATCH 0/5] ARM: meson: enable gpio interrupt controller Jerome Brunet
                   ` (4 preceding siblings ...)
  2017-10-19 12:01 ` [PATCH 5/5] ARM64: dts: meson-gx: add external PHY interrupt on some platforms Jerome Brunet
@ 2017-10-20  8:12 ` Neil Armstrong
  2017-10-30  8:28 ` Kevin Hilman
  6 siblings, 0 replies; 8+ messages in thread
From: Neil Armstrong @ 2017-10-20  8:12 UTC (permalink / raw)
  To: linux-arm-kernel

On 19/10/2017 14:01, Jerome Brunet wrote:
> This patchset enables gpio interrupt controller found on the meson SoC
> family. ATM, it supports meson8b, gxbb and gxl. The meson8 has been left
> out because I don't have the documentation of this particular SoC.
> 
> The last patch uses the interrupts provided by this controller with the
> external ethernet PHY found on a few platforms.
> 
> Jerome Brunet (5):
>   ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b
>   ARM64: meson: enable MESON_IRQ_GPIO in Kconfig
>   ARM: dts: meson8b: enable gpio interrupt controller
>   ARM64: dts: meson-gx: add gpio interrupt controller
>   ARM64: dts: meson-gx: add external PHY interrupt on some platforms
> 
>  arch/arm/boot/dts/meson.dtsi                         | 9 +++++++++
>  arch/arm/boot/dts/meson8b.dtsi                       | 6 ++++++
>  arch/arm/mach-meson/Kconfig                          | 1 +
>  arch/arm64/Kconfig.platforms                         | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gx.dtsi            | 9 +++++++++
>  arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 2 ++
>  arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts  | 2 ++
>  arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts      | 2 ++
>  arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi          | 6 ++++++
>  arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 2 ++
>  arch/arm64/boot/dts/amlogic/meson-gxl.dtsi           | 6 ++++++
>  arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts       | 2 ++
>  12 files changed, 48 insertions(+)
> 

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 0/5] ARM: meson: enable gpio interrupt controller
  2017-10-19 12:01 [PATCH 0/5] ARM: meson: enable gpio interrupt controller Jerome Brunet
                   ` (5 preceding siblings ...)
  2017-10-20  8:12 ` [PATCH 0/5] ARM: meson: enable gpio interrupt controller Neil Armstrong
@ 2017-10-30  8:28 ` Kevin Hilman
  6 siblings, 0 replies; 8+ messages in thread
From: Kevin Hilman @ 2017-10-30  8:28 UTC (permalink / raw)
  To: linux-arm-kernel

Jerome Brunet <jbrunet@baylibre.com> writes:

> This patchset enables gpio interrupt controller found on the meson SoC
> family. ATM, it supports meson8b, gxbb and gxl. The meson8 has been left
> out because I don't have the documentation of this particular SoC.
>
> The last patch uses the interrupts provided by this controller with the
> external ethernet PHY found on a few platforms.
>
> Jerome Brunet (5):
>   ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b
>   ARM64: meson: enable MESON_IRQ_GPIO in Kconfig
>   ARM: dts: meson8b: enable gpio interrupt controller
>   ARM64: dts: meson-gx: add gpio interrupt controller
>   ARM64: dts: meson-gx: add external PHY interrupt on some platforms

Applied,

Kevin

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-10-30  8:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-19 12:01 [PATCH 0/5] ARM: meson: enable gpio interrupt controller Jerome Brunet
2017-10-19 12:01 ` [PATCH 1/5] ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b Jerome Brunet
2017-10-19 12:01 ` [PATCH 2/5] ARM64: meson: enable MESON_IRQ_GPIO in Kconfig Jerome Brunet
2017-10-19 12:01 ` [PATCH 3/5] ARM: dts: meson8b: enable gpio interrupt controller Jerome Brunet
2017-10-19 12:01 ` [PATCH 4/5] ARM64: dts: meson-gx: add " Jerome Brunet
2017-10-19 12:01 ` [PATCH 5/5] ARM64: dts: meson-gx: add external PHY interrupt on some platforms Jerome Brunet
2017-10-20  8:12 ` [PATCH 0/5] ARM: meson: enable gpio interrupt controller Neil Armstrong
2017-10-30  8:28 ` Kevin Hilman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).