使用GPIOA_3和GPIOA_4报错

Which Khadas SBC do you use?

VIM3 Pro

Which system do you use? Android, Ubuntu, OOWOW or others?

ubuntu

Which version of system do you use? Khadas official images, self built images, or others?

khadas

Please describe your issue below:

目前我们需要更多的GPIO来使用,计划将 vim3 Pro 的I2SB_SDI(GPIOA_3)和I2SB_SDO(GPIOA_4)作为GPIO口使用,但配置成GPIO使用时,dmesg报如下错误信息。

[ 4060.669708] ff642000.audiobus:tdmb is using the pin GPIOA_4 as pinmux

Post a console log of your issue below:

[ 4060.669708] ff642000.audiobus:tdmb is using the pin GPIOA_4 as pinmux
[ 4060.669720] meson-g12a-pinctrl pinctrl@ff634480: request() failed for pin 54
[ 4060.671322] meson-g12a-pinctrl pinctrl@ff634480: pin-54 (periphs-banks:464) status -22
[ 4060.681440] ff642000.audiobus:tdmb is using the pin GPIOA_3 as pinmux
[ 4060.681450] meson-g12a-pinctrl pinctrl@ff634480: request() failed for pin 53
[ 4060.687572] meson-g12a-pinctrl pinctrl@ff634480: pin-53 (periphs-banks:463) status -22
[ 4061.695128] ff642000.audiobus:tdmb is using the pin GPIOA_3 as pinmux
[ 4061.695138] meson-g12a-pinctrl pinctrl@ff634480: request() failed for pin 53
[ 4061.696952] meson-g12a-pinctrl pinctrl@ff634480: pin-53 (periphs-banks:463) status -22
[ 4061.705059] ff642000.audiobus:tdmb is using the pin GPIOA_4 as pinmux
[ 4061.705069] meson-g12a-pinctrl pinctrl@ff634480: request() failed for pin 54
[ 4061.712093] meson-g12a-pinctrl pinctrl@ff634480: pin-54 (periphs-banks:464) status -22
[ 4061.720359] ff642000.audiobus:tdmb is using the pin GPIOA_3 as pinmux
[ 4061.720369] meson-g12a-pinctrl pinctrl@ff634480: request() failed for pin 53
[ 4061.727321] meson-g12a-pinctrl pinctrl@ff634480: pin-53 (periphs-banks:463) status -22
root@Khadas:/sys/class/gpio#

@zfuwen

这些pin脚默认已经设置成了复用功能,你可以参考这个文档,拿掉以后,就是普通GPIO了。

能否帮忙给个示例,将GPIOA_3和GPIOA_4对应脚位复用去掉,我这边DTS没接触过。

@zfuwen

编辑/boot/env.txt

overlays=uart3 pwm_f i2c3 i2s os08a10 watchdog

改为

overlays=uart3 pwm_f i2c3 os08a10 watchdog

保存重启。

按上面操作已正常控制,谢谢。

lrwxrwxrwx 1 root root 0 Jun 6 14:29 gpio426 → ‘…/…/devices/platform/pinctrl@ff634480/gpiochip1/gpio/gpio426’/
lrwxrwxrwx 1 root root 0 Jun 6 14:29 gpio431 → ‘…/…/devices/platform/pinctrl@ff634480/gpiochip1/gpio/gpio431’/
lrwxrwxrwx 1 root root 0 Jun 6 14:36 gpio463 → ‘…/…/devices/platform/pinctrl@ff634480/gpiochip1/gpio/gpio463’/
lrwxrwxrwx 1 root root 0 Jun 6 14:36 gpio464 → ‘…/…/devices/platform/pinctrl@ff634480/gpiochip1/gpio/gpio464’/