Re: [PATCH 3/4] pinctrl: sh-pfc: r8a77470: Add VIN pin groups

2018-10-10 Thread Geert Uytterhoeven
On Mon, Oct 8, 2018 at 11:30 AM Fabrizio Castro
 wrote:
> Add VIN[01] pin groups and functions to the RZ/G1C (a.k.a.
> R8A77470) pinctrl driver.
>
> Signed-off-by: Fabrizio Castro 
> Reviewed-by: Biju Das 

Reviewed-by: Geert Uytterhoeven 
i.e. will queue in sh-pfc-for-v4.21.

Gr{oetje,eeting}s,

Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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


Re: [PATCH 3/4] pinctrl: sh-pfc: r8a77470: Add VIN pin groups

2018-10-09 Thread Simon Horman
On Mon, Oct 08, 2018 at 10:30:18AM +0100, Fabrizio Castro wrote:
> Add VIN[01] pin groups and functions to the RZ/G1C (a.k.a.
> R8A77470) pinctrl driver.
> 
> Signed-off-by: Fabrizio Castro 
> Reviewed-by: Biju Das 

Reviewed-by: Simon Horman 



[PATCH 3/4] pinctrl: sh-pfc: r8a77470: Add VIN pin groups

2018-10-08 Thread Fabrizio Castro
Add VIN[01] pin groups and functions to the RZ/G1C (a.k.a.
R8A77470) pinctrl driver.

Signed-off-by: Fabrizio Castro 
Reviewed-by: Biju Das 
---
 drivers/pinctrl/sh-pfc/pfc-r8a77470.c | 184 ++
 1 file changed, 184 insertions(+)

diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a77470.c 
b/drivers/pinctrl/sh-pfc/pfc-r8a77470.c
index 64f542c..726e3da 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a77470.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a77470.c
@@ -2003,6 +2003,146 @@ static const unsigned int usb1_mux[] = {
USB1_PWEN_MARK,
USB1_OVC_MARK,
 };
+/* - VIN0 --- 
*/
+static const union vin_data vin0_data_pins = {
+   .data24 = {
+   /* B */
+   RCAR_GP_PIN(5, 20), RCAR_GP_PIN(5, 21),
+   RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 23),
+   RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 25),
+   RCAR_GP_PIN(5, 26), RCAR_GP_PIN(5, 27),
+   /* G */
+   RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
+   RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
+   RCAR_GP_PIN(4, 6), RCAR_GP_PIN(5, 8),
+   RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
+   /* R */
+   RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 12),
+   RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14),
+   RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16),
+   RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19),
+   },
+};
+static const union vin_data vin0_data_mux = {
+   .data24 = {
+   /* B */
+   VI0_DATA0_VI0_B0_MARK, VI0_DATA1_VI0_B1_MARK,
+   VI0_DATA2_VI0_B2_MARK, VI0_DATA3_VI0_B3_MARK,
+   VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK,
+   VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK,
+   /* G */
+   VI0_G0_MARK, VI0_G1_MARK,
+   VI0_G2_MARK, VI0_G3_MARK,
+   VI0_G4_MARK, VI0_G5_MARK,
+   VI0_G6_MARK, VI0_G7_MARK,
+   /* R */
+   VI0_R0_MARK, VI0_R1_MARK,
+   VI0_R2_MARK, VI0_R3_MARK,
+   VI0_R4_MARK, VI0_R5_MARK,
+   VI0_R6_MARK, VI0_R7_MARK,
+   },
+};
+static const unsigned int vin0_data18_pins[] = {
+   /* B */
+   RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 23),
+   RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 25),
+   RCAR_GP_PIN(5, 26), RCAR_GP_PIN(5, 27),
+   /* G */
+   RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
+   RCAR_GP_PIN(4, 6), RCAR_GP_PIN(5, 8),
+   RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
+   /* R */
+   RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14),
+   RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16),
+   RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19),
+};
+static const unsigned int vin0_data18_mux[] = {
+   /* B */
+   VI0_DATA2_VI0_B2_MARK, VI0_DATA3_VI0_B3_MARK,
+   VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK,
+   VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK,
+   /* G */
+   VI0_G2_MARK, VI0_G3_MARK,
+   VI0_G4_MARK, VI0_G5_MARK,
+   VI0_G6_MARK, VI0_G7_MARK,
+   /* R */
+   VI0_R2_MARK, VI0_R3_MARK,
+   VI0_R4_MARK, VI0_R5_MARK,
+   VI0_R6_MARK, VI0_R7_MARK,
+};
+static const unsigned int vin0_sync_pins[] = {
+   RCAR_GP_PIN(5, 30), /* HSYNC */
+   RCAR_GP_PIN(5, 31), /* VSYNC */
+};
+static const unsigned int vin0_sync_mux[] = {
+   VI0_HSYNC_N_MARK,
+   VI0_VSYNC_N_MARK,
+};
+static const unsigned int vin0_field_pins[] = {
+   RCAR_GP_PIN(5, 29),
+};
+static const unsigned int vin0_field_mux[] = {
+   VI0_FIELD_MARK,
+};
+static const unsigned int vin0_clkenb_pins[] = {
+   RCAR_GP_PIN(5, 28),
+};
+static const unsigned int vin0_clkenb_mux[] = {
+   VI0_CLKENB_MARK,
+};
+static const unsigned int vin0_clk_pins[] = {
+   RCAR_GP_PIN(5, 18),
+};
+static const unsigned int vin0_clk_mux[] = {
+   VI0_CLK_MARK,
+};
+/* - VIN1 --- 
*/
+static const union vin_data vin1_data_pins = {
+   .data12 = {
+   RCAR_GP_PIN(3,  1), RCAR_GP_PIN(3, 2),
+   RCAR_GP_PIN(3,  3), RCAR_GP_PIN(3, 4),
+   RCAR_GP_PIN(3,  5), RCAR_GP_PIN(3, 6),
+   RCAR_GP_PIN(3,  7), RCAR_GP_PIN(3, 8),
+   RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
+   RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
+   },
+};
+static const union vin_data vin1_data_mux = {
+   .data12 = {
+   VI1_DATA0_MARK, VI1_DATA1_MARK,
+   VI1_DATA2_MARK, VI1_DATA3_MARK,
+   VI1_DATA4_MARK, VI1_DATA5_MARK,
+   VI1_DATA6_MARK, VI1_DATA7_MARK,
+   VI1_DATA8_MARK, VI1_DATA9_MARK,
+   VI1_DATA10_MARK, VI1_DATA11_MARK,
+   },
+};
+static const unsigned int vin1_sync_pins[] = {
+   RCAR_GP_PIN(3, 11), /* HSYNC */
+   RCAR_GP_PIN(3, 12), /* VSYNC */
+};
+static const unsigned int vin1_sync_mux[] = {
+   VI1_HSYNC_N_MAR