歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 高通MSM8255串口驅動移植

高通MSM8255串口驅動移植

日期:2017/3/1 10:51:31   编辑:Linux編程

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.

Copyright © Linux教程網 All Rights Reserved