diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-01-03 07:07:05 -0500 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-03-15 08:34:05 -0400 |
commit | 64d87acb278fe90dbe5c69d7b1242eaf670ccc46 (patch) | |
tree | b00c072705703a5b0a24c399a2ae99dbc7d7a27f /drivers/pinctrl/sh-pfc | |
parent | df68a28d1765d9409262136b1fb098f44aa32642 (diff) |
sh-pfc: sh73a0: Add SCIFA and SCIFB pin groups and functions
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/sh-pfc')
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-sh73a0.c | 351 |
1 files changed, 351 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c index c8b2604eb8f6..4b0a34958fdb 100644 --- a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c +++ b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c | |||
@@ -2040,6 +2040,253 @@ static const unsigned int lcd2_sys_1_mux[] = { | |||
2040 | PORT221_LCD2CS__MARK, PORT219_LCD2WR__MARK, | 2040 | PORT221_LCD2CS__MARK, PORT219_LCD2WR__MARK, |
2041 | LCD2RD__MARK, PORT217_LCD2RS_MARK, | 2041 | LCD2RD__MARK, PORT217_LCD2RS_MARK, |
2042 | }; | 2042 | }; |
2043 | /* - SCIFA0 ----------------------------------------------------------------- */ | ||
2044 | static const unsigned int scifa0_data_pins[] = { | ||
2045 | /* RXD, TXD */ | ||
2046 | 43, 17, | ||
2047 | }; | ||
2048 | static const unsigned int scifa0_data_mux[] = { | ||
2049 | SCIFA0_RXD_MARK, SCIFA0_TXD_MARK, | ||
2050 | }; | ||
2051 | static const unsigned int scifa0_clk_pins[] = { | ||
2052 | /* SCK */ | ||
2053 | 16, | ||
2054 | }; | ||
2055 | static const unsigned int scifa0_clk_mux[] = { | ||
2056 | SCIFA0_SCK_MARK, | ||
2057 | }; | ||
2058 | static const unsigned int scifa0_ctrl_pins[] = { | ||
2059 | /* RTS, CTS */ | ||
2060 | 42, 44, | ||
2061 | }; | ||
2062 | static const unsigned int scifa0_ctrl_mux[] = { | ||
2063 | SCIFA0_RTS__MARK, SCIFA0_CTS__MARK, | ||
2064 | }; | ||
2065 | /* - SCIFA1 ----------------------------------------------------------------- */ | ||
2066 | static const unsigned int scifa1_data_pins[] = { | ||
2067 | /* RXD, TXD */ | ||
2068 | 228, 225, | ||
2069 | }; | ||
2070 | static const unsigned int scifa1_data_mux[] = { | ||
2071 | SCIFA1_RXD_MARK, SCIFA1_TXD_MARK, | ||
2072 | }; | ||
2073 | static const unsigned int scifa1_clk_pins[] = { | ||
2074 | /* SCK */ | ||
2075 | 226, | ||
2076 | }; | ||
2077 | static const unsigned int scifa1_clk_mux[] = { | ||
2078 | SCIFA1_SCK_MARK, | ||
2079 | }; | ||
2080 | static const unsigned int scifa1_ctrl_pins[] = { | ||
2081 | /* RTS, CTS */ | ||
2082 | 227, 229, | ||
2083 | }; | ||
2084 | static const unsigned int scifa1_ctrl_mux[] = { | ||
2085 | SCIFA1_RTS__MARK, SCIFA1_CTS__MARK, | ||
2086 | }; | ||
2087 | /* - SCIFA2 ----------------------------------------------------------------- */ | ||
2088 | static const unsigned int scifa2_data_0_pins[] = { | ||
2089 | /* RXD, TXD */ | ||
2090 | 155, 154, | ||
2091 | }; | ||
2092 | static const unsigned int scifa2_data_0_mux[] = { | ||
2093 | SCIFA2_RXD1_MARK, SCIFA2_TXD1_MARK, | ||
2094 | }; | ||
2095 | static const unsigned int scifa2_clk_0_pins[] = { | ||
2096 | /* SCK */ | ||
2097 | 158, | ||
2098 | }; | ||
2099 | static const unsigned int scifa2_clk_0_mux[] = { | ||
2100 | SCIFA2_SCK1_MARK, | ||
2101 | }; | ||
2102 | static const unsigned int scifa2_ctrl_0_pins[] = { | ||
2103 | /* RTS, CTS */ | ||
2104 | 156, 157, | ||
2105 | }; | ||
2106 | static const unsigned int scifa2_ctrl_0_mux[] = { | ||
2107 | SCIFA2_RTS1__MARK, SCIFA2_CTS1__MARK, | ||
2108 | }; | ||
2109 | static const unsigned int scifa2_data_1_pins[] = { | ||
2110 | /* RXD, TXD */ | ||
2111 | 233, 230, | ||
2112 | }; | ||
2113 | static const unsigned int scifa2_data_1_mux[] = { | ||
2114 | SCIFA2_RXD2_MARK, SCIFA2_TXD2_MARK, | ||
2115 | }; | ||
2116 | static const unsigned int scifa2_clk_1_pins[] = { | ||
2117 | /* SCK */ | ||
2118 | 232, | ||
2119 | }; | ||
2120 | static const unsigned int scifa2_clk_1_mux[] = { | ||
2121 | SCIFA2_SCK2_MARK, | ||
2122 | }; | ||
2123 | static const unsigned int scifa2_ctrl_1_pins[] = { | ||
2124 | /* RTS, CTS */ | ||
2125 | 234, 231, | ||
2126 | }; | ||
2127 | static const unsigned int scifa2_ctrl_1_mux[] = { | ||
2128 | SCIFA2_RTS2__MARK, SCIFA2_CTS2__MARK, | ||
2129 | }; | ||
2130 | /* - SCIFA3 ----------------------------------------------------------------- */ | ||
2131 | static const unsigned int scifa3_data_pins[] = { | ||
2132 | /* RXD, TXD */ | ||
2133 | 108, 110, | ||
2134 | }; | ||
2135 | static const unsigned int scifa3_data_mux[] = { | ||
2136 | SCIFA3_RXD_MARK, SCIFA3_TXD_MARK, | ||
2137 | }; | ||
2138 | static const unsigned int scifa3_ctrl_pins[] = { | ||
2139 | /* RTS, CTS */ | ||
2140 | 109, 107, | ||
2141 | }; | ||
2142 | static const unsigned int scifa3_ctrl_mux[] = { | ||
2143 | SCIFA3_RTS__MARK, SCIFA3_CTS__MARK, | ||
2144 | }; | ||
2145 | /* - SCIFA4 ----------------------------------------------------------------- */ | ||
2146 | static const unsigned int scifa4_data_pins[] = { | ||
2147 | /* RXD, TXD */ | ||
2148 | 33, 32, | ||
2149 | }; | ||
2150 | static const unsigned int scifa4_data_mux[] = { | ||
2151 | SCIFA4_RXD_MARK, SCIFA4_TXD_MARK, | ||
2152 | }; | ||
2153 | static const unsigned int scifa4_ctrl_pins[] = { | ||
2154 | /* RTS, CTS */ | ||
2155 | 34, 35, | ||
2156 | }; | ||
2157 | static const unsigned int scifa4_ctrl_mux[] = { | ||
2158 | SCIFA4_RTS__MARK, SCIFA4_CTS__MARK, | ||
2159 | }; | ||
2160 | /* - SCIFA5 ----------------------------------------------------------------- */ | ||
2161 | static const unsigned int scifa5_data_0_pins[] = { | ||
2162 | /* RXD, TXD */ | ||
2163 | 246, 247, | ||
2164 | }; | ||
2165 | static const unsigned int scifa5_data_0_mux[] = { | ||
2166 | PORT246_SCIFA5_RXD_MARK, PORT247_SCIFA5_TXD_MARK, | ||
2167 | }; | ||
2168 | static const unsigned int scifa5_clk_0_pins[] = { | ||
2169 | /* SCK */ | ||
2170 | 248, | ||
2171 | }; | ||
2172 | static const unsigned int scifa5_clk_0_mux[] = { | ||
2173 | PORT248_SCIFA5_SCK_MARK, | ||
2174 | }; | ||
2175 | static const unsigned int scifa5_ctrl_0_pins[] = { | ||
2176 | /* RTS, CTS */ | ||
2177 | 245, 244, | ||
2178 | }; | ||
2179 | static const unsigned int scifa5_ctrl_0_mux[] = { | ||
2180 | PORT245_SCIFA5_RTS__MARK, PORT244_SCIFA5_CTS__MARK, | ||
2181 | }; | ||
2182 | static const unsigned int scifa5_data_1_pins[] = { | ||
2183 | /* RXD, TXD */ | ||
2184 | 195, 196, | ||
2185 | }; | ||
2186 | static const unsigned int scifa5_data_1_mux[] = { | ||
2187 | PORT195_SCIFA5_RXD_MARK, PORT196_SCIFA5_TXD_MARK, | ||
2188 | }; | ||
2189 | static const unsigned int scifa5_clk_1_pins[] = { | ||
2190 | /* SCK */ | ||
2191 | 197, | ||
2192 | }; | ||
2193 | static const unsigned int scifa5_clk_1_mux[] = { | ||
2194 | PORT197_SCIFA5_SCK_MARK, | ||
2195 | }; | ||
2196 | static const unsigned int scifa5_ctrl_1_pins[] = { | ||
2197 | /* RTS, CTS */ | ||
2198 | 194, 193, | ||
2199 | }; | ||
2200 | static const unsigned int scifa5_ctrl_1_mux[] = { | ||
2201 | PORT194_SCIFA5_RTS__MARK, PORT193_SCIFA5_CTS__MARK, | ||
2202 | }; | ||
2203 | static const unsigned int scifa5_data_2_pins[] = { | ||
2204 | /* RXD, TXD */ | ||
2205 | 162, 160, | ||
2206 | }; | ||
2207 | static const unsigned int scifa5_data_2_mux[] = { | ||
2208 | PORT162_SCIFA5_RXD_MARK, PORT160_SCIFA5_TXD_MARK, | ||
2209 | }; | ||
2210 | static const unsigned int scifa5_clk_2_pins[] = { | ||
2211 | /* SCK */ | ||
2212 | 159, | ||
2213 | }; | ||
2214 | static const unsigned int scifa5_clk_2_mux[] = { | ||
2215 | PORT159_SCIFA5_SCK_MARK, | ||
2216 | }; | ||
2217 | static const unsigned int scifa5_ctrl_2_pins[] = { | ||
2218 | /* RTS, CTS */ | ||
2219 | 163, 161, | ||
2220 | }; | ||
2221 | static const unsigned int scifa5_ctrl_2_mux[] = { | ||
2222 | PORT163_SCIFA5_RTS__MARK, PORT161_SCIFA5_CTS__MARK, | ||
2223 | }; | ||
2224 | /* - SCIFA6 ----------------------------------------------------------------- */ | ||
2225 | static const unsigned int scifa6_pins[] = { | ||
2226 | /* TXD */ | ||
2227 | 240, | ||
2228 | }; | ||
2229 | static const unsigned int scifa6_mux[] = { | ||
2230 | SCIFA6_TXD_MARK, | ||
2231 | }; | ||
2232 | /* - SCIFA7 ----------------------------------------------------------------- */ | ||
2233 | static const unsigned int scifa7_data_pins[] = { | ||
2234 | /* RXD, TXD */ | ||
2235 | 12, 18, | ||
2236 | }; | ||
2237 | static const unsigned int scifa7_data_mux[] = { | ||
2238 | SCIFA7_RXD_MARK, SCIFA7_TXD_MARK, | ||
2239 | }; | ||
2240 | static const unsigned int scifa7_ctrl_pins[] = { | ||
2241 | /* RTS, CTS */ | ||
2242 | 19, 13, | ||
2243 | }; | ||
2244 | static const unsigned int scifa7_ctrl_mux[] = { | ||
2245 | SCIFA7_RTS__MARK, SCIFA7_CTS__MARK, | ||
2246 | }; | ||
2247 | /* - SCIFB ------------------------------------------------------------------ */ | ||
2248 | static const unsigned int scifb_data_0_pins[] = { | ||
2249 | /* RXD, TXD */ | ||
2250 | 162, 160, | ||
2251 | }; | ||
2252 | static const unsigned int scifb_data_0_mux[] = { | ||
2253 | PORT162_SCIFB_RXD_MARK, PORT160_SCIFB_TXD_MARK, | ||
2254 | }; | ||
2255 | static const unsigned int scifb_clk_0_pins[] = { | ||
2256 | /* SCK */ | ||
2257 | 159, | ||
2258 | }; | ||
2259 | static const unsigned int scifb_clk_0_mux[] = { | ||
2260 | PORT159_SCIFB_SCK_MARK, | ||
2261 | }; | ||
2262 | static const unsigned int scifb_ctrl_0_pins[] = { | ||
2263 | /* RTS, CTS */ | ||
2264 | 163, 161, | ||
2265 | }; | ||
2266 | static const unsigned int scifb_ctrl_0_mux[] = { | ||
2267 | PORT163_SCIFB_RTS__MARK, PORT161_SCIFB_CTS__MARK, | ||
2268 | }; | ||
2269 | static const unsigned int scifb_data_1_pins[] = { | ||
2270 | /* RXD, TXD */ | ||
2271 | 246, 247, | ||
2272 | }; | ||
2273 | static const unsigned int scifb_data_1_mux[] = { | ||
2274 | PORT246_SCIFB_RXD_MARK, PORT247_SCIFB_TXD_MARK, | ||
2275 | }; | ||
2276 | static const unsigned int scifb_clk_1_pins[] = { | ||
2277 | /* SCK */ | ||
2278 | 248, | ||
2279 | }; | ||
2280 | static const unsigned int scifb_clk_1_mux[] = { | ||
2281 | PORT248_SCIFB_SCK_MARK, | ||
2282 | }; | ||
2283 | static const unsigned int scifb_ctrl_1_pins[] = { | ||
2284 | /* RTS, CTS */ | ||
2285 | 245, 244, | ||
2286 | }; | ||
2287 | static const unsigned int scifb_ctrl_1_mux[] = { | ||
2288 | PORT245_SCIFB_RTS__MARK, PORT244_SCIFB_CTS__MARK, | ||
2289 | }; | ||
2043 | 2290 | ||
2044 | static const struct sh_pfc_pin_group pinmux_groups[] = { | 2291 | static const struct sh_pfc_pin_group pinmux_groups[] = { |
2045 | SH_PFC_PIN_GROUP(lcd_data8), | 2292 | SH_PFC_PIN_GROUP(lcd_data8), |
@@ -2062,6 +2309,40 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
2062 | SH_PFC_PIN_GROUP(lcd2_sync_1), | 2309 | SH_PFC_PIN_GROUP(lcd2_sync_1), |
2063 | SH_PFC_PIN_GROUP(lcd2_sys_0), | 2310 | SH_PFC_PIN_GROUP(lcd2_sys_0), |
2064 | SH_PFC_PIN_GROUP(lcd2_sys_1), | 2311 | SH_PFC_PIN_GROUP(lcd2_sys_1), |
2312 | SH_PFC_PIN_GROUP(scifa0_data), | ||
2313 | SH_PFC_PIN_GROUP(scifa0_clk), | ||
2314 | SH_PFC_PIN_GROUP(scifa0_ctrl), | ||
2315 | SH_PFC_PIN_GROUP(scifa1_data), | ||
2316 | SH_PFC_PIN_GROUP(scifa1_clk), | ||
2317 | SH_PFC_PIN_GROUP(scifa1_ctrl), | ||
2318 | SH_PFC_PIN_GROUP(scifa2_data_0), | ||
2319 | SH_PFC_PIN_GROUP(scifa2_clk_0), | ||
2320 | SH_PFC_PIN_GROUP(scifa2_ctrl_0), | ||
2321 | SH_PFC_PIN_GROUP(scifa2_data_1), | ||
2322 | SH_PFC_PIN_GROUP(scifa2_clk_1), | ||
2323 | SH_PFC_PIN_GROUP(scifa2_ctrl_1), | ||
2324 | SH_PFC_PIN_GROUP(scifa3_data), | ||
2325 | SH_PFC_PIN_GROUP(scifa3_ctrl), | ||
2326 | SH_PFC_PIN_GROUP(scifa4_data), | ||
2327 | SH_PFC_PIN_GROUP(scifa4_ctrl), | ||
2328 | SH_PFC_PIN_GROUP(scifa5_data_0), | ||
2329 | SH_PFC_PIN_GROUP(scifa5_clk_0), | ||
2330 | SH_PFC_PIN_GROUP(scifa5_ctrl_0), | ||
2331 | SH_PFC_PIN_GROUP(scifa5_data_1), | ||
2332 | SH_PFC_PIN_GROUP(scifa5_clk_1), | ||
2333 | SH_PFC_PIN_GROUP(scifa5_ctrl_1), | ||
2334 | SH_PFC_PIN_GROUP(scifa5_data_2), | ||
2335 | SH_PFC_PIN_GROUP(scifa5_clk_2), | ||
2336 | SH_PFC_PIN_GROUP(scifa5_ctrl_2), | ||
2337 | SH_PFC_PIN_GROUP(scifa6), | ||
2338 | SH_PFC_PIN_GROUP(scifa7_data), | ||
2339 | SH_PFC_PIN_GROUP(scifa7_ctrl), | ||
2340 | SH_PFC_PIN_GROUP(scifb_data_0), | ||
2341 | SH_PFC_PIN_GROUP(scifb_clk_0), | ||
2342 | SH_PFC_PIN_GROUP(scifb_ctrl_0), | ||
2343 | SH_PFC_PIN_GROUP(scifb_data_1), | ||
2344 | SH_PFC_PIN_GROUP(scifb_clk_1), | ||
2345 | SH_PFC_PIN_GROUP(scifb_ctrl_1), | ||
2065 | }; | 2346 | }; |
2066 | 2347 | ||
2067 | static const char * const lcd_groups[] = { | 2348 | static const char * const lcd_groups[] = { |
@@ -2090,9 +2371,79 @@ static const char * const lcd2_groups[] = { | |||
2090 | "lcd2_sys_1", | 2371 | "lcd2_sys_1", |
2091 | }; | 2372 | }; |
2092 | 2373 | ||
2374 | static const char * const scifa0_groups[] = { | ||
2375 | "scifa0_data", | ||
2376 | "scifa0_clk", | ||
2377 | "scifa0_ctrl", | ||
2378 | }; | ||
2379 | |||
2380 | static const char * const scifa1_groups[] = { | ||
2381 | "scifa1_data", | ||
2382 | "scifa1_clk", | ||
2383 | "scifa1_ctrl", | ||
2384 | }; | ||
2385 | |||
2386 | static const char * const scifa2_groups[] = { | ||
2387 | "scifa2_data_0", | ||
2388 | "scifa2_clk_0", | ||
2389 | "scifa2_ctrl_0", | ||
2390 | "scifa2_data_1", | ||
2391 | "scifa2_clk_1", | ||
2392 | "scifa2_ctrl_1", | ||
2393 | }; | ||
2394 | |||
2395 | static const char * const scifa3_groups[] = { | ||
2396 | "scifa3_data", | ||
2397 | "scifa3_ctrl", | ||
2398 | }; | ||
2399 | |||
2400 | static const char * const scifa4_groups[] = { | ||
2401 | "scifa4_data", | ||
2402 | "scifa4_ctrl", | ||
2403 | }; | ||
2404 | |||
2405 | static const char * const scifa5_groups[] = { | ||
2406 | "scifa5_data_0", | ||
2407 | "scifa5_clk_0", | ||
2408 | "scifa5_ctrl_0", | ||
2409 | "scifa5_data_1", | ||
2410 | "scifa5_clk_1", | ||
2411 | "scifa5_ctrl_1", | ||
2412 | "scifa5_data_2", | ||
2413 | "scifa5_clk_2", | ||
2414 | "scifa5_ctrl_2", | ||
2415 | }; | ||
2416 | |||
2417 | static const char * const scifa6_groups[] = { | ||
2418 | "scifa6", | ||
2419 | }; | ||
2420 | |||
2421 | static const char * const scifa7_groups[] = { | ||
2422 | "scifa7_data", | ||
2423 | "scifa7_ctrl", | ||
2424 | }; | ||
2425 | |||
2426 | static const char * const scifb_groups[] = { | ||
2427 | "scifb_data_0", | ||
2428 | "scifb_clk_0", | ||
2429 | "scifb_ctrl_0", | ||
2430 | "scifb_data_1", | ||
2431 | "scifb_clk_1", | ||
2432 | "scifb_ctrl_1", | ||
2433 | }; | ||
2434 | |||
2093 | static const struct sh_pfc_function pinmux_functions[] = { | 2435 | static const struct sh_pfc_function pinmux_functions[] = { |
2094 | SH_PFC_FUNCTION(lcd), | 2436 | SH_PFC_FUNCTION(lcd), |
2095 | SH_PFC_FUNCTION(lcd2), | 2437 | SH_PFC_FUNCTION(lcd2), |
2438 | SH_PFC_FUNCTION(scifa0), | ||
2439 | SH_PFC_FUNCTION(scifa1), | ||
2440 | SH_PFC_FUNCTION(scifa2), | ||
2441 | SH_PFC_FUNCTION(scifa3), | ||
2442 | SH_PFC_FUNCTION(scifa4), | ||
2443 | SH_PFC_FUNCTION(scifa5), | ||
2444 | SH_PFC_FUNCTION(scifa6), | ||
2445 | SH_PFC_FUNCTION(scifa7), | ||
2446 | SH_PFC_FUNCTION(scifb), | ||
2096 | }; | 2447 | }; |
2097 | 2448 | ||
2098 | #define PINMUX_FN_BASE GPIO_FN_VBUS_0 | 2449 | #define PINMUX_FN_BASE GPIO_FN_VBUS_0 |