22 #include <linux/kernel.h>
25 #include <mach/irqs.h>
27 #define CPU_ALL_PORT(fn, pfx, sfx) \
28 PORT_10(fn, pfx, sfx), PORT_10(fn, pfx##1, sfx), \
29 PORT_10(fn, pfx##2, sfx), PORT_10(fn, pfx##3, sfx), \
30 PORT_10(fn, pfx##4, sfx), PORT_10(fn, pfx##5, sfx), \
31 PORT_10(fn, pfx##6, sfx), PORT_10(fn, pfx##7, sfx), \
32 PORT_10(fn, pfx##8, sfx), PORT_10(fn, pfx##9, sfx), \
33 PORT_10(fn, pfx##10, sfx), \
34 PORT_1(fn, pfx##110, sfx), PORT_1(fn, pfx##111, sfx), \
35 PORT_1(fn, pfx##112, sfx), PORT_1(fn, pfx##113, sfx), \
36 PORT_1(fn, pfx##114, sfx), PORT_1(fn, pfx##115, sfx), \
37 PORT_1(fn, pfx##116, sfx), PORT_1(fn, pfx##117, sfx), \
38 PORT_1(fn, pfx##118, sfx), \
39 PORT_1(fn, pfx##128, sfx), PORT_1(fn, pfx##129, sfx), \
40 PORT_10(fn, pfx##13, sfx), PORT_10(fn, pfx##14, sfx), \
41 PORT_10(fn, pfx##15, sfx), \
42 PORT_1(fn, pfx##160, sfx), PORT_1(fn, pfx##161, sfx), \
43 PORT_1(fn, pfx##162, sfx), PORT_1(fn, pfx##163, sfx), \
44 PORT_1(fn, pfx##164, sfx), \
45 PORT_1(fn, pfx##192, sfx), PORT_1(fn, pfx##193, sfx), \
46 PORT_1(fn, pfx##194, sfx), PORT_1(fn, pfx##195, sfx), \
47 PORT_1(fn, pfx##196, sfx), PORT_1(fn, pfx##197, sfx), \
48 PORT_1(fn, pfx##198, sfx), PORT_1(fn, pfx##199, sfx), \
49 PORT_10(fn, pfx##20, sfx), PORT_10(fn, pfx##21, sfx), \
50 PORT_10(fn, pfx##22, sfx), PORT_10(fn, pfx##23, sfx), \
51 PORT_10(fn, pfx##24, sfx), PORT_10(fn, pfx##25, sfx), \
52 PORT_10(fn, pfx##26, sfx), PORT_10(fn, pfx##27, sfx), \
53 PORT_1(fn, pfx##280, sfx), PORT_1(fn, pfx##281, sfx), \
54 PORT_1(fn, pfx##282, sfx), \
55 PORT_1(fn, pfx##288, sfx), PORT_1(fn, pfx##289, sfx), \
56 PORT_10(fn, pfx##29, sfx), PORT_10(fn, pfx##30, sfx)
193 PORT53_FSICSPDIF_MARK,
256 PORT115_I2C_SCL3_MARK,
258 PORT116_I2C_SDA3_MARK,
332 PORT218_VIO_CKOR_MARK,
1127 PINMUX_DATA(
NMI_MARK, PORT159_FN3),
1163 PINMUX_DATA(
D16_MARK, PORT200_FN6),
1165 PINMUX_DATA(
D17_MARK, PORT201_FN6),
1167 PINMUX_DATA(
D18_MARK, PORT202_FN6),
1169 PINMUX_DATA(
D19_MARK, PORT203_FN6),
1171 PINMUX_DATA(
D20_MARK, PORT204_FN6),
1173 PINMUX_DATA(
D21_MARK, PORT205_FN6),
1175 PINMUX_DATA(
D22_MARK, PORT206_FN6),
1178 PINMUX_DATA(
D23_MARK, PORT207_FN6),
1181 PINMUX_DATA(
D24_MARK, PORT208_FN6),
1183 PINMUX_DATA(
D25_MARK, PORT209_FN6),
1187 PINMUX_DATA(
D26_MARK, PORT210_FN6),
1190 PINMUX_DATA(
D27_MARK, PORT211_FN6),
1194 PINMUX_DATA(
D28_MARK, PORT212_FN6),
1198 PINMUX_DATA(
D29_MARK, PORT213_FN6),
1202 PINMUX_DATA(
D30_MARK, PORT214_FN6),
1206 PINMUX_DATA(
D31_MARK, PORT215_FN6),
1566 GPIO_FN(SCIFA0_SCK), \
1567 GPIO_FN(FSICOSLDT3), \
1568 GPIO_FN(PORT16_VIO_CKOR),
1572 GPIO_FN(PORT19_VIO_CKO2),
1584 GPIO_FN(PORT27_I2C_SCL2), \
1585 GPIO_FN(PORT27_I2C_SCL3), \
1586 GPIO_FN(MFG0_OUT1), \
1587 GPIO_FN(PORT27_IROUT),
1589 GPIO_FN(PORT28_I2C_SDA2), \
1590 GPIO_FN(PORT28_I2C_SDA3), \
1591 GPIO_FN(PORT28_TPU1TO1),
1593 GPIO_FN(PORT29_TPU1TO1),
1595 GPIO_FN(PORT30_VIO_CKOR),
1597 GPIO_FN(PORT31_IROUT),
1612 GPIO_FN(FSICOSLDT2),
1615 GPIO_FN(FSICOSLDT1),
1625 GPIO_FN(PORT47_FSICSPDIF),
1629 GPIO_FN(PORT49_IRDA_OUT), \
1630 GPIO_FN(PORT49_IROUT), \
1633 GPIO_FN(BBIF2_TSYNC2), \
1638 GPIO_FN(BBIF2_TSCK2), \
1642 GPIO_FN(BBIF2_TXD2),
1644 GPIO_FN(PORT53_IRDA_IN), \
1646 GPIO_FN(FSIBSPDIF), \
1647 GPIO_FN(PORT53_FSICSPDIF),
1649 GPIO_FN(PORT54_IRDA_FIRSEL), \
1659 GPIO_FN(PORT58_KEYOUT7), \
1662 GPIO_FN(PORT59_KEYOUT6), \
1670 GPIO_FN(MSIOF0_SS1),
1673 GPIO_FN(MSIOF0_TSYNC),
1676 GPIO_FN(MSIOF0_TSCK),
1679 GPIO_FN(MSIOF0_TXD),
1682 GPIO_FN(MSIOF0_RSCK),
1685 GPIO_FN(MSIOF0_RSYNC),
1688 GPIO_FN(MSIOF0_MCK0),
1691 GPIO_FN(MSIOF0_MCK1),
1694 GPIO_FN(MSIOF0_RXD),
1697 GPIO_FN(MSIOF0_SS2),
1719 GPIO_FN(PORT91_RDWR),
1745 GPIO_FN(SCIFA3_RTS_), \
1751 GPIO_FN(BBIF1_TSCK),
1753 GPIO_FN(BBIF1_TSYNC),
1757 GPIO_FN(BBIF1_RSCK), \
1758 GPIO_FN(PORT115_I2C_SCL2), \
1759 GPIO_FN(PORT115_I2C_SCL3),
1761 GPIO_FN(BBIF1_RSYNC), \
1762 GPIO_FN(PORT116_I2C_SDA2), \
1763 GPIO_FN(PORT116_I2C_SDA3),
1765 GPIO_FN(BBIF1_SS1), \
1766 GPIO_FN(BBIF1_FLOW),
1769 GPIO_FN(PORT128_LCD2VSYN), \
1774 GPIO_FN(PORT129_LCD2HSYN), \
1775 GPIO_FN(PORT129_LCD2CS_), \
1779 GPIO_FN(PORT130_MSIOF2_RXD), \
1782 GPIO_FN(PORT131_KEYOUT6), \
1783 GPIO_FN(PORT131_MSIOF2_SS1), \
1784 GPIO_FN(PORT131_KEYOUT11), \
1787 GPIO_FN(PORT132_KEYOUT7), \
1788 GPIO_FN(PORT132_MSIOF2_SS2), \
1789 GPIO_FN(PORT132_KEYOUT10), \
1792 GPIO_FN(MSIOF2_TSYNC), \
1795 GPIO_FN(MSIOF2_TXD), \
1798 GPIO_FN(MSIOF2_TSCK), \
1801 GPIO_FN(PORT136_KEYOUT8), \
1804 GPIO_FN(PORT137_KEYOUT9), \
1807 GPIO_FN(PORT138_KEYOUT8), \
1811 GPIO_FN(PORT139_KEYOUT9), \
1823 GPIO_FN(PORT142_KEYOUT10), \
1827 GPIO_FN(PORT143_KEYOUT11), \
1828 GPIO_FN(PORT143_KEYOUT6), \
1832 GPIO_FN(PORT144_KEYOUT7), \
1837 GPIO_FN(PORT145_LCD2DISP), \
1838 GPIO_FN(PORT145_LCD2RS), \
1843 GPIO_FN(PORT146_LCD2WR_), \
1844 GPIO_FN(VIO2_CLK), \
1848 GPIO_FN(VIO2_FIELD), \
1852 GPIO_FN(PORT149_RDWR), \
1853 GPIO_FN(MFG0_IN1), \
1854 GPIO_FN(PORT149_KEYOUT9),
1857 GPIO_FN(MSIOF2_RSCK),
1859 GPIO_FN(MSIOF2_RSYNC),
1861 GPIO_FN(TS_SDEN3), \
1862 GPIO_FN(PORT153_MSIOF2_SS1),
1864 GPIO_FN(MSIOF2_MCK0),
1866 GPIO_FN(MSIOF2_MCK1),
1868 GPIO_FN(PORT156_MSIOF2_SS2),
1870 GPIO_FN(PORT157_MSIOF2_RXD),
1872 GPIO_FN(SCIFA2_SCK1), \
1875 GPIO_FN(PORT159_SCIFA5_SCK), \
1878 GPIO_FN(PORT160_SCIFA5_TXD),
1879 GPIO_FN(PORT161_SCIFB_CTS_), \
1880 GPIO_FN(PORT161_SCIFA5_CTS_),
1882 GPIO_FN(PORT162_SCIFA5_RXD),
1883 GPIO_FN(PORT163_SCIFB_RTS_), \
1884 GPIO_FN(PORT163_SCIFA5_RTS_), \
1888 GPIO_FN(PORT193_SCIFA5_CTS_), \
1889 GPIO_FN(BBIF2_TSYNC1),
1891 GPIO_FN(PORT194_SCIFA5_RTS_), \
1892 GPIO_FN(BBIF2_TSCK1),
1894 GPIO_FN(PORT195_SCIFA5_RXD), \
1895 GPIO_FN(BBIF2_TXD1),
1897 GPIO_FN(PORT196_SCIFA5_TXD),
1899 GPIO_FN(PORT197_SCIFA5_SCK), \
1900 GPIO_FN(MFG2_OUT2), \
1921 GPIO_FN(PORT207_MSIOF0L_SS1), \
1924 GPIO_FN(PORT208_MSIOF0L_SS2), \
1930 GPIO_FN(PORT210_MSIOF0L_SS1), \
1933 GPIO_FN(PORT211_MSIOF0L_SS2), \
1936 GPIO_FN(TS_SPSYNC1), \
1937 GPIO_FN(MSIOF0L_MCK0), \
1940 GPIO_FN(TS_SDAT1), \
1941 GPIO_FN(MSIOF0L_MCK1), \
1944 GPIO_FN(TS_SDEN1), \
1945 GPIO_FN(MSIOF0L_RSCK), \
1949 GPIO_FN(MSIOF0L_RSYNC), \
1955 GPIO_FN(PORT217_LCD2RS), \
1956 GPIO_FN(MSIOF0L_TSYNC), \
1957 GPIO_FN(VIO2_FIELD3), \
1958 GPIO_FN(PORT217_LCD2DISP),
1963 GPIO_FN(PORT218_VIO_CKOR),
1966 GPIO_FN(PORT219_LCD2WR_), \
1968 GPIO_FN(MSIOF0L_TSCK), \
1969 GPIO_FN(VIO2_CLK3), \
1975 GPIO_FN(PORT221_LCD2CS_), \
1977 GPIO_FN(MSIOF0L_RXD), \
1978 GPIO_FN(VIO2_HD3), \
1979 GPIO_FN(PORT221_LCD2HSYN),
1984 GPIO_FN(MSIOF0L_TXD), \
1985 GPIO_FN(VIO2_VD3), \
1986 GPIO_FN(PORT222_LCD2VSYN),
1991 GPIO_FN(SCIFA1_SCK), \
1992 GPIO_FN(PORT226_VIO_CKO2),
1999 GPIO_FN(SCIFA2_TXD2),
2001 GPIO_FN(SCIFA2_CTS2_),
2003 GPIO_FN(SCIFA2_SCK2),
2005 GPIO_FN(SCIFA2_RXD2),
2007 GPIO_FN(SCIFA2_RTS2_), \
2008 GPIO_FN(VIO2_CLK2), \
2011 GPIO_FN(MFG1_IN2), \
2012 GPIO_FN(VIO2_VD2), \
2015 GPIO_FN(PORT236_I2C_SDA2),
2017 GPIO_FN(PORT237_I2C_SCL2),
2019 GPIO_FN(VIO2_FIELD2), \
2022 GPIO_FN(VIO2_HD2), \
2026 GPIO_FN(PORT241_IROUT), \
2027 GPIO_FN(MFG4_OUT1), \
2031 GPIO_FN(PORT243_IRDA_FIRSEL), \
2032 GPIO_FN(PORT243_VIO_CKO2),
2033 GPIO_FN(PORT244_SCIFA5_CTS_), \
2034 GPIO_FN(MFG2_IN1), \
2035 GPIO_FN(PORT244_SCIFB_CTS_), \
2036 GPIO_FN(MSIOF2R_RXD),
2037 GPIO_FN(PORT245_SCIFA5_RTS_), \
2038 GPIO_FN(MFG2_IN2), \
2039 GPIO_FN(PORT245_SCIFB_RTS_), \
2040 GPIO_FN(MSIOF2R_TXD),
2041 GPIO_FN(PORT246_SCIFA5_RXD), \
2042 GPIO_FN(MFG1_OUT1), \
2043 GPIO_FN(PORT246_SCIFB_RXD), \
2045 GPIO_FN(PORT247_SCIFA5_TXD), \
2046 GPIO_FN(MFG3_OUT2), \
2047 GPIO_FN(PORT247_SCIFB_TXD), \
2049 GPIO_FN(PORT248_SCIFA5_SCK), \
2050 GPIO_FN(MFG2_OUT1), \
2051 GPIO_FN(PORT248_SCIFB_SCK), \
2053 GPIO_FN(PORT248_I2C_SCL3), \
2054 GPIO_FN(MSIOF2R_TSCK),
2056 GPIO_FN(MFG4_IN1), \
2057 GPIO_FN(PORT249_I2C_SDA3), \
2058 GPIO_FN(MSIOF2R_TSYNC),
2069 GPIO_FN(TS_SPSYNC2),
2079 GPIO_FN(TS_SPSYNC4),
2093 GPIO_FN(TS_SPSYNC5),
2134 GPIO_FN(MCP_RDWR_MCP_FWE),
2634 PORT31_DATA, PORT30_DATA, PORT29_DATA, PORT28_DATA,
2635 PORT27_DATA, PORT26_DATA, PORT25_DATA, PORT24_DATA,
2636 PORT23_DATA, PORT22_DATA, PORT21_DATA, PORT20_DATA,
2637 PORT19_DATA, PORT18_DATA, PORT17_DATA, PORT16_DATA,
2638 PORT15_DATA, PORT14_DATA, PORT13_DATA, PORT12_DATA,
2639 PORT11_DATA, PORT10_DATA, PORT9_DATA, PORT8_DATA,
2640 PORT7_DATA, PORT6_DATA, PORT5_DATA, PORT4_DATA,
2641 PORT3_DATA, PORT2_DATA, PORT1_DATA, PORT0_DATA }
2644 PORT63_DATA, PORT62_DATA, PORT61_DATA, PORT60_DATA,
2645 PORT59_DATA, PORT58_DATA, PORT57_DATA, PORT56_DATA,
2646 PORT55_DATA, PORT54_DATA, PORT53_DATA, PORT52_DATA,
2647 PORT51_DATA, PORT50_DATA, PORT49_DATA, PORT48_DATA,
2648 PORT47_DATA, PORT46_DATA, PORT45_DATA, PORT44_DATA,
2649 PORT43_DATA, PORT42_DATA, PORT41_DATA, PORT40_DATA,
2650 PORT39_DATA, PORT38_DATA, PORT37_DATA, PORT36_DATA,
2651 PORT35_DATA, PORT34_DATA, PORT33_DATA, PORT32_DATA }
2654 PORT95_DATA, PORT94_DATA, PORT93_DATA, PORT92_DATA,
2655 PORT91_DATA, PORT90_DATA, PORT89_DATA, PORT88_DATA,
2656 PORT87_DATA, PORT86_DATA, PORT85_DATA, PORT84_DATA,
2657 PORT83_DATA, PORT82_DATA, PORT81_DATA, PORT80_DATA,
2658 PORT79_DATA, PORT78_DATA, PORT77_DATA, PORT76_DATA,
2659 PORT75_DATA, PORT74_DATA, PORT73_DATA, PORT72_DATA,
2660 PORT71_DATA, PORT70_DATA, PORT69_DATA, PORT68_DATA,
2661 PORT67_DATA, PORT66_DATA, PORT65_DATA, PORT64_DATA }
2666 0, PORT118_DATA, PORT117_DATA, PORT116_DATA,
2667 PORT115_DATA, PORT114_DATA, PORT113_DATA, PORT112_DATA,
2668 PORT111_DATA, PORT110_DATA, PORT109_DATA, PORT108_DATA,
2669 PORT107_DATA, PORT106_DATA, PORT105_DATA, PORT104_DATA,
2670 PORT103_DATA, PORT102_DATA, PORT101_DATA, PORT100_DATA,
2671 PORT99_DATA, PORT98_DATA, PORT97_DATA, PORT96_DATA }
2674 PORT159_DATA, PORT158_DATA, PORT157_DATA, PORT156_DATA,
2675 PORT155_DATA, PORT154_DATA, PORT153_DATA, PORT152_DATA,
2676 PORT151_DATA, PORT150_DATA, PORT149_DATA, PORT148_DATA,
2677 PORT147_DATA, PORT146_DATA, PORT145_DATA, PORT144_DATA,
2678 PORT143_DATA, PORT142_DATA, PORT141_DATA, PORT140_DATA,
2679 PORT139_DATA, PORT138_DATA, PORT137_DATA, PORT136_DATA,
2680 PORT135_DATA, PORT134_DATA, PORT133_DATA, PORT132_DATA,
2681 PORT131_DATA, PORT130_DATA, PORT129_DATA, PORT128_DATA }
2690 0, 0, 0, PORT164_DATA,
2691 PORT163_DATA, PORT162_DATA, PORT161_DATA, PORT160_DATA }
2694 PORT223_DATA, PORT222_DATA, PORT221_DATA, PORT220_DATA,
2695 PORT219_DATA, PORT218_DATA, PORT217_DATA, PORT216_DATA,
2696 PORT215_DATA, PORT214_DATA, PORT213_DATA, PORT212_DATA,
2697 PORT211_DATA, PORT210_DATA, PORT209_DATA, PORT208_DATA,
2698 PORT207_DATA, PORT206_DATA, PORT205_DATA, PORT204_DATA,
2699 PORT203_DATA, PORT202_DATA, PORT201_DATA, PORT200_DATA,
2700 PORT199_DATA, PORT198_DATA, PORT197_DATA, PORT196_DATA,
2701 PORT195_DATA, PORT194_DATA, PORT193_DATA, PORT192_DATA }
2704 PORT255_DATA, PORT254_DATA, PORT253_DATA, PORT252_DATA,
2705 PORT251_DATA, PORT250_DATA, PORT249_DATA, PORT248_DATA,
2706 PORT247_DATA, PORT246_DATA, PORT245_DATA, PORT244_DATA,
2707 PORT243_DATA, PORT242_DATA, PORT241_DATA, PORT240_DATA,
2708 PORT239_DATA, PORT238_DATA, PORT237_DATA, PORT236_DATA,
2709 PORT235_DATA, PORT234_DATA, PORT233_DATA, PORT232_DATA,
2710 PORT231_DATA, PORT230_DATA, PORT229_DATA, PORT228_DATA,
2711 PORT227_DATA, PORT226_DATA, PORT225_DATA, PORT224_DATA }
2715 0, PORT282_DATA, PORT281_DATA, PORT280_DATA,
2716 PORT279_DATA, PORT278_DATA, PORT277_DATA, PORT276_DATA,
2717 PORT275_DATA, PORT274_DATA, PORT273_DATA, PORT272_DATA,
2718 PORT271_DATA, PORT270_DATA, PORT269_DATA, PORT268_DATA,
2719 PORT267_DATA, PORT266_DATA, PORT265_DATA, PORT264_DATA,
2720 PORT263_DATA, PORT262_DATA, PORT261_DATA, PORT260_DATA,
2721 PORT259_DATA, PORT258_DATA, PORT257_DATA, PORT256_DATA }
2726 0, 0, PORT309_DATA, PORT308_DATA,
2727 PORT307_DATA, PORT306_DATA, PORT305_DATA, PORT304_DATA,
2728 PORT303_DATA, PORT302_DATA, PORT301_DATA, PORT300_DATA,
2729 PORT299_DATA, PORT298_DATA, PORT297_DATA, PORT296_DATA,
2730 PORT295_DATA, PORT294_DATA, PORT293_DATA, PORT292_DATA,
2731 PORT291_DATA, PORT290_DATA, PORT289_DATA, PORT288_DATA }
2737 #define EXT_IRQ16L(n) intcs_evt2irq(0x200 + ((n) << 5))
2738 #define EXT_IRQ16H(n) intcs_evt2irq(0x3200 + ((n - 16) << 5))
2776 .name =
"sh73a0_pfc",
2789 .gpios = pinmux_gpios,
2790 .cfg_regs = pinmux_config_regs,
2791 .data_regs = pinmux_data_regs,
2793 .gpio_data = pinmux_data,
2796 .gpio_irq = pinmux_irqs,
2802 register_pinmux(&sh73a0_pinmux_info);