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