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