UART interface of Verdin iMX8M Plus Quad 4GB WB IT

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Adding an Additional UART Interface to Verdin iMX8M Plus

The Verdin iMX8M Plus Quad 4GB WB IT module is based on the NXP i.MX 8M Plus SoC, which features four UART interfaces (UART1, UART2, UART3, and UART4)(1). These are the hardware UARTs available on the SoC itself.

To meet your requirement of five UART interfaces (2× RS232 + 3× RS485), you have the following options:

Option 1: Use Alternate Function Pins for Additional UART Signals

The datasheet indicates that some pins can be configured as alternate UART functions(1). However, these alternate pins still map to the same four UART controllers (UART1-UART4), so this does not create a fifth independent UART interface.

Option 2: Add an External UART Controller

Since the i.MX 8M Plus SoC is limited to four hardware UARTs, the most practical solution is to add an external UART controller IC on your custom carrier board. Common options include:

  • SPI-to-UART bridge ICs (e.g., SC16IS752, SC16IS762, MAX3107, MAX3109)
  • I²C-to-UART bridge ICs (e.g., SC16IS740, SC16IS750)

These external controllers connect via SPI or I²C interfaces available on the Verdin connector and appear as additional /dev/ttySCx or /dev/ttyUSBx devices in Linux(2).

Option 3: Configure One UART for RS485 Multi-Drop Mode

If your application allows, you could potentially use RS485 multi-drop mode on one of the UART interfaces to communicate with multiple RS485 devices on a single physical port, reducing the total number of required UART interfaces.

The device tree configuration for RS485 mode would look like this (as referenced in community discussions)(3)(4):

&uart3 {
    status = "okay";
    linux,rs485-enabled-at-boot-time;
    rs485-rts-active-low;
    rs485-rx-during-tx;
};

(3)(4)

Recommendation

For a robust solution requiring five independent UART interfaces, I recommend implementing an external SPI-to-UART or I²C-to-UART bridge IC on your custom carrier board. This approach provides the additional UART hardware needed while leveraging the available SPI or I²C buses on the Verdin iMX8M Plus module.

Could you confirm which Torizon OS or Yocto BSP version you’re currently running? This will help me provide more specific device tree configuration guidance for integrating an external UART controller.

Best regards,
Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.