| From f058260ddce247b77c28b5b5f16c5db8bf75a9e5 Mon Sep 17 00:00:00 2001 |
| From: Wolfram Sang <wsa@sang-engineering.com> |
| Date: Tue, 25 Mar 2014 19:56:26 +0100 |
| Subject: pinctrl: pfc: r8a7790: add mux data for IIC(B) cores |
| |
| Signed-off-by: Wolfram Sang <wsa@sang-engineering.com> |
| Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Signed-off-by: Linus Walleij <linus.walleij@linaro.org> |
| (cherry picked from commit a16b81dcbfc5889c37dac5f8e836136e4740fc18) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 118 ++++++++++++++++++++++++++++++++++- |
| 1 file changed, 116 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| index 88b91cd47a87..9a179c94b4dc 100644 |
| --- a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c |
| @@ -782,8 +782,8 @@ enum { |
| USB1_PWEN_MARK, AUDIO_CLKOUT_D_MARK, USB1_OVC_MARK, |
| TCLK1_B_MARK, |
| |
| - I2C0_SCL_MARK, I2C0_SDA_MARK, |
| - I2C3_SCL_MARK, I2C3_SDA_MARK, |
| + IIC0_SCL_MARK, IIC0_SDA_MARK, I2C0_SCL_MARK, I2C0_SDA_MARK, |
| + IIC3_SCL_MARK, IIC3_SDA_MARK, I2C3_SCL_MARK, I2C3_SDA_MARK, |
| PINMUX_MARK_END, |
| }; |
| |
| @@ -1723,9 +1723,13 @@ static const u16 pinmux_data[] = { |
| PINMUX_IPSR_DATA(IP16_7, USB1_OVC), |
| PINMUX_IPSR_MODSEL_DATA(IP16_7, TCLK1_B, SEL_TMU1_1), |
| |
| + PINMUX_DATA(IIC0_SCL_MARK, FN_SEL_IIC0_0), |
| + PINMUX_DATA(IIC0_SDA_MARK, FN_SEL_IIC0_0), |
| PINMUX_DATA(I2C0_SCL_MARK, FN_SEL_IIC0_1), |
| PINMUX_DATA(I2C0_SDA_MARK, FN_SEL_IIC0_1), |
| |
| + PINMUX_DATA(IIC3_SCL_MARK, FN_SEL_IICDVFS_0), |
| + PINMUX_DATA(IIC3_SDA_MARK, FN_SEL_IICDVFS_0), |
| PINMUX_DATA(I2C3_SCL_MARK, FN_SEL_IICDVFS_1), |
| PINMUX_DATA(I2C3_SDA_MARK, FN_SEL_IICDVFS_1), |
| }; |
| @@ -2134,6 +2138,80 @@ static const unsigned int i2c3_pins[] = { |
| static const unsigned int i2c3_mux[] = { |
| I2C3_SCL_MARK, I2C3_SDA_MARK, |
| }; |
| +/* - IIC0 (I2C4) ------------------------------------------------------------ */ |
| +static const unsigned int iic0_pins[] = { |
| + /* SCL, SDA */ |
| + PIN_A_NUMBER('G', 15), PIN_A_NUMBER('F', 15), |
| +}; |
| +static const unsigned int iic0_mux[] = { |
| + IIC0_SCL_MARK, IIC0_SDA_MARK, |
| +}; |
| +/* - IIC1 (I2C5) ------------------------------------------------------------ */ |
| +static const unsigned int iic1_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17), |
| +}; |
| +static const unsigned int iic1_mux[] = { |
| + IIC1_SCL_MARK, IIC1_SDA_MARK, |
| +}; |
| +static const unsigned int iic1_b_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7), |
| +}; |
| +static const unsigned int iic1_b_mux[] = { |
| + IIC1_SCL_B_MARK, IIC1_SDA_B_MARK, |
| +}; |
| +static const unsigned int iic1_c_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 27), |
| +}; |
| +static const unsigned int iic1_c_mux[] = { |
| + IIC1_SCL_C_MARK, IIC1_SDA_C_MARK, |
| +}; |
| +/* - IIC2 (I2C6) ------------------------------------------------------------ */ |
| +static const unsigned int iic2_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6), |
| +}; |
| +static const unsigned int iic2_mux[] = { |
| + IIC2_SCL_MARK, IIC2_SDA_MARK, |
| +}; |
| +static const unsigned int iic2_b_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1), |
| +}; |
| +static const unsigned int iic2_b_mux[] = { |
| + IIC2_SCL_B_MARK, IIC2_SDA_B_MARK, |
| +}; |
| +static const unsigned int iic2_c_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 7), |
| +}; |
| +static const unsigned int iic2_c_mux[] = { |
| + IIC2_SCL_C_MARK, IIC2_SDA_C_MARK, |
| +}; |
| +static const unsigned int iic2_d_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), |
| +}; |
| +static const unsigned int iic2_d_mux[] = { |
| + IIC2_SCL_D_MARK, IIC2_SDA_D_MARK, |
| +}; |
| +static const unsigned int iic2_e_pins[] = { |
| + /* SCL, SDA */ |
| + RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 19), |
| +}; |
| +static const unsigned int iic2_e_mux[] = { |
| + IIC2_SCL_E_MARK, IIC2_SDA_E_MARK, |
| +}; |
| +/* - IIC3 (I2C7) ------------------------------------------------------------ */ |
| +static const unsigned int iic3_pins[] = { |
| +/* SCL, SDA */ |
| + PIN_A_NUMBER('J', 15), PIN_A_NUMBER('H', 15), |
| +}; |
| +static const unsigned int iic3_mux[] = { |
| + IIC3_SCL_MARK, IIC3_SDA_MARK, |
| +}; |
| /* - INTC ------------------------------------------------------------------- */ |
| static const unsigned int intc_irq0_pins[] = { |
| /* IRQ */ |
| @@ -3781,6 +3859,16 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { |
| SH_PFC_PIN_GROUP(i2c2_d), |
| SH_PFC_PIN_GROUP(i2c2_e), |
| SH_PFC_PIN_GROUP(i2c3), |
| + SH_PFC_PIN_GROUP(iic0), |
| + SH_PFC_PIN_GROUP(iic1), |
| + SH_PFC_PIN_GROUP(iic1_b), |
| + SH_PFC_PIN_GROUP(iic1_c), |
| + SH_PFC_PIN_GROUP(iic2), |
| + SH_PFC_PIN_GROUP(iic2_b), |
| + SH_PFC_PIN_GROUP(iic2_c), |
| + SH_PFC_PIN_GROUP(iic2_d), |
| + SH_PFC_PIN_GROUP(iic2_e), |
| + SH_PFC_PIN_GROUP(iic3), |
| SH_PFC_PIN_GROUP(intc_irq0), |
| SH_PFC_PIN_GROUP(intc_irq1), |
| SH_PFC_PIN_GROUP(intc_irq2), |
| @@ -4081,6 +4169,28 @@ static const char * const i2c3_groups[] = { |
| "i2c3", |
| }; |
| |
| +static const char * const iic0_groups[] = { |
| + "iic0", |
| +}; |
| + |
| +static const char * const iic1_groups[] = { |
| + "iic1", |
| + "iic1_b", |
| + "iic1_c", |
| +}; |
| + |
| +static const char * const iic2_groups[] = { |
| + "iic2", |
| + "iic2_b", |
| + "iic2_c", |
| + "iic2_d", |
| + "iic2_e", |
| +}; |
| + |
| +static const char * const iic3_groups[] = { |
| + "iic3", |
| +}; |
| + |
| static const char * const intc_groups[] = { |
| "intc_irq0", |
| "intc_irq1", |
| @@ -4396,6 +4506,10 @@ static const struct sh_pfc_function pinmux_functions[] = { |
| SH_PFC_FUNCTION(i2c1), |
| SH_PFC_FUNCTION(i2c2), |
| SH_PFC_FUNCTION(i2c3), |
| + SH_PFC_FUNCTION(iic0), |
| + SH_PFC_FUNCTION(iic1), |
| + SH_PFC_FUNCTION(iic2), |
| + SH_PFC_FUNCTION(iic3), |
| SH_PFC_FUNCTION(intc), |
| SH_PFC_FUNCTION(mmc0), |
| SH_PFC_FUNCTION(mmc1), |
| -- |
| 2.1.2 |
| |