diff options
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 118 |
1 files changed, 116 insertions, 2 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c index 51396210cfad..d79e0ba365a6 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c | |||
@@ -782,8 +782,8 @@ enum { | |||
782 | USB1_PWEN_MARK, AUDIO_CLKOUT_D_MARK, USB1_OVC_MARK, | 782 | USB1_PWEN_MARK, AUDIO_CLKOUT_D_MARK, USB1_OVC_MARK, |
783 | TCLK1_B_MARK, | 783 | TCLK1_B_MARK, |
784 | 784 | ||
785 | I2C0_SCL_MARK, I2C0_SDA_MARK, | 785 | IIC0_SCL_MARK, IIC0_SDA_MARK, I2C0_SCL_MARK, I2C0_SDA_MARK, |
786 | I2C3_SCL_MARK, I2C3_SDA_MARK, | 786 | IIC3_SCL_MARK, IIC3_SDA_MARK, I2C3_SCL_MARK, I2C3_SDA_MARK, |
787 | PINMUX_MARK_END, | 787 | PINMUX_MARK_END, |
788 | }; | 788 | }; |
789 | 789 | ||
@@ -1723,9 +1723,13 @@ static const u16 pinmux_data[] = { | |||
1723 | PINMUX_IPSR_DATA(IP16_7, USB1_OVC), | 1723 | PINMUX_IPSR_DATA(IP16_7, USB1_OVC), |
1724 | PINMUX_IPSR_MODSEL_DATA(IP16_7, TCLK1_B, SEL_TMU1_1), | 1724 | PINMUX_IPSR_MODSEL_DATA(IP16_7, TCLK1_B, SEL_TMU1_1), |
1725 | 1725 | ||
1726 | PINMUX_DATA(IIC0_SCL_MARK, FN_SEL_IIC0_0), | ||
1727 | PINMUX_DATA(IIC0_SDA_MARK, FN_SEL_IIC0_0), | ||
1726 | PINMUX_DATA(I2C0_SCL_MARK, FN_SEL_IIC0_1), | 1728 | PINMUX_DATA(I2C0_SCL_MARK, FN_SEL_IIC0_1), |
1727 | PINMUX_DATA(I2C0_SDA_MARK, FN_SEL_IIC0_1), | 1729 | PINMUX_DATA(I2C0_SDA_MARK, FN_SEL_IIC0_1), |
1728 | 1730 | ||
1731 | PINMUX_DATA(IIC3_SCL_MARK, FN_SEL_IICDVFS_0), | ||
1732 | PINMUX_DATA(IIC3_SDA_MARK, FN_SEL_IICDVFS_0), | ||
1729 | PINMUX_DATA(I2C3_SCL_MARK, FN_SEL_IICDVFS_1), | 1733 | PINMUX_DATA(I2C3_SCL_MARK, FN_SEL_IICDVFS_1), |
1730 | PINMUX_DATA(I2C3_SDA_MARK, FN_SEL_IICDVFS_1), | 1734 | PINMUX_DATA(I2C3_SDA_MARK, FN_SEL_IICDVFS_1), |
1731 | }; | 1735 | }; |
@@ -2134,6 +2138,80 @@ static const unsigned int i2c3_pins[] = { | |||
2134 | static const unsigned int i2c3_mux[] = { | 2138 | static const unsigned int i2c3_mux[] = { |
2135 | I2C3_SCL_MARK, I2C3_SDA_MARK, | 2139 | I2C3_SCL_MARK, I2C3_SDA_MARK, |
2136 | }; | 2140 | }; |
2141 | /* - IIC0 (I2C4) ------------------------------------------------------------ */ | ||
2142 | static const unsigned int iic0_pins[] = { | ||
2143 | /* SCL, SDA */ | ||
2144 | PIN_A_NUMBER('G', 15), PIN_A_NUMBER('F', 15), | ||
2145 | }; | ||
2146 | static const unsigned int iic0_mux[] = { | ||
2147 | IIC0_SCL_MARK, IIC0_SDA_MARK, | ||
2148 | }; | ||
2149 | /* - IIC1 (I2C5) ------------------------------------------------------------ */ | ||
2150 | static const unsigned int iic1_pins[] = { | ||
2151 | /* SCL, SDA */ | ||
2152 | RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17), | ||
2153 | }; | ||
2154 | static const unsigned int iic1_mux[] = { | ||
2155 | IIC1_SCL_MARK, IIC1_SDA_MARK, | ||
2156 | }; | ||
2157 | static const unsigned int iic1_b_pins[] = { | ||
2158 | /* SCL, SDA */ | ||
2159 | RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7), | ||
2160 | }; | ||
2161 | static const unsigned int iic1_b_mux[] = { | ||
2162 | IIC1_SCL_B_MARK, IIC1_SDA_B_MARK, | ||
2163 | }; | ||
2164 | static const unsigned int iic1_c_pins[] = { | ||
2165 | /* SCL, SDA */ | ||
2166 | RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 27), | ||
2167 | }; | ||
2168 | static const unsigned int iic1_c_mux[] = { | ||
2169 | IIC1_SCL_C_MARK, IIC1_SDA_C_MARK, | ||
2170 | }; | ||
2171 | /* - IIC2 (I2C6) ------------------------------------------------------------ */ | ||
2172 | static const unsigned int iic2_pins[] = { | ||
2173 | /* SCL, SDA */ | ||
2174 | RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6), | ||
2175 | }; | ||
2176 | static const unsigned int iic2_mux[] = { | ||
2177 | IIC2_SCL_MARK, IIC2_SDA_MARK, | ||
2178 | }; | ||
2179 | static const unsigned int iic2_b_pins[] = { | ||
2180 | /* SCL, SDA */ | ||
2181 | RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1), | ||
2182 | }; | ||
2183 | static const unsigned int iic2_b_mux[] = { | ||
2184 | IIC2_SCL_B_MARK, IIC2_SDA_B_MARK, | ||
2185 | }; | ||
2186 | static const unsigned int iic2_c_pins[] = { | ||
2187 | /* SCL, SDA */ | ||
2188 | RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 7), | ||
2189 | }; | ||
2190 | static const unsigned int iic2_c_mux[] = { | ||
2191 | IIC2_SCL_C_MARK, IIC2_SDA_C_MARK, | ||
2192 | }; | ||
2193 | static const unsigned int iic2_d_pins[] = { | ||
2194 | /* SCL, SDA */ | ||
2195 | RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), | ||
2196 | }; | ||
2197 | static const unsigned int iic2_d_mux[] = { | ||
2198 | IIC2_SCL_D_MARK, IIC2_SDA_D_MARK, | ||
2199 | }; | ||
2200 | static const unsigned int iic2_e_pins[] = { | ||
2201 | /* SCL, SDA */ | ||
2202 | RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 19), | ||
2203 | }; | ||
2204 | static const unsigned int iic2_e_mux[] = { | ||
2205 | IIC2_SCL_E_MARK, IIC2_SDA_E_MARK, | ||
2206 | }; | ||
2207 | /* - IIC3 (I2C7) ------------------------------------------------------------ */ | ||
2208 | static const unsigned int iic3_pins[] = { | ||
2209 | /* SCL, SDA */ | ||
2210 | PIN_A_NUMBER('J', 15), PIN_A_NUMBER('H', 15), | ||
2211 | }; | ||
2212 | static const unsigned int iic3_mux[] = { | ||
2213 | IIC3_SCL_MARK, IIC3_SDA_MARK, | ||
2214 | }; | ||
2137 | /* - INTC ------------------------------------------------------------------- */ | 2215 | /* - INTC ------------------------------------------------------------------- */ |
2138 | static const unsigned int intc_irq0_pins[] = { | 2216 | static const unsigned int intc_irq0_pins[] = { |
2139 | /* IRQ */ | 2217 | /* IRQ */ |
@@ -3781,6 +3859,16 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
3781 | SH_PFC_PIN_GROUP(i2c2_d), | 3859 | SH_PFC_PIN_GROUP(i2c2_d), |
3782 | SH_PFC_PIN_GROUP(i2c2_e), | 3860 | SH_PFC_PIN_GROUP(i2c2_e), |
3783 | SH_PFC_PIN_GROUP(i2c3), | 3861 | SH_PFC_PIN_GROUP(i2c3), |
3862 | SH_PFC_PIN_GROUP(iic0), | ||
3863 | SH_PFC_PIN_GROUP(iic1), | ||
3864 | SH_PFC_PIN_GROUP(iic1_b), | ||
3865 | SH_PFC_PIN_GROUP(iic1_c), | ||
3866 | SH_PFC_PIN_GROUP(iic2), | ||
3867 | SH_PFC_PIN_GROUP(iic2_b), | ||
3868 | SH_PFC_PIN_GROUP(iic2_c), | ||
3869 | SH_PFC_PIN_GROUP(iic2_d), | ||
3870 | SH_PFC_PIN_GROUP(iic2_e), | ||
3871 | SH_PFC_PIN_GROUP(iic3), | ||
3784 | SH_PFC_PIN_GROUP(intc_irq0), | 3872 | SH_PFC_PIN_GROUP(intc_irq0), |
3785 | SH_PFC_PIN_GROUP(intc_irq1), | 3873 | SH_PFC_PIN_GROUP(intc_irq1), |
3786 | SH_PFC_PIN_GROUP(intc_irq2), | 3874 | SH_PFC_PIN_GROUP(intc_irq2), |
@@ -4081,6 +4169,28 @@ static const char * const i2c3_groups[] = { | |||
4081 | "i2c3", | 4169 | "i2c3", |
4082 | }; | 4170 | }; |
4083 | 4171 | ||
4172 | static const char * const iic0_groups[] = { | ||
4173 | "iic0", | ||
4174 | }; | ||
4175 | |||
4176 | static const char * const iic1_groups[] = { | ||
4177 | "iic1", | ||
4178 | "iic1_b", | ||
4179 | "iic1_c", | ||
4180 | }; | ||
4181 | |||
4182 | static const char * const iic2_groups[] = { | ||
4183 | "iic2", | ||
4184 | "iic2_b", | ||
4185 | "iic2_c", | ||
4186 | "iic2_d", | ||
4187 | "iic2_e", | ||
4188 | }; | ||
4189 | |||
4190 | static const char * const iic3_groups[] = { | ||
4191 | "iic3", | ||
4192 | }; | ||
4193 | |||
4084 | static const char * const intc_groups[] = { | 4194 | static const char * const intc_groups[] = { |
4085 | "intc_irq0", | 4195 | "intc_irq0", |
4086 | "intc_irq1", | 4196 | "intc_irq1", |
@@ -4396,6 +4506,10 @@ static const struct sh_pfc_function pinmux_functions[] = { | |||
4396 | SH_PFC_FUNCTION(i2c1), | 4506 | SH_PFC_FUNCTION(i2c1), |
4397 | SH_PFC_FUNCTION(i2c2), | 4507 | SH_PFC_FUNCTION(i2c2), |
4398 | SH_PFC_FUNCTION(i2c3), | 4508 | SH_PFC_FUNCTION(i2c3), |
4509 | SH_PFC_FUNCTION(iic0), | ||
4510 | SH_PFC_FUNCTION(iic1), | ||
4511 | SH_PFC_FUNCTION(iic2), | ||
4512 | SH_PFC_FUNCTION(iic3), | ||
4399 | SH_PFC_FUNCTION(intc), | 4513 | SH_PFC_FUNCTION(intc), |
4400 | SH_PFC_FUNCTION(mmc0), | 4514 | SH_PFC_FUNCTION(mmc0), |
4401 | SH_PFC_FUNCTION(mmc1), | 4515 | SH_PFC_FUNCTION(mmc1), |