aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/sh-pfc
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-01-03 07:07:05 -0500
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-03-15 08:34:05 -0400
commit2ecd4154c906b7d60e7d06a515e6384cc58e93ab (patch)
tree6a144b74dbe121a6ea2f70bbd99dd9ca355d0e45 /drivers/pinctrl/sh-pfc
parentec3a57bb3b69a2af0f136872105335ec965cdd98 (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.c244
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 ------------------------------------------------------------------- */
1850static const unsigned int fsia_mclk_in_pins[] = {
1851 /* CK */
1852 49,
1853};
1854static const unsigned int fsia_mclk_in_mux[] = {
1855 FSIACK_MARK,
1856};
1857static const unsigned int fsia_mclk_out_pins[] = {
1858 /* OMC */
1859 49,
1860};
1861static const unsigned int fsia_mclk_out_mux[] = {
1862 FSIAOMC_MARK,
1863};
1864static const unsigned int fsia_sclk_in_pins[] = {
1865 /* ILR, IBT */
1866 50, 51,
1867};
1868static const unsigned int fsia_sclk_in_mux[] = {
1869 FSIAILR_MARK, FSIAIBT_MARK,
1870};
1871static const unsigned int fsia_sclk_out_pins[] = {
1872 /* OLR, OBT */
1873 50, 51,
1874};
1875static const unsigned int fsia_sclk_out_mux[] = {
1876 FSIAOLR_MARK, FSIAOBT_MARK,
1877};
1878static const unsigned int fsia_data_in_pins[] = {
1879 /* ISLD */
1880 55,
1881};
1882static const unsigned int fsia_data_in_mux[] = {
1883 FSIAISLD_MARK,
1884};
1885static const unsigned int fsia_data_out_pins[] = {
1886 /* OSLD */
1887 52,
1888};
1889static const unsigned int fsia_data_out_mux[] = {
1890 FSIAOSLD_MARK,
1891};
1892static const unsigned int fsia_spdif_pins[] = {
1893 /* SPDIF */
1894 53,
1895};
1896static const unsigned int fsia_spdif_mux[] = {
1897 FSIASPDIF_MARK,
1898};
1899/* - FSIB ------------------------------------------------------------------- */
1900static const unsigned int fsib_mclk_in_pins[] = {
1901 /* CK */
1902 54,
1903};
1904static const unsigned int fsib_mclk_in_mux[] = {
1905 FSIBCK_MARK,
1906};
1907static const unsigned int fsib_mclk_out_pins[] = {
1908 /* OMC */
1909 54,
1910};
1911static const unsigned int fsib_mclk_out_mux[] = {
1912 FSIBOMC_MARK,
1913};
1914static const unsigned int fsib_sclk_in_pins[] = {
1915 /* ILR, IBT */
1916 37, 36,
1917};
1918static const unsigned int fsib_sclk_in_mux[] = {
1919 FSIBILR_MARK, FSIBIBT_MARK,
1920};
1921static const unsigned int fsib_sclk_out_pins[] = {
1922 /* OLR, OBT */
1923 37, 36,
1924};
1925static const unsigned int fsib_sclk_out_mux[] = {
1926 FSIBOLR_MARK, FSIBOBT_MARK,
1927};
1928static const unsigned int fsib_data_in_pins[] = {
1929 /* ISLD */
1930 39,
1931};
1932static const unsigned int fsib_data_in_mux[] = {
1933 FSIBISLD_MARK,
1934};
1935static const unsigned int fsib_data_out_pins[] = {
1936 /* OSLD */
1937 38,
1938};
1939static const unsigned int fsib_data_out_mux[] = {
1940 FSIBOSLD_MARK,
1941};
1942static const unsigned int fsib_spdif_pins[] = {
1943 /* SPDIF */
1944 53,
1945};
1946static const unsigned int fsib_spdif_mux[] = {
1947 FSIBSPDIF_MARK,
1948};
1949/* - FSIC ------------------------------------------------------------------- */
1950static const unsigned int fsic_mclk_in_pins[] = {
1951 /* CK */
1952 54,
1953};
1954static const unsigned int fsic_mclk_in_mux[] = {
1955 FSICCK_MARK,
1956};
1957static const unsigned int fsic_mclk_out_pins[] = {
1958 /* OMC */
1959 54,
1960};
1961static const unsigned int fsic_mclk_out_mux[] = {
1962 FSICOMC_MARK,
1963};
1964static const unsigned int fsic_sclk_in_pins[] = {
1965 /* ILR, IBT */
1966 46, 45,
1967};
1968static const unsigned int fsic_sclk_in_mux[] = {
1969 FSICILR_MARK, FSICIBT_MARK,
1970};
1971static const unsigned int fsic_sclk_out_pins[] = {
1972 /* OLR, OBT */
1973 46, 45,
1974};
1975static const unsigned int fsic_sclk_out_mux[] = {
1976 FSICOLR_MARK, FSICOBT_MARK,
1977};
1978static const unsigned int fsic_data_in_pins[] = {
1979 /* ISLD */
1980 48,
1981};
1982static const unsigned int fsic_data_in_mux[] = {
1983 FSICISLD_MARK,
1984};
1985static const unsigned int fsic_data_out_pins[] = {
1986 /* OSLD, OSLDT1, OSLDT2, OSLDT3 */
1987 47, 44, 42, 16,
1988};
1989static const unsigned int fsic_data_out_mux[] = {
1990 FSICOSLD_MARK, FSICOSLDT1_MARK, FSICOSLDT2_MARK, FSICOSLDT3_MARK,
1991};
1992static const unsigned int fsic_spdif_0_pins[] = {
1993 /* SPDIF */
1994 53,
1995};
1996static const unsigned int fsic_spdif_0_mux[] = {
1997 PORT53_FSICSPDIF_MARK,
1998};
1999static const unsigned int fsic_spdif_1_pins[] = {
2000 /* SPDIF */
2001 47,
2002};
2003static const unsigned int fsic_spdif_1_mux[] = {
2004 PORT47_FSICSPDIF_MARK,
2005};
2006/* - FSID ------------------------------------------------------------------- */
2007static const unsigned int fsid_sclk_in_pins[] = {
2008 /* ILR, IBT */
2009 46, 45,
2010};
2011static const unsigned int fsid_sclk_in_mux[] = {
2012 FSIDILR_MARK, FSIDIBT_MARK,
2013};
2014static const unsigned int fsid_sclk_out_pins[] = {
2015 /* OLR, OBT */
2016 46, 45,
2017};
2018static const unsigned int fsid_sclk_out_mux[] = {
2019 FSIDOLR_MARK, FSIDOBT_MARK,
2020};
2021static const unsigned int fsid_data_in_pins[] = {
2022 /* ISLD */
2023 48,
2024};
2025static const unsigned int fsid_data_in_mux[] = {
2026 FSIDISLD_MARK,
2027};
1849/* - I2C2 ------------------------------------------------------------------- */ 2028/* - I2C2 ------------------------------------------------------------------- */
1850static const unsigned int i2c2_0_pins[] = { 2029static 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
2335static const struct sh_pfc_pin_group pinmux_groups[] = { 2514static 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
2602static 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
2612static 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
2622static 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
2632static const char * const fsid_groups[] = {
2633 "fsid_sclk_in",
2634 "fsid_sclk_out",
2635 "fsid_data_in",
2636};
2637
2398static const char * const i2c2_groups[] = { 2638static 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
2497static const struct sh_pfc_function pinmux_functions[] = { 2737static 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),