2.9.4. UARTΒΆ

AM64x integrates multiple 16C750-compatible UART modules in MAIN and MCU domains.

AM64x GPEVM has multiple UARTs routed to different connectors, as detailed in the table below.

UART Connector Notes
MAIN_UART0 MAIN_UART1 MAIN_UART3 MCU_UART0 USB MicroB Receptacle J26 via FT4232H chip
MCU_UART1 2x12 pin Connector J1  

AM64x Starter Kit (SKEVM) has multiple UARTs routed to different connectors, as detailed in the table below.

UART Connector Notes
MAIN_UART0 MCU_UART0 USB MicroB Receptacle J11 via CP2105 chip
MAIN_UART1 USB MicroB Receptacle J12 via XDS110 controller
MAIN_UART5 2x20 pin Connector J4  
MCU_UART1 2x14 pin Connector J9  

Except MAIN_UART0, all other UARTs are disabled by default in the devicetree of AM64x GPEVM and SKEVM. To enable any of the disabled UARTs, modifying and recompiling kernel source code is required. Please refer to Porting UART for details.

MAIN_UART0 is used as the Linux console, which is specified by the console option in kernel cmdline parameter.

root@am64xx-evm:~# cat /proc/cmdline
console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=fc40000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern) root=PARTUUID=d418f865-02 rw rootfstype=ext4 rootwait

UART initialization information is provided in kernel boot log (dmesg). For example, to check which UART(s) are enabled in kernel:

root@am64xx-evm:~# dmesg | grep 'ttyS. '
[    0.296705] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 18, base_baud = 3000000) is a 8250