| From e29c4f54f32569d1435a9e1801b8c318bcc37f6f Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Date: Thu, 18 Apr 2013 01:04:30 +0200 |
| Subject: sh-pfc: r8a7740: Add CEU pin groups and functions |
| |
| Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| (cherry picked from commit 0ec939bd75d4a7905f4dbb79d2eb239ce6e2cbaf) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/pinctrl/sh-pfc/pfc-r8a7740.c | 124 +++++++++++++++++++++++++++++++++++ |
| 1 file changed, 124 insertions(+) |
| |
| diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7740.c b/drivers/pinctrl/sh-pfc/pfc-r8a7740.c |
| index 1b98990c..71d7c1ff 100644 |
| --- a/drivers/pinctrl/sh-pfc/pfc-r8a7740.c |
| +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7740.c |
| @@ -1795,6 +1795,98 @@ static const unsigned int bsc_rdwr_pins[] = { |
| static const unsigned int bsc_rdwr_mux[] = { |
| RDWR_MARK, |
| }; |
| +/* - CEU0 ------------------------------------------------------------------- */ |
| +static const unsigned int ceu0_data_0_7_pins[] = { |
| + /* D[0:7] */ |
| + 34, 33, 32, 31, 30, 29, 28, 27, |
| +}; |
| +static const unsigned int ceu0_data_0_7_mux[] = { |
| + VIO0_D0_MARK, VIO0_D1_MARK, VIO0_D2_MARK, VIO0_D3_MARK, |
| + VIO0_D4_MARK, VIO0_D5_MARK, VIO0_D6_MARK, VIO0_D7_MARK, |
| +}; |
| +static const unsigned int ceu0_data_8_15_0_pins[] = { |
| + /* D[8:15] */ |
| + 182, 181, 180, 179, 178, 26, 25, 24, |
| +}; |
| +static const unsigned int ceu0_data_8_15_0_mux[] = { |
| + VIO0_D8_MARK, VIO0_D9_MARK, VIO0_D10_MARK, VIO0_D11_MARK, |
| + VIO0_D12_MARK, VIO0_D13_PORT26_MARK, VIO0_D14_PORT25_MARK, |
| + VIO0_D15_PORT24_MARK, |
| +}; |
| +static const unsigned int ceu0_data_8_15_1_pins[] = { |
| + /* D[8:15] */ |
| + 182, 181, 180, 179, 178, 22, 95, 96, |
| +}; |
| +static const unsigned int ceu0_data_8_15_1_mux[] = { |
| + VIO0_D8_MARK, VIO0_D9_MARK, VIO0_D10_MARK, VIO0_D11_MARK, |
| + VIO0_D12_MARK, VIO0_D13_PORT22_MARK, VIO0_D14_PORT95_MARK, |
| + VIO0_D15_PORT96_MARK, |
| +}; |
| +static const unsigned int ceu0_clk_0_pins[] = { |
| + /* CKO */ |
| + 36, |
| +}; |
| +static const unsigned int ceu0_clk_0_mux[] = { |
| + VIO_CKO_MARK, |
| +}; |
| +static const unsigned int ceu0_clk_1_pins[] = { |
| + /* CKO */ |
| + 14, |
| +}; |
| +static const unsigned int ceu0_clk_1_mux[] = { |
| + VIO_CKO1_MARK, |
| +}; |
| +static const unsigned int ceu0_clk_2_pins[] = { |
| + /* CKO */ |
| + 15, |
| +}; |
| +static const unsigned int ceu0_clk_2_mux[] = { |
| + VIO_CKO2_MARK, |
| +}; |
| +static const unsigned int ceu0_sync_pins[] = { |
| + /* CLK, VD, HD */ |
| + 35, 39, 37, |
| +}; |
| +static const unsigned int ceu0_sync_mux[] = { |
| + VIO0_CLK_MARK, VIO0_VD_MARK, VIO0_HD_MARK, |
| +}; |
| +static const unsigned int ceu0_field_pins[] = { |
| + /* FIELD */ |
| + 38, |
| +}; |
| +static const unsigned int ceu0_field_mux[] = { |
| + VIO0_FIELD_MARK, |
| +}; |
| +/* - CEU1 ------------------------------------------------------------------- */ |
| +static const unsigned int ceu1_data_pins[] = { |
| + /* D[0:7] */ |
| + 182, 181, 180, 179, 178, 26, 25, 24, |
| +}; |
| +static const unsigned int ceu1_data_mux[] = { |
| + VIO1_D0_MARK, VIO1_D1_MARK, VIO1_D2_MARK, VIO1_D3_MARK, |
| + VIO1_D4_MARK, VIO1_D5_MARK, VIO1_D6_MARK, VIO1_D7_MARK, |
| +}; |
| +static const unsigned int ceu1_clk_pins[] = { |
| + /* CKO */ |
| + 23, |
| +}; |
| +static const unsigned int ceu1_clk_mux[] = { |
| + VIO_CKO_1_MARK, |
| +}; |
| +static const unsigned int ceu1_sync_pins[] = { |
| + /* CLK, VD, HD */ |
| + 197, 198, 160, |
| +}; |
| +static const unsigned int ceu1_sync_mux[] = { |
| + VIO1_CLK_MARK, VIO1_VD_MARK, VIO1_HD_MARK, |
| +}; |
| +static const unsigned int ceu1_field_pins[] = { |
| + /* FIELD */ |
| + 21, |
| +}; |
| +static const unsigned int ceu1_field_mux[] = { |
| + VIO1_FIELD_MARK, |
| +}; |
| /* - GETHER ----------------------------------------------------------------- */ |
| static const unsigned int gether_rmii_pins[] = { |
| /* RXD[0:1], RX_ER, CRS_DV, TXD[0:1], TX_EN, REF_CLK, MDC, MDIO */ |
| @@ -2579,6 +2671,18 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { |
| SH_PFC_PIN_GROUP(bsc_rd_we32), |
| SH_PFC_PIN_GROUP(bsc_bs), |
| SH_PFC_PIN_GROUP(bsc_rdwr), |
| + SH_PFC_PIN_GROUP(ceu0_data_0_7), |
| + SH_PFC_PIN_GROUP(ceu0_data_8_15_0), |
| + SH_PFC_PIN_GROUP(ceu0_data_8_15_1), |
| + SH_PFC_PIN_GROUP(ceu0_clk_0), |
| + SH_PFC_PIN_GROUP(ceu0_clk_1), |
| + SH_PFC_PIN_GROUP(ceu0_clk_2), |
| + SH_PFC_PIN_GROUP(ceu0_sync), |
| + SH_PFC_PIN_GROUP(ceu0_field), |
| + SH_PFC_PIN_GROUP(ceu1_data), |
| + SH_PFC_PIN_GROUP(ceu1_clk), |
| + SH_PFC_PIN_GROUP(ceu1_sync), |
| + SH_PFC_PIN_GROUP(ceu1_field), |
| SH_PFC_PIN_GROUP(gether_rmii), |
| SH_PFC_PIN_GROUP(gether_mii), |
| SH_PFC_PIN_GROUP(gether_gmii), |
| @@ -2738,6 +2842,24 @@ static const char * const bsc_groups[] = { |
| "bsc_rdwr", |
| }; |
| |
| +static const char * const ceu0_groups[] = { |
| + "ceu0_data_0_7", |
| + "ceu0_data_8_15_0", |
| + "ceu0_data_8_15_1", |
| + "ceu0_clk_0", |
| + "ceu0_clk_1", |
| + "ceu0_clk_2", |
| + "ceu0_sync", |
| + "ceu0_field", |
| +}; |
| + |
| +static const char * const ceu1_groups[] = { |
| + "ceu1_data", |
| + "ceu1_clk", |
| + "ceu1_sync", |
| + "ceu1_field", |
| +}; |
| + |
| static const char * const gether_groups[] = { |
| "gether_rmii", |
| "gether_mii", |
| @@ -2930,6 +3052,8 @@ static const char * const sdhi2_groups[] = { |
| |
| static const struct sh_pfc_function pinmux_functions[] = { |
| SH_PFC_FUNCTION(bsc), |
| + SH_PFC_FUNCTION(ceu0), |
| + SH_PFC_FUNCTION(ceu1), |
| SH_PFC_FUNCTION(gether), |
| SH_PFC_FUNCTION(intc), |
| SH_PFC_FUNCTION(lcd0), |
| -- |
| 1.8.4.3.gca3854a |
| |