diff options
author | Arnd Bergmann <arnd@arndb.de> | 2013-06-21 09:14:10 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2013-06-21 09:14:10 -0400 |
commit | d405534dcd1e17429befc0e38048c73a3affd2b9 (patch) | |
tree | f4d48ef00e065bd16205dea522bdbb9b95770f7e | |
parent | d925ef43869a2da86444e3f68ebe9ce81efaa0c6 (diff) | |
parent | cd622017eb3e0ab841502df88fb7fda3c3a58eb9 (diff) |
Merge tag 'renesas-pinmux2-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers
From Simon Horman:
Second Round of Renesas ARM based SoC pinmux and GPIO update for v3.11
tidyup MMC_D1 pin for r8a7778 SoC
fix two pin numbers and add HSCIF pin groups to r8a7790 SoC
add pinmux data for MMCIF and SDHI interfaces for r8a73a4 SoC
* tag 'renesas-pinmux2-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
sh-pfc: r8a7778: tidyup MMC_D1 pin
pinctrl: r8a7790: fix two pin numbers
sh-pfc: r8a7790: add HSCIF pin groups
pinctrl: r8a73a4: add pinmux data for MMCIF and SDHI interfaces
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a73a4.c | 198 | ||||
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7778.c | 4 | ||||
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 227 |
3 files changed, 403 insertions, 26 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c b/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c index bbff5596e922..82bf6aba0074 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c | |||
@@ -1488,6 +1488,66 @@ IRQC_PINS_MUX(326, 54); | |||
1488 | IRQC_PINS_MUX(327, 55); | 1488 | IRQC_PINS_MUX(327, 55); |
1489 | IRQC_PINS_MUX(328, 56); | 1489 | IRQC_PINS_MUX(328, 56); |
1490 | IRQC_PINS_MUX(329, 57); | 1490 | IRQC_PINS_MUX(329, 57); |
1491 | /* - MMCIF0 ----------------------------------------------------------------- */ | ||
1492 | static const unsigned int mmc0_data1_pins[] = { | ||
1493 | /* D[0] */ | ||
1494 | 164, | ||
1495 | }; | ||
1496 | static const unsigned int mmc0_data1_mux[] = { | ||
1497 | MMCD0_0_MARK, | ||
1498 | }; | ||
1499 | static const unsigned int mmc0_data4_pins[] = { | ||
1500 | /* D[0:3] */ | ||
1501 | 164, 165, 166, 167, | ||
1502 | }; | ||
1503 | static const unsigned int mmc0_data4_mux[] = { | ||
1504 | MMCD0_0_MARK, MMCD0_1_MARK, MMCD0_2_MARK, MMCD0_3_MARK, | ||
1505 | }; | ||
1506 | static const unsigned int mmc0_data8_pins[] = { | ||
1507 | /* D[0:7] */ | ||
1508 | 164, 165, 166, 167, 168, 169, 170, 171, | ||
1509 | }; | ||
1510 | static const unsigned int mmc0_data8_mux[] = { | ||
1511 | MMCD0_0_MARK, MMCD0_1_MARK, MMCD0_2_MARK, MMCD0_3_MARK, | ||
1512 | MMCD0_4_MARK, MMCD0_5_MARK, MMCD0_6_MARK, MMCD0_7_MARK, | ||
1513 | }; | ||
1514 | static const unsigned int mmc0_ctrl_pins[] = { | ||
1515 | /* CMD, CLK */ | ||
1516 | 172, 173, | ||
1517 | }; | ||
1518 | static const unsigned int mmc0_ctrl_mux[] = { | ||
1519 | MMCCMD0_MARK, MMCCLK0_MARK, | ||
1520 | }; | ||
1521 | /* - MMCIF1 ----------------------------------------------------------------- */ | ||
1522 | static const unsigned int mmc1_data1_pins[] = { | ||
1523 | /* D[0] */ | ||
1524 | 199, | ||
1525 | }; | ||
1526 | static const unsigned int mmc1_data1_mux[] = { | ||
1527 | MMCD1_0_MARK, | ||
1528 | }; | ||
1529 | static const unsigned int mmc1_data4_pins[] = { | ||
1530 | /* D[0:3] */ | ||
1531 | 199, 198, 197, 196, | ||
1532 | }; | ||
1533 | static const unsigned int mmc1_data4_mux[] = { | ||
1534 | MMCD1_0_MARK, MMCD1_1_MARK, MMCD1_2_MARK, MMCD1_3_MARK, | ||
1535 | }; | ||
1536 | static const unsigned int mmc1_data8_pins[] = { | ||
1537 | /* D[0:7] */ | ||
1538 | 199, 198, 197, 196, 195, 194, 193, 192, | ||
1539 | }; | ||
1540 | static const unsigned int mmc1_data8_mux[] = { | ||
1541 | MMCD1_0_MARK, MMCD1_1_MARK, MMCD1_2_MARK, MMCD1_3_MARK, | ||
1542 | MMCD1_4_MARK, MMCD1_5_MARK, MMCD1_6_MARK, MMCD1_7_MARK, | ||
1543 | }; | ||
1544 | static const unsigned int mmc1_ctrl_pins[] = { | ||
1545 | /* CMD, CLK */ | ||
1546 | 200, 203, | ||
1547 | }; | ||
1548 | static const unsigned int mmc1_ctrl_mux[] = { | ||
1549 | MMCCMD1_MARK, MMCCLK1_MARK, | ||
1550 | }; | ||
1491 | /* - SCIFA0 ----------------------------------------------------------------- */ | 1551 | /* - SCIFA0 ----------------------------------------------------------------- */ |
1492 | static const unsigned int scifa0_data_pins[] = { | 1552 | static const unsigned int scifa0_data_pins[] = { |
1493 | /* SCIFA0_RXD, SCIFA0_TXD */ | 1553 | /* SCIFA0_RXD, SCIFA0_TXD */ |
@@ -1683,6 +1743,86 @@ static const unsigned int scifb3_ctrl_b_pins[] = { | |||
1683 | static const unsigned int scifb3_ctrl_b_mux[] = { | 1743 | static const unsigned int scifb3_ctrl_b_mux[] = { |
1684 | SCIFB3_RTS_38_MARK, SCIFB3_CTS_39_MARK, | 1744 | SCIFB3_RTS_38_MARK, SCIFB3_CTS_39_MARK, |
1685 | }; | 1745 | }; |
1746 | /* - SDHI0 ------------------------------------------------------------------ */ | ||
1747 | static const unsigned int sdhi0_data1_pins[] = { | ||
1748 | /* D0 */ | ||
1749 | 302, | ||
1750 | }; | ||
1751 | static const unsigned int sdhi0_data1_mux[] = { | ||
1752 | SDHID0_0_MARK, | ||
1753 | }; | ||
1754 | static const unsigned int sdhi0_data4_pins[] = { | ||
1755 | /* D[0:3] */ | ||
1756 | 302, 303, 304, 305, | ||
1757 | }; | ||
1758 | static const unsigned int sdhi0_data4_mux[] = { | ||
1759 | SDHID0_0_MARK, SDHID0_1_MARK, SDHID0_2_MARK, SDHID0_3_MARK, | ||
1760 | }; | ||
1761 | static const unsigned int sdhi0_ctrl_pins[] = { | ||
1762 | /* CLK, CMD */ | ||
1763 | 308, 306, | ||
1764 | }; | ||
1765 | static const unsigned int sdhi0_ctrl_mux[] = { | ||
1766 | SDHICLK0_MARK, SDHICMD0_MARK, | ||
1767 | }; | ||
1768 | static const unsigned int sdhi0_cd_pins[] = { | ||
1769 | /* CD */ | ||
1770 | 301, | ||
1771 | }; | ||
1772 | static const unsigned int sdhi0_cd_mux[] = { | ||
1773 | SDHICD0_MARK, | ||
1774 | }; | ||
1775 | static const unsigned int sdhi0_wp_pins[] = { | ||
1776 | /* WP */ | ||
1777 | 307, | ||
1778 | }; | ||
1779 | static const unsigned int sdhi0_wp_mux[] = { | ||
1780 | SDHIWP0_MARK, | ||
1781 | }; | ||
1782 | /* - SDHI1 ------------------------------------------------------------------ */ | ||
1783 | static const unsigned int sdhi1_data1_pins[] = { | ||
1784 | /* D0 */ | ||
1785 | 289, | ||
1786 | }; | ||
1787 | static const unsigned int sdhi1_data1_mux[] = { | ||
1788 | SDHID1_0_MARK, | ||
1789 | }; | ||
1790 | static const unsigned int sdhi1_data4_pins[] = { | ||
1791 | /* D[0:3] */ | ||
1792 | 289, 290, 291, 292, | ||
1793 | }; | ||
1794 | static const unsigned int sdhi1_data4_mux[] = { | ||
1795 | SDHID1_0_MARK, SDHID1_1_MARK, SDHID1_2_MARK, SDHID1_3_MARK, | ||
1796 | }; | ||
1797 | static const unsigned int sdhi1_ctrl_pins[] = { | ||
1798 | /* CLK, CMD */ | ||
1799 | 293, 294, | ||
1800 | }; | ||
1801 | static const unsigned int sdhi1_ctrl_mux[] = { | ||
1802 | SDHICLK1_MARK, SDHICMD1_MARK, | ||
1803 | }; | ||
1804 | /* - SDHI2 ------------------------------------------------------------------ */ | ||
1805 | static const unsigned int sdhi2_data1_pins[] = { | ||
1806 | /* D0 */ | ||
1807 | 295, | ||
1808 | }; | ||
1809 | static const unsigned int sdhi2_data1_mux[] = { | ||
1810 | SDHID2_0_MARK, | ||
1811 | }; | ||
1812 | static const unsigned int sdhi2_data4_pins[] = { | ||
1813 | /* D[0:3] */ | ||
1814 | 295, 296, 297, 298, | ||
1815 | }; | ||
1816 | static const unsigned int sdhi2_data4_mux[] = { | ||
1817 | SDHID2_0_MARK, SDHID2_1_MARK, SDHID2_2_MARK, SDHID2_3_MARK, | ||
1818 | }; | ||
1819 | static const unsigned int sdhi2_ctrl_pins[] = { | ||
1820 | /* CLK, CMD */ | ||
1821 | 299, 300, | ||
1822 | }; | ||
1823 | static const unsigned int sdhi2_ctrl_mux[] = { | ||
1824 | SDHICLK2_MARK, SDHICMD2_MARK, | ||
1825 | }; | ||
1686 | 1826 | ||
1687 | static const struct sh_pfc_pin_group pinmux_groups[] = { | 1827 | static const struct sh_pfc_pin_group pinmux_groups[] = { |
1688 | SH_PFC_PIN_GROUP(irqc_irq0), | 1828 | SH_PFC_PIN_GROUP(irqc_irq0), |
@@ -1743,6 +1883,14 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
1743 | SH_PFC_PIN_GROUP(irqc_irq55), | 1883 | SH_PFC_PIN_GROUP(irqc_irq55), |
1744 | SH_PFC_PIN_GROUP(irqc_irq56), | 1884 | SH_PFC_PIN_GROUP(irqc_irq56), |
1745 | SH_PFC_PIN_GROUP(irqc_irq57), | 1885 | SH_PFC_PIN_GROUP(irqc_irq57), |
1886 | SH_PFC_PIN_GROUP(mmc0_data1), | ||
1887 | SH_PFC_PIN_GROUP(mmc0_data4), | ||
1888 | SH_PFC_PIN_GROUP(mmc0_data8), | ||
1889 | SH_PFC_PIN_GROUP(mmc0_ctrl), | ||
1890 | SH_PFC_PIN_GROUP(mmc1_data1), | ||
1891 | SH_PFC_PIN_GROUP(mmc1_data4), | ||
1892 | SH_PFC_PIN_GROUP(mmc1_data8), | ||
1893 | SH_PFC_PIN_GROUP(mmc1_ctrl), | ||
1746 | SH_PFC_PIN_GROUP(scifa0_data), | 1894 | SH_PFC_PIN_GROUP(scifa0_data), |
1747 | SH_PFC_PIN_GROUP(scifa0_clk), | 1895 | SH_PFC_PIN_GROUP(scifa0_clk), |
1748 | SH_PFC_PIN_GROUP(scifa0_ctrl), | 1896 | SH_PFC_PIN_GROUP(scifa0_ctrl), |
@@ -1770,6 +1918,17 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
1770 | SH_PFC_PIN_GROUP(scifb3_data_b), | 1918 | SH_PFC_PIN_GROUP(scifb3_data_b), |
1771 | SH_PFC_PIN_GROUP(scifb3_clk_b), | 1919 | SH_PFC_PIN_GROUP(scifb3_clk_b), |
1772 | SH_PFC_PIN_GROUP(scifb3_ctrl_b), | 1920 | SH_PFC_PIN_GROUP(scifb3_ctrl_b), |
1921 | SH_PFC_PIN_GROUP(sdhi0_data1), | ||
1922 | SH_PFC_PIN_GROUP(sdhi0_data4), | ||
1923 | SH_PFC_PIN_GROUP(sdhi0_ctrl), | ||
1924 | SH_PFC_PIN_GROUP(sdhi0_cd), | ||
1925 | SH_PFC_PIN_GROUP(sdhi0_wp), | ||
1926 | SH_PFC_PIN_GROUP(sdhi1_data1), | ||
1927 | SH_PFC_PIN_GROUP(sdhi1_data4), | ||
1928 | SH_PFC_PIN_GROUP(sdhi1_ctrl), | ||
1929 | SH_PFC_PIN_GROUP(sdhi2_data1), | ||
1930 | SH_PFC_PIN_GROUP(sdhi2_data4), | ||
1931 | SH_PFC_PIN_GROUP(sdhi2_ctrl), | ||
1773 | }; | 1932 | }; |
1774 | 1933 | ||
1775 | static const char * const irqc_groups[] = { | 1934 | static const char * const irqc_groups[] = { |
@@ -1833,6 +1992,20 @@ static const char * const irqc_groups[] = { | |||
1833 | "irqc_irq57", | 1992 | "irqc_irq57", |
1834 | }; | 1993 | }; |
1835 | 1994 | ||
1995 | static const char * const mmc0_groups[] = { | ||
1996 | "mmc0_data1", | ||
1997 | "mmc0_data4", | ||
1998 | "mmc0_data8", | ||
1999 | "mmc0_ctrl", | ||
2000 | }; | ||
2001 | |||
2002 | static const char * const mmc1_groups[] = { | ||
2003 | "mmc1_data1", | ||
2004 | "mmc1_data4", | ||
2005 | "mmc1_data8", | ||
2006 | "mmc1_ctrl", | ||
2007 | }; | ||
2008 | |||
1836 | static const char * const scifa0_groups[] = { | 2009 | static const char * const scifa0_groups[] = { |
1837 | "scifa0_data", | 2010 | "scifa0_data", |
1838 | "scifa0_clk", | 2011 | "scifa0_clk", |
@@ -1878,14 +2051,39 @@ static const char * const scifb3_groups[] = { | |||
1878 | "scifb3_ctrl_b", | 2051 | "scifb3_ctrl_b", |
1879 | }; | 2052 | }; |
1880 | 2053 | ||
2054 | static const char * const sdhi0_groups[] = { | ||
2055 | "sdhi0_data1", | ||
2056 | "sdhi0_data4", | ||
2057 | "sdhi0_ctrl", | ||
2058 | "sdhi0_cd", | ||
2059 | "sdhi0_wp", | ||
2060 | }; | ||
2061 | |||
2062 | static const char * const sdhi1_groups[] = { | ||
2063 | "sdhi1_data1", | ||
2064 | "sdhi1_data4", | ||
2065 | "sdhi1_ctrl", | ||
2066 | }; | ||
2067 | |||
2068 | static const char * const sdhi2_groups[] = { | ||
2069 | "sdhi2_data1", | ||
2070 | "sdhi2_data4", | ||
2071 | "sdhi2_ctrl", | ||
2072 | }; | ||
2073 | |||
1881 | static const struct sh_pfc_function pinmux_functions[] = { | 2074 | static const struct sh_pfc_function pinmux_functions[] = { |
1882 | SH_PFC_FUNCTION(irqc), | 2075 | SH_PFC_FUNCTION(irqc), |
2076 | SH_PFC_FUNCTION(mmc0), | ||
2077 | SH_PFC_FUNCTION(mmc1), | ||
1883 | SH_PFC_FUNCTION(scifa0), | 2078 | SH_PFC_FUNCTION(scifa0), |
1884 | SH_PFC_FUNCTION(scifa1), | 2079 | SH_PFC_FUNCTION(scifa1), |
1885 | SH_PFC_FUNCTION(scifb0), | 2080 | SH_PFC_FUNCTION(scifb0), |
1886 | SH_PFC_FUNCTION(scifb1), | 2081 | SH_PFC_FUNCTION(scifb1), |
1887 | SH_PFC_FUNCTION(scifb2), | 2082 | SH_PFC_FUNCTION(scifb2), |
1888 | SH_PFC_FUNCTION(scifb3), | 2083 | SH_PFC_FUNCTION(scifb3), |
2084 | SH_PFC_FUNCTION(sdhi0), | ||
2085 | SH_PFC_FUNCTION(sdhi1), | ||
2086 | SH_PFC_FUNCTION(sdhi2), | ||
1889 | }; | 2087 | }; |
1890 | 2088 | ||
1891 | #undef PORTCR | 2089 | #undef PORTCR |
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c index 1dcbabcd7b3c..f9039102bb43 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c | |||
@@ -1447,11 +1447,11 @@ MMC_PFC_PINS(mmc_ctrl, RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6)); | |||
1447 | MMC_PFC_CTRL(mmc_ctrl, MMC_CLK, MMC_CMD); | 1447 | MMC_PFC_CTRL(mmc_ctrl, MMC_CLK, MMC_CMD); |
1448 | MMC_PFC_PINS(mmc_data1, RCAR_GP_PIN(1, 7)); | 1448 | MMC_PFC_PINS(mmc_data1, RCAR_GP_PIN(1, 7)); |
1449 | MMC_PFC_DAT1(mmc_data1, MMC_D0); | 1449 | MMC_PFC_DAT1(mmc_data1, MMC_D0); |
1450 | MMC_PFC_PINS(mmc_data4, RCAR_GP_PIN(1, 7), RCAR_GP_PIN(2, 8), | 1450 | MMC_PFC_PINS(mmc_data4, RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 8), |
1451 | RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6)); | 1451 | RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6)); |
1452 | MMC_PFC_DAT4(mmc_data4, MMC_D0, MMC_D1, | 1452 | MMC_PFC_DAT4(mmc_data4, MMC_D0, MMC_D1, |
1453 | MMC_D2, MMC_D3); | 1453 | MMC_D2, MMC_D3); |
1454 | MMC_PFC_PINS(mmc_data8, RCAR_GP_PIN(1, 7), RCAR_GP_PIN(2, 8), | 1454 | MMC_PFC_PINS(mmc_data8, RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 8), |
1455 | RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6), | 1455 | RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6), |
1456 | RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 0), | 1456 | RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 0), |
1457 | RCAR_GP_PIN(0, 30), RCAR_GP_PIN(0, 31)); | 1457 | RCAR_GP_PIN(0, 30), RCAR_GP_PIN(0, 31)); |
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c index 85d77a417c0e..14f3ec267e1f 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c | |||
@@ -1979,6 +1979,141 @@ static const unsigned int scif1_clk_e_pins[] = { | |||
1979 | static const unsigned int scif1_clk_e_mux[] = { | 1979 | static const unsigned int scif1_clk_e_mux[] = { |
1980 | SCK1_E_MARK, | 1980 | SCK1_E_MARK, |
1981 | }; | 1981 | }; |
1982 | /* - HSCIF0 ----------------------------------------------------------------- */ | ||
1983 | static const unsigned int hscif0_data_pins[] = { | ||
1984 | /* RX, TX */ | ||
1985 | RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9), | ||
1986 | }; | ||
1987 | static const unsigned int hscif0_data_mux[] = { | ||
1988 | HRX0_MARK, HTX0_MARK, | ||
1989 | }; | ||
1990 | static const unsigned int hscif0_clk_pins[] = { | ||
1991 | /* SCK */ | ||
1992 | RCAR_GP_PIN(5, 7), | ||
1993 | }; | ||
1994 | static const unsigned int hscif0_clk_mux[] = { | ||
1995 | HSCK0_MARK, | ||
1996 | }; | ||
1997 | static const unsigned int hscif0_ctrl_pins[] = { | ||
1998 | /* RTS, CTS */ | ||
1999 | RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 10), | ||
2000 | }; | ||
2001 | static const unsigned int hscif0_ctrl_mux[] = { | ||
2002 | HRTS0_N_MARK, HCTS0_N_MARK, | ||
2003 | }; | ||
2004 | static const unsigned int hscif0_data_b_pins[] = { | ||
2005 | /* RX, TX */ | ||
2006 | RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 12), | ||
2007 | }; | ||
2008 | static const unsigned int hscif0_data_b_mux[] = { | ||
2009 | HRX0_B_MARK, HTX0_B_MARK, | ||
2010 | }; | ||
2011 | static const unsigned int hscif0_ctrl_b_pins[] = { | ||
2012 | /* RTS, CTS */ | ||
2013 | RCAR_GP_PIN(1, 29), RCAR_GP_PIN(1, 28), | ||
2014 | }; | ||
2015 | static const unsigned int hscif0_ctrl_b_mux[] = { | ||
2016 | HRTS0_N_B_MARK, HCTS0_N_B_MARK, | ||
2017 | }; | ||
2018 | static const unsigned int hscif0_data_c_pins[] = { | ||
2019 | /* RX, TX */ | ||
2020 | RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 16), | ||
2021 | }; | ||
2022 | static const unsigned int hscif0_data_c_mux[] = { | ||
2023 | HRX0_C_MARK, HTX0_C_MARK, | ||
2024 | }; | ||
2025 | static const unsigned int hscif0_ctrl_c_pins[] = { | ||
2026 | /* RTS, CTS */ | ||
2027 | RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 7), | ||
2028 | }; | ||
2029 | static const unsigned int hscif0_ctrl_c_mux[] = { | ||
2030 | HRTS0_N_C_MARK, HCTS0_N_C_MARK, | ||
2031 | }; | ||
2032 | static const unsigned int hscif0_data_d_pins[] = { | ||
2033 | /* RX, TX */ | ||
2034 | RCAR_GP_PIN(3, 20), RCAR_GP_PIN(3, 21), | ||
2035 | }; | ||
2036 | static const unsigned int hscif0_data_d_mux[] = { | ||
2037 | HRX0_D_MARK, HTX0_D_MARK, | ||
2038 | }; | ||
2039 | static const unsigned int hscif0_ctrl_d_pins[] = { | ||
2040 | /* RTS, CTS */ | ||
2041 | RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 22), | ||
2042 | }; | ||
2043 | static const unsigned int hscif0_ctrl_d_mux[] = { | ||
2044 | HRTS0_N_D_MARK, HCTS0_N_D_MARK, | ||
2045 | }; | ||
2046 | static const unsigned int hscif0_data_e_pins[] = { | ||
2047 | /* RX, TX */ | ||
2048 | RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22), | ||
2049 | }; | ||
2050 | static const unsigned int hscif0_data_e_mux[] = { | ||
2051 | HRX0_E_MARK, HTX0_E_MARK, | ||
2052 | }; | ||
2053 | static const unsigned int hscif0_ctrl_e_pins[] = { | ||
2054 | /* RTS, CTS */ | ||
2055 | RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 23), | ||
2056 | }; | ||
2057 | static const unsigned int hscif0_ctrl_e_mux[] = { | ||
2058 | HRTS0_N_E_MARK, HCTS0_N_E_MARK, | ||
2059 | }; | ||
2060 | static const unsigned int hscif0_data_f_pins[] = { | ||
2061 | /* RX, TX */ | ||
2062 | RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 25), | ||
2063 | }; | ||
2064 | static const unsigned int hscif0_data_f_mux[] = { | ||
2065 | HRX0_F_MARK, HTX0_F_MARK, | ||
2066 | }; | ||
2067 | static const unsigned int hscif0_ctrl_f_pins[] = { | ||
2068 | /* RTS, CTS */ | ||
2069 | RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 24), | ||
2070 | }; | ||
2071 | static const unsigned int hscif0_ctrl_f_mux[] = { | ||
2072 | HRTS0_N_F_MARK, HCTS0_N_F_MARK, | ||
2073 | }; | ||
2074 | /* - HSCIF1 ----------------------------------------------------------------- */ | ||
2075 | static const unsigned int hscif1_data_pins[] = { | ||
2076 | /* RX, TX */ | ||
2077 | RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 29), | ||
2078 | }; | ||
2079 | static const unsigned int hscif1_data_mux[] = { | ||
2080 | HRX1_MARK, HTX1_MARK, | ||
2081 | }; | ||
2082 | static const unsigned int hscif1_clk_pins[] = { | ||
2083 | /* SCK */ | ||
2084 | RCAR_GP_PIN(4, 27), | ||
2085 | }; | ||
2086 | static const unsigned int hscif1_clk_mux[] = { | ||
2087 | HSCK1_MARK, | ||
2088 | }; | ||
2089 | static const unsigned int hscif1_ctrl_pins[] = { | ||
2090 | /* RTS, CTS */ | ||
2091 | RCAR_GP_PIN(4, 31), RCAR_GP_PIN(4, 30), | ||
2092 | }; | ||
2093 | static const unsigned int hscif1_ctrl_mux[] = { | ||
2094 | HRTS1_N_MARK, HCTS1_N_MARK, | ||
2095 | }; | ||
2096 | static const unsigned int hscif1_data_b_pins[] = { | ||
2097 | /* RX, TX */ | ||
2098 | RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 18), | ||
2099 | }; | ||
2100 | static const unsigned int hscif1_data_b_mux[] = { | ||
2101 | HRX1_B_MARK, HTX1_B_MARK, | ||
2102 | }; | ||
2103 | static const unsigned int hscif1_clk_b_pins[] = { | ||
2104 | /* SCK */ | ||
2105 | RCAR_GP_PIN(1, 28), | ||
2106 | }; | ||
2107 | static const unsigned int hscif1_clk_b_mux[] = { | ||
2108 | HSCK1_B_MARK, | ||
2109 | }; | ||
2110 | static const unsigned int hscif1_ctrl_b_pins[] = { | ||
2111 | /* RTS, CTS */ | ||
2112 | RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), | ||
2113 | }; | ||
2114 | static const unsigned int hscif1_ctrl_b_mux[] = { | ||
2115 | HRTS1_N_B_MARK, HCTS1_N_B_MARK, | ||
2116 | }; | ||
1982 | /* - SCIFA0 ----------------------------------------------------------------- */ | 2117 | /* - SCIFA0 ----------------------------------------------------------------- */ |
1983 | static const unsigned int scifa0_data_pins[] = { | 2118 | static const unsigned int scifa0_data_pins[] = { |
1984 | /* RXD, TXD */ | 2119 | /* RXD, TXD */ |
@@ -2371,8 +2506,7 @@ static const unsigned int tpu0_to3_pins[] = { | |||
2371 | static const unsigned int tpu0_to3_mux[] = { | 2506 | static const unsigned int tpu0_to3_mux[] = { |
2372 | TPU0TO3_MARK, | 2507 | TPU0TO3_MARK, |
2373 | }; | 2508 | }; |
2374 | 2509 | /* - MMCIF0 ----------------------------------------------------------------- */ | |
2375 | /* - MMCIF ------------------------------------------------------------------ */ | ||
2376 | static const unsigned int mmc0_data1_pins[] = { | 2510 | static const unsigned int mmc0_data1_pins[] = { |
2377 | /* D[0] */ | 2511 | /* D[0] */ |
2378 | RCAR_GP_PIN(3, 18), | 2512 | RCAR_GP_PIN(3, 18), |
@@ -2406,7 +2540,7 @@ static const unsigned int mmc0_ctrl_pins[] = { | |||
2406 | static const unsigned int mmc0_ctrl_mux[] = { | 2540 | static const unsigned int mmc0_ctrl_mux[] = { |
2407 | MMC0_CLK_MARK, MMC0_CMD_MARK, | 2541 | MMC0_CLK_MARK, MMC0_CMD_MARK, |
2408 | }; | 2542 | }; |
2409 | 2543 | /* - MMCIF1 ----------------------------------------------------------------- */ | |
2410 | static const unsigned int mmc1_data1_pins[] = { | 2544 | static const unsigned int mmc1_data1_pins[] = { |
2411 | /* D[0] */ | 2545 | /* D[0] */ |
2412 | RCAR_GP_PIN(3, 26), | 2546 | RCAR_GP_PIN(3, 26), |
@@ -2427,7 +2561,7 @@ static const unsigned int mmc1_data8_pins[] = { | |||
2427 | RCAR_GP_PIN(3, 26), RCAR_GP_PIN(3, 27), | 2561 | RCAR_GP_PIN(3, 26), RCAR_GP_PIN(3, 27), |
2428 | RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 29), | 2562 | RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 29), |
2429 | RCAR_GP_PIN(3, 30), RCAR_GP_PIN(3, 31), | 2563 | RCAR_GP_PIN(3, 30), RCAR_GP_PIN(3, 31), |
2430 | RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14), | 2564 | RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), |
2431 | }; | 2565 | }; |
2432 | static const unsigned int mmc1_data8_mux[] = { | 2566 | static const unsigned int mmc1_data8_mux[] = { |
2433 | MMC1_D0_MARK, MMC1_D1_MARK, MMC1_D2_MARK, MMC1_D3_MARK, | 2567 | MMC1_D0_MARK, MMC1_D1_MARK, MMC1_D2_MARK, MMC1_D3_MARK, |
@@ -2440,8 +2574,7 @@ static const unsigned int mmc1_ctrl_pins[] = { | |||
2440 | static const unsigned int mmc1_ctrl_mux[] = { | 2574 | static const unsigned int mmc1_ctrl_mux[] = { |
2441 | MMC1_CLK_MARK, MMC1_CMD_MARK, | 2575 | MMC1_CLK_MARK, MMC1_CMD_MARK, |
2442 | }; | 2576 | }; |
2443 | 2577 | /* - SDHI0 ------------------------------------------------------------------ */ | |
2444 | /* - SDHI ------------------------------------------------------------------- */ | ||
2445 | static const unsigned int sdhi0_data1_pins[] = { | 2578 | static const unsigned int sdhi0_data1_pins[] = { |
2446 | /* D0 */ | 2579 | /* D0 */ |
2447 | RCAR_GP_PIN(3, 2), | 2580 | RCAR_GP_PIN(3, 2), |
@@ -2477,7 +2610,7 @@ static const unsigned int sdhi0_wp_pins[] = { | |||
2477 | static const unsigned int sdhi0_wp_mux[] = { | 2610 | static const unsigned int sdhi0_wp_mux[] = { |
2478 | SD0_WP_MARK, | 2611 | SD0_WP_MARK, |
2479 | }; | 2612 | }; |
2480 | 2613 | /* - SDHI1 ------------------------------------------------------------------ */ | |
2481 | static const unsigned int sdhi1_data1_pins[] = { | 2614 | static const unsigned int sdhi1_data1_pins[] = { |
2482 | /* D0 */ | 2615 | /* D0 */ |
2483 | RCAR_GP_PIN(3, 10), | 2616 | RCAR_GP_PIN(3, 10), |
@@ -2513,7 +2646,7 @@ static const unsigned int sdhi1_wp_pins[] = { | |||
2513 | static const unsigned int sdhi1_wp_mux[] = { | 2646 | static const unsigned int sdhi1_wp_mux[] = { |
2514 | SD1_WP_MARK, | 2647 | SD1_WP_MARK, |
2515 | }; | 2648 | }; |
2516 | 2649 | /* - SDHI2 ------------------------------------------------------------------ */ | |
2517 | static const unsigned int sdhi2_data1_pins[] = { | 2650 | static const unsigned int sdhi2_data1_pins[] = { |
2518 | /* D0 */ | 2651 | /* D0 */ |
2519 | RCAR_GP_PIN(3, 18), | 2652 | RCAR_GP_PIN(3, 18), |
@@ -2549,7 +2682,7 @@ static const unsigned int sdhi2_wp_pins[] = { | |||
2549 | static const unsigned int sdhi2_wp_mux[] = { | 2682 | static const unsigned int sdhi2_wp_mux[] = { |
2550 | SD2_WP_MARK, | 2683 | SD2_WP_MARK, |
2551 | }; | 2684 | }; |
2552 | 2685 | /* - SDHI3 ------------------------------------------------------------------ */ | |
2553 | static const unsigned int sdhi3_data1_pins[] = { | 2686 | static const unsigned int sdhi3_data1_pins[] = { |
2554 | /* D0 */ | 2687 | /* D0 */ |
2555 | RCAR_GP_PIN(3, 26), | 2688 | RCAR_GP_PIN(3, 26), |
@@ -2591,10 +2724,37 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
2591 | SH_PFC_PIN_GROUP(eth_magic), | 2724 | SH_PFC_PIN_GROUP(eth_magic), |
2592 | SH_PFC_PIN_GROUP(eth_mdio), | 2725 | SH_PFC_PIN_GROUP(eth_mdio), |
2593 | SH_PFC_PIN_GROUP(eth_rmii), | 2726 | SH_PFC_PIN_GROUP(eth_rmii), |
2727 | SH_PFC_PIN_GROUP(hscif0_data), | ||
2728 | SH_PFC_PIN_GROUP(hscif0_clk), | ||
2729 | SH_PFC_PIN_GROUP(hscif0_ctrl), | ||
2730 | SH_PFC_PIN_GROUP(hscif0_data_b), | ||
2731 | SH_PFC_PIN_GROUP(hscif0_ctrl_b), | ||
2732 | SH_PFC_PIN_GROUP(hscif0_data_c), | ||
2733 | SH_PFC_PIN_GROUP(hscif0_ctrl_c), | ||
2734 | SH_PFC_PIN_GROUP(hscif0_data_d), | ||
2735 | SH_PFC_PIN_GROUP(hscif0_ctrl_d), | ||
2736 | SH_PFC_PIN_GROUP(hscif0_data_e), | ||
2737 | SH_PFC_PIN_GROUP(hscif0_ctrl_e), | ||
2738 | SH_PFC_PIN_GROUP(hscif0_data_f), | ||
2739 | SH_PFC_PIN_GROUP(hscif0_ctrl_f), | ||
2740 | SH_PFC_PIN_GROUP(hscif1_data), | ||
2741 | SH_PFC_PIN_GROUP(hscif1_clk), | ||
2742 | SH_PFC_PIN_GROUP(hscif1_ctrl), | ||
2743 | SH_PFC_PIN_GROUP(hscif1_data_b), | ||
2744 | SH_PFC_PIN_GROUP(hscif1_clk_b), | ||
2745 | SH_PFC_PIN_GROUP(hscif1_ctrl_b), | ||
2594 | SH_PFC_PIN_GROUP(intc_irq0), | 2746 | SH_PFC_PIN_GROUP(intc_irq0), |
2595 | SH_PFC_PIN_GROUP(intc_irq1), | 2747 | SH_PFC_PIN_GROUP(intc_irq1), |
2596 | SH_PFC_PIN_GROUP(intc_irq2), | 2748 | SH_PFC_PIN_GROUP(intc_irq2), |
2597 | SH_PFC_PIN_GROUP(intc_irq3), | 2749 | SH_PFC_PIN_GROUP(intc_irq3), |
2750 | SH_PFC_PIN_GROUP(mmc0_data1), | ||
2751 | SH_PFC_PIN_GROUP(mmc0_data4), | ||
2752 | SH_PFC_PIN_GROUP(mmc0_data8), | ||
2753 | SH_PFC_PIN_GROUP(mmc0_ctrl), | ||
2754 | SH_PFC_PIN_GROUP(mmc1_data1), | ||
2755 | SH_PFC_PIN_GROUP(mmc1_data4), | ||
2756 | SH_PFC_PIN_GROUP(mmc1_data8), | ||
2757 | SH_PFC_PIN_GROUP(mmc1_ctrl), | ||
2598 | SH_PFC_PIN_GROUP(scif0_data), | 2758 | SH_PFC_PIN_GROUP(scif0_data), |
2599 | SH_PFC_PIN_GROUP(scif0_clk), | 2759 | SH_PFC_PIN_GROUP(scif0_clk), |
2600 | SH_PFC_PIN_GROUP(scif0_ctrl), | 2760 | SH_PFC_PIN_GROUP(scif0_ctrl), |
@@ -2659,18 +2819,6 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
2659 | SH_PFC_PIN_GROUP(scifb2_clk_b), | 2819 | SH_PFC_PIN_GROUP(scifb2_clk_b), |
2660 | SH_PFC_PIN_GROUP(scifb2_ctrl_b), | 2820 | SH_PFC_PIN_GROUP(scifb2_ctrl_b), |
2661 | SH_PFC_PIN_GROUP(scifb2_data_c), | 2821 | SH_PFC_PIN_GROUP(scifb2_data_c), |
2662 | SH_PFC_PIN_GROUP(tpu0_to0), | ||
2663 | SH_PFC_PIN_GROUP(tpu0_to1), | ||
2664 | SH_PFC_PIN_GROUP(tpu0_to2), | ||
2665 | SH_PFC_PIN_GROUP(tpu0_to3), | ||
2666 | SH_PFC_PIN_GROUP(mmc0_data1), | ||
2667 | SH_PFC_PIN_GROUP(mmc0_data4), | ||
2668 | SH_PFC_PIN_GROUP(mmc0_data8), | ||
2669 | SH_PFC_PIN_GROUP(mmc0_ctrl), | ||
2670 | SH_PFC_PIN_GROUP(mmc1_data1), | ||
2671 | SH_PFC_PIN_GROUP(mmc1_data4), | ||
2672 | SH_PFC_PIN_GROUP(mmc1_data8), | ||
2673 | SH_PFC_PIN_GROUP(mmc1_ctrl), | ||
2674 | SH_PFC_PIN_GROUP(sdhi0_data1), | 2822 | SH_PFC_PIN_GROUP(sdhi0_data1), |
2675 | SH_PFC_PIN_GROUP(sdhi0_data4), | 2823 | SH_PFC_PIN_GROUP(sdhi0_data4), |
2676 | SH_PFC_PIN_GROUP(sdhi0_ctrl), | 2824 | SH_PFC_PIN_GROUP(sdhi0_ctrl), |
@@ -2691,6 +2839,10 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
2691 | SH_PFC_PIN_GROUP(sdhi3_ctrl), | 2839 | SH_PFC_PIN_GROUP(sdhi3_ctrl), |
2692 | SH_PFC_PIN_GROUP(sdhi3_cd), | 2840 | SH_PFC_PIN_GROUP(sdhi3_cd), |
2693 | SH_PFC_PIN_GROUP(sdhi3_wp), | 2841 | SH_PFC_PIN_GROUP(sdhi3_wp), |
2842 | SH_PFC_PIN_GROUP(tpu0_to0), | ||
2843 | SH_PFC_PIN_GROUP(tpu0_to1), | ||
2844 | SH_PFC_PIN_GROUP(tpu0_to2), | ||
2845 | SH_PFC_PIN_GROUP(tpu0_to3), | ||
2694 | }; | 2846 | }; |
2695 | 2847 | ||
2696 | static const char * const eth_groups[] = { | 2848 | static const char * const eth_groups[] = { |
@@ -2726,6 +2878,31 @@ static const char * const scif1_groups[] = { | |||
2726 | "scif1_clk_e", | 2878 | "scif1_clk_e", |
2727 | }; | 2879 | }; |
2728 | 2880 | ||
2881 | static const char * const hscif0_groups[] = { | ||
2882 | "hscif0_data", | ||
2883 | "hscif0_clk", | ||
2884 | "hscif0_ctrl", | ||
2885 | "hscif0_data_b", | ||
2886 | "hscif0_ctrl_b", | ||
2887 | "hscif0_data_c", | ||
2888 | "hscif0_ctrl_c", | ||
2889 | "hscif0_data_d", | ||
2890 | "hscif0_ctrl_d", | ||
2891 | "hscif0_data_e", | ||
2892 | "hscif0_ctrl_e", | ||
2893 | "hscif0_data_f", | ||
2894 | "hscif0_ctrl_f", | ||
2895 | }; | ||
2896 | |||
2897 | static const char * const hscif1_groups[] = { | ||
2898 | "hscif1_data", | ||
2899 | "hscif1_clk", | ||
2900 | "hscif1_ctrl", | ||
2901 | "hscif1_data_b", | ||
2902 | "hscif1_clk_b", | ||
2903 | "hscif1_ctrl_b", | ||
2904 | }; | ||
2905 | |||
2729 | static const char * const scifa0_groups[] = { | 2906 | static const char * const scifa0_groups[] = { |
2730 | "scifa0_data", | 2907 | "scifa0_data", |
2731 | "scifa0_clk", | 2908 | "scifa0_clk", |
@@ -2850,7 +3027,11 @@ static const char * const sdhi3_groups[] = { | |||
2850 | 3027 | ||
2851 | static const struct sh_pfc_function pinmux_functions[] = { | 3028 | static const struct sh_pfc_function pinmux_functions[] = { |
2852 | SH_PFC_FUNCTION(eth), | 3029 | SH_PFC_FUNCTION(eth), |
3030 | SH_PFC_FUNCTION(hscif0), | ||
3031 | SH_PFC_FUNCTION(hscif1), | ||
2853 | SH_PFC_FUNCTION(intc), | 3032 | SH_PFC_FUNCTION(intc), |
3033 | SH_PFC_FUNCTION(mmc0), | ||
3034 | SH_PFC_FUNCTION(mmc1), | ||
2854 | SH_PFC_FUNCTION(scif0), | 3035 | SH_PFC_FUNCTION(scif0), |
2855 | SH_PFC_FUNCTION(scif1), | 3036 | SH_PFC_FUNCTION(scif1), |
2856 | SH_PFC_FUNCTION(scifa0), | 3037 | SH_PFC_FUNCTION(scifa0), |
@@ -2859,13 +3040,11 @@ static const struct sh_pfc_function pinmux_functions[] = { | |||
2859 | SH_PFC_FUNCTION(scifb0), | 3040 | SH_PFC_FUNCTION(scifb0), |
2860 | SH_PFC_FUNCTION(scifb1), | 3041 | SH_PFC_FUNCTION(scifb1), |
2861 | SH_PFC_FUNCTION(scifb2), | 3042 | SH_PFC_FUNCTION(scifb2), |
2862 | SH_PFC_FUNCTION(tpu0), | ||
2863 | SH_PFC_FUNCTION(mmc0), | ||
2864 | SH_PFC_FUNCTION(mmc1), | ||
2865 | SH_PFC_FUNCTION(sdhi0), | 3043 | SH_PFC_FUNCTION(sdhi0), |
2866 | SH_PFC_FUNCTION(sdhi1), | 3044 | SH_PFC_FUNCTION(sdhi1), |
2867 | SH_PFC_FUNCTION(sdhi2), | 3045 | SH_PFC_FUNCTION(sdhi2), |
2868 | SH_PFC_FUNCTION(sdhi3), | 3046 | SH_PFC_FUNCTION(sdhi3), |
3047 | SH_PFC_FUNCTION(tpu0), | ||
2869 | }; | 3048 | }; |
2870 | 3049 | ||
2871 | static struct pinmux_cfg_reg pinmux_config_regs[] = { | 3050 | static struct pinmux_cfg_reg pinmux_config_regs[] = { |