This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6442: Sharing or Releasing UART0 Console Between A53 (A5F) and R5F on AM64x

Part Number: AM6442


Tool/software:

Question 1:

Is it possible to access the serial console for both A53 (A5F) and R5F cores simultaneously on AM64x?
I am working with an AM64x-based board where the A53 (A5F) core is using UART0 as the serial console. I want to access the same UART0 console for the R5F core while A53 is still running.

  • Is it possible to share the UART0 console between both cores?
  • If yes, what configurations or modifications are required?
  • If not, is there an alternative way to log data from both cores on a single serial interface

Question 2:

How to disable A53 (A5F) from using the serial console so that R5F can take control?
Since A53 (A5F) is using UART0 as the serial console, I want to free it up and use it exclusively for the R5F core.

  • What is the proper method to disable UART0 for A53 without modifying the device tree?
  • I tried using sudo systemctl disable serial-getty@ttyS2.service, but after a reboot, it gets enabled again. How can I ensure it stays disabled persistently?
  • Are there any other runtime methods to disable A53’s access to the serial console and allow R5F to use it?
  • Hi Kiran,

    Q1, it is not recommended, but it should be possible ONLY IN TX. You let Linux on A53 to configure the UART, then the R5F just directly write to the UART TX register IN POLLING MODE, don't use the UART interrupt on R5F. And don't use RX on R5F since the UART driver on Linux will process RX.

    Q2, do you just want to permanently disable the Linux console (UART0)? I think there is a way in kernel Kconfig, but I will have to do some research for it.

  • Hi Bin Liu,

    I followed the steps you mentioned, but I am still unable to access UART0 from the R5F core. Here’s what I did:

    1. Used the UART TX-Only Example

      • I took the uart_echo_low_latency_polling_am64x-evm_r5fss0-0_nortos example from mcu_plus_sdk_am64x_10_01_00_32.
      • Modified the project to only transmit (TX) and removed RX and interrupts.
    2. Built and Loaded the Firmware

      • Compiled the modified project.
      • Loaded the .out file to R5F0 core using Linux remoteproc.
    3. Issue: UART0 Initialization Fails

      • The R5F firmware fails to initialize UART0 because A53 has already taken control of it.
      • UART0 is already configured by Linux, preventing R5F from accessing it.
  • Hi Kiran,

    First of all, I am a Linux guy and know almost nothing about MCU+ SDK.

    Issue: UART0 Initialization Fails

    • The R5F firmware fails to initialize UART0 because A53 has already taken control of it.

    I have mentioned this. Linux configures the UART, R5 should not configure the UART port again, don't touch its power domain, clock, and any other configuration, such as baud rate, etc.