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 | 2ecd4154c906b7d60e7d06a515e6384cc58e93ab (patch) | |
tree | 6a144b74dbe121a6ea2f70bbd99dd9ca355d0e45 /drivers/pinctrl/sh-pfc | |
parent | ec3a57bb3b69a2af0f136872105335ec965cdd98 (diff) |
sh-pfc: sh73a0: Add FSI 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 | 244 |
1 files changed, 244 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c index fad11d7a7dde..0d35f7b3e5b4 100644 --- a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c +++ b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c | |||
@@ -1846,6 +1846,185 @@ static const struct pinmux_range pinmux_ranges[] = { | |||
1846 | {.begin = 288, .end = 309,}, | 1846 | {.begin = 288, .end = 309,}, |
1847 | }; | 1847 | }; |
1848 | 1848 | ||
1849 | /* - FSIA ------------------------------------------------------------------- */ | ||
1850 | static const unsigned int fsia_mclk_in_pins[] = { | ||
1851 | /* CK */ | ||
1852 | 49, | ||
1853 | }; | ||
1854 | static const unsigned int fsia_mclk_in_mux[] = { | ||
1855 | FSIACK_MARK, | ||
1856 | }; | ||
1857 | static const unsigned int fsia_mclk_out_pins[] = { | ||
1858 | /* OMC */ | ||
1859 | 49, | ||
1860 | }; | ||
1861 | static const unsigned int fsia_mclk_out_mux[] = { | ||
1862 | FSIAOMC_MARK, | ||
1863 | }; | ||
1864 | static const unsigned int fsia_sclk_in_pins[] = { | ||
1865 | /* ILR, IBT */ | ||
1866 | 50, 51, | ||
1867 | }; | ||
1868 | static const unsigned int fsia_sclk_in_mux[] = { | ||
1869 | FSIAILR_MARK, FSIAIBT_MARK, | ||
1870 | }; | ||
1871 | static const unsigned int fsia_sclk_out_pins[] = { | ||
1872 | /* OLR, OBT */ | ||
1873 | 50, 51, | ||
1874 | }; | ||
1875 | static const unsigned int fsia_sclk_out_mux[] = { | ||
1876 | FSIAOLR_MARK, FSIAOBT_MARK, | ||
1877 | }; | ||
1878 | static const unsigned int fsia_data_in_pins[] = { | ||
1879 | /* ISLD */ | ||
1880 | 55, | ||
1881 | }; | ||
1882 | static const unsigned int fsia_data_in_mux[] = { | ||
1883 | FSIAISLD_MARK, | ||
1884 | }; | ||
1885 | static const unsigned int fsia_data_out_pins[] = { | ||
1886 | /* OSLD */ | ||
1887 | 52, | ||
1888 | }; | ||
1889 | static const unsigned int fsia_data_out_mux[] = { | ||
1890 | FSIAOSLD_MARK, | ||
1891 | }; | ||
1892 | static const unsigned int fsia_spdif_pins[] = { | ||
1893 | /* SPDIF */ | ||
1894 | 53, | ||
1895 | }; | ||
1896 | static const unsigned int fsia_spdif_mux[] = { | ||
1897 | FSIASPDIF_MARK, | ||
1898 | }; | ||
1899 | /* - FSIB ------------------------------------------------------------------- */ | ||
1900 | static const unsigned int fsib_mclk_in_pins[] = { | ||
1901 | /* CK */ | ||
1902 | 54, | ||
1903 | }; | ||
1904 | static const unsigned int fsib_mclk_in_mux[] = { | ||
1905 | FSIBCK_MARK, | ||
1906 | }; | ||
1907 | static const unsigned int fsib_mclk_out_pins[] = { | ||
1908 | /* OMC */ | ||
1909 | 54, | ||
1910 | }; | ||
1911 | static const unsigned int fsib_mclk_out_mux[] = { | ||
1912 | FSIBOMC_MARK, | ||
1913 | }; | ||
1914 | static const unsigned int fsib_sclk_in_pins[] = { | ||
1915 | /* ILR, IBT */ | ||
1916 | 37, 36, | ||
1917 | }; | ||
1918 | static const unsigned int fsib_sclk_in_mux[] = { | ||
1919 | FSIBILR_MARK, FSIBIBT_MARK, | ||
1920 | }; | ||
1921 | static const unsigned int fsib_sclk_out_pins[] = { | ||
1922 | /* OLR, OBT */ | ||
1923 | 37, 36, | ||
1924 | }; | ||
1925 | static const unsigned int fsib_sclk_out_mux[] = { | ||
1926 | FSIBOLR_MARK, FSIBOBT_MARK, | ||
1927 | }; | ||
1928 | static const unsigned int fsib_data_in_pins[] = { | ||
1929 | /* ISLD */ | ||
1930 | 39, | ||
1931 | }; | ||
1932 | static const unsigned int fsib_data_in_mux[] = { | ||
1933 | FSIBISLD_MARK, | ||
1934 | }; | ||
1935 | static const unsigned int fsib_data_out_pins[] = { | ||
1936 | /* OSLD */ | ||
1937 | 38, | ||
1938 | }; | ||
1939 | static const unsigned int fsib_data_out_mux[] = { | ||
1940 | FSIBOSLD_MARK, | ||
1941 | }; | ||
1942 | static const unsigned int fsib_spdif_pins[] = { | ||
1943 | /* SPDIF */ | ||
1944 | 53, | ||
1945 | }; | ||
1946 | static const unsigned int fsib_spdif_mux[] = { | ||
1947 | FSIBSPDIF_MARK, | ||
1948 | }; | ||
1949 | /* - FSIC ------------------------------------------------------------------- */ | ||
1950 | static const unsigned int fsic_mclk_in_pins[] = { | ||
1951 | /* CK */ | ||
1952 | 54, | ||
1953 | }; | ||
1954 | static const unsigned int fsic_mclk_in_mux[] = { | ||
1955 | FSICCK_MARK, | ||
1956 | }; | ||
1957 | static const unsigned int fsic_mclk_out_pins[] = { | ||
1958 | /* OMC */ | ||
1959 | 54, | ||
1960 | }; | ||
1961 | static const unsigned int fsic_mclk_out_mux[] = { | ||
1962 | FSICOMC_MARK, | ||
1963 | }; | ||
1964 | static const unsigned int fsic_sclk_in_pins[] = { | ||
1965 | /* ILR, IBT */ | ||
1966 | 46, 45, | ||
1967 | }; | ||
1968 | static const unsigned int fsic_sclk_in_mux[] = { | ||
1969 | FSICILR_MARK, FSICIBT_MARK, | ||
1970 | }; | ||
1971 | static const unsigned int fsic_sclk_out_pins[] = { | ||
1972 | /* OLR, OBT */ | ||
1973 | 46, 45, | ||
1974 | }; | ||
1975 | static const unsigned int fsic_sclk_out_mux[] = { | ||
1976 | FSICOLR_MARK, FSICOBT_MARK, | ||
1977 | }; | ||
1978 | static const unsigned int fsic_data_in_pins[] = { | ||
1979 | /* ISLD */ | ||
1980 | 48, | ||
1981 | }; | ||
1982 | static const unsigned int fsic_data_in_mux[] = { | ||
1983 | FSICISLD_MARK, | ||
1984 | }; | ||
1985 | static const unsigned int fsic_data_out_pins[] = { | ||
1986 | /* OSLD, OSLDT1, OSLDT2, OSLDT3 */ | ||
1987 | 47, 44, 42, 16, | ||
1988 | }; | ||
1989 | static const unsigned int fsic_data_out_mux[] = { | ||
1990 | FSICOSLD_MARK, FSICOSLDT1_MARK, FSICOSLDT2_MARK, FSICOSLDT3_MARK, | ||
1991 | }; | ||
1992 | static const unsigned int fsic_spdif_0_pins[] = { | ||
1993 | /* SPDIF */ | ||
1994 | 53, | ||
1995 | }; | ||
1996 | static const unsigned int fsic_spdif_0_mux[] = { | ||
1997 | PORT53_FSICSPDIF_MARK, | ||
1998 | }; | ||
1999 | static const unsigned int fsic_spdif_1_pins[] = { | ||
2000 | /* SPDIF */ | ||
2001 | 47, | ||
2002 | }; | ||
2003 | static const unsigned int fsic_spdif_1_mux[] = { | ||
2004 | PORT47_FSICSPDIF_MARK, | ||
2005 | }; | ||
2006 | /* - FSID ------------------------------------------------------------------- */ | ||
2007 | static const unsigned int fsid_sclk_in_pins[] = { | ||
2008 | /* ILR, IBT */ | ||
2009 | 46, 45, | ||
2010 | }; | ||
2011 | static const unsigned int fsid_sclk_in_mux[] = { | ||
2012 | FSIDILR_MARK, FSIDIBT_MARK, | ||
2013 | }; | ||
2014 | static const unsigned int fsid_sclk_out_pins[] = { | ||
2015 | /* OLR, OBT */ | ||
2016 | 46, 45, | ||
2017 | }; | ||
2018 | static const unsigned int fsid_sclk_out_mux[] = { | ||
2019 | FSIDOLR_MARK, FSIDOBT_MARK, | ||
2020 | }; | ||
2021 | static const unsigned int fsid_data_in_pins[] = { | ||
2022 | /* ISLD */ | ||
2023 | 48, | ||
2024 | }; | ||
2025 | static const unsigned int fsid_data_in_mux[] = { | ||
2026 | FSIDISLD_MARK, | ||
2027 | }; | ||
1849 | /* - I2C2 ------------------------------------------------------------------- */ | 2028 | /* - I2C2 ------------------------------------------------------------------- */ |
1850 | static const unsigned int i2c2_0_pins[] = { | 2029 | static const unsigned int i2c2_0_pins[] = { |
1851 | /* SCL, SDA */ | 2030 | /* SCL, SDA */ |
@@ -2333,6 +2512,31 @@ static const unsigned int scifb_ctrl_1_mux[] = { | |||
2333 | }; | 2512 | }; |
2334 | 2513 | ||
2335 | static const struct sh_pfc_pin_group pinmux_groups[] = { | 2514 | static const struct sh_pfc_pin_group pinmux_groups[] = { |
2515 | SH_PFC_PIN_GROUP(fsia_mclk_in), | ||
2516 | SH_PFC_PIN_GROUP(fsia_mclk_out), | ||
2517 | SH_PFC_PIN_GROUP(fsia_sclk_in), | ||
2518 | SH_PFC_PIN_GROUP(fsia_sclk_out), | ||
2519 | SH_PFC_PIN_GROUP(fsia_data_in), | ||
2520 | SH_PFC_PIN_GROUP(fsia_data_out), | ||
2521 | SH_PFC_PIN_GROUP(fsia_spdif), | ||
2522 | SH_PFC_PIN_GROUP(fsib_mclk_in), | ||
2523 | SH_PFC_PIN_GROUP(fsib_mclk_out), | ||
2524 | SH_PFC_PIN_GROUP(fsib_sclk_in), | ||
2525 | SH_PFC_PIN_GROUP(fsib_sclk_out), | ||
2526 | SH_PFC_PIN_GROUP(fsib_data_in), | ||
2527 | SH_PFC_PIN_GROUP(fsib_data_out), | ||
2528 | SH_PFC_PIN_GROUP(fsib_spdif), | ||
2529 | SH_PFC_PIN_GROUP(fsic_mclk_in), | ||
2530 | SH_PFC_PIN_GROUP(fsic_mclk_out), | ||
2531 | SH_PFC_PIN_GROUP(fsic_sclk_in), | ||
2532 | SH_PFC_PIN_GROUP(fsic_sclk_out), | ||
2533 | SH_PFC_PIN_GROUP(fsic_data_in), | ||
2534 | SH_PFC_PIN_GROUP(fsic_data_out), | ||
2535 | SH_PFC_PIN_GROUP(fsic_spdif_0), | ||
2536 | SH_PFC_PIN_GROUP(fsic_spdif_1), | ||
2537 | SH_PFC_PIN_GROUP(fsid_sclk_in), | ||
2538 | SH_PFC_PIN_GROUP(fsid_sclk_out), | ||
2539 | SH_PFC_PIN_GROUP(fsid_data_in), | ||
2336 | SH_PFC_PIN_GROUP(i2c2_0), | 2540 | SH_PFC_PIN_GROUP(i2c2_0), |
2337 | SH_PFC_PIN_GROUP(i2c2_1), | 2541 | SH_PFC_PIN_GROUP(i2c2_1), |
2338 | SH_PFC_PIN_GROUP(i2c2_2), | 2542 | SH_PFC_PIN_GROUP(i2c2_2), |
@@ -2395,6 +2599,42 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
2395 | SH_PFC_PIN_GROUP(scifb_ctrl_1), | 2599 | SH_PFC_PIN_GROUP(scifb_ctrl_1), |
2396 | }; | 2600 | }; |
2397 | 2601 | ||
2602 | static const char * const fsia_groups[] = { | ||
2603 | "fsia_mclk_in", | ||
2604 | "fsia_mclk_out", | ||
2605 | "fsia_sclk_in", | ||
2606 | "fsia_sclk_out", | ||
2607 | "fsia_data_in", | ||
2608 | "fsia_data_out", | ||
2609 | "fsia_spdif", | ||
2610 | }; | ||
2611 | |||
2612 | static const char * const fsib_groups[] = { | ||
2613 | "fsib_mclk_in", | ||
2614 | "fsib_mclk_out", | ||
2615 | "fsib_sclk_in", | ||
2616 | "fsib_sclk_out", | ||
2617 | "fsib_data_in", | ||
2618 | "fsib_data_out", | ||
2619 | "fsib_spdif", | ||
2620 | }; | ||
2621 | |||
2622 | static const char * const fsic_groups[] = { | ||
2623 | "fsic_mclk_in", | ||
2624 | "fsic_mclk_out", | ||
2625 | "fsic_sclk_in", | ||
2626 | "fsic_sclk_out", | ||
2627 | "fsic_data_in", | ||
2628 | "fsic_data_out", | ||
2629 | "fsic_spdif", | ||
2630 | }; | ||
2631 | |||
2632 | static const char * const fsid_groups[] = { | ||
2633 | "fsid_sclk_in", | ||
2634 | "fsid_sclk_out", | ||
2635 | "fsid_data_in", | ||
2636 | }; | ||
2637 | |||
2398 | static const char * const i2c2_groups[] = { | 2638 | static const char * const i2c2_groups[] = { |
2399 | "i2c2_0", | 2639 | "i2c2_0", |
2400 | "i2c2_1", | 2640 | "i2c2_1", |
@@ -2495,6 +2735,10 @@ static const char * const scifb_groups[] = { | |||
2495 | }; | 2735 | }; |
2496 | 2736 | ||
2497 | static const struct sh_pfc_function pinmux_functions[] = { | 2737 | static const struct sh_pfc_function pinmux_functions[] = { |
2738 | SH_PFC_FUNCTION(fsia), | ||
2739 | SH_PFC_FUNCTION(fsib), | ||
2740 | SH_PFC_FUNCTION(fsic), | ||
2741 | SH_PFC_FUNCTION(fsid), | ||
2498 | SH_PFC_FUNCTION(i2c2), | 2742 | SH_PFC_FUNCTION(i2c2), |
2499 | SH_PFC_FUNCTION(i2c3), | 2743 | SH_PFC_FUNCTION(i2c3), |
2500 | SH_PFC_FUNCTION(lcd), | 2744 | SH_PFC_FUNCTION(lcd), |