To add the number of UART for IMX6Q

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

To add the number of UART for IMX6Q

715 Views
pengxingwei
Contributor III

hello all,

           my board is imx6q  sabresd   ,the system of it is Android OS ,the kernel_imx is linux-3.0.35,the default uart is ttymxc0(UART1) and ttymxc2(UART3), I want to add other uart ,the modified file as follows:

  1. 1.board-mx6q_sabresd.h(kernel_imx/arch/arm/mach-mx6)

/*UART2 */

MX6Q_PAD_EIM_D26_UART2_TXD,

MX6Q_PAD_EIM_D27_UART2_RXD,

/*UART4*/

MX6Q_PAD_KEY_COL0_UART4_RXD,

MX6Q_PAD_KEY_ROW0_UART4_TXD,

/*UART5 */

MX6Q_PAD_KEY_COL0_UART5_RXD,

MX6Q_PAD_KEY_ROW_UART5_TXD,

2.board-mx6q_sabresd.c(kernel_imx/arch/arm/mach-mx6)

static inline void mx6q_sabresd_init_uart(void){

imx6q_add_imx_uart(0,NULL);

imx6q_add_imx_uart(1,NULL);

imx6q_add_imx_uart(2,NULL);

imx6q_add_imx_uart(3,NULL);

imx6q_add_imx_uart(4,NULL);

}

3.platform-imx-uart.c(kernel_imx/arch/arm/plat-mxc/devices)

#define imx6q_imx_uart_data_entry(_id, _hwid)

        imx_imx_uart_lirq_data_entry(MX6Q, _id, _hwid, SZ_4K)

imx6q_imx_uart_data_entry(0,1),

imx6q_imx_uart_data_entry(1,2),

imx6q_imx_uart_data_entry(2,3),

imx6q_imx_uart_data_entry(3,4),

imx6q_imx_uart_data_entry(4,5),

};

4.clock.c(kernel_imx/arch/arm/mach-mx6)

_REGISTER_CLOCK("imx_uart.0", NULL, uart_clk[0]),

_REGISTER_CLOCK("imx_uart.1", NULL, uart_clk[0]),

_REGISTER_CLOCK("imx_uart.2", NULL, uart_clk[0]),

_REGISTER_CLOCK("imx_uart.3", NULL, uart_clk[0]),

_REGISTER_CLOCK("imx_uart.4", NULL, uart_clk[0]),

5.mx6.h(kernel_imx/arch/arm/plat-mxc/include/mach)

#define MX6Q_UART1_BASE_ADDR    UART1_BASE_ADDR

#define MX6Q_UART2_BASE_ADDR    UART2_BASE_ADDR

#define MX6Q_UART3_BASE_ADDR    UART3_BASE_ADDR

#define MX6Q_UART4_BASE_ADDR    UART4_BASE_ADDR

#define MX6Q_UART5_BASE_ADDR    UART5_BASE_ADDR

#define MX6Q_INT_UART1    MXC_INT_UART1_ANDED

#define MX6Q_INT_UART2    MXC_INT_UART2_ANDED

#define MX6Q_INT_UART3    MXC_INT_UART3_ANDED

#define MX6Q_INT_UART4    MXC_INT_UART4_ANDED

#define MX6Q_INT_UART5    MXC_INT_UART5_ANDED

I do like that,but the system start log is :

Serial: IMX driver
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
console [ttymxc0] enabled, bootconsole disabled
console [ttymxc0] enabled, bootconsole disabled

It  suggest that the other uart has not worked ,whether there is another file need to be modified?? Please give me some advice。

thank you!

Labels (3)
0 Replies