aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pinctrl/sh-pfc/pfc-r8a7790.c118
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[] = {
2134static const unsigned int i2c3_mux[] = { 2138static const unsigned int i2c3_mux[] = {
2135 I2C3_SCL_MARK, I2C3_SDA_MARK, 2139 I2C3_SCL_MARK, I2C3_SDA_MARK,
2136}; 2140};
2141/* - IIC0 (I2C4) ------------------------------------------------------------ */
2142static const unsigned int iic0_pins[] = {
2143 /* SCL, SDA */
2144 PIN_A_NUMBER('G', 15), PIN_A_NUMBER('F', 15),
2145};
2146static const unsigned int iic0_mux[] = {
2147 IIC0_SCL_MARK, IIC0_SDA_MARK,
2148};
2149/* - IIC1 (I2C5) ------------------------------------------------------------ */
2150static const unsigned int iic1_pins[] = {
2151 /* SCL, SDA */
2152 RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17),
2153};
2154static const unsigned int iic1_mux[] = {
2155 IIC1_SCL_MARK, IIC1_SDA_MARK,
2156};
2157static const unsigned int iic1_b_pins[] = {
2158 /* SCL, SDA */
2159 RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
2160};
2161static const unsigned int iic1_b_mux[] = {
2162 IIC1_SCL_B_MARK, IIC1_SDA_B_MARK,
2163};
2164static const unsigned int iic1_c_pins[] = {
2165 /* SCL, SDA */
2166 RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 27),
2167};
2168static const unsigned int iic1_c_mux[] = {
2169 IIC1_SCL_C_MARK, IIC1_SDA_C_MARK,
2170};
2171/* - IIC2 (I2C6) ------------------------------------------------------------ */
2172static const unsigned int iic2_pins[] = {
2173 /* SCL, SDA */
2174 RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6),
2175};
2176static const unsigned int iic2_mux[] = {
2177 IIC2_SCL_MARK, IIC2_SDA_MARK,
2178};
2179static const unsigned int iic2_b_pins[] = {
2180 /* SCL, SDA */
2181 RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1),
2182};
2183static const unsigned int iic2_b_mux[] = {
2184 IIC2_SCL_B_MARK, IIC2_SDA_B_MARK,
2185};
2186static const unsigned int iic2_c_pins[] = {
2187 /* SCL, SDA */
2188 RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 7),
2189};
2190static const unsigned int iic2_c_mux[] = {
2191 IIC2_SCL_C_MARK, IIC2_SDA_C_MARK,
2192};
2193static const unsigned int iic2_d_pins[] = {
2194 /* SCL, SDA */
2195 RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15),
2196};
2197static const unsigned int iic2_d_mux[] = {
2198 IIC2_SCL_D_MARK, IIC2_SDA_D_MARK,
2199};
2200static const unsigned int iic2_e_pins[] = {
2201 /* SCL, SDA */
2202 RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 19),
2203};
2204static const unsigned int iic2_e_mux[] = {
2205 IIC2_SCL_E_MARK, IIC2_SDA_E_MARK,
2206};
2207/* - IIC3 (I2C7) ------------------------------------------------------------ */
2208static const unsigned int iic3_pins[] = {
2209/* SCL, SDA */
2210 PIN_A_NUMBER('J', 15), PIN_A_NUMBER('H', 15),
2211};
2212static const unsigned int iic3_mux[] = {
2213 IIC3_SCL_MARK, IIC3_SDA_MARK,
2214};
2137/* - INTC ------------------------------------------------------------------- */ 2215/* - INTC ------------------------------------------------------------------- */
2138static const unsigned int intc_irq0_pins[] = { 2216static 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
4172static const char * const iic0_groups[] = {
4173 "iic0",
4174};
4175
4176static const char * const iic1_groups[] = {
4177 "iic1",
4178 "iic1_b",
4179 "iic1_c",
4180};
4181
4182static const char * const iic2_groups[] = {
4183 "iic2",
4184 "iic2_b",
4185 "iic2_c",
4186 "iic2_d",
4187 "iic2_e",
4188};
4189
4190static const char * const iic3_groups[] = {
4191 "iic3",
4192};
4193
4084static const char * const intc_groups[] = { 4194static 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),