linux/drivers/pinctrl/sh-pfc
Geert Uytterhoeven 8843797df3 pinctrl: sh-pfc: Save/restore registers for PSCI system suspend
During PSCI system suspend, R-Car Gen3 SoCs are powered down, and their
pinctrl register state is lost.  Note that as the boot loader skips most
initialization after system resume, pinctrl register state differs from
the state encountered during normal system boot, too.

To fix this, save all GPIO and peripheral function select, module
select, drive strength control, bias, and other I/O control registers
during system suspend, and restore them during system resume.

Note that to avoid overhead on platforms not needing it, the
suspend/resume code has a build time dependency on sleep and PSCI
support, and a runtime dependency on PSCI.

Inspired by a patch in the BSP by Hien Dang.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2017-10-20 11:37:43 +02:00
..
core.c pinctrl: sh-pfc: Save/restore registers for PSCI system suspend 2017-10-20 11:37:43 +02:00
core.h pinctrl: sh-pfc: Remove obsolete sh_pfc_pin_to_bias_info() 2017-10-20 11:37:19 +02:00
gpio.c pinctrl: sh-pfc: Convert to devm_gpiochip_add_data() 2016-06-21 09:24:58 +02:00
Kconfig pinctrl: sh-pfc: Initial R8A77995 PFC support 2017-08-16 14:26:30 +02:00
Makefile pinctrl: sh-pfc: Initial R8A77995 PFC support 2017-08-16 14:26:30 +02:00
pfc-emev2.c pinctrl: sh-pfc: emev2: Correct comment for CFI data pins 2015-12-08 14:18:39 +01:00
pfc-r8a73a4.c pinctrl: sh-pfc: Improve core and user API separation 2016-06-21 09:24:55 +02:00
pfc-r8a7740.c pinctrl: sh-pfc: Improve core and user API separation 2016-06-21 09:24:55 +02:00
pfc-r8a7778.c pinctrl: sh-pfc: r8a7778: Use generic bias register description 2017-10-20 11:37:14 +02:00
pfc-r8a7779.c pinctrl: sh-pfc: Rename PINMUX_IPSR_DATA() to PINMUX_IPSR_GPSR() 2016-02-08 16:50:08 +01:00
pfc-r8a7790.c pinctrl: sh-pfc: Improve core and user API separation 2016-06-21 09:24:55 +02:00
pfc-r8a7791.c pinctrl: sh-pfc: r8a7791: Add missing mmc_data8_b pin group 2017-07-17 11:01:11 +02:00
pfc-r8a7792.c pinctrl: sh-pfc: r8a7792: Add SCIF1 and SCIF2 pin groups 2017-06-21 09:30:13 +02:00
pfc-r8a7794.c pinctrl: sh-pfc: r8a7745: Implement voltage switching for SDHI 2017-10-16 16:37:10 +02:00
pfc-r8a7795-es1.c pinctrl: sh-pfc: r8a7795-es1: Use generic IOCTRL register description 2017-10-20 11:37:30 +02:00
pfc-r8a7795.c pinctrl: sh-pfc: r8a7795: Use generic IOCTRL register description 2017-10-20 11:37:34 +02:00
pfc-r8a7796.c pinctrl: sh-pfc: r8a7796: Use generic IOCTRL register description 2017-10-20 11:37:38 +02:00
pfc-r8a77995.c pinctrl: sh-pfc: r8a77995: Remove USB0_IDIN and USB0_IDPU pins 2017-10-16 16:19:23 +02:00
pfc-sh73a0.c pinctrl: sh-pfc: sh73a0: Add MSIOF support 2015-12-08 14:18:41 +01:00
pfc-sh7203.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7264.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7269.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7720.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7722.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7723.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7724.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7734.c pinctrl: sh-pfc: Rename PINMUX_IPSR_DATA() to PINMUX_IPSR_GPSR() 2016-02-08 16:50:08 +01:00
pfc-sh7757.c pinctrl: sh-pfc: sh7757: Fix duplicate initializer in GPIO pinmux data 2016-06-14 09:41:41 +02:00
pfc-sh7785.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7786.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-shx3.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pinctrl.c pinctrl: sh-pfc: Drop width parameter of sh_pfc_{read,write}_reg() 2017-10-20 11:36:56 +02:00
sh_pfc.h pinctrl: sh-pfc: Save/restore registers for PSCI system suspend 2017-10-20 11:37:43 +02:00