亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dwc_otg_hcd.h

?? host usb 主設備程序 支持sd卡 mouse keyboard 的最單單的驅動程序 gcc編譯
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* ========================================================================== * $File: //dwh/usb_iip/dev/software/otg_ipmate/linux/drivers/dwc_otg_hcd.h $ * $Revision: 1.1 $ * $Date: 2008/03/31 00:20:10 $ * $Change: 993572 $ * * Synopsys HS OTG Linux Software Driver and documentation (hereinafter, * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless * otherwise expressly agreed to in writing between Synopsys and you. * * The Software IS NOT an item of Licensed Software or Licensed Product under * any End User Software License Agreement or Agreement for Licensed Product * with Synopsys or any supplement thereto. You are permitted to use and * redistribute this Software in source and binary forms, with or without * modification, provided that redistributions of source code must retain this * notice. You may not view, use, disclose, copy or distribute this file or * any information contained herein except pursuant to this license grant from * Synopsys. If you do not agree with this notice, including the disclaimer * below, then you are not authorized to use the Software. * * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * ========================================================================== */#ifndef DWC_DEVICE_ONLY#if !defined(__DWC_HCD_H__)#define __DWC_HCD_H__#include <linux/list.h>#include <linux/usb.h>#include <../drivers/usb/core/hcd.h>struct dwc_otg_device;#include "dwc_otg_cil.h"/** * @file * * This file contains the structures, constants, and interfaces for * the Host Contoller Driver (HCD). * * The Host Controller Driver (HCD) is responsible for translating requests * from the USB Driver into the appropriate actions on the DWC_otg controller. * It isolates the USBD from the specifics of the controller by providing an * API to the USBD. *//** * Phases for control transfers. */typedef enum dwc_otg_control_phase {	DWC_OTG_CONTROL_SETUP,	DWC_OTG_CONTROL_DATA,	DWC_OTG_CONTROL_STATUS} dwc_otg_control_phase_e;/** Transaction types. */typedef enum dwc_otg_transaction_type {	DWC_OTG_TRANSACTION_NONE,	DWC_OTG_TRANSACTION_PERIODIC,	DWC_OTG_TRANSACTION_NON_PERIODIC,	DWC_OTG_TRANSACTION_ALL} dwc_otg_transaction_type_e;/** * A Queue Transfer Descriptor (QTD) holds the state of a bulk, control, * interrupt, or isochronous transfer. A single QTD is created for each URB * (of one of these types) submitted to the HCD. The transfer associated with * a QTD may require one or multiple transactions. * * A QTD is linked to a Queue Head, which is entered in either the * non-periodic or periodic schedule for execution. When a QTD is chosen for * execution, some or all of its transactions may be executed. After * execution, the state of the QTD is updated. The QTD may be retired if all * its transactions are complete or if an error occurred. Otherwise, it * remains in the schedule so more transactions can be executed later. */typedef struct dwc_otg_qtd {	/**	 * Determines the PID of the next data packet for the data phase of	 * control transfers. Ignored for other transfer types.<br>	 * One of the following values:	 *	- DWC_OTG_HC_PID_DATA0	 *	- DWC_OTG_HC_PID_DATA1	 */	uint8_t			data_toggle;	/** Current phase for control transfers (Setup, Data, or Status). */	dwc_otg_control_phase_e	control_phase;	/** Keep track of the current split type	 * for FS/LS endpoints on a HS Hub */	uint8_t                 complete_split;	/** How many bytes transferred during SSPLIT OUT */	uint32_t                ssplit_out_xfer_count;	/**	 * Holds the number of bus errors that have occurred for a transaction	 * within this transfer.	 */	uint8_t 		error_count;	/**	 * Index of the next frame descriptor for an isochronous transfer. A	 * frame descriptor describes the buffer position and length of the	 * data to be transferred in the next scheduled (micro)frame of an	 * isochronous transfer. It also holds status for that transaction.	 * The frame index starts at 0.	 */	int			isoc_frame_index;	/** Position of the ISOC split on full/low speed */	uint8_t                 isoc_split_pos;	/** Position of the ISOC split in the buffer for the current frame */	uint16_t                isoc_split_offset;	/** URB for this transfer */	struct urb 		*urb;	/** This list of QTDs */	struct list_head  	qtd_list_entry;} dwc_otg_qtd_t;/** * A Queue Head (QH) holds the static characteristics of an endpoint and * maintains a list of transfers (QTDs) for that endpoint. A QH structure may * be entered in either the non-periodic or periodic schedule. */typedef struct dwc_otg_qh {	/**	 * Endpoint type.	 * One of the following values:	 * 	- USB_ENDPOINT_XFER_CONTROL	 *	- USB_ENDPOINT_XFER_ISOC	 *	- USB_ENDPOINT_XFER_BULK	 *	- USB_ENDPOINT_XFER_INT	 */	uint8_t 		ep_type;	uint8_t 		ep_is_in;	/** wMaxPacketSize Field of Endpoint Descriptor. */	uint16_t		maxp;	/**	 * Determines the PID of the next data packet for non-control	 * transfers. Ignored for control transfers.<br>	 * One of the following values:	 *	- DWC_OTG_HC_PID_DATA0	 * 	- DWC_OTG_HC_PID_DATA1	 */	uint8_t			data_toggle;	/** Ping state if 1. */	uint8_t 		ping_state;	/**	 * List of QTDs for this QH.	 */	struct list_head 	qtd_list;	/** Host channel currently processing transfers for this QH. */	dwc_hc_t		*channel;	/** QTD currently assigned to a host channel for this QH. */	dwc_otg_qtd_t		*qtd_in_process;	/** Full/low speed endpoint on high-speed hub requires split. */	uint8_t                 do_split;	/** @name Periodic schedule information */	/** @{ */	/** Bandwidth in microseconds per (micro)frame. */	uint8_t			usecs;	/** Interval between transfers in (micro)frames. */	uint16_t		interval;	/**	 * (micro)frame to initialize a periodic transfer. The transfer	 * executes in the following (micro)frame.	 */	uint16_t		sched_frame;	/** (micro)frame at which last start split was initialized. */	uint16_t		start_split_frame;	/** @} */	/** Entry for QH in either the periodic or non-periodic schedule. */	struct list_head        qh_list_entry;} dwc_otg_qh_t;/** * This structure holds the state of the HCD, including the non-periodic and * periodic schedules. */typedef struct dwc_otg_hcd {	/** DWC OTG Core Interface Layer */	dwc_otg_core_if_t       *core_if;	/** Internal DWC HCD Flags */	volatile union dwc_otg_hcd_internal_flags {		uint32_t d32;		struct {			unsigned port_connect_status_change : 1;			unsigned port_connect_status : 1;			unsigned port_reset_change : 1;			unsigned port_enable_change : 1;			unsigned port_suspend_change : 1;			unsigned port_over_current_change : 1;			unsigned reserved : 27;		} b;	} flags;	/**	 * Inactive items in the non-periodic schedule. This is a list of	 * Queue Heads. Transfers associated with these Queue Heads are not	 * currently assigned to a host channel.	 */	struct list_head 	non_periodic_sched_inactive;	/**	 * Active items in the non-periodic schedule. This is a list of	 * Queue Heads. Transfers associated with these Queue Heads are	 * currently assigned to a host channel.	 */	struct list_head 	non_periodic_sched_active;	/**	 * Pointer to the next Queue Head to process in the active	 * non-periodic schedule.	 */	struct list_head 	*non_periodic_qh_ptr;	/**	 * Inactive items in the periodic schedule. This is a list of QHs for	 * periodic transfers that are _not_ scheduled for the next frame.	 * Each QH in the list has an interval counter that determines when it	 * needs to be scheduled for execution. This scheduling mechanism	 * allows only a simple calculation for periodic bandwidth used (i.e.	 * must assume that all periodic transfers may need to execute in the	 * same frame). However, it greatly simplifies scheduling and should	 * be sufficient for the vast majority of OTG hosts, which need to	 * connect to a small number of peripherals at one time.	 *	 * Items move from this list to periodic_sched_ready when the QH	 * interval counter is 0 at SOF.	 */	struct list_head	periodic_sched_inactive;	/**	 * List of periodic QHs that are ready for execution in the next	 * frame, but have not yet been assigned to host channels.	 *	 * Items move from this list to periodic_sched_assigned as host	 * channels become available during the current frame.	 */	struct list_head	periodic_sched_ready;	/**	 * List of periodic QHs to be executed in the next frame that are	 * assigned to host channels.	 *	 * Items move from this list to periodic_sched_queued as the	 * transactions for the QH are queued to the DWC_otg controller.	 */	struct list_head	periodic_sched_assigned;	/**	 * List of periodic QHs that have been queued for execution.	 *	 * Items move from this list to either periodic_sched_inactive or	 * periodic_sched_ready when the channel associated with the transfer	 * is released. If the interval for the QH is 1, the item moves to	 * periodic_sched_ready because it must be rescheduled for the next	 * frame. Otherwise, the item moves to periodic_sched_inactive.	 */	struct list_head	periodic_sched_queued;	/**	 * Total bandwidth claimed so far for periodic transfers. This value	 * is in microseconds per (micro)frame. The assumption is that all	 * periodic transfers may occur in the same (micro)frame.	 */	uint16_t		periodic_usecs;	/**	 * Frame number read from the core at SOF. The value ranges from 0 to	 * DWC_HFNUM_MAX_FRNUM.	 */	uint16_t		frame_number;	/**	 * Free host channels in the controller. This is a list of	 * dwc_hc_t items.	 */	struct list_head 	free_hc_list;	/**	 * Number of host channels assigned to periodic transfers. Currently	 * assuming that there is a dedicated host channel for each periodic	 * transaction and at least one host channel available for	 * non-periodic transactions.	 */	int			periodic_channels;	/**	 * Number of host channels assigned to non-periodic transfers.	 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色天使久久综合网天天| 91黄色在线观看| 国产成人亚洲综合色影视| 成人免费福利片| 色综合久久久久久久久| 亚洲日本va午夜在线影院| 亚洲成人av免费| 国产一区在线精品| 欧美中文一区二区三区| 国产情人综合久久777777| 国产精品久久久久婷婷二区次| 亚洲欧美日韩中文字幕一区二区三区 | 国产精品毛片a∨一区二区三区| 一区二区三区欧美在线观看| 久久97超碰国产精品超碰| 日本精品视频一区二区| 亚洲va欧美va天堂v国产综合| 制服丝袜在线91| 国产精品久久久久久久久久免费看| 91在线高清观看| 久久一区二区视频| 亚洲自拍另类综合| 欧美激情在线一区二区| 激情综合色播五月| 在线91免费看| 国产麻豆一精品一av一免费| 亚洲色图在线播放| 日韩情涩欧美日韩视频| 亚洲国产wwwccc36天堂| 色老综合老女人久久久| 麻豆国产欧美日韩综合精品二区| 欧美日韩亚州综合| 亚洲综合精品自拍| 久久嫩草精品久久久久| 九九久久精品视频| 亚洲欧美另类综合偷拍| 26uuu亚洲婷婷狠狠天堂| 91亚洲资源网| 久88久久88久久久| 亚洲一区二区欧美日韩| 久久久精品tv| 欧美一区日本一区韩国一区| 亚洲第一电影网| 国产精品久久久久婷婷二区次| 欧美一区二区三区四区视频| 99久久国产综合色|国产精品| 欧美国产在线观看| 91精品国产乱| 欧美日韩亚州综合| 在线视频你懂得一区| 国产91富婆露脸刺激对白| 最新国产精品久久精品| 色乱码一区二区三区88| 国产成人精品在线看| 麻豆成人av在线| 亚洲成在线观看| 亚洲精品国产第一综合99久久| 色欧美片视频在线观看| 成人免费视频视频| 国产一区 二区| 蜜臀a∨国产成人精品| 性做久久久久久| 一区二区欧美国产| 亚洲男人的天堂在线aⅴ视频| 国产亚洲精品超碰| 日本韩国一区二区三区视频| 国产suv精品一区二区6| 色婷婷亚洲综合| 中文文精品字幕一区二区| 久久综合久久99| 欧美一区二区不卡视频| 91精品久久久久久久91蜜桃| 欧美在线观看一区| 欧洲精品视频在线观看| 在线视频一区二区免费| 欧美日韩中字一区| 欧美午夜不卡在线观看免费| 美女网站一区二区| 麻豆国产一区二区| 国产一区二区三区香蕉| 国产在线看一区| 福利一区二区在线观看| 成人午夜电影久久影院| 99热精品国产| 日本午夜一区二区| 亚洲视频你懂的| 一区二区在线观看视频| 亚洲五码中文字幕| 日韩综合在线视频| 国产精品久线观看视频| 中文字幕一区二区视频| 一区二区三区四区激情| 亚洲电影视频在线| 日本怡春院一区二区| 国产一区视频在线看| 成人免费看片app下载| 97超碰欧美中文字幕| 欧美羞羞免费网站| 日韩欧美一区二区视频| 色嗨嗨av一区二区三区| 欧美日韩精品综合在线| av电影在线观看一区| 欧美私人免费视频| 日韩欧美不卡一区| 国产精品久久久久久久久果冻传媒| 日韩美女精品在线| 日韩专区一卡二卡| 成人一区二区三区视频在线观看 | 国产亚洲一区字幕| 中文字幕一区二区三| 喷水一区二区三区| 精品视频1区2区3区| 日韩欧美亚洲一区二区| 国产精品久久久久久一区二区三区 | 国产一区二区在线视频| 成人激情免费网站| 国产成人在线免费观看| 欧美精品一区二区三区蜜桃视频| 国产一区二区福利| 不卡的电影网站| 欧美在线观看一二区| 精品国产乱码久久久久久免费| 国产免费成人在线视频| 亚洲专区一二三| 精品一区二区三区免费毛片爱| eeuss鲁一区二区三区| 日韩一区二区电影网| 国产精品久久久久久户外露出| 日韩高清一区在线| 99免费精品视频| 欧美一区二区三区四区高清| 亚洲美女电影在线| 国产原创一区二区三区| 欧美色视频在线| 久久久www成人免费毛片麻豆| 一区二区久久久久| 国产精品亚洲а∨天堂免在线| 九九视频精品免费| 欧美日韩久久一区二区| 国产精品久久久久久久蜜臀| 蜜臀久久久99精品久久久久久| 色婷婷亚洲一区二区三区| 欧美xxxxxxxxx| 国产精品色在线| 久久成人av少妇免费| 国产综合久久久久久鬼色| 欧美亚洲动漫精品| 中文字幕一区视频| 福利一区二区在线观看| 久久久99免费| 激情六月婷婷久久| 欧美一三区三区四区免费在线看 | 免费成人美女在线观看| 欧美伊人精品成人久久综合97| 国产精品动漫网站| 国产成人一级电影| 国产女同互慰高潮91漫画| 韩国在线一区二区| 91精品国产综合久久福利软件| 亚洲精品伦理在线| 91年精品国产| 亚洲另类在线制服丝袜| 91看片淫黄大片一级在线观看| 日韩一区中文字幕| 成人99免费视频| 国产精品久久久99| eeuss国产一区二区三区| 国产欧美1区2区3区| 成人精品高清在线| 中文字幕中文字幕一区二区| 成人免费毛片片v| 亚洲欧洲美洲综合色网| 99国产精品久久久久久久久久| 国产精品九色蝌蚪自拍| 欧美国产精品一区二区三区| 亚洲一区二区三区四区在线观看 | 日韩激情在线观看| 欧美日韩高清一区二区| 亚洲国产乱码最新视频| 精品视频在线看| 怡红院av一区二区三区| 欧美在线短视频| 爽好多水快深点欧美视频| 91精品免费在线观看| 蜜臀精品久久久久久蜜臀 | 国产欧美日韩三级| www.成人在线| 一区二区三区国产豹纹内裤在线 | 91精品福利在线| 亚洲成av人影院| 欧美成人一区二区三区片免费| 国产精品一区在线| 成人欧美一区二区三区黑人麻豆| 一本一道久久a久久精品综合蜜臀| 亚洲午夜免费福利视频| 日韩欧美在线网站| 波波电影院一区二区三区| 亚洲综合一区二区精品导航| 欧美一区二区三区色| 国产精品综合在线视频|