aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2013-05-22 23:16:30 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-06-05 04:18:19 -0400
commit09cc76a95802e87dfda0fe6ecad2090de65e0ab1 (patch)
tree27dc08b6ef6ed5322dd98a87fc21770609bf00ab
parent0dcbc69e2bcf99539739f16cff56e48fb3e8229c (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.c61
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);
1371SCIF_PFC_PIN(hscif1_clk_b, RCAR_GP_PIN(4, 2)); 1371SCIF_PFC_PIN(hscif1_clk_b, RCAR_GP_PIN(4, 2));
1372SCIF_PFC_CLK(hscif1_clk_b, HSCK1_B); 1372SCIF_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 -------------------------------------------------------------------*/
1379HSPI_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));
1381HSPI_PFC_DAT(hspi0_a, HSPI_CLK0_A, HSPI_CS0_A,
1382 HSPI_RX0_A, HSPI_TX0);
1383
1384HSPI_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));
1386HSPI_PFC_DAT(hspi0_b, HSPI_CLK0_B, HSPI_CS0_B,
1387 HSPI_RX0_B, HSPI_TX0_B);
1388
1389/* - HSPI1 -------------------------------------------------------------------*/
1390HSPI_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));
1392HSPI_PFC_DAT(hspi1_a, HSPI_CLK1_A, HSPI_CS1_A,
1393 HSPI_RX1_A, HSPI_TX1_A);
1394
1395HSPI_PFC_PIN(hspi1_b, RCAR_GP_PIN(0, 27), RCAR_GP_PIN(0, 26),
1396 PIN_NUMBER(20, 1), PIN_NUMBER(25, 2));
1397HSPI_PFC_DAT(hspi1_b, HSPI_CLK1_B, HSPI_CS1_B,
1398 HSPI_RX1_B, HSPI_TX1_B);
1399
1400/* - HSPI2 -------------------------------------------------------------------*/
1401HSPI_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));
1403HSPI_PFC_DAT(hspi2_a, HSPI_CLK2_A, HSPI_CS2_A,
1404 HSPI_RX2_A, HSPI_TX2_A);
1405
1406HSPI_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));
1408HSPI_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
1756static const char * const hspi0_groups[] = {
1757 "hspi0_a",
1758 "hspi0_b",
1759};
1760
1761static const char * const hspi1_groups[] = {
1762 "hspi1_a",
1763 "hspi1_b",
1764};
1765
1766static const char * const hspi2_groups[] = {
1767 "hspi2_a",
1768 "hspi2_b",
1769};
1770
1713static const char * const i2c1_groups[] = { 1771static 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),