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;
};