Skip to contentSkip to conversation

Add R8A7794 GPIO DT support

PATCH Superseded Sergei Shtylyov 3 participants 9 messages Aug 3, 2015 – Aug 7, 2015

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover Add R8A7794 GPIO DT support

Hello.

Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20150803-v4.2-rc5' tag. Here we add the GPIO device tree support for the R8A7794 SoC.

[1/2] ARM: shmobile: r8a7794: add GPIO clocks
[2/2] ARM: shmobile: r8a7794: add GPIO DT support

WBR, Sergei

#1 lore raw

PATCH v2 1/2 ARM: shmobile: r8a7794: add GPIO clocks

Describe the GPIO clocks in the R8A7794 device tree.

Based on the original patch by Koji Matsuoka <[email protected]>.

---
Changes in version 2:
- refreshed the patch;
- added Geert's and Laurent's ACKs.

 arch/arm/boot/dts/r8a7794.dtsi |   22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)
arch/arm/boot/dts/r8a7794.dtsi +14 -8
Index: renesas/arch/arm/boot/dts/r8a7794.dtsi
===================================================================
@@ -720,16 +720,22 @@
 		mstp9_clks: mstp9_clks at e6150994 {
 			compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
 			reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
-			clocks = <&cpg_clocks R8A7794_CLK_QSPI>, <&hp_clk>, <&hp_clk>,
-				<&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>;
+			clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
+				 <&cp_clk>, <&cp_clk>, <&cp_clk>,
+				 <&cpg_clocks R8A7794_CLK_QSPI>, <&hp_clk>, <&hp_clk>,
+				 <&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>;
 			#clock-cells = <1>;
-			clock-indices = <
-				R8A7794_CLK_QSPI_MOD R8A7794_CLK_I2C5 R8A7794_CLK_I2C4
-				R8A7794_CLK_I2C3 R8A7794_CLK_I2C2 R8A7794_CLK_I2C1
-				R8A7794_CLK_I2C0
-			>;
+			clock-indices = <R8A7794_CLK_GPIO6 R8A7794_CLK_GPIO5
+					 R8A7794_CLK_GPIO4 R8A7794_CLK_GPIO3
+					 R8A7794_CLK_GPIO2 R8A7794_CLK_GPIO1
+					 R8A7794_CLK_GPIO0 R8A7794_CLK_QSPI_MOD
+					 R8A7794_CLK_I2C5 R8A7794_CLK_I2C4
+					 R8A7794_CLK_I2C3 R8A7794_CLK_I2C2
+					 R8A7794_CLK_I2C1 R8A7794_CLK_I2C0>;
 			clock-output-names =
-				"qspi_mod", "i2c5", "i2c4", "i2c3", "i2c2", "i2c1", "i2c0";
+				"gpio6", "gpio5", "gpio4", "gpio3", "gpio2",
+				"gpio1", "gpio0", "qspi_mod",
+				"i2c5", "i2c4", "i2c3", "i2c2", "i2c1", "i2c0";
 		};
 		mstp11_clks: mstp11_clks at e615099c {
 			compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
#2 lore raw

PATCH v2 2/2 ARM: shmobile: r8a7794: add GPIO DT support

In reply to Sergei Shtylyov

Describe GPIO[0-6] controllers in the R8A7794 device tree.

Based on original patch by Hisashi Nakamura <[email protected]>.

---
Changes in version 2:
- fixed "gpio-ranges" property's last value for GPIO1/5/6;
- added Geert's ACK.

 arch/arm/boot/dts/r8a7794.dtsi |   84 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)
arch/arm/boot/dts/r8a7794.dtsi +84 -0
Index: renesas/arch/arm/boot/dts/r8a7794.dtsi
===================================================================
@@ -50,6 +50,90 @@
 		interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
 	};
 
+	gpio0: gpio at e6050000 {
+		compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+		reg = <0 0xe6050000 0 0x50>;
+		interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 0 32>;
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		clocks = <&mstp9_clks R8A7794_CLK_GPIO0>;
+	};
+
+	gpio1: gpio at e6051000 {
+		compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+		reg = <0 0xe6051000 0 0x50>;
+		interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 32 26>;
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		clocks = <&mstp9_clks R8A7794_CLK_GPIO1>;
+	};
+
+	gpio2: gpio at e6052000 {
+		compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+		reg = <0 0xe6052000 0 0x50>;
+		interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 64 32>;
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		clocks = <&mstp9_clks R8A7794_CLK_GPIO2>;
+	};
+
+	gpio3: gpio at e6053000 {
+		compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+		reg = <0 0xe6053000 0 0x50>;
+		interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 96 32>;
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		clocks = <&mstp9_clks R8A7794_CLK_GPIO3>;
+	};
+
+	gpio4: gpio at e6054000 {
+		compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+		reg = <0 0xe6054000 0 0x50>;
+		interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 128 32>;
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		clocks = <&mstp9_clks R8A7794_CLK_GPIO4>;
+	};
+
+	gpio5: gpio at e6055000 {
+		compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+		reg = <0 0xe6055000 0 0x50>;
+		interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 160 28>;
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		clocks = <&mstp9_clks R8A7794_CLK_GPIO5>;
+	};
+
+	gpio6: gpio at e6055400 {
+		compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+		reg = <0 0xe6055400 0 0x50>;
+		interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 192 26>;
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		clocks = <&mstp9_clks R8A7794_CLK_GPIO6>;
+	};
+
 	cmt0: timer at ffca0000 {
 		compatible = "renesas,cmt-48-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
#3 lore raw

PATCH v2 2/2 ARM: shmobile: r8a7794: add GPIO DT support

Hi Sergei,

Quoted 6 lines · Sergei Shtylyov

Describe GPIO[0-6] controllers in the R8A7794 device tree.

Based on original patch by Hisashi Nakamura <[email protected]>.

As CPG/MSTP Clock Domain support is in, I have to withdraw my Acked-by.

Quoted 8 lines

Index: renesas/arch/arm/boot/dts/r8a7794.dtsi
===================================================================

arch/arm/boot/dts/r8a7794.dtsi +0 -0
@@ -50,6 +50,90 @@
                interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
        };
 

arch/arm/boot/dts/r8a7794.dtsi line 62

Quoted 10 lines
arch/arm/boot/dts/r8a7794.dtsi +10 -0
+       gpio0: gpio at e6050000 {
+               compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+               reg = <0 0xe6050000 0 0x50>;
+               interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 0 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+               clocks = <&mstp9_clks R8A7794_CLK_GPIO0>;

Missing "power-domains = <&cpg_clocks>;"

arch/arm/boot/dts/r8a7794.dtsi line 63

Quoted 1 line
arch/arm/boot/dts/r8a7794.dtsi +1 -0
+       };

Same comment for the other gpio device nodes.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#4 lore raw

v2 cover Add R8A7794 GPIO DT support

In reply to Sergei Shtylyov
Quoted 8 lines · Sergei Shtylyov

Hello.

Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20150803-v4.2-rc5' tag. Here we add the GPIO device tree support for the R8A7794 SoC.

[1/2] ARM: shmobile: r8a7794: add GPIO clocks
[2/2] ARM: shmobile: r8a7794: add GPIO DT support

Thanks, I have queued these up for v4.4.

#5 lore raw

v2 cover Add R8A7794 GPIO DT support

Quoted 9 lines · Simon Horman
Quoted 6 lines · Sergei Shtylyov

Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20150803-v4.2-rc5' tag. Here we add the GPIO device tree support for the R8A7794 SoC.

[1/2] ARM: shmobile: r8a7794: add GPIO clocks
[2/2] ARM: shmobile: r8a7794: add GPIO DT support

Thanks, I have queued these up for v4.4.

Woops, Since CPG/MSTP support is in, GPIO won't work, as the nodes lack "power-domains" properties.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#6 lore raw

v2 cover Add R8A7794 GPIO DT support

Quoted 6 lines · Geert Uytterhoeven
Quoted 5 lines · Simon Horman
Quoted 4 lines · Sergei Shtylyov

Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20150803-v4.2-rc5' tag. Here we add the GPIO device tree support for the R8A7794 SoC.

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

[1/2] ARM: shmobile: r8a7794: add GPIO clocks
[2/2] ARM: shmobile: r8a7794: add GPIO DT support

Thanks, I have queued these up for v4.4.

Woops, Since CPG/MSTP support is in, GPIO won't work, as the nodes lack "power-domains" properties.

Sorry for letting that through.
I will drop these patches accordingly.
Sergei, could you please re-spin them?

#7 lore raw

v2 cover Add R8A7794 GPIO DT support

In reply to Simon Horman

Hello.

Quoted 8 lines · Simon Horman
Quoted 6 lines

Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20150803-v4.2-rc5' tag. Here we add the GPIO device tree support for the R8A7794 SoC.

[1/2] ARM: shmobile: r8a7794: add GPIO clocks
[2/2] ARM: shmobile: r8a7794: add GPIO DT support

Thanks, I have queued these up for v4.4.

Not seeing anything new in your repo. Which is probably a good thing
considering Geert's comments.

MBR, Sergei

#8 lore raw

v2 cover Add R8A7794 GPIO DT support

Quoted 8 lines · Sergei Shtylyov

Hello.

Quoted 3 lines · Simon Horman
Quoted 3 lines

Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20150803-v4.2-rc5' tag. Here we add the GPIO device tree support for the R8A7794 SoC.

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

[1/2] ARM: shmobile: r8a7794: add GPIO clocks
[2/2] ARM: shmobile: r8a7794: add GPIO DT support

Thanks, I have queued these up for v4.4.

Not seeing anything new in your repo. Which is probably a good thing
considering Geert's comments.

It seems that I forgot to push yesterday, which as you say, does seem quite fortunate given Geert's comments.