2.10.6. 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

All UARTs except MAIN_UART0 are disabled by default in the devicetree of AM64x GPEVM and SKEVM. In order to enable any of the disabled UARTs, the kernel source code must be modified and recompiled. 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 the 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