- 论坛徽章:
- 0
|
芯片支持五个串口 源码中默认是两个
想增加三个串口,分别是UART2/UART4/UART5,更改了五个文件,分别是board-mx6q_sabresd.h、board-mx6q_sabresd.c、platform-imx-uart.c、 clock.c、mx6.h修改如下:
1.arch/arm/mach-mx6/board-mx6q_sabresd.h
/*UART2*/
MX6Q_PAD_EIM_D26_UART2_TXD,
MX6Q_PAD_EIM_D27_UART2_RXD,
/*UART4*/
MX6Q_PAD_KEY_COL0_UART4_TXD,
MX6Q_PAD_KEY_ROW0_UART4_RXD,
/*UART5 */
MX6Q_PAD_KEY_COL1_UART5_TXD,
MX6Q_PAD_KEY_ROW1_UART5_RXD,
2.arch/arm/mach-mx6/board-mx6q_sabresd.c
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.arch/arm/plat-mxc/devices/platform-imx-uart.c
#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.arch/arm/mach-mx6/clock.c
_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.arch/arm/plat-mxc/include/mach/mx6.h
#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
感觉该改的都改了啊 可是在板子上还是只能识别到两个囧。。。/dev目录下还是只有ttymxc0和ttymxc2,
cat /proc/tty/driver/IMX-uart命令也是只显示这两个串口的驱动信息,到底咋回事呢???
俺是笨女女 卡了好几天都找不到原因啊 555。。。麻烦大家帮忙给看一下把 谢谢拉!! |
|