linux - 如何更改 DTS U-boot 中的 UART 引脚?

标签 linux embedded u-boot microprocessors texas-instruments

我们正在制作基于 TI am5728 sitara 系列的定制板。 我们有 am5728 评估模块,并试图使我们的定制板具有最小差异。 在此 evm u-boot 和 linux 启动日志中,UART3 С28 和 D27 引脚出现异常,我们也需要使用 UART3,但在 AB3 和 Y1 引脚上。

我们在 arch/arm/dts/am57xx-beagle-x15.dts 中的 u-boot 源文件中找到了这段代码:

uart3_pins_default: uart3_pins_default {
pinctrl-single,pins = <
  0x3f8 (PIN_INPUT_SLEW | MUX_MODE2) /* uart2_ctsn.uart3_rxd */
  0x3fc (PIN_INPUT_SLEW | MUX_MODE1) /* uart2_rtsn.uart3_rxd */
>; };

并将其更改为:

uart3_pins_default: uart3_pins_default {
pinctrl-single,pins = <
  0x24c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* uart3_txd.uart3_txd */
  0x34c (PIN_INPUT_PULLUP | MUX_MODE4) /* mcasp_axr0.uart3_rxd */
  0x3f8 (PIN_INPUT_SLEW | MUX_MODE15) /* uart2_ctsn.uart3_rxd */
  0x3fc (PIN_INPUT_SLEW | MUX_MODE15) /* uart2_rtsn.uart3_txd */
>;  };

但是如果我们在我们的定制板上尝试这个 u-boot,我们看不到任何加载日志。 如果我们在 evm 板上尝试这个 u-boot,我们可以看到加载日志。

所以我们可以认为这个代码的改动没有任何作用,但是U-boot肯定使用这个dts文件,因为如果我们把UART3改成UART2,我们在evm中是看不到loading log的。

那么为什么我们不能更改 UART 引脚?还有一个地方需要改吗?

谢谢

附注 TI 论坛中的主题: https://e2e.ti.com/support/embedded/linux/f/354/p/585273/2151268

最佳答案

问题不在于 UART 引脚。

我们在没有 FIT 检查的情况下构建了我们的 U-boot,它已经成功启动。

关于linux - 如何更改 DTS U-boot 中的 UART 引脚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43205114/

相关文章:

linux - 为什么输入数据后无法保存VI文件?

linux - 以 root 身份通过无密码 ssh 连接到远程系统

linux - 在 Linux CentOS 6.2 上安装 R 时出现问题

c++ - 固定分配 std::vector

ubuntu-12.04 - U-Boot 未在屏幕上加载

embedded-linux - 使用 Yocto 配置 U-Boot

java - 从 Java 程序运行 grep

gcc - Windows中嵌入式平台的交叉编译器

c - 嵌入式应用中浮点除零的高效校验

bootloader - 如何持久保存U-Boot环境变量?