Setting up repository
[linux-libre-firmware.git] / ath9k_htc / target_firmware / magpie_fw_dev / target / inc / usb_pre.h
1 /*
2  * Copyright (c) 2013 Qualcomm Atheros, Inc.
3  * All rights reserved.
4  *
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:
8  *
9  *  * Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  *
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
15  *    distribution.
16  *
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.
20  *
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.
34  */
35 #ifndef __USB_USER_PRE_H
36 #define __USB_USER_PRE_H
37
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
42 //JWEI 2003/04/29
43 //#define EP0MAXPACKETSIZE        0x08
44
45 // Max. Packet Size define
46 #define MX_PA_SZ_8          8
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
54
55 #define MASK_F0             0xF0
56
57 // Block Size define
58 #define BLK512BYTE      1
59 #define BLK1024BYTE     2
60
61 #define BLK64BYTE       1
62 #define BLK128BYTE      2
63
64 // Block toggle number define
65 #define SINGLE_BLK      1
66 #define DOUBLE_BLK      2
67 #define TRIBLE_BLK      3
68
69 // Endpoint transfer type
70 #define TF_TYPE_ISOCHRONOUS     1
71 #define TF_TYPE_BULK            2
72 #define TF_TYPE_INTERRUPT       3
73
74 // Endpoint or FIFO direction define
75 #define DIRECTION_IN    0
76 #define DIRECTION_OUT   1
77
78 // FIFO number define
79 #define FIFO0           0x0
80 #define FIFO1           0x1
81 #define FIFO2           0x2
82 #define FIFO3           0x3
83 #define FIFO4           0x4
84 #define FIFO5           0x5
85 #define FIFO6           0x6
86 #define FIFO7           0x7
87 #define FIFO8           0x8
88 #define FIFO9           0x9
89 #define FIFO10          10
90 #define FIFO11          11
91 #define FIFO12          12
92 #define FIFO13          13
93 #define FIFO14          14
94 #define FIFO15          15
95
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
102
103 //JWEI 2003/04/29
104 // Endpoint number define
105 #define EP0         0
106 #define EP1         1
107 #define EP2         2
108 #define EP3         3
109 #define EP4         4
110 #define EP5         5
111 #define EP6         6
112 #define EP7         7
113 #define EP8         8
114 #define EP9         9
115 #define EP10        10
116 #define EP11        11
117 #define EP12        12
118 #define EP13        13
119 #define EP14        14
120 #define EP15        15
121
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
132
133 #endif