Enable UART4 on Verdin imx8mp

Hello,
I have read into the topic of accessing UART4 from the Cortex-A cores in this thread. However, applying the same steps for the imx8mp did not yield the wanted results. First off, the imx8mp_bl31_setup.c did not contain a line where RDC_PDAP_UART4 is assigned to a domain. I added this line, as suggested in the thread with permission to D0 and changed the device tree status of the uart node.

Is there anything else required to enable UART4 on the imx8m-plus?

Greetings
Martin

Please note that On modules with Wi-Fi/Bluetooth, the UART_4 is shared with the Bluetooth
UART. This means the UART_4 can only be used externally, if the Bluetooth UART is not in use.

I think UART4 should be enabled for external use. To be extra sure I removed the wifi and Bluetooth node from the device tree of Linux. When I open a tty connection (using picocom) to the USB debug serial of UART4 and type input into the terminal, the UARTC TX LED on the Dahlia Carrier Board (V1.1C) flashes. However, sending output directly to the UART4 (located at 0x30a60000) seems to not work, as no character is being printed. When running echo hello > /dev/ttymxc3 from Linux (with UART3 = /dev/ttymxc2 as stdout, the process is blocking for ~15 sec. but does not print anything onto the tty terminal of UART4.

Hello @martin.schoenstedt ,
I will run some tests next week and let you know about the results.

Best regards,
Josep

1 Like

Hey @josep.tx ,
have you found out anything?

Greetings
Martin

Hello @martin.schoenstedt ,
Sorry for the late reply. Is it possible to share with us your modified device tree so we can test on the same environment?

Best regards,
Josep

Hi @josep.tx

This is the device tree we use Download - Toradex File Sharing Platform we use a ramdisk and the <initrd-end> value is replaced with the actual end address.
If you need more files / information then feel free to ask.

Greetings
Martin