| From 3156bc0250eb2b27fd1ddfe2b4f404067d3c40db Mon Sep 17 00:00:00 2001 |
| From: Shinobu Uehara <shinobu.uehara.xc@renesas.com> |
| Date: Thu, 27 Jun 2013 19:38:02 +0900 |
| Subject: sh-pfc: r8a7790: Add VIN pin groups and functions |
| |
| Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@renesas.com> |
| Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@renesas.com> |
| Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| (cherry picked from commit e120cacfaac24d4de31b181371daaef6a5773ee3) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 106 +++++++++++++++++++++++++++++++++++ |
| 1 file changed, 106 insertions(+) |
| |
| diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| index f789dbd7..763c031e 100644 |
| --- a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| @@ -2836,6 +2836,84 @@ static const unsigned int usb2_pins[] = { |
| static const unsigned int usb2_mux[] = { |
| USB2_PWEN_MARK, USB2_OVC_MARK, |
| }; |
| +/* - VIN0 ------------------------------------------------------------------- */ |
| +static const unsigned int vin0_data_g_pins[] = { |
| + RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10), |
| + RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 0), RCAR_GP_PIN(0, 1), |
| + RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 3), |
| +}; |
| +static const unsigned int vin0_data_g_mux[] = { |
| + VI0_G0_MARK, VI0_G1_MARK, VI0_G2_MARK, |
| + VI0_G3_MARK, VI0_G4_MARK, VI0_G5_MARK, |
| + VI0_G6_MARK, VI0_G7_MARK, |
| +}; |
| +static const unsigned int vin0_data_r_pins[] = { |
| + RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6), |
| + RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 25), |
| + RCAR_GP_PIN(0, 26), RCAR_GP_PIN(1, 11), |
| +}; |
| +static const unsigned int vin0_data_r_mux[] = { |
| + 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_data_b_pins[] = { |
| + RCAR_GP_PIN(2, 1), RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 3), |
| + RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 6), |
| + RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 8), |
| +}; |
| +static const unsigned int vin0_data_b_mux[] = { |
| + 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, |
| +}; |
| +static const unsigned int vin0_hsync_signal_pins[] = { |
| + RCAR_GP_PIN(0, 12), |
| +}; |
| +static const unsigned int vin0_hsync_signal_mux[] = { |
| + VI0_HSYNC_N_MARK, |
| +}; |
| +static const unsigned int vin0_vsync_signal_pins[] = { |
| + RCAR_GP_PIN(0, 13), |
| +}; |
| +static const unsigned int vin0_vsync_signal_mux[] = { |
| + VI0_VSYNC_N_MARK, |
| +}; |
| +static const unsigned int vin0_field_signal_pins[] = { |
| + RCAR_GP_PIN(0, 15), |
| +}; |
| +static const unsigned int vin0_field_signal_mux[] = { |
| + VI0_FIELD_MARK, |
| +}; |
| +static const unsigned int vin0_data_enable_pins[] = { |
| + RCAR_GP_PIN(0, 14), |
| +}; |
| +static const unsigned int vin0_data_enable_mux[] = { |
| + VI0_CLKENB_MARK, |
| +}; |
| +static const unsigned int vin0_clk_pins[] = { |
| + RCAR_GP_PIN(2, 0), |
| +}; |
| +static const unsigned int vin0_clk_mux[] = { |
| + VI0_CLK_MARK, |
| +}; |
| +/* - VIN1 ------------------------------------------------------------------- */ |
| +static const unsigned int vin1_data_pins[] = { |
| + RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), |
| + RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 15), |
| + RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 17), |
| +}; |
| +static const unsigned int vin1_data_mux[] = { |
| + VI1_DATA0_VI1_B0_MARK, VI1_DATA1_VI1_B1_MARK, VI1_DATA2_VI1_B2_MARK, |
| + VI1_DATA3_VI1_B3_MARK, VI1_DATA4_VI1_B4_MARK, VI1_DATA5_VI1_B5_MARK, |
| + VI1_DATA6_VI1_B6_MARK, VI1_DATA7_VI1_B7_MARK, |
| +}; |
| +static const unsigned int vin1_clk_pins[] = { |
| + RCAR_GP_PIN(2, 9), |
| +}; |
| +static const unsigned int vin1_clk_mux[] = { |
| + VI1_CLK_MARK, |
| +}; |
| |
| static const struct sh_pfc_pin_group pinmux_groups[] = { |
| SH_PFC_PIN_GROUP(eth_link), |
| @@ -2991,6 +3069,16 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { |
| SH_PFC_PIN_GROUP(usb0), |
| SH_PFC_PIN_GROUP(usb1), |
| SH_PFC_PIN_GROUP(usb2), |
| + SH_PFC_PIN_GROUP(vin0_data_g), |
| + SH_PFC_PIN_GROUP(vin0_data_r), |
| + SH_PFC_PIN_GROUP(vin0_data_b), |
| + SH_PFC_PIN_GROUP(vin0_hsync_signal), |
| + SH_PFC_PIN_GROUP(vin0_vsync_signal), |
| + SH_PFC_PIN_GROUP(vin0_field_signal), |
| + SH_PFC_PIN_GROUP(vin0_data_enable), |
| + SH_PFC_PIN_GROUP(vin0_clk), |
| + SH_PFC_PIN_GROUP(vin1_data), |
| + SH_PFC_PIN_GROUP(vin1_clk), |
| }; |
| |
| static const char * const eth_groups[] = { |
| @@ -3227,6 +3315,22 @@ static const char * const usb2_groups[] = { |
| "usb2", |
| }; |
| |
| +static const char * const vin0_groups[] = { |
| + "vin0_data_g", |
| + "vin0_data_r", |
| + "vin0_data_b", |
| + "vin0_hsync_signal", |
| + "vin0_vsync_signal", |
| + "vin0_field_signal", |
| + "vin0_data_enable", |
| + "vin0_clk", |
| +}; |
| + |
| +static const char * const vin1_groups[] = { |
| + "vin1_data", |
| + "vin1_clk", |
| +}; |
| + |
| static const struct sh_pfc_function pinmux_functions[] = { |
| SH_PFC_FUNCTION(eth), |
| SH_PFC_FUNCTION(hscif0), |
| @@ -3255,6 +3359,8 @@ static const struct sh_pfc_function pinmux_functions[] = { |
| SH_PFC_FUNCTION(usb0), |
| SH_PFC_FUNCTION(usb1), |
| SH_PFC_FUNCTION(usb2), |
| + SH_PFC_FUNCTION(vin0), |
| + SH_PFC_FUNCTION(vin1), |
| }; |
| |
| static struct pinmux_cfg_reg pinmux_config_regs[] = { |
| -- |
| 1.8.4.3.gca3854a |
| |