diff options
| author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2013-05-22 23:16:30 -0400 |
|---|---|---|
| committer | Simon Horman <horms+renesas@verge.net.au> | 2013-06-05 04:18:19 -0400 |
| commit | 09cc76a95802e87dfda0fe6ecad2090de65e0ab1 (patch) | |
| tree | 27dc08b6ef6ed5322dd98a87fc21770609bf00ab | |
| parent | 0dcbc69e2bcf99539739f16cff56e48fb3e8229c (diff) | |
sh-pfc: r8a7778: add HSPI pin groups
Add HSPI CLK/CS/RX/TX pin groups to R8A7778 PFC driver.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| -rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7778.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c index 605f8ae6b70a..bf5e3d894a13 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c | |||
| @@ -1371,6 +1371,43 @@ 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 | /* - HSPI macro --------------------------------------------------------------*/ | ||
| 1375 | #define HSPI_PFC_PIN(name, args...) SH_PFC_PINS(name, args) | ||
| 1376 | #define HSPI_PFC_DAT(name, clk, cs, rx, tx) SH_PFC_MUX4(name, clk, cs, rx, tx) | ||
| 1377 | |||
| 1378 | /* - HSPI0 -------------------------------------------------------------------*/ | ||
| 1379 | HSPI_PFC_PIN(hspi0_a, RCAR_GP_PIN(3, 19), RCAR_GP_PIN(3, 20), | ||
| 1380 | RCAR_GP_PIN(3, 21), RCAR_GP_PIN(3, 22)); | ||
| 1381 | HSPI_PFC_DAT(hspi0_a, HSPI_CLK0_A, HSPI_CS0_A, | ||
| 1382 | HSPI_RX0_A, HSPI_TX0); | ||
| 1383 | |||
| 1384 | HSPI_PFC_PIN(hspi0_b, RCAR_GP_PIN(2, 25), RCAR_GP_PIN(2, 26), | ||
| 1385 | RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 27)); | ||
| 1386 | HSPI_PFC_DAT(hspi0_b, HSPI_CLK0_B, HSPI_CS0_B, | ||
| 1387 | HSPI_RX0_B, HSPI_TX0_B); | ||
| 1388 | |||
| 1389 | /* - HSPI1 -------------------------------------------------------------------*/ | ||
| 1390 | HSPI_PFC_PIN(hspi1_a, RCAR_GP_PIN(3, 26), RCAR_GP_PIN(3, 27), | ||
| 1391 | RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 28)); | ||
| 1392 | HSPI_PFC_DAT(hspi1_a, HSPI_CLK1_A, HSPI_CS1_A, | ||
| 1393 | HSPI_RX1_A, HSPI_TX1_A); | ||
| 1394 | |||
| 1395 | HSPI_PFC_PIN(hspi1_b, RCAR_GP_PIN(0, 27), RCAR_GP_PIN(0, 26), | ||
| 1396 | PIN_NUMBER(20, 1), PIN_NUMBER(25, 2)); | ||
| 1397 | HSPI_PFC_DAT(hspi1_b, HSPI_CLK1_B, HSPI_CS1_B, | ||
| 1398 | HSPI_RX1_B, HSPI_TX1_B); | ||
| 1399 | |||
| 1400 | /* - HSPI2 -------------------------------------------------------------------*/ | ||
| 1401 | HSPI_PFC_PIN(hspi2_a, RCAR_GP_PIN(2, 29), RCAR_GP_PIN(3, 8), | ||
| 1402 | RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 30)); | ||
| 1403 | HSPI_PFC_DAT(hspi2_a, HSPI_CLK2_A, HSPI_CS2_A, | ||
| 1404 | HSPI_RX2_A, HSPI_TX2_A); | ||
| 1405 | |||
| 1406 | HSPI_PFC_PIN(hspi2_b, RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 22), | ||
| 1407 | RCAR_GP_PIN(4, 23), RCAR_GP_PIN(4, 24)); | ||
| 1408 | HSPI_PFC_DAT(hspi2_b, HSPI_CLK2_B, HSPI_CS2_B, | ||
| 1409 | HSPI_RX2_B, HSPI_TX2_B); | ||
| 1410 | |||
| 1374 | /* - I2C macro ------------------------------------------------------------- */ | 1411 | /* - I2C macro ------------------------------------------------------------- */ |
| 1375 | #define I2C_PFC_PIN(name, args...) SH_PFC_PINS(name, args) | 1412 | #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) | 1413 | #define I2C_PFC_MUX(name, sda, scl) SH_PFC_MUX2(name, sda, scl) |
| @@ -1610,6 +1647,12 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
| 1610 | SH_PFC_PIN_GROUP(hscif1_ctrl_b), | 1647 | SH_PFC_PIN_GROUP(hscif1_ctrl_b), |
| 1611 | SH_PFC_PIN_GROUP(hscif1_clk_a), | 1648 | SH_PFC_PIN_GROUP(hscif1_clk_a), |
| 1612 | SH_PFC_PIN_GROUP(hscif1_clk_b), | 1649 | SH_PFC_PIN_GROUP(hscif1_clk_b), |
| 1650 | SH_PFC_PIN_GROUP(hspi0_a), | ||
| 1651 | SH_PFC_PIN_GROUP(hspi0_b), | ||
| 1652 | SH_PFC_PIN_GROUP(hspi1_a), | ||
| 1653 | SH_PFC_PIN_GROUP(hspi1_b), | ||
| 1654 | SH_PFC_PIN_GROUP(hspi2_a), | ||
| 1655 | SH_PFC_PIN_GROUP(hspi2_b), | ||
| 1613 | SH_PFC_PIN_GROUP(i2c1_a), | 1656 | SH_PFC_PIN_GROUP(i2c1_a), |
| 1614 | SH_PFC_PIN_GROUP(i2c1_b), | 1657 | SH_PFC_PIN_GROUP(i2c1_b), |
| 1615 | SH_PFC_PIN_GROUP(i2c2_a), | 1658 | SH_PFC_PIN_GROUP(i2c2_a), |
| @@ -1710,6 +1753,21 @@ static const char * const hscif1_groups[] = { | |||
| 1710 | "hscif1_clk_b", | 1753 | "hscif1_clk_b", |
| 1711 | }; | 1754 | }; |
| 1712 | 1755 | ||
| 1756 | static const char * const hspi0_groups[] = { | ||
| 1757 | "hspi0_a", | ||
| 1758 | "hspi0_b", | ||
| 1759 | }; | ||
| 1760 | |||
| 1761 | static const char * const hspi1_groups[] = { | ||
| 1762 | "hspi1_a", | ||
| 1763 | "hspi1_b", | ||
| 1764 | }; | ||
| 1765 | |||
| 1766 | static const char * const hspi2_groups[] = { | ||
| 1767 | "hspi2_a", | ||
| 1768 | "hspi2_b", | ||
| 1769 | }; | ||
| 1770 | |||
| 1713 | static const char * const i2c1_groups[] = { | 1771 | static const char * const i2c1_groups[] = { |
| 1714 | "i2c1_a", | 1772 | "i2c1_a", |
| 1715 | "i2c1_b", | 1773 | "i2c1_b", |
| @@ -1841,6 +1899,9 @@ static const struct sh_pfc_function pinmux_functions[] = { | |||
| 1841 | SH_PFC_FUNCTION(ether), | 1899 | SH_PFC_FUNCTION(ether), |
| 1842 | SH_PFC_FUNCTION(hscif0), | 1900 | SH_PFC_FUNCTION(hscif0), |
| 1843 | SH_PFC_FUNCTION(hscif1), | 1901 | SH_PFC_FUNCTION(hscif1), |
| 1902 | SH_PFC_FUNCTION(hspi0), | ||
| 1903 | SH_PFC_FUNCTION(hspi1), | ||
| 1904 | SH_PFC_FUNCTION(hspi2), | ||
| 1844 | SH_PFC_FUNCTION(i2c1), | 1905 | SH_PFC_FUNCTION(i2c1), |
| 1845 | SH_PFC_FUNCTION(i2c2), | 1906 | SH_PFC_FUNCTION(i2c2), |
| 1846 | SH_PFC_FUNCTION(i2c3), | 1907 | SH_PFC_FUNCTION(i2c3), |
