diff options
author | Martin Blumenstingl <martin.blumenstingl@googlemail.com> | 2017-01-22 16:05:27 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-01-26 09:40:46 -0500 |
commit | cff2b010250c0e0984fc9e71a96c55495a3ae9e7 (patch) | |
tree | b1e73b3e0290fd603bc8bdfc84450a4925f20e1e /drivers/pinctrl | |
parent | ece2dac9f13eff4ce446c08ca5e76b1b0188089b (diff) |
pinctrl: meson: meson-gxl: add the pwm_ao_b pin
This adds support for the pwm_ao_b pin. Unfortunately the registers for
the pwm_ao pins are not documented at all. The source for the pwm_ao_b
pin from this patch is the Khadas VIM GPL kernel source, which sets bit
3 and unsets bits 4 and 31 to enable the PWM LEDs.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/meson/pinctrl-meson-gxl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c index 7703a46632bc..520523a76cc8 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c | |||
@@ -226,6 +226,8 @@ static const unsigned int uart_rts_ao_b_pins[] = { PIN(GPIOAO_3, 0) }; | |||
226 | 226 | ||
227 | static const unsigned int remote_input_ao_pins[] = {PIN(GPIOAO_7, 0) }; | 227 | static const unsigned int remote_input_ao_pins[] = {PIN(GPIOAO_7, 0) }; |
228 | 228 | ||
229 | static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) }; | ||
230 | |||
229 | static struct meson_pmx_group meson_gxl_periphs_groups[] = { | 231 | static struct meson_pmx_group meson_gxl_periphs_groups[] = { |
230 | GPIO_GROUP(GPIOZ_0, EE_OFF), | 232 | GPIO_GROUP(GPIOZ_0, EE_OFF), |
231 | GPIO_GROUP(GPIOZ_1, EE_OFF), | 233 | GPIO_GROUP(GPIOZ_1, EE_OFF), |
@@ -427,6 +429,7 @@ static struct meson_pmx_group meson_gxl_aobus_groups[] = { | |||
427 | GROUP(uart_cts_ao_b, 0, 8), | 429 | GROUP(uart_cts_ao_b, 0, 8), |
428 | GROUP(uart_rts_ao_b, 0, 7), | 430 | GROUP(uart_rts_ao_b, 0, 7), |
429 | GROUP(remote_input_ao, 0, 0), | 431 | GROUP(remote_input_ao, 0, 0), |
432 | GROUP(pwm_ao_b, 0, 3), | ||
430 | }; | 433 | }; |
431 | 434 | ||
432 | static const char * const gpio_periphs_groups[] = { | 435 | static const char * const gpio_periphs_groups[] = { |
@@ -540,6 +543,10 @@ static const char * const remote_input_ao_groups[] = { | |||
540 | "remote_input_ao", | 543 | "remote_input_ao", |
541 | }; | 544 | }; |
542 | 545 | ||
546 | static const char * const pwm_ao_b_groups[] = { | ||
547 | "pwm_ao_b", | ||
548 | }; | ||
549 | |||
543 | static struct meson_pmx_func meson_gxl_periphs_functions[] = { | 550 | static struct meson_pmx_func meson_gxl_periphs_functions[] = { |
544 | FUNCTION(gpio_periphs), | 551 | FUNCTION(gpio_periphs), |
545 | FUNCTION(emmc), | 552 | FUNCTION(emmc), |
@@ -563,6 +570,7 @@ static struct meson_pmx_func meson_gxl_aobus_functions[] = { | |||
563 | FUNCTION(uart_ao), | 570 | FUNCTION(uart_ao), |
564 | FUNCTION(uart_ao_b), | 571 | FUNCTION(uart_ao_b), |
565 | FUNCTION(remote_input_ao), | 572 | FUNCTION(remote_input_ao), |
573 | FUNCTION(pwm_ao_b), | ||
566 | }; | 574 | }; |
567 | 575 | ||
568 | static struct meson_bank meson_gxl_periphs_banks[] = { | 576 | static struct meson_bank meson_gxl_periphs_banks[] = { |