Tegra Combined UART and the tcu_muxer Utility#

The Tegra Combined UART (TCU) is a system that multiplexes debug information from the processors in the CCPLEX cluster with information from other processors. The multiplexing is accomplished in the Sensor Processing Engine (SPE) for T234 and in the UART Trace Controller (UTC) for T264. It involves all of the processors that supply information.

tcu_muxer is a utility which runs on a host system and demultiplexes the debug information multiplexed by the TCU. To achieve this, tcu_muxer creates pseudo terminals for each CPU cluster and routes the UART stream to the respective pseudo terminal. In the case of a virtualized target, tcu_muxer can also create pseudo terminals for each of the Virtual Machines in the CCPLEX cluster.

This diagram shows the relationship of the components for a native (non-virtualized) target.

Terminal output showing the execution of the tcu_muxer command with options to list available devices and set the current device.

On a virtualized target, the Virtualized Debug UART multiplexes debug information from the Virtual Machines in the CCPLEX cluster and passes the multiplexed data stream to the TCU. The TCU multiplexes it with debug information from the other R5 components. On the host, the CCPLEX debug information customarily is passed from tcu_muxer to uart_muxer , which demultiplexes the individual Virtual Machines’ debug information.

This diagram shows the relationship of the components in a virtualized system.

Diagram showing debug data flow from a target system to a host system where debug information for VMs and other processors is aggregated.