联发科MT7628 Linux 5.4.154下PINMUX控制及GPIO复用配置咨询
MT7628(Onion Omega2+)OpenWrt 21.02 PINMUX配置方案
内核支持性确认
Linux 5.4.154(对应OpenWrt 21.02版本)原生支持MT7628的pinctrl子系统,只要内核开启CONFIG_PINCTRL_DEBUGFS配置项,即可通过/sys/kernel/debug/pinctrl路径操作引脚复用,无需修改设备树重新编译内核。如果对应路径不存在,先执行opkg install kmod-pinctrl-debugfs安装对应内核模块即可。
禁用UART2、切换GPIO20/21为普通GPIO
- 首先确认当前引脚复用状态,执行命令:
cat /sys/kernel/debug/pinctrl/10000000.pinctrl/pinmux-pins | grep -E "pin 20|pin 21"
默认输出会标注两个引脚功能为uart2 tx/rx。 - 写入配置切换引脚功能:
echo "uart2 gpio" > /sys/kernel/debug/pinctrl/10000000.pinctrl/pinmux-select - 验证配置生效,重新执行第一步的查询命令,输出显示引脚功能为gpio即为配置成功,之后可正常通过标准GPIO接口操作两个引脚。
禁用SPI、切换GPIO14~17为普通GPIO
- 先卸载SPI相关内核模块避免引脚占用:
rmmod spi_mt7621 && modprobe -r spi_mt7621
注意:如果你的设备通过SPI挂载了存储或其他外设,执行此操作会导致对应设备失联,请提前确认使用场景。 - 切换SPI引脚复用为GPIO功能:
echo "spi gpio" > /sys/kernel/debug/pinctrl/10000000.pinctrl/pinmux-select - 验证配置:执行
cat /sys/kernel/debug/pinctrl/10000000.pinctrl/pinmux-pins | grep -E "pin 14|pin 15|pin 16|pin 17",输出显示四个引脚功能为gpio即配置完成。
配置持久化说明
上述操作均为临时生效,设备重启后会恢复默认引脚配置。如果需要开机自动生效,可将对应操作命令写入
/etc/rc.local文件的exit 0行之前,开机时会自动执行配置。
内容的提问来源于stack exchange,提问作者Dave M.
相关产品推荐
相关产品推荐

