arch/arm/plat-mxc/include/mach/iomux-mx6q.h 包含了所有mx6q的IO定义,其中UART定义如下:(UART1的端口:UART1_TX 是 CSI0_DAT10,UART1_RX 是CSI0_DAT11)
#define _MX6Q_PAD_CSI0_DAT10__UART1_TXD \
IOMUX_PAD(0x0650, 0x0280, 3, 0x0000, 0, 0)
#define _MX6Q_PAD_CSI0_DAT11__UART1_RXD \
IOMUX_PAD(0x0654, 0x0284, 3, 0x0920, 1, 0)
#define MX6Q_PAD_CSI0_DAT10__UART1_TXD \
(_MX6Q_PAD_CSI0_DAT10__UART1_TXD | MUX_PAD_CTRL(MX6Q_UART_PAD_CTRL))
#define MX6Q_PAD_CSI0_DAT11__UART1_RXD \
(_MX6Q_PAD_CSI0_DAT11__UART1_RXD | MUX_PAD_CTRL(MX6Q_UART_PAD_CTRL))
在arch/arm/mach-mx6/board-mx6q_sabresd.c中初始化UART
imx6q_add_imx_uart(0, NULL);
mxc_iomux_v3_setup_multiple_pads(mx6q_uart5_pads,
ARRAY_SIZE(mx6q_uart5_pads));
相关文件:
drivers/tty/serial/mxc_uart_early.c
drivers/tty/serial/serial_core.c
arch/arm/plat-mxc/include/mach/iomux-mx6q.h
arch/arm/plat-mxc/include/mach/mxc_uart.h