aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-03-11 20:55:08 -0400
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-03-15 08:34:06 -0400
commite24c62a6ce6b789d1372397894ffdea43e3a9f36 (patch)
tree789323fb10b57ab69346db743e35d0425bf2c716
parentd6bab7b12e815e6c2a637a3b509143c866683c2a (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.c124
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 -------------------------------------------------------------------- */
1856static const unsigned int bsc_data_0_7_pins[] = {
1857 /* D[0:7] */
1858 74, 75, 76, 77, 78, 79, 80, 81,
1859};
1860static 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};
1864static const unsigned int bsc_data_8_15_pins[] = {
1865 /* D[8:15] */
1866 82, 83, 84, 85, 86, 87, 88, 89,
1867};
1868static 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};
1872static const unsigned int bsc_cs4_pins[] = {
1873 /* CS */
1874 90,
1875};
1876static const unsigned int bsc_cs4_mux[] = {
1877 CS4__MARK,
1878};
1879static const unsigned int bsc_cs5_a_pins[] = {
1880 /* CS */
1881 91,
1882};
1883static const unsigned int bsc_cs5_a_mux[] = {
1884 CS5A__MARK,
1885};
1886static const unsigned int bsc_cs5_b_pins[] = {
1887 /* CS */
1888 92,
1889};
1890static const unsigned int bsc_cs5_b_mux[] = {
1891 CS5B__MARK,
1892};
1893static const unsigned int bsc_cs6_a_pins[] = {
1894 /* CS */
1895 94,
1896};
1897static const unsigned int bsc_cs6_a_mux[] = {
1898 CS6A__MARK,
1899};
1900static const unsigned int bsc_cs6_b_pins[] = {
1901 /* CS */
1902 93,
1903};
1904static const unsigned int bsc_cs6_b_mux[] = {
1905 CS6B__MARK,
1906};
1907static const unsigned int bsc_rd_pins[] = {
1908 /* RD */
1909 96,
1910};
1911static const unsigned int bsc_rd_mux[] = {
1912 RD__FSC_MARK,
1913};
1914static const unsigned int bsc_rdwr_0_pins[] = {
1915 /* RDWR */
1916 91,
1917};
1918static const unsigned int bsc_rdwr_0_mux[] = {
1919 PORT91_RDWR_MARK,
1920};
1921static const unsigned int bsc_rdwr_1_pins[] = {
1922 /* RDWR */
1923 97,
1924};
1925static const unsigned int bsc_rdwr_1_mux[] = {
1926 RDWR_FWE_MARK,
1927};
1928static const unsigned int bsc_rdwr_2_pins[] = {
1929 /* RDWR */
1930 149,
1931};
1932static const unsigned int bsc_rdwr_2_mux[] = {
1933 PORT149_RDWR_MARK,
1934};
1935static const unsigned int bsc_we0_pins[] = {
1936 /* WE0 */
1937 97,
1938};
1939static const unsigned int bsc_we0_mux[] = {
1940 WE0__FWE_MARK,
1941};
1942static const unsigned int bsc_we1_pins[] = {
1943 /* WE1 */
1944 98,
1945};
1946static const unsigned int bsc_we1_mux[] = {
1947 WE1__MARK,
1948};
1855/* - FSIA ------------------------------------------------------------------- */ 1949/* - FSIA ------------------------------------------------------------------- */
1856static const unsigned int fsia_mclk_in_pins[] = { 1950static 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
2819static const struct sh_pfc_pin_group pinmux_groups[] = { 2913static 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
3055static 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
2948static const char * const fsia_groups[] = { 3071static 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
3139static const struct sh_pfc_function pinmux_functions[] = { 3262static 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),