diff mbox series

ARM: dts: r8a779x: Configure PMIC IRQ pinmux

Message ID 20190502140634.4529-1-marek.vasut@gmail.com (mailing list archive)
State Superseded
Delegated to: Simon Horman
Headers show
Series ARM: dts: r8a779x: Configure PMIC IRQ pinmux | expand

Commit Message

Marek Vasut May 2, 2019, 2:06 p.m. UTC
From: Marek Vasut <marek.vasut+renesas@gmail.com>

The PMIC IRQ line pin multiplexing configuration is missing from the DTs.
Since the line is configured correctly by default, the system works fine.
However, add the IRQ line pin multiplexing configuration for completeness.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Simon Horman <horms+renesas@verge.net.au>
Cc: linux-renesas-soc@vger.kernel.org
To: linux-arm-kernel@lists.infradead.org
---
 arch/arm/boot/dts/r8a7790-lager.dts   | 7 +++++++
 arch/arm/boot/dts/r8a7790-stout.dts   | 7 ++++++-
 arch/arm/boot/dts/r8a7791-koelsch.dts | 7 +++++++
 arch/arm/boot/dts/r8a7791-porter.dts  | 7 +++++++
 arch/arm/boot/dts/r8a7792-blanche.dts | 7 +++++++
 arch/arm/boot/dts/r8a7793-gose.dts    | 7 +++++++
 6 files changed, 41 insertions(+), 1 deletion(-)

Comments

Geert Uytterhoeven May 3, 2019, 12:36 p.m. UTC | #1
Hi Marek,

On Thu, May 2, 2019 at 4:06 PM <marek.vasut@gmail.com> wrote:
> From: Marek Vasut <marek.vasut+renesas@gmail.com>
>
> The PMIC IRQ line pin multiplexing configuration is missing from the DTs.
> Since the line is configured correctly by default, the system works fine.
> However, add the IRQ line pin multiplexing configuration for completeness.
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>

Thanks for your patch!

> --- a/arch/arm/boot/dts/r8a7790-lager.dts
> +++ b/arch/arm/boot/dts/r8a7790-lager.dts
> @@ -423,6 +423,8 @@
>          */
>         i2cpwr: i2c-13 {
>                 compatible = "i2c-demux-pinctrl";
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&pmic_irq_pins>;
>                 i2c-parent = <&iic3>, <&i2c3>;
>                 i2c-bus-name = "i2c-pwr";
>                 #address-cells = <1>;
> @@ -615,6 +617,11 @@
>                 function = "iic3";
>         };
>
> +       pmic_irq_pins: pmicirq {
> +               groups = "intc_irq2";
> +               function = "intc";
> +       };

Please insert according to alphabetical sort order.
Oh, we don't have the R-Car Gen2 entries sorted yet. Nevermind...

> --- a/arch/arm/boot/dts/r8a7792-blanche.dts
> +++ b/arch/arm/boot/dts/r8a7792-blanche.dts
> @@ -234,6 +234,11 @@
>                 groups = "du1_rgb666", "du1_sync", "du1_disp";
>                 function = "du1";
>         };
> +
> +       pmic_irq_pins: pmicirq {
> +               groups = "intc_irq2";
> +               function = "intc";
> +       };
>  };
>
>  &rwdt {
> @@ -309,6 +314,8 @@
>  };
>
>  &iic3 {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pmic_irq_pins>;

Given Blanche has a single device connected to irq2, I think it makes
sense to move the pinctrl properties to the pmic node below.

With that fixed:
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert
Marek Vasut May 3, 2019, 3:18 p.m. UTC | #2
On 5/3/19 2:36 PM, Geert Uytterhoeven wrote:
Hi,

[...]

>>  &rwdt {
>> @@ -309,6 +314,8 @@
>>  };
>>
>>  &iic3 {
>> +       pinctrl-names = "default";
>> +       pinctrl-0 = <&pmic_irq_pins>;
> 
> Given Blanche has a single device connected to irq2, I think it makes
> sense to move the pinctrl properties to the pmic node below.

It makes blanche somehow inconsistent with the other boards, but if you
insist ... ?

> With that fixed:
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
>
Geert Uytterhoeven May 3, 2019, 6:13 p.m. UTC | #3
Hi Marek,

On Fri, May 3, 2019 at 5:18 PM Marek Vasut <marek.vasut@gmail.com> wrote:
> On 5/3/19 2:36 PM, Geert Uytterhoeven wrote:
> >>  &rwdt {
> >> @@ -309,6 +314,8 @@
> >>  };
> >>
> >>  &iic3 {
> >> +       pinctrl-names = "default";
> >> +       pinctrl-0 = <&pmic_irq_pins>;
> >
> > Given Blanche has a single device connected to irq2, I think it makes
> > sense to move the pinctrl properties to the pmic node below.
>
> It makes blanche somehow inconsistent with the other boards, but if you
> insist ... ?

Typically the pinctrl properties are part of the device node that uses them.
For the other boards, that's not possible, as they are shared by all PMIC
nodes. Hence the other boards are the exceptions, actually ;-)

Note that for multi-PMIC boards, adding the pinctrl properties to a single
PMIC node won't work, as that would break:
  1. The case where the driver for that PMIC is not compiled in,
  2. The R-Car Gen2 regulator quirk.

Gr{oetje,eeting}s,

                        Geert
Marek Vasut May 15, 2019, 8:25 a.m. UTC | #4
On 5/3/19 8:13 PM, Geert Uytterhoeven wrote:
> Hi Marek,

Hi,

> On Fri, May 3, 2019 at 5:18 PM Marek Vasut <marek.vasut@gmail.com> wrote:
>> On 5/3/19 2:36 PM, Geert Uytterhoeven wrote:
>>>>  &rwdt {
>>>> @@ -309,6 +314,8 @@
>>>>  };
>>>>
>>>>  &iic3 {
>>>> +       pinctrl-names = "default";
>>>> +       pinctrl-0 = <&pmic_irq_pins>;
>>>
>>> Given Blanche has a single device connected to irq2, I think it makes
>>> sense to move the pinctrl properties to the pmic node below.
>>
>> It makes blanche somehow inconsistent with the other boards, but if you
>> insist ... ?
> 
> Typically the pinctrl properties are part of the device node that uses them.
> For the other boards, that's not possible, as they are shared by all PMIC
> nodes. Hence the other boards are the exceptions, actually ;-)
> 
> Note that for multi-PMIC boards, adding the pinctrl properties to a single
> PMIC node won't work, as that would break:
>   1. The case where the driver for that PMIC is not compiled in,
>   2. The R-Car Gen2 regulator quirk.

Well it wouldn't work because it's shared by two PMICs and thus two
driver instances in the first place.
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts
index 7b9508e83d46..d637b9727808 100644
--- a/arch/arm/boot/dts/r8a7790-lager.dts
+++ b/arch/arm/boot/dts/r8a7790-lager.dts
@@ -423,6 +423,8 @@ 
 	 */
 	i2cpwr: i2c-13 {
 		compatible = "i2c-demux-pinctrl";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pmic_irq_pins>;
 		i2c-parent = <&iic3>, <&i2c3>;
 		i2c-bus-name = "i2c-pwr";
 		#address-cells = <1>;
@@ -615,6 +617,11 @@ 
 		function = "iic3";
 	};
 
+	pmic_irq_pins: pmicirq {
+		groups = "intc_irq2";
+		function = "intc";
+	};
+
 	hsusb_pins: hsusb {
 		groups = "usb0_ovc_vbus";
 		function = "usb0";
diff --git a/arch/arm/boot/dts/r8a7790-stout.dts b/arch/arm/boot/dts/r8a7790-stout.dts
index 7a7d3b84d1a6..ad68e6034b43 100644
--- a/arch/arm/boot/dts/r8a7790-stout.dts
+++ b/arch/arm/boot/dts/r8a7790-stout.dts
@@ -179,6 +179,11 @@ 
 		function = "iic3";
 	};
 
+	pmic_irq_pins: pmicirq {
+		groups = "intc_irq2";
+		function = "intc";
+	};
+
 	usb0_pins: usb0 {
 		groups = "usb0";
 		function = "usb0";
@@ -317,7 +322,7 @@ 
 
 &iic3 {
 	pinctrl-names = "default";
-	pinctrl-0 = <&iic3_pins>;
+	pinctrl-0 = <&iic3_pins &pmic_irq_pins>;
 	status = "okay";
 
 	pmic@58 {
diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
index e6580aa0cea3..a116bfc11f0b 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -540,6 +540,11 @@ 
 		function = "intc";
 	};
 
+	pmic_irq_pins: pmicirq {
+		groups = "intc_irq2";
+		function = "intc";
+	};
+
 	sdhi0_pins: sd0 {
 		groups = "sdhi0_data4", "sdhi0_ctrl";
 		function = "sdhi0";
@@ -776,6 +781,8 @@ 
 };
 
 &i2c6 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pmic_irq_pins>;
 	status = "okay";
 	clock-frequency = <100000>;
 
diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts
index fefdf8238bbe..e08d257f5d0c 100644
--- a/arch/arm/boot/dts/r8a7791-porter.dts
+++ b/arch/arm/boot/dts/r8a7791-porter.dts
@@ -228,6 +228,11 @@ 
 		function = "intc";
 	};
 
+	pmic_irq_pins: pmicirq {
+		groups = "intc_irq2";
+		function = "intc";
+	};
+
 	sdhi0_pins: sd0 {
 		groups = "sdhi0_data4", "sdhi0_ctrl";
 		function = "sdhi0";
@@ -373,6 +378,8 @@ 
 };
 
 &i2c6 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pmic_irq_pins>;
 	status = "okay";
 	clock-frequency = <100000>;
 
diff --git a/arch/arm/boot/dts/r8a7792-blanche.dts b/arch/arm/boot/dts/r8a7792-blanche.dts
index b6fa80c3b07e..7b0d17ee87fb 100644
--- a/arch/arm/boot/dts/r8a7792-blanche.dts
+++ b/arch/arm/boot/dts/r8a7792-blanche.dts
@@ -234,6 +234,11 @@ 
 		groups = "du1_rgb666", "du1_sync", "du1_disp";
 		function = "du1";
 	};
+
+	pmic_irq_pins: pmicirq {
+		groups = "intc_irq2";
+		function = "intc";
+	};
 };
 
 &rwdt {
@@ -309,6 +314,8 @@ 
 };
 
 &iic3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pmic_irq_pins>;
 	status = "okay";
 
 	pmic@58 {
diff --git a/arch/arm/boot/dts/r8a7793-gose.dts b/arch/arm/boot/dts/r8a7793-gose.dts
index f51601af89a2..9984ebf06695 100644
--- a/arch/arm/boot/dts/r8a7793-gose.dts
+++ b/arch/arm/boot/dts/r8a7793-gose.dts
@@ -514,6 +514,11 @@ 
 		function = "intc";
 	};
 
+	pmic_irq_pins: pmicirq {
+		groups = "intc_irq2";
+		function = "intc";
+	};
+
 	sdhi0_pins: sd0 {
 		groups = "sdhi0_data4", "sdhi0_ctrl";
 		function = "sdhi0";
@@ -711,6 +716,8 @@ 
 };
 
 &i2c6 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pmic_irq_pins>;
 	status = "okay";
 	clock-frequency = <100000>;