Message ID | tencent_CE3C171C6300ED12361ED2B813BF0D5A0608@qq.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Ask a question about why can't use GPIOAO: GPIO_TEST_N | expand |
Hi, On 14/07/2022 04:07, Zhang Ning wrote: > first this is not a code review, just ask a question. > > I started to enable MagicBox M16S, and sent patches for review. > > but leds are not enabled. > > I have tried, and found gpioao: GPIO_TEST_N can control led on off. > > thus I add it to dts: > > leds { > compatible = "gpio-leds"; > > led-white { > color = <LED_COLOR_ID_WHITE>; > function = LED_FUNCTION_POWER; > gpios = <&gpio_ao GPIO_TEST_N GPIO_ACTIVE_HIGH>; > default-state = "keep"; > }; > }; > > but failed with error -22. > > and simply change GPIO_TEST_N to GPIOAO_2, no error. > > thus find pinctrl driver doesn't allow to use this gpio. > > why? The TEST_N pinctrl needs a SMC call to set the pin GPIO direction, so it needs more code to control the pin. I did an experimental support a few years ago: https://github.com/superna9999/linux/commits/amlogic/v4.19/gpio-test-n I would need to be refreshed to work on 5.20. Neil > > Signed-off-by: Zhang Ning <zhangn1985@qq.com> > --- > drivers/pinctrl/meson/pinctrl-meson-gxl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c > index 51408996255b..fb5fa88b30c7 100644 > --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c > +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c > @@ -820,7 +820,7 @@ static struct meson_bank meson_gxl_periphs_banks[] = { > > static struct meson_bank meson_gxl_aobus_banks[] = { > /* name first last irq pullen pull dir out in */ > - BANK("AO", GPIOAO_0, GPIOAO_9, 0, 9, 0, 16, 0, 0, 0, 0, 0, 16, 1, 0), > + BANK("AO", GPIOAO_0, GPIO_TEST_N, 0, 9, 0, 16, 0, 0, 0, 0, 0, 16, 1, 0), > }; > > static struct meson_pinctrl_data meson_gxl_periphs_pinctrl_data = {
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c index 51408996255b..fb5fa88b30c7 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c @@ -820,7 +820,7 @@ static struct meson_bank meson_gxl_periphs_banks[] = { static struct meson_bank meson_gxl_aobus_banks[] = { /* name first last irq pullen pull dir out in */ - BANK("AO", GPIOAO_0, GPIOAO_9, 0, 9, 0, 16, 0, 0, 0, 0, 0, 16, 1, 0), + BANK("AO", GPIOAO_0, GPIO_TEST_N, 0, 9, 0, 16, 0, 0, 0, 0, 0, 16, 1, 0), }; static struct meson_pinctrl_data meson_gxl_periphs_pinctrl_data = {
first this is not a code review, just ask a question. I started to enable MagicBox M16S, and sent patches for review. but leds are not enabled. I have tried, and found gpioao: GPIO_TEST_N can control led on off. thus I add it to dts: leds { compatible = "gpio-leds"; led-white { color = <LED_COLOR_ID_WHITE>; function = LED_FUNCTION_POWER; gpios = <&gpio_ao GPIO_TEST_N GPIO_ACTIVE_HIGH>; default-state = "keep"; }; }; but failed with error -22. and simply change GPIO_TEST_N to GPIOAO_2, no error. thus find pinctrl driver doesn't allow to use this gpio. why? Signed-off-by: Zhang Ning <zhangn1985@qq.com> --- drivers/pinctrl/meson/pinctrl-meson-gxl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)