2 * Copyright (c) 2013 Qualcomm Atheros, Inc.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted (subject to the limitations in the
7 * disclaimer below) provided that the following conditions are met:
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the
17 * * Neither the name of Qualcomm Atheros nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
21 * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
22 * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
23 * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
24 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
30 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
31 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
32 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
33 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 #ifndef __USB_USER_PRE_H
36 #define __USB_USER_PRE_H
38 #define FUSB200_MAX_EP 10 // 1..10
39 #define FUSB200_MAX_FIFO 10 // 0.. 9
40 #define EP0MAXPACKETSIZE 0x40
41 // #define EP0FIFOSIZE 64 // EP0_FIFO
43 //#define EP0MAXPACKETSIZE 0x08
45 // Max. Packet Size define
47 #define MX_PA_SZ_16 16
48 #define MX_PA_SZ_32 32
49 #define MX_PA_SZ_64 64
50 #define MX_PA_SZ_128 128
51 #define MX_PA_SZ_256 256
52 #define MX_PA_SZ_512 512
53 #define MX_PA_SZ_1024 1024
64 // Block toggle number define
69 // Endpoint transfer type
70 #define TF_TYPE_ISOCHRONOUS 1
71 #define TF_TYPE_BULK 2
72 #define TF_TYPE_INTERRUPT 3
74 // Endpoint or FIFO direction define
75 #define DIRECTION_IN 0
76 #define DIRECTION_OUT 1
96 // Descriptor Table uses the following parameters : fixed
97 #define DEVICE_LENGTH 0x12
98 #define CONFIG_LENGTH 0x09
99 #define INTERFACE_LENGTH 0x09
100 #define EP_LENGTH 0x07
101 #define DEVICE_QUALIFIER_LENGTH 0x0A
104 // Endpoint number define
122 #define STRING_00_LENGTH 0x04
123 #define STRING_10_LENGTH 0x0c
124 #define STRING_20_LENGTH 0x18
125 #define STRING_30_LENGTH 0x18
126 #define STRING_40_LENGTH 0x04
127 #define STRING_50_LENGTH 0x04
128 #define STRING_60_LENGTH 0x04
129 #define STRING_70_LENGTH 0x04
130 #define STRING_80_LENGTH 0x04
131 #define STRING_90_LENGTH 0x00