我在 banana pi m5 上使用 gpio 时遇到了一些问题。我使用 Banana Pi 官方网站上的 Armbian_23.05.0-trunk_Bananapim5_jammy_current_6.1.15.img 发行版。
我需要在 40 个 gpios 中添加更多 UART 接口,最初我只有两个 UART 接口。
我知道设备树。此分发版使用 meson-sm1-bananapi-m5.dtb。在 .dtb 文件中,我发现 bus@ff600000、bus@34400、pinctrl@40 和 uart-a/uart-b/uart-c。pinctrl@40 使用兼容的 meson-g12a-periphs-pinctrl。
uart-a 使用组 uart_a_tx\0uart_a_rx
uart-b 使用组 uart_b_tx\0uart_b_rx
uart-c 使用组 uart_c_tx\0uart_c_rx
在 bus@ffd00000 内部,serial@24000 使用 uart-a 并且我还为 uart-b 设置了 serial@23000。
我在linux github上找到了驱动程序meson-g12a-pinctrl,并看到uart-c:
static const unsigned int uart_c_rx_pins[] = { GPIOH_6 };
static const unsigned int uart_c_tx_pins[] = { GPIOH_7 };
40 针板上没有 GPIOH_6 和 7,有 GPIOX...我该怎么办?我想将 GPIOH_6 和 7 更改为 GPIOX,例如 GPIOX_14 和 15,而不是 uart_a cts/rts。