diff options
Diffstat (limited to 'drivers/pinctrl/sh-pfc/pfc-r8a73a4.c')
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a73a4.c | 198 |
1 files changed, 198 insertions, 0 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 |