diff options
Diffstat (limited to 'drivers/pinctrl/pinctrl-tegra20.c')
-rw-r--r-- | drivers/pinctrl/pinctrl-tegra20.c | 627 |
1 files changed, 1 insertions, 626 deletions
diff --git a/drivers/pinctrl/pinctrl-tegra20.c b/drivers/pinctrl/pinctrl-tegra20.c index a8ceb08172b2..e0b504088387 100644 --- a/drivers/pinctrl/pinctrl-tegra20.c +++ b/drivers/pinctrl/pinctrl-tegra20.c | |||
@@ -1894,637 +1894,12 @@ enum tegra_mux { | |||
1894 | TEGRA_MUX_XIO, | 1894 | TEGRA_MUX_XIO, |
1895 | }; | 1895 | }; |
1896 | 1896 | ||
1897 | static const char * const ahb_clk_groups[] = { | ||
1898 | "cdev2", | ||
1899 | }; | ||
1900 | |||
1901 | static const char * const apb_clk_groups[] = { | ||
1902 | "cdev2", | ||
1903 | }; | ||
1904 | |||
1905 | static const char * const audio_sync_groups[] = { | ||
1906 | "cdev1", | ||
1907 | }; | ||
1908 | |||
1909 | static const char * const crt_groups[] = { | ||
1910 | "crtp", | ||
1911 | "lm1", | ||
1912 | }; | ||
1913 | |||
1914 | static const char * const dap1_groups[] = { | ||
1915 | "dap1", | ||
1916 | }; | ||
1917 | |||
1918 | static const char * const dap2_groups[] = { | ||
1919 | "dap2", | ||
1920 | }; | ||
1921 | |||
1922 | static const char * const dap3_groups[] = { | ||
1923 | "dap3", | ||
1924 | }; | ||
1925 | |||
1926 | static const char * const dap4_groups[] = { | ||
1927 | "dap4", | ||
1928 | }; | ||
1929 | |||
1930 | static const char * const dap5_groups[] = { | ||
1931 | "gme", | ||
1932 | }; | ||
1933 | |||
1934 | static const char * const displaya_groups[] = { | ||
1935 | "lcsn", | ||
1936 | "ld0", | ||
1937 | "ld1", | ||
1938 | "ld10", | ||
1939 | "ld11", | ||
1940 | "ld12", | ||
1941 | "ld13", | ||
1942 | "ld14", | ||
1943 | "ld15", | ||
1944 | "ld16", | ||
1945 | "ld17", | ||
1946 | "ld2", | ||
1947 | "ld3", | ||
1948 | "ld4", | ||
1949 | "ld5", | ||
1950 | "ld6", | ||
1951 | "ld7", | ||
1952 | "ld8", | ||
1953 | "ld9", | ||
1954 | "ldc", | ||
1955 | "ldi", | ||
1956 | "lhp0", | ||
1957 | "lhp1", | ||
1958 | "lhp2", | ||
1959 | "lhs", | ||
1960 | "lm0", | ||
1961 | "lm1", | ||
1962 | "lpp", | ||
1963 | "lpw0", | ||
1964 | "lpw1", | ||
1965 | "lpw2", | ||
1966 | "lsc0", | ||
1967 | "lsc1", | ||
1968 | "lsck", | ||
1969 | "lsda", | ||
1970 | "lsdi", | ||
1971 | "lspi", | ||
1972 | "lvp0", | ||
1973 | "lvp1", | ||
1974 | "lvs", | ||
1975 | }; | ||
1976 | |||
1977 | static const char * const displayb_groups[] = { | ||
1978 | "lcsn", | ||
1979 | "ld0", | ||
1980 | "ld1", | ||
1981 | "ld10", | ||
1982 | "ld11", | ||
1983 | "ld12", | ||
1984 | "ld13", | ||
1985 | "ld14", | ||
1986 | "ld15", | ||
1987 | "ld16", | ||
1988 | "ld17", | ||
1989 | "ld2", | ||
1990 | "ld3", | ||
1991 | "ld4", | ||
1992 | "ld5", | ||
1993 | "ld6", | ||
1994 | "ld7", | ||
1995 | "ld8", | ||
1996 | "ld9", | ||
1997 | "ldc", | ||
1998 | "ldi", | ||
1999 | "lhp0", | ||
2000 | "lhp1", | ||
2001 | "lhp2", | ||
2002 | "lhs", | ||
2003 | "lm0", | ||
2004 | "lm1", | ||
2005 | "lpp", | ||
2006 | "lpw0", | ||
2007 | "lpw1", | ||
2008 | "lpw2", | ||
2009 | "lsc0", | ||
2010 | "lsc1", | ||
2011 | "lsck", | ||
2012 | "lsda", | ||
2013 | "lsdi", | ||
2014 | "lspi", | ||
2015 | "lvp0", | ||
2016 | "lvp1", | ||
2017 | "lvs", | ||
2018 | }; | ||
2019 | |||
2020 | static const char * const emc_test0_dll_groups[] = { | ||
2021 | "kbca", | ||
2022 | }; | ||
2023 | |||
2024 | static const char * const emc_test1_dll_groups[] = { | ||
2025 | "kbcc", | ||
2026 | }; | ||
2027 | |||
2028 | static const char * const gmi_groups[] = { | ||
2029 | "ata", | ||
2030 | "atb", | ||
2031 | "atc", | ||
2032 | "atd", | ||
2033 | "ate", | ||
2034 | "dap1", | ||
2035 | "dap2", | ||
2036 | "dap4", | ||
2037 | "gma", | ||
2038 | "gmb", | ||
2039 | "gmc", | ||
2040 | "gmd", | ||
2041 | "gme", | ||
2042 | "gpu", | ||
2043 | "irrx", | ||
2044 | "irtx", | ||
2045 | "pta", | ||
2046 | "spia", | ||
2047 | "spib", | ||
2048 | "spic", | ||
2049 | "spid", | ||
2050 | "spie", | ||
2051 | "uca", | ||
2052 | "ucb", | ||
2053 | }; | ||
2054 | |||
2055 | static const char * const gmi_int_groups[] = { | ||
2056 | "gmb", | ||
2057 | }; | ||
2058 | |||
2059 | static const char * const hdmi_groups[] = { | ||
2060 | "hdint", | ||
2061 | "lpw0", | ||
2062 | "lpw2", | ||
2063 | "lsc1", | ||
2064 | "lsck", | ||
2065 | "lsda", | ||
2066 | "lspi", | ||
2067 | "pta", | ||
2068 | }; | ||
2069 | |||
2070 | static const char * const i2cp_groups[] = { | ||
2071 | "i2cp", | ||
2072 | }; | ||
2073 | |||
2074 | static const char * const i2c1_groups[] = { | ||
2075 | "rm", | ||
2076 | "spdi", | ||
2077 | "spdo", | ||
2078 | "spig", | ||
2079 | "spih", | ||
2080 | }; | ||
2081 | |||
2082 | static const char * const i2c2_groups[] = { | ||
2083 | "ddc", | ||
2084 | "pta", | ||
2085 | }; | ||
2086 | |||
2087 | static const char * const i2c3_groups[] = { | ||
2088 | "dtf", | ||
2089 | }; | ||
2090 | |||
2091 | static const char * const ide_groups[] = { | ||
2092 | "ata", | ||
2093 | "atb", | ||
2094 | "atc", | ||
2095 | "atd", | ||
2096 | "ate", | ||
2097 | "gmb", | ||
2098 | }; | ||
2099 | |||
2100 | static const char * const irda_groups[] = { | ||
2101 | "uad", | ||
2102 | }; | ||
2103 | |||
2104 | static const char * const kbc_groups[] = { | ||
2105 | "kbca", | ||
2106 | "kbcb", | ||
2107 | "kbcc", | ||
2108 | "kbcd", | ||
2109 | "kbce", | ||
2110 | "kbcf", | ||
2111 | }; | ||
2112 | |||
2113 | static const char * const mio_groups[] = { | ||
2114 | "kbcb", | ||
2115 | "kbcd", | ||
2116 | "kbcf", | ||
2117 | }; | ||
2118 | |||
2119 | static const char * const mipi_hs_groups[] = { | ||
2120 | "uaa", | ||
2121 | "uab", | ||
2122 | }; | ||
2123 | |||
2124 | static const char * const nand_groups[] = { | ||
2125 | "ata", | ||
2126 | "atb", | ||
2127 | "atc", | ||
2128 | "atd", | ||
2129 | "ate", | ||
2130 | "gmb", | ||
2131 | "gmd", | ||
2132 | "kbca", | ||
2133 | "kbcb", | ||
2134 | "kbcc", | ||
2135 | "kbcd", | ||
2136 | "kbce", | ||
2137 | "kbcf", | ||
2138 | }; | ||
2139 | |||
2140 | static const char * const osc_groups[] = { | ||
2141 | "cdev1", | ||
2142 | "cdev2", | ||
2143 | }; | ||
2144 | |||
2145 | static const char * const owr_groups[] = { | ||
2146 | "kbce", | ||
2147 | "owc", | ||
2148 | "uac", | ||
2149 | }; | ||
2150 | |||
2151 | static const char * const pcie_groups[] = { | ||
2152 | "gpv", | ||
2153 | "slxa", | ||
2154 | "slxk", | ||
2155 | }; | ||
2156 | |||
2157 | static const char * const plla_out_groups[] = { | ||
2158 | "cdev1", | ||
2159 | }; | ||
2160 | |||
2161 | static const char * const pllc_out1_groups[] = { | ||
2162 | "csus", | ||
2163 | }; | ||
2164 | |||
2165 | static const char * const pllm_out1_groups[] = { | ||
2166 | "cdev1", | ||
2167 | }; | ||
2168 | |||
2169 | static const char * const pllp_out2_groups[] = { | ||
2170 | "csus", | ||
2171 | }; | ||
2172 | |||
2173 | static const char * const pllp_out3_groups[] = { | ||
2174 | "csus", | ||
2175 | }; | ||
2176 | |||
2177 | static const char * const pllp_out4_groups[] = { | ||
2178 | "cdev2", | ||
2179 | }; | ||
2180 | |||
2181 | static const char * const pwm_groups[] = { | ||
2182 | "gpu", | ||
2183 | "sdb", | ||
2184 | "sdc", | ||
2185 | "sdd", | ||
2186 | "ucb", | ||
2187 | }; | ||
2188 | |||
2189 | static const char * const pwr_intr_groups[] = { | ||
2190 | "pmc", | ||
2191 | }; | ||
2192 | |||
2193 | static const char * const pwr_on_groups[] = { | ||
2194 | "pmc", | ||
2195 | }; | ||
2196 | |||
2197 | static const char * const rsvd1_groups[] = { | ||
2198 | "dta", | ||
2199 | "dtb", | ||
2200 | "dtc", | ||
2201 | "dtd", | ||
2202 | "dte", | ||
2203 | "gmd", | ||
2204 | "gme", | ||
2205 | }; | ||
2206 | |||
2207 | static const char * const rsvd2_groups[] = { | ||
2208 | "crtp", | ||
2209 | "dap1", | ||
2210 | "dap3", | ||
2211 | "dap4", | ||
2212 | "ddc", | ||
2213 | "dtb", | ||
2214 | "dtc", | ||
2215 | "dte", | ||
2216 | "dtf", | ||
2217 | "gpu7", | ||
2218 | "gpv", | ||
2219 | "hdint", | ||
2220 | "i2cp", | ||
2221 | "owc", | ||
2222 | "rm", | ||
2223 | "sdio1", | ||
2224 | "spdi", | ||
2225 | "spdo", | ||
2226 | "uac", | ||
2227 | "uca", | ||
2228 | "uda", | ||
2229 | }; | ||
2230 | |||
2231 | static const char * const rsvd3_groups[] = { | ||
2232 | "crtp", | ||
2233 | "dap2", | ||
2234 | "dap3", | ||
2235 | "ddc", | ||
2236 | "gpu7", | ||
2237 | "gpv", | ||
2238 | "hdint", | ||
2239 | "i2cp", | ||
2240 | "ld17", | ||
2241 | "ldc", | ||
2242 | "ldi", | ||
2243 | "lhp0", | ||
2244 | "lhp1", | ||
2245 | "lhp2", | ||
2246 | "lm1", | ||
2247 | "lpp", | ||
2248 | "lpw1", | ||
2249 | "lvp0", | ||
2250 | "lvp1", | ||
2251 | "owc", | ||
2252 | "pmc", | ||
2253 | "rm", | ||
2254 | "uac", | ||
2255 | }; | ||
2256 | |||
2257 | static const char * const rsvd4_groups[] = { | ||
2258 | "ata", | ||
2259 | "ate", | ||
2260 | "crtp", | ||
2261 | "dap3", | ||
2262 | "dap4", | ||
2263 | "ddc", | ||
2264 | "dta", | ||
2265 | "dtc", | ||
2266 | "dtd", | ||
2267 | "dtf", | ||
2268 | "gpu", | ||
2269 | "gpu7", | ||
2270 | "gpv", | ||
2271 | "hdint", | ||
2272 | "i2cp", | ||
2273 | "kbce", | ||
2274 | "lcsn", | ||
2275 | "ld0", | ||
2276 | "ld1", | ||
2277 | "ld2", | ||
2278 | "ld3", | ||
2279 | "ld4", | ||
2280 | "ld5", | ||
2281 | "ld6", | ||
2282 | "ld7", | ||
2283 | "ld8", | ||
2284 | "ld9", | ||
2285 | "ld10", | ||
2286 | "ld11", | ||
2287 | "ld12", | ||
2288 | "ld13", | ||
2289 | "ld14", | ||
2290 | "ld15", | ||
2291 | "ld16", | ||
2292 | "ld17", | ||
2293 | "ldc", | ||
2294 | "ldi", | ||
2295 | "lhp0", | ||
2296 | "lhp1", | ||
2297 | "lhp2", | ||
2298 | "lhs", | ||
2299 | "lm0", | ||
2300 | "lpp", | ||
2301 | "lpw1", | ||
2302 | "lsc0", | ||
2303 | "lsdi", | ||
2304 | "lvp0", | ||
2305 | "lvp1", | ||
2306 | "lvs", | ||
2307 | "owc", | ||
2308 | "pmc", | ||
2309 | "pta", | ||
2310 | "rm", | ||
2311 | "spif", | ||
2312 | "uac", | ||
2313 | "uca", | ||
2314 | "ucb", | ||
2315 | }; | ||
2316 | |||
2317 | static const char * const rtck_groups[] = { | ||
2318 | "gpu7", | ||
2319 | }; | ||
2320 | |||
2321 | static const char * const sdio1_groups[] = { | ||
2322 | "sdio1", | ||
2323 | }; | ||
2324 | |||
2325 | static const char * const sdio2_groups[] = { | ||
2326 | "dap1", | ||
2327 | "dta", | ||
2328 | "dtd", | ||
2329 | "kbca", | ||
2330 | "kbcb", | ||
2331 | "kbcd", | ||
2332 | "spdi", | ||
2333 | "spdo", | ||
2334 | }; | ||
2335 | |||
2336 | static const char * const sdio3_groups[] = { | ||
2337 | "sdb", | ||
2338 | "sdc", | ||
2339 | "sdd", | ||
2340 | "slxa", | ||
2341 | "slxc", | ||
2342 | "slxd", | ||
2343 | "slxk", | ||
2344 | }; | ||
2345 | |||
2346 | static const char * const sdio4_groups[] = { | ||
2347 | "atb", | ||
2348 | "atc", | ||
2349 | "atd", | ||
2350 | "gma", | ||
2351 | "gme", | ||
2352 | }; | ||
2353 | |||
2354 | static const char * const sflash_groups[] = { | ||
2355 | "gmc", | ||
2356 | "gmd", | ||
2357 | }; | ||
2358 | |||
2359 | static const char * const spdif_groups[] = { | ||
2360 | "slxc", | ||
2361 | "slxd", | ||
2362 | "spdi", | ||
2363 | "spdo", | ||
2364 | "uad", | ||
2365 | }; | ||
2366 | |||
2367 | static const char * const spi1_groups[] = { | ||
2368 | "dtb", | ||
2369 | "dte", | ||
2370 | "spia", | ||
2371 | "spib", | ||
2372 | "spic", | ||
2373 | "spid", | ||
2374 | "spie", | ||
2375 | "spif", | ||
2376 | "uda", | ||
2377 | }; | ||
2378 | |||
2379 | static const char * const spi2_groups[] = { | ||
2380 | "sdb", | ||
2381 | "slxa", | ||
2382 | "slxc", | ||
2383 | "slxd", | ||
2384 | "slxk", | ||
2385 | "spia", | ||
2386 | "spib", | ||
2387 | "spic", | ||
2388 | "spid", | ||
2389 | "spie", | ||
2390 | "spif", | ||
2391 | "spig", | ||
2392 | "spih", | ||
2393 | "uab", | ||
2394 | }; | ||
2395 | |||
2396 | static const char * const spi2_alt_groups[] = { | ||
2397 | "spid", | ||
2398 | "spie", | ||
2399 | "spig", | ||
2400 | "spih", | ||
2401 | }; | ||
2402 | |||
2403 | static const char * const spi3_groups[] = { | ||
2404 | "gma", | ||
2405 | "lcsn", | ||
2406 | "lm0", | ||
2407 | "lpw0", | ||
2408 | "lpw2", | ||
2409 | "lsc1", | ||
2410 | "lsck", | ||
2411 | "lsda", | ||
2412 | "lsdi", | ||
2413 | "sdc", | ||
2414 | "sdd", | ||
2415 | "spia", | ||
2416 | "spib", | ||
2417 | "spic", | ||
2418 | "spif", | ||
2419 | "spig", | ||
2420 | "spih", | ||
2421 | "uaa", | ||
2422 | }; | ||
2423 | |||
2424 | static const char * const spi4_groups[] = { | ||
2425 | "gmc", | ||
2426 | "irrx", | ||
2427 | "irtx", | ||
2428 | "slxa", | ||
2429 | "slxc", | ||
2430 | "slxd", | ||
2431 | "slxk", | ||
2432 | "uad", | ||
2433 | }; | ||
2434 | |||
2435 | static const char * const trace_groups[] = { | ||
2436 | "kbcc", | ||
2437 | "kbcf", | ||
2438 | }; | ||
2439 | |||
2440 | static const char * const twc_groups[] = { | ||
2441 | "dap2", | ||
2442 | "sdc", | ||
2443 | }; | ||
2444 | |||
2445 | static const char * const uarta_groups[] = { | ||
2446 | "gpu", | ||
2447 | "irrx", | ||
2448 | "irtx", | ||
2449 | "sdb", | ||
2450 | "sdd", | ||
2451 | "sdio1", | ||
2452 | "uaa", | ||
2453 | "uab", | ||
2454 | "uad", | ||
2455 | }; | ||
2456 | |||
2457 | static const char * const uartb_groups[] = { | ||
2458 | "irrx", | ||
2459 | "irtx", | ||
2460 | }; | ||
2461 | |||
2462 | static const char * const uartc_groups[] = { | ||
2463 | "uca", | ||
2464 | "ucb", | ||
2465 | }; | ||
2466 | |||
2467 | static const char * const uartd_groups[] = { | ||
2468 | "gmc", | ||
2469 | "uda", | ||
2470 | }; | ||
2471 | |||
2472 | static const char * const uarte_groups[] = { | ||
2473 | "gma", | ||
2474 | "sdio1", | ||
2475 | }; | ||
2476 | |||
2477 | static const char * const ulpi_groups[] = { | ||
2478 | "uaa", | ||
2479 | "uab", | ||
2480 | "uda", | ||
2481 | }; | ||
2482 | |||
2483 | static const char * const vi_groups[] = { | ||
2484 | "dta", | ||
2485 | "dtb", | ||
2486 | "dtc", | ||
2487 | "dtd", | ||
2488 | "dte", | ||
2489 | "dtf", | ||
2490 | }; | ||
2491 | |||
2492 | static const char * const vi_sensor_clk_groups[] = { | ||
2493 | "csus", | ||
2494 | }; | ||
2495 | |||
2496 | static const char * const xio_groups[] = { | ||
2497 | "ld0", | ||
2498 | "ld1", | ||
2499 | "ld10", | ||
2500 | "ld11", | ||
2501 | "ld12", | ||
2502 | "ld13", | ||
2503 | "ld14", | ||
2504 | "ld15", | ||
2505 | "ld16", | ||
2506 | "ld2", | ||
2507 | "ld3", | ||
2508 | "ld4", | ||
2509 | "ld5", | ||
2510 | "ld6", | ||
2511 | "ld7", | ||
2512 | "ld8", | ||
2513 | "ld9", | ||
2514 | "lhs", | ||
2515 | "lsc0", | ||
2516 | "lspi", | ||
2517 | "lvs", | ||
2518 | }; | ||
2519 | |||
2520 | #define FUNCTION(fname) \ | 1897 | #define FUNCTION(fname) \ |
2521 | { \ | 1898 | { \ |
2522 | .name = #fname, \ | 1899 | .name = #fname, \ |
2523 | .groups = fname##_groups, \ | ||
2524 | .ngroups = ARRAY_SIZE(fname##_groups), \ | ||
2525 | } | 1900 | } |
2526 | 1901 | ||
2527 | static const struct tegra_function tegra20_functions[] = { | 1902 | static struct tegra_function tegra20_functions[] = { |
2528 | FUNCTION(ahb_clk), | 1903 | FUNCTION(ahb_clk), |
2529 | FUNCTION(apb_clk), | 1904 | FUNCTION(apb_clk), |
2530 | FUNCTION(audio_sync), | 1905 | FUNCTION(audio_sync), |