linux - 如何在设备树(.dts)文件中指定uart的设备名称?

标签 linux mips openwrt device-tree

我正在编译 OpenWrt(基于 Linux 的无线路由器),我在 OpenWrt 源代码中添加了一个板子,我的板子有两个 uart 端口,我可以声明并启用两个 uart 端口,这两个 uart 端口被命名为 ' uartfull' 和 'uartlite'。

“uartlite”注册到“/dev/ttyS1”,“uartfull”注册到“/dev/ttyS0”。但我希望 uartlite 到 '/dev/ttyS0' 和 'uartfull' 到 '/dev/ttyS1'。

    uartlite@c00 {
        compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
        reg = <0xc00 0x100>;

        resets = <&rstctrl 19>;
        reset-names = "uartl";

        interrupt-parent = <&intc>;
        interrupts = <12>;

        reg-shift = <2>;
    };

    uart@500 {
        compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
        reg = <0x500 0x100>;

        resets = <&rstctrl 12>;
        reset-names = "uart";

        interrupt-parent = <&intc>;
        interrupts = <5>;

        reg-shift = <2>;

        status = "okay";
    };

这是我的 dts 文件中的“uartfull”(名称为 uart)和“uartlite”节点。我在猜测是什么决定了设备名称(/dev/ttyS0/dev/ttyS1 等等),我可以为这两个 uart 节点强制使用设备名称吗?

最佳答案

使用设备树文件顶部的别名字段:

aliases {
serial0 = &uart0; // becomes /dev/ttyS0
serial1 = &uart2; // becomes /dev/ttyS1
serial2 = &uart5; // becomes /dev/ttyS2 (not /dev/ttyS3)
serial3 = &uart4; // becomes /dev/ttyS3 (not /dev/ttyS2)

};

关于linux - 如何在设备树(.dts)文件中指定uart的设备名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18994633/

相关文章:

linux - arduino Yun 和 nodejs 上的 Linino (openWRT) - Nodejs 串行模块不工作

linux 服务器上的 c++ cgi

linux - VIM:是否可以仅使用 1 次击键/快捷方式退出/取消 "colon command"行?

linux - 去除空格并将小写变为连字符 - 文件名

c++ - 如何在 C++ 中找到基础文件类型?

assembly - 以 mips 为单位打印消息

linux - Flash存储器的起始地址和结束地址

c - 选择排序的 MIPS 实现输出正确值

assembly - 在MIPS中,为什么跳转指​​令可以将程序计数器设置为28位目标地址

c++ - mipsel-linux-objdump 无法识别 mipsel-linux-g++ 对象