歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

高通MSM8255串口驅動移植

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