Updated and Validated
[betaflight.git] / lib / main / STM32_USB_OTG_Driver / inc / usb_regs.h
blob8a22d3a5fb3d55a801e3647429e6da548020e301
1 /**
2 ******************************************************************************
3 * @file usb_regs.h
4 * @author MCD Application Team
5 * @version V2.2.0
6 * @date 09-November-2015
7 * @brief hardware registers
8 ******************************************************************************
9 * @attention
11 * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
13 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
14 * You may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at:
17 * http://www.st.com/software_license_agreement_liberty_v2
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
25 ******************************************************************************
28 /* Define to prevent recursive inclusion -------------------------------------*/
29 #ifndef __USB_OTG_REGS_H__
30 #define __USB_OTG_REGS_H__
32 /* Includes ------------------------------------------------------------------*/
33 #include "usb_conf.h"
36 /** @addtogroup USB_OTG_DRIVER
37 * @{
40 /** @defgroup USB_REGS
41 * @brief This file is the
42 * @{
43 */
46 /** @defgroup USB_REGS_Exported_Defines
47 * @{
48 */
50 #define USB_OTG_HS_BASE_ADDR 0x40040000
51 #define USB_OTG_FS_BASE_ADDR 0x50000000
53 #define USB_OTG_CORE_GLOBAL_REGS_OFFSET 0x000
54 #define USB_OTG_DEV_GLOBAL_REG_OFFSET 0x800
55 #define USB_OTG_DEV_IN_EP_REG_OFFSET 0x900
56 #define USB_OTG_EP_REG_OFFSET 0x20
57 #define USB_OTG_DEV_OUT_EP_REG_OFFSET 0xB00
58 #define USB_OTG_HOST_GLOBAL_REG_OFFSET 0x400
59 #define USB_OTG_HOST_PORT_REGS_OFFSET 0x440
60 #define USB_OTG_HOST_CHAN_REGS_OFFSET 0x500
61 #define USB_OTG_CHAN_REGS_OFFSET 0x20
62 #define USB_OTG_PCGCCTL_OFFSET 0xE00
63 #define USB_OTG_DATA_FIFO_OFFSET 0x1000
64 #define USB_OTG_DATA_FIFO_SIZE 0x1000
67 #define USB_OTG_MAX_TX_FIFOS 15
69 #define USB_OTG_HS_MAX_PACKET_SIZE 512
70 #define USB_OTG_FS_MAX_PACKET_SIZE 64
71 #define USB_OTG_MAX_EP0_SIZE 64
72 /**
73 * @}
74 */
76 /** @defgroup USB_REGS_Exported_Types
77 * @{
78 */
80 /** @defgroup __USB_OTG_Core_register
81 * @{
83 typedef struct _USB_OTG_GREGS /* 000h */
85 __IO uint32_t GOTGCTL; /* USB_OTG Control and Status Register 000h*/
86 __IO uint32_t GOTGINT; /* USB_OTG Interrupt Register 004h*/
87 __IO uint32_t GAHBCFG; /* Core AHB Configuration Register 008h*/
88 __IO uint32_t GUSBCFG; /* Core USB Configuration Register 00Ch*/
89 __IO uint32_t GRSTCTL; /* Core Reset Register 010h*/
90 __IO uint32_t GINTSTS; /* Core Interrupt Register 014h*/
91 __IO uint32_t GINTMSK; /* Core Interrupt Mask Register 018h*/
92 __IO uint32_t GRXSTSR; /* Receive Sts Q Read Register 01Ch*/
93 __IO uint32_t GRXSTSP; /* Receive Sts Q Read & POP Register 020h*/
94 __IO uint32_t GRXFSIZ; /* Receive FIFO Size Register 024h*/
95 __IO uint32_t DIEPTXF0_HNPTXFSIZ; /* EP0 / Non Periodic Tx FIFO Size Register 028h*/
96 __IO uint32_t HNPTXSTS; /* Non Periodic Tx FIFO/Queue Sts reg 02Ch*/
97 uint32_t Reserved30[2]; /* Reserved 030h*/
98 __IO uint32_t GCCFG; /* General Purpose IO Register 038h*/
99 __IO uint32_t CID; /* User ID Register 03Ch*/
100 uint32_t Reserved40[48]; /* Reserved 040h-0FFh*/
101 __IO uint32_t HPTXFSIZ; /* Host Periodic Tx FIFO Size Reg 100h*/
102 __IO uint32_t DIEPTXF[USB_OTG_MAX_TX_FIFOS];/* dev Periodic Transmit FIFO */
104 USB_OTG_GREGS;
106 * @}
110 /** @defgroup __device_Registers
111 * @{
113 typedef struct _USB_OTG_DREGS /* 800h */
115 __IO uint32_t DCFG; /* dev Configuration Register 800h*/
116 __IO uint32_t DCTL; /* dev Control Register 804h*/
117 __IO uint32_t DSTS; /* dev Status Register (RO) 808h*/
118 uint32_t Reserved0C; /* Reserved 80Ch*/
119 __IO uint32_t DIEPMSK; /* dev IN Endpoint Mask 810h*/
120 __IO uint32_t DOEPMSK; /* dev OUT Endpoint Mask 814h*/
121 __IO uint32_t DAINT; /* dev All Endpoints Itr Reg 818h*/
122 __IO uint32_t DAINTMSK; /* dev All Endpoints Itr Mask 81Ch*/
123 uint32_t Reserved20; /* Reserved 820h*/
124 uint32_t Reserved9; /* Reserved 824h*/
125 __IO uint32_t DVBUSDIS; /* dev VBUS discharge Register 828h*/
126 __IO uint32_t DVBUSPULSE; /* dev VBUS Pulse Register 82Ch*/
127 __IO uint32_t DTHRCTL; /* dev thr 830h*/
128 __IO uint32_t DIEPEMPMSK; /* dev empty msk 834h*/
129 __IO uint32_t DEACHINT; /* dedicated EP interrupt 838h*/
130 __IO uint32_t DEACHMSK; /* dedicated EP msk 83Ch*/
131 uint32_t Reserved40; /* dedicated EP mask 840h*/
132 __IO uint32_t DINEP1MSK; /* dedicated EP mask 844h*/
133 uint32_t Reserved44[15]; /* Reserved 844-87Ch*/
134 __IO uint32_t DOUTEP1MSK; /* dedicated EP msk 884h*/
136 USB_OTG_DREGS;
138 * @}
142 /** @defgroup __IN_Endpoint-Specific_Register
143 * @{
145 typedef struct _USB_OTG_INEPREGS
147 __IO uint32_t DIEPCTL; /* dev IN Endpoint Control Reg 900h + (ep_num * 20h) + 00h*/
148 uint32_t Reserved04; /* Reserved 900h + (ep_num * 20h) + 04h*/
149 __IO uint32_t DIEPINT; /* dev IN Endpoint Itr Reg 900h + (ep_num * 20h) + 08h*/
150 uint32_t Reserved0C; /* Reserved 900h + (ep_num * 20h) + 0Ch*/
151 __IO uint32_t DIEPTSIZ; /* IN Endpoint Txfer Size 900h + (ep_num * 20h) + 10h*/
152 __IO uint32_t DIEPDMA; /* IN Endpoint DMA Address Reg 900h + (ep_num * 20h) + 14h*/
153 __IO uint32_t DTXFSTS;/*IN Endpoint Tx FIFO Status Reg 900h + (ep_num * 20h) + 18h*/
154 uint32_t Reserved18; /* Reserved 900h+(ep_num*20h)+1Ch-900h+ (ep_num * 20h) + 1Ch*/
156 USB_OTG_INEPREGS;
158 * @}
162 /** @defgroup __OUT_Endpoint-Specific_Registers
163 * @{
165 typedef struct _USB_OTG_OUTEPREGS
167 __IO uint32_t DOEPCTL; /* dev OUT Endpoint Control Reg B00h + (ep_num * 20h) + 00h*/
168 uint32_t Reserved04; /* Reserved B00h + (ep_num * 20h) + 04h*/
169 __IO uint32_t DOEPINT; /* dev OUT Endpoint Itr Reg B00h + (ep_num * 20h) + 08h*/
170 uint32_t Reserved0C; /* Reserved B00h + (ep_num * 20h) + 0Ch*/
171 __IO uint32_t DOEPTSIZ; /* dev OUT Endpoint Txfer Size B00h + (ep_num * 20h) + 10h*/
172 __IO uint32_t DOEPDMA; /* dev OUT Endpoint DMA Address B00h + (ep_num * 20h) + 14h*/
173 uint32_t Reserved18[2]; /* Reserved B00h + (ep_num * 20h) + 18h - B00h + (ep_num * 20h) + 1Ch*/
175 USB_OTG_OUTEPREGS;
177 * @}
181 /** @defgroup __Host_Mode_Register_Structures
182 * @{
184 typedef struct _USB_OTG_HREGS
186 __IO uint32_t HCFG; /* Host Configuration Register 400h*/
187 __IO uint32_t HFIR; /* Host Frame Interval Register 404h*/
188 __IO uint32_t HFNUM; /* Host Frame Nbr/Frame Remaining 408h*/
189 uint32_t Reserved40C; /* Reserved 40Ch*/
190 __IO uint32_t HPTXSTS; /* Host Periodic Tx FIFO/ Queue Status 410h*/
191 __IO uint32_t HAINT; /* Host All Channels Interrupt Register 414h*/
192 __IO uint32_t HAINTMSK; /* Host All Channels Interrupt Mask 418h*/
194 USB_OTG_HREGS;
196 * @}
200 /** @defgroup __Host_Channel_Specific_Registers
201 * @{
203 typedef struct _USB_OTG_HC_REGS
205 __IO uint32_t HCCHAR;
206 __IO uint32_t HCSPLT;
207 __IO uint32_t HCINT;
208 __IO uint32_t HCINTMSK;
209 __IO uint32_t HCTSIZ;
210 __IO uint32_t HCDMA;
211 uint32_t Reserved[2];
213 USB_OTG_HC_REGS;
215 * @}
219 /** @defgroup __otg_Core_registers
220 * @{
222 typedef struct USB_OTG_core_regs /* 000h */
224 USB_OTG_GREGS *GREGS;
225 USB_OTG_DREGS *DREGS;
226 USB_OTG_HREGS *HREGS;
227 USB_OTG_INEPREGS *INEP_REGS[USB_OTG_MAX_TX_FIFOS];
228 USB_OTG_OUTEPREGS *OUTEP_REGS[USB_OTG_MAX_TX_FIFOS];
229 USB_OTG_HC_REGS *HC_REGS[USB_OTG_MAX_TX_FIFOS];
230 __IO uint32_t *HPRT0;
231 __IO uint32_t *DFIFO[USB_OTG_MAX_TX_FIFOS];
232 __IO uint32_t *PCGCCTL;
234 USB_OTG_CORE_REGS , *PUSB_OTG_CORE_REGS;
235 typedef union _USB_OTG_GOTGCTL_TypeDef
237 uint32_t d32;
238 struct
240 uint32_t sesreqscs :
242 uint32_t sesreq :
244 uint32_t Reserved2_7 :
246 uint32_t hstnegscs :
248 uint32_t hnpreq :
250 uint32_t hstsethnpen :
252 uint32_t devhnpen :
254 uint32_t Reserved12_15 :
256 uint32_t conidsts :
258 uint32_t dbct :
260 uint32_t asesvld :
262 uint32_t bsesvld :
264 uint32_t Reserved20_31 :
268 } USB_OTG_GOTGCTL_TypeDef ;
270 typedef union _USB_OTG_GOTGINT_TypeDef
272 uint32_t d32;
273 struct
275 uint32_t Reserved0_1 :
277 uint32_t sesenddet :
279 uint32_t Reserved3_7 :
281 uint32_t sesreqsucstschng :
283 uint32_t hstnegsucstschng :
285 uint32_t reserver10_16 :
287 uint32_t hstnegdet :
289 uint32_t adevtoutchng :
291 uint32_t debdone :
293 uint32_t Reserved31_20 :
297 } USB_OTG_GOTGINT_TypeDef ;
298 typedef union _USB_OTG_GAHBCFG_TypeDef
300 uint32_t d32;
301 struct
303 uint32_t glblintrmsk :
305 uint32_t hburstlen :
307 uint32_t dmaenable :
309 uint32_t Reserved :
311 uint32_t nptxfemplvl_txfemplvl :
313 uint32_t ptxfemplvl :
315 uint32_t Reserved9_31 :
319 } USB_OTG_GAHBCFG_TypeDef ;
320 typedef union _USB_OTG_GUSBCFG_TypeDef
322 uint32_t d32;
323 struct
325 uint32_t toutcal :
327 uint32_t Reserved3_5 :
329 uint32_t physel :
331 uint32_t Reserved7 :
333 uint32_t srpcap :
335 uint32_t hnpcap :
337 uint32_t usbtrdtim :
339 uint32_t Reserved14 :
341 uint32_t phylpwrclksel :
343 uint32_t Reserved16 :
345 uint32_t ulpi_fsls :
347 uint32_t ulpi_auto_res :
349 uint32_t ulpi_clk_sus_m :
351 uint32_t ulpi_ext_vbus_drv :
353 uint32_t ulpi_int_vbus_ind :
355 uint32_t term_sel_dl_pulse :
357 uint32_t ulpi_ind_cpl :
359 uint32_t ulpi_passthrough :
361 uint32_t ulpi_protect_disable :
363 uint32_t Reserved26_28 :
365 uint32_t force_host :
367 uint32_t force_dev :
369 uint32_t corrupt_tx :
373 } USB_OTG_GUSBCFG_TypeDef ;
374 typedef union _USB_OTG_GRSTCTL_TypeDef
376 uint32_t d32;
377 struct
379 uint32_t csftrst :
381 uint32_t hsftrst :
383 uint32_t hstfrm :
385 uint32_t Reserved3 :
387 uint32_t rxfflsh :
389 uint32_t txfflsh :
391 uint32_t txfnum :
393 uint32_t Reserved11_29 :
395 uint32_t dmareq :
397 uint32_t ahbidle :
401 } USB_OTG_GRSTCTL_TypeDef ;
402 typedef union _USB_OTG_GINTMSK_TypeDef
404 uint32_t d32;
405 struct
407 uint32_t Reserved0 :
409 uint32_t modemismatch :
411 uint32_t otgintr :
413 uint32_t sofintr :
415 uint32_t rxstsqlvl :
417 uint32_t nptxfempty :
419 uint32_t ginnakeff :
421 uint32_t goutnakeff :
423 uint32_t Reserved8_9 :
425 uint32_t erlysuspend :
427 uint32_t usbsuspend :
429 uint32_t usbreset :
431 uint32_t enumdone :
433 uint32_t isooutdrop :
435 uint32_t eopframe :
437 uint32_t Reserved16 :
439 uint32_t epmismatch :
441 uint32_t inepintr :
443 uint32_t outepintr :
445 uint32_t incomplisoin :
447 uint32_t incomplisoout :
449 uint32_t Reserved22_23 :
451 uint32_t portintr :
453 uint32_t hcintr :
455 uint32_t ptxfempty :
457 uint32_t Reserved27 :
459 uint32_t conidstschng :
461 uint32_t disconnect :
463 uint32_t sessreqintr :
465 uint32_t wkupintr :
469 } USB_OTG_GINTMSK_TypeDef ;
470 typedef union _USB_OTG_GINTSTS_TypeDef
472 uint32_t d32;
473 struct
475 uint32_t curmode :
477 uint32_t modemismatch :
479 uint32_t otgintr :
481 uint32_t sofintr :
483 uint32_t rxstsqlvl :
485 uint32_t nptxfempty :
487 uint32_t ginnakeff :
489 uint32_t goutnakeff :
491 uint32_t Reserved8_9 :
493 uint32_t erlysuspend :
495 uint32_t usbsuspend :
497 uint32_t usbreset :
499 uint32_t enumdone :
501 uint32_t isooutdrop :
503 uint32_t eopframe :
505 uint32_t Reserved16_17 :
507 uint32_t inepint:
509 uint32_t outepintr :
511 uint32_t incomplisoin :
513 uint32_t incomplisoout :
515 uint32_t Reserved22_23 :
517 uint32_t portintr :
519 uint32_t hcintr :
521 uint32_t ptxfempty :
523 uint32_t Reserved27 :
525 uint32_t conidstschng :
527 uint32_t disconnect :
529 uint32_t sessreqintr :
531 uint32_t wkupintr :
535 } USB_OTG_GINTSTS_TypeDef ;
536 typedef union _USB_OTG_DRXSTS_TypeDef
538 uint32_t d32;
539 struct
541 uint32_t epnum :
543 uint32_t bcnt :
545 uint32_t dpid :
547 uint32_t pktsts :
549 uint32_t fn :
551 uint32_t Reserved :
555 } USB_OTG_DRXSTS_TypeDef ;
556 typedef union _USB_OTG_GRXSTS_TypeDef
558 uint32_t d32;
559 struct
561 uint32_t chnum :
563 uint32_t bcnt :
565 uint32_t dpid :
567 uint32_t pktsts :
569 uint32_t Reserved :
573 } USB_OTG_GRXFSTS_TypeDef ;
574 typedef union _USB_OTG_FSIZ_TypeDef
576 uint32_t d32;
577 struct
579 uint32_t startaddr :
581 uint32_t depth :
585 } USB_OTG_FSIZ_TypeDef ;
586 typedef union _USB_OTG_HNPTXSTS_TypeDef
588 uint32_t d32;
589 struct
591 uint32_t nptxfspcavail :
593 uint32_t nptxqspcavail :
595 struct
597 uint32_t terminate :
599 uint32_t token :
601 uint32_t chnum :
603 } nptxqtop;
604 uint32_t Reserved :
608 } USB_OTG_HNPTXSTS_TypeDef ;
609 typedef union _USB_OTG_DTXFSTSn_TypeDef
611 uint32_t d32;
612 struct
614 uint32_t txfspcavail :
616 uint32_t Reserved :
620 } USB_OTG_DTXFSTSn_TypeDef ;
622 typedef union _USB_OTG_GCCFG_TypeDef
624 uint32_t d32;
625 struct
627 uint32_t Reserved_in :
629 uint32_t pwdn :
631 uint32_t Reserved_17 :
633 uint32_t vbussensingA :
635 uint32_t vbussensingB :
637 uint32_t sofouten :
639 uint32_t disablevbussensing :
641 uint32_t Reserved_out :
645 } USB_OTG_GCCFG_TypeDef ;
647 typedef union _USB_OTG_DCFG_TypeDef
649 uint32_t d32;
650 struct
652 uint32_t devspd :
654 uint32_t nzstsouthshk :
656 uint32_t Reserved3 :
658 uint32_t devaddr :
660 uint32_t perfrint :
662 uint32_t Reserved12_31 :
666 } USB_OTG_DCFG_TypeDef ;
667 typedef union _USB_OTG_DCTL_TypeDef
669 uint32_t d32;
670 struct
672 uint32_t rmtwkupsig :
674 uint32_t sftdiscon :
676 uint32_t gnpinnaksts :
678 uint32_t goutnaksts :
680 uint32_t tstctl :
682 uint32_t sgnpinnak :
684 uint32_t cgnpinnak :
686 uint32_t sgoutnak :
688 uint32_t cgoutnak :
690 uint32_t poprg_done :
692 uint32_t Reserved :
696 } USB_OTG_DCTL_TypeDef ;
697 typedef union _USB_OTG_DSTS_TypeDef
699 uint32_t d32;
700 struct
702 uint32_t suspsts :
704 uint32_t enumspd :
706 uint32_t errticerr :
708 uint32_t Reserved4_7:
710 uint32_t soffn :
712 uint32_t Reserved22_31 :
716 } USB_OTG_DSTS_TypeDef ;
717 typedef union _USB_OTG_DIEPINTn_TypeDef
719 uint32_t d32;
720 struct
722 uint32_t xfercompl :
724 uint32_t epdisabled :
726 uint32_t Reserved2 :
728 uint32_t timeout :
730 uint32_t intktxfemp :
732 uint32_t Reserved5 :
734 uint32_t inepnakeff :
736 uint32_t emptyintr :
738 uint32_t txfifoundrn :
740 uint32_t Reserved14_31 :
744 } USB_OTG_DIEPINTn_TypeDef ;
745 typedef union _USB_OTG_DIEPINTn_TypeDef USB_OTG_DIEPMSK_TypeDef ;
746 typedef union _USB_OTG_DOEPINTn_TypeDef
748 uint32_t d32;
749 struct
751 uint32_t xfercompl :
753 uint32_t epdisabled :
755 uint32_t Reserved2 :
757 uint32_t setup :
759 uint32_t Reserved04_31 :
763 } USB_OTG_DOEPINTn_TypeDef ;
764 typedef union _USB_OTG_DOEPINTn_TypeDef USB_OTG_DOEPMSK_TypeDef ;
766 typedef union _USB_OTG_DAINT_TypeDef
768 uint32_t d32;
769 struct
771 uint32_t in :
773 uint32_t out :
777 } USB_OTG_DAINT_TypeDef ;
779 typedef union _USB_OTG_DTHRCTL_TypeDef
781 uint32_t d32;
782 struct
784 uint32_t non_iso_thr_en :
786 uint32_t iso_thr_en :
788 uint32_t tx_thr_len :
790 uint32_t Reserved11_15 :
792 uint32_t rx_thr_en :
794 uint32_t rx_thr_len :
796 uint32_t Reserved26 :
798 uint32_t arp_en :
800 uint32_t Reserved28_31 :
804 } USB_OTG_DTHRCTL_TypeDef ;
805 typedef union _USB_OTG_DEPCTL_TypeDef
807 uint32_t d32;
808 struct
810 uint32_t mps :
812 uint32_t reserved :
814 uint32_t usbactep :
816 uint32_t dpid :
818 uint32_t naksts :
820 uint32_t eptype :
822 uint32_t snp :
824 uint32_t stall :
826 uint32_t txfnum :
828 uint32_t cnak :
830 uint32_t snak :
832 uint32_t setd0pid :
834 uint32_t setd1pid :
836 uint32_t epdis :
838 uint32_t epena :
842 } USB_OTG_DEPCTL_TypeDef ;
843 typedef union _USB_OTG_DEPXFRSIZ_TypeDef
845 uint32_t d32;
846 struct
848 uint32_t xfersize :
850 uint32_t pktcnt :
852 uint32_t mc :
854 uint32_t Reserved :
858 } USB_OTG_DEPXFRSIZ_TypeDef ;
859 typedef union _USB_OTG_DEP0XFRSIZ_TypeDef
861 uint32_t d32;
862 struct
864 uint32_t xfersize :
866 uint32_t Reserved7_18 :
868 uint32_t pktcnt :
870 uint32_t Reserved20_28 :
872 uint32_t supcnt :
874 uint32_t Reserved31 :
878 } USB_OTG_DEP0XFRSIZ_TypeDef ;
879 typedef union _USB_OTG_HCFG_TypeDef
881 uint32_t d32;
882 struct
884 uint32_t fslspclksel :
886 uint32_t fslssupp :
890 } USB_OTG_HCFG_TypeDef ;
891 typedef union _USB_OTG_HFRMINTRVL_TypeDef
893 uint32_t d32;
894 struct
896 uint32_t frint :
898 uint32_t Reserved :
902 } USB_OTG_HFRMINTRVL_TypeDef ;
904 typedef union _USB_OTG_HFNUM_TypeDef
906 uint32_t d32;
907 struct
909 uint32_t frnum :
911 uint32_t frrem :
915 } USB_OTG_HFNUM_TypeDef ;
916 typedef union _USB_OTG_HPTXSTS_TypeDef
918 uint32_t d32;
919 struct
921 uint32_t ptxfspcavail :
923 uint32_t ptxqspcavail :
925 struct
927 uint32_t terminate :
929 uint32_t token :
931 uint32_t chnum :
933 uint32_t odd_even :
935 } ptxqtop;
938 } USB_OTG_HPTXSTS_TypeDef ;
939 typedef union _USB_OTG_HPRT0_TypeDef
941 uint32_t d32;
942 struct
944 uint32_t prtconnsts :
946 uint32_t prtconndet :
948 uint32_t prtena :
950 uint32_t prtenchng :
952 uint32_t prtovrcurract :
954 uint32_t prtovrcurrchng :
956 uint32_t prtres :
958 uint32_t prtsusp :
960 uint32_t prtrst :
962 uint32_t Reserved9 :
964 uint32_t prtlnsts :
966 uint32_t prtpwr :
968 uint32_t prttstctl :
970 uint32_t prtspd :
972 uint32_t Reserved19_31 :
976 } USB_OTG_HPRT0_TypeDef ;
977 typedef union _USB_OTG_HAINT_TypeDef
979 uint32_t d32;
980 struct
982 uint32_t chint :
984 uint32_t Reserved :
988 } USB_OTG_HAINT_TypeDef ;
989 typedef union _USB_OTG_HAINTMSK_TypeDef
991 uint32_t d32;
992 struct
994 uint32_t chint :
996 uint32_t Reserved :
1000 } USB_OTG_HAINTMSK_TypeDef ;
1001 typedef union _USB_OTG_HCCHAR_TypeDef
1003 uint32_t d32;
1004 struct
1006 uint32_t mps :
1008 uint32_t epnum :
1010 uint32_t epdir :
1012 uint32_t Reserved :
1014 uint32_t lspddev :
1016 uint32_t eptype :
1018 uint32_t multicnt :
1020 uint32_t devaddr :
1022 uint32_t oddfrm :
1024 uint32_t chdis :
1026 uint32_t chen :
1030 } USB_OTG_HCCHAR_TypeDef ;
1031 typedef union _USB_OTG_HCSPLT_TypeDef
1033 uint32_t d32;
1034 struct
1036 uint32_t prtaddr :
1038 uint32_t hubaddr :
1040 uint32_t xactpos :
1042 uint32_t compsplt :
1044 uint32_t Reserved :
1046 uint32_t spltena :
1050 } USB_OTG_HCSPLT_TypeDef ;
1051 typedef union _USB_OTG_HCINTn_TypeDef
1053 uint32_t d32;
1054 struct
1056 uint32_t xfercompl :
1058 uint32_t chhltd :
1060 uint32_t ahberr :
1062 uint32_t stall :
1064 uint32_t nak :
1066 uint32_t ack :
1068 uint32_t nyet :
1070 uint32_t xacterr :
1072 uint32_t bblerr :
1074 uint32_t frmovrun :
1076 uint32_t datatglerr :
1078 uint32_t Reserved :
1082 } USB_OTG_HCINTn_TypeDef ;
1083 typedef union _USB_OTG_HCTSIZn_TypeDef
1085 uint32_t d32;
1086 struct
1088 uint32_t xfersize :
1090 uint32_t pktcnt :
1092 uint32_t pid :
1094 uint32_t dopng :
1098 } USB_OTG_HCTSIZn_TypeDef ;
1099 typedef union _USB_OTG_HCINTMSK_TypeDef
1101 uint32_t d32;
1102 struct
1104 uint32_t xfercompl :
1106 uint32_t chhltd :
1108 uint32_t ahberr :
1110 uint32_t stall :
1112 uint32_t nak :
1114 uint32_t ack :
1116 uint32_t nyet :
1118 uint32_t xacterr :
1120 uint32_t bblerr :
1122 uint32_t frmovrun :
1124 uint32_t datatglerr :
1126 uint32_t Reserved :
1130 } USB_OTG_HCINTMSK_TypeDef ;
1132 typedef union _USB_OTG_PCGCCTL_TypeDef
1134 uint32_t d32;
1135 struct
1137 uint32_t stoppclk :
1139 uint32_t gatehclk :
1141 uint32_t Reserved2_3 :
1143 uint32_t phy_susp :
1145 uint32_t Reserved5_31 :
1149 } USB_OTG_PCGCCTL_TypeDef ;
1152 * @}
1156 /** @defgroup USB_REGS_Exported_Macros
1157 * @{
1160 * @}
1163 /** @defgroup USB_REGS_Exported_Variables
1164 * @{
1167 * @}
1170 /** @defgroup USB_REGS_Exported_FunctionsPrototype
1171 * @{
1174 * @}
1178 #endif /* __USB_OTG_REGS_H__ */
1182 * @}
1186 * @}
1188 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/