linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm
@ 2018-12-13 23:04 Tony Lindgren
  2018-12-13 23:04 ` [PATCH 2/3] ARM: dts: Configure wlcore wakeirq for pandaboard Tony Lindgren
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Tony Lindgren @ 2018-12-13 23:04 UTC (permalink / raw)
  To: linux-omap; +Cc: devicetree, Benoît Cousson, linux-arm-kernel

With wlcore supporting optional wakeirqs, let's configure it for
omap3-evm and update the related pin muxing as some pins are left
unmuxed.

Let's configure a wakeirq both for the wlcore GPIO and the SDIO
dat1 pin in case wlcore starts supporting SDIO dat1 interrupt at
some point.

Note that for off-mode, the wlcore reset GPIO will have a glitch
meaning wlcore will reset. The only way to workaround for this
currently is to configure the reset pin with SAFE_MODE + PULL.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/omap3-evm-common.dtsi           |  7 +++++--
 arch/arm/boot/dts/omap3-evm-processor-common.dtsi | 10 +++++++++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/omap3-evm-common.dtsi b/arch/arm/boot/dts/omap3-evm-common.dtsi
--- a/arch/arm/boot/dts/omap3-evm-common.dtsi
+++ b/arch/arm/boot/dts/omap3-evm-common.dtsi
@@ -122,6 +122,7 @@
 };
 
 &mmc2 {
+	interrupts-extended = <&intc 86 &omap3_pmx_core 0x12e>;
 	vmmc-supply = <&wl12xx_vmmc>;
 	non-removable;
 	bus-width = <4>;
@@ -132,8 +133,10 @@
 	wlcore: wlcore@2 {
 		compatible = "ti,wl1271";
 		reg = <2>;
-		interrupt-parent = <&gpio5>;
-		interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 149 */
+		/* gpio_149 with uart1_rts pad as wakeirq */
+		interrupts-extended = <&gpio5 21 IRQ_TYPE_EDGE_RISING>,
+				      <&omap3_pmx_core 0x14e>;
+		interrupt-names = "irq", "wakeup";
 		ref-clock-frequency = <38400000>;
 	};
 };
diff --git a/arch/arm/boot/dts/omap3-evm-processor-common.dtsi b/arch/arm/boot/dts/omap3-evm-processor-common.dtsi
--- a/arch/arm/boot/dts/omap3-evm-processor-common.dtsi
+++ b/arch/arm/boot/dts/omap3-evm-processor-common.dtsi
@@ -86,6 +86,10 @@
 			OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
 			OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat2.sdmmc2_dat2 */
 			OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat3.sdmmc2_dat3 */
+			OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT | MUX_MODE1)	/* sdmmc2_dat4.sdmmc2_dir_dat0 */
+			OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE1)	/* sdmmc2_dat5.sdmmc2_dir_dat1 */
+			OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE1)	/* sdmmc2_dat6.sdmmc2_dir_cmd */
+			OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT | MUX_MODE1)	/* sdmmc2_dat7.sdmmc2_clkin */
 		>;
 	};
 
@@ -127,9 +131,13 @@
 		>;
 	};
 
+	/*
+	 * Note that gpio_150 pulled high with internal pull to prevent wlcore
+	 * reset on return from off mode in idle.
+	 */
 	wl12xx_gpio: pinmux_wl12xx_gpio {
 		pinctrl-single,pins = <
-			OMAP3_CORE1_IOPAD(0x2180, PIN_OUTPUT | MUX_MODE4)		/* uart1_cts.gpio_150 */
+			OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT_PULLUP | MUX_MODE7)		/* uart1_cts.gpio_150 */
 			OMAP3_CORE1_IOPAD(0x217e, PIN_INPUT | MUX_MODE4)		/* uart1_rts.gpio_149 */
 		>;
 	};
-- 
2.19.2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/3] ARM: dts: Configure wlcore wakeirq for pandaboard
  2018-12-13 23:04 [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm Tony Lindgren
@ 2018-12-13 23:04 ` Tony Lindgren
  2018-12-13 23:04 ` [PATCH 3/3] ARM: dts: omap4-droid4: Configure wlcore wakeirq Tony Lindgren
  2018-12-22 20:53 ` [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm Adam Ford
  2 siblings, 0 replies; 11+ messages in thread
From: Tony Lindgren @ 2018-12-13 23:04 UTC (permalink / raw)
  To: linux-omap; +Cc: devicetree, Benoît Cousson, linux-arm-kernel

With wlcore supporting optional wakeirqs, we can configure it
for pandaboard. This makes ssh connection usable with the SoC
entering deeper idle states.

Note that pandaboard already has a wakeirq configured for SDIO
dat1 pin although that is not currently used by wlcore.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/omap4-panda-common.dtsi | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi
--- a/arch/arm/boot/dts/omap4-panda-common.dtsi
+++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
@@ -485,8 +485,10 @@
 	wlcore: wlcore@2 {
 		compatible = "ti,wl1271";
 		reg = <2>;
-		interrupt-parent = <&gpio2>;
-		interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 53 */
+		/* gpio_53 with gpmc_ncs3 pad as wakeup */
+		interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_RISING>,
+				      <&omap4_pmx_core 0x3a>;
+		interrupt-names = "irq", "wakeup";
 		ref-clock-frequency = <38400000>;
 	};
 };
-- 
2.19.2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 3/3] ARM: dts: omap4-droid4: Configure wlcore wakeirq
  2018-12-13 23:04 [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm Tony Lindgren
  2018-12-13 23:04 ` [PATCH 2/3] ARM: dts: Configure wlcore wakeirq for pandaboard Tony Lindgren
@ 2018-12-13 23:04 ` Tony Lindgren
  2018-12-13 23:22   ` Sebastian Reichel
  2018-12-22 20:53 ` [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm Adam Ford
  2 siblings, 1 reply; 11+ messages in thread
From: Tony Lindgren @ 2018-12-13 23:04 UTC (permalink / raw)
  To: linux-omap; +Cc: devicetree, Benoît Cousson, linux-arm-kernel

With wlcore supporting optional wakeirqs, we can configure it
for pandaboard. This makes ssh connection usable with the SoC
entering deeper idle states.

Let's configure a wakeirq both for the wlcore GPIO and the SDIO
dat1 pin in case wlcore starts supporting SDIO dat1 interrupt at
some point.

And let's also add the missing keep-power-in-suspend while at it.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/omap4-droid4-xt894.dts | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/omap4-droid4-xt894.dts b/arch/arm/boot/dts/omap4-droid4-xt894.dts
--- a/arch/arm/boot/dts/omap4-droid4-xt894.dts
+++ b/arch/arm/boot/dts/omap4-droid4-xt894.dts
@@ -359,20 +359,24 @@
 
 &mmc3 {
 	vmmc-supply = <&wl12xx_vmmc>;
+	/* uart2_tx.sdmmc3_dat1 pad as wakeirq */
 	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
 			       &omap4_pmx_core 0xde>;
-
+	interrupt-names = "irq", "wakeup";
 	non-removable;
 	bus-width = <4>;
 	cap-power-off-card;
+	keep-power-in-suspend;
 
 	#address-cells = <1>;
 	#size-cells = <0>;
 	wlcore: wlcore@2 {
 		compatible = "ti,wl1285", "ti,wl1283";
 		reg = <2>;
-		interrupt-parent = <&gpio4>;
-		interrupts = <4 IRQ_TYPE_EDGE_RISING>; /* gpio100 */
+		/* gpio_100 with gpmc_wait2 pad as wakeirq */
+		interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>,
+				      <&omap4_pmx_core 0x4e>;
+		interrupt-names = "irq", "wakeup";
 		ref-clock-frequency = <26000000>;
 		tcxo-clock-frequency = <26000000>;
 	};
-- 
2.19.2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/3] ARM: dts: omap4-droid4: Configure wlcore wakeirq
  2018-12-13 23:04 ` [PATCH 3/3] ARM: dts: omap4-droid4: Configure wlcore wakeirq Tony Lindgren
@ 2018-12-13 23:22   ` Sebastian Reichel
  2018-12-13 23:26     ` Tony Lindgren
  0 siblings, 1 reply; 11+ messages in thread
From: Sebastian Reichel @ 2018-12-13 23:22 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: devicetree, linux-omap, Benoît Cousson, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 1778 bytes --]

Hi,

On Thu, Dec 13, 2018 at 03:04:11PM -0800, Tony Lindgren wrote:
> With wlcore supporting optional wakeirqs, we can configure it
> for pandaboard.

-ENOPANDA

-- Sebastian

> This makes ssh connection usable with the SoC
> entering deeper idle states.
> 
> Let's configure a wakeirq both for the wlcore GPIO and the SDIO
> dat1 pin in case wlcore starts supporting SDIO dat1 interrupt at
> some point.
> 
> And let's also add the missing keep-power-in-suspend while at it.
> 
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  arch/arm/boot/dts/omap4-droid4-xt894.dts | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/omap4-droid4-xt894.dts b/arch/arm/boot/dts/omap4-droid4-xt894.dts
> --- a/arch/arm/boot/dts/omap4-droid4-xt894.dts
> +++ b/arch/arm/boot/dts/omap4-droid4-xt894.dts
> @@ -359,20 +359,24 @@
>  
>  &mmc3 {
>  	vmmc-supply = <&wl12xx_vmmc>;
> +	/* uart2_tx.sdmmc3_dat1 pad as wakeirq */
>  	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
>  			       &omap4_pmx_core 0xde>;
> -
> +	interrupt-names = "irq", "wakeup";
>  	non-removable;
>  	bus-width = <4>;
>  	cap-power-off-card;
> +	keep-power-in-suspend;
>  
>  	#address-cells = <1>;
>  	#size-cells = <0>;
>  	wlcore: wlcore@2 {
>  		compatible = "ti,wl1285", "ti,wl1283";
>  		reg = <2>;
> -		interrupt-parent = <&gpio4>;
> -		interrupts = <4 IRQ_TYPE_EDGE_RISING>; /* gpio100 */
> +		/* gpio_100 with gpmc_wait2 pad as wakeirq */
> +		interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>,
> +				      <&omap4_pmx_core 0x4e>;
> +		interrupt-names = "irq", "wakeup";
>  		ref-clock-frequency = <26000000>;
>  		tcxo-clock-frequency = <26000000>;
>  	};
> -- 
> 2.19.2

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/3] ARM: dts: omap4-droid4: Configure wlcore wakeirq
  2018-12-13 23:22   ` Sebastian Reichel
@ 2018-12-13 23:26     ` Tony Lindgren
  0 siblings, 0 replies; 11+ messages in thread
From: Tony Lindgren @ 2018-12-13 23:26 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: devicetree, linux-omap, Benoît Cousson, linux-arm-kernel

* Sebastian Reichel <sre@kernel.org> [181213 23:22]:
> Hi,
> 
> On Thu, Dec 13, 2018 at 03:04:11PM -0800, Tony Lindgren wrote:
> > With wlcore supporting optional wakeirqs, we can configure it
> > for pandaboard.
> 
> -ENOPANDA

Oops, thanks for catching the typo. Updated patch below.

Regards,

Tony

8< ----------------------
From tony Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Thu, 13 Dec 2018 15:03:21 -0800
Subject: [PATCH] ARM: dts: omap4-droid4: Configure wlcore wakeirq

With wlcore supporting optional wakeirqs, we can configure it
for droid 4. This makes ssh connection usable with the SoC
entering deeper idle states.

Let's configure a wakeirq both for the wlcore GPIO and the SDIO
dat1 pin in case wlcore starts supporting SDIO dat1 interrupt at
some point.

And let's also add the missing keep-power-in-suspend while at it.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/omap4-droid4-xt894.dts | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/omap4-droid4-xt894.dts b/arch/arm/boot/dts/omap4-droid4-xt894.dts
--- a/arch/arm/boot/dts/omap4-droid4-xt894.dts
+++ b/arch/arm/boot/dts/omap4-droid4-xt894.dts
@@ -359,20 +359,24 @@
 
 &mmc3 {
 	vmmc-supply = <&wl12xx_vmmc>;
+	/* uart2_tx.sdmmc3_dat1 pad as wakeirq */
 	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
 			       &omap4_pmx_core 0xde>;
-
+	interrupt-names = "irq", "wakeup";
 	non-removable;
 	bus-width = <4>;
 	cap-power-off-card;
+	keep-power-in-suspend;
 
 	#address-cells = <1>;
 	#size-cells = <0>;
 	wlcore: wlcore@2 {
 		compatible = "ti,wl1285", "ti,wl1283";
 		reg = <2>;
-		interrupt-parent = <&gpio4>;
-		interrupts = <4 IRQ_TYPE_EDGE_RISING>; /* gpio100 */
+		/* gpio_100 with gpmc_wait2 pad as wakeirq */
+		interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>,
+				      <&omap4_pmx_core 0x4e>;
+		interrupt-names = "irq", "wakeup";
 		ref-clock-frequency = <26000000>;
 		tcxo-clock-frequency = <26000000>;
 	};
-- 
2.19.2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm
  2018-12-13 23:04 [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm Tony Lindgren
  2018-12-13 23:04 ` [PATCH 2/3] ARM: dts: Configure wlcore wakeirq for pandaboard Tony Lindgren
  2018-12-13 23:04 ` [PATCH 3/3] ARM: dts: omap4-droid4: Configure wlcore wakeirq Tony Lindgren
@ 2018-12-22 20:53 ` Adam Ford
  2018-12-23 16:30   ` Tony Lindgren
  2 siblings, 1 reply; 11+ messages in thread
From: Adam Ford @ 2018-12-22 20:53 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: devicetree, linux-omap, Benoît Cousson, arm-soc

On Thu, Dec 13, 2018 at 5:05 PM Tony Lindgren <tony@atomide.com> wrote:
>
> With wlcore supporting optional wakeirqs, let's configure it for
> omap3-evm and update the related pin muxing as some pins are left
> unmuxed.
>
> Let's configure a wakeirq both for the wlcore GPIO and the SDIO
> dat1 pin in case wlcore starts supporting SDIO dat1 interrupt at
> some point.
>
> Note that for off-mode, the wlcore reset GPIO will have a glitch
> meaning wlcore will reset. The only way to workaround for this
> currently is to configure the reset pin with SAFE_MODE + PULL.
>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  arch/arm/boot/dts/omap3-evm-common.dtsi           |  7 +++++--
>  arch/arm/boot/dts/omap3-evm-processor-common.dtsi | 10 +++++++++-
>  2 files changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/boot/dts/omap3-evm-common.dtsi b/arch/arm/boot/dts/omap3-evm-common.dtsi
> --- a/arch/arm/boot/dts/omap3-evm-common.dtsi
> +++ b/arch/arm/boot/dts/omap3-evm-common.dtsi
> @@ -122,6 +122,7 @@
>  };
>
>  &mmc2 {
> +       interrupts-extended = <&intc 86 &omap3_pmx_core 0x12e>;
>         vmmc-supply = <&wl12xx_vmmc>;
>         non-removable;
>         bus-width = <4>;
> @@ -132,8 +133,10 @@
>         wlcore: wlcore@2 {
>                 compatible = "ti,wl1271";
>                 reg = <2>;
> -               interrupt-parent = <&gpio5>;
> -               interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 149 */
> +               /* gpio_149 with uart1_rts pad as wakeirq */
> +               interrupts-extended = <&gpio5 21 IRQ_TYPE_EDGE_RISING>,
> +                                     <&omap3_pmx_core 0x14e>;
> +               interrupt-names = "irq", "wakeup";


Tony,

Question...
I noticed for your patch, I noticed you listed both the IRQ, gpio 149
as well as uart1_rts.  Looking at the device tree, I see that
uart1_rts is configured as gpio 149.  I did a quick scan of other
boards, I haven't noticed other boards listing the same gpio twice,
once under IRQ and once under the pmx_core wakeup.  Is that something
we should do on other boards, or is that something unique to the
omap3-evm?

adam
>                 ref-clock-frequency = <38400000>;
>         };
>  };
> diff --git a/arch/arm/boot/dts/omap3-evm-processor-common.dtsi b/arch/arm/boot/dts/omap3-evm-processor-common.dtsi
> --- a/arch/arm/boot/dts/omap3-evm-processor-common.dtsi
> +++ b/arch/arm/boot/dts/omap3-evm-processor-common.dtsi
> @@ -86,6 +86,10 @@
>                         OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
>                         OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
>                         OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
> +                       OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT | MUX_MODE1)       /* sdmmc2_dat4.sdmmc2_dir_dat0 */
> +                       OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE1)       /* sdmmc2_dat5.sdmmc2_dir_dat1 */
> +                       OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE1)       /* sdmmc2_dat6.sdmmc2_dir_cmd */
> +                       OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT | MUX_MODE1)        /* sdmmc2_dat7.sdmmc2_clkin */
>                 >;
>         };
>
> @@ -127,9 +131,13 @@
>                 >;
>         };
>
> +       /*
> +        * Note that gpio_150 pulled high with internal pull to prevent wlcore
> +        * reset on return from off mode in idle.
> +        */
>         wl12xx_gpio: pinmux_wl12xx_gpio {
>                 pinctrl-single,pins = <
> -                       OMAP3_CORE1_IOPAD(0x2180, PIN_OUTPUT | MUX_MODE4)               /* uart1_cts.gpio_150 */
> +                       OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT_PULLUP | MUX_MODE7)         /* uart1_cts.gpio_150 */
>                         OMAP3_CORE1_IOPAD(0x217e, PIN_INPUT | MUX_MODE4)                /* uart1_rts.gpio_149 */
>                 >;
>         };
> --
> 2.19.2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm
  2018-12-22 20:53 ` [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm Adam Ford
@ 2018-12-23 16:30   ` Tony Lindgren
  2018-12-27 14:33     ` Adam Ford
  0 siblings, 1 reply; 11+ messages in thread
From: Tony Lindgren @ 2018-12-23 16:30 UTC (permalink / raw)
  To: Adam Ford; +Cc: devicetree, linux-omap, Benoît Cousson, arm-soc

* Adam Ford <aford173@gmail.com> [181222 20:54]:
> I noticed for your patch, I noticed you listed both the IRQ, gpio 149
> as well as uart1_rts.  Looking at the device tree, I see that
> uart1_rts is configured as gpio 149.

The uart1_rts is just the pad name used in the TRM, so it should
probably say uart1_rts.gpio_149 meaning pad uart1_rts is muxed to
gpio_149.

Would that clear the issue for you?

> I did a quick scan of other
> boards, I haven't noticed other boards listing the same gpio twice,
> once under IRQ and once under the pmx_core wakeup.  Is that something
> we should do on other boards, or is that something unique to the
> omap3-evm?

No just trying to come up with some some less confusing comments,
but obviously that did not work so far :)

Regards,

Tony

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm
  2018-12-23 16:30   ` Tony Lindgren
@ 2018-12-27 14:33     ` Adam Ford
  2018-12-27 16:58       ` Tony Lindgren
  0 siblings, 1 reply; 11+ messages in thread
From: Adam Ford @ 2018-12-27 14:33 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: devicetree, linux-omap, Benoît Cousson, arm-soc

On Sun, Dec 23, 2018 at 10:30 AM Tony Lindgren <tony@atomide.com> wrote:
>
> * Adam Ford <aford173@gmail.com> [181222 20:54]:
> > I noticed for your patch, I noticed you listed both the IRQ, gpio 149
> > as well as uart1_rts.  Looking at the device tree, I see that
> > uart1_rts is configured as gpio 149.
>
> The uart1_rts is just the pad name used in the TRM, so it should
> probably say uart1_rts.gpio_149 meaning pad uart1_rts is muxed to
> gpio_149.
>
> Would that clear the issue for you?

That part I understand.  I poorly phrased my question.  What was
mostly confusing to me is why both irq and wakeup interrupts are
needed since it seems like

<&gpio5 21 IRQ_TYPE_EDGE_RISING>,

and
<&omap3_pmx_core 0x14e>;
point to the same pin.  Or did I mis-interpret the datasheet again?  :-)


adam
>
> > I did a quick scan of other
> > boards, I haven't noticed other boards listing the same gpio twice,
> > once under IRQ and once under the pmx_core wakeup.  Is that something
> > we should do on other boards, or is that something unique to the
> > omap3-evm?
>
> No just trying to come up with some some less confusing comments,
> but obviously that did not work so far :)
>
> Regards,
>
> Tony

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm
  2018-12-27 14:33     ` Adam Ford
@ 2018-12-27 16:58       ` Tony Lindgren
  2018-12-27 17:05         ` Adam Ford
  0 siblings, 1 reply; 11+ messages in thread
From: Tony Lindgren @ 2018-12-27 16:58 UTC (permalink / raw)
  To: Adam Ford; +Cc: devicetree, linux-omap, Benoît Cousson, arm-soc

* Adam Ford <aford173@gmail.com> [181227 14:33]:
> On Sun, Dec 23, 2018 at 10:30 AM Tony Lindgren <tony@atomide.com> wrote:
> >
> > * Adam Ford <aford173@gmail.com> [181222 20:54]:
> > > I noticed for your patch, I noticed you listed both the IRQ, gpio 149
> > > as well as uart1_rts.  Looking at the device tree, I see that
> > > uart1_rts is configured as gpio 149.
> >
> > The uart1_rts is just the pad name used in the TRM, so it should
> > probably say uart1_rts.gpio_149 meaning pad uart1_rts is muxed to
> > gpio_149.
> >
> > Would that clear the issue for you?
> 
> That part I understand.  I poorly phrased my question.  What was
> mostly confusing to me is why both irq and wakeup interrupts are
> needed since it seems like
> 
> <&gpio5 21 IRQ_TYPE_EDGE_RISING>,
> 
> and
> <&omap3_pmx_core 0x14e>;
> point to the same pin.  Or did I mis-interpret the datasheet again?  :-)

Ah OK. Yes the same pin can trigger interrupts at two different
controllers. During runtime a proper GPIO is triggered, and then
in deeper idle states only the padconf interrupt is triggered as
the GPIO can be powered off. So the padconf interrupt is there
to provide wake-up events if configured. This allows the device
to enter off-mode during idle with things like ping and ssh
working with some extra latency :)

The padconf interrupt can also be something other than a GPIO pin,
such as UART RX pin, and the padconf device is separate from the
GPIO device. So they're treated as two separate interrupt
controllers. They can be both active the same time although that
is undesired for the extra overhead.

Eventually we should be able to make the GPIO interrupts work
in a transparent way with the padconf interrupts.

Regards,

Tony

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm
  2018-12-27 16:58       ` Tony Lindgren
@ 2018-12-27 17:05         ` Adam Ford
  2018-12-28 20:04           ` Tony Lindgren
  0 siblings, 1 reply; 11+ messages in thread
From: Adam Ford @ 2018-12-27 17:05 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: devicetree, linux-omap, Benoît Cousson, arm-soc

On Thu, Dec 27, 2018 at 10:58 AM Tony Lindgren <tony@atomide.com> wrote:
>
> * Adam Ford <aford173@gmail.com> [181227 14:33]:
> > On Sun, Dec 23, 2018 at 10:30 AM Tony Lindgren <tony@atomide.com> wrote:
> > >
> > > * Adam Ford <aford173@gmail.com> [181222 20:54]:
> > > > I noticed for your patch, I noticed you listed both the IRQ, gpio 149
> > > > as well as uart1_rts.  Looking at the device tree, I see that
> > > > uart1_rts is configured as gpio 149.
> > >
> > > The uart1_rts is just the pad name used in the TRM, so it should
> > > probably say uart1_rts.gpio_149 meaning pad uart1_rts is muxed to
> > > gpio_149.
> > >
> > > Would that clear the issue for you?
> >
> > That part I understand.  I poorly phrased my question.  What was
> > mostly confusing to me is why both irq and wakeup interrupts are
> > needed since it seems like
> >
> > <&gpio5 21 IRQ_TYPE_EDGE_RISING>,
> >
> > and
> > <&omap3_pmx_core 0x14e>;
> > point to the same pin.  Or did I mis-interpret the datasheet again?  :-)
>
> Ah OK. Yes the same pin can trigger interrupts at two different
> controllers. During runtime a proper GPIO is triggered, and then
> in deeper idle states only the padconf interrupt is triggered as
> the GPIO can be powered off. So the padconf interrupt is there
> to provide wake-up events if configured. This allows the device
> to enter off-mode during idle with things like ping and ssh
> working with some extra latency :)
>
> The padconf interrupt can also be something other than a GPIO pin,
> such as UART RX pin, and the padconf device is separate from the
> GPIO device. So they're treated as two separate interrupt
> controllers. They can be both active the same time although that
> is undesired for the extra overhead.
>
> Eventually we should be able to make the GPIO interrupts work
> in a transparent way with the padconf interrupts.

Thanks for the clarifcation.  Is this additional IRQ and wakeup stuff
something I should add to the Torpedo and SOM-LV boards?  I think
right now, I'm just triggering on the GPIO rising edge.

adam
>
> Regards,
>
> Tony

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm
  2018-12-27 17:05         ` Adam Ford
@ 2018-12-28 20:04           ` Tony Lindgren
  0 siblings, 0 replies; 11+ messages in thread
From: Tony Lindgren @ 2018-12-28 20:04 UTC (permalink / raw)
  To: Adam Ford; +Cc: devicetree, linux-omap, Benoît Cousson, arm-soc

* Adam Ford <aford173@gmail.com> [181227 17:05]:
> Thanks for the clarifcation.  Is this additional IRQ and wakeup stuff
> something I should add to the Torpedo and SOM-LV boards?  I think
> right now, I'm just triggering on the GPIO rising edge.

Yes as those boards work with off-mode during idle. Unless
you configure the wlcore wakeirq, pinging a device will not
wake up the SoC. And ssh latency will be bad.

Regards,

Tony

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2018-12-28 20:04 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-13 23:04 [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm Tony Lindgren
2018-12-13 23:04 ` [PATCH 2/3] ARM: dts: Configure wlcore wakeirq for pandaboard Tony Lindgren
2018-12-13 23:04 ` [PATCH 3/3] ARM: dts: omap4-droid4: Configure wlcore wakeirq Tony Lindgren
2018-12-13 23:22   ` Sebastian Reichel
2018-12-13 23:26     ` Tony Lindgren
2018-12-22 20:53 ` [PATCH 1/3] ARM: dts: Add wlcore wakeirq for omap3-evm Adam Ford
2018-12-23 16:30   ` Tony Lindgren
2018-12-27 14:33     ` Adam Ford
2018-12-27 16:58       ` Tony Lindgren
2018-12-27 17:05         ` Adam Ford
2018-12-28 20:04           ` Tony Lindgren

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).