diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-03-11 20:55:08 -0400 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-03-15 08:34:06 -0400 |
commit | e24c62a6ce6b789d1372397894ffdea43e3a9f36 (patch) | |
tree | 789323fb10b57ab69346db743e35d0425bf2c716 | |
parent | d6bab7b12e815e6c2a637a3b509143c866683c2a (diff) |
sh-pfc: sh73a0: Add BSC pin groups and functions
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-sh73a0.c | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c index aad800431241..76674af19d29 100644 --- a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c +++ b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c | |||
@@ -1852,6 +1852,100 @@ static const struct pinmux_range pinmux_ranges[] = { | |||
1852 | */ | 1852 | */ |
1853 | #define PIN_NUMBER(row, col) (1000+((row)-1)*34+(col)-1) | 1853 | #define PIN_NUMBER(row, col) (1000+((row)-1)*34+(col)-1) |
1854 | 1854 | ||
1855 | /* - BSC -------------------------------------------------------------------- */ | ||
1856 | static const unsigned int bsc_data_0_7_pins[] = { | ||
1857 | /* D[0:7] */ | ||
1858 | 74, 75, 76, 77, 78, 79, 80, 81, | ||
1859 | }; | ||
1860 | static const unsigned int bsc_data_0_7_mux[] = { | ||
1861 | D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK, | ||
1862 | D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK, | ||
1863 | }; | ||
1864 | static const unsigned int bsc_data_8_15_pins[] = { | ||
1865 | /* D[8:15] */ | ||
1866 | 82, 83, 84, 85, 86, 87, 88, 89, | ||
1867 | }; | ||
1868 | static const unsigned int bsc_data_8_15_mux[] = { | ||
1869 | D8_NAF8_MARK, D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK, | ||
1870 | D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, D15_NAF15_MARK, | ||
1871 | }; | ||
1872 | static const unsigned int bsc_cs4_pins[] = { | ||
1873 | /* CS */ | ||
1874 | 90, | ||
1875 | }; | ||
1876 | static const unsigned int bsc_cs4_mux[] = { | ||
1877 | CS4__MARK, | ||
1878 | }; | ||
1879 | static const unsigned int bsc_cs5_a_pins[] = { | ||
1880 | /* CS */ | ||
1881 | 91, | ||
1882 | }; | ||
1883 | static const unsigned int bsc_cs5_a_mux[] = { | ||
1884 | CS5A__MARK, | ||
1885 | }; | ||
1886 | static const unsigned int bsc_cs5_b_pins[] = { | ||
1887 | /* CS */ | ||
1888 | 92, | ||
1889 | }; | ||
1890 | static const unsigned int bsc_cs5_b_mux[] = { | ||
1891 | CS5B__MARK, | ||
1892 | }; | ||
1893 | static const unsigned int bsc_cs6_a_pins[] = { | ||
1894 | /* CS */ | ||
1895 | 94, | ||
1896 | }; | ||
1897 | static const unsigned int bsc_cs6_a_mux[] = { | ||
1898 | CS6A__MARK, | ||
1899 | }; | ||
1900 | static const unsigned int bsc_cs6_b_pins[] = { | ||
1901 | /* CS */ | ||
1902 | 93, | ||
1903 | }; | ||
1904 | static const unsigned int bsc_cs6_b_mux[] = { | ||
1905 | CS6B__MARK, | ||
1906 | }; | ||
1907 | static const unsigned int bsc_rd_pins[] = { | ||
1908 | /* RD */ | ||
1909 | 96, | ||
1910 | }; | ||
1911 | static const unsigned int bsc_rd_mux[] = { | ||
1912 | RD__FSC_MARK, | ||
1913 | }; | ||
1914 | static const unsigned int bsc_rdwr_0_pins[] = { | ||
1915 | /* RDWR */ | ||
1916 | 91, | ||
1917 | }; | ||
1918 | static const unsigned int bsc_rdwr_0_mux[] = { | ||
1919 | PORT91_RDWR_MARK, | ||
1920 | }; | ||
1921 | static const unsigned int bsc_rdwr_1_pins[] = { | ||
1922 | /* RDWR */ | ||
1923 | 97, | ||
1924 | }; | ||
1925 | static const unsigned int bsc_rdwr_1_mux[] = { | ||
1926 | RDWR_FWE_MARK, | ||
1927 | }; | ||
1928 | static const unsigned int bsc_rdwr_2_pins[] = { | ||
1929 | /* RDWR */ | ||
1930 | 149, | ||
1931 | }; | ||
1932 | static const unsigned int bsc_rdwr_2_mux[] = { | ||
1933 | PORT149_RDWR_MARK, | ||
1934 | }; | ||
1935 | static const unsigned int bsc_we0_pins[] = { | ||
1936 | /* WE0 */ | ||
1937 | 97, | ||
1938 | }; | ||
1939 | static const unsigned int bsc_we0_mux[] = { | ||
1940 | WE0__FWE_MARK, | ||
1941 | }; | ||
1942 | static const unsigned int bsc_we1_pins[] = { | ||
1943 | /* WE1 */ | ||
1944 | 98, | ||
1945 | }; | ||
1946 | static const unsigned int bsc_we1_mux[] = { | ||
1947 | WE1__MARK, | ||
1948 | }; | ||
1855 | /* - FSIA ------------------------------------------------------------------- */ | 1949 | /* - FSIA ------------------------------------------------------------------- */ |
1856 | static const unsigned int fsia_mclk_in_pins[] = { | 1950 | static const unsigned int fsia_mclk_in_pins[] = { |
1857 | /* CK */ | 1951 | /* CK */ |
@@ -2817,6 +2911,19 @@ static const unsigned int sdhi2_ctrl_mux[] = { | |||
2817 | }; | 2911 | }; |
2818 | 2912 | ||
2819 | static const struct sh_pfc_pin_group pinmux_groups[] = { | 2913 | static const struct sh_pfc_pin_group pinmux_groups[] = { |
2914 | SH_PFC_PIN_GROUP(bsc_data_0_7), | ||
2915 | SH_PFC_PIN_GROUP(bsc_data_8_15), | ||
2916 | SH_PFC_PIN_GROUP(bsc_cs4), | ||
2917 | SH_PFC_PIN_GROUP(bsc_cs5_a), | ||
2918 | SH_PFC_PIN_GROUP(bsc_cs5_b), | ||
2919 | SH_PFC_PIN_GROUP(bsc_cs6_a), | ||
2920 | SH_PFC_PIN_GROUP(bsc_cs6_b), | ||
2921 | SH_PFC_PIN_GROUP(bsc_rd), | ||
2922 | SH_PFC_PIN_GROUP(bsc_rdwr_0), | ||
2923 | SH_PFC_PIN_GROUP(bsc_rdwr_1), | ||
2924 | SH_PFC_PIN_GROUP(bsc_rdwr_2), | ||
2925 | SH_PFC_PIN_GROUP(bsc_we0), | ||
2926 | SH_PFC_PIN_GROUP(bsc_we1), | ||
2820 | SH_PFC_PIN_GROUP(fsia_mclk_in), | 2927 | SH_PFC_PIN_GROUP(fsia_mclk_in), |
2821 | SH_PFC_PIN_GROUP(fsia_mclk_out), | 2928 | SH_PFC_PIN_GROUP(fsia_mclk_out), |
2822 | SH_PFC_PIN_GROUP(fsia_sclk_in), | 2929 | SH_PFC_PIN_GROUP(fsia_sclk_in), |
@@ -2945,6 +3052,22 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
2945 | SH_PFC_PIN_GROUP(sdhi2_ctrl), | 3052 | SH_PFC_PIN_GROUP(sdhi2_ctrl), |
2946 | }; | 3053 | }; |
2947 | 3054 | ||
3055 | static const char * const bsc_groups[] = { | ||
3056 | "bsc_data_0_7", | ||
3057 | "bsc_data_8_15", | ||
3058 | "bsc_cs4", | ||
3059 | "bsc_cs5_a", | ||
3060 | "bsc_cs5_b", | ||
3061 | "bsc_cs6_a", | ||
3062 | "bsc_cs6_b", | ||
3063 | "bsc_rd", | ||
3064 | "bsc_rdwr_0", | ||
3065 | "bsc_rdwr_1", | ||
3066 | "bsc_rdwr_2", | ||
3067 | "bsc_we0", | ||
3068 | "bsc_we1", | ||
3069 | }; | ||
3070 | |||
2948 | static const char * const fsia_groups[] = { | 3071 | static const char * const fsia_groups[] = { |
2949 | "fsia_mclk_in", | 3072 | "fsia_mclk_in", |
2950 | "fsia_mclk_out", | 3073 | "fsia_mclk_out", |
@@ -3137,6 +3260,7 @@ static const char * const sdhi2_groups[] = { | |||
3137 | }; | 3260 | }; |
3138 | 3261 | ||
3139 | static const struct sh_pfc_function pinmux_functions[] = { | 3262 | static const struct sh_pfc_function pinmux_functions[] = { |
3263 | SH_PFC_FUNCTION(bsc), | ||
3140 | SH_PFC_FUNCTION(fsia), | 3264 | SH_PFC_FUNCTION(fsia), |
3141 | SH_PFC_FUNCTION(fsib), | 3265 | SH_PFC_FUNCTION(fsib), |
3142 | SH_PFC_FUNCTION(fsic), | 3266 | SH_PFC_FUNCTION(fsic), |