usb_inc.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 100 行

H
100
字号
/*******************************************************************
 * 
 *  Copyright C 2007 by Amlogic, Inc. All Rights Reserved.
 *
 *  Description: USB Driver User Interface
 *
 *  Author: Amlogic Software
 *  Created: 
 *
 *******************************************************************/
#ifndef __USB_INC_H_
#define __USB_INC_H_

#define USB_DEV_NAME	"/dev/usb"

/*
 *	USB Port Type defines
 *
 */
#define USB_PORT_TYPE_DISABLE   0
#define USB_PORT_TYPE_HOST      1
#define USB_PORT_TYPE_SLAVE     2
#define USB_PORT_TYPE_SW_OTG    3
#define USB_PORT_TYPE_HW_OTG    4

/*
 *	USB Port Speed defines
 *
 */
#define USB_PORT_SPEED_DEFAULT	0
#define USB_PORT_SPEED_HIGH		0
#define USB_PORT_SPEED_FULL		1


/*
 *  USB Port config defines
 *
 */
#define USB_PORT_CONFIG_DEFAULT     0

/*
 *	Platform device structure define.
 *	- This structure is the abstract of an USB Controller
 *	- Each USB Controller has an structure individual
 */
#define MAX_USB_PORT	2	//Max number of _ONE_ usb controller 
typedef struct platform_device {
	const char	* name;		/* Controller name */
	unsigned regbase;		/* Controller register base address */
	unsigned irqnum;		/* Controller irq number */
	unsigned irqtype;		/* Controller irq type */
	unsigned dma_mask;		/* Controller DMA mask */
	
	unsigned char index;	/* Controller index */
	
	unsigned char port_type[MAX_USB_PORT];	/* Port Type */
	unsigned char port_speed[MAX_USB_PORT];	/* Port Speed */
	unsigned char port_config[MAX_USB_PORT];/* Port Config */	/* Reserved */	
	 
	void (* set_vbus_power)(char is_power_on);	/* VBus control call back function */	
	void 	*driver_data; 	
}platform_device_t;




/* USB setting ioctl  */
#define USB_SETTING_PROBE_CTRL    _IO('U', 200)	/* Probe controller */
#define USB_SETTING_REMOVE_CTRL   _IO('U', 201) /* Remove controller */
#define USB_SETTING_INIT		  _IO('U', 202) /* USB Stack Init */
#define USB_SETTING_EXIT		  _IO('U', 203) /* USB Stack Exit */


#include <os/ioapi/include/ioapi.h>
#include <os/ioapi/include/io.h>

extern avfs_device_driver usb_dev_initialize(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void *arg);

extern avfs_device_driver usb_dev_open(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void *arg);

extern avfs_device_driver usb_dev_close(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void *arg);

extern avfs_device_driver usb_dev_ioctl(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void * arg);

#define DEVICE_TABLE_USB_DEV    {usb_dev_initialize,usb_dev_open,usb_dev_close,0,0,usb_dev_ioctl}

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?