⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usb_defs.h

📁 F:worksip2440a board可启动u-boot-like.tar.gz F:worksip2440a board可启动u-boot-like.tar.gz
💻 H
字号:
/* * (C) Copyright 2001 * Denis Peter, MPL AG Switzerland * * See file CREDITS for list of people who contributed to this * project. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Note: Part of this code has been derived from linux * */#ifndef _USB_DEFS_H_#define _USB_DEFS_H_/* Everything is aribtrary */#define USB_ALTSETTINGALLOC          4#define USB_MAXALTSETTING	           128  /* Hard limit */#define USB_MAX_DEVICE              32#define USB_MAXCONFIG		            8#define USB_MAXINTERFACES	          8#define USB_MAXENDPOINTS	          16#define USB_MAXCHILDREN  						8 	/* This is arbitrary */#define USB_MAX_HUB									16#define USB_CNTL_TIMEOUT 100 /* 100ms timeout *//* USB constants *//* Device and/or Interface Class codes */#define USB_CLASS_PER_INTERFACE  0	/* for DeviceClass */#define USB_CLASS_AUDIO          1#define USB_CLASS_COMM           2#define USB_CLASS_HID            3#define USB_CLASS_PRINTER	       7#define USB_CLASS_MASS_STORAGE   8#define USB_CLASS_HUB            9#define USB_CLASS_DATA           10#define USB_CLASS_VENDOR_SPEC    0xff/* some HID sub classes */#define USB_SUB_HID_NONE        0#define USB_SUB_HID_BOOT        1/* some UID Protocols */#define USB_PROT_HID_NONE       0#define USB_PROT_HID_KEYBOARD   1#define USB_PROT_HID_MOUSE      2/* Sub STORAGE Classes */#define US_SC_RBC              1		/* Typically, flash devices */#define US_SC_8020             2		/* CD-ROM */#define US_SC_QIC              3		/* QIC-157 Tapes */#define US_SC_UFI              4		/* Floppy */#define US_SC_8070             5		/* Removable media */#define US_SC_SCSI             6		/* Transparent */#define US_SC_MIN              US_SC_RBC#define US_SC_MAX              US_SC_SCSI/* STORAGE Protocols */#define US_PR_CB               1		/* Control/Bulk w/o interrupt */#define US_PR_CBI              0		/* Control/Bulk/Interrupt */#define US_PR_BULK             0x50		/* bulk only *//* USB types */#define USB_TYPE_STANDARD   (0x00 << 5)#define USB_TYPE_CLASS      (0x01 << 5)#define USB_TYPE_VENDOR     (0x02 << 5)#define USB_TYPE_RESERVED   (0x03 << 5)/* USB recipients */#define USB_RECIP_DEVICE      0x00#define USB_RECIP_INTERFACE   0x01#define USB_RECIP_ENDPOINT    0x02#define USB_RECIP_OTHER       0x03/* USB directions */#define USB_DIR_OUT           0#define USB_DIR_IN            0x80/* Descriptor types */#define USB_DT_DEVICE        0x01#define USB_DT_CONFIG        0x02#define USB_DT_STRING        0x03#define USB_DT_INTERFACE     0x04#define USB_DT_ENDPOINT      0x05#define USB_DT_HID          (USB_TYPE_CLASS | 0x01)#define USB_DT_REPORT       (USB_TYPE_CLASS | 0x02)#define USB_DT_PHYSICAL     (USB_TYPE_CLASS | 0x03)#define USB_DT_HUB          (USB_TYPE_CLASS | 0x09)/* Descriptor sizes per descriptor type */#define USB_DT_DEVICE_SIZE      18#define USB_DT_CONFIG_SIZE      9#define USB_DT_INTERFACE_SIZE   9#define USB_DT_ENDPOINT_SIZE    7#define USB_DT_ENDPOINT_AUDIO_SIZE  9	/* Audio extension */#define USB_DT_HUB_NONVAR_SIZE  7#define USB_DT_HID_SIZE         9/* Endpoints */#define USB_ENDPOINT_NUMBER_MASK  0x0f	/* in bEndpointAddress */#define USB_ENDPOINT_DIR_MASK     0x80#define USB_ENDPOINT_XFERTYPE_MASK 0x03	/* in bmAttributes */#define USB_ENDPOINT_XFER_CONTROL  0#define USB_ENDPOINT_XFER_ISOC     1#define USB_ENDPOINT_XFER_BULK     2#define USB_ENDPOINT_XFER_INT      3/* USB Packet IDs (PIDs) */#define USB_PID_UNDEF_0             0xf0#define USB_PID_OUT                 0xe1#define USB_PID_ACK                 0xd2#define USB_PID_DATA0               0xc3#define USB_PID_UNDEF_4             0xb4#define USB_PID_SOF                 0xa5#define USB_PID_UNDEF_6             0x96#define USB_PID_UNDEF_7             0x87#define USB_PID_UNDEF_8             0x78#define USB_PID_IN                  0x69#define USB_PID_NAK                 0x5a#define USB_PID_DATA1               0x4b#define USB_PID_PREAMBLE            0x3c#define USB_PID_SETUP               0x2d#define USB_PID_STALL               0x1e#define USB_PID_UNDEF_F             0x0f/* Standard requests */#define USB_REQ_GET_STATUS          0x00#define USB_REQ_CLEAR_FEATURE       0x01#define USB_REQ_SET_FEATURE         0x03#define USB_REQ_SET_ADDRESS         0x05#define USB_REQ_GET_DESCRIPTOR      0x06#define USB_REQ_SET_DESCRIPTOR      0x07#define USB_REQ_GET_CONFIGURATION   0x08#define USB_REQ_SET_CONFIGURATION   0x09#define USB_REQ_GET_INTERFACE       0x0A#define USB_REQ_SET_INTERFACE       0x0B#define USB_REQ_SYNCH_FRAME         0x0C/* HID requests */#define USB_REQ_GET_REPORT          0x01#define USB_REQ_GET_IDLE            0x02#define USB_REQ_GET_PROTOCOL        0x03#define USB_REQ_SET_REPORT          0x09#define USB_REQ_SET_IDLE            0x0A#define USB_REQ_SET_PROTOCOL        0x0B/* "pipe" definitions */#define PIPE_ISOCHRONOUS    0#define PIPE_INTERRUPT      1#define PIPE_CONTROL        2#define PIPE_BULK           3#define PIPE_DEVEP_MASK     0x0007ff00#define USB_ISOCHRONOUS    0#define USB_INTERRUPT      1#define USB_CONTROL        2#define USB_BULK           3/* USB-status codes: */#define USB_ST_ACTIVE           0x1		/* TD is active */#define USB_ST_STALLED          0x2		/* TD is stalled */#define USB_ST_BUF_ERR          0x4		/* buffer error */#define USB_ST_BABBLE_DET       0x8		/* Babble detected */#define USB_ST_NAK_REC          0x10	/* NAK Received*/#define USB_ST_CRC_ERR          0x20	/* CRC/timeout Error */#define USB_ST_BIT_ERR          0x40	/* Bitstuff error */#define USB_ST_NOT_PROC         0x80000000L	/* Not yet processed *//************************************************************************* * Hub defines *//* * Hub request types */#define USB_RT_HUB	(USB_TYPE_CLASS | USB_RECIP_DEVICE)#define USB_RT_PORT	(USB_TYPE_CLASS | USB_RECIP_OTHER)/* * Hub Class feature numbers */#define C_HUB_LOCAL_POWER   0#define C_HUB_OVER_CURRENT  1/* * Port feature numbers */#define USB_PORT_FEAT_CONNECTION     0#define USB_PORT_FEAT_ENABLE         1#define USB_PORT_FEAT_SUSPEND        2#define USB_PORT_FEAT_OVER_CURRENT   3#define USB_PORT_FEAT_RESET          4#define USB_PORT_FEAT_POWER          8#define USB_PORT_FEAT_LOWSPEED       9#define USB_PORT_FEAT_C_CONNECTION   16#define USB_PORT_FEAT_C_ENABLE       17#define USB_PORT_FEAT_C_SUSPEND      18#define USB_PORT_FEAT_C_OVER_CURRENT 19#define USB_PORT_FEAT_C_RESET        20/* wPortStatus bits */#define USB_PORT_STAT_CONNECTION    0x0001#define USB_PORT_STAT_ENABLE        0x0002#define USB_PORT_STAT_SUSPEND       0x0004#define USB_PORT_STAT_OVERCURRENT   0x0008#define USB_PORT_STAT_RESET         0x0010#define USB_PORT_STAT_POWER         0x0100#define USB_PORT_STAT_LOW_SPEED     0x0200/* wPortChange bits */#define USB_PORT_STAT_C_CONNECTION  0x0001#define USB_PORT_STAT_C_ENABLE      0x0002#define USB_PORT_STAT_C_SUSPEND     0x0004#define USB_PORT_STAT_C_OVERCURRENT 0x0008#define USB_PORT_STAT_C_RESET       0x0010/* wHubCharacteristics (masks) */#define HUB_CHAR_LPSM               0x0003#define HUB_CHAR_COMPOUND           0x0004#define HUB_CHAR_OCPM               0x0018/* *Hub Status & Hub Change bit masks */#define HUB_STATUS_LOCAL_POWER	0x0001#define HUB_STATUS_OVERCURRENT	0x0002#define HUB_CHANGE_LOCAL_POWER	0x0001#define HUB_CHANGE_OVERCURRENT	0x0002#endif /*_USB_DEFS_H_ */

⌨️ 快捷键说明

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