一、开发环境
硬件平台:我用的是TQ210核心板,板载S5PV210芯片,USB扩展接有FE1.1S芯片,是一个4端口的HUB
软件平台:开发板移植的是Linux3.10.46内核,UBOOT移植的是2014.12版本
二、资源简介
前几篇已经移植好了USB的主机控制器驱动,只要编写鼠标对应的驱动,注册到USB总线就可以了。
三、移植步骤
1、分配一个usb_driver结构体,如下
static struct usb_driver tq_usb_mouse_driver = {
.name = "tq_usbmouse",
.probe = tq_usb_mouse_probe,
.disconnect = tq_usb_mouse_disconnect,
.id_table = usb_mouse_id_table,
};
2、usb_mouse_id_table是用来和插入开发板的设备匹配用的,定义如下:
static struct usb_device_id usb_mouse_id_table [] = {
{ USB_INTERFACE_INFO(USB_INTERFACE_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT,
USB_INTERFACE_PROTOCOL_MOUSE) },
{ } /* Terminating entry */
};
MODULE_DEVICE_TABLE (usb, usb_mouse_id_table);
其中,USB_INTERFACE_INFO在include/linux/usb.h中定义,如下:
#define USB_INTERFACE_INFO(cl, sc, pr) \
.match_flags = USB_DEVICE_ID_MATCH_INT_INFO, \
.bInterfaceClass = (cl), \
.bInterfaceSubClass = (sc), \
.bInterfaceProtocol = (pr)</