diff options
author | Jerome Brunet <jbrunet@baylibre.com> | 2017-03-23 12:50:56 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-03-28 09:12:53 -0400 |
commit | 2899adf0422a29a92c7314fc5b427817c084beee (patch) | |
tree | 2173b3f91b816904693250d518cde36f95e92557 | |
parent | bce12d66d613d536a55e0384f1f202ea98a14e76 (diff) |
pinctrl: meson: gxl: add i2s output pins
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/meson/pinctrl-meson-gxl.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c index 6c2a15dde99f..e472213fd673 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c | |||
@@ -224,6 +224,14 @@ static const unsigned int hdmi_hpd_pins[] = { PIN(GPIOH_0, EE_OFF) }; | |||
224 | static const unsigned int hdmi_sda_pins[] = { PIN(GPIOH_1, EE_OFF) }; | 224 | static const unsigned int hdmi_sda_pins[] = { PIN(GPIOH_1, EE_OFF) }; |
225 | static const unsigned int hdmi_scl_pins[] = { PIN(GPIOH_2, EE_OFF) }; | 225 | static const unsigned int hdmi_scl_pins[] = { PIN(GPIOH_2, EE_OFF) }; |
226 | 226 | ||
227 | static const unsigned int i2s_am_clk_pins[] = { PIN(GPIOH_6, EE_OFF) }; | ||
228 | static const unsigned int i2s_out_ao_clk_pins[] = { PIN(GPIOH_7, EE_OFF) }; | ||
229 | static const unsigned int i2s_out_lr_clk_pins[] = { PIN(GPIOH_8, EE_OFF) }; | ||
230 | static const unsigned int i2s_out_ch01_pins[] = { PIN(GPIOH_9, EE_OFF) }; | ||
231 | static const unsigned int i2s_out_ch23_z_pins[] = { PIN(GPIOZ_5, EE_OFF) }; | ||
232 | static const unsigned int i2s_out_ch45_z_pins[] = { PIN(GPIOZ_6, EE_OFF) }; | ||
233 | static const unsigned int i2s_out_ch67_z_pins[] = { PIN(GPIOZ_7, EE_OFF) }; | ||
234 | |||
227 | static const struct pinctrl_pin_desc meson_gxl_aobus_pins[] = { | 235 | static const struct pinctrl_pin_desc meson_gxl_aobus_pins[] = { |
228 | MESON_PIN(GPIOAO_0, 0), | 236 | MESON_PIN(GPIOAO_0, 0), |
229 | MESON_PIN(GPIOAO_1, 0), | 237 | MESON_PIN(GPIOAO_1, 0), |
@@ -261,6 +269,9 @@ static const unsigned int pwm_ao_a_8_pins[] = { PIN(GPIOAO_8, 0) }; | |||
261 | static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) }; | 269 | static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) }; |
262 | static const unsigned int pwm_ao_b_6_pins[] = { PIN(GPIOAO_6, 0) }; | 270 | static const unsigned int pwm_ao_b_6_pins[] = { PIN(GPIOAO_6, 0) }; |
263 | 271 | ||
272 | static const unsigned int i2s_out_ch23_ao_pins[] = { PIN(GPIOAO_8, EE_OFF) }; | ||
273 | static const unsigned int i2s_out_ch45_ao_pins[] = { PIN(GPIOAO_9, EE_OFF) }; | ||
274 | |||
264 | static struct meson_pmx_group meson_gxl_periphs_groups[] = { | 275 | static struct meson_pmx_group meson_gxl_periphs_groups[] = { |
265 | GPIO_GROUP(GPIOZ_0, EE_OFF), | 276 | GPIO_GROUP(GPIOZ_0, EE_OFF), |
266 | GPIO_GROUP(GPIOZ_1, EE_OFF), | 277 | GPIO_GROUP(GPIOZ_1, EE_OFF), |
@@ -406,11 +417,18 @@ static struct meson_pmx_group meson_gxl_periphs_groups[] = { | |||
406 | GROUP(eth_txd2, 4, 11), | 417 | GROUP(eth_txd2, 4, 11), |
407 | GROUP(eth_txd3, 4, 10), | 418 | GROUP(eth_txd3, 4, 10), |
408 | GROUP(pwm_c, 3, 20), | 419 | GROUP(pwm_c, 3, 20), |
420 | GROUP(i2s_out_ch23_z, 3, 26), | ||
421 | GROUP(i2s_out_ch45_z, 3, 25), | ||
422 | GROUP(i2s_out_ch67_z, 3, 24), | ||
409 | 423 | ||
410 | /* Bank H */ | 424 | /* Bank H */ |
411 | GROUP(hdmi_hpd, 6, 31), | 425 | GROUP(hdmi_hpd, 6, 31), |
412 | GROUP(hdmi_sda, 6, 30), | 426 | GROUP(hdmi_sda, 6, 30), |
413 | GROUP(hdmi_scl, 6, 29), | 427 | GROUP(hdmi_scl, 6, 29), |
428 | GROUP(i2s_am_clk, 6, 26), | ||
429 | GROUP(i2s_out_ao_clk, 6, 25), | ||
430 | GROUP(i2s_out_lr_clk, 6, 24), | ||
431 | GROUP(i2s_out_ch01, 6, 23), | ||
414 | 432 | ||
415 | /* Bank DV */ | 433 | /* Bank DV */ |
416 | GROUP(uart_tx_b, 2, 16), | 434 | GROUP(uart_tx_b, 2, 16), |
@@ -490,6 +508,8 @@ static struct meson_pmx_group meson_gxl_aobus_groups[] = { | |||
490 | GROUP(pwm_ao_b_6, 0, 18), | 508 | GROUP(pwm_ao_b_6, 0, 18), |
491 | GROUP(pwm_ao_a_8, 0, 17), | 509 | GROUP(pwm_ao_a_8, 0, 17), |
492 | GROUP(pwm_ao_b, 0, 3), | 510 | GROUP(pwm_ao_b, 0, 3), |
511 | GROUP(i2s_out_ch23_ao, 1, 0), | ||
512 | GROUP(i2s_out_ch45_ao, 1, 1), | ||
493 | }; | 513 | }; |
494 | 514 | ||
495 | static const char * const gpio_periphs_groups[] = { | 515 | static const char * const gpio_periphs_groups[] = { |
@@ -610,6 +630,11 @@ static const char * const hdmi_i2c_groups[] = { | |||
610 | "hdmi_sda", "hdmi_scl", | 630 | "hdmi_sda", "hdmi_scl", |
611 | }; | 631 | }; |
612 | 632 | ||
633 | static const char * const i2s_out_groups[] = { | ||
634 | "i2s_am_clk", "i2s_out_ao_clk", "i2s_out_lr_clk", | ||
635 | "i2s_out_ch01", "i2s_out_ch23_z", "i2s_out_ch45_z", "i2s_out_ch67_z", | ||
636 | }; | ||
637 | |||
613 | static const char * const gpio_aobus_groups[] = { | 638 | static const char * const gpio_aobus_groups[] = { |
614 | "GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", "GPIOAO_4", | 639 | "GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", "GPIOAO_4", |
615 | "GPIOAO_5", "GPIOAO_6", "GPIOAO_7", "GPIOAO_8", "GPIOAO_9", | 640 | "GPIOAO_5", "GPIOAO_6", "GPIOAO_7", "GPIOAO_8", "GPIOAO_9", |
@@ -644,6 +669,10 @@ static const char * const pwm_ao_b_groups[] = { | |||
644 | "pwm_ao_b", "pwm_ao_b_6", | 669 | "pwm_ao_b", "pwm_ao_b_6", |
645 | }; | 670 | }; |
646 | 671 | ||
672 | static const char * const i2s_out_ao_groups[] = { | ||
673 | "i2s_out_ch23_ao", "i2s_out_ch45_ao", | ||
674 | }; | ||
675 | |||
647 | static struct meson_pmx_func meson_gxl_periphs_functions[] = { | 676 | static struct meson_pmx_func meson_gxl_periphs_functions[] = { |
648 | FUNCTION(gpio_periphs), | 677 | FUNCTION(gpio_periphs), |
649 | FUNCTION(emmc), | 678 | FUNCTION(emmc), |
@@ -666,6 +695,7 @@ static struct meson_pmx_func meson_gxl_periphs_functions[] = { | |||
666 | FUNCTION(pwm_f), | 695 | FUNCTION(pwm_f), |
667 | FUNCTION(hdmi_hpd), | 696 | FUNCTION(hdmi_hpd), |
668 | FUNCTION(hdmi_i2c), | 697 | FUNCTION(hdmi_i2c), |
698 | FUNCTION(i2s_out), | ||
669 | }; | 699 | }; |
670 | 700 | ||
671 | static struct meson_pmx_func meson_gxl_aobus_functions[] = { | 701 | static struct meson_pmx_func meson_gxl_aobus_functions[] = { |
@@ -677,6 +707,7 @@ static struct meson_pmx_func meson_gxl_aobus_functions[] = { | |||
677 | FUNCTION(remote_input_ao), | 707 | FUNCTION(remote_input_ao), |
678 | FUNCTION(pwm_ao_a), | 708 | FUNCTION(pwm_ao_a), |
679 | FUNCTION(pwm_ao_b), | 709 | FUNCTION(pwm_ao_b), |
710 | FUNCTION(i2s_out_ao), | ||
680 | }; | 711 | }; |
681 | 712 | ||
682 | static struct meson_bank meson_gxl_periphs_banks[] = { | 713 | static struct meson_bank meson_gxl_periphs_banks[] = { |