[PATCH 14/18] gpio: vf610: add support for WKPU unit
Rob Herring
robh at kernel.org
Thu Mar 17 13:00:54 PDT 2016
On Wed, Mar 09, 2016 at 06:16:55PM -0800, Stefan Agner wrote:
> WKPU unit support within the VF610 GPIO driver. The WKPU unit allows
> some GPIO to be the wakeup source from lowest power modes LPSTOPx.
> The relationship between the GPIO banks and the WKPU GPIO numbering
> can be derived from the device tree property fsl,gpio-wakeup.
>
> Signed-off-by: Stefan Agner <stefan at agner.ch>
> ---
> .../devicetree/bindings/gpio/gpio-vf610.txt | 6 +
> drivers/gpio/gpio-vf610.c | 151 +++++++++++++++++++++
> 2 files changed, 157 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-vf610.txt b/Documentation/devicetree/bindings/gpio/gpio-vf610.txt
> index 436cc99..985ddfd 100644
> --- a/Documentation/devicetree/bindings/gpio/gpio-vf610.txt
> +++ b/Documentation/devicetree/bindings/gpio/gpio-vf610.txt
> @@ -22,6 +22,12 @@ Required properties for GPIO node:
> 4 = active high level-sensitive.
> 8 = active low level-sensitive.
>
> +Option properties:
Optional
> +- fsl,gpio-wakeup : map GPIOs to WKPU unit, 3 argument cells per phandle
phandle to what?
> + cell 1: First GPIO (relative to the GPIO block)
> + cell 2: First GPIO of the WKPU unit
> + cell 3: Number of consecutive GPIO's
An interrupt-map could work here instead even though I'm guessing you
don't make the WKPU an interrupt parent. Your table would look something
like this:
<WKPU# <&gpio> GPIO#>
> +
> Note: Each GPIO port should have an alias correctly numbered in "aliases"
> node.
>
> diff --git a/drivers/gpio/gpio-vf610.c b/drivers/gpio/gpio-vf610.c
> index 1a022be..650a41a 100644
> --- a/drivers/gpio/gpio-vf610.c
> +++ b/drivers/gpio/gpio-vf610.c
The WKPU seems to purely be an interrupt controller. Perhaps you should
use stacked irq domain here. Then it would not be tied into the GPIO
controller at all.
Rob
More information about the linux-arm-kernel
mailing list