如何解决将GPIO引脚路由至基于i.mx6ulz的板上的UART1 TX和RX
我们正在尝试在定制imx6ulz板上暴露的GPIO1_IO2和IO3焊盘上路由UART1 TX和RX信号。在将TTL到USB电缆连接到这两个引脚上之后,我们希望在控制台屏幕上获得u-boot输出。
该板靠近参考mx6ullevk板,因此我们删除了路由UART的默认行,并在mx6ullevk.c文件中添加了GPIO1_IO2和IO3路由,如下所示。
static iomux_v3_cfg_t const uart1_pads[] = {
MX6_PAD_UART1_TX_DATA__UART1_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),//REMOVED LINES
MX6_PAD_UART1_RX_DATA__UART1_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),//REMOVED LINES
MX6_PAD_GPIO1_IO02__UART1_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),//ADDED LINES
MX6_PAD_GPIO1_IO03__UART1_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),//ADDED LINES
};
其余setup_iomux_uart()
函数保持不变,并在board_early_init()
函数内部被调用。
在/include/configs/mx6ullevk.h
文件中已经定义了UART1_BASE寄存器,并且
ttymxc0
已经是默认的控制台值,因此我们认为不需要在其中进行任何编辑。
一旦使用这些更改编译了u-boot.imx映像,那么在通过uuu工具加载并引导u-boot时,将无法在这2个TX和RX引脚上获得任何输出。最重要的是,我们在EVK板上尝试了相同的u-boot映像,并且仍然在默认UART1端口上看到输出。我们以为是因为我们更改了UART1引脚的路由,所以在EVK板上看不到任何东西。
引脚的布线是否正确完成,我们在某处缺少步骤了吗?还是我们需要在board.c文件中以不同的方式对待GPIO路由?在正确方向上的任何帮助将不胜感激。我们知道,也可以修改设备树文件以供内核查看这些enw路由,但希望首先在这两个引脚上获取u-boot输出。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。