1.在板载信息里面添加东东:
a.首先进入kernel/arch/arm/mach-msm/board-msm7x30.c 在结构体struct platform_device *devices[ ] __initdata { };中添加变量&msm_devices_uart3,
配置变量struct msm_gpio uart3_config_data[ ],将GPIO配置成串口模式。其中配置成全串口。
static struct msm_gpio uart3_config_data[] = {
{ GPIO_CFG(57, 1, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA),
"UART3_RFR" },
{ GPIO_CFG(55, 1, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA),
"UART3_CTS" },
{ GPIO_CFG(53, 1, GPIO_CFG_INPUT, GPIO_CFG_PULL_UP, GPIO_CFG_8MA), "UART3_Rx"},
{ GPIO_CFG(54, 1, GPIO_CFG_OUTPUT, GPIO_CFG_PULL_UP, GPIO_CFG_8MA), "UART3_Tx"},
};
其中“57”属于引脚编号,“1”属于模式(如为“0”即GPIO模式,“1”串口模式),“GPIO_CFG_OUTPUT”输入、输出模式,“GPIO_CFG_NO_PULL”默认上拉还是下拉模式,“GPIO_CFG_2MA”驱动电流能力。
static void msm7x30_init_uart3(void)
{
msm_gpios_request_enable(uart3_config_data,
ARRAY_SIZE(uart3_config_data));
} //使能配置函数
然后把msm7x30_init_uart3添加到 __init msm7x30_init() 函数中。
2.其中串口的驱动在kernel/drivers/serials/msm_serial.c 中,在msm_uart_driver变量中会找到“ttyMSM”的设备名字。
这样就可以在/dev下生成结点ttyMSM2.