将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 (将#修改为@)