Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to specify the device name for uart in device tree(.dts) file?

I was compiling the OpenWrt (A wireless router based on Linux), i added a board to the OpenWrt source, my board has two uart ports, i can declare and enable the two uart ports, the two uart ports are named 'uartfull' and 'uartlite'.

The 'uartlite' is registered to '/dev/ttyS1', and the 'uartfull' is registered to '/dev/ttyS0'. But i want uartlite to '/dev/ttyS0' and 'uartfull' to '/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";
    };

This is the 'uartfull'(name uart) and the 'uartlite' node in my dts file. I was guessing what determines the device name(/dev/ttyS0 /dev/ttyS1 and so on), can i force a device name for this two uart nodes.

like image 223
Jiapeng Avatar asked Sep 25 '13 01:09

Jiapeng


1 Answers

Use the aliases field in the top of the devicetree file:

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)

};

like image 192
dashxdr Avatar answered Oct 18 '22 08:10

dashxdr