The Common Bus Architecture (CBASS) module includes Quality of Service (QoS) blocks to route and prioritize SoC bus traffic. By adjusting attributes such as priority, Address Selection (ASEL), and Order ID (orderID), you can optimize transaction handling.
For example, most K3 SoC External Memory Interface (EMIF) controllers use two ports. Setting an Order ID between 8 and 15 routes traffic through a high-priority port, ensuring it gets serviced before standard traffic. Applying this to the display subsystem helps prevent stuttering and jitter.
For more details, see your processor's Technical Reference Manual (TRM).
Most transactions default to the lowest priority (ASEL 0, orderID 0). During boot-up, U-Boot can update these settings by using data from the SysConfig tool, which you can download or use online here.
The MCU+ SDK documentation has an excellent guide on how to use the
SysConfig tool to generate the needed :file:`<soc>_qos_uboot.c`
configuration file. Once generated, copy it into
:file:`arch/arm/mach-k3/r5/<soc>/<soc>_qos_uboot.c`, where <soc>
is your SoC name, e.g. am62px. Then rebuild U-Boot to apply your
changes.
Note
Configuring the QoS blocks of a running system can cause issues. You can only change these settings during boot-up by using the bootloaders, when many of the systems in the SoC are idle.