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.