UART RX is not working after changing UART_A to UART_C Colibri iMX6

I am trying to change the default UART in u-boot from UART_A to UART_C. I have done the following changes in the software of u-boot-toradex:

  • board/toradex/colibri_imx6/colibri_imx6.c

    #if 0
     /* Colibri UARTA */    
     iomux_v3_cfg_t const uart1_pads[] = {    
          MX6_PAD_CSI0_DAT10__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),    
          MX6_PAD_CSI0_DAT11__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),    
     };    
    #endif    
    /* Colibri UARTC */    
    iomux_v3_cfg_t const uart3_pads[] = {    
        MX6_PAD_SD4_CLK__UART3_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),    
        MX6_PAD_SD4_CMD__UART3_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),    
    };
    

    static void setup_iomux_uart(void)
    {
    setup_dtemode_uart();
    imx_iomux_v3_setup_multiple_pads(uart3_pads, ARRAY_SIZE(uart3_pads));
    }

    static struct mxc_serial_platdata mxc_serial_plat = {
    .reg = (struct mxc_uart *)UART3_BASE,
    .use_dte = true,
    };

  • /include/configs/colibri_imx6.h

    #define CONFIG_MXC_UART_BASE        UART3_BASE  
    #define CONFIG_CONS_INDEX        3
    #define CONFIG_EXTRA_ENV_SETTINGS \
     BOOTENV \
     "bootcmd=run emmcboot ; echo ; echo emmcboot failed ; " \
     	"run distro_bootcmd ; " \
     	"usb start ;" \
     "setenv stdout serial,vga ; setenv stdin serial,usbkbd\0" \
    

    “boot_file=uImage\0”
    “console=ttymxc2\0” \

  • /include/configs/mx6_common.h

    #define CONFIG_CONS_INDEX        3
    

Uboot is complied with these changes and flashed to Colibri iMX 6. The u-boot messages are displayed in the terminal with the new UART3 TX pin. But the UART3 RX pin is not able to receive the signals. I have check the hardware and seems to be the hardware is ok. Kindly help me in correcting me if I have did some mistakes while changing.

Finally found the issue. The pins were not assigned properly to UART3 TX and UART3 RX. Now the UART3 RX is working fine.