M2U uart/Bluetooth issue

M2U boots with 3.10 kernel image. It used uart3 to control bluetooth and worked. For somehow when boot in kernel 4.20.2, system starts and find ttyS1 instead of ttyS3 (using dmesg | grep tty to see). Consequently no matter how to configure, Bluetooth won’t work. Does anyone know why? How to make system see ttyS3? I set overlay=uart3 in armbianEvt.txt. Not work either.

ALso here is an error message from USB/TTL serial consol. This is to use UART1. When tried UART3, same errors.

Applying kernel provided DT overlay sun8i-h3-uart1.dtbo
failed on fdt_overlay_apply(): FDT_ERR_NOTFOUND
Error applying DT overlays, restoring original DT

My armbianEvt.txt


These are from my current 4.20.2 kernel Armbian.



Here is the boot up message using 4.20.2 kernel. It detected with /dev/ttyS1. I believed it’s wrong.

tim@bpim2ultra:~$ dmesg | grep tty
[    0.000000] Kernel command line: root=UUID=252e30ad-801e-47cb-91ff-1c73556778b1 rootwait rootfstype=ext4 console=ttyS0,115200 console=tty1 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 loglevel=1 ubootpart= ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u   sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 cgroup_enable=memory swapaccount=1
[    0.000182] printk: console [tty1] enabled
[    2.004634] printk: console [ttyS0] disabled
[    2.024795] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 31, base_baud = 1500000) is a U6_16550A
[    2.024853] printk: console [ttyS0] enabled
[    2.045967] 1c28c00.serial: ttyS1 at MMIO 0x1c28c00 (irq = 32, base_baud = 1500000) is a U6_16550A

Here is another booting message from kernel 3.10. Note that the address of MMIO 0x1c28c00 correctly detected as ttyS3.

root@bpi-iot-ros-ai:~# dmesg | grep tty
[    0.000000] Kernel command line: board=bpi-m2u console=earlyprintk=sunxi-uart,0x01c28000 console=tty1 console=ttyS0,115200n8 no_console_suspend consoleblank=0 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait bootmenutimeout=10 datadev=mmcblk0p2 service=linux bpiuser=1080p enforcing=1 initcall_debug=0 loglevel=4 init=/init cma=256M panic=10 disp.screen0_output_type=3 disp.screen0_output_mode=10 disp.screen1_output_type=3 disp.screen1_output_mode=10 androidboot.serialno=1410503703106430080e
[    0.000000] console [tty1] enabled
[    1.365350] uart0: ttyS0 at MMIO 0x1c28000 (irq = 33) is a SUNXI
[    1.431478] console [ttyS0] enabled
[    1.432160] uart2: ttyS2 at MMIO 0x1c28800 (irq = 35) is a SUNXI
[    1.432871] uart3: ttyS3 at MMIO 0x1c28c00 (irq = 36) is a SUNXI
[    4.071981] systemd[1]: Created slice system-getty.slice.
[    4.211603] systemd[1]: Created slice system-serial\x2dgetty.slice.