summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>2017-01-22 16:05:27 -0500
committerLinus Walleij <linus.walleij@linaro.org>2017-01-26 09:40:46 -0500
commitcff2b010250c0e0984fc9e71a96c55495a3ae9e7 (patch)
treeb1e73b3e0290fd603bc8bdfc84450a4925f20e1e /drivers/pinctrl
parentece2dac9f13eff4ce446c08ca5e76b1b0188089b (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.c8
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
227static const unsigned int remote_input_ao_pins[] = {PIN(GPIOAO_7, 0) }; 227static const unsigned int remote_input_ao_pins[] = {PIN(GPIOAO_7, 0) };
228 228
229static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) };
230
229static struct meson_pmx_group meson_gxl_periphs_groups[] = { 231static 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
432static const char * const gpio_periphs_groups[] = { 435static 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
546static const char * const pwm_ao_b_groups[] = {
547 "pwm_ao_b",
548};
549
543static struct meson_pmx_func meson_gxl_periphs_functions[] = { 550static 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
568static struct meson_bank meson_gxl_periphs_banks[] = { 576static struct meson_bank meson_gxl_periphs_banks[] = {