- DietPi version
G_DIETPI_VERSION_CORE=9
G_DIETPI_VERSION_SUB=18
G_DIETPI_VERSION_RC=1
G_GITBRANCH=‘master’
G_GITOWNER=‘MichaIng’
G_LIVE_PATCH_STATUS[0]=‘applied’ - Distro version
Trixie - Kernel version
Linux Voron0 6.12.52-current-meson64 #1 SMP PREEMPT Sun Oct 12 10:57:19 UTC 2025 aarch64 GNU/Linux - Architecture
arm64 - SBC model
Radxa Zero (aarch64) - Power supply used
Internal Printer power supply unit - SD card used
eMMC
I use this SBC in a custom-built Voron printer, to control the printer Atmega2560 MCU board via UART A0 on pin0 and pin1. This has been working correctly since the first installation of the board with the Radxa image and kernel.
The original image/release (Buster) however is out of support so I decided to upgrade the Debian release on the board.
This worked, but rendered my serial port unusable, no repsonse to or from the MCU board anymore, so I decided to do a clean install using dietPi Trixie. Everything went smooth, however, I still don’t get any byte transferred over the serial connection to the MCU board. Nothing changed on the hardware side, so I’m sure the serial lines are correctly wired up.
I’m not that well informed about all the intricacies of overlays on arm64, but I’m starting to understand what’s happening.
So I enabled the UART on A0 using these line in dietpiEnv.txt:
overlay_path=amlogic
overlay_prefix=meson
overlays=g12a-radxa-zero-uart-ao-a-on-gpioao-0-gpioao-1
user_overlays=
The overlay exists and the name is correct, as far as I understand overlay_path, overlay_prefix and overlays:
/$ ls -sla /boot/dtb/amlogic/overlay/meson-g12a-radxa-zero-uart-ao-a-on-gpioao-0-gpioao-1.dtbo
4 -rw-r–r-- 1 root root 396 Oct 12 14:50 /boot/dtb/amlogic/overlay/meson-g12a-radxa-zero-uart-ao-a-on-gpioao-0-gpioao-1.dtbo
The output of dmesg is (and has always been, even before editing dietPiEnv.txt)
soc soc0: Amlogic Meson G12A (S905Y2) Revision 28:b (30:2) DetectedSerial: 8250/16550 driver, 8 ports, IRQ sharing disabled
Serial: AMBA driver
ff803000.serial: ttyAML0 at MMIO 0xff803000 (irq = 14, base_baud = 1500000) is a meson_uart
ffd24000.serial: ttyAML2 at MMIO 0xffd24000 (irq = 15, base_baud = 1500000) is a meson_uart
serial serial0: tty port ttyAML2 registered
Since the kernel has always reported ttyAML0 I suspect this is just blindly recognising the UART on 0xff803000 but without it being connected to pin0 and pin1?
But I still don’t understand how this doesn’t work when I activate the uart_ao on pin0 and pin1 overlay?
These are the installed relevant packages:
linux-base 4.12
linux-dtb-current-meson64 25.11.0-trunk-dietpi2
linux-image-current-meson64 25.11.0-trunk-dietpi2
linux-u-boot-radxa-zero-current 25.11.0-trunk-dietpi1
Can somebody please help me get the UART AO enabled on pin0 and pin1 again?