UART4 definition for M4-FREERTOS ON IMX7D

Hi, I am using an Iris board and a Colibri IMX7D moduleI and want to use the Uart4 for debugging the M4 code on my board as the other 3 standard uarts will be used in my linux app and pins 88 and 86 are available on the expansion X16 connector of the Iris board.
I have tried changing the debug uart from uart2 to 1 or 3 and it works fine, but when I tried to use the uart 4 then I have found this uart is not defined in the MCIMX7D_M4.h file.
Could you help me add this uart definition to this file?


Hm, which header version do you have? This version clearly includes UART4.

** Version: rev. 1.0, 2015-07-15
** Build: b150715

/** Peripheral UART4 base address /
#define UART4_BASE (0x30A60000u)
* Peripheral UART4 base pointer */
#define UART4 ((UART_Type *)UART4_BASE)
#define UART4_BASE_PTR (UART4)


Hi @IgnacioF!

Have you made the UART4 pins available on the device tree?

If you want to use SODIMM 86 and 88, you’ll need to “free” them on the device tree. You can do it by disabling the node (status = disabled) to which the pins are being assigned: in this case, is ecspi3 (one of the 4 SPI interfaces).

Or, if you specifically need this ecspi3 interface, you will need to change the pins that this node uses (table 5-26 of the datasheet lists the pins that you can use). But be aware that doing so will make the interface incompatible with other Colibri modules.

Best regards,