diff options
author | Guoying Zhang <Guoying.Zhang@csr.com> | 2015-11-30 01:05:57 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-12-10 10:23:50 -0500 |
commit | df8801a0739664b48f8c47b276e989b2c6d8bced (patch) | |
tree | e55d3efe7ab7324677f250620a55edf31cc1eb12 | |
parent | 5238bba81f6ccd17ce0ddf7df393d9c5d4f1b307 (diff) |
pinctrl: atlas7: add pulse conter pin group without direction pin
DR needs use the pulse counter direction pin as common gpio
function.
Signed-off-by: Guoying Zhang <Guoying.Zhang@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/sirf/pinctrl-atlas7.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/pinctrl/sirf/pinctrl-atlas7.c b/drivers/pinctrl/sirf/pinctrl-atlas7.c index fc9c3f7d04cd..053d98e33944 100644 --- a/drivers/pinctrl/sirf/pinctrl-atlas7.c +++ b/drivers/pinctrl/sirf/pinctrl-atlas7.c | |||
@@ -894,6 +894,7 @@ static const unsigned int nd_df_basic_pins[] = { 44, 43, 42, 41, 40, 39, 38, | |||
894 | static const unsigned int nd_df_wp_pins[] = { 124, }; | 894 | static const unsigned int nd_df_wp_pins[] = { 124, }; |
895 | static const unsigned int nd_df_cs_pins[] = { 51, }; | 895 | static const unsigned int nd_df_cs_pins[] = { 51, }; |
896 | static const unsigned int ps_pins[] = { 120, 119, 121, }; | 896 | static const unsigned int ps_pins[] = { 120, 119, 121, }; |
897 | static const unsigned int ps_no_dir_pins[] = { 119, }; | ||
897 | static const unsigned int pwc_core_on_pins[] = { 8, }; | 898 | static const unsigned int pwc_core_on_pins[] = { 8, }; |
898 | static const unsigned int pwc_ext_on_pins[] = { 6, }; | 899 | static const unsigned int pwc_ext_on_pins[] = { 6, }; |
899 | static const unsigned int pwc_gpio3_clk_pins[] = { 3, }; | 900 | static const unsigned int pwc_gpio3_clk_pins[] = { 3, }; |
@@ -1150,6 +1151,7 @@ struct atlas7_pin_group altas7_pin_groups[] = { | |||
1150 | GROUP("nd_df_wp_grp", nd_df_wp_pins), | 1151 | GROUP("nd_df_wp_grp", nd_df_wp_pins), |
1151 | GROUP("nd_df_cs_grp", nd_df_cs_pins), | 1152 | GROUP("nd_df_cs_grp", nd_df_cs_pins), |
1152 | GROUP("ps_grp", ps_pins), | 1153 | GROUP("ps_grp", ps_pins), |
1154 | GROUP("ps_no_dir_grp", ps_no_dir_pins), | ||
1153 | GROUP("pwc_core_on_grp", pwc_core_on_pins), | 1155 | GROUP("pwc_core_on_grp", pwc_core_on_pins), |
1154 | GROUP("pwc_ext_on_grp", pwc_ext_on_pins), | 1156 | GROUP("pwc_ext_on_grp", pwc_ext_on_pins), |
1155 | GROUP("pwc_gpio3_clk_grp", pwc_gpio3_clk_pins), | 1157 | GROUP("pwc_gpio3_clk_grp", pwc_gpio3_clk_pins), |
@@ -1430,6 +1432,7 @@ static const char * const nd_df_basic_grp[] = { "nd_df_basic_grp", }; | |||
1430 | static const char * const nd_df_wp_grp[] = { "nd_df_wp_grp", }; | 1432 | static const char * const nd_df_wp_grp[] = { "nd_df_wp_grp", }; |
1431 | static const char * const nd_df_cs_grp[] = { "nd_df_cs_grp", }; | 1433 | static const char * const nd_df_cs_grp[] = { "nd_df_cs_grp", }; |
1432 | static const char * const ps_grp[] = { "ps_grp", }; | 1434 | static const char * const ps_grp[] = { "ps_grp", }; |
1435 | static const char * const ps_no_dir_grp[] = { "ps_no_dir_grp", }; | ||
1433 | static const char * const pwc_core_on_grp[] = { "pwc_core_on_grp", }; | 1436 | static const char * const pwc_core_on_grp[] = { "pwc_core_on_grp", }; |
1434 | static const char * const pwc_ext_on_grp[] = { "pwc_ext_on_grp", }; | 1437 | static const char * const pwc_ext_on_grp[] = { "pwc_ext_on_grp", }; |
1435 | static const char * const pwc_gpio3_clk_grp[] = { "pwc_gpio3_clk_grp", }; | 1438 | static const char * const pwc_gpio3_clk_grp[] = { "pwc_gpio3_clk_grp", }; |
@@ -3232,6 +3235,15 @@ static struct atlas7_grp_mux ps_grp_mux = { | |||
3232 | .pad_mux_list = ps_grp_pad_mux, | 3235 | .pad_mux_list = ps_grp_pad_mux, |
3233 | }; | 3236 | }; |
3234 | 3237 | ||
3238 | static struct atlas7_pad_mux ps_no_dir_grp_pad_mux[] = { | ||
3239 | MUX(1, 119, 2, N, N, N, N), | ||
3240 | }; | ||
3241 | |||
3242 | static struct atlas7_grp_mux ps_no_dir_grp_mux = { | ||
3243 | .pad_mux_count = ARRAY_SIZE(ps_no_dir_grp_pad_mux), | ||
3244 | .pad_mux_list = ps_no_dir_grp_pad_mux, | ||
3245 | }; | ||
3246 | |||
3235 | static struct atlas7_pad_mux pwc_core_on_grp_pad_mux[] = { | 3247 | static struct atlas7_pad_mux pwc_core_on_grp_pad_mux[] = { |
3236 | MUX(0, 8, 1, N, N, N, N), | 3248 | MUX(0, 8, 1, N, N, N, N), |
3237 | }; | 3249 | }; |
@@ -4606,6 +4618,7 @@ static struct atlas7_pmx_func atlas7_pmx_functions[] = { | |||
4606 | FUNCTION("nd_df_wp", nd_df_wp_grp, &nd_df_wp_grp_mux), | 4618 | FUNCTION("nd_df_wp", nd_df_wp_grp, &nd_df_wp_grp_mux), |
4607 | FUNCTION("nd_df_cs", nd_df_cs_grp, &nd_df_cs_grp_mux), | 4619 | FUNCTION("nd_df_cs", nd_df_cs_grp, &nd_df_cs_grp_mux), |
4608 | FUNCTION("ps", ps_grp, &ps_grp_mux), | 4620 | FUNCTION("ps", ps_grp, &ps_grp_mux), |
4621 | FUNCTION("ps_no_dir", ps_no_dir_grp, &ps_no_dir_grp_mux), | ||
4609 | FUNCTION("pwc_core_on", pwc_core_on_grp, &pwc_core_on_grp_mux), | 4622 | FUNCTION("pwc_core_on", pwc_core_on_grp, &pwc_core_on_grp_mux), |
4610 | FUNCTION("pwc_ext_on", pwc_ext_on_grp, &pwc_ext_on_grp_mux), | 4623 | FUNCTION("pwc_ext_on", pwc_ext_on_grp, &pwc_ext_on_grp_mux), |
4611 | FUNCTION("pwc_gpio3_clk", pwc_gpio3_clk_grp, &pwc_gpio3_clk_grp_mux), | 4624 | FUNCTION("pwc_gpio3_clk", pwc_gpio3_clk_grp, &pwc_gpio3_clk_grp_mux), |