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.