140 lines
5.7 KiB
C
140 lines
5.7 KiB
C
/*******************************************************************************
|
|
|
|
This software file (the "File") is distributed by Marvell International Ltd.
|
|
or its affiliate(s) under the terms of the GNU General Public License Version 2,
|
|
June 1991 (the "License"). You may use, redistribute and/or modify this File
|
|
in accordance with the terms and conditions of the License, a copy of which
|
|
is available along with the File in the license.txt file or by writing to the
|
|
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
|
or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
|
|
|
|
THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
|
|
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
|
|
DISCLAIMED. The GPL License provides additional details about this warranty
|
|
disclaimer.
|
|
|
|
(C) Copyright 2004 - 2007 Marvell Semiconductor Israel Ltd. All Rights Reserved.
|
|
(C) Copyright 1999 - 2004 Chipidea Microelectronica, S.A. All Rights Reserved.
|
|
|
|
*******************************************************************************/
|
|
|
|
#ifndef __mvUsbDefs_h__
|
|
#define __mvUsbDefs_h__
|
|
|
|
#include "mvUsbTypes.h"
|
|
|
|
/* Host specific */
|
|
#define USB_DEBOUNCE_DELAY (101)
|
|
#define USB_RESET_RECOVERY_DELAY (11)
|
|
#define USB_RESET_DELAY (60)
|
|
|
|
/* Error codes */
|
|
#define USB_OK (0x00)
|
|
#define USBERR_ALLOC (0x81)
|
|
#define USBERR_BAD_STATUS (0x82)
|
|
#define USBERR_CLOSED_SERVICE (0x83)
|
|
#define USBERR_OPEN_SERVICE (0x84)
|
|
#define USBERR_TRANSFER_IN_PROGRESS (0x85)
|
|
#define USBERR_ENDPOINT_STALLED (0x86)
|
|
#define USBERR_ALLOC_STATE (0x87)
|
|
#define USBERR_DRIVER_INSTALL_FAILED (0x88)
|
|
#define USBERR_DRIVER_NOT_INSTALLED (0x89)
|
|
#define USBERR_INSTALL_ISR (0x8A)
|
|
#define USBERR_INVALID_DEVICE_NUM (0x8B)
|
|
#define USBERR_ALLOC_SERVICE (0x8C)
|
|
#define USBERR_INIT_FAILED (0x8D)
|
|
#define USBERR_SHUTDOWN (0x8E)
|
|
#define USBERR_INVALID_PIPE_HANDLE (0x8F)
|
|
#define USBERR_OPEN_PIPE_FAILED (0x90)
|
|
#define USBERR_INIT_DATA (0x91)
|
|
#define USBERR_SRP_REQ_INVALID_STATE (0x92)
|
|
#define USBERR_TX_FAILED (0x93)
|
|
#define USBERR_RX_FAILED (0x94)
|
|
#define USBERR_EP_INIT_FAILED (0x95)
|
|
#define USBERR_EP_DEINIT_FAILED (0x96)
|
|
#define USBERR_TR_FAILED (0x97)
|
|
#define USBERR_BANDWIDTH_ALLOC_FAILED (0x98)
|
|
#define USBERR_INVALID_NUM_OF_ENDPOINTS (0x99)
|
|
|
|
#define USBERR_DEVICE_NOT_FOUND (0xC0)
|
|
#define USBERR_DEVICE_BUSY (0xC1)
|
|
#define USBERR_NO_DEVICE_CLASS (0xC3)
|
|
#define USBERR_UNKNOWN_ERROR (0xC4)
|
|
#define USBERR_INVALID_BMREQ_TYPE (0xC5)
|
|
#define USBERR_GET_MEMORY_FAILED (0xC6)
|
|
#define USBERR_INVALID_MEM_TYPE (0xC7)
|
|
#define USBERR_NO_DESCRIPTOR (0xC8)
|
|
#define USBERR_NULL_CALLBACK (0xC9)
|
|
#define USBERR_NO_INTERFACE (0xCA)
|
|
#define USBERR_INVALID_CFIG_NUM (0xCB)
|
|
#define USBERR_INVALID_ANCHOR (0xCC)
|
|
#define USBERR_INVALID_REQ_TYPE (0xCD)
|
|
|
|
/* Error Codes for lower-layer */
|
|
#define USBERR_ALLOC_EP_QUEUE_HEAD (0xA8)
|
|
#define USBERR_ALLOC_TR (0xA9)
|
|
#define USBERR_ALLOC_DTD_BASE (0xAA)
|
|
#define USBERR_CLASS_DRIVER_INSTALL (0xAB)
|
|
|
|
|
|
/* Pipe Types */
|
|
#define USB_ISOCHRONOUS_PIPE (0x01)
|
|
#define USB_INTERRUPT_PIPE (0x02)
|
|
#define USB_CONTROL_PIPE (0x03)
|
|
#define USB_BULK_PIPE (0x04)
|
|
|
|
#define ARC_USB_STATE_UNKNOWN (0xff)
|
|
#define ARC_USB_STATE_POWERED (0x03)
|
|
#define ARC_USB_STATE_DEFAULT (0x02)
|
|
#define ARC_USB_STATE_ADDRESS (0x01)
|
|
#define ARC_USB_STATE_CONFIG (0x00)
|
|
#define ARC_USB_STATE_SUSPEND (0x80)
|
|
|
|
#define ARC_USB_SELF_POWERED (0x01)
|
|
#define ARC_USB_REMOTE_WAKEUP (0x02)
|
|
|
|
/* Bus Control values */
|
|
#define ARC_USB_NO_OPERATION (0x00)
|
|
#define ARC_USB_ASSERT_BUS_RESET (0x01)
|
|
#define ARC_USB_DEASSERT_BUS_RESET (0x02)
|
|
#define ARC_USB_ASSERT_RESUME (0x03)
|
|
#define ARC_USB_DEASSERT_RESUME (0x04)
|
|
#define ARC_USB_SUSPEND_SOF (0x05)
|
|
#define ARC_USB_RESUME_SOF (0x06)
|
|
|
|
/* possible values of XD->bStatus */
|
|
#define ARC_USB_STATUS_IDLE (0)
|
|
#define ARC_USB_STATUS_TRANSFER_ACCEPTED (1)
|
|
#define ARC_USB_STATUS_TRANSFER_PENDING (2)
|
|
#define ARC_USB_STATUS_TRANSFER_IN_PROGRESS (3)
|
|
#define ARC_USB_STATUS_ERROR (4)
|
|
#define ARC_USB_STATUS_DISABLED (5)
|
|
#define ARC_USB_STATUS_STALLED (6)
|
|
#define ARC_USB_STATUS_TRANSFER_QUEUED (7)
|
|
|
|
#define ARC_USB_RECV (0)
|
|
#define ARC_USB_SEND (1)
|
|
|
|
#define ARC_USB_DEVICE_DONT_ZERO_TERMINATE (0x1)
|
|
|
|
#define ARC_USB_SETUP_DATA_XFER_DIRECTION (0x80)
|
|
|
|
#define ARC_USB_SPEED_FULL (0)
|
|
#define ARC_USB_SPEED_LOW (1)
|
|
#define ARC_USB_SPEED_HIGH (2)
|
|
|
|
#define ARC_USB_MAX_PKTS_PER_UFRAME (0x6)
|
|
|
|
/* USB 1.1 Setup Packet */
|
|
typedef struct setup_struct {
|
|
uint_8 REQUESTTYPE;
|
|
uint_8 REQUEST;
|
|
uint_16 VALUE;
|
|
uint_16 INDEX;
|
|
uint_16 LENGTH;
|
|
} SETUP_STRUCT, _PTR_ SETUP_STRUCT_PTR;
|
|
|
|
#endif /* __mvUsbDefs_h__ */
|
|
|
|
/* EOF */
|