I'm using a cubietruck and bananapi board (both A20 devices) for a long time (They run very stable for many years). I'm using uart3 for interfacing with arduino boards using the kernel overlay.
When I upgrade the kernel to a version 5+ the overlay does not work anymore and ttyS3 is not working and missing in dmesg. The behaviour is the same on both boards.
Autoboot in 1 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3708 bytes read in 34 ms (106.4 KiB/s)
## Executing script at 43100000
U-boot loaded from SD
Boot script loaded from mmc
217 bytes read in 26 ms (7.8 KiB/s)
7343156 bytes read in 451 ms (15.5 MiB/s)
7744344 bytes read in 473 ms (15.6 MiB/s)
Found mainline kernel configuration
42183 bytes read in 70 ms (587.9 KiB/s)
1078 bytes read in 96 ms (10.7 KiB/s)
Applying kernel provided DT overlay sun7i-a20-uart3.dtbo
5845 bytes read in 82 ms (69.3 KiB/s)
Applying kernel provided DT fixup script (sun7i-a20-fixup.scr)
## Executing script at 44000000
## Loading init Ramdisk from Legacy Image at 43300000 ...
Image Name: uInitrd
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 7343092 Bytes = 7 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 43000000
Booting using the fdt blob at 0x43000000
Loading Ramdisk to 498ff000, end 49fffbf4 ... OK
reserving fdt memory region: addr=43000000 size=70000
Loading Device Tree to 4988c000, end 498fefff ... OK
Starting kernel ...
root@bananapi:~# cat /proc/version
Linux version 5.4.20-sunxi (root@builder) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #20.02.1 SMP Mon Feb 17 02:09:41 CET 2020
root@bananapi:~# cat /boot/armbianEnv.txt
It looks like the overlay is loaded correct. Is there anything wrong in my setup, can I try something to make it work (4.19.104-sunxi is still working fine :)