Message ID | 20170122210528.892-3-martin.blumenstingl@googlemail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes: > 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> > --- > drivers/pinctrl/meson/pinctrl-meson-gxl.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c > index 25694f7094c7..6ff321a7366d 100644 > --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c > +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c > @@ -222,6 +222,8 @@ static const unsigned int uart_rts_ao_b_pins[] = { PIN(GPIOAO_3, 0) }; > > static const unsigned int remote_input_ao_pins[] = {PIN(GPIOAO_7, 0) }; > > +static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) }; > + Hmm, the S905 public data sheet[1] shows this as GPIOAO_13. > static struct meson_pmx_group meson_gxl_periphs_groups[] = { > GPIO_GROUP(GPIOZ_0, EE_OFF), > GPIO_GROUP(GPIOZ_1, EE_OFF), > @@ -418,6 +420,7 @@ static struct meson_pmx_group meson_gxl_aobus_groups[] = { > GROUP(uart_cts_ao_b, 0, 8), > GROUP(uart_rts_ao_b, 0, 7), > GROUP(remote_input_ao, 0, 0), > + GROUP(pwm_ao_b, 0, 3), > }; but it does show as ao_reg[3]. Kevin [1] http://dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf
On Mon, Jan 23, 2017 at 11:10 AM, Kevin Hilman <khilman@baylibre.com> wrote: > Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes: > >> 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> >> --- >> drivers/pinctrl/meson/pinctrl-meson-gxl.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c >> index 25694f7094c7..6ff321a7366d 100644 >> --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c >> +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c >> @@ -222,6 +222,8 @@ static const unsigned int uart_rts_ao_b_pins[] = { PIN(GPIOAO_3, 0) }; >> >> static const unsigned int remote_input_ao_pins[] = {PIN(GPIOAO_7, 0) }; >> >> +static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) }; >> + > > Hmm, the S905 public data sheet[1] shows this as GPIOAO_13. > gack, nevermind. I see now this is for GXL, not GXBB. Ignore my comments. Linus, feel free to apply with: Acked-by: Kevin Hilman <khilman@baylibre.com>
On Sun, Jan 22, 2017 at 10:05 PM, Martin Blumenstingl <martin.blumenstingl@googlemail.com> wrote: > 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> This patch applied to the pin control tree with Kevin's ACK. Yours, Linus Walleij
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c index 25694f7094c7..6ff321a7366d 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c @@ -222,6 +222,8 @@ static const unsigned int uart_rts_ao_b_pins[] = { PIN(GPIOAO_3, 0) }; static const unsigned int remote_input_ao_pins[] = {PIN(GPIOAO_7, 0) }; +static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) }; + static struct meson_pmx_group meson_gxl_periphs_groups[] = { GPIO_GROUP(GPIOZ_0, EE_OFF), GPIO_GROUP(GPIOZ_1, EE_OFF), @@ -418,6 +420,7 @@ static struct meson_pmx_group meson_gxl_aobus_groups[] = { GROUP(uart_cts_ao_b, 0, 8), GROUP(uart_rts_ao_b, 0, 7), GROUP(remote_input_ao, 0, 0), + GROUP(pwm_ao_b, 0, 3), }; static const char * const gpio_periphs_groups[] = { @@ -523,6 +526,10 @@ static const char * const remote_input_ao_groups[] = { "remote_input_ao", }; +static const char * const pwm_ao_b_groups[] = { + "pwm_ao_b", +}; + static struct meson_pmx_func meson_gxl_periphs_functions[] = { FUNCTION(gpio_periphs), FUNCTION(emmc), @@ -544,6 +551,7 @@ static struct meson_pmx_func meson_gxl_aobus_functions[] = { FUNCTION(uart_ao), FUNCTION(uart_ao_b), FUNCTION(remote_input_ao), + FUNCTION(pwm_ao_b), }; static struct meson_bank meson_gxl_periphs_banks[] = {
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> --- drivers/pinctrl/meson/pinctrl-meson-gxl.c | 8 ++++++++ 1 file changed, 8 insertions(+)