Robobo
component_udphs.h
1 /* ----------------------------------------------------------------------------
2  * SAM Software Package License
3  * ----------------------------------------------------------------------------
4  * Copyright (c) 2012, Atmel Corporation
5  *
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following condition is met:
10  *
11  * - Redistributions of source code must retain the above copyright notice,
12  * this list of conditions and the disclaimer below.
13  *
14  * Atmel's name may not be used to endorse or promote products derived from
15  * this software without specific prior written permission.
16  *
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  * ----------------------------------------------------------------------------
28  */
29 
30 #ifndef _SAM3U_UDPHS_COMPONENT_
31 #define _SAM3U_UDPHS_COMPONENT_
32 
33 /* ============================================================================= */
35 /* ============================================================================= */
38 
39 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
40 
41 typedef struct {
46 } UdphsDma;
48 typedef struct {
53  RoReg Reserved1[1];
57 } UdphsEpt;
59 #define UDPHSEPT_NUMBER 7
60 #define UDPHSDMA_NUMBER 6
61 typedef struct {
64  RoReg Reserved1[2];
69  RoReg Reserved2[48];
71  RoReg Reserved3[3];
75  RoReg Reserved4[1];
77  RoReg Reserved5[72];
78  UdphsDma UDPHS_DMA[UDPHSDMA_NUMBER];
79 } Udphs;
80 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
81 /* -------- UDPHS_CTRL : (UDPHS Offset: 0x00) UDPHS Control Register -------- */
82 #define UDPHS_CTRL_DEV_ADDR_Pos 0
83 #define UDPHS_CTRL_DEV_ADDR_Msk (0x7fu << UDPHS_CTRL_DEV_ADDR_Pos)
84 #define UDPHS_CTRL_DEV_ADDR(value) ((UDPHS_CTRL_DEV_ADDR_Msk & ((value) << UDPHS_CTRL_DEV_ADDR_Pos)))
85 #define UDPHS_CTRL_FADDR_EN (0x1u << 7)
86 #define UDPHS_CTRL_EN_UDPHS (0x1u << 8)
87 #define UDPHS_CTRL_DETACH (0x1u << 9)
88 #define UDPHS_CTRL_REWAKEUP (0x1u << 10)
89 #define UDPHS_CTRL_PULLD_DIS (0x1u << 11)
90 /* -------- UDPHS_FNUM : (UDPHS Offset: 0x04) UDPHS Frame Number Register -------- */
91 #define UDPHS_FNUM_MICRO_FRAME_NUM_Pos 0
92 #define UDPHS_FNUM_MICRO_FRAME_NUM_Msk (0x7u << UDPHS_FNUM_MICRO_FRAME_NUM_Pos)
93 #define UDPHS_FNUM_FRAME_NUMBER_Pos 3
94 #define UDPHS_FNUM_FRAME_NUMBER_Msk (0x7ffu << UDPHS_FNUM_FRAME_NUMBER_Pos)
95 #define UDPHS_FNUM_FNUM_ERR (0x1u << 31)
96 /* -------- UDPHS_IEN : (UDPHS Offset: 0x10) UDPHS Interrupt Enable Register -------- */
97 #define UDPHS_IEN_DET_SUSPD (0x1u << 1)
98 #define UDPHS_IEN_MICRO_SOF (0x1u << 2)
99 #define UDPHS_IEN_INT_SOF (0x1u << 3)
100 #define UDPHS_IEN_ENDRESET (0x1u << 4)
101 #define UDPHS_IEN_WAKE_UP (0x1u << 5)
102 #define UDPHS_IEN_ENDOFRSM (0x1u << 6)
103 #define UDPHS_IEN_UPSTR_RES (0x1u << 7)
104 #define UDPHS_IEN_EPT_0 (0x1u << 8)
105 #define UDPHS_IEN_EPT_1 (0x1u << 9)
106 #define UDPHS_IEN_EPT_2 (0x1u << 10)
107 #define UDPHS_IEN_EPT_3 (0x1u << 11)
108 #define UDPHS_IEN_EPT_4 (0x1u << 12)
109 #define UDPHS_IEN_EPT_5 (0x1u << 13)
110 #define UDPHS_IEN_EPT_6 (0x1u << 14)
111 #define UDPHS_IEN_DMA_1 (0x1u << 25)
112 #define UDPHS_IEN_DMA_2 (0x1u << 26)
113 #define UDPHS_IEN_DMA_3 (0x1u << 27)
114 #define UDPHS_IEN_DMA_4 (0x1u << 28)
115 #define UDPHS_IEN_DMA_5 (0x1u << 29)
116 #define UDPHS_IEN_DMA_6 (0x1u << 30)
117 /* -------- UDPHS_INTSTA : (UDPHS Offset: 0x14) UDPHS Interrupt Status Register -------- */
118 #define UDPHS_INTSTA_SPEED (0x1u << 0)
119 #define UDPHS_INTSTA_DET_SUSPD (0x1u << 1)
120 #define UDPHS_INTSTA_MICRO_SOF (0x1u << 2)
121 #define UDPHS_INTSTA_INT_SOF (0x1u << 3)
122 #define UDPHS_INTSTA_ENDRESET (0x1u << 4)
123 #define UDPHS_INTSTA_WAKE_UP (0x1u << 5)
124 #define UDPHS_INTSTA_ENDOFRSM (0x1u << 6)
125 #define UDPHS_INTSTA_UPSTR_RES (0x1u << 7)
126 #define UDPHS_INTSTA_EPT_0 (0x1u << 8)
127 #define UDPHS_INTSTA_EPT_1 (0x1u << 9)
128 #define UDPHS_INTSTA_EPT_2 (0x1u << 10)
129 #define UDPHS_INTSTA_EPT_3 (0x1u << 11)
130 #define UDPHS_INTSTA_EPT_4 (0x1u << 12)
131 #define UDPHS_INTSTA_EPT_5 (0x1u << 13)
132 #define UDPHS_INTSTA_EPT_6 (0x1u << 14)
133 #define UDPHS_INTSTA_DMA_1 (0x1u << 25)
134 #define UDPHS_INTSTA_DMA_2 (0x1u << 26)
135 #define UDPHS_INTSTA_DMA_3 (0x1u << 27)
136 #define UDPHS_INTSTA_DMA_4 (0x1u << 28)
137 #define UDPHS_INTSTA_DMA_5 (0x1u << 29)
138 #define UDPHS_INTSTA_DMA_6 (0x1u << 30)
139 /* -------- UDPHS_CLRINT : (UDPHS Offset: 0x18) UDPHS Clear Interrupt Register -------- */
140 #define UDPHS_CLRINT_DET_SUSPD (0x1u << 1)
141 #define UDPHS_CLRINT_MICRO_SOF (0x1u << 2)
142 #define UDPHS_CLRINT_INT_SOF (0x1u << 3)
143 #define UDPHS_CLRINT_ENDRESET (0x1u << 4)
144 #define UDPHS_CLRINT_WAKE_UP (0x1u << 5)
145 #define UDPHS_CLRINT_ENDOFRSM (0x1u << 6)
146 #define UDPHS_CLRINT_UPSTR_RES (0x1u << 7)
147 /* -------- UDPHS_EPTRST : (UDPHS Offset: 0x1C) UDPHS Endpoints Reset Register -------- */
148 #define UDPHS_EPTRST_EPT_0 (0x1u << 0)
149 #define UDPHS_EPTRST_EPT_1 (0x1u << 1)
150 #define UDPHS_EPTRST_EPT_2 (0x1u << 2)
151 #define UDPHS_EPTRST_EPT_3 (0x1u << 3)
152 #define UDPHS_EPTRST_EPT_4 (0x1u << 4)
153 #define UDPHS_EPTRST_EPT_5 (0x1u << 5)
154 #define UDPHS_EPTRST_EPT_6 (0x1u << 6)
155 /* -------- UDPHS_TST : (UDPHS Offset: 0xE0) UDPHS Test Register -------- */
156 #define UDPHS_TST_SPEED_CFG_Pos 0
157 #define UDPHS_TST_SPEED_CFG_Msk (0x3u << UDPHS_TST_SPEED_CFG_Pos)
158 #define UDPHS_TST_SPEED_CFG_NORMAL (0x0u << 0)
159 #define UDPHS_TST_SPEED_CFG_HIGH_SPEED (0x2u << 0)
160 #define UDPHS_TST_SPEED_CFG_FULL_SPEED (0x3u << 0)
161 #define UDPHS_TST_TST_J (0x1u << 2)
162 #define UDPHS_TST_TST_K (0x1u << 3)
163 #define UDPHS_TST_TST_PKT (0x1u << 4)
164 #define UDPHS_TST_OPMODE2 (0x1u << 5)
165 /* -------- UDPHS_IPNAME1 : (UDPHS Offset: 0xF0) UDPHS Name1 Register -------- */
166 #define UDPHS_IPNAME1_IP_NAME1_Pos 0
167 #define UDPHS_IPNAME1_IP_NAME1_Msk (0xffffffffu << UDPHS_IPNAME1_IP_NAME1_Pos)
168 /* -------- UDPHS_IPNAME2 : (UDPHS Offset: 0xF4) UDPHS Name2 Register -------- */
169 #define UDPHS_IPNAME2_IP_NAME2_Pos 0
170 #define UDPHS_IPNAME2_IP_NAME2_Msk (0xffffffffu << UDPHS_IPNAME2_IP_NAME2_Pos)
171 /* -------- UDPHS_IPFEATURES : (UDPHS Offset: 0xF8) UDPHS Features Register -------- */
172 #define UDPHS_IPFEATURES_EPT_NBR_MAX_Pos 0
173 #define UDPHS_IPFEATURES_EPT_NBR_MAX_Msk (0xfu << UDPHS_IPFEATURES_EPT_NBR_MAX_Pos)
174 #define UDPHS_IPFEATURES_DMA_CHANNEL_NBR_Pos 4
175 #define UDPHS_IPFEATURES_DMA_CHANNEL_NBR_Msk (0x7u << UDPHS_IPFEATURES_DMA_CHANNEL_NBR_Pos)
176 #define UDPHS_IPFEATURES_DMA_B_SIZ (0x1u << 7)
177 #define UDPHS_IPFEATURES_DMA_FIFO_WORD_DEPTH_Pos 8
178 #define UDPHS_IPFEATURES_DMA_FIFO_WORD_DEPTH_Msk (0xfu << UDPHS_IPFEATURES_DMA_FIFO_WORD_DEPTH_Pos)
179 #define UDPHS_IPFEATURES_FIFO_MAX_SIZE_Pos 12
180 #define UDPHS_IPFEATURES_FIFO_MAX_SIZE_Msk (0x7u << UDPHS_IPFEATURES_FIFO_MAX_SIZE_Pos)
181 #define UDPHS_IPFEATURES_BW_DPRAM (0x1u << 15)
182 #define UDPHS_IPFEATURES_DATAB16_8 (0x1u << 16)
183 #define UDPHS_IPFEATURES_ISO_EPT_1 (0x1u << 17)
184 #define UDPHS_IPFEATURES_ISO_EPT_2 (0x1u << 18)
185 #define UDPHS_IPFEATURES_ISO_EPT_3 (0x1u << 19)
186 #define UDPHS_IPFEATURES_ISO_EPT_4 (0x1u << 20)
187 #define UDPHS_IPFEATURES_ISO_EPT_5 (0x1u << 21)
188 #define UDPHS_IPFEATURES_ISO_EPT_6 (0x1u << 22)
189 #define UDPHS_IPFEATURES_ISO_EPT_7 (0x1u << 23)
190 #define UDPHS_IPFEATURES_ISO_EPT_8 (0x1u << 24)
191 #define UDPHS_IPFEATURES_ISO_EPT_9 (0x1u << 25)
192 #define UDPHS_IPFEATURES_ISO_EPT_10 (0x1u << 26)
193 #define UDPHS_IPFEATURES_ISO_EPT_11 (0x1u << 27)
194 #define UDPHS_IPFEATURES_ISO_EPT_12 (0x1u << 28)
195 #define UDPHS_IPFEATURES_ISO_EPT_13 (0x1u << 29)
196 #define UDPHS_IPFEATURES_ISO_EPT_14 (0x1u << 30)
197 #define UDPHS_IPFEATURES_ISO_EPT_15 (0x1u << 31)
198 /* -------- UDPHS_EPTCFG : (UDPHS Offset: N/A) UDPHS Endpoint Configuration Register -------- */
199 #define UDPHS_EPTCFG_EPT_SIZE_Pos 0
200 #define UDPHS_EPTCFG_EPT_SIZE_Msk (0x7u << UDPHS_EPTCFG_EPT_SIZE_Pos)
201 #define UDPHS_EPTCFG_EPT_SIZE_8 (0x0u << 0)
202 #define UDPHS_EPTCFG_EPT_SIZE_16 (0x1u << 0)
203 #define UDPHS_EPTCFG_EPT_SIZE_32 (0x2u << 0)
204 #define UDPHS_EPTCFG_EPT_SIZE_64 (0x3u << 0)
205 #define UDPHS_EPTCFG_EPT_SIZE_128 (0x4u << 0)
206 #define UDPHS_EPTCFG_EPT_SIZE_256 (0x5u << 0)
207 #define UDPHS_EPTCFG_EPT_SIZE_512 (0x6u << 0)
208 #define UDPHS_EPTCFG_EPT_SIZE_1024 (0x7u << 0)
209 #define UDPHS_EPTCFG_EPT_DIR (0x1u << 3)
210 #define UDPHS_EPTCFG_EPT_TYPE_Pos 4
211 #define UDPHS_EPTCFG_EPT_TYPE_Msk (0x3u << UDPHS_EPTCFG_EPT_TYPE_Pos)
212 #define UDPHS_EPTCFG_EPT_TYPE_CTRL8 (0x0u << 4)
213 #define UDPHS_EPTCFG_EPT_TYPE_ISO (0x1u << 4)
214 #define UDPHS_EPTCFG_EPT_TYPE_BULK (0x2u << 4)
215 #define UDPHS_EPTCFG_EPT_TYPE_INT (0x3u << 4)
216 #define UDPHS_EPTCFG_BK_NUMBER_Pos 6
217 #define UDPHS_EPTCFG_BK_NUMBER_Msk (0x3u << UDPHS_EPTCFG_BK_NUMBER_Pos)
218 #define UDPHS_EPTCFG_BK_NUMBER_0 (0x0u << 6)
219 #define UDPHS_EPTCFG_BK_NUMBER_1 (0x1u << 6)
220 #define UDPHS_EPTCFG_BK_NUMBER_2 (0x2u << 6)
221 #define UDPHS_EPTCFG_BK_NUMBER_3 (0x3u << 6)
222 #define UDPHS_EPTCFG_NB_TRANS_Pos 8
223 #define UDPHS_EPTCFG_NB_TRANS_Msk (0x3u << UDPHS_EPTCFG_NB_TRANS_Pos)
224 #define UDPHS_EPTCFG_NB_TRANS(value) ((UDPHS_EPTCFG_NB_TRANS_Msk & ((value) << UDPHS_EPTCFG_NB_TRANS_Pos)))
225 #define UDPHS_EPTCFG_EPT_MAPD (0x1u << 31)
226 /* -------- UDPHS_EPTCTLENB : (UDPHS Offset: N/A) UDPHS Endpoint Control Enable Register -------- */
227 #define UDPHS_EPTCTLENB_EPT_ENABL (0x1u << 0)
228 #define UDPHS_EPTCTLENB_AUTO_VALID (0x1u << 1)
229 #define UDPHS_EPTCTLENB_INTDIS_DMA (0x1u << 3)
230 #define UDPHS_EPTCTLENB_NYET_DIS (0x1u << 4)
231 #define UDPHS_EPTCTLENB_DATAX_RX (0x1u << 6)
232 #define UDPHS_EPTCTLENB_MDATA_RX (0x1u << 7)
233 #define UDPHS_EPTCTLENB_ERR_OVFLW (0x1u << 8)
234 #define UDPHS_EPTCTLENB_RX_BK_RDY (0x1u << 9)
235 #define UDPHS_EPTCTLENB_TX_COMPLT (0x1u << 10)
236 #define UDPHS_EPTCTLENB_TX_PK_RDY (0x1u << 11)
237 #define UDPHS_EPTCTLENB_ERR_TRANS (0x1u << 11)
238 #define UDPHS_EPTCTLENB_RX_SETUP (0x1u << 12)
239 #define UDPHS_EPTCTLENB_ERR_FL_ISO (0x1u << 12)
240 #define UDPHS_EPTCTLENB_STALL_SNT (0x1u << 13)
241 #define UDPHS_EPTCTLENB_ERR_CRISO (0x1u << 13)
242 #define UDPHS_EPTCTLENB_ERR_NBTRA (0x1u << 13)
243 #define UDPHS_EPTCTLENB_NAK_IN (0x1u << 14)
244 #define UDPHS_EPTCTLENB_ERR_FLUSH (0x1u << 14)
245 #define UDPHS_EPTCTLENB_NAK_OUT (0x1u << 15)
246 #define UDPHS_EPTCTLENB_BUSY_BANK (0x1u << 18)
247 #define UDPHS_EPTCTLENB_SHRT_PCKT (0x1u << 31)
248 /* -------- UDPHS_EPTCTLDIS : (UDPHS Offset: N/A) UDPHS Endpoint Control Disable Register -------- */
249 #define UDPHS_EPTCTLDIS_EPT_DISABL (0x1u << 0)
250 #define UDPHS_EPTCTLDIS_AUTO_VALID (0x1u << 1)
251 #define UDPHS_EPTCTLDIS_INTDIS_DMA (0x1u << 3)
252 #define UDPHS_EPTCTLDIS_NYET_DIS (0x1u << 4)
253 #define UDPHS_EPTCTLDIS_DATAX_RX (0x1u << 6)
254 #define UDPHS_EPTCTLDIS_MDATA_RX (0x1u << 7)
255 #define UDPHS_EPTCTLDIS_ERR_OVFLW (0x1u << 8)
256 #define UDPHS_EPTCTLDIS_RX_BK_RDY (0x1u << 9)
257 #define UDPHS_EPTCTLDIS_TX_COMPLT (0x1u << 10)
258 #define UDPHS_EPTCTLDIS_TX_PK_RDY (0x1u << 11)
259 #define UDPHS_EPTCTLDIS_ERR_TRANS (0x1u << 11)
260 #define UDPHS_EPTCTLDIS_RX_SETUP (0x1u << 12)
261 #define UDPHS_EPTCTLDIS_ERR_FL_ISO (0x1u << 12)
262 #define UDPHS_EPTCTLDIS_STALL_SNT (0x1u << 13)
263 #define UDPHS_EPTCTLDIS_ERR_CRISO (0x1u << 13)
264 #define UDPHS_EPTCTLDIS_ERR_NBTRA (0x1u << 13)
265 #define UDPHS_EPTCTLDIS_NAK_IN (0x1u << 14)
266 #define UDPHS_EPTCTLDIS_ERR_FLUSH (0x1u << 14)
267 #define UDPHS_EPTCTLDIS_NAK_OUT (0x1u << 15)
268 #define UDPHS_EPTCTLDIS_BUSY_BANK (0x1u << 18)
269 #define UDPHS_EPTCTLDIS_SHRT_PCKT (0x1u << 31)
270 /* -------- UDPHS_EPTCTL : (UDPHS Offset: N/A) UDPHS Endpoint Control Register -------- */
271 #define UDPHS_EPTCTL_EPT_ENABL (0x1u << 0)
272 #define UDPHS_EPTCTL_AUTO_VALID (0x1u << 1)
273 #define UDPHS_EPTCTL_INTDIS_DMA (0x1u << 3)
274 #define UDPHS_EPTCTL_NYET_DIS (0x1u << 4)
275 #define UDPHS_EPTCTL_DATAX_RX (0x1u << 6)
276 #define UDPHS_EPTCTL_MDATA_RX (0x1u << 7)
277 #define UDPHS_EPTCTL_ERR_OVFLW (0x1u << 8)
278 #define UDPHS_EPTCTL_RX_BK_RDY (0x1u << 9)
279 #define UDPHS_EPTCTL_TX_COMPLT (0x1u << 10)
280 #define UDPHS_EPTCTL_TX_PK_RDY (0x1u << 11)
281 #define UDPHS_EPTCTL_ERR_TRANS (0x1u << 11)
282 #define UDPHS_EPTCTL_RX_SETUP (0x1u << 12)
283 #define UDPHS_EPTCTL_ERR_FL_ISO (0x1u << 12)
284 #define UDPHS_EPTCTL_STALL_SNT (0x1u << 13)
285 #define UDPHS_EPTCTL_ERR_CRISO (0x1u << 13)
286 #define UDPHS_EPTCTL_ERR_NBTRA (0x1u << 13)
287 #define UDPHS_EPTCTL_NAK_IN (0x1u << 14)
288 #define UDPHS_EPTCTL_ERR_FLUSH (0x1u << 14)
289 #define UDPHS_EPTCTL_NAK_OUT (0x1u << 15)
290 #define UDPHS_EPTCTL_BUSY_BANK (0x1u << 18)
291 #define UDPHS_EPTCTL_SHRT_PCKT (0x1u << 31)
292 /* -------- UDPHS_EPTSETSTA : (UDPHS Offset: N/A) UDPHS Endpoint Set Status Register -------- */
293 #define UDPHS_EPTSETSTA_FRCESTALL (0x1u << 5)
294 #define UDPHS_EPTSETSTA_KILL_BANK (0x1u << 9)
295 #define UDPHS_EPTSETSTA_TX_PK_RDY (0x1u << 11)
296 /* -------- UDPHS_EPTCLRSTA : (UDPHS Offset: N/A) UDPHS Endpoint Clear Status Register -------- */
297 #define UDPHS_EPTCLRSTA_FRCESTALL (0x1u << 5)
298 #define UDPHS_EPTCLRSTA_TOGGLESQ (0x1u << 6)
299 #define UDPHS_EPTCLRSTA_RX_BK_RDY (0x1u << 9)
300 #define UDPHS_EPTCLRSTA_TX_COMPLT (0x1u << 10)
301 #define UDPHS_EPTCLRSTA_RX_SETUP (0x1u << 12)
302 #define UDPHS_EPTCLRSTA_ERR_FL_ISO (0x1u << 12)
303 #define UDPHS_EPTCLRSTA_STALL_SNT (0x1u << 13)
304 #define UDPHS_EPTCLRSTA_ERR_NBTRA (0x1u << 13)
305 #define UDPHS_EPTCLRSTA_NAK_IN (0x1u << 14)
306 #define UDPHS_EPTCLRSTA_ERR_FLUSH (0x1u << 14)
307 #define UDPHS_EPTCLRSTA_NAK_OUT (0x1u << 15)
308 /* -------- UDPHS_EPTSTA : (UDPHS Offset: N/A) UDPHS Endpoint Status Register -------- */
309 #define UDPHS_EPTSTA_FRCESTALL (0x1u << 5)
310 #define UDPHS_EPTSTA_TOGGLESQ_STA_Pos 6
311 #define UDPHS_EPTSTA_TOGGLESQ_STA_Msk (0x3u << UDPHS_EPTSTA_TOGGLESQ_STA_Pos)
312 #define UDPHS_EPTSTA_TOGGLESQ_STA_DATA0 (0x0u << 6)
313 #define UDPHS_EPTSTA_TOGGLESQ_STA_DATA1 (0x1u << 6)
314 #define UDPHS_EPTSTA_TOGGLESQ_STA_DATA2 (0x2u << 6)
315 #define UDPHS_EPTSTA_TOGGLESQ_STA_MDATA (0x3u << 6)
316 #define UDPHS_EPTSTA_ERR_OVFLW (0x1u << 8)
317 #define UDPHS_EPTSTA_RX_BK_RDY (0x1u << 9)
318 #define UDPHS_EPTSTA_KILL_BANK (0x1u << 9)
319 #define UDPHS_EPTSTA_TX_COMPLT (0x1u << 10)
320 #define UDPHS_EPTSTA_TX_PK_RDY (0x1u << 11)
321 #define UDPHS_EPTSTA_ERR_TRANS (0x1u << 11)
322 #define UDPHS_EPTSTA_RX_SETUP (0x1u << 12)
323 #define UDPHS_EPTSTA_ERR_FL_ISO (0x1u << 12)
324 #define UDPHS_EPTSTA_STALL_SNT (0x1u << 13)
325 #define UDPHS_EPTSTA_ERR_CRISO (0x1u << 13)
326 #define UDPHS_EPTSTA_ERR_NBTRA (0x1u << 13)
327 #define UDPHS_EPTSTA_NAK_IN (0x1u << 14)
328 #define UDPHS_EPTSTA_ERR_FLUSH (0x1u << 14)
329 #define UDPHS_EPTSTA_NAK_OUT (0x1u << 15)
330 #define UDPHS_EPTSTA_CURRENT_BANK_Pos 16
331 #define UDPHS_EPTSTA_CURRENT_BANK_Msk (0x3u << UDPHS_EPTSTA_CURRENT_BANK_Pos)
332 #define UDPHS_EPTSTA_CONTROL_DIR_Pos 16
333 #define UDPHS_EPTSTA_CONTROL_DIR_Msk (0x3u << UDPHS_EPTSTA_CONTROL_DIR_Pos)
334 #define UDPHS_EPTSTA_BUSY_BANK_STA_Pos 18
335 #define UDPHS_EPTSTA_BUSY_BANK_STA_Msk (0x3u << UDPHS_EPTSTA_BUSY_BANK_STA_Pos)
336 #define UDPHS_EPTSTA_BUSY_BANK_STA_1BUSYBANK (0x0u << 18)
337 #define UDPHS_EPTSTA_BUSY_BANK_STA_2BUSYBANKS (0x1u << 18)
338 #define UDPHS_EPTSTA_BUSY_BANK_STA_3BUSYBANKS (0x2u << 18)
339 #define UDPHS_EPTSTA_BYTE_COUNT_Pos 20
340 #define UDPHS_EPTSTA_BYTE_COUNT_Msk (0x7ffu << UDPHS_EPTSTA_BYTE_COUNT_Pos)
341 #define UDPHS_EPTSTA_SHRT_PCKT (0x1u << 31)
342 /* -------- UDPHS_DMANXTDSC : (UDPHS Offset: N/A) UDPHS DMA Next Descriptor Address Register -------- */
343 #define UDPHS_DMANXTDSC_NXT_DSC_ADD_Pos 0
344 #define UDPHS_DMANXTDSC_NXT_DSC_ADD_Msk (0xffffffffu << UDPHS_DMANXTDSC_NXT_DSC_ADD_Pos)
345 #define UDPHS_DMANXTDSC_NXT_DSC_ADD(value) ((UDPHS_DMANXTDSC_NXT_DSC_ADD_Msk & ((value) << UDPHS_DMANXTDSC_NXT_DSC_ADD_Pos)))
346 /* -------- UDPHS_DMAADDRESS : (UDPHS Offset: N/A) UDPHS DMA Channel Address Register -------- */
347 #define UDPHS_DMAADDRESS_BUFF_ADD_Pos 0
348 #define UDPHS_DMAADDRESS_BUFF_ADD_Msk (0xffffffffu << UDPHS_DMAADDRESS_BUFF_ADD_Pos)
349 #define UDPHS_DMAADDRESS_BUFF_ADD(value) ((UDPHS_DMAADDRESS_BUFF_ADD_Msk & ((value) << UDPHS_DMAADDRESS_BUFF_ADD_Pos)))
350 /* -------- UDPHS_DMACONTROL : (UDPHS Offset: N/A) UDPHS DMA Channel Control Register -------- */
351 #define UDPHS_DMACONTROL_CHANN_ENB (0x1u << 0)
352 #define UDPHS_DMACONTROL_LDNXT_DSC (0x1u << 1)
353 #define UDPHS_DMACONTROL_END_TR_EN (0x1u << 2)
354 #define UDPHS_DMACONTROL_END_B_EN (0x1u << 3)
355 #define UDPHS_DMACONTROL_END_TR_IT (0x1u << 4)
356 #define UDPHS_DMACONTROL_END_BUFFIT (0x1u << 5)
357 #define UDPHS_DMACONTROL_DESC_LD_IT (0x1u << 6)
358 #define UDPHS_DMACONTROL_BURST_LCK (0x1u << 7)
359 #define UDPHS_DMACONTROL_BUFF_LENGTH_Pos 16
360 #define UDPHS_DMACONTROL_BUFF_LENGTH_Msk (0xffffu << UDPHS_DMACONTROL_BUFF_LENGTH_Pos)
361 #define UDPHS_DMACONTROL_BUFF_LENGTH(value) ((UDPHS_DMACONTROL_BUFF_LENGTH_Msk & ((value) << UDPHS_DMACONTROL_BUFF_LENGTH_Pos)))
362 /* -------- UDPHS_DMASTATUS : (UDPHS Offset: N/A) UDPHS DMA Channel Status Register -------- */
363 #define UDPHS_DMASTATUS_CHANN_ENB (0x1u << 0)
364 #define UDPHS_DMASTATUS_CHANN_ACT (0x1u << 1)
365 #define UDPHS_DMASTATUS_END_TR_ST (0x1u << 4)
366 #define UDPHS_DMASTATUS_END_BF_ST (0x1u << 5)
367 #define UDPHS_DMASTATUS_DESC_LDST (0x1u << 6)
368 #define UDPHS_DMASTATUS_BUFF_COUNT_Pos 16
369 #define UDPHS_DMASTATUS_BUFF_COUNT_Msk (0xffffu << UDPHS_DMASTATUS_BUFF_COUNT_Pos)
370 #define UDPHS_DMASTATUS_BUFF_COUNT(value) ((UDPHS_DMASTATUS_BUFF_COUNT_Msk & ((value) << UDPHS_DMASTATUS_BUFF_COUNT_Pos)))
371 
375 #endif /* _SAM3U_UDPHS_COMPONENT_ */
RwReg UDPHS_DMAADDRESS
(UdphsDma Offset: 0x4) UDPHS DMA Channel Address Register
Definition: component_udphs.h:43
RwReg UDPHS_IEN
(Udphs Offset: 0x10) UDPHS Interrupt Enable Register
Definition: component_udphs.h:65
RwReg UDPHS_EPTCTLDIS
(UdphsEpt Offset: 0x8) UDPHS Endpoint Control Disable Register
Definition: component_udphs.h:51
volatile uint32_t RwReg
Definition: sam3n00a.h:54
Definition: component_udphs.h:61
RoReg UDPHS_IPNAME2
(Udphs Offset: 0xF4) UDPHS Name2 Register
Definition: component_udphs.h:73
RwReg UDPHS_DMACONTROL
(UdphsDma Offset: 0x8) UDPHS DMA Channel Control Register
Definition: component_udphs.h:44
volatile uint32_t WoReg
Definition: sam3n00a.h:53
RoReg UDPHS_INTSTA
(Udphs Offset: 0x14) UDPHS Interrupt Status Register
Definition: component_udphs.h:66
RoReg UDPHS_IPNAME1
(Udphs Offset: 0xF0) UDPHS Name1 Register
Definition: component_udphs.h:72
RwReg UDPHS_EPTSTA
(UdphsEpt Offset: 0x1C) UDPHS Endpoint Status Register
Definition: component_udphs.h:56
WoReg UDPHS_EPTRST
(Udphs Offset: 0x1C) UDPHS Endpoints Reset Register
Definition: component_udphs.h:68
RwReg UDPHS_EPTCTLENB
(UdphsEpt Offset: 0x4) UDPHS Endpoint Control Enable Register
Definition: component_udphs.h:50
RwReg UDPHS_EPTCFG
(UdphsEpt Offset: 0x0) UDPHS Endpoint Configuration Register
Definition: component_udphs.h:49
RwReg UDPHS_EPTSETSTA
(UdphsEpt Offset: 0x14) UDPHS Endpoint Set Status Register
Definition: component_udphs.h:54
RwReg UDPHS_EPTCLRSTA
(UdphsEpt Offset: 0x18) UDPHS Endpoint Clear Status Register
Definition: component_udphs.h:55
#define UDPHSEPT_NUMBER
Udphs hardware registers.
Definition: component_udphs.h:59
UdphsEpt hardware registers.
Definition: component_udphs.h:48
RoReg UDPHS_FNUM
(Udphs Offset: 0x04) UDPHS Frame Number Register
Definition: component_udphs.h:63
RwReg UDPHS_TST
(Udphs Offset: 0xE0) UDPHS Test Register
Definition: component_udphs.h:70
RoReg UDPHS_IPFEATURES
(Udphs Offset: 0xF8) UDPHS Features Register
Definition: component_udphs.h:74
volatile const uint32_t RoReg
Definition: sam3n00a.h:49
RwReg UDPHS_EPTCTL
(UdphsEpt Offset: 0xC) UDPHS Endpoint Control Register
Definition: component_udphs.h:52
RwReg UDPHS_DMANXTDSC
(UdphsDma Offset: 0x0) UDPHS DMA Next Descriptor Address Register
Definition: component_udphs.h:42
UdphsDma hardware registers.
Definition: component_udphs.h:41
WoReg UDPHS_CLRINT
(Udphs Offset: 0x18) UDPHS Clear Interrupt Register
Definition: component_udphs.h:67
RwReg UDPHS_CTRL
(Udphs Offset: 0x00) UDPHS Control Register
Definition: component_udphs.h:62
RwReg UDPHS_DMASTATUS
(UdphsDma Offset: 0xC) UDPHS DMA Channel Status Register
Definition: component_udphs.h:45