| From 7a5559da1718ed980540673f92f714bbbdc6bd9d Mon Sep 17 00:00:00 2001 |
| From: Ulrich Hecht <ulrich.hecht@gmail.com> |
| Date: Fri, 30 Aug 2013 14:37:41 +0200 |
| Subject: sh-pfc: r8a7790: Add I2C pin groups and functions |
| |
| Adds pinmux for i2c bus 1 and 2. (Pins for 0 and 3 are not multiplexed.) |
| |
| Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com> |
| Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| (cherry picked from commit 70702bfc13c4f96f2f05d4ce2eb110cd1735fef5) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 82 ++++++++++++++++++++++++++++++++++++ |
| 1 file changed, 82 insertions(+) |
| |
| diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| index 64fcc00693b5..5c2657bcc3a4 100644 |
| --- a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| @@ -1990,6 +1990,64 @@ static const unsigned int hscif1_ctrl_b_pins[] = { |
| static const unsigned int hscif1_ctrl_b_mux[] = { |
| HRTS1_N_B_MARK, HCTS1_N_B_MARK, |
| }; |
| +/* - I2C1 ------------------------------------------------------------------- */ |
| +static const unsigned int i2c1_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17), |
| +}; |
| +static const unsigned int i2c1_mux[] = { |
| + I2C1_SCL_MARK, I2C1_SDA_MARK, |
| +}; |
| +static const unsigned int i2c1_b_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7), |
| +}; |
| +static const unsigned int i2c1_b_mux[] = { |
| + I2C1_SCL_B_MARK, I2C1_SDA_B_MARK, |
| +}; |
| +static const unsigned int i2c1_c_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 27), |
| +}; |
| +static const unsigned int i2c1_c_mux[] = { |
| + I2C1_SCL_C_MARK, I2C1_SDA_C_MARK, |
| +}; |
| +/* - I2C2 ------------------------------------------------------------------- */ |
| +static const unsigned int i2c2_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6), |
| +}; |
| +static const unsigned int i2c2_mux[] = { |
| + I2C2_SCL_MARK, I2C2_SDA_MARK, |
| +}; |
| +static const unsigned int i2c2_b_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1), |
| +}; |
| +static const unsigned int i2c2_b_mux[] = { |
| + I2C2_SCL_B_MARK, I2C2_SDA_B_MARK, |
| +}; |
| +static const unsigned int i2c2_c_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 7), |
| +}; |
| +static const unsigned int i2c2_c_mux[] = { |
| + I2C2_SCL_C_MARK, I2C2_SDA_C_MARK, |
| +}; |
| +static const unsigned int i2c2_d_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), |
| +}; |
| +static const unsigned int i2c2_d_mux[] = { |
| + I2C2_SCL_D_MARK, I2C2_SDA_D_MARK, |
| +}; |
| +static const unsigned int i2c2_e_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 19), |
| +}; |
| +static const unsigned int i2c2_e_mux[] = { |
| + I2C2_SCL_E_MARK, I2C2_SDA_E_MARK, |
| +}; |
| /* - INTC ------------------------------------------------------------------- */ |
| static const unsigned int intc_irq0_pins[] = { |
| /* IRQ */ |
| @@ -3047,6 +3105,14 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { |
| SH_PFC_PIN_GROUP(hscif1_data_b), |
| SH_PFC_PIN_GROUP(hscif1_clk_b), |
| SH_PFC_PIN_GROUP(hscif1_ctrl_b), |
| + SH_PFC_PIN_GROUP(i2c1), |
| + SH_PFC_PIN_GROUP(i2c1_b), |
| + SH_PFC_PIN_GROUP(i2c1_c), |
| + SH_PFC_PIN_GROUP(i2c2), |
| + SH_PFC_PIN_GROUP(i2c2_b), |
| + SH_PFC_PIN_GROUP(i2c2_c), |
| + SH_PFC_PIN_GROUP(i2c2_d), |
| + SH_PFC_PIN_GROUP(i2c2_e), |
| SH_PFC_PIN_GROUP(intc_irq0), |
| SH_PFC_PIN_GROUP(intc_irq1), |
| SH_PFC_PIN_GROUP(intc_irq2), |
| @@ -3243,6 +3309,20 @@ static const char * const hscif1_groups[] = { |
| "hscif1_ctrl_b", |
| }; |
| |
| +static const char * const i2c1_groups[] = { |
| + "i2c1", |
| + "i2c1_b", |
| + "i2c1_c", |
| +}; |
| + |
| +static const char * const i2c2_groups[] = { |
| + "i2c2", |
| + "i2c2_b", |
| + "i2c2_c", |
| + "i2c2_d", |
| + "i2c2_e", |
| +}; |
| + |
| static const char * const intc_groups[] = { |
| "intc_irq0", |
| "intc_irq1", |
| @@ -3469,6 +3549,8 @@ static const struct sh_pfc_function pinmux_functions[] = { |
| SH_PFC_FUNCTION(eth), |
| SH_PFC_FUNCTION(hscif0), |
| SH_PFC_FUNCTION(hscif1), |
| + SH_PFC_FUNCTION(i2c1), |
| + SH_PFC_FUNCTION(i2c2), |
| SH_PFC_FUNCTION(intc), |
| SH_PFC_FUNCTION(mmc0), |
| SH_PFC_FUNCTION(mmc1), |
| -- |
| 1.8.5.rc3 |
| |