linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert+renesas@glider.be>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Linus Walleij <linus.walleij@linaro.org>
Cc: "Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	linux-renesas-soc@vger.kernel.org, linux-gpio@vger.kernel.org,
	linux-pm@vger.kernel.org,
	"Geert Uytterhoeven" <geert+renesas@glider.be>
Subject: [PATCH 00/14] pinctrl: sh-pfc: Add suspend/resume support
Date: Wed,  4 Oct 2017 11:06:59 +0200	[thread overview]
Message-ID: <1507108033-8606-1-git-send-email-geert+renesas@glider.be> (raw)

	Hi all,

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

This series consists of 4 parts:
  - Patches 1-2 are cleanups,
  - Patches 3-9 introduce a generic way to describe bias (pull-up/down)
    registers, and converts the R-Car Gen3 and R-Car M1A bias support
    over,
  - Patches 10-13 introduce a generic way to describe various IOCTRL
    registers, and converts the R-Car Gen3 I/O voltage support over,
  - Patch 14 implements the actual suspend/resume code, using the
    generic bias and IOCTRL support introduced earlier.

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.

Due to the more compact description of bias registers, this series
actually decreases kernel size (by ca. 112 bytes for renesas_defconfig,
and ca. 60 bytes for shmobile_defconfig).

Thanks for your comments!

Geert Uytterhoeven (14):
  pinctrl: sh-pfc: Remove matching on plain sh-pfc platform device
  pinctrl: sh-pfc: Drop width parameter of sh_pfc_{read,write}_reg()
  pinctrl: sh-pfc: Add generic bias register description
  pinctrl: sh-pfc: Add sh_pfc_pin_to_bias_reg() helper
  pinctrl: sh-pfc: r8a7795-es1: Use generic bias register description
  pinctrl: sh-pfc: r8a7795: Use generic bias register description
  pinctrl: sh-pfc: r8a7796: Use generic bias register description
  pinctrl: sh-pfc: r8a7778: Use generic bias register description
  pinctrl: sh-pfc: Remove obsolete sh_pfc_pin_to_bias_info()
  pinctrl: sh-pfc: Add generic IOCTRL register description
  pinctrl: sh-pfc: r8a7795-es1: Use generic IOCTRL register description
  pinctrl: sh-pfc: r8a7795: Use generic IOCTRL register description
  pinctrl: sh-pfc: r8a7796: Use generic IOCTRL register description
  pinctrl: sh-pfc: Save/restore registers for PSCI system suspend

 drivers/pinctrl/sh-pfc/core.c            | 129 +++++++-
 drivers/pinctrl/sh-pfc/core.h            |  11 +-
 drivers/pinctrl/sh-pfc/pfc-r8a7778.c     | 403 +++++++++++++-----------
 drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c | 511 ++++++++++++++++---------------
 drivers/pinctrl/sh-pfc/pfc-r8a7795.c     | 511 ++++++++++++++++---------------
 drivers/pinctrl/sh-pfc/pfc-r8a7796.c     | 511 ++++++++++++++++---------------
 drivers/pinctrl/sh-pfc/pinctrl.c         |  12 +-
 drivers/pinctrl/sh-pfc/sh_pfc.h          |  24 +-
 8 files changed, 1170 insertions(+), 942 deletions(-)

-- 
2.7.4

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

             reply	other threads:[~2017-10-04  9:06 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-04  9:06 Geert Uytterhoeven [this message]
2017-10-04  9:07 ` [PATCH 01/14] pinctrl: sh-pfc: Remove matching on plain sh-pfc platform device Geert Uytterhoeven
2017-10-04  9:52   ` Laurent Pinchart
2017-10-04  9:07 ` [PATCH 02/14] pinctrl: sh-pfc: Drop width parameter of sh_pfc_{read,write}_reg() Geert Uytterhoeven
2017-10-04  9:55   ` Laurent Pinchart
2017-10-04  9:07 ` [PATCH 03/14] pinctrl: sh-pfc: Add generic bias register description Geert Uytterhoeven
2017-10-04 10:26   ` Laurent Pinchart
2017-10-04  9:07 ` [PATCH 04/14] pinctrl: sh-pfc: Add sh_pfc_pin_to_bias_reg() helper Geert Uytterhoeven
2017-10-04 10:12   ` Laurent Pinchart
2017-10-04  9:07 ` [PATCH 05/14] pinctrl: sh-pfc: r8a7795-es1: Use generic bias register description Geert Uytterhoeven
2017-10-04 10:40   ` Laurent Pinchart
2017-10-04 10:44     ` Laurent Pinchart
2017-10-04  9:07 ` [PATCH 06/14] pinctrl: sh-pfc: r8a7795: " Geert Uytterhoeven
2017-10-04  9:07 ` [PATCH 07/14] pinctrl: sh-pfc: r8a7796: " Geert Uytterhoeven
2017-10-04  9:07 ` [PATCH 08/14] pinctrl: sh-pfc: r8a7778: " Geert Uytterhoeven
2017-10-04  9:07 ` [PATCH 09/14] pinctrl: sh-pfc: Remove obsolete sh_pfc_pin_to_bias_info() Geert Uytterhoeven
2017-10-04 10:27   ` Laurent Pinchart
2017-10-04  9:07 ` [PATCH 10/14] pinctrl: sh-pfc: Add generic IOCTRL register description Geert Uytterhoeven
2017-10-04  9:07 ` [PATCH 11/14] pinctrl: sh-pfc: r8a7795-es1: Use " Geert Uytterhoeven
2017-10-04  9:07 ` [PATCH 12/14] pinctrl: sh-pfc: r8a7795: " Geert Uytterhoeven
2017-10-04  9:07 ` [PATCH 13/14] pinctrl: sh-pfc: r8a7796: " Geert Uytterhoeven
2017-10-04  9:07 ` [PATCH 14/14] pinctrl: sh-pfc: Save/restore registers for PSCI system suspend Geert Uytterhoeven
2017-10-04 19:19 ` [PATCH 00/14] pinctrl: sh-pfc: Add suspend/resume support Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1507108033-8606-1-git-send-email-geert+renesas@glider.be \
    --to=geert+renesas@glider.be \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=niklas.soderlund@ragnatech.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).