[SOLVED]Enable uart OA_B (ttyS4) (Linux 4.9)

Hello.
How to enable uart (ttyS4, pins: UART_RX_AO_B / UART_TX_AO_B) on Ubuntu?
I have Vim2 board.

Parameters setting by env/setenv.sh

#VERSION: 0.3
#KHADAS_BOARD=VIM2
#VENDER=Amlogic
#CHIP=S912
#LINUX=4.9
#UBOOT=2015.01
#DISTRIBUTION=Ubuntu
#DISTRIB_RELEASE=xenial
#DISTRIB_TYPE=server
#DISTRIB_ARCH=armhf
#INSTALL_TYPE=EMMC

I change status from disable to okay in file: fenix/linux/arch/arm64/boot/dts/amlogic/mesongxm.dtsi

uart_AO_B: serial@c81004e0 {
            compatible = "amlogic, meson-uart";
            reg = <0x0 0xc81004e0 0x0 0x18>;
            interrupts = <0 197 1>;
            status = "okay";
            clocks = <&xtal>;
            clock-names = "clk_uart";
            fifosize = < 64 >;
            pinctrl-names = "default";
            pinctrl-0 = <&ao_b_uart_pins>;
    };

After boot, uart 4 (ttyS4) not exists

khadas@Khadas:~$ dmesg | grep uart
[    1.735047] usbserial: USB Serial support registered for ch341-uart
[    1.868571] meson_uart c81004c0.serial: ==uart0 reg addr = ffffff80080fc4c0
[    1.872987] c81004c0.serial: ttyS0 at MMIO 0xc81004c0 (irq = 16, base_baud = 1500000) is a meson_uart
[    1.877397] meson_uart c81004c0.serial: ttyS0 use xtal(8M) 24000000 change 0 to 115200
[    4.220763] meson_uart c11084c0.serial: ==uart1 reg addr = ffffff80080fe4c0
[    4.227018] c11084c0.serial: ttyS1 at MMIO 0xc11084c0 (irq = 17, base_baud = 10416666) is a meson_uart
[    4.254305] meson-pinctrl pinctrl@4b0: could not request pin 84 (GPIODV_24) from group uart_tx_b  on device pinctrl-meson
[    4.265363] meson_uart c11084dc.serial: Error applying setting, reverse things back
[    4.273121] meson_uart: probe of c11084dc.serial failed with error -22
[   18.498380] meson_uart c81004c0.serial: ttyS0 use xtal(8M) 24000000 change 115200 to 115200
[   23.500470] meson_uart c11084c0.serial: ttyS1 use clk81 166666667 change 0 to 9600
[   23.500545] meson_uart c11084c0.serial: ttyS1 use clk81 166666667 change 9600 to 9600
[   23.500585] meson_uart c11084c0.serial: ttyS1 use clk81 166666667 change 9600 to 115200
[   24.534620] meson_uart c11084c0.serial: ttyS1 use clk81 166666667 change 115200 to 115200
khadas@Khadas:~$ dmesg | grep ttyS4
khadas@Khadas:~$ ls -l /dev/ | grep ttyS
crw------- 1 khadas tty     244,   0 Jul 17 12:44 ttyS0
crw-rw---- 1 root   dialout 244,   1 Jul 17 12:01 ttyS1

in file /fenix/linux/arch/arm64/boot/dts/amlogic/kvim2_linux.dts i have correct alias:

aliases {
                serial0 = &uart_AO;
                serial1 = &uart_A;
                serial2 = &uart_B;
                serial3 = &uart_C;
                serial4 = &uart_AO_B;
        };

Hi jarbash,

Please update you kernel, this issue has beed resolved.

Thanks.

1 Like

Hello.

Everything works correctly.

Thanks