pinctrl: sh-pfc: r8a7795: Add support for R-Car H3 ES2.0
authorGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 3 Oct 2016 12:49:57 +0000 (14:49 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Thu, 30 Mar 2017 11:43:45 +0000 (13:43 +0200)
commitb205914c8f822ef2464b741c64e892823d685ad6
treed1dd7c1c1688274ca26dfe5ae184ae9af98b89c1
parent3091ae775fae17084013021d01513bc1ad274e6a
pinctrl: sh-pfc: r8a7795: Add support for R-Car H3 ES2.0

The Pin Function Controller module in the R-Car H3 ES2.0 differs from
ES1.x in many ways.

The goal is twofold:
  1. Support both the ES1.x and ES2.0 SoC revisions in a single binary
     for now,
  2. Make it clear which code supports ES1.x, so it can easily be
     identified and removed later, when production SoCs are deemed
     ubiquitous.

Hence this patch:
  1. Extracts the support for R-Car H3 ES1.x into a separate file, as
     the differences are quite large,
  2. Adds code for detecting the SoC revision at runtime using the new
     soc_device_match() API, and selecting pinctrl tables for the actual
     SoC revision,
  3. Replaces the core register and bitfield definitions by their
     counterparts for R-Car H3 ES2.0.

The addition of pins, groups, and functions for the various on-chip
devices is left to subsequent patches.

The R-Car H3 ES2.0 register and bitfield definitions were extracted from
a patch in the BSP by Takeshi Kihara.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Takeshi Kihara <takeshi.kihara.df@renesas.com>
drivers/pinctrl/sh-pfc/Makefile
drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c [new file with mode: 0644]
drivers/pinctrl/sh-pfc/pfc-r8a7795.c
drivers/pinctrl/sh-pfc/sh_pfc.h