I'm using EmCraft's VF6 SOM and this is what I did to get a functional UART2 on PTB6 and PTB7. Please note that I am not using Timesys Linux but hopefully these changes can work for you or point you in the direction you need to get UART2 running.
Added the following definitions to linux/arch/arm/plat-mxc/include/mach/iomux-mvf.h just below the UART0 and UART1 definitions (search for UART1 in the file to find the spot).
/*UART2*/
#define MVF600_PAD28_PTB6_UART2_TX \
IOMUX_PAD(0x0070, 0x0070, 7, 0x038c, 0, \
MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE)
#define MVF600_PAD29_PTB7_UART2_RX \
IOMUX_PAD(0x0074, 0x0074, 7, 0x0388, 0, \
MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE)
Modify the linux/arch/arm/mach-mvf/board-emcraft-vybrid-som.c file:
... If you have the VF6 Freescale Tower board you can probably make similar/identical changes to
... the linux/arch/arm/mach-mvf/board-twr-vf700.c file to get the same results.
Add these lines after the UART1 definitions, search for UART1
/*UART2*/
MVF600_PAD28_PTB6_UART2_TX,
MVF600_PAD29_PTB7_UART2_RX,
Add this struct after the corresponding struct for uart1
/* UART2 */
static struct imxuart_platform_data mvf_uart2_pdata = {
.flags = IMXUART_FIFO | IMXUART_EDMA,
.dma_req_rx = DMA_MUX03_UART2_RX,
.dma_req_tx = DMA_MUX03_UART2_TX,
};
Add this line to the mvf_vf700_init_uart(void) function to initialize your new port
mvf_add_imx_uart(2, &mvf_uart2_pdata);
Add the following line to your initramfs file to create /dev/ttymxc2
nod /dev/ttymxc2 0666 0 0 c 207 18
* Corrected daisy chain settings on the pad definitions from my original post, thanks to EmCraft for catching my mistake