pinctrl: sh-pfc: Add generic bias register description
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 29 Sep 2017 12:16:14 +0000 (14:16 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 20 Oct 2017 09:37:00 +0000 (11:37 +0200)
Add a generic way to describe bias registers (for pull-up/down control),
like is already done for config and drive registers.

This makes the sh-pfc core code aware of these registers, which will
ease introducing suspend/resume support later.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/pinctrl/sh-pfc/sh_pfc.h

index 8688b405e0813ad7e14c9746877bbe96303c7542..1914f4b5fef569b34c33de01a5ca0264d89a8bb2 100644 (file)
@@ -148,6 +148,17 @@ struct pinmux_drive_reg {
        .reg = r, \
        .fields =
 
+struct pinmux_bias_reg {
+       u32 puen;               /* Pull-enable or pull-up control register */
+       u32 pud;                /* Pull-up/down control register (optional) */
+       const u16 pins[32];
+};
+
+#define PINMUX_BIAS_REG(name1, r1, name2, r2) \
+       .puen = r1,     \
+       .pud = r2,      \
+       .pins =
+
 struct pinmux_data_reg {
        u32 reg;
        u8 reg_width;
@@ -245,6 +256,7 @@ struct sh_pfc_soc_info {
 
        const struct pinmux_cfg_reg *cfg_regs;
        const struct pinmux_drive_reg *drive_regs;
+       const struct pinmux_bias_reg *bias_regs;
        const struct pinmux_data_reg *data_regs;
 
        const u16 *pinmux_data;