[v4,0/5] gpio: add suspend/resume support for i.mx8x SoCs

Message ID 20221027130859.1444412-1-shenwei.wang@nxp.com
Headers
Series gpio: add suspend/resume support for i.mx8x SoCs |

Message

Shenwei Wang Oct. 27, 2022, 1:08 p.m. UTC
  On i.MX8QM/QXP/DXL SoCs, even a GPIO is selected as the wakeup source,
the GPIO block will be powered off when system enters into suspend
state. This can greatly reduce the power consumption of suspend state
because the whole partition can be shutdown. This is called PAD wakeup
feature on i.MX8x platform.

This series of patches enable this wakeup feature on i.MX8QM/QXP/DXL
platforms.

Changes in v4:
 - fixed the format issues reported by Peng Fan.
 - change the return type of mxc_gpio_generic_config, and limit the
   suspend/resume behavior changes only on i.MX8QM/QXP/DXL platform.

Changes in v3:
 - According to the feedback from Linus Walleij, the wakeup feature is
   moved to pinctrl driver, and the array of gpio-pin mapping is moved
   to gpio device node and initialized via gpio-ranges property.

Shenwei Wang (5):
  arm64: dts: imx8dxl-ss-lsio: add gpio-ranges property
  arm64: dts: imx8qm-ss-lsio: add gpio-ranges property
  arm64: dts: imx8qxp-ss-lsio: add gpio-ranges property
  pinctrl: freescale: add pad wakeup config
  gpio: mxc: enable pad wakeup on i.MX8x platforms

 .../boot/dts/freescale/imx8dxl-ss-lsio.dtsi   | 41 +++++++++
 .../boot/dts/freescale/imx8qm-ss-lsio.dtsi    | 38 ++++++++
 .../boot/dts/freescale/imx8qxp-ss-lsio.dtsi   | 25 +++++
 drivers/gpio/gpio-mxc.c                       | 92 ++++++++++++++++++-
 drivers/pinctrl/freescale/pinctrl-scu.c       | 30 ++++++
 5 files changed, 225 insertions(+), 1 deletion(-)

--
2.34.1
  

Comments

Shenwei Wang Nov. 3, 2022, 10 p.m. UTC | #1
> -----Original Message-----
> Subject: [PATCH v4 0/5] gpio: add suspend/resume support for i.mx8x SoCs
> 
> On i.MX8QM/QXP/DXL SoCs, even a GPIO is selected as the wakeup source, the
> GPIO block will be powered off when system enters into suspend state. This can
> greatly reduce the power consumption of suspend state because the whole
> partition can be shutdown. This is called PAD wakeup feature on i.MX8x
> platform.
> 
> This series of patches enable this wakeup feature on i.MX8QM/QXP/DXL
> platforms.
> 
> Changes in v4:
>  - fixed the format issues reported by Peng Fan.
>  - change the return type of mxc_gpio_generic_config, and limit the
>    suspend/resume behavior changes only on i.MX8QM/QXP/DXL platform.
> 

A soft ping. 😊

Regards,
Shenwei

> Changes in v3:
>  - According to the feedback from Linus Walleij, the wakeup feature is
>    moved to pinctrl driver, and the array of gpio-pin mapping is moved
>    to gpio device node and initialized via gpio-ranges property.
> 
> Shenwei Wang (5):
>   arm64: dts: imx8dxl-ss-lsio: add gpio-ranges property
>   arm64: dts: imx8qm-ss-lsio: add gpio-ranges property
>   arm64: dts: imx8qxp-ss-lsio: add gpio-ranges property
>   pinctrl: freescale: add pad wakeup config
>   gpio: mxc: enable pad wakeup on i.MX8x platforms
> 
>  .../boot/dts/freescale/imx8dxl-ss-lsio.dtsi   | 41 +++++++++
>  .../boot/dts/freescale/imx8qm-ss-lsio.dtsi    | 38 ++++++++
>  .../boot/dts/freescale/imx8qxp-ss-lsio.dtsi   | 25 +++++
>  drivers/gpio/gpio-mxc.c                       | 92 ++++++++++++++++++-
>  drivers/pinctrl/freescale/pinctrl-scu.c       | 30 ++++++
>  5 files changed, 225 insertions(+), 1 deletion(-)
> 
> --
> 2.34.1
  
Bartosz Golaszewski Nov. 7, 2022, 10:29 a.m. UTC | #2
On Thu, Nov 3, 2022 at 11:01 PM Shenwei Wang <shenwei.wang@nxp.com> wrote:
>
>
>
> > -----Original Message-----
> > Subject: [PATCH v4 0/5] gpio: add suspend/resume support for i.mx8x SoCs
> >
> > On i.MX8QM/QXP/DXL SoCs, even a GPIO is selected as the wakeup source, the
> > GPIO block will be powered off when system enters into suspend state. This can
> > greatly reduce the power consumption of suspend state because the whole
> > partition can be shutdown. This is called PAD wakeup feature on i.MX8x
> > platform.
> >
> > This series of patches enable this wakeup feature on i.MX8QM/QXP/DXL
> > platforms.
> >
> > Changes in v4:
> >  - fixed the format issues reported by Peng Fan.
> >  - change the return type of mxc_gpio_generic_config, and limit the
> >    suspend/resume behavior changes only on i.MX8QM/QXP/DXL platform.
> >
>
> A soft ping. 😊
>
> Regards,
> Shenwei
>
> > Changes in v3:
> >  - According to the feedback from Linus Walleij, the wakeup feature is
> >    moved to pinctrl driver, and the array of gpio-pin mapping is moved
> >    to gpio device node and initialized via gpio-ranges property.
> >
> > Shenwei Wang (5):
> >   arm64: dts: imx8dxl-ss-lsio: add gpio-ranges property
> >   arm64: dts: imx8qm-ss-lsio: add gpio-ranges property
> >   arm64: dts: imx8qxp-ss-lsio: add gpio-ranges property
> >   pinctrl: freescale: add pad wakeup config
> >   gpio: mxc: enable pad wakeup on i.MX8x platforms
> >
> >  .../boot/dts/freescale/imx8dxl-ss-lsio.dtsi   | 41 +++++++++
> >  .../boot/dts/freescale/imx8qm-ss-lsio.dtsi    | 38 ++++++++
> >  .../boot/dts/freescale/imx8qxp-ss-lsio.dtsi   | 25 +++++
> >  drivers/gpio/gpio-mxc.c                       | 92 ++++++++++++++++++-
> >  drivers/pinctrl/freescale/pinctrl-scu.c       | 30 ++++++
> >  5 files changed, 225 insertions(+), 1 deletion(-)
> >
> > --
> > 2.34.1
>

GPIO part looks good to me.

Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  
Linus Walleij Nov. 8, 2022, 10:28 a.m. UTC | #3
On Thu, Oct 27, 2022 at 3:09 PM Shenwei Wang <shenwei.wang@nxp.com> wrote:

> On i.MX8QM/QXP/DXL SoCs, even a GPIO is selected as the wakeup source,
> the GPIO block will be powered off when system enters into suspend
> state. This can greatly reduce the power consumption of suspend state
> because the whole partition can be shutdown. This is called PAD wakeup
> feature on i.MX8x platform.
>
> This series of patches enable this wakeup feature on i.MX8QM/QXP/DXL
> platforms.

First: thanks a lot for fixing this the way I wanted it!

> Shenwei Wang (5):
>   arm64: dts: imx8dxl-ss-lsio: add gpio-ranges property
>   arm64: dts: imx8qm-ss-lsio: add gpio-ranges property
>   arm64: dts: imx8qxp-ss-lsio: add gpio-ranges property

Please push these into the SoC tree for i.MX.

>   pinctrl: freescale: add pad wakeup config
>   gpio: mxc: enable pad wakeup on i.MX8x platforms

I have applied these two to the pinctrl tree.

Yours,
Linus Walleij