diff options
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7778.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c index 6b2c6b58aaf7..605f8ae6b70a 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c | |||
@@ -1371,6 +1371,32 @@ SCIF_PFC_CLK(hscif1_clk_a, HSCK1_A); | |||
1371 | SCIF_PFC_PIN(hscif1_clk_b, RCAR_GP_PIN(4, 2)); | 1371 | SCIF_PFC_PIN(hscif1_clk_b, RCAR_GP_PIN(4, 2)); |
1372 | SCIF_PFC_CLK(hscif1_clk_b, HSCK1_B); | 1372 | SCIF_PFC_CLK(hscif1_clk_b, HSCK1_B); |
1373 | 1373 | ||
1374 | /* - I2C macro ------------------------------------------------------------- */ | ||
1375 | #define I2C_PFC_PIN(name, args...) SH_PFC_PINS(name, args) | ||
1376 | #define I2C_PFC_MUX(name, sda, scl) SH_PFC_MUX2(name, sda, scl) | ||
1377 | |||
1378 | /* - I2C1 ------------------------------------------------------------------ */ | ||
1379 | I2C_PFC_PIN(i2c1_a, RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9)); | ||
1380 | I2C_PFC_MUX(i2c1_a, SDA1_A, SCL1_A); | ||
1381 | I2C_PFC_PIN(i2c1_b, RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 18)); | ||
1382 | I2C_PFC_MUX(i2c1_b, SDA1_B, SCL1_B); | ||
1383 | |||
1384 | /* - I2C2 ------------------------------------------------------------------ */ | ||
1385 | I2C_PFC_PIN(i2c2_a, PIN_NUMBER(3, 20), RCAR_GP_PIN(1, 3)); | ||
1386 | I2C_PFC_MUX(i2c2_a, SDA2_A, SCL2_A); | ||
1387 | I2C_PFC_PIN(i2c2_b, RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 4)); | ||
1388 | I2C_PFC_MUX(i2c2_b, SDA2_B, SCL2_B); | ||
1389 | I2C_PFC_PIN(i2c2_c, RCAR_GP_PIN(4, 15), RCAR_GP_PIN(4, 16)); | ||
1390 | I2C_PFC_MUX(i2c2_c, SDA2_C, SCL2_C); | ||
1391 | |||
1392 | /* - I2C3 ------------------------------------------------------------------ */ | ||
1393 | I2C_PFC_PIN(i2c3_a, RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 15)); | ||
1394 | I2C_PFC_MUX(i2c3_a, SDA3_A, SCL3_A); | ||
1395 | I2C_PFC_PIN(i2c3_b, RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 19)); | ||
1396 | I2C_PFC_MUX(i2c3_b, SDA3_B, SCL3_B); | ||
1397 | I2C_PFC_PIN(i2c3_c, RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 23)); | ||
1398 | I2C_PFC_MUX(i2c3_c, SDA3_C, SCL3_C); | ||
1399 | |||
1374 | /* - SCIF CLOCK ------------------------------------------------------------- */ | 1400 | /* - SCIF CLOCK ------------------------------------------------------------- */ |
1375 | SCIF_PFC_PIN(scif_clk, RCAR_GP_PIN(1, 16)); | 1401 | SCIF_PFC_PIN(scif_clk, RCAR_GP_PIN(1, 16)); |
1376 | SCIF_PFC_CLK(scif_clk, SCIF_CLK); | 1402 | SCIF_PFC_CLK(scif_clk, SCIF_CLK); |
@@ -1584,6 +1610,14 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
1584 | SH_PFC_PIN_GROUP(hscif1_ctrl_b), | 1610 | SH_PFC_PIN_GROUP(hscif1_ctrl_b), |
1585 | SH_PFC_PIN_GROUP(hscif1_clk_a), | 1611 | SH_PFC_PIN_GROUP(hscif1_clk_a), |
1586 | SH_PFC_PIN_GROUP(hscif1_clk_b), | 1612 | SH_PFC_PIN_GROUP(hscif1_clk_b), |
1613 | SH_PFC_PIN_GROUP(i2c1_a), | ||
1614 | SH_PFC_PIN_GROUP(i2c1_b), | ||
1615 | SH_PFC_PIN_GROUP(i2c2_a), | ||
1616 | SH_PFC_PIN_GROUP(i2c2_b), | ||
1617 | SH_PFC_PIN_GROUP(i2c2_c), | ||
1618 | SH_PFC_PIN_GROUP(i2c3_a), | ||
1619 | SH_PFC_PIN_GROUP(i2c3_b), | ||
1620 | SH_PFC_PIN_GROUP(i2c3_c), | ||
1587 | SH_PFC_PIN_GROUP(scif_clk), | 1621 | SH_PFC_PIN_GROUP(scif_clk), |
1588 | SH_PFC_PIN_GROUP(scif0_data_a), | 1622 | SH_PFC_PIN_GROUP(scif0_data_a), |
1589 | SH_PFC_PIN_GROUP(scif0_data_b), | 1623 | SH_PFC_PIN_GROUP(scif0_data_b), |
@@ -1676,6 +1710,23 @@ static const char * const hscif1_groups[] = { | |||
1676 | "hscif1_clk_b", | 1710 | "hscif1_clk_b", |
1677 | }; | 1711 | }; |
1678 | 1712 | ||
1713 | static const char * const i2c1_groups[] = { | ||
1714 | "i2c1_a", | ||
1715 | "i2c1_b", | ||
1716 | }; | ||
1717 | |||
1718 | static const char * const i2c2_groups[] = { | ||
1719 | "i2c2_a", | ||
1720 | "i2c2_b", | ||
1721 | "i2c2_c", | ||
1722 | }; | ||
1723 | |||
1724 | static const char * const i2c3_groups[] = { | ||
1725 | "i2c3_a", | ||
1726 | "i2c3_b", | ||
1727 | "i2c3_c", | ||
1728 | }; | ||
1729 | |||
1679 | static const char * const scif_clk_groups[] = { | 1730 | static const char * const scif_clk_groups[] = { |
1680 | "scif_clk", | 1731 | "scif_clk", |
1681 | }; | 1732 | }; |
@@ -1790,6 +1841,9 @@ static const struct sh_pfc_function pinmux_functions[] = { | |||
1790 | SH_PFC_FUNCTION(ether), | 1841 | SH_PFC_FUNCTION(ether), |
1791 | SH_PFC_FUNCTION(hscif0), | 1842 | SH_PFC_FUNCTION(hscif0), |
1792 | SH_PFC_FUNCTION(hscif1), | 1843 | SH_PFC_FUNCTION(hscif1), |
1844 | SH_PFC_FUNCTION(i2c1), | ||
1845 | SH_PFC_FUNCTION(i2c2), | ||
1846 | SH_PFC_FUNCTION(i2c3), | ||
1793 | SH_PFC_FUNCTION(scif_clk), | 1847 | SH_PFC_FUNCTION(scif_clk), |
1794 | SH_PFC_FUNCTION(scif0), | 1848 | SH_PFC_FUNCTION(scif0), |
1795 | SH_PFC_FUNCTION(scif1), | 1849 | SH_PFC_FUNCTION(scif1), |