usb.h 149 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295
  1. /**
  2. * \brief Component description for USB
  3. *
  4. * Copyright (c) 2021 Microchip Technology Inc. and its subsidiaries.
  5. *
  6. * Subject to your compliance with these terms, you may use Microchip software and any derivatives
  7. * exclusively with Microchip products. It is your responsibility to comply with third party license
  8. * terms applicable to your use of third party software (including open source software) that may
  9. * accompany Microchip software.
  10. *
  11. * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY,
  12. * APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND
  13. * FITNESS FOR A PARTICULAR PURPOSE.
  14. *
  15. * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
  16. * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF
  17. * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
  18. * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT
  19. * EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
  20. *
  21. */
  22. /* file generated from device description version 2019-11-25T06:52:33Z */
  23. #ifndef _SAMD21_USB_COMPONENT_H_
  24. #define _SAMD21_USB_COMPONENT_H_
  25. /* ************************************************************************** */
  26. /* SOFTWARE API DEFINITION FOR USB */
  27. /* ************************************************************************** */
  28. /* -------- USB_DEVICE_ADDR : (USB Offset: 0x00) (R/W 32) DEVICE_DESC_BANK Endpoint Bank, Adress of Data Buffer -------- */
  29. #define USB_DEVICE_ADDR_ADDR_Pos _U_(0) /**< (USB_DEVICE_ADDR) Adress of data buffer Position */
  30. #define USB_DEVICE_ADDR_ADDR_Msk (_U_(0xFFFFFFFF) << USB_DEVICE_ADDR_ADDR_Pos) /**< (USB_DEVICE_ADDR) Adress of data buffer Mask */
  31. #define USB_DEVICE_ADDR_ADDR(value) (USB_DEVICE_ADDR_ADDR_Msk & ((value) << USB_DEVICE_ADDR_ADDR_Pos))
  32. #define USB_DEVICE_ADDR_Msk _U_(0xFFFFFFFF) /**< (USB_DEVICE_ADDR) Register Mask */
  33. /* -------- USB_DEVICE_PCKSIZE : (USB Offset: 0x04) (R/W 32) DEVICE_DESC_BANK Endpoint Bank, Packet Size -------- */
  34. #define USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos _U_(0) /**< (USB_DEVICE_PCKSIZE) Byte Count Position */
  35. #define USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk (_U_(0x3FFF) << USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos) /**< (USB_DEVICE_PCKSIZE) Byte Count Mask */
  36. #define USB_DEVICE_PCKSIZE_BYTE_COUNT(value) (USB_DEVICE_PCKSIZE_BYTE_COUNT_Msk & ((value) << USB_DEVICE_PCKSIZE_BYTE_COUNT_Pos))
  37. #define USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos _U_(14) /**< (USB_DEVICE_PCKSIZE) Multi Packet In or Out size Position */
  38. #define USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk (_U_(0x3FFF) << USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos) /**< (USB_DEVICE_PCKSIZE) Multi Packet In or Out size Mask */
  39. #define USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE(value) (USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Msk & ((value) << USB_DEVICE_PCKSIZE_MULTI_PACKET_SIZE_Pos))
  40. #define USB_DEVICE_PCKSIZE_SIZE_Pos _U_(28) /**< (USB_DEVICE_PCKSIZE) Enpoint size Position */
  41. #define USB_DEVICE_PCKSIZE_SIZE_Msk (_U_(0x7) << USB_DEVICE_PCKSIZE_SIZE_Pos) /**< (USB_DEVICE_PCKSIZE) Enpoint size Mask */
  42. #define USB_DEVICE_PCKSIZE_SIZE(value) (USB_DEVICE_PCKSIZE_SIZE_Msk & ((value) << USB_DEVICE_PCKSIZE_SIZE_Pos))
  43. #define USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos _U_(31) /**< (USB_DEVICE_PCKSIZE) Automatic Zero Length Packet Position */
  44. #define USB_DEVICE_PCKSIZE_AUTO_ZLP_Msk (_U_(0x1) << USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos) /**< (USB_DEVICE_PCKSIZE) Automatic Zero Length Packet Mask */
  45. #define USB_DEVICE_PCKSIZE_AUTO_ZLP(value) (USB_DEVICE_PCKSIZE_AUTO_ZLP_Msk & ((value) << USB_DEVICE_PCKSIZE_AUTO_ZLP_Pos))
  46. #define USB_DEVICE_PCKSIZE_Msk _U_(0xFFFFFFFF) /**< (USB_DEVICE_PCKSIZE) Register Mask */
  47. /* -------- USB_DEVICE_EXTREG : (USB Offset: 0x08) (R/W 16) DEVICE_DESC_BANK Endpoint Bank, Extended -------- */
  48. #define USB_DEVICE_EXTREG_SUBPID_Pos _U_(0) /**< (USB_DEVICE_EXTREG) SUBPID field send with extended token Position */
  49. #define USB_DEVICE_EXTREG_SUBPID_Msk (_U_(0xF) << USB_DEVICE_EXTREG_SUBPID_Pos) /**< (USB_DEVICE_EXTREG) SUBPID field send with extended token Mask */
  50. #define USB_DEVICE_EXTREG_SUBPID(value) (USB_DEVICE_EXTREG_SUBPID_Msk & ((value) << USB_DEVICE_EXTREG_SUBPID_Pos))
  51. #define USB_DEVICE_EXTREG_VARIABLE_Pos _U_(4) /**< (USB_DEVICE_EXTREG) Variable field send with extended token Position */
  52. #define USB_DEVICE_EXTREG_VARIABLE_Msk (_U_(0x7FF) << USB_DEVICE_EXTREG_VARIABLE_Pos) /**< (USB_DEVICE_EXTREG) Variable field send with extended token Mask */
  53. #define USB_DEVICE_EXTREG_VARIABLE(value) (USB_DEVICE_EXTREG_VARIABLE_Msk & ((value) << USB_DEVICE_EXTREG_VARIABLE_Pos))
  54. #define USB_DEVICE_EXTREG_Msk _U_(0x7FFF) /**< (USB_DEVICE_EXTREG) Register Mask */
  55. /* -------- USB_DEVICE_STATUS_BK : (USB Offset: 0x0A) (R/W 8) DEVICE_DESC_BANK Enpoint Bank, Status of Bank -------- */
  56. #define USB_DEVICE_STATUS_BK_CRCERR_Pos _U_(0) /**< (USB_DEVICE_STATUS_BK) CRC Error Status Position */
  57. #define USB_DEVICE_STATUS_BK_CRCERR_Msk (_U_(0x1) << USB_DEVICE_STATUS_BK_CRCERR_Pos) /**< (USB_DEVICE_STATUS_BK) CRC Error Status Mask */
  58. #define USB_DEVICE_STATUS_BK_CRCERR(value) (USB_DEVICE_STATUS_BK_CRCERR_Msk & ((value) << USB_DEVICE_STATUS_BK_CRCERR_Pos))
  59. #define USB_DEVICE_STATUS_BK_ERRORFLOW_Pos _U_(1) /**< (USB_DEVICE_STATUS_BK) Error Flow Status Position */
  60. #define USB_DEVICE_STATUS_BK_ERRORFLOW_Msk (_U_(0x1) << USB_DEVICE_STATUS_BK_ERRORFLOW_Pos) /**< (USB_DEVICE_STATUS_BK) Error Flow Status Mask */
  61. #define USB_DEVICE_STATUS_BK_ERRORFLOW(value) (USB_DEVICE_STATUS_BK_ERRORFLOW_Msk & ((value) << USB_DEVICE_STATUS_BK_ERRORFLOW_Pos))
  62. #define USB_DEVICE_STATUS_BK_Msk _U_(0x03) /**< (USB_DEVICE_STATUS_BK) Register Mask */
  63. /* -------- USB_HOST_ADDR : (USB Offset: 0x00) (R/W 32) HOST_DESC_BANK Host Bank, Adress of Data Buffer -------- */
  64. #define USB_HOST_ADDR_ADDR_Pos _U_(0) /**< (USB_HOST_ADDR) Adress of data buffer Position */
  65. #define USB_HOST_ADDR_ADDR_Msk (_U_(0xFFFFFFFF) << USB_HOST_ADDR_ADDR_Pos) /**< (USB_HOST_ADDR) Adress of data buffer Mask */
  66. #define USB_HOST_ADDR_ADDR(value) (USB_HOST_ADDR_ADDR_Msk & ((value) << USB_HOST_ADDR_ADDR_Pos))
  67. #define USB_HOST_ADDR_Msk _U_(0xFFFFFFFF) /**< (USB_HOST_ADDR) Register Mask */
  68. /* -------- USB_HOST_PCKSIZE : (USB Offset: 0x04) (R/W 32) HOST_DESC_BANK Host Bank, Packet Size -------- */
  69. #define USB_HOST_PCKSIZE_BYTE_COUNT_Pos _U_(0) /**< (USB_HOST_PCKSIZE) Byte Count Position */
  70. #define USB_HOST_PCKSIZE_BYTE_COUNT_Msk (_U_(0x3FFF) << USB_HOST_PCKSIZE_BYTE_COUNT_Pos) /**< (USB_HOST_PCKSIZE) Byte Count Mask */
  71. #define USB_HOST_PCKSIZE_BYTE_COUNT(value) (USB_HOST_PCKSIZE_BYTE_COUNT_Msk & ((value) << USB_HOST_PCKSIZE_BYTE_COUNT_Pos))
  72. #define USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos _U_(14) /**< (USB_HOST_PCKSIZE) Multi Packet In or Out size Position */
  73. #define USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk (_U_(0x3FFF) << USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos) /**< (USB_HOST_PCKSIZE) Multi Packet In or Out size Mask */
  74. #define USB_HOST_PCKSIZE_MULTI_PACKET_SIZE(value) (USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Msk & ((value) << USB_HOST_PCKSIZE_MULTI_PACKET_SIZE_Pos))
  75. #define USB_HOST_PCKSIZE_SIZE_Pos _U_(28) /**< (USB_HOST_PCKSIZE) Pipe size Position */
  76. #define USB_HOST_PCKSIZE_SIZE_Msk (_U_(0x7) << USB_HOST_PCKSIZE_SIZE_Pos) /**< (USB_HOST_PCKSIZE) Pipe size Mask */
  77. #define USB_HOST_PCKSIZE_SIZE(value) (USB_HOST_PCKSIZE_SIZE_Msk & ((value) << USB_HOST_PCKSIZE_SIZE_Pos))
  78. #define USB_HOST_PCKSIZE_AUTO_ZLP_Pos _U_(31) /**< (USB_HOST_PCKSIZE) Automatic Zero Length Packet Position */
  79. #define USB_HOST_PCKSIZE_AUTO_ZLP_Msk (_U_(0x1) << USB_HOST_PCKSIZE_AUTO_ZLP_Pos) /**< (USB_HOST_PCKSIZE) Automatic Zero Length Packet Mask */
  80. #define USB_HOST_PCKSIZE_AUTO_ZLP(value) (USB_HOST_PCKSIZE_AUTO_ZLP_Msk & ((value) << USB_HOST_PCKSIZE_AUTO_ZLP_Pos))
  81. #define USB_HOST_PCKSIZE_Msk _U_(0xFFFFFFFF) /**< (USB_HOST_PCKSIZE) Register Mask */
  82. /* -------- USB_HOST_EXTREG : (USB Offset: 0x08) (R/W 16) HOST_DESC_BANK Host Bank, Extended -------- */
  83. #define USB_HOST_EXTREG_SUBPID_Pos _U_(0) /**< (USB_HOST_EXTREG) SUBPID field send with extended token Position */
  84. #define USB_HOST_EXTREG_SUBPID_Msk (_U_(0xF) << USB_HOST_EXTREG_SUBPID_Pos) /**< (USB_HOST_EXTREG) SUBPID field send with extended token Mask */
  85. #define USB_HOST_EXTREG_SUBPID(value) (USB_HOST_EXTREG_SUBPID_Msk & ((value) << USB_HOST_EXTREG_SUBPID_Pos))
  86. #define USB_HOST_EXTREG_VARIABLE_Pos _U_(4) /**< (USB_HOST_EXTREG) Variable field send with extended token Position */
  87. #define USB_HOST_EXTREG_VARIABLE_Msk (_U_(0x7FF) << USB_HOST_EXTREG_VARIABLE_Pos) /**< (USB_HOST_EXTREG) Variable field send with extended token Mask */
  88. #define USB_HOST_EXTREG_VARIABLE(value) (USB_HOST_EXTREG_VARIABLE_Msk & ((value) << USB_HOST_EXTREG_VARIABLE_Pos))
  89. #define USB_HOST_EXTREG_Msk _U_(0x7FFF) /**< (USB_HOST_EXTREG) Register Mask */
  90. /* -------- USB_HOST_STATUS_BK : (USB Offset: 0x0A) (R/W 8) HOST_DESC_BANK Host Bank, Status of Bank -------- */
  91. #define USB_HOST_STATUS_BK_CRCERR_Pos _U_(0) /**< (USB_HOST_STATUS_BK) CRC Error Status Position */
  92. #define USB_HOST_STATUS_BK_CRCERR_Msk (_U_(0x1) << USB_HOST_STATUS_BK_CRCERR_Pos) /**< (USB_HOST_STATUS_BK) CRC Error Status Mask */
  93. #define USB_HOST_STATUS_BK_CRCERR(value) (USB_HOST_STATUS_BK_CRCERR_Msk & ((value) << USB_HOST_STATUS_BK_CRCERR_Pos))
  94. #define USB_HOST_STATUS_BK_ERRORFLOW_Pos _U_(1) /**< (USB_HOST_STATUS_BK) Error Flow Status Position */
  95. #define USB_HOST_STATUS_BK_ERRORFLOW_Msk (_U_(0x1) << USB_HOST_STATUS_BK_ERRORFLOW_Pos) /**< (USB_HOST_STATUS_BK) Error Flow Status Mask */
  96. #define USB_HOST_STATUS_BK_ERRORFLOW(value) (USB_HOST_STATUS_BK_ERRORFLOW_Msk & ((value) << USB_HOST_STATUS_BK_ERRORFLOW_Pos))
  97. #define USB_HOST_STATUS_BK_Msk _U_(0x03) /**< (USB_HOST_STATUS_BK) Register Mask */
  98. /* -------- USB_HOST_CTRL_PIPE : (USB Offset: 0x0C) (R/W 16) HOST_DESC_BANK Host Bank, Host Control Pipe -------- */
  99. #define USB_HOST_CTRL_PIPE_RESETVALUE _U_(0x00) /**< (USB_HOST_CTRL_PIPE) HOST_DESC_BANK Host Bank, Host Control Pipe Reset Value */
  100. #define USB_HOST_CTRL_PIPE_PDADDR_Pos _U_(0) /**< (USB_HOST_CTRL_PIPE) Pipe Device Adress Position */
  101. #define USB_HOST_CTRL_PIPE_PDADDR_Msk (_U_(0x7F) << USB_HOST_CTRL_PIPE_PDADDR_Pos) /**< (USB_HOST_CTRL_PIPE) Pipe Device Adress Mask */
  102. #define USB_HOST_CTRL_PIPE_PDADDR(value) (USB_HOST_CTRL_PIPE_PDADDR_Msk & ((value) << USB_HOST_CTRL_PIPE_PDADDR_Pos))
  103. #define USB_HOST_CTRL_PIPE_PEPNUM_Pos _U_(8) /**< (USB_HOST_CTRL_PIPE) Pipe Endpoint Number Position */
  104. #define USB_HOST_CTRL_PIPE_PEPNUM_Msk (_U_(0xF) << USB_HOST_CTRL_PIPE_PEPNUM_Pos) /**< (USB_HOST_CTRL_PIPE) Pipe Endpoint Number Mask */
  105. #define USB_HOST_CTRL_PIPE_PEPNUM(value) (USB_HOST_CTRL_PIPE_PEPNUM_Msk & ((value) << USB_HOST_CTRL_PIPE_PEPNUM_Pos))
  106. #define USB_HOST_CTRL_PIPE_PERMAX_Pos _U_(12) /**< (USB_HOST_CTRL_PIPE) Pipe Error Max Number Position */
  107. #define USB_HOST_CTRL_PIPE_PERMAX_Msk (_U_(0xF) << USB_HOST_CTRL_PIPE_PERMAX_Pos) /**< (USB_HOST_CTRL_PIPE) Pipe Error Max Number Mask */
  108. #define USB_HOST_CTRL_PIPE_PERMAX(value) (USB_HOST_CTRL_PIPE_PERMAX_Msk & ((value) << USB_HOST_CTRL_PIPE_PERMAX_Pos))
  109. #define USB_HOST_CTRL_PIPE_Msk _U_(0xFF7F) /**< (USB_HOST_CTRL_PIPE) Register Mask */
  110. /* -------- USB_HOST_STATUS_PIPE : (USB Offset: 0x0E) (R/W 16) HOST_DESC_BANK Host Bank, Host Status Pipe -------- */
  111. #define USB_HOST_STATUS_PIPE_DTGLER_Pos _U_(0) /**< (USB_HOST_STATUS_PIPE) Data Toggle Error Position */
  112. #define USB_HOST_STATUS_PIPE_DTGLER_Msk (_U_(0x1) << USB_HOST_STATUS_PIPE_DTGLER_Pos) /**< (USB_HOST_STATUS_PIPE) Data Toggle Error Mask */
  113. #define USB_HOST_STATUS_PIPE_DTGLER(value) (USB_HOST_STATUS_PIPE_DTGLER_Msk & ((value) << USB_HOST_STATUS_PIPE_DTGLER_Pos))
  114. #define USB_HOST_STATUS_PIPE_DAPIDER_Pos _U_(1) /**< (USB_HOST_STATUS_PIPE) Data PID Error Position */
  115. #define USB_HOST_STATUS_PIPE_DAPIDER_Msk (_U_(0x1) << USB_HOST_STATUS_PIPE_DAPIDER_Pos) /**< (USB_HOST_STATUS_PIPE) Data PID Error Mask */
  116. #define USB_HOST_STATUS_PIPE_DAPIDER(value) (USB_HOST_STATUS_PIPE_DAPIDER_Msk & ((value) << USB_HOST_STATUS_PIPE_DAPIDER_Pos))
  117. #define USB_HOST_STATUS_PIPE_PIDER_Pos _U_(2) /**< (USB_HOST_STATUS_PIPE) PID Error Position */
  118. #define USB_HOST_STATUS_PIPE_PIDER_Msk (_U_(0x1) << USB_HOST_STATUS_PIPE_PIDER_Pos) /**< (USB_HOST_STATUS_PIPE) PID Error Mask */
  119. #define USB_HOST_STATUS_PIPE_PIDER(value) (USB_HOST_STATUS_PIPE_PIDER_Msk & ((value) << USB_HOST_STATUS_PIPE_PIDER_Pos))
  120. #define USB_HOST_STATUS_PIPE_TOUTER_Pos _U_(3) /**< (USB_HOST_STATUS_PIPE) Time Out Error Position */
  121. #define USB_HOST_STATUS_PIPE_TOUTER_Msk (_U_(0x1) << USB_HOST_STATUS_PIPE_TOUTER_Pos) /**< (USB_HOST_STATUS_PIPE) Time Out Error Mask */
  122. #define USB_HOST_STATUS_PIPE_TOUTER(value) (USB_HOST_STATUS_PIPE_TOUTER_Msk & ((value) << USB_HOST_STATUS_PIPE_TOUTER_Pos))
  123. #define USB_HOST_STATUS_PIPE_CRC16ER_Pos _U_(4) /**< (USB_HOST_STATUS_PIPE) CRC16 Error Position */
  124. #define USB_HOST_STATUS_PIPE_CRC16ER_Msk (_U_(0x1) << USB_HOST_STATUS_PIPE_CRC16ER_Pos) /**< (USB_HOST_STATUS_PIPE) CRC16 Error Mask */
  125. #define USB_HOST_STATUS_PIPE_CRC16ER(value) (USB_HOST_STATUS_PIPE_CRC16ER_Msk & ((value) << USB_HOST_STATUS_PIPE_CRC16ER_Pos))
  126. #define USB_HOST_STATUS_PIPE_ERCNT_Pos _U_(5) /**< (USB_HOST_STATUS_PIPE) Pipe Error Count Position */
  127. #define USB_HOST_STATUS_PIPE_ERCNT_Msk (_U_(0x7) << USB_HOST_STATUS_PIPE_ERCNT_Pos) /**< (USB_HOST_STATUS_PIPE) Pipe Error Count Mask */
  128. #define USB_HOST_STATUS_PIPE_ERCNT(value) (USB_HOST_STATUS_PIPE_ERCNT_Msk & ((value) << USB_HOST_STATUS_PIPE_ERCNT_Pos))
  129. #define USB_HOST_STATUS_PIPE_Msk _U_(0x00FF) /**< (USB_HOST_STATUS_PIPE) Register Mask */
  130. /* -------- USB_DEVICE_EPCFG : (USB Offset: 0x00) (R/W 8) DEVICE_ENDPOINT End Point Configuration -------- */
  131. #define USB_DEVICE_EPCFG_RESETVALUE _U_(0x00) /**< (USB_DEVICE_EPCFG) DEVICE_ENDPOINT End Point Configuration Reset Value */
  132. #define USB_DEVICE_EPCFG_EPTYPE0_Pos _U_(0) /**< (USB_DEVICE_EPCFG) End Point Type0 Position */
  133. #define USB_DEVICE_EPCFG_EPTYPE0_Msk (_U_(0x7) << USB_DEVICE_EPCFG_EPTYPE0_Pos) /**< (USB_DEVICE_EPCFG) End Point Type0 Mask */
  134. #define USB_DEVICE_EPCFG_EPTYPE0(value) (USB_DEVICE_EPCFG_EPTYPE0_Msk & ((value) << USB_DEVICE_EPCFG_EPTYPE0_Pos))
  135. #define USB_DEVICE_EPCFG_EPTYPE1_Pos _U_(4) /**< (USB_DEVICE_EPCFG) End Point Type1 Position */
  136. #define USB_DEVICE_EPCFG_EPTYPE1_Msk (_U_(0x7) << USB_DEVICE_EPCFG_EPTYPE1_Pos) /**< (USB_DEVICE_EPCFG) End Point Type1 Mask */
  137. #define USB_DEVICE_EPCFG_EPTYPE1(value) (USB_DEVICE_EPCFG_EPTYPE1_Msk & ((value) << USB_DEVICE_EPCFG_EPTYPE1_Pos))
  138. #define USB_DEVICE_EPCFG_NYETDIS_Pos _U_(7) /**< (USB_DEVICE_EPCFG) NYET Token Disable Position */
  139. #define USB_DEVICE_EPCFG_NYETDIS_Msk (_U_(0x1) << USB_DEVICE_EPCFG_NYETDIS_Pos) /**< (USB_DEVICE_EPCFG) NYET Token Disable Mask */
  140. #define USB_DEVICE_EPCFG_NYETDIS(value) (USB_DEVICE_EPCFG_NYETDIS_Msk & ((value) << USB_DEVICE_EPCFG_NYETDIS_Pos))
  141. #define USB_DEVICE_EPCFG_Msk _U_(0xF7) /**< (USB_DEVICE_EPCFG) Register Mask */
  142. /* -------- USB_DEVICE_EPSTATUSCLR : (USB Offset: 0x04) ( /W 8) DEVICE_ENDPOINT End Point Pipe Status Clear -------- */
  143. #define USB_DEVICE_EPSTATUSCLR_RESETVALUE _U_(0x00) /**< (USB_DEVICE_EPSTATUSCLR) DEVICE_ENDPOINT End Point Pipe Status Clear Reset Value */
  144. #define USB_DEVICE_EPSTATUSCLR_DTGLOUT_Pos _U_(0) /**< (USB_DEVICE_EPSTATUSCLR) Data Toggle OUT Clear Position */
  145. #define USB_DEVICE_EPSTATUSCLR_DTGLOUT_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSCLR_DTGLOUT_Pos) /**< (USB_DEVICE_EPSTATUSCLR) Data Toggle OUT Clear Mask */
  146. #define USB_DEVICE_EPSTATUSCLR_DTGLOUT(value) (USB_DEVICE_EPSTATUSCLR_DTGLOUT_Msk & ((value) << USB_DEVICE_EPSTATUSCLR_DTGLOUT_Pos))
  147. #define USB_DEVICE_EPSTATUSCLR_DTGLIN_Pos _U_(1) /**< (USB_DEVICE_EPSTATUSCLR) Data Toggle IN Clear Position */
  148. #define USB_DEVICE_EPSTATUSCLR_DTGLIN_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSCLR_DTGLIN_Pos) /**< (USB_DEVICE_EPSTATUSCLR) Data Toggle IN Clear Mask */
  149. #define USB_DEVICE_EPSTATUSCLR_DTGLIN(value) (USB_DEVICE_EPSTATUSCLR_DTGLIN_Msk & ((value) << USB_DEVICE_EPSTATUSCLR_DTGLIN_Pos))
  150. #define USB_DEVICE_EPSTATUSCLR_CURBK_Pos _U_(2) /**< (USB_DEVICE_EPSTATUSCLR) Curren Bank Clear Position */
  151. #define USB_DEVICE_EPSTATUSCLR_CURBK_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSCLR_CURBK_Pos) /**< (USB_DEVICE_EPSTATUSCLR) Curren Bank Clear Mask */
  152. #define USB_DEVICE_EPSTATUSCLR_CURBK(value) (USB_DEVICE_EPSTATUSCLR_CURBK_Msk & ((value) << USB_DEVICE_EPSTATUSCLR_CURBK_Pos))
  153. #define USB_DEVICE_EPSTATUSCLR_STALLRQ0_Pos _U_(4) /**< (USB_DEVICE_EPSTATUSCLR) Stall 0 Request Clear Position */
  154. #define USB_DEVICE_EPSTATUSCLR_STALLRQ0_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSCLR_STALLRQ0_Pos) /**< (USB_DEVICE_EPSTATUSCLR) Stall 0 Request Clear Mask */
  155. #define USB_DEVICE_EPSTATUSCLR_STALLRQ0(value) (USB_DEVICE_EPSTATUSCLR_STALLRQ0_Msk & ((value) << USB_DEVICE_EPSTATUSCLR_STALLRQ0_Pos))
  156. #define USB_DEVICE_EPSTATUSCLR_STALLRQ1_Pos _U_(5) /**< (USB_DEVICE_EPSTATUSCLR) Stall 1 Request Clear Position */
  157. #define USB_DEVICE_EPSTATUSCLR_STALLRQ1_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSCLR_STALLRQ1_Pos) /**< (USB_DEVICE_EPSTATUSCLR) Stall 1 Request Clear Mask */
  158. #define USB_DEVICE_EPSTATUSCLR_STALLRQ1(value) (USB_DEVICE_EPSTATUSCLR_STALLRQ1_Msk & ((value) << USB_DEVICE_EPSTATUSCLR_STALLRQ1_Pos))
  159. #define USB_DEVICE_EPSTATUSCLR_BK0RDY_Pos _U_(6) /**< (USB_DEVICE_EPSTATUSCLR) Bank 0 Ready Clear Position */
  160. #define USB_DEVICE_EPSTATUSCLR_BK0RDY_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSCLR_BK0RDY_Pos) /**< (USB_DEVICE_EPSTATUSCLR) Bank 0 Ready Clear Mask */
  161. #define USB_DEVICE_EPSTATUSCLR_BK0RDY(value) (USB_DEVICE_EPSTATUSCLR_BK0RDY_Msk & ((value) << USB_DEVICE_EPSTATUSCLR_BK0RDY_Pos))
  162. #define USB_DEVICE_EPSTATUSCLR_BK1RDY_Pos _U_(7) /**< (USB_DEVICE_EPSTATUSCLR) Bank 1 Ready Clear Position */
  163. #define USB_DEVICE_EPSTATUSCLR_BK1RDY_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSCLR_BK1RDY_Pos) /**< (USB_DEVICE_EPSTATUSCLR) Bank 1 Ready Clear Mask */
  164. #define USB_DEVICE_EPSTATUSCLR_BK1RDY(value) (USB_DEVICE_EPSTATUSCLR_BK1RDY_Msk & ((value) << USB_DEVICE_EPSTATUSCLR_BK1RDY_Pos))
  165. #define USB_DEVICE_EPSTATUSCLR_Msk _U_(0xF7) /**< (USB_DEVICE_EPSTATUSCLR) Register Mask */
  166. #define USB_DEVICE_EPSTATUSCLR_STALLRQ_Pos _U_(4) /**< (USB_DEVICE_EPSTATUSCLR Position) Stall x Request Clear */
  167. #define USB_DEVICE_EPSTATUSCLR_STALLRQ_Msk (_U_(0x3) << USB_DEVICE_EPSTATUSCLR_STALLRQ_Pos) /**< (USB_DEVICE_EPSTATUSCLR Mask) STALLRQ */
  168. #define USB_DEVICE_EPSTATUSCLR_STALLRQ(value) (USB_DEVICE_EPSTATUSCLR_STALLRQ_Msk & ((value) << USB_DEVICE_EPSTATUSCLR_STALLRQ_Pos))
  169. /* -------- USB_DEVICE_EPSTATUSSET : (USB Offset: 0x05) ( /W 8) DEVICE_ENDPOINT End Point Pipe Status Set -------- */
  170. #define USB_DEVICE_EPSTATUSSET_RESETVALUE _U_(0x00) /**< (USB_DEVICE_EPSTATUSSET) DEVICE_ENDPOINT End Point Pipe Status Set Reset Value */
  171. #define USB_DEVICE_EPSTATUSSET_DTGLOUT_Pos _U_(0) /**< (USB_DEVICE_EPSTATUSSET) Data Toggle OUT Set Position */
  172. #define USB_DEVICE_EPSTATUSSET_DTGLOUT_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSSET_DTGLOUT_Pos) /**< (USB_DEVICE_EPSTATUSSET) Data Toggle OUT Set Mask */
  173. #define USB_DEVICE_EPSTATUSSET_DTGLOUT(value) (USB_DEVICE_EPSTATUSSET_DTGLOUT_Msk & ((value) << USB_DEVICE_EPSTATUSSET_DTGLOUT_Pos))
  174. #define USB_DEVICE_EPSTATUSSET_DTGLIN_Pos _U_(1) /**< (USB_DEVICE_EPSTATUSSET) Data Toggle IN Set Position */
  175. #define USB_DEVICE_EPSTATUSSET_DTGLIN_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSSET_DTGLIN_Pos) /**< (USB_DEVICE_EPSTATUSSET) Data Toggle IN Set Mask */
  176. #define USB_DEVICE_EPSTATUSSET_DTGLIN(value) (USB_DEVICE_EPSTATUSSET_DTGLIN_Msk & ((value) << USB_DEVICE_EPSTATUSSET_DTGLIN_Pos))
  177. #define USB_DEVICE_EPSTATUSSET_CURBK_Pos _U_(2) /**< (USB_DEVICE_EPSTATUSSET) Current Bank Set Position */
  178. #define USB_DEVICE_EPSTATUSSET_CURBK_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSSET_CURBK_Pos) /**< (USB_DEVICE_EPSTATUSSET) Current Bank Set Mask */
  179. #define USB_DEVICE_EPSTATUSSET_CURBK(value) (USB_DEVICE_EPSTATUSSET_CURBK_Msk & ((value) << USB_DEVICE_EPSTATUSSET_CURBK_Pos))
  180. #define USB_DEVICE_EPSTATUSSET_STALLRQ0_Pos _U_(4) /**< (USB_DEVICE_EPSTATUSSET) Stall 0 Request Set Position */
  181. #define USB_DEVICE_EPSTATUSSET_STALLRQ0_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSSET_STALLRQ0_Pos) /**< (USB_DEVICE_EPSTATUSSET) Stall 0 Request Set Mask */
  182. #define USB_DEVICE_EPSTATUSSET_STALLRQ0(value) (USB_DEVICE_EPSTATUSSET_STALLRQ0_Msk & ((value) << USB_DEVICE_EPSTATUSSET_STALLRQ0_Pos))
  183. #define USB_DEVICE_EPSTATUSSET_STALLRQ1_Pos _U_(5) /**< (USB_DEVICE_EPSTATUSSET) Stall 1 Request Set Position */
  184. #define USB_DEVICE_EPSTATUSSET_STALLRQ1_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSSET_STALLRQ1_Pos) /**< (USB_DEVICE_EPSTATUSSET) Stall 1 Request Set Mask */
  185. #define USB_DEVICE_EPSTATUSSET_STALLRQ1(value) (USB_DEVICE_EPSTATUSSET_STALLRQ1_Msk & ((value) << USB_DEVICE_EPSTATUSSET_STALLRQ1_Pos))
  186. #define USB_DEVICE_EPSTATUSSET_BK0RDY_Pos _U_(6) /**< (USB_DEVICE_EPSTATUSSET) Bank 0 Ready Set Position */
  187. #define USB_DEVICE_EPSTATUSSET_BK0RDY_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSSET_BK0RDY_Pos) /**< (USB_DEVICE_EPSTATUSSET) Bank 0 Ready Set Mask */
  188. #define USB_DEVICE_EPSTATUSSET_BK0RDY(value) (USB_DEVICE_EPSTATUSSET_BK0RDY_Msk & ((value) << USB_DEVICE_EPSTATUSSET_BK0RDY_Pos))
  189. #define USB_DEVICE_EPSTATUSSET_BK1RDY_Pos _U_(7) /**< (USB_DEVICE_EPSTATUSSET) Bank 1 Ready Set Position */
  190. #define USB_DEVICE_EPSTATUSSET_BK1RDY_Msk (_U_(0x1) << USB_DEVICE_EPSTATUSSET_BK1RDY_Pos) /**< (USB_DEVICE_EPSTATUSSET) Bank 1 Ready Set Mask */
  191. #define USB_DEVICE_EPSTATUSSET_BK1RDY(value) (USB_DEVICE_EPSTATUSSET_BK1RDY_Msk & ((value) << USB_DEVICE_EPSTATUSSET_BK1RDY_Pos))
  192. #define USB_DEVICE_EPSTATUSSET_Msk _U_(0xF7) /**< (USB_DEVICE_EPSTATUSSET) Register Mask */
  193. #define USB_DEVICE_EPSTATUSSET_STALLRQ_Pos _U_(4) /**< (USB_DEVICE_EPSTATUSSET Position) Stall x Request Set */
  194. #define USB_DEVICE_EPSTATUSSET_STALLRQ_Msk (_U_(0x3) << USB_DEVICE_EPSTATUSSET_STALLRQ_Pos) /**< (USB_DEVICE_EPSTATUSSET Mask) STALLRQ */
  195. #define USB_DEVICE_EPSTATUSSET_STALLRQ(value) (USB_DEVICE_EPSTATUSSET_STALLRQ_Msk & ((value) << USB_DEVICE_EPSTATUSSET_STALLRQ_Pos))
  196. /* -------- USB_DEVICE_EPSTATUS : (USB Offset: 0x06) ( R/ 8) DEVICE_ENDPOINT End Point Pipe Status -------- */
  197. #define USB_DEVICE_EPSTATUS_RESETVALUE _U_(0x00) /**< (USB_DEVICE_EPSTATUS) DEVICE_ENDPOINT End Point Pipe Status Reset Value */
  198. #define USB_DEVICE_EPSTATUS_DTGLOUT_Pos _U_(0) /**< (USB_DEVICE_EPSTATUS) Data Toggle Out Position */
  199. #define USB_DEVICE_EPSTATUS_DTGLOUT_Msk (_U_(0x1) << USB_DEVICE_EPSTATUS_DTGLOUT_Pos) /**< (USB_DEVICE_EPSTATUS) Data Toggle Out Mask */
  200. #define USB_DEVICE_EPSTATUS_DTGLOUT(value) (USB_DEVICE_EPSTATUS_DTGLOUT_Msk & ((value) << USB_DEVICE_EPSTATUS_DTGLOUT_Pos))
  201. #define USB_DEVICE_EPSTATUS_DTGLIN_Pos _U_(1) /**< (USB_DEVICE_EPSTATUS) Data Toggle In Position */
  202. #define USB_DEVICE_EPSTATUS_DTGLIN_Msk (_U_(0x1) << USB_DEVICE_EPSTATUS_DTGLIN_Pos) /**< (USB_DEVICE_EPSTATUS) Data Toggle In Mask */
  203. #define USB_DEVICE_EPSTATUS_DTGLIN(value) (USB_DEVICE_EPSTATUS_DTGLIN_Msk & ((value) << USB_DEVICE_EPSTATUS_DTGLIN_Pos))
  204. #define USB_DEVICE_EPSTATUS_CURBK_Pos _U_(2) /**< (USB_DEVICE_EPSTATUS) Current Bank Position */
  205. #define USB_DEVICE_EPSTATUS_CURBK_Msk (_U_(0x1) << USB_DEVICE_EPSTATUS_CURBK_Pos) /**< (USB_DEVICE_EPSTATUS) Current Bank Mask */
  206. #define USB_DEVICE_EPSTATUS_CURBK(value) (USB_DEVICE_EPSTATUS_CURBK_Msk & ((value) << USB_DEVICE_EPSTATUS_CURBK_Pos))
  207. #define USB_DEVICE_EPSTATUS_STALLRQ0_Pos _U_(4) /**< (USB_DEVICE_EPSTATUS) Stall 0 Request Position */
  208. #define USB_DEVICE_EPSTATUS_STALLRQ0_Msk (_U_(0x1) << USB_DEVICE_EPSTATUS_STALLRQ0_Pos) /**< (USB_DEVICE_EPSTATUS) Stall 0 Request Mask */
  209. #define USB_DEVICE_EPSTATUS_STALLRQ0(value) (USB_DEVICE_EPSTATUS_STALLRQ0_Msk & ((value) << USB_DEVICE_EPSTATUS_STALLRQ0_Pos))
  210. #define USB_DEVICE_EPSTATUS_STALLRQ1_Pos _U_(5) /**< (USB_DEVICE_EPSTATUS) Stall 1 Request Position */
  211. #define USB_DEVICE_EPSTATUS_STALLRQ1_Msk (_U_(0x1) << USB_DEVICE_EPSTATUS_STALLRQ1_Pos) /**< (USB_DEVICE_EPSTATUS) Stall 1 Request Mask */
  212. #define USB_DEVICE_EPSTATUS_STALLRQ1(value) (USB_DEVICE_EPSTATUS_STALLRQ1_Msk & ((value) << USB_DEVICE_EPSTATUS_STALLRQ1_Pos))
  213. #define USB_DEVICE_EPSTATUS_BK0RDY_Pos _U_(6) /**< (USB_DEVICE_EPSTATUS) Bank 0 ready Position */
  214. #define USB_DEVICE_EPSTATUS_BK0RDY_Msk (_U_(0x1) << USB_DEVICE_EPSTATUS_BK0RDY_Pos) /**< (USB_DEVICE_EPSTATUS) Bank 0 ready Mask */
  215. #define USB_DEVICE_EPSTATUS_BK0RDY(value) (USB_DEVICE_EPSTATUS_BK0RDY_Msk & ((value) << USB_DEVICE_EPSTATUS_BK0RDY_Pos))
  216. #define USB_DEVICE_EPSTATUS_BK1RDY_Pos _U_(7) /**< (USB_DEVICE_EPSTATUS) Bank 1 ready Position */
  217. #define USB_DEVICE_EPSTATUS_BK1RDY_Msk (_U_(0x1) << USB_DEVICE_EPSTATUS_BK1RDY_Pos) /**< (USB_DEVICE_EPSTATUS) Bank 1 ready Mask */
  218. #define USB_DEVICE_EPSTATUS_BK1RDY(value) (USB_DEVICE_EPSTATUS_BK1RDY_Msk & ((value) << USB_DEVICE_EPSTATUS_BK1RDY_Pos))
  219. #define USB_DEVICE_EPSTATUS_Msk _U_(0xF7) /**< (USB_DEVICE_EPSTATUS) Register Mask */
  220. #define USB_DEVICE_EPSTATUS_STALLRQ_Pos _U_(4) /**< (USB_DEVICE_EPSTATUS Position) Stall x Request */
  221. #define USB_DEVICE_EPSTATUS_STALLRQ_Msk (_U_(0x3) << USB_DEVICE_EPSTATUS_STALLRQ_Pos) /**< (USB_DEVICE_EPSTATUS Mask) STALLRQ */
  222. #define USB_DEVICE_EPSTATUS_STALLRQ(value) (USB_DEVICE_EPSTATUS_STALLRQ_Msk & ((value) << USB_DEVICE_EPSTATUS_STALLRQ_Pos))
  223. /* -------- USB_DEVICE_EPINTFLAG : (USB Offset: 0x07) (R/W 8) DEVICE_ENDPOINT End Point Interrupt Flag -------- */
  224. #define USB_DEVICE_EPINTFLAG_RESETVALUE _U_(0x00) /**< (USB_DEVICE_EPINTFLAG) DEVICE_ENDPOINT End Point Interrupt Flag Reset Value */
  225. #define USB_DEVICE_EPINTFLAG_TRCPT0_Pos _U_(0) /**< (USB_DEVICE_EPINTFLAG) Transfer Complete 0 Position */
  226. #define USB_DEVICE_EPINTFLAG_TRCPT0_Msk (_U_(0x1) << USB_DEVICE_EPINTFLAG_TRCPT0_Pos) /**< (USB_DEVICE_EPINTFLAG) Transfer Complete 0 Mask */
  227. #define USB_DEVICE_EPINTFLAG_TRCPT0(value) (USB_DEVICE_EPINTFLAG_TRCPT0_Msk & ((value) << USB_DEVICE_EPINTFLAG_TRCPT0_Pos))
  228. #define USB_DEVICE_EPINTFLAG_TRCPT1_Pos _U_(1) /**< (USB_DEVICE_EPINTFLAG) Transfer Complete 1 Position */
  229. #define USB_DEVICE_EPINTFLAG_TRCPT1_Msk (_U_(0x1) << USB_DEVICE_EPINTFLAG_TRCPT1_Pos) /**< (USB_DEVICE_EPINTFLAG) Transfer Complete 1 Mask */
  230. #define USB_DEVICE_EPINTFLAG_TRCPT1(value) (USB_DEVICE_EPINTFLAG_TRCPT1_Msk & ((value) << USB_DEVICE_EPINTFLAG_TRCPT1_Pos))
  231. #define USB_DEVICE_EPINTFLAG_TRFAIL0_Pos _U_(2) /**< (USB_DEVICE_EPINTFLAG) Error Flow 0 Position */
  232. #define USB_DEVICE_EPINTFLAG_TRFAIL0_Msk (_U_(0x1) << USB_DEVICE_EPINTFLAG_TRFAIL0_Pos) /**< (USB_DEVICE_EPINTFLAG) Error Flow 0 Mask */
  233. #define USB_DEVICE_EPINTFLAG_TRFAIL0(value) (USB_DEVICE_EPINTFLAG_TRFAIL0_Msk & ((value) << USB_DEVICE_EPINTFLAG_TRFAIL0_Pos))
  234. #define USB_DEVICE_EPINTFLAG_TRFAIL1_Pos _U_(3) /**< (USB_DEVICE_EPINTFLAG) Error Flow 1 Position */
  235. #define USB_DEVICE_EPINTFLAG_TRFAIL1_Msk (_U_(0x1) << USB_DEVICE_EPINTFLAG_TRFAIL1_Pos) /**< (USB_DEVICE_EPINTFLAG) Error Flow 1 Mask */
  236. #define USB_DEVICE_EPINTFLAG_TRFAIL1(value) (USB_DEVICE_EPINTFLAG_TRFAIL1_Msk & ((value) << USB_DEVICE_EPINTFLAG_TRFAIL1_Pos))
  237. #define USB_DEVICE_EPINTFLAG_RXSTP_Pos _U_(4) /**< (USB_DEVICE_EPINTFLAG) Received Setup Position */
  238. #define USB_DEVICE_EPINTFLAG_RXSTP_Msk (_U_(0x1) << USB_DEVICE_EPINTFLAG_RXSTP_Pos) /**< (USB_DEVICE_EPINTFLAG) Received Setup Mask */
  239. #define USB_DEVICE_EPINTFLAG_RXSTP(value) (USB_DEVICE_EPINTFLAG_RXSTP_Msk & ((value) << USB_DEVICE_EPINTFLAG_RXSTP_Pos))
  240. #define USB_DEVICE_EPINTFLAG_STALL0_Pos _U_(5) /**< (USB_DEVICE_EPINTFLAG) Stall 0 In/out Position */
  241. #define USB_DEVICE_EPINTFLAG_STALL0_Msk (_U_(0x1) << USB_DEVICE_EPINTFLAG_STALL0_Pos) /**< (USB_DEVICE_EPINTFLAG) Stall 0 In/out Mask */
  242. #define USB_DEVICE_EPINTFLAG_STALL0(value) (USB_DEVICE_EPINTFLAG_STALL0_Msk & ((value) << USB_DEVICE_EPINTFLAG_STALL0_Pos))
  243. #define USB_DEVICE_EPINTFLAG_STALL1_Pos _U_(6) /**< (USB_DEVICE_EPINTFLAG) Stall 1 In/out Position */
  244. #define USB_DEVICE_EPINTFLAG_STALL1_Msk (_U_(0x1) << USB_DEVICE_EPINTFLAG_STALL1_Pos) /**< (USB_DEVICE_EPINTFLAG) Stall 1 In/out Mask */
  245. #define USB_DEVICE_EPINTFLAG_STALL1(value) (USB_DEVICE_EPINTFLAG_STALL1_Msk & ((value) << USB_DEVICE_EPINTFLAG_STALL1_Pos))
  246. #define USB_DEVICE_EPINTFLAG_Msk _U_(0x7F) /**< (USB_DEVICE_EPINTFLAG) Register Mask */
  247. #define USB_DEVICE_EPINTFLAG_TRCPT_Pos _U_(0) /**< (USB_DEVICE_EPINTFLAG Position) Transfer Complete x */
  248. #define USB_DEVICE_EPINTFLAG_TRCPT_Msk (_U_(0x3) << USB_DEVICE_EPINTFLAG_TRCPT_Pos) /**< (USB_DEVICE_EPINTFLAG Mask) TRCPT */
  249. #define USB_DEVICE_EPINTFLAG_TRCPT(value) (USB_DEVICE_EPINTFLAG_TRCPT_Msk & ((value) << USB_DEVICE_EPINTFLAG_TRCPT_Pos))
  250. #define USB_DEVICE_EPINTFLAG_TRFAIL_Pos _U_(2) /**< (USB_DEVICE_EPINTFLAG Position) Error Flow x */
  251. #define USB_DEVICE_EPINTFLAG_TRFAIL_Msk (_U_(0x3) << USB_DEVICE_EPINTFLAG_TRFAIL_Pos) /**< (USB_DEVICE_EPINTFLAG Mask) TRFAIL */
  252. #define USB_DEVICE_EPINTFLAG_TRFAIL(value) (USB_DEVICE_EPINTFLAG_TRFAIL_Msk & ((value) << USB_DEVICE_EPINTFLAG_TRFAIL_Pos))
  253. #define USB_DEVICE_EPINTFLAG_STALL_Pos _U_(5) /**< (USB_DEVICE_EPINTFLAG Position) Stall x In/out */
  254. #define USB_DEVICE_EPINTFLAG_STALL_Msk (_U_(0x3) << USB_DEVICE_EPINTFLAG_STALL_Pos) /**< (USB_DEVICE_EPINTFLAG Mask) STALL */
  255. #define USB_DEVICE_EPINTFLAG_STALL(value) (USB_DEVICE_EPINTFLAG_STALL_Msk & ((value) << USB_DEVICE_EPINTFLAG_STALL_Pos))
  256. /* -------- USB_DEVICE_EPINTENCLR : (USB Offset: 0x08) (R/W 8) DEVICE_ENDPOINT End Point Interrupt Clear Flag -------- */
  257. #define USB_DEVICE_EPINTENCLR_RESETVALUE _U_(0x00) /**< (USB_DEVICE_EPINTENCLR) DEVICE_ENDPOINT End Point Interrupt Clear Flag Reset Value */
  258. #define USB_DEVICE_EPINTENCLR_TRCPT0_Pos _U_(0) /**< (USB_DEVICE_EPINTENCLR) Transfer Complete 0 Interrupt Disable Position */
  259. #define USB_DEVICE_EPINTENCLR_TRCPT0_Msk (_U_(0x1) << USB_DEVICE_EPINTENCLR_TRCPT0_Pos) /**< (USB_DEVICE_EPINTENCLR) Transfer Complete 0 Interrupt Disable Mask */
  260. #define USB_DEVICE_EPINTENCLR_TRCPT0(value) (USB_DEVICE_EPINTENCLR_TRCPT0_Msk & ((value) << USB_DEVICE_EPINTENCLR_TRCPT0_Pos))
  261. #define USB_DEVICE_EPINTENCLR_TRCPT1_Pos _U_(1) /**< (USB_DEVICE_EPINTENCLR) Transfer Complete 1 Interrupt Disable Position */
  262. #define USB_DEVICE_EPINTENCLR_TRCPT1_Msk (_U_(0x1) << USB_DEVICE_EPINTENCLR_TRCPT1_Pos) /**< (USB_DEVICE_EPINTENCLR) Transfer Complete 1 Interrupt Disable Mask */
  263. #define USB_DEVICE_EPINTENCLR_TRCPT1(value) (USB_DEVICE_EPINTENCLR_TRCPT1_Msk & ((value) << USB_DEVICE_EPINTENCLR_TRCPT1_Pos))
  264. #define USB_DEVICE_EPINTENCLR_TRFAIL0_Pos _U_(2) /**< (USB_DEVICE_EPINTENCLR) Error Flow 0 Interrupt Disable Position */
  265. #define USB_DEVICE_EPINTENCLR_TRFAIL0_Msk (_U_(0x1) << USB_DEVICE_EPINTENCLR_TRFAIL0_Pos) /**< (USB_DEVICE_EPINTENCLR) Error Flow 0 Interrupt Disable Mask */
  266. #define USB_DEVICE_EPINTENCLR_TRFAIL0(value) (USB_DEVICE_EPINTENCLR_TRFAIL0_Msk & ((value) << USB_DEVICE_EPINTENCLR_TRFAIL0_Pos))
  267. #define USB_DEVICE_EPINTENCLR_TRFAIL1_Pos _U_(3) /**< (USB_DEVICE_EPINTENCLR) Error Flow 1 Interrupt Disable Position */
  268. #define USB_DEVICE_EPINTENCLR_TRFAIL1_Msk (_U_(0x1) << USB_DEVICE_EPINTENCLR_TRFAIL1_Pos) /**< (USB_DEVICE_EPINTENCLR) Error Flow 1 Interrupt Disable Mask */
  269. #define USB_DEVICE_EPINTENCLR_TRFAIL1(value) (USB_DEVICE_EPINTENCLR_TRFAIL1_Msk & ((value) << USB_DEVICE_EPINTENCLR_TRFAIL1_Pos))
  270. #define USB_DEVICE_EPINTENCLR_RXSTP_Pos _U_(4) /**< (USB_DEVICE_EPINTENCLR) Received Setup Interrupt Disable Position */
  271. #define USB_DEVICE_EPINTENCLR_RXSTP_Msk (_U_(0x1) << USB_DEVICE_EPINTENCLR_RXSTP_Pos) /**< (USB_DEVICE_EPINTENCLR) Received Setup Interrupt Disable Mask */
  272. #define USB_DEVICE_EPINTENCLR_RXSTP(value) (USB_DEVICE_EPINTENCLR_RXSTP_Msk & ((value) << USB_DEVICE_EPINTENCLR_RXSTP_Pos))
  273. #define USB_DEVICE_EPINTENCLR_STALL0_Pos _U_(5) /**< (USB_DEVICE_EPINTENCLR) Stall 0 In/Out Interrupt Disable Position */
  274. #define USB_DEVICE_EPINTENCLR_STALL0_Msk (_U_(0x1) << USB_DEVICE_EPINTENCLR_STALL0_Pos) /**< (USB_DEVICE_EPINTENCLR) Stall 0 In/Out Interrupt Disable Mask */
  275. #define USB_DEVICE_EPINTENCLR_STALL0(value) (USB_DEVICE_EPINTENCLR_STALL0_Msk & ((value) << USB_DEVICE_EPINTENCLR_STALL0_Pos))
  276. #define USB_DEVICE_EPINTENCLR_STALL1_Pos _U_(6) /**< (USB_DEVICE_EPINTENCLR) Stall 1 In/Out Interrupt Disable Position */
  277. #define USB_DEVICE_EPINTENCLR_STALL1_Msk (_U_(0x1) << USB_DEVICE_EPINTENCLR_STALL1_Pos) /**< (USB_DEVICE_EPINTENCLR) Stall 1 In/Out Interrupt Disable Mask */
  278. #define USB_DEVICE_EPINTENCLR_STALL1(value) (USB_DEVICE_EPINTENCLR_STALL1_Msk & ((value) << USB_DEVICE_EPINTENCLR_STALL1_Pos))
  279. #define USB_DEVICE_EPINTENCLR_Msk _U_(0x7F) /**< (USB_DEVICE_EPINTENCLR) Register Mask */
  280. #define USB_DEVICE_EPINTENCLR_TRCPT_Pos _U_(0) /**< (USB_DEVICE_EPINTENCLR Position) Transfer Complete x Interrupt Disable */
  281. #define USB_DEVICE_EPINTENCLR_TRCPT_Msk (_U_(0x3) << USB_DEVICE_EPINTENCLR_TRCPT_Pos) /**< (USB_DEVICE_EPINTENCLR Mask) TRCPT */
  282. #define USB_DEVICE_EPINTENCLR_TRCPT(value) (USB_DEVICE_EPINTENCLR_TRCPT_Msk & ((value) << USB_DEVICE_EPINTENCLR_TRCPT_Pos))
  283. #define USB_DEVICE_EPINTENCLR_TRFAIL_Pos _U_(2) /**< (USB_DEVICE_EPINTENCLR Position) Error Flow x Interrupt Disable */
  284. #define USB_DEVICE_EPINTENCLR_TRFAIL_Msk (_U_(0x3) << USB_DEVICE_EPINTENCLR_TRFAIL_Pos) /**< (USB_DEVICE_EPINTENCLR Mask) TRFAIL */
  285. #define USB_DEVICE_EPINTENCLR_TRFAIL(value) (USB_DEVICE_EPINTENCLR_TRFAIL_Msk & ((value) << USB_DEVICE_EPINTENCLR_TRFAIL_Pos))
  286. #define USB_DEVICE_EPINTENCLR_STALL_Pos _U_(5) /**< (USB_DEVICE_EPINTENCLR Position) Stall x In/Out Interrupt Disable */
  287. #define USB_DEVICE_EPINTENCLR_STALL_Msk (_U_(0x3) << USB_DEVICE_EPINTENCLR_STALL_Pos) /**< (USB_DEVICE_EPINTENCLR Mask) STALL */
  288. #define USB_DEVICE_EPINTENCLR_STALL(value) (USB_DEVICE_EPINTENCLR_STALL_Msk & ((value) << USB_DEVICE_EPINTENCLR_STALL_Pos))
  289. /* -------- USB_DEVICE_EPINTENSET : (USB Offset: 0x09) (R/W 8) DEVICE_ENDPOINT End Point Interrupt Set Flag -------- */
  290. #define USB_DEVICE_EPINTENSET_RESETVALUE _U_(0x00) /**< (USB_DEVICE_EPINTENSET) DEVICE_ENDPOINT End Point Interrupt Set Flag Reset Value */
  291. #define USB_DEVICE_EPINTENSET_TRCPT0_Pos _U_(0) /**< (USB_DEVICE_EPINTENSET) Transfer Complete 0 Interrupt Enable Position */
  292. #define USB_DEVICE_EPINTENSET_TRCPT0_Msk (_U_(0x1) << USB_DEVICE_EPINTENSET_TRCPT0_Pos) /**< (USB_DEVICE_EPINTENSET) Transfer Complete 0 Interrupt Enable Mask */
  293. #define USB_DEVICE_EPINTENSET_TRCPT0(value) (USB_DEVICE_EPINTENSET_TRCPT0_Msk & ((value) << USB_DEVICE_EPINTENSET_TRCPT0_Pos))
  294. #define USB_DEVICE_EPINTENSET_TRCPT1_Pos _U_(1) /**< (USB_DEVICE_EPINTENSET) Transfer Complete 1 Interrupt Enable Position */
  295. #define USB_DEVICE_EPINTENSET_TRCPT1_Msk (_U_(0x1) << USB_DEVICE_EPINTENSET_TRCPT1_Pos) /**< (USB_DEVICE_EPINTENSET) Transfer Complete 1 Interrupt Enable Mask */
  296. #define USB_DEVICE_EPINTENSET_TRCPT1(value) (USB_DEVICE_EPINTENSET_TRCPT1_Msk & ((value) << USB_DEVICE_EPINTENSET_TRCPT1_Pos))
  297. #define USB_DEVICE_EPINTENSET_TRFAIL0_Pos _U_(2) /**< (USB_DEVICE_EPINTENSET) Error Flow 0 Interrupt Enable Position */
  298. #define USB_DEVICE_EPINTENSET_TRFAIL0_Msk (_U_(0x1) << USB_DEVICE_EPINTENSET_TRFAIL0_Pos) /**< (USB_DEVICE_EPINTENSET) Error Flow 0 Interrupt Enable Mask */
  299. #define USB_DEVICE_EPINTENSET_TRFAIL0(value) (USB_DEVICE_EPINTENSET_TRFAIL0_Msk & ((value) << USB_DEVICE_EPINTENSET_TRFAIL0_Pos))
  300. #define USB_DEVICE_EPINTENSET_TRFAIL1_Pos _U_(3) /**< (USB_DEVICE_EPINTENSET) Error Flow 1 Interrupt Enable Position */
  301. #define USB_DEVICE_EPINTENSET_TRFAIL1_Msk (_U_(0x1) << USB_DEVICE_EPINTENSET_TRFAIL1_Pos) /**< (USB_DEVICE_EPINTENSET) Error Flow 1 Interrupt Enable Mask */
  302. #define USB_DEVICE_EPINTENSET_TRFAIL1(value) (USB_DEVICE_EPINTENSET_TRFAIL1_Msk & ((value) << USB_DEVICE_EPINTENSET_TRFAIL1_Pos))
  303. #define USB_DEVICE_EPINTENSET_RXSTP_Pos _U_(4) /**< (USB_DEVICE_EPINTENSET) Received Setup Interrupt Enable Position */
  304. #define USB_DEVICE_EPINTENSET_RXSTP_Msk (_U_(0x1) << USB_DEVICE_EPINTENSET_RXSTP_Pos) /**< (USB_DEVICE_EPINTENSET) Received Setup Interrupt Enable Mask */
  305. #define USB_DEVICE_EPINTENSET_RXSTP(value) (USB_DEVICE_EPINTENSET_RXSTP_Msk & ((value) << USB_DEVICE_EPINTENSET_RXSTP_Pos))
  306. #define USB_DEVICE_EPINTENSET_STALL0_Pos _U_(5) /**< (USB_DEVICE_EPINTENSET) Stall 0 In/out Interrupt enable Position */
  307. #define USB_DEVICE_EPINTENSET_STALL0_Msk (_U_(0x1) << USB_DEVICE_EPINTENSET_STALL0_Pos) /**< (USB_DEVICE_EPINTENSET) Stall 0 In/out Interrupt enable Mask */
  308. #define USB_DEVICE_EPINTENSET_STALL0(value) (USB_DEVICE_EPINTENSET_STALL0_Msk & ((value) << USB_DEVICE_EPINTENSET_STALL0_Pos))
  309. #define USB_DEVICE_EPINTENSET_STALL1_Pos _U_(6) /**< (USB_DEVICE_EPINTENSET) Stall 1 In/out Interrupt enable Position */
  310. #define USB_DEVICE_EPINTENSET_STALL1_Msk (_U_(0x1) << USB_DEVICE_EPINTENSET_STALL1_Pos) /**< (USB_DEVICE_EPINTENSET) Stall 1 In/out Interrupt enable Mask */
  311. #define USB_DEVICE_EPINTENSET_STALL1(value) (USB_DEVICE_EPINTENSET_STALL1_Msk & ((value) << USB_DEVICE_EPINTENSET_STALL1_Pos))
  312. #define USB_DEVICE_EPINTENSET_Msk _U_(0x7F) /**< (USB_DEVICE_EPINTENSET) Register Mask */
  313. #define USB_DEVICE_EPINTENSET_TRCPT_Pos _U_(0) /**< (USB_DEVICE_EPINTENSET Position) Transfer Complete x Interrupt Enable */
  314. #define USB_DEVICE_EPINTENSET_TRCPT_Msk (_U_(0x3) << USB_DEVICE_EPINTENSET_TRCPT_Pos) /**< (USB_DEVICE_EPINTENSET Mask) TRCPT */
  315. #define USB_DEVICE_EPINTENSET_TRCPT(value) (USB_DEVICE_EPINTENSET_TRCPT_Msk & ((value) << USB_DEVICE_EPINTENSET_TRCPT_Pos))
  316. #define USB_DEVICE_EPINTENSET_TRFAIL_Pos _U_(2) /**< (USB_DEVICE_EPINTENSET Position) Error Flow x Interrupt Enable */
  317. #define USB_DEVICE_EPINTENSET_TRFAIL_Msk (_U_(0x3) << USB_DEVICE_EPINTENSET_TRFAIL_Pos) /**< (USB_DEVICE_EPINTENSET Mask) TRFAIL */
  318. #define USB_DEVICE_EPINTENSET_TRFAIL(value) (USB_DEVICE_EPINTENSET_TRFAIL_Msk & ((value) << USB_DEVICE_EPINTENSET_TRFAIL_Pos))
  319. #define USB_DEVICE_EPINTENSET_STALL_Pos _U_(5) /**< (USB_DEVICE_EPINTENSET Position) Stall x In/out Interrupt enable */
  320. #define USB_DEVICE_EPINTENSET_STALL_Msk (_U_(0x3) << USB_DEVICE_EPINTENSET_STALL_Pos) /**< (USB_DEVICE_EPINTENSET Mask) STALL */
  321. #define USB_DEVICE_EPINTENSET_STALL(value) (USB_DEVICE_EPINTENSET_STALL_Msk & ((value) << USB_DEVICE_EPINTENSET_STALL_Pos))
  322. /* -------- USB_HOST_PCFG : (USB Offset: 0x00) (R/W 8) HOST_PIPE End Point Configuration -------- */
  323. #define USB_HOST_PCFG_RESETVALUE _U_(0x00) /**< (USB_HOST_PCFG) HOST_PIPE End Point Configuration Reset Value */
  324. #define USB_HOST_PCFG_PTOKEN_Pos _U_(0) /**< (USB_HOST_PCFG) Pipe Token Position */
  325. #define USB_HOST_PCFG_PTOKEN_Msk (_U_(0x3) << USB_HOST_PCFG_PTOKEN_Pos) /**< (USB_HOST_PCFG) Pipe Token Mask */
  326. #define USB_HOST_PCFG_PTOKEN(value) (USB_HOST_PCFG_PTOKEN_Msk & ((value) << USB_HOST_PCFG_PTOKEN_Pos))
  327. #define USB_HOST_PCFG_BK_Pos _U_(2) /**< (USB_HOST_PCFG) Pipe Bank Position */
  328. #define USB_HOST_PCFG_BK_Msk (_U_(0x1) << USB_HOST_PCFG_BK_Pos) /**< (USB_HOST_PCFG) Pipe Bank Mask */
  329. #define USB_HOST_PCFG_BK(value) (USB_HOST_PCFG_BK_Msk & ((value) << USB_HOST_PCFG_BK_Pos))
  330. #define USB_HOST_PCFG_PTYPE_Pos _U_(3) /**< (USB_HOST_PCFG) Pipe Type Position */
  331. #define USB_HOST_PCFG_PTYPE_Msk (_U_(0x7) << USB_HOST_PCFG_PTYPE_Pos) /**< (USB_HOST_PCFG) Pipe Type Mask */
  332. #define USB_HOST_PCFG_PTYPE(value) (USB_HOST_PCFG_PTYPE_Msk & ((value) << USB_HOST_PCFG_PTYPE_Pos))
  333. #define USB_HOST_PCFG_Msk _U_(0x3F) /**< (USB_HOST_PCFG) Register Mask */
  334. /* -------- USB_HOST_BINTERVAL : (USB Offset: 0x03) (R/W 8) HOST_PIPE Bus Access Period of Pipe -------- */
  335. #define USB_HOST_BINTERVAL_RESETVALUE _U_(0x00) /**< (USB_HOST_BINTERVAL) HOST_PIPE Bus Access Period of Pipe Reset Value */
  336. #define USB_HOST_BINTERVAL_BITINTERVAL_Pos _U_(0) /**< (USB_HOST_BINTERVAL) Bit Interval Position */
  337. #define USB_HOST_BINTERVAL_BITINTERVAL_Msk (_U_(0xFF) << USB_HOST_BINTERVAL_BITINTERVAL_Pos) /**< (USB_HOST_BINTERVAL) Bit Interval Mask */
  338. #define USB_HOST_BINTERVAL_BITINTERVAL(value) (USB_HOST_BINTERVAL_BITINTERVAL_Msk & ((value) << USB_HOST_BINTERVAL_BITINTERVAL_Pos))
  339. #define USB_HOST_BINTERVAL_Msk _U_(0xFF) /**< (USB_HOST_BINTERVAL) Register Mask */
  340. /* -------- USB_HOST_PSTATUSCLR : (USB Offset: 0x04) ( /W 8) HOST_PIPE End Point Pipe Status Clear -------- */
  341. #define USB_HOST_PSTATUSCLR_RESETVALUE _U_(0x00) /**< (USB_HOST_PSTATUSCLR) HOST_PIPE End Point Pipe Status Clear Reset Value */
  342. #define USB_HOST_PSTATUSCLR_DTGL_Pos _U_(0) /**< (USB_HOST_PSTATUSCLR) Data Toggle clear Position */
  343. #define USB_HOST_PSTATUSCLR_DTGL_Msk (_U_(0x1) << USB_HOST_PSTATUSCLR_DTGL_Pos) /**< (USB_HOST_PSTATUSCLR) Data Toggle clear Mask */
  344. #define USB_HOST_PSTATUSCLR_DTGL(value) (USB_HOST_PSTATUSCLR_DTGL_Msk & ((value) << USB_HOST_PSTATUSCLR_DTGL_Pos))
  345. #define USB_HOST_PSTATUSCLR_CURBK_Pos _U_(2) /**< (USB_HOST_PSTATUSCLR) Curren Bank clear Position */
  346. #define USB_HOST_PSTATUSCLR_CURBK_Msk (_U_(0x1) << USB_HOST_PSTATUSCLR_CURBK_Pos) /**< (USB_HOST_PSTATUSCLR) Curren Bank clear Mask */
  347. #define USB_HOST_PSTATUSCLR_CURBK(value) (USB_HOST_PSTATUSCLR_CURBK_Msk & ((value) << USB_HOST_PSTATUSCLR_CURBK_Pos))
  348. #define USB_HOST_PSTATUSCLR_PFREEZE_Pos _U_(4) /**< (USB_HOST_PSTATUSCLR) Pipe Freeze Clear Position */
  349. #define USB_HOST_PSTATUSCLR_PFREEZE_Msk (_U_(0x1) << USB_HOST_PSTATUSCLR_PFREEZE_Pos) /**< (USB_HOST_PSTATUSCLR) Pipe Freeze Clear Mask */
  350. #define USB_HOST_PSTATUSCLR_PFREEZE(value) (USB_HOST_PSTATUSCLR_PFREEZE_Msk & ((value) << USB_HOST_PSTATUSCLR_PFREEZE_Pos))
  351. #define USB_HOST_PSTATUSCLR_BK0RDY_Pos _U_(6) /**< (USB_HOST_PSTATUSCLR) Bank 0 Ready Clear Position */
  352. #define USB_HOST_PSTATUSCLR_BK0RDY_Msk (_U_(0x1) << USB_HOST_PSTATUSCLR_BK0RDY_Pos) /**< (USB_HOST_PSTATUSCLR) Bank 0 Ready Clear Mask */
  353. #define USB_HOST_PSTATUSCLR_BK0RDY(value) (USB_HOST_PSTATUSCLR_BK0RDY_Msk & ((value) << USB_HOST_PSTATUSCLR_BK0RDY_Pos))
  354. #define USB_HOST_PSTATUSCLR_BK1RDY_Pos _U_(7) /**< (USB_HOST_PSTATUSCLR) Bank 1 Ready Clear Position */
  355. #define USB_HOST_PSTATUSCLR_BK1RDY_Msk (_U_(0x1) << USB_HOST_PSTATUSCLR_BK1RDY_Pos) /**< (USB_HOST_PSTATUSCLR) Bank 1 Ready Clear Mask */
  356. #define USB_HOST_PSTATUSCLR_BK1RDY(value) (USB_HOST_PSTATUSCLR_BK1RDY_Msk & ((value) << USB_HOST_PSTATUSCLR_BK1RDY_Pos))
  357. #define USB_HOST_PSTATUSCLR_Msk _U_(0xD5) /**< (USB_HOST_PSTATUSCLR) Register Mask */
  358. /* -------- USB_HOST_PSTATUSSET : (USB Offset: 0x05) ( /W 8) HOST_PIPE End Point Pipe Status Set -------- */
  359. #define USB_HOST_PSTATUSSET_RESETVALUE _U_(0x00) /**< (USB_HOST_PSTATUSSET) HOST_PIPE End Point Pipe Status Set Reset Value */
  360. #define USB_HOST_PSTATUSSET_DTGL_Pos _U_(0) /**< (USB_HOST_PSTATUSSET) Data Toggle Set Position */
  361. #define USB_HOST_PSTATUSSET_DTGL_Msk (_U_(0x1) << USB_HOST_PSTATUSSET_DTGL_Pos) /**< (USB_HOST_PSTATUSSET) Data Toggle Set Mask */
  362. #define USB_HOST_PSTATUSSET_DTGL(value) (USB_HOST_PSTATUSSET_DTGL_Msk & ((value) << USB_HOST_PSTATUSSET_DTGL_Pos))
  363. #define USB_HOST_PSTATUSSET_CURBK_Pos _U_(2) /**< (USB_HOST_PSTATUSSET) Current Bank Set Position */
  364. #define USB_HOST_PSTATUSSET_CURBK_Msk (_U_(0x1) << USB_HOST_PSTATUSSET_CURBK_Pos) /**< (USB_HOST_PSTATUSSET) Current Bank Set Mask */
  365. #define USB_HOST_PSTATUSSET_CURBK(value) (USB_HOST_PSTATUSSET_CURBK_Msk & ((value) << USB_HOST_PSTATUSSET_CURBK_Pos))
  366. #define USB_HOST_PSTATUSSET_PFREEZE_Pos _U_(4) /**< (USB_HOST_PSTATUSSET) Pipe Freeze Set Position */
  367. #define USB_HOST_PSTATUSSET_PFREEZE_Msk (_U_(0x1) << USB_HOST_PSTATUSSET_PFREEZE_Pos) /**< (USB_HOST_PSTATUSSET) Pipe Freeze Set Mask */
  368. #define USB_HOST_PSTATUSSET_PFREEZE(value) (USB_HOST_PSTATUSSET_PFREEZE_Msk & ((value) << USB_HOST_PSTATUSSET_PFREEZE_Pos))
  369. #define USB_HOST_PSTATUSSET_BK0RDY_Pos _U_(6) /**< (USB_HOST_PSTATUSSET) Bank 0 Ready Set Position */
  370. #define USB_HOST_PSTATUSSET_BK0RDY_Msk (_U_(0x1) << USB_HOST_PSTATUSSET_BK0RDY_Pos) /**< (USB_HOST_PSTATUSSET) Bank 0 Ready Set Mask */
  371. #define USB_HOST_PSTATUSSET_BK0RDY(value) (USB_HOST_PSTATUSSET_BK0RDY_Msk & ((value) << USB_HOST_PSTATUSSET_BK0RDY_Pos))
  372. #define USB_HOST_PSTATUSSET_BK1RDY_Pos _U_(7) /**< (USB_HOST_PSTATUSSET) Bank 1 Ready Set Position */
  373. #define USB_HOST_PSTATUSSET_BK1RDY_Msk (_U_(0x1) << USB_HOST_PSTATUSSET_BK1RDY_Pos) /**< (USB_HOST_PSTATUSSET) Bank 1 Ready Set Mask */
  374. #define USB_HOST_PSTATUSSET_BK1RDY(value) (USB_HOST_PSTATUSSET_BK1RDY_Msk & ((value) << USB_HOST_PSTATUSSET_BK1RDY_Pos))
  375. #define USB_HOST_PSTATUSSET_Msk _U_(0xD5) /**< (USB_HOST_PSTATUSSET) Register Mask */
  376. /* -------- USB_HOST_PSTATUS : (USB Offset: 0x06) ( R/ 8) HOST_PIPE End Point Pipe Status -------- */
  377. #define USB_HOST_PSTATUS_RESETVALUE _U_(0x00) /**< (USB_HOST_PSTATUS) HOST_PIPE End Point Pipe Status Reset Value */
  378. #define USB_HOST_PSTATUS_DTGL_Pos _U_(0) /**< (USB_HOST_PSTATUS) Data Toggle Position */
  379. #define USB_HOST_PSTATUS_DTGL_Msk (_U_(0x1) << USB_HOST_PSTATUS_DTGL_Pos) /**< (USB_HOST_PSTATUS) Data Toggle Mask */
  380. #define USB_HOST_PSTATUS_DTGL(value) (USB_HOST_PSTATUS_DTGL_Msk & ((value) << USB_HOST_PSTATUS_DTGL_Pos))
  381. #define USB_HOST_PSTATUS_CURBK_Pos _U_(2) /**< (USB_HOST_PSTATUS) Current Bank Position */
  382. #define USB_HOST_PSTATUS_CURBK_Msk (_U_(0x1) << USB_HOST_PSTATUS_CURBK_Pos) /**< (USB_HOST_PSTATUS) Current Bank Mask */
  383. #define USB_HOST_PSTATUS_CURBK(value) (USB_HOST_PSTATUS_CURBK_Msk & ((value) << USB_HOST_PSTATUS_CURBK_Pos))
  384. #define USB_HOST_PSTATUS_PFREEZE_Pos _U_(4) /**< (USB_HOST_PSTATUS) Pipe Freeze Position */
  385. #define USB_HOST_PSTATUS_PFREEZE_Msk (_U_(0x1) << USB_HOST_PSTATUS_PFREEZE_Pos) /**< (USB_HOST_PSTATUS) Pipe Freeze Mask */
  386. #define USB_HOST_PSTATUS_PFREEZE(value) (USB_HOST_PSTATUS_PFREEZE_Msk & ((value) << USB_HOST_PSTATUS_PFREEZE_Pos))
  387. #define USB_HOST_PSTATUS_BK0RDY_Pos _U_(6) /**< (USB_HOST_PSTATUS) Bank 0 ready Position */
  388. #define USB_HOST_PSTATUS_BK0RDY_Msk (_U_(0x1) << USB_HOST_PSTATUS_BK0RDY_Pos) /**< (USB_HOST_PSTATUS) Bank 0 ready Mask */
  389. #define USB_HOST_PSTATUS_BK0RDY(value) (USB_HOST_PSTATUS_BK0RDY_Msk & ((value) << USB_HOST_PSTATUS_BK0RDY_Pos))
  390. #define USB_HOST_PSTATUS_BK1RDY_Pos _U_(7) /**< (USB_HOST_PSTATUS) Bank 1 ready Position */
  391. #define USB_HOST_PSTATUS_BK1RDY_Msk (_U_(0x1) << USB_HOST_PSTATUS_BK1RDY_Pos) /**< (USB_HOST_PSTATUS) Bank 1 ready Mask */
  392. #define USB_HOST_PSTATUS_BK1RDY(value) (USB_HOST_PSTATUS_BK1RDY_Msk & ((value) << USB_HOST_PSTATUS_BK1RDY_Pos))
  393. #define USB_HOST_PSTATUS_Msk _U_(0xD5) /**< (USB_HOST_PSTATUS) Register Mask */
  394. /* -------- USB_HOST_PINTFLAG : (USB Offset: 0x07) (R/W 8) HOST_PIPE Pipe Interrupt Flag -------- */
  395. #define USB_HOST_PINTFLAG_RESETVALUE _U_(0x00) /**< (USB_HOST_PINTFLAG) HOST_PIPE Pipe Interrupt Flag Reset Value */
  396. #define USB_HOST_PINTFLAG_TRCPT0_Pos _U_(0) /**< (USB_HOST_PINTFLAG) Transfer Complete 0 Interrupt Flag Position */
  397. #define USB_HOST_PINTFLAG_TRCPT0_Msk (_U_(0x1) << USB_HOST_PINTFLAG_TRCPT0_Pos) /**< (USB_HOST_PINTFLAG) Transfer Complete 0 Interrupt Flag Mask */
  398. #define USB_HOST_PINTFLAG_TRCPT0(value) (USB_HOST_PINTFLAG_TRCPT0_Msk & ((value) << USB_HOST_PINTFLAG_TRCPT0_Pos))
  399. #define USB_HOST_PINTFLAG_TRCPT1_Pos _U_(1) /**< (USB_HOST_PINTFLAG) Transfer Complete 1 Interrupt Flag Position */
  400. #define USB_HOST_PINTFLAG_TRCPT1_Msk (_U_(0x1) << USB_HOST_PINTFLAG_TRCPT1_Pos) /**< (USB_HOST_PINTFLAG) Transfer Complete 1 Interrupt Flag Mask */
  401. #define USB_HOST_PINTFLAG_TRCPT1(value) (USB_HOST_PINTFLAG_TRCPT1_Msk & ((value) << USB_HOST_PINTFLAG_TRCPT1_Pos))
  402. #define USB_HOST_PINTFLAG_TRFAIL_Pos _U_(2) /**< (USB_HOST_PINTFLAG) Error Flow Interrupt Flag Position */
  403. #define USB_HOST_PINTFLAG_TRFAIL_Msk (_U_(0x1) << USB_HOST_PINTFLAG_TRFAIL_Pos) /**< (USB_HOST_PINTFLAG) Error Flow Interrupt Flag Mask */
  404. #define USB_HOST_PINTFLAG_TRFAIL(value) (USB_HOST_PINTFLAG_TRFAIL_Msk & ((value) << USB_HOST_PINTFLAG_TRFAIL_Pos))
  405. #define USB_HOST_PINTFLAG_PERR_Pos _U_(3) /**< (USB_HOST_PINTFLAG) Pipe Error Interrupt Flag Position */
  406. #define USB_HOST_PINTFLAG_PERR_Msk (_U_(0x1) << USB_HOST_PINTFLAG_PERR_Pos) /**< (USB_HOST_PINTFLAG) Pipe Error Interrupt Flag Mask */
  407. #define USB_HOST_PINTFLAG_PERR(value) (USB_HOST_PINTFLAG_PERR_Msk & ((value) << USB_HOST_PINTFLAG_PERR_Pos))
  408. #define USB_HOST_PINTFLAG_TXSTP_Pos _U_(4) /**< (USB_HOST_PINTFLAG) Transmit Setup Interrupt Flag Position */
  409. #define USB_HOST_PINTFLAG_TXSTP_Msk (_U_(0x1) << USB_HOST_PINTFLAG_TXSTP_Pos) /**< (USB_HOST_PINTFLAG) Transmit Setup Interrupt Flag Mask */
  410. #define USB_HOST_PINTFLAG_TXSTP(value) (USB_HOST_PINTFLAG_TXSTP_Msk & ((value) << USB_HOST_PINTFLAG_TXSTP_Pos))
  411. #define USB_HOST_PINTFLAG_STALL_Pos _U_(5) /**< (USB_HOST_PINTFLAG) Stall Interrupt Flag Position */
  412. #define USB_HOST_PINTFLAG_STALL_Msk (_U_(0x1) << USB_HOST_PINTFLAG_STALL_Pos) /**< (USB_HOST_PINTFLAG) Stall Interrupt Flag Mask */
  413. #define USB_HOST_PINTFLAG_STALL(value) (USB_HOST_PINTFLAG_STALL_Msk & ((value) << USB_HOST_PINTFLAG_STALL_Pos))
  414. #define USB_HOST_PINTFLAG_Msk _U_(0x3F) /**< (USB_HOST_PINTFLAG) Register Mask */
  415. #define USB_HOST_PINTFLAG_TRCPT_Pos _U_(0) /**< (USB_HOST_PINTFLAG Position) Transfer Complete x Interrupt Flag */
  416. #define USB_HOST_PINTFLAG_TRCPT_Msk (_U_(0x3) << USB_HOST_PINTFLAG_TRCPT_Pos) /**< (USB_HOST_PINTFLAG Mask) TRCPT */
  417. #define USB_HOST_PINTFLAG_TRCPT(value) (USB_HOST_PINTFLAG_TRCPT_Msk & ((value) << USB_HOST_PINTFLAG_TRCPT_Pos))
  418. /* -------- USB_HOST_PINTENCLR : (USB Offset: 0x08) (R/W 8) HOST_PIPE Pipe Interrupt Flag Clear -------- */
  419. #define USB_HOST_PINTENCLR_RESETVALUE _U_(0x00) /**< (USB_HOST_PINTENCLR) HOST_PIPE Pipe Interrupt Flag Clear Reset Value */
  420. #define USB_HOST_PINTENCLR_TRCPT0_Pos _U_(0) /**< (USB_HOST_PINTENCLR) Transfer Complete 0 Disable Position */
  421. #define USB_HOST_PINTENCLR_TRCPT0_Msk (_U_(0x1) << USB_HOST_PINTENCLR_TRCPT0_Pos) /**< (USB_HOST_PINTENCLR) Transfer Complete 0 Disable Mask */
  422. #define USB_HOST_PINTENCLR_TRCPT0(value) (USB_HOST_PINTENCLR_TRCPT0_Msk & ((value) << USB_HOST_PINTENCLR_TRCPT0_Pos))
  423. #define USB_HOST_PINTENCLR_TRCPT1_Pos _U_(1) /**< (USB_HOST_PINTENCLR) Transfer Complete 1 Disable Position */
  424. #define USB_HOST_PINTENCLR_TRCPT1_Msk (_U_(0x1) << USB_HOST_PINTENCLR_TRCPT1_Pos) /**< (USB_HOST_PINTENCLR) Transfer Complete 1 Disable Mask */
  425. #define USB_HOST_PINTENCLR_TRCPT1(value) (USB_HOST_PINTENCLR_TRCPT1_Msk & ((value) << USB_HOST_PINTENCLR_TRCPT1_Pos))
  426. #define USB_HOST_PINTENCLR_TRFAIL_Pos _U_(2) /**< (USB_HOST_PINTENCLR) Error Flow Interrupt Disable Position */
  427. #define USB_HOST_PINTENCLR_TRFAIL_Msk (_U_(0x1) << USB_HOST_PINTENCLR_TRFAIL_Pos) /**< (USB_HOST_PINTENCLR) Error Flow Interrupt Disable Mask */
  428. #define USB_HOST_PINTENCLR_TRFAIL(value) (USB_HOST_PINTENCLR_TRFAIL_Msk & ((value) << USB_HOST_PINTENCLR_TRFAIL_Pos))
  429. #define USB_HOST_PINTENCLR_PERR_Pos _U_(3) /**< (USB_HOST_PINTENCLR) Pipe Error Interrupt Disable Position */
  430. #define USB_HOST_PINTENCLR_PERR_Msk (_U_(0x1) << USB_HOST_PINTENCLR_PERR_Pos) /**< (USB_HOST_PINTENCLR) Pipe Error Interrupt Disable Mask */
  431. #define USB_HOST_PINTENCLR_PERR(value) (USB_HOST_PINTENCLR_PERR_Msk & ((value) << USB_HOST_PINTENCLR_PERR_Pos))
  432. #define USB_HOST_PINTENCLR_TXSTP_Pos _U_(4) /**< (USB_HOST_PINTENCLR) Transmit Setup Interrupt Disable Position */
  433. #define USB_HOST_PINTENCLR_TXSTP_Msk (_U_(0x1) << USB_HOST_PINTENCLR_TXSTP_Pos) /**< (USB_HOST_PINTENCLR) Transmit Setup Interrupt Disable Mask */
  434. #define USB_HOST_PINTENCLR_TXSTP(value) (USB_HOST_PINTENCLR_TXSTP_Msk & ((value) << USB_HOST_PINTENCLR_TXSTP_Pos))
  435. #define USB_HOST_PINTENCLR_STALL_Pos _U_(5) /**< (USB_HOST_PINTENCLR) Stall Inetrrupt Disable Position */
  436. #define USB_HOST_PINTENCLR_STALL_Msk (_U_(0x1) << USB_HOST_PINTENCLR_STALL_Pos) /**< (USB_HOST_PINTENCLR) Stall Inetrrupt Disable Mask */
  437. #define USB_HOST_PINTENCLR_STALL(value) (USB_HOST_PINTENCLR_STALL_Msk & ((value) << USB_HOST_PINTENCLR_STALL_Pos))
  438. #define USB_HOST_PINTENCLR_Msk _U_(0x3F) /**< (USB_HOST_PINTENCLR) Register Mask */
  439. #define USB_HOST_PINTENCLR_TRCPT_Pos _U_(0) /**< (USB_HOST_PINTENCLR Position) Transfer Complete x Disable */
  440. #define USB_HOST_PINTENCLR_TRCPT_Msk (_U_(0x3) << USB_HOST_PINTENCLR_TRCPT_Pos) /**< (USB_HOST_PINTENCLR Mask) TRCPT */
  441. #define USB_HOST_PINTENCLR_TRCPT(value) (USB_HOST_PINTENCLR_TRCPT_Msk & ((value) << USB_HOST_PINTENCLR_TRCPT_Pos))
  442. /* -------- USB_HOST_PINTENSET : (USB Offset: 0x09) (R/W 8) HOST_PIPE Pipe Interrupt Flag Set -------- */
  443. #define USB_HOST_PINTENSET_RESETVALUE _U_(0x00) /**< (USB_HOST_PINTENSET) HOST_PIPE Pipe Interrupt Flag Set Reset Value */
  444. #define USB_HOST_PINTENSET_TRCPT0_Pos _U_(0) /**< (USB_HOST_PINTENSET) Transfer Complete 0 Interrupt Enable Position */
  445. #define USB_HOST_PINTENSET_TRCPT0_Msk (_U_(0x1) << USB_HOST_PINTENSET_TRCPT0_Pos) /**< (USB_HOST_PINTENSET) Transfer Complete 0 Interrupt Enable Mask */
  446. #define USB_HOST_PINTENSET_TRCPT0(value) (USB_HOST_PINTENSET_TRCPT0_Msk & ((value) << USB_HOST_PINTENSET_TRCPT0_Pos))
  447. #define USB_HOST_PINTENSET_TRCPT1_Pos _U_(1) /**< (USB_HOST_PINTENSET) Transfer Complete 1 Interrupt Enable Position */
  448. #define USB_HOST_PINTENSET_TRCPT1_Msk (_U_(0x1) << USB_HOST_PINTENSET_TRCPT1_Pos) /**< (USB_HOST_PINTENSET) Transfer Complete 1 Interrupt Enable Mask */
  449. #define USB_HOST_PINTENSET_TRCPT1(value) (USB_HOST_PINTENSET_TRCPT1_Msk & ((value) << USB_HOST_PINTENSET_TRCPT1_Pos))
  450. #define USB_HOST_PINTENSET_TRFAIL_Pos _U_(2) /**< (USB_HOST_PINTENSET) Error Flow Interrupt Enable Position */
  451. #define USB_HOST_PINTENSET_TRFAIL_Msk (_U_(0x1) << USB_HOST_PINTENSET_TRFAIL_Pos) /**< (USB_HOST_PINTENSET) Error Flow Interrupt Enable Mask */
  452. #define USB_HOST_PINTENSET_TRFAIL(value) (USB_HOST_PINTENSET_TRFAIL_Msk & ((value) << USB_HOST_PINTENSET_TRFAIL_Pos))
  453. #define USB_HOST_PINTENSET_PERR_Pos _U_(3) /**< (USB_HOST_PINTENSET) Pipe Error Interrupt Enable Position */
  454. #define USB_HOST_PINTENSET_PERR_Msk (_U_(0x1) << USB_HOST_PINTENSET_PERR_Pos) /**< (USB_HOST_PINTENSET) Pipe Error Interrupt Enable Mask */
  455. #define USB_HOST_PINTENSET_PERR(value) (USB_HOST_PINTENSET_PERR_Msk & ((value) << USB_HOST_PINTENSET_PERR_Pos))
  456. #define USB_HOST_PINTENSET_TXSTP_Pos _U_(4) /**< (USB_HOST_PINTENSET) Transmit Setup Interrupt Enable Position */
  457. #define USB_HOST_PINTENSET_TXSTP_Msk (_U_(0x1) << USB_HOST_PINTENSET_TXSTP_Pos) /**< (USB_HOST_PINTENSET) Transmit Setup Interrupt Enable Mask */
  458. #define USB_HOST_PINTENSET_TXSTP(value) (USB_HOST_PINTENSET_TXSTP_Msk & ((value) << USB_HOST_PINTENSET_TXSTP_Pos))
  459. #define USB_HOST_PINTENSET_STALL_Pos _U_(5) /**< (USB_HOST_PINTENSET) Stall Interrupt Enable Position */
  460. #define USB_HOST_PINTENSET_STALL_Msk (_U_(0x1) << USB_HOST_PINTENSET_STALL_Pos) /**< (USB_HOST_PINTENSET) Stall Interrupt Enable Mask */
  461. #define USB_HOST_PINTENSET_STALL(value) (USB_HOST_PINTENSET_STALL_Msk & ((value) << USB_HOST_PINTENSET_STALL_Pos))
  462. #define USB_HOST_PINTENSET_Msk _U_(0x3F) /**< (USB_HOST_PINTENSET) Register Mask */
  463. #define USB_HOST_PINTENSET_TRCPT_Pos _U_(0) /**< (USB_HOST_PINTENSET Position) Transfer Complete x Interrupt Enable */
  464. #define USB_HOST_PINTENSET_TRCPT_Msk (_U_(0x3) << USB_HOST_PINTENSET_TRCPT_Pos) /**< (USB_HOST_PINTENSET Mask) TRCPT */
  465. #define USB_HOST_PINTENSET_TRCPT(value) (USB_HOST_PINTENSET_TRCPT_Msk & ((value) << USB_HOST_PINTENSET_TRCPT_Pos))
  466. /* -------- USB_CTRLA : (USB Offset: 0x00) (R/W 8) Control A -------- */
  467. #define USB_CTRLA_RESETVALUE _U_(0x00) /**< (USB_CTRLA) Control A Reset Value */
  468. #define USB_CTRLA_SWRST_Pos _U_(0) /**< (USB_CTRLA) Software Reset Position */
  469. #define USB_CTRLA_SWRST_Msk (_U_(0x1) << USB_CTRLA_SWRST_Pos) /**< (USB_CTRLA) Software Reset Mask */
  470. #define USB_CTRLA_SWRST(value) (USB_CTRLA_SWRST_Msk & ((value) << USB_CTRLA_SWRST_Pos))
  471. #define USB_CTRLA_ENABLE_Pos _U_(1) /**< (USB_CTRLA) Enable Position */
  472. #define USB_CTRLA_ENABLE_Msk (_U_(0x1) << USB_CTRLA_ENABLE_Pos) /**< (USB_CTRLA) Enable Mask */
  473. #define USB_CTRLA_ENABLE(value) (USB_CTRLA_ENABLE_Msk & ((value) << USB_CTRLA_ENABLE_Pos))
  474. #define USB_CTRLA_RUNSTDBY_Pos _U_(2) /**< (USB_CTRLA) Run in Standby Mode Position */
  475. #define USB_CTRLA_RUNSTDBY_Msk (_U_(0x1) << USB_CTRLA_RUNSTDBY_Pos) /**< (USB_CTRLA) Run in Standby Mode Mask */
  476. #define USB_CTRLA_RUNSTDBY(value) (USB_CTRLA_RUNSTDBY_Msk & ((value) << USB_CTRLA_RUNSTDBY_Pos))
  477. #define USB_CTRLA_MODE_Pos _U_(7) /**< (USB_CTRLA) Operating Mode Position */
  478. #define USB_CTRLA_MODE_Msk (_U_(0x1) << USB_CTRLA_MODE_Pos) /**< (USB_CTRLA) Operating Mode Mask */
  479. #define USB_CTRLA_MODE(value) (USB_CTRLA_MODE_Msk & ((value) << USB_CTRLA_MODE_Pos))
  480. #define USB_CTRLA_MODE_DEVICE_Val _U_(0x0) /**< (USB_CTRLA) Device Mode */
  481. #define USB_CTRLA_MODE_HOST_Val _U_(0x1) /**< (USB_CTRLA) Host Mode */
  482. #define USB_CTRLA_MODE_DEVICE (USB_CTRLA_MODE_DEVICE_Val << USB_CTRLA_MODE_Pos) /**< (USB_CTRLA) Device Mode Position */
  483. #define USB_CTRLA_MODE_HOST (USB_CTRLA_MODE_HOST_Val << USB_CTRLA_MODE_Pos) /**< (USB_CTRLA) Host Mode Position */
  484. #define USB_CTRLA_Msk _U_(0x87) /**< (USB_CTRLA) Register Mask */
  485. /* -------- USB_SYNCBUSY : (USB Offset: 0x02) ( R/ 8) Synchronization Busy -------- */
  486. #define USB_SYNCBUSY_RESETVALUE _U_(0x00) /**< (USB_SYNCBUSY) Synchronization Busy Reset Value */
  487. #define USB_SYNCBUSY_SWRST_Pos _U_(0) /**< (USB_SYNCBUSY) Software Reset Synchronization Busy Position */
  488. #define USB_SYNCBUSY_SWRST_Msk (_U_(0x1) << USB_SYNCBUSY_SWRST_Pos) /**< (USB_SYNCBUSY) Software Reset Synchronization Busy Mask */
  489. #define USB_SYNCBUSY_SWRST(value) (USB_SYNCBUSY_SWRST_Msk & ((value) << USB_SYNCBUSY_SWRST_Pos))
  490. #define USB_SYNCBUSY_ENABLE_Pos _U_(1) /**< (USB_SYNCBUSY) Enable Synchronization Busy Position */
  491. #define USB_SYNCBUSY_ENABLE_Msk (_U_(0x1) << USB_SYNCBUSY_ENABLE_Pos) /**< (USB_SYNCBUSY) Enable Synchronization Busy Mask */
  492. #define USB_SYNCBUSY_ENABLE(value) (USB_SYNCBUSY_ENABLE_Msk & ((value) << USB_SYNCBUSY_ENABLE_Pos))
  493. #define USB_SYNCBUSY_Msk _U_(0x03) /**< (USB_SYNCBUSY) Register Mask */
  494. /* -------- USB_QOSCTRL : (USB Offset: 0x03) (R/W 8) USB Quality Of Service -------- */
  495. #define USB_QOSCTRL_RESETVALUE _U_(0x05) /**< (USB_QOSCTRL) USB Quality Of Service Reset Value */
  496. #define USB_QOSCTRL_CQOS_Pos _U_(0) /**< (USB_QOSCTRL) Configuration Quality of Service Position */
  497. #define USB_QOSCTRL_CQOS_Msk (_U_(0x3) << USB_QOSCTRL_CQOS_Pos) /**< (USB_QOSCTRL) Configuration Quality of Service Mask */
  498. #define USB_QOSCTRL_CQOS(value) (USB_QOSCTRL_CQOS_Msk & ((value) << USB_QOSCTRL_CQOS_Pos))
  499. #define USB_QOSCTRL_CQOS_DISABLE_Val _U_(0x0) /**< (USB_QOSCTRL) Background (no sensitive operation) */
  500. #define USB_QOSCTRL_CQOS_LOW_Val _U_(0x1) /**< (USB_QOSCTRL) Sensitive Bandwidth */
  501. #define USB_QOSCTRL_CQOS_MEDIUM_Val _U_(0x2) /**< (USB_QOSCTRL) Sensitive Latency */
  502. #define USB_QOSCTRL_CQOS_HIGH_Val _U_(0x3) /**< (USB_QOSCTRL) Critical Latency */
  503. #define USB_QOSCTRL_CQOS_DISABLE (USB_QOSCTRL_CQOS_DISABLE_Val << USB_QOSCTRL_CQOS_Pos) /**< (USB_QOSCTRL) Background (no sensitive operation) Position */
  504. #define USB_QOSCTRL_CQOS_LOW (USB_QOSCTRL_CQOS_LOW_Val << USB_QOSCTRL_CQOS_Pos) /**< (USB_QOSCTRL) Sensitive Bandwidth Position */
  505. #define USB_QOSCTRL_CQOS_MEDIUM (USB_QOSCTRL_CQOS_MEDIUM_Val << USB_QOSCTRL_CQOS_Pos) /**< (USB_QOSCTRL) Sensitive Latency Position */
  506. #define USB_QOSCTRL_CQOS_HIGH (USB_QOSCTRL_CQOS_HIGH_Val << USB_QOSCTRL_CQOS_Pos) /**< (USB_QOSCTRL) Critical Latency Position */
  507. #define USB_QOSCTRL_DQOS_Pos _U_(2) /**< (USB_QOSCTRL) Data Quality of Service Position */
  508. #define USB_QOSCTRL_DQOS_Msk (_U_(0x3) << USB_QOSCTRL_DQOS_Pos) /**< (USB_QOSCTRL) Data Quality of Service Mask */
  509. #define USB_QOSCTRL_DQOS(value) (USB_QOSCTRL_DQOS_Msk & ((value) << USB_QOSCTRL_DQOS_Pos))
  510. #define USB_QOSCTRL_DQOS_DISABLE_Val _U_(0x0) /**< (USB_QOSCTRL) Background (no sensitive operation) */
  511. #define USB_QOSCTRL_DQOS_LOW_Val _U_(0x1) /**< (USB_QOSCTRL) Sensitive Bandwidth */
  512. #define USB_QOSCTRL_DQOS_MEDIUM_Val _U_(0x2) /**< (USB_QOSCTRL) Sensitive Latency */
  513. #define USB_QOSCTRL_DQOS_HIGH_Val _U_(0x3) /**< (USB_QOSCTRL) Critical Latency */
  514. #define USB_QOSCTRL_DQOS_DISABLE (USB_QOSCTRL_DQOS_DISABLE_Val << USB_QOSCTRL_DQOS_Pos) /**< (USB_QOSCTRL) Background (no sensitive operation) Position */
  515. #define USB_QOSCTRL_DQOS_LOW (USB_QOSCTRL_DQOS_LOW_Val << USB_QOSCTRL_DQOS_Pos) /**< (USB_QOSCTRL) Sensitive Bandwidth Position */
  516. #define USB_QOSCTRL_DQOS_MEDIUM (USB_QOSCTRL_DQOS_MEDIUM_Val << USB_QOSCTRL_DQOS_Pos) /**< (USB_QOSCTRL) Sensitive Latency Position */
  517. #define USB_QOSCTRL_DQOS_HIGH (USB_QOSCTRL_DQOS_HIGH_Val << USB_QOSCTRL_DQOS_Pos) /**< (USB_QOSCTRL) Critical Latency Position */
  518. #define USB_QOSCTRL_Msk _U_(0x0F) /**< (USB_QOSCTRL) Register Mask */
  519. /* -------- USB_DEVICE_CTRLB : (USB Offset: 0x08) (R/W 16) DEVICE Control B -------- */
  520. #define USB_DEVICE_CTRLB_RESETVALUE _U_(0x01) /**< (USB_DEVICE_CTRLB) DEVICE Control B Reset Value */
  521. #define USB_DEVICE_CTRLB_DETACH_Pos _U_(0) /**< (USB_DEVICE_CTRLB) Detach Position */
  522. #define USB_DEVICE_CTRLB_DETACH_Msk (_U_(0x1) << USB_DEVICE_CTRLB_DETACH_Pos) /**< (USB_DEVICE_CTRLB) Detach Mask */
  523. #define USB_DEVICE_CTRLB_DETACH(value) (USB_DEVICE_CTRLB_DETACH_Msk & ((value) << USB_DEVICE_CTRLB_DETACH_Pos))
  524. #define USB_DEVICE_CTRLB_UPRSM_Pos _U_(1) /**< (USB_DEVICE_CTRLB) Upstream Resume Position */
  525. #define USB_DEVICE_CTRLB_UPRSM_Msk (_U_(0x1) << USB_DEVICE_CTRLB_UPRSM_Pos) /**< (USB_DEVICE_CTRLB) Upstream Resume Mask */
  526. #define USB_DEVICE_CTRLB_UPRSM(value) (USB_DEVICE_CTRLB_UPRSM_Msk & ((value) << USB_DEVICE_CTRLB_UPRSM_Pos))
  527. #define USB_DEVICE_CTRLB_SPDCONF_Pos _U_(2) /**< (USB_DEVICE_CTRLB) Speed Configuration Position */
  528. #define USB_DEVICE_CTRLB_SPDCONF_Msk (_U_(0x3) << USB_DEVICE_CTRLB_SPDCONF_Pos) /**< (USB_DEVICE_CTRLB) Speed Configuration Mask */
  529. #define USB_DEVICE_CTRLB_SPDCONF(value) (USB_DEVICE_CTRLB_SPDCONF_Msk & ((value) << USB_DEVICE_CTRLB_SPDCONF_Pos))
  530. #define USB_DEVICE_CTRLB_SPDCONF_FS_Val _U_(0x0) /**< (USB_DEVICE_CTRLB) FS : Full Speed */
  531. #define USB_DEVICE_CTRLB_SPDCONF_LS_Val _U_(0x1) /**< (USB_DEVICE_CTRLB) LS : Low Speed */
  532. #define USB_DEVICE_CTRLB_SPDCONF_HS_Val _U_(0x2) /**< (USB_DEVICE_CTRLB) HS : High Speed capable */
  533. #define USB_DEVICE_CTRLB_SPDCONF_HSTM_Val _U_(0x3) /**< (USB_DEVICE_CTRLB) HSTM: High Speed Test Mode (force high-speed mode for test mode) */
  534. #define USB_DEVICE_CTRLB_SPDCONF_FS (USB_DEVICE_CTRLB_SPDCONF_FS_Val << USB_DEVICE_CTRLB_SPDCONF_Pos) /**< (USB_DEVICE_CTRLB) FS : Full Speed Position */
  535. #define USB_DEVICE_CTRLB_SPDCONF_LS (USB_DEVICE_CTRLB_SPDCONF_LS_Val << USB_DEVICE_CTRLB_SPDCONF_Pos) /**< (USB_DEVICE_CTRLB) LS : Low Speed Position */
  536. #define USB_DEVICE_CTRLB_SPDCONF_HS (USB_DEVICE_CTRLB_SPDCONF_HS_Val << USB_DEVICE_CTRLB_SPDCONF_Pos) /**< (USB_DEVICE_CTRLB) HS : High Speed capable Position */
  537. #define USB_DEVICE_CTRLB_SPDCONF_HSTM (USB_DEVICE_CTRLB_SPDCONF_HSTM_Val << USB_DEVICE_CTRLB_SPDCONF_Pos) /**< (USB_DEVICE_CTRLB) HSTM: High Speed Test Mode (force high-speed mode for test mode) Position */
  538. #define USB_DEVICE_CTRLB_NREPLY_Pos _U_(4) /**< (USB_DEVICE_CTRLB) No Reply Position */
  539. #define USB_DEVICE_CTRLB_NREPLY_Msk (_U_(0x1) << USB_DEVICE_CTRLB_NREPLY_Pos) /**< (USB_DEVICE_CTRLB) No Reply Mask */
  540. #define USB_DEVICE_CTRLB_NREPLY(value) (USB_DEVICE_CTRLB_NREPLY_Msk & ((value) << USB_DEVICE_CTRLB_NREPLY_Pos))
  541. #define USB_DEVICE_CTRLB_TSTJ_Pos _U_(5) /**< (USB_DEVICE_CTRLB) Test mode J Position */
  542. #define USB_DEVICE_CTRLB_TSTJ_Msk (_U_(0x1) << USB_DEVICE_CTRLB_TSTJ_Pos) /**< (USB_DEVICE_CTRLB) Test mode J Mask */
  543. #define USB_DEVICE_CTRLB_TSTJ(value) (USB_DEVICE_CTRLB_TSTJ_Msk & ((value) << USB_DEVICE_CTRLB_TSTJ_Pos))
  544. #define USB_DEVICE_CTRLB_TSTK_Pos _U_(6) /**< (USB_DEVICE_CTRLB) Test mode K Position */
  545. #define USB_DEVICE_CTRLB_TSTK_Msk (_U_(0x1) << USB_DEVICE_CTRLB_TSTK_Pos) /**< (USB_DEVICE_CTRLB) Test mode K Mask */
  546. #define USB_DEVICE_CTRLB_TSTK(value) (USB_DEVICE_CTRLB_TSTK_Msk & ((value) << USB_DEVICE_CTRLB_TSTK_Pos))
  547. #define USB_DEVICE_CTRLB_TSTPCKT_Pos _U_(7) /**< (USB_DEVICE_CTRLB) Test packet mode Position */
  548. #define USB_DEVICE_CTRLB_TSTPCKT_Msk (_U_(0x1) << USB_DEVICE_CTRLB_TSTPCKT_Pos) /**< (USB_DEVICE_CTRLB) Test packet mode Mask */
  549. #define USB_DEVICE_CTRLB_TSTPCKT(value) (USB_DEVICE_CTRLB_TSTPCKT_Msk & ((value) << USB_DEVICE_CTRLB_TSTPCKT_Pos))
  550. #define USB_DEVICE_CTRLB_OPMODE2_Pos _U_(8) /**< (USB_DEVICE_CTRLB) Specific Operational Mode Position */
  551. #define USB_DEVICE_CTRLB_OPMODE2_Msk (_U_(0x1) << USB_DEVICE_CTRLB_OPMODE2_Pos) /**< (USB_DEVICE_CTRLB) Specific Operational Mode Mask */
  552. #define USB_DEVICE_CTRLB_OPMODE2(value) (USB_DEVICE_CTRLB_OPMODE2_Msk & ((value) << USB_DEVICE_CTRLB_OPMODE2_Pos))
  553. #define USB_DEVICE_CTRLB_GNAK_Pos _U_(9) /**< (USB_DEVICE_CTRLB) Global NAK Position */
  554. #define USB_DEVICE_CTRLB_GNAK_Msk (_U_(0x1) << USB_DEVICE_CTRLB_GNAK_Pos) /**< (USB_DEVICE_CTRLB) Global NAK Mask */
  555. #define USB_DEVICE_CTRLB_GNAK(value) (USB_DEVICE_CTRLB_GNAK_Msk & ((value) << USB_DEVICE_CTRLB_GNAK_Pos))
  556. #define USB_DEVICE_CTRLB_LPMHDSK_Pos _U_(10) /**< (USB_DEVICE_CTRLB) Link Power Management Handshake Position */
  557. #define USB_DEVICE_CTRLB_LPMHDSK_Msk (_U_(0x3) << USB_DEVICE_CTRLB_LPMHDSK_Pos) /**< (USB_DEVICE_CTRLB) Link Power Management Handshake Mask */
  558. #define USB_DEVICE_CTRLB_LPMHDSK(value) (USB_DEVICE_CTRLB_LPMHDSK_Msk & ((value) << USB_DEVICE_CTRLB_LPMHDSK_Pos))
  559. #define USB_DEVICE_CTRLB_LPMHDSK_NO_Val _U_(0x0) /**< (USB_DEVICE_CTRLB) No handshake. LPM is not supported */
  560. #define USB_DEVICE_CTRLB_LPMHDSK_ACK_Val _U_(0x1) /**< (USB_DEVICE_CTRLB) ACK */
  561. #define USB_DEVICE_CTRLB_LPMHDSK_NYET_Val _U_(0x2) /**< (USB_DEVICE_CTRLB) NYET */
  562. #define USB_DEVICE_CTRLB_LPMHDSK_STALL_Val _U_(0x3) /**< (USB_DEVICE_CTRLB) STALL */
  563. #define USB_DEVICE_CTRLB_LPMHDSK_NO (USB_DEVICE_CTRLB_LPMHDSK_NO_Val << USB_DEVICE_CTRLB_LPMHDSK_Pos) /**< (USB_DEVICE_CTRLB) No handshake. LPM is not supported Position */
  564. #define USB_DEVICE_CTRLB_LPMHDSK_ACK (USB_DEVICE_CTRLB_LPMHDSK_ACK_Val << USB_DEVICE_CTRLB_LPMHDSK_Pos) /**< (USB_DEVICE_CTRLB) ACK Position */
  565. #define USB_DEVICE_CTRLB_LPMHDSK_NYET (USB_DEVICE_CTRLB_LPMHDSK_NYET_Val << USB_DEVICE_CTRLB_LPMHDSK_Pos) /**< (USB_DEVICE_CTRLB) NYET Position */
  566. #define USB_DEVICE_CTRLB_LPMHDSK_STALL (USB_DEVICE_CTRLB_LPMHDSK_STALL_Val << USB_DEVICE_CTRLB_LPMHDSK_Pos) /**< (USB_DEVICE_CTRLB) STALL Position */
  567. #define USB_DEVICE_CTRLB_Msk _U_(0x0FFF) /**< (USB_DEVICE_CTRLB) Register Mask */
  568. #define USB_DEVICE_CTRLB_OPMODE_Pos _U_(8) /**< (USB_DEVICE_CTRLB Position) Specific Operational Mode */
  569. #define USB_DEVICE_CTRLB_OPMODE_Msk (_U_(0x1) << USB_DEVICE_CTRLB_OPMODE_Pos) /**< (USB_DEVICE_CTRLB Mask) OPMODE */
  570. #define USB_DEVICE_CTRLB_OPMODE(value) (USB_DEVICE_CTRLB_OPMODE_Msk & ((value) << USB_DEVICE_CTRLB_OPMODE_Pos))
  571. /* -------- USB_HOST_CTRLB : (USB Offset: 0x08) (R/W 16) HOST Control B -------- */
  572. #define USB_HOST_CTRLB_RESETVALUE _U_(0x00) /**< (USB_HOST_CTRLB) HOST Control B Reset Value */
  573. #define USB_HOST_CTRLB_RESUME_Pos _U_(1) /**< (USB_HOST_CTRLB) Send USB Resume Position */
  574. #define USB_HOST_CTRLB_RESUME_Msk (_U_(0x1) << USB_HOST_CTRLB_RESUME_Pos) /**< (USB_HOST_CTRLB) Send USB Resume Mask */
  575. #define USB_HOST_CTRLB_RESUME(value) (USB_HOST_CTRLB_RESUME_Msk & ((value) << USB_HOST_CTRLB_RESUME_Pos))
  576. #define USB_HOST_CTRLB_SPDCONF_Pos _U_(2) /**< (USB_HOST_CTRLB) Speed Configuration for Host Position */
  577. #define USB_HOST_CTRLB_SPDCONF_Msk (_U_(0x3) << USB_HOST_CTRLB_SPDCONF_Pos) /**< (USB_HOST_CTRLB) Speed Configuration for Host Mask */
  578. #define USB_HOST_CTRLB_SPDCONF(value) (USB_HOST_CTRLB_SPDCONF_Msk & ((value) << USB_HOST_CTRLB_SPDCONF_Pos))
  579. #define USB_HOST_CTRLB_SPDCONF_NORMAL_Val _U_(0x0) /**< (USB_HOST_CTRLB) Normal mode:the host starts in full-speed mode and performs a high-speed reset to switch to the high speed mode if the downstream peripheral is high-speed capable. */
  580. #define USB_HOST_CTRLB_SPDCONF_FS_Val _U_(0x3) /**< (USB_HOST_CTRLB) Full-speed:the host remains in full-speed mode whatever is the peripheral speed capability. Relevant in UTMI mode only. */
  581. #define USB_HOST_CTRLB_SPDCONF_NORMAL (USB_HOST_CTRLB_SPDCONF_NORMAL_Val << USB_HOST_CTRLB_SPDCONF_Pos) /**< (USB_HOST_CTRLB) Normal mode:the host starts in full-speed mode and performs a high-speed reset to switch to the high speed mode if the downstream peripheral is high-speed capable. Position */
  582. #define USB_HOST_CTRLB_SPDCONF_FS (USB_HOST_CTRLB_SPDCONF_FS_Val << USB_HOST_CTRLB_SPDCONF_Pos) /**< (USB_HOST_CTRLB) Full-speed:the host remains in full-speed mode whatever is the peripheral speed capability. Relevant in UTMI mode only. Position */
  583. #define USB_HOST_CTRLB_TSTJ_Pos _U_(5) /**< (USB_HOST_CTRLB) Test mode J Position */
  584. #define USB_HOST_CTRLB_TSTJ_Msk (_U_(0x1) << USB_HOST_CTRLB_TSTJ_Pos) /**< (USB_HOST_CTRLB) Test mode J Mask */
  585. #define USB_HOST_CTRLB_TSTJ(value) (USB_HOST_CTRLB_TSTJ_Msk & ((value) << USB_HOST_CTRLB_TSTJ_Pos))
  586. #define USB_HOST_CTRLB_TSTK_Pos _U_(6) /**< (USB_HOST_CTRLB) Test mode K Position */
  587. #define USB_HOST_CTRLB_TSTK_Msk (_U_(0x1) << USB_HOST_CTRLB_TSTK_Pos) /**< (USB_HOST_CTRLB) Test mode K Mask */
  588. #define USB_HOST_CTRLB_TSTK(value) (USB_HOST_CTRLB_TSTK_Msk & ((value) << USB_HOST_CTRLB_TSTK_Pos))
  589. #define USB_HOST_CTRLB_SOFE_Pos _U_(8) /**< (USB_HOST_CTRLB) Start of Frame Generation Enable Position */
  590. #define USB_HOST_CTRLB_SOFE_Msk (_U_(0x1) << USB_HOST_CTRLB_SOFE_Pos) /**< (USB_HOST_CTRLB) Start of Frame Generation Enable Mask */
  591. #define USB_HOST_CTRLB_SOFE(value) (USB_HOST_CTRLB_SOFE_Msk & ((value) << USB_HOST_CTRLB_SOFE_Pos))
  592. #define USB_HOST_CTRLB_BUSRESET_Pos _U_(9) /**< (USB_HOST_CTRLB) Send USB Reset Position */
  593. #define USB_HOST_CTRLB_BUSRESET_Msk (_U_(0x1) << USB_HOST_CTRLB_BUSRESET_Pos) /**< (USB_HOST_CTRLB) Send USB Reset Mask */
  594. #define USB_HOST_CTRLB_BUSRESET(value) (USB_HOST_CTRLB_BUSRESET_Msk & ((value) << USB_HOST_CTRLB_BUSRESET_Pos))
  595. #define USB_HOST_CTRLB_VBUSOK_Pos _U_(10) /**< (USB_HOST_CTRLB) VBUS is OK Position */
  596. #define USB_HOST_CTRLB_VBUSOK_Msk (_U_(0x1) << USB_HOST_CTRLB_VBUSOK_Pos) /**< (USB_HOST_CTRLB) VBUS is OK Mask */
  597. #define USB_HOST_CTRLB_VBUSOK(value) (USB_HOST_CTRLB_VBUSOK_Msk & ((value) << USB_HOST_CTRLB_VBUSOK_Pos))
  598. #define USB_HOST_CTRLB_L1RESUME_Pos _U_(11) /**< (USB_HOST_CTRLB) Send L1 Resume Position */
  599. #define USB_HOST_CTRLB_L1RESUME_Msk (_U_(0x1) << USB_HOST_CTRLB_L1RESUME_Pos) /**< (USB_HOST_CTRLB) Send L1 Resume Mask */
  600. #define USB_HOST_CTRLB_L1RESUME(value) (USB_HOST_CTRLB_L1RESUME_Msk & ((value) << USB_HOST_CTRLB_L1RESUME_Pos))
  601. #define USB_HOST_CTRLB_Msk _U_(0x0F6E) /**< (USB_HOST_CTRLB) Register Mask */
  602. /* -------- USB_DEVICE_DADD : (USB Offset: 0x0A) (R/W 8) DEVICE Device Address -------- */
  603. #define USB_DEVICE_DADD_RESETVALUE _U_(0x00) /**< (USB_DEVICE_DADD) DEVICE Device Address Reset Value */
  604. #define USB_DEVICE_DADD_DADD_Pos _U_(0) /**< (USB_DEVICE_DADD) Device Address Position */
  605. #define USB_DEVICE_DADD_DADD_Msk (_U_(0x7F) << USB_DEVICE_DADD_DADD_Pos) /**< (USB_DEVICE_DADD) Device Address Mask */
  606. #define USB_DEVICE_DADD_DADD(value) (USB_DEVICE_DADD_DADD_Msk & ((value) << USB_DEVICE_DADD_DADD_Pos))
  607. #define USB_DEVICE_DADD_ADDEN_Pos _U_(7) /**< (USB_DEVICE_DADD) Device Address Enable Position */
  608. #define USB_DEVICE_DADD_ADDEN_Msk (_U_(0x1) << USB_DEVICE_DADD_ADDEN_Pos) /**< (USB_DEVICE_DADD) Device Address Enable Mask */
  609. #define USB_DEVICE_DADD_ADDEN(value) (USB_DEVICE_DADD_ADDEN_Msk & ((value) << USB_DEVICE_DADD_ADDEN_Pos))
  610. #define USB_DEVICE_DADD_Msk _U_(0xFF) /**< (USB_DEVICE_DADD) Register Mask */
  611. /* -------- USB_HOST_HSOFC : (USB Offset: 0x0A) (R/W 8) HOST Host Start Of Frame Control -------- */
  612. #define USB_HOST_HSOFC_RESETVALUE _U_(0x00) /**< (USB_HOST_HSOFC) HOST Host Start Of Frame Control Reset Value */
  613. #define USB_HOST_HSOFC_FLENC_Pos _U_(0) /**< (USB_HOST_HSOFC) Frame Length Control Position */
  614. #define USB_HOST_HSOFC_FLENC_Msk (_U_(0xF) << USB_HOST_HSOFC_FLENC_Pos) /**< (USB_HOST_HSOFC) Frame Length Control Mask */
  615. #define USB_HOST_HSOFC_FLENC(value) (USB_HOST_HSOFC_FLENC_Msk & ((value) << USB_HOST_HSOFC_FLENC_Pos))
  616. #define USB_HOST_HSOFC_FLENCE_Pos _U_(7) /**< (USB_HOST_HSOFC) Frame Length Control Enable Position */
  617. #define USB_HOST_HSOFC_FLENCE_Msk (_U_(0x1) << USB_HOST_HSOFC_FLENCE_Pos) /**< (USB_HOST_HSOFC) Frame Length Control Enable Mask */
  618. #define USB_HOST_HSOFC_FLENCE(value) (USB_HOST_HSOFC_FLENCE_Msk & ((value) << USB_HOST_HSOFC_FLENCE_Pos))
  619. #define USB_HOST_HSOFC_Msk _U_(0x8F) /**< (USB_HOST_HSOFC) Register Mask */
  620. /* -------- USB_DEVICE_STATUS : (USB Offset: 0x0C) ( R/ 8) DEVICE Status -------- */
  621. #define USB_DEVICE_STATUS_RESETVALUE _U_(0x40) /**< (USB_DEVICE_STATUS) DEVICE Status Reset Value */
  622. #define USB_DEVICE_STATUS_SPEED_Pos _U_(2) /**< (USB_DEVICE_STATUS) Speed Status Position */
  623. #define USB_DEVICE_STATUS_SPEED_Msk (_U_(0x3) << USB_DEVICE_STATUS_SPEED_Pos) /**< (USB_DEVICE_STATUS) Speed Status Mask */
  624. #define USB_DEVICE_STATUS_SPEED(value) (USB_DEVICE_STATUS_SPEED_Msk & ((value) << USB_DEVICE_STATUS_SPEED_Pos))
  625. #define USB_DEVICE_STATUS_SPEED_FS_Val _U_(0x0) /**< (USB_DEVICE_STATUS) Full-speed mode */
  626. #define USB_DEVICE_STATUS_SPEED_HS_Val _U_(0x1) /**< (USB_DEVICE_STATUS) High-speed mode */
  627. #define USB_DEVICE_STATUS_SPEED_LS_Val _U_(0x2) /**< (USB_DEVICE_STATUS) Low-speed mode */
  628. #define USB_DEVICE_STATUS_SPEED_FS (USB_DEVICE_STATUS_SPEED_FS_Val << USB_DEVICE_STATUS_SPEED_Pos) /**< (USB_DEVICE_STATUS) Full-speed mode Position */
  629. #define USB_DEVICE_STATUS_SPEED_HS (USB_DEVICE_STATUS_SPEED_HS_Val << USB_DEVICE_STATUS_SPEED_Pos) /**< (USB_DEVICE_STATUS) High-speed mode Position */
  630. #define USB_DEVICE_STATUS_SPEED_LS (USB_DEVICE_STATUS_SPEED_LS_Val << USB_DEVICE_STATUS_SPEED_Pos) /**< (USB_DEVICE_STATUS) Low-speed mode Position */
  631. #define USB_DEVICE_STATUS_LINESTATE_Pos _U_(6) /**< (USB_DEVICE_STATUS) USB Line State Status Position */
  632. #define USB_DEVICE_STATUS_LINESTATE_Msk (_U_(0x3) << USB_DEVICE_STATUS_LINESTATE_Pos) /**< (USB_DEVICE_STATUS) USB Line State Status Mask */
  633. #define USB_DEVICE_STATUS_LINESTATE(value) (USB_DEVICE_STATUS_LINESTATE_Msk & ((value) << USB_DEVICE_STATUS_LINESTATE_Pos))
  634. #define USB_DEVICE_STATUS_LINESTATE_0_Val _U_(0x0) /**< (USB_DEVICE_STATUS) SE0/RESET */
  635. #define USB_DEVICE_STATUS_LINESTATE_1_Val _U_(0x1) /**< (USB_DEVICE_STATUS) FS-J or LS-K State */
  636. #define USB_DEVICE_STATUS_LINESTATE_2_Val _U_(0x2) /**< (USB_DEVICE_STATUS) FS-K or LS-J State */
  637. #define USB_DEVICE_STATUS_LINESTATE_0 (USB_DEVICE_STATUS_LINESTATE_0_Val << USB_DEVICE_STATUS_LINESTATE_Pos) /**< (USB_DEVICE_STATUS) SE0/RESET Position */
  638. #define USB_DEVICE_STATUS_LINESTATE_1 (USB_DEVICE_STATUS_LINESTATE_1_Val << USB_DEVICE_STATUS_LINESTATE_Pos) /**< (USB_DEVICE_STATUS) FS-J or LS-K State Position */
  639. #define USB_DEVICE_STATUS_LINESTATE_2 (USB_DEVICE_STATUS_LINESTATE_2_Val << USB_DEVICE_STATUS_LINESTATE_Pos) /**< (USB_DEVICE_STATUS) FS-K or LS-J State Position */
  640. #define USB_DEVICE_STATUS_Msk _U_(0xCC) /**< (USB_DEVICE_STATUS) Register Mask */
  641. /* -------- USB_HOST_STATUS : (USB Offset: 0x0C) (R/W 8) HOST Status -------- */
  642. #define USB_HOST_STATUS_RESETVALUE _U_(0x00) /**< (USB_HOST_STATUS) HOST Status Reset Value */
  643. #define USB_HOST_STATUS_SPEED_Pos _U_(2) /**< (USB_HOST_STATUS) Speed Status Position */
  644. #define USB_HOST_STATUS_SPEED_Msk (_U_(0x3) << USB_HOST_STATUS_SPEED_Pos) /**< (USB_HOST_STATUS) Speed Status Mask */
  645. #define USB_HOST_STATUS_SPEED(value) (USB_HOST_STATUS_SPEED_Msk & ((value) << USB_HOST_STATUS_SPEED_Pos))
  646. #define USB_HOST_STATUS_LINESTATE_Pos _U_(6) /**< (USB_HOST_STATUS) USB Line State Status Position */
  647. #define USB_HOST_STATUS_LINESTATE_Msk (_U_(0x3) << USB_HOST_STATUS_LINESTATE_Pos) /**< (USB_HOST_STATUS) USB Line State Status Mask */
  648. #define USB_HOST_STATUS_LINESTATE(value) (USB_HOST_STATUS_LINESTATE_Msk & ((value) << USB_HOST_STATUS_LINESTATE_Pos))
  649. #define USB_HOST_STATUS_Msk _U_(0xCC) /**< (USB_HOST_STATUS) Register Mask */
  650. /* -------- USB_FSMSTATUS : (USB Offset: 0x0D) ( R/ 8) Finite State Machine Status -------- */
  651. #define USB_FSMSTATUS_RESETVALUE _U_(0x01) /**< (USB_FSMSTATUS) Finite State Machine Status Reset Value */
  652. #define USB_FSMSTATUS_FSMSTATE_Pos _U_(0) /**< (USB_FSMSTATUS) Fine State Machine Status Position */
  653. #define USB_FSMSTATUS_FSMSTATE_Msk (_U_(0x7F) << USB_FSMSTATUS_FSMSTATE_Pos) /**< (USB_FSMSTATUS) Fine State Machine Status Mask */
  654. #define USB_FSMSTATUS_FSMSTATE(value) (USB_FSMSTATUS_FSMSTATE_Msk & ((value) << USB_FSMSTATUS_FSMSTATE_Pos))
  655. #define USB_FSMSTATUS_FSMSTATE_OFF_Val _U_(0x1) /**< (USB_FSMSTATUS) OFF (L3). It corresponds to the powered-off, disconnected, and disabled state */
  656. #define USB_FSMSTATUS_FSMSTATE_ON_Val _U_(0x2) /**< (USB_FSMSTATUS) ON (L0). It corresponds to the Idle and Active states */
  657. #define USB_FSMSTATUS_FSMSTATE_SUSPEND_Val _U_(0x4) /**< (USB_FSMSTATUS) SUSPEND (L2) */
  658. #define USB_FSMSTATUS_FSMSTATE_SLEEP_Val _U_(0x8) /**< (USB_FSMSTATUS) SLEEP (L1) */
  659. #define USB_FSMSTATUS_FSMSTATE_DNRESUME_Val _U_(0x10) /**< (USB_FSMSTATUS) DNRESUME. Down Stream Resume. */
  660. #define USB_FSMSTATUS_FSMSTATE_UPRESUME_Val _U_(0x20) /**< (USB_FSMSTATUS) UPRESUME. Up Stream Resume. */
  661. #define USB_FSMSTATUS_FSMSTATE_RESET_Val _U_(0x40) /**< (USB_FSMSTATUS) RESET. USB lines Reset. */
  662. #define USB_FSMSTATUS_FSMSTATE_OFF (USB_FSMSTATUS_FSMSTATE_OFF_Val << USB_FSMSTATUS_FSMSTATE_Pos) /**< (USB_FSMSTATUS) OFF (L3). It corresponds to the powered-off, disconnected, and disabled state Position */
  663. #define USB_FSMSTATUS_FSMSTATE_ON (USB_FSMSTATUS_FSMSTATE_ON_Val << USB_FSMSTATUS_FSMSTATE_Pos) /**< (USB_FSMSTATUS) ON (L0). It corresponds to the Idle and Active states Position */
  664. #define USB_FSMSTATUS_FSMSTATE_SUSPEND (USB_FSMSTATUS_FSMSTATE_SUSPEND_Val << USB_FSMSTATUS_FSMSTATE_Pos) /**< (USB_FSMSTATUS) SUSPEND (L2) Position */
  665. #define USB_FSMSTATUS_FSMSTATE_SLEEP (USB_FSMSTATUS_FSMSTATE_SLEEP_Val << USB_FSMSTATUS_FSMSTATE_Pos) /**< (USB_FSMSTATUS) SLEEP (L1) Position */
  666. #define USB_FSMSTATUS_FSMSTATE_DNRESUME (USB_FSMSTATUS_FSMSTATE_DNRESUME_Val << USB_FSMSTATUS_FSMSTATE_Pos) /**< (USB_FSMSTATUS) DNRESUME. Down Stream Resume. Position */
  667. #define USB_FSMSTATUS_FSMSTATE_UPRESUME (USB_FSMSTATUS_FSMSTATE_UPRESUME_Val << USB_FSMSTATUS_FSMSTATE_Pos) /**< (USB_FSMSTATUS) UPRESUME. Up Stream Resume. Position */
  668. #define USB_FSMSTATUS_FSMSTATE_RESET (USB_FSMSTATUS_FSMSTATE_RESET_Val << USB_FSMSTATUS_FSMSTATE_Pos) /**< (USB_FSMSTATUS) RESET. USB lines Reset. Position */
  669. #define USB_FSMSTATUS_Msk _U_(0x7F) /**< (USB_FSMSTATUS) Register Mask */
  670. /* -------- USB_DEVICE_FNUM : (USB Offset: 0x10) ( R/ 16) DEVICE Device Frame Number -------- */
  671. #define USB_DEVICE_FNUM_RESETVALUE _U_(0x00) /**< (USB_DEVICE_FNUM) DEVICE Device Frame Number Reset Value */
  672. #define USB_DEVICE_FNUM_MFNUM_Pos _U_(0) /**< (USB_DEVICE_FNUM) Micro Frame Number Position */
  673. #define USB_DEVICE_FNUM_MFNUM_Msk (_U_(0x7) << USB_DEVICE_FNUM_MFNUM_Pos) /**< (USB_DEVICE_FNUM) Micro Frame Number Mask */
  674. #define USB_DEVICE_FNUM_MFNUM(value) (USB_DEVICE_FNUM_MFNUM_Msk & ((value) << USB_DEVICE_FNUM_MFNUM_Pos))
  675. #define USB_DEVICE_FNUM_FNUM_Pos _U_(3) /**< (USB_DEVICE_FNUM) Frame Number Position */
  676. #define USB_DEVICE_FNUM_FNUM_Msk (_U_(0x7FF) << USB_DEVICE_FNUM_FNUM_Pos) /**< (USB_DEVICE_FNUM) Frame Number Mask */
  677. #define USB_DEVICE_FNUM_FNUM(value) (USB_DEVICE_FNUM_FNUM_Msk & ((value) << USB_DEVICE_FNUM_FNUM_Pos))
  678. #define USB_DEVICE_FNUM_FNCERR_Pos _U_(15) /**< (USB_DEVICE_FNUM) Frame Number CRC Error Position */
  679. #define USB_DEVICE_FNUM_FNCERR_Msk (_U_(0x1) << USB_DEVICE_FNUM_FNCERR_Pos) /**< (USB_DEVICE_FNUM) Frame Number CRC Error Mask */
  680. #define USB_DEVICE_FNUM_FNCERR(value) (USB_DEVICE_FNUM_FNCERR_Msk & ((value) << USB_DEVICE_FNUM_FNCERR_Pos))
  681. #define USB_DEVICE_FNUM_Msk _U_(0xBFFF) /**< (USB_DEVICE_FNUM) Register Mask */
  682. /* -------- USB_HOST_FNUM : (USB Offset: 0x10) (R/W 16) HOST Host Frame Number -------- */
  683. #define USB_HOST_FNUM_RESETVALUE _U_(0x00) /**< (USB_HOST_FNUM) HOST Host Frame Number Reset Value */
  684. #define USB_HOST_FNUM_MFNUM_Pos _U_(0) /**< (USB_HOST_FNUM) Micro Frame Number Position */
  685. #define USB_HOST_FNUM_MFNUM_Msk (_U_(0x7) << USB_HOST_FNUM_MFNUM_Pos) /**< (USB_HOST_FNUM) Micro Frame Number Mask */
  686. #define USB_HOST_FNUM_MFNUM(value) (USB_HOST_FNUM_MFNUM_Msk & ((value) << USB_HOST_FNUM_MFNUM_Pos))
  687. #define USB_HOST_FNUM_FNUM_Pos _U_(3) /**< (USB_HOST_FNUM) Frame Number Position */
  688. #define USB_HOST_FNUM_FNUM_Msk (_U_(0x7FF) << USB_HOST_FNUM_FNUM_Pos) /**< (USB_HOST_FNUM) Frame Number Mask */
  689. #define USB_HOST_FNUM_FNUM(value) (USB_HOST_FNUM_FNUM_Msk & ((value) << USB_HOST_FNUM_FNUM_Pos))
  690. #define USB_HOST_FNUM_Msk _U_(0x3FFF) /**< (USB_HOST_FNUM) Register Mask */
  691. /* -------- USB_HOST_FLENHIGH : (USB Offset: 0x12) ( R/ 8) HOST Host Frame Length -------- */
  692. #define USB_HOST_FLENHIGH_RESETVALUE _U_(0x00) /**< (USB_HOST_FLENHIGH) HOST Host Frame Length Reset Value */
  693. #define USB_HOST_FLENHIGH_FLENHIGH_Pos _U_(0) /**< (USB_HOST_FLENHIGH) Frame Length Position */
  694. #define USB_HOST_FLENHIGH_FLENHIGH_Msk (_U_(0xFF) << USB_HOST_FLENHIGH_FLENHIGH_Pos) /**< (USB_HOST_FLENHIGH) Frame Length Mask */
  695. #define USB_HOST_FLENHIGH_FLENHIGH(value) (USB_HOST_FLENHIGH_FLENHIGH_Msk & ((value) << USB_HOST_FLENHIGH_FLENHIGH_Pos))
  696. #define USB_HOST_FLENHIGH_Msk _U_(0xFF) /**< (USB_HOST_FLENHIGH) Register Mask */
  697. /* -------- USB_DEVICE_INTENCLR : (USB Offset: 0x14) (R/W 16) DEVICE Device Interrupt Enable Clear -------- */
  698. #define USB_DEVICE_INTENCLR_RESETVALUE _U_(0x00) /**< (USB_DEVICE_INTENCLR) DEVICE Device Interrupt Enable Clear Reset Value */
  699. #define USB_DEVICE_INTENCLR_SUSPEND_Pos _U_(0) /**< (USB_DEVICE_INTENCLR) Suspend Interrupt Enable Position */
  700. #define USB_DEVICE_INTENCLR_SUSPEND_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_SUSPEND_Pos) /**< (USB_DEVICE_INTENCLR) Suspend Interrupt Enable Mask */
  701. #define USB_DEVICE_INTENCLR_SUSPEND(value) (USB_DEVICE_INTENCLR_SUSPEND_Msk & ((value) << USB_DEVICE_INTENCLR_SUSPEND_Pos))
  702. #define USB_DEVICE_INTENCLR_MSOF_Pos _U_(1) /**< (USB_DEVICE_INTENCLR) Micro Start of Frame Interrupt Enable in High Speed Mode Position */
  703. #define USB_DEVICE_INTENCLR_MSOF_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_MSOF_Pos) /**< (USB_DEVICE_INTENCLR) Micro Start of Frame Interrupt Enable in High Speed Mode Mask */
  704. #define USB_DEVICE_INTENCLR_MSOF(value) (USB_DEVICE_INTENCLR_MSOF_Msk & ((value) << USB_DEVICE_INTENCLR_MSOF_Pos))
  705. #define USB_DEVICE_INTENCLR_SOF_Pos _U_(2) /**< (USB_DEVICE_INTENCLR) Start Of Frame Interrupt Enable Position */
  706. #define USB_DEVICE_INTENCLR_SOF_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_SOF_Pos) /**< (USB_DEVICE_INTENCLR) Start Of Frame Interrupt Enable Mask */
  707. #define USB_DEVICE_INTENCLR_SOF(value) (USB_DEVICE_INTENCLR_SOF_Msk & ((value) << USB_DEVICE_INTENCLR_SOF_Pos))
  708. #define USB_DEVICE_INTENCLR_EORST_Pos _U_(3) /**< (USB_DEVICE_INTENCLR) End of Reset Interrupt Enable Position */
  709. #define USB_DEVICE_INTENCLR_EORST_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_EORST_Pos) /**< (USB_DEVICE_INTENCLR) End of Reset Interrupt Enable Mask */
  710. #define USB_DEVICE_INTENCLR_EORST(value) (USB_DEVICE_INTENCLR_EORST_Msk & ((value) << USB_DEVICE_INTENCLR_EORST_Pos))
  711. #define USB_DEVICE_INTENCLR_WAKEUP_Pos _U_(4) /**< (USB_DEVICE_INTENCLR) Wake Up Interrupt Enable Position */
  712. #define USB_DEVICE_INTENCLR_WAKEUP_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_WAKEUP_Pos) /**< (USB_DEVICE_INTENCLR) Wake Up Interrupt Enable Mask */
  713. #define USB_DEVICE_INTENCLR_WAKEUP(value) (USB_DEVICE_INTENCLR_WAKEUP_Msk & ((value) << USB_DEVICE_INTENCLR_WAKEUP_Pos))
  714. #define USB_DEVICE_INTENCLR_EORSM_Pos _U_(5) /**< (USB_DEVICE_INTENCLR) End Of Resume Interrupt Enable Position */
  715. #define USB_DEVICE_INTENCLR_EORSM_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_EORSM_Pos) /**< (USB_DEVICE_INTENCLR) End Of Resume Interrupt Enable Mask */
  716. #define USB_DEVICE_INTENCLR_EORSM(value) (USB_DEVICE_INTENCLR_EORSM_Msk & ((value) << USB_DEVICE_INTENCLR_EORSM_Pos))
  717. #define USB_DEVICE_INTENCLR_UPRSM_Pos _U_(6) /**< (USB_DEVICE_INTENCLR) Upstream Resume Interrupt Enable Position */
  718. #define USB_DEVICE_INTENCLR_UPRSM_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_UPRSM_Pos) /**< (USB_DEVICE_INTENCLR) Upstream Resume Interrupt Enable Mask */
  719. #define USB_DEVICE_INTENCLR_UPRSM(value) (USB_DEVICE_INTENCLR_UPRSM_Msk & ((value) << USB_DEVICE_INTENCLR_UPRSM_Pos))
  720. #define USB_DEVICE_INTENCLR_RAMACER_Pos _U_(7) /**< (USB_DEVICE_INTENCLR) Ram Access Interrupt Enable Position */
  721. #define USB_DEVICE_INTENCLR_RAMACER_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_RAMACER_Pos) /**< (USB_DEVICE_INTENCLR) Ram Access Interrupt Enable Mask */
  722. #define USB_DEVICE_INTENCLR_RAMACER(value) (USB_DEVICE_INTENCLR_RAMACER_Msk & ((value) << USB_DEVICE_INTENCLR_RAMACER_Pos))
  723. #define USB_DEVICE_INTENCLR_LPMNYET_Pos _U_(8) /**< (USB_DEVICE_INTENCLR) Link Power Management Not Yet Interrupt Enable Position */
  724. #define USB_DEVICE_INTENCLR_LPMNYET_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_LPMNYET_Pos) /**< (USB_DEVICE_INTENCLR) Link Power Management Not Yet Interrupt Enable Mask */
  725. #define USB_DEVICE_INTENCLR_LPMNYET(value) (USB_DEVICE_INTENCLR_LPMNYET_Msk & ((value) << USB_DEVICE_INTENCLR_LPMNYET_Pos))
  726. #define USB_DEVICE_INTENCLR_LPMSUSP_Pos _U_(9) /**< (USB_DEVICE_INTENCLR) Link Power Management Suspend Interrupt Enable Position */
  727. #define USB_DEVICE_INTENCLR_LPMSUSP_Msk (_U_(0x1) << USB_DEVICE_INTENCLR_LPMSUSP_Pos) /**< (USB_DEVICE_INTENCLR) Link Power Management Suspend Interrupt Enable Mask */
  728. #define USB_DEVICE_INTENCLR_LPMSUSP(value) (USB_DEVICE_INTENCLR_LPMSUSP_Msk & ((value) << USB_DEVICE_INTENCLR_LPMSUSP_Pos))
  729. #define USB_DEVICE_INTENCLR_Msk _U_(0x03FF) /**< (USB_DEVICE_INTENCLR) Register Mask */
  730. /* -------- USB_HOST_INTENCLR : (USB Offset: 0x14) (R/W 16) HOST Host Interrupt Enable Clear -------- */
  731. #define USB_HOST_INTENCLR_RESETVALUE _U_(0x00) /**< (USB_HOST_INTENCLR) HOST Host Interrupt Enable Clear Reset Value */
  732. #define USB_HOST_INTENCLR_HSOF_Pos _U_(2) /**< (USB_HOST_INTENCLR) Host Start Of Frame Interrupt Disable Position */
  733. #define USB_HOST_INTENCLR_HSOF_Msk (_U_(0x1) << USB_HOST_INTENCLR_HSOF_Pos) /**< (USB_HOST_INTENCLR) Host Start Of Frame Interrupt Disable Mask */
  734. #define USB_HOST_INTENCLR_HSOF(value) (USB_HOST_INTENCLR_HSOF_Msk & ((value) << USB_HOST_INTENCLR_HSOF_Pos))
  735. #define USB_HOST_INTENCLR_RST_Pos _U_(3) /**< (USB_HOST_INTENCLR) BUS Reset Interrupt Disable Position */
  736. #define USB_HOST_INTENCLR_RST_Msk (_U_(0x1) << USB_HOST_INTENCLR_RST_Pos) /**< (USB_HOST_INTENCLR) BUS Reset Interrupt Disable Mask */
  737. #define USB_HOST_INTENCLR_RST(value) (USB_HOST_INTENCLR_RST_Msk & ((value) << USB_HOST_INTENCLR_RST_Pos))
  738. #define USB_HOST_INTENCLR_WAKEUP_Pos _U_(4) /**< (USB_HOST_INTENCLR) Wake Up Interrupt Disable Position */
  739. #define USB_HOST_INTENCLR_WAKEUP_Msk (_U_(0x1) << USB_HOST_INTENCLR_WAKEUP_Pos) /**< (USB_HOST_INTENCLR) Wake Up Interrupt Disable Mask */
  740. #define USB_HOST_INTENCLR_WAKEUP(value) (USB_HOST_INTENCLR_WAKEUP_Msk & ((value) << USB_HOST_INTENCLR_WAKEUP_Pos))
  741. #define USB_HOST_INTENCLR_DNRSM_Pos _U_(5) /**< (USB_HOST_INTENCLR) DownStream to Device Interrupt Disable Position */
  742. #define USB_HOST_INTENCLR_DNRSM_Msk (_U_(0x1) << USB_HOST_INTENCLR_DNRSM_Pos) /**< (USB_HOST_INTENCLR) DownStream to Device Interrupt Disable Mask */
  743. #define USB_HOST_INTENCLR_DNRSM(value) (USB_HOST_INTENCLR_DNRSM_Msk & ((value) << USB_HOST_INTENCLR_DNRSM_Pos))
  744. #define USB_HOST_INTENCLR_UPRSM_Pos _U_(6) /**< (USB_HOST_INTENCLR) Upstream Resume from Device Interrupt Disable Position */
  745. #define USB_HOST_INTENCLR_UPRSM_Msk (_U_(0x1) << USB_HOST_INTENCLR_UPRSM_Pos) /**< (USB_HOST_INTENCLR) Upstream Resume from Device Interrupt Disable Mask */
  746. #define USB_HOST_INTENCLR_UPRSM(value) (USB_HOST_INTENCLR_UPRSM_Msk & ((value) << USB_HOST_INTENCLR_UPRSM_Pos))
  747. #define USB_HOST_INTENCLR_RAMACER_Pos _U_(7) /**< (USB_HOST_INTENCLR) Ram Access Interrupt Disable Position */
  748. #define USB_HOST_INTENCLR_RAMACER_Msk (_U_(0x1) << USB_HOST_INTENCLR_RAMACER_Pos) /**< (USB_HOST_INTENCLR) Ram Access Interrupt Disable Mask */
  749. #define USB_HOST_INTENCLR_RAMACER(value) (USB_HOST_INTENCLR_RAMACER_Msk & ((value) << USB_HOST_INTENCLR_RAMACER_Pos))
  750. #define USB_HOST_INTENCLR_DCONN_Pos _U_(8) /**< (USB_HOST_INTENCLR) Device Connection Interrupt Disable Position */
  751. #define USB_HOST_INTENCLR_DCONN_Msk (_U_(0x1) << USB_HOST_INTENCLR_DCONN_Pos) /**< (USB_HOST_INTENCLR) Device Connection Interrupt Disable Mask */
  752. #define USB_HOST_INTENCLR_DCONN(value) (USB_HOST_INTENCLR_DCONN_Msk & ((value) << USB_HOST_INTENCLR_DCONN_Pos))
  753. #define USB_HOST_INTENCLR_DDISC_Pos _U_(9) /**< (USB_HOST_INTENCLR) Device Disconnection Interrupt Disable Position */
  754. #define USB_HOST_INTENCLR_DDISC_Msk (_U_(0x1) << USB_HOST_INTENCLR_DDISC_Pos) /**< (USB_HOST_INTENCLR) Device Disconnection Interrupt Disable Mask */
  755. #define USB_HOST_INTENCLR_DDISC(value) (USB_HOST_INTENCLR_DDISC_Msk & ((value) << USB_HOST_INTENCLR_DDISC_Pos))
  756. #define USB_HOST_INTENCLR_Msk _U_(0x03FC) /**< (USB_HOST_INTENCLR) Register Mask */
  757. /* -------- USB_DEVICE_INTENSET : (USB Offset: 0x18) (R/W 16) DEVICE Device Interrupt Enable Set -------- */
  758. #define USB_DEVICE_INTENSET_RESETVALUE _U_(0x00) /**< (USB_DEVICE_INTENSET) DEVICE Device Interrupt Enable Set Reset Value */
  759. #define USB_DEVICE_INTENSET_SUSPEND_Pos _U_(0) /**< (USB_DEVICE_INTENSET) Suspend Interrupt Enable Position */
  760. #define USB_DEVICE_INTENSET_SUSPEND_Msk (_U_(0x1) << USB_DEVICE_INTENSET_SUSPEND_Pos) /**< (USB_DEVICE_INTENSET) Suspend Interrupt Enable Mask */
  761. #define USB_DEVICE_INTENSET_SUSPEND(value) (USB_DEVICE_INTENSET_SUSPEND_Msk & ((value) << USB_DEVICE_INTENSET_SUSPEND_Pos))
  762. #define USB_DEVICE_INTENSET_MSOF_Pos _U_(1) /**< (USB_DEVICE_INTENSET) Micro Start of Frame Interrupt Enable in High Speed Mode Position */
  763. #define USB_DEVICE_INTENSET_MSOF_Msk (_U_(0x1) << USB_DEVICE_INTENSET_MSOF_Pos) /**< (USB_DEVICE_INTENSET) Micro Start of Frame Interrupt Enable in High Speed Mode Mask */
  764. #define USB_DEVICE_INTENSET_MSOF(value) (USB_DEVICE_INTENSET_MSOF_Msk & ((value) << USB_DEVICE_INTENSET_MSOF_Pos))
  765. #define USB_DEVICE_INTENSET_SOF_Pos _U_(2) /**< (USB_DEVICE_INTENSET) Start Of Frame Interrupt Enable Position */
  766. #define USB_DEVICE_INTENSET_SOF_Msk (_U_(0x1) << USB_DEVICE_INTENSET_SOF_Pos) /**< (USB_DEVICE_INTENSET) Start Of Frame Interrupt Enable Mask */
  767. #define USB_DEVICE_INTENSET_SOF(value) (USB_DEVICE_INTENSET_SOF_Msk & ((value) << USB_DEVICE_INTENSET_SOF_Pos))
  768. #define USB_DEVICE_INTENSET_EORST_Pos _U_(3) /**< (USB_DEVICE_INTENSET) End of Reset Interrupt Enable Position */
  769. #define USB_DEVICE_INTENSET_EORST_Msk (_U_(0x1) << USB_DEVICE_INTENSET_EORST_Pos) /**< (USB_DEVICE_INTENSET) End of Reset Interrupt Enable Mask */
  770. #define USB_DEVICE_INTENSET_EORST(value) (USB_DEVICE_INTENSET_EORST_Msk & ((value) << USB_DEVICE_INTENSET_EORST_Pos))
  771. #define USB_DEVICE_INTENSET_WAKEUP_Pos _U_(4) /**< (USB_DEVICE_INTENSET) Wake Up Interrupt Enable Position */
  772. #define USB_DEVICE_INTENSET_WAKEUP_Msk (_U_(0x1) << USB_DEVICE_INTENSET_WAKEUP_Pos) /**< (USB_DEVICE_INTENSET) Wake Up Interrupt Enable Mask */
  773. #define USB_DEVICE_INTENSET_WAKEUP(value) (USB_DEVICE_INTENSET_WAKEUP_Msk & ((value) << USB_DEVICE_INTENSET_WAKEUP_Pos))
  774. #define USB_DEVICE_INTENSET_EORSM_Pos _U_(5) /**< (USB_DEVICE_INTENSET) End Of Resume Interrupt Enable Position */
  775. #define USB_DEVICE_INTENSET_EORSM_Msk (_U_(0x1) << USB_DEVICE_INTENSET_EORSM_Pos) /**< (USB_DEVICE_INTENSET) End Of Resume Interrupt Enable Mask */
  776. #define USB_DEVICE_INTENSET_EORSM(value) (USB_DEVICE_INTENSET_EORSM_Msk & ((value) << USB_DEVICE_INTENSET_EORSM_Pos))
  777. #define USB_DEVICE_INTENSET_UPRSM_Pos _U_(6) /**< (USB_DEVICE_INTENSET) Upstream Resume Interrupt Enable Position */
  778. #define USB_DEVICE_INTENSET_UPRSM_Msk (_U_(0x1) << USB_DEVICE_INTENSET_UPRSM_Pos) /**< (USB_DEVICE_INTENSET) Upstream Resume Interrupt Enable Mask */
  779. #define USB_DEVICE_INTENSET_UPRSM(value) (USB_DEVICE_INTENSET_UPRSM_Msk & ((value) << USB_DEVICE_INTENSET_UPRSM_Pos))
  780. #define USB_DEVICE_INTENSET_RAMACER_Pos _U_(7) /**< (USB_DEVICE_INTENSET) Ram Access Interrupt Enable Position */
  781. #define USB_DEVICE_INTENSET_RAMACER_Msk (_U_(0x1) << USB_DEVICE_INTENSET_RAMACER_Pos) /**< (USB_DEVICE_INTENSET) Ram Access Interrupt Enable Mask */
  782. #define USB_DEVICE_INTENSET_RAMACER(value) (USB_DEVICE_INTENSET_RAMACER_Msk & ((value) << USB_DEVICE_INTENSET_RAMACER_Pos))
  783. #define USB_DEVICE_INTENSET_LPMNYET_Pos _U_(8) /**< (USB_DEVICE_INTENSET) Link Power Management Not Yet Interrupt Enable Position */
  784. #define USB_DEVICE_INTENSET_LPMNYET_Msk (_U_(0x1) << USB_DEVICE_INTENSET_LPMNYET_Pos) /**< (USB_DEVICE_INTENSET) Link Power Management Not Yet Interrupt Enable Mask */
  785. #define USB_DEVICE_INTENSET_LPMNYET(value) (USB_DEVICE_INTENSET_LPMNYET_Msk & ((value) << USB_DEVICE_INTENSET_LPMNYET_Pos))
  786. #define USB_DEVICE_INTENSET_LPMSUSP_Pos _U_(9) /**< (USB_DEVICE_INTENSET) Link Power Management Suspend Interrupt Enable Position */
  787. #define USB_DEVICE_INTENSET_LPMSUSP_Msk (_U_(0x1) << USB_DEVICE_INTENSET_LPMSUSP_Pos) /**< (USB_DEVICE_INTENSET) Link Power Management Suspend Interrupt Enable Mask */
  788. #define USB_DEVICE_INTENSET_LPMSUSP(value) (USB_DEVICE_INTENSET_LPMSUSP_Msk & ((value) << USB_DEVICE_INTENSET_LPMSUSP_Pos))
  789. #define USB_DEVICE_INTENSET_Msk _U_(0x03FF) /**< (USB_DEVICE_INTENSET) Register Mask */
  790. /* -------- USB_HOST_INTENSET : (USB Offset: 0x18) (R/W 16) HOST Host Interrupt Enable Set -------- */
  791. #define USB_HOST_INTENSET_RESETVALUE _U_(0x00) /**< (USB_HOST_INTENSET) HOST Host Interrupt Enable Set Reset Value */
  792. #define USB_HOST_INTENSET_HSOF_Pos _U_(2) /**< (USB_HOST_INTENSET) Host Start Of Frame Interrupt Enable Position */
  793. #define USB_HOST_INTENSET_HSOF_Msk (_U_(0x1) << USB_HOST_INTENSET_HSOF_Pos) /**< (USB_HOST_INTENSET) Host Start Of Frame Interrupt Enable Mask */
  794. #define USB_HOST_INTENSET_HSOF(value) (USB_HOST_INTENSET_HSOF_Msk & ((value) << USB_HOST_INTENSET_HSOF_Pos))
  795. #define USB_HOST_INTENSET_RST_Pos _U_(3) /**< (USB_HOST_INTENSET) Bus Reset Interrupt Enable Position */
  796. #define USB_HOST_INTENSET_RST_Msk (_U_(0x1) << USB_HOST_INTENSET_RST_Pos) /**< (USB_HOST_INTENSET) Bus Reset Interrupt Enable Mask */
  797. #define USB_HOST_INTENSET_RST(value) (USB_HOST_INTENSET_RST_Msk & ((value) << USB_HOST_INTENSET_RST_Pos))
  798. #define USB_HOST_INTENSET_WAKEUP_Pos _U_(4) /**< (USB_HOST_INTENSET) Wake Up Interrupt Enable Position */
  799. #define USB_HOST_INTENSET_WAKEUP_Msk (_U_(0x1) << USB_HOST_INTENSET_WAKEUP_Pos) /**< (USB_HOST_INTENSET) Wake Up Interrupt Enable Mask */
  800. #define USB_HOST_INTENSET_WAKEUP(value) (USB_HOST_INTENSET_WAKEUP_Msk & ((value) << USB_HOST_INTENSET_WAKEUP_Pos))
  801. #define USB_HOST_INTENSET_DNRSM_Pos _U_(5) /**< (USB_HOST_INTENSET) DownStream to the Device Interrupt Enable Position */
  802. #define USB_HOST_INTENSET_DNRSM_Msk (_U_(0x1) << USB_HOST_INTENSET_DNRSM_Pos) /**< (USB_HOST_INTENSET) DownStream to the Device Interrupt Enable Mask */
  803. #define USB_HOST_INTENSET_DNRSM(value) (USB_HOST_INTENSET_DNRSM_Msk & ((value) << USB_HOST_INTENSET_DNRSM_Pos))
  804. #define USB_HOST_INTENSET_UPRSM_Pos _U_(6) /**< (USB_HOST_INTENSET) Upstream Resume fromthe device Interrupt Enable Position */
  805. #define USB_HOST_INTENSET_UPRSM_Msk (_U_(0x1) << USB_HOST_INTENSET_UPRSM_Pos) /**< (USB_HOST_INTENSET) Upstream Resume fromthe device Interrupt Enable Mask */
  806. #define USB_HOST_INTENSET_UPRSM(value) (USB_HOST_INTENSET_UPRSM_Msk & ((value) << USB_HOST_INTENSET_UPRSM_Pos))
  807. #define USB_HOST_INTENSET_RAMACER_Pos _U_(7) /**< (USB_HOST_INTENSET) Ram Access Interrupt Enable Position */
  808. #define USB_HOST_INTENSET_RAMACER_Msk (_U_(0x1) << USB_HOST_INTENSET_RAMACER_Pos) /**< (USB_HOST_INTENSET) Ram Access Interrupt Enable Mask */
  809. #define USB_HOST_INTENSET_RAMACER(value) (USB_HOST_INTENSET_RAMACER_Msk & ((value) << USB_HOST_INTENSET_RAMACER_Pos))
  810. #define USB_HOST_INTENSET_DCONN_Pos _U_(8) /**< (USB_HOST_INTENSET) Link Power Management Interrupt Enable Position */
  811. #define USB_HOST_INTENSET_DCONN_Msk (_U_(0x1) << USB_HOST_INTENSET_DCONN_Pos) /**< (USB_HOST_INTENSET) Link Power Management Interrupt Enable Mask */
  812. #define USB_HOST_INTENSET_DCONN(value) (USB_HOST_INTENSET_DCONN_Msk & ((value) << USB_HOST_INTENSET_DCONN_Pos))
  813. #define USB_HOST_INTENSET_DDISC_Pos _U_(9) /**< (USB_HOST_INTENSET) Device Disconnection Interrupt Enable Position */
  814. #define USB_HOST_INTENSET_DDISC_Msk (_U_(0x1) << USB_HOST_INTENSET_DDISC_Pos) /**< (USB_HOST_INTENSET) Device Disconnection Interrupt Enable Mask */
  815. #define USB_HOST_INTENSET_DDISC(value) (USB_HOST_INTENSET_DDISC_Msk & ((value) << USB_HOST_INTENSET_DDISC_Pos))
  816. #define USB_HOST_INTENSET_Msk _U_(0x03FC) /**< (USB_HOST_INTENSET) Register Mask */
  817. /* -------- USB_DEVICE_INTFLAG : (USB Offset: 0x1C) (R/W 16) DEVICE Device Interrupt Flag -------- */
  818. #define USB_DEVICE_INTFLAG_RESETVALUE _U_(0x00) /**< (USB_DEVICE_INTFLAG) DEVICE Device Interrupt Flag Reset Value */
  819. #define USB_DEVICE_INTFLAG_SUSPEND_Pos _U_(0) /**< (USB_DEVICE_INTFLAG) Suspend Position */
  820. #define USB_DEVICE_INTFLAG_SUSPEND_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_SUSPEND_Pos) /**< (USB_DEVICE_INTFLAG) Suspend Mask */
  821. #define USB_DEVICE_INTFLAG_SUSPEND(value) (USB_DEVICE_INTFLAG_SUSPEND_Msk & ((value) << USB_DEVICE_INTFLAG_SUSPEND_Pos))
  822. #define USB_DEVICE_INTFLAG_MSOF_Pos _U_(1) /**< (USB_DEVICE_INTFLAG) Micro Start of Frame in High Speed Mode Position */
  823. #define USB_DEVICE_INTFLAG_MSOF_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_MSOF_Pos) /**< (USB_DEVICE_INTFLAG) Micro Start of Frame in High Speed Mode Mask */
  824. #define USB_DEVICE_INTFLAG_MSOF(value) (USB_DEVICE_INTFLAG_MSOF_Msk & ((value) << USB_DEVICE_INTFLAG_MSOF_Pos))
  825. #define USB_DEVICE_INTFLAG_SOF_Pos _U_(2) /**< (USB_DEVICE_INTFLAG) Start Of Frame Position */
  826. #define USB_DEVICE_INTFLAG_SOF_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_SOF_Pos) /**< (USB_DEVICE_INTFLAG) Start Of Frame Mask */
  827. #define USB_DEVICE_INTFLAG_SOF(value) (USB_DEVICE_INTFLAG_SOF_Msk & ((value) << USB_DEVICE_INTFLAG_SOF_Pos))
  828. #define USB_DEVICE_INTFLAG_EORST_Pos _U_(3) /**< (USB_DEVICE_INTFLAG) End of Reset Position */
  829. #define USB_DEVICE_INTFLAG_EORST_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_EORST_Pos) /**< (USB_DEVICE_INTFLAG) End of Reset Mask */
  830. #define USB_DEVICE_INTFLAG_EORST(value) (USB_DEVICE_INTFLAG_EORST_Msk & ((value) << USB_DEVICE_INTFLAG_EORST_Pos))
  831. #define USB_DEVICE_INTFLAG_WAKEUP_Pos _U_(4) /**< (USB_DEVICE_INTFLAG) Wake Up Position */
  832. #define USB_DEVICE_INTFLAG_WAKEUP_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_WAKEUP_Pos) /**< (USB_DEVICE_INTFLAG) Wake Up Mask */
  833. #define USB_DEVICE_INTFLAG_WAKEUP(value) (USB_DEVICE_INTFLAG_WAKEUP_Msk & ((value) << USB_DEVICE_INTFLAG_WAKEUP_Pos))
  834. #define USB_DEVICE_INTFLAG_EORSM_Pos _U_(5) /**< (USB_DEVICE_INTFLAG) End Of Resume Position */
  835. #define USB_DEVICE_INTFLAG_EORSM_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_EORSM_Pos) /**< (USB_DEVICE_INTFLAG) End Of Resume Mask */
  836. #define USB_DEVICE_INTFLAG_EORSM(value) (USB_DEVICE_INTFLAG_EORSM_Msk & ((value) << USB_DEVICE_INTFLAG_EORSM_Pos))
  837. #define USB_DEVICE_INTFLAG_UPRSM_Pos _U_(6) /**< (USB_DEVICE_INTFLAG) Upstream Resume Position */
  838. #define USB_DEVICE_INTFLAG_UPRSM_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_UPRSM_Pos) /**< (USB_DEVICE_INTFLAG) Upstream Resume Mask */
  839. #define USB_DEVICE_INTFLAG_UPRSM(value) (USB_DEVICE_INTFLAG_UPRSM_Msk & ((value) << USB_DEVICE_INTFLAG_UPRSM_Pos))
  840. #define USB_DEVICE_INTFLAG_RAMACER_Pos _U_(7) /**< (USB_DEVICE_INTFLAG) Ram Access Position */
  841. #define USB_DEVICE_INTFLAG_RAMACER_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_RAMACER_Pos) /**< (USB_DEVICE_INTFLAG) Ram Access Mask */
  842. #define USB_DEVICE_INTFLAG_RAMACER(value) (USB_DEVICE_INTFLAG_RAMACER_Msk & ((value) << USB_DEVICE_INTFLAG_RAMACER_Pos))
  843. #define USB_DEVICE_INTFLAG_LPMNYET_Pos _U_(8) /**< (USB_DEVICE_INTFLAG) Link Power Management Not Yet Position */
  844. #define USB_DEVICE_INTFLAG_LPMNYET_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_LPMNYET_Pos) /**< (USB_DEVICE_INTFLAG) Link Power Management Not Yet Mask */
  845. #define USB_DEVICE_INTFLAG_LPMNYET(value) (USB_DEVICE_INTFLAG_LPMNYET_Msk & ((value) << USB_DEVICE_INTFLAG_LPMNYET_Pos))
  846. #define USB_DEVICE_INTFLAG_LPMSUSP_Pos _U_(9) /**< (USB_DEVICE_INTFLAG) Link Power Management Suspend Position */
  847. #define USB_DEVICE_INTFLAG_LPMSUSP_Msk (_U_(0x1) << USB_DEVICE_INTFLAG_LPMSUSP_Pos) /**< (USB_DEVICE_INTFLAG) Link Power Management Suspend Mask */
  848. #define USB_DEVICE_INTFLAG_LPMSUSP(value) (USB_DEVICE_INTFLAG_LPMSUSP_Msk & ((value) << USB_DEVICE_INTFLAG_LPMSUSP_Pos))
  849. #define USB_DEVICE_INTFLAG_Msk _U_(0x03FF) /**< (USB_DEVICE_INTFLAG) Register Mask */
  850. /* -------- USB_HOST_INTFLAG : (USB Offset: 0x1C) (R/W 16) HOST Host Interrupt Flag -------- */
  851. #define USB_HOST_INTFLAG_RESETVALUE _U_(0x00) /**< (USB_HOST_INTFLAG) HOST Host Interrupt Flag Reset Value */
  852. #define USB_HOST_INTFLAG_HSOF_Pos _U_(2) /**< (USB_HOST_INTFLAG) Host Start Of Frame Position */
  853. #define USB_HOST_INTFLAG_HSOF_Msk (_U_(0x1) << USB_HOST_INTFLAG_HSOF_Pos) /**< (USB_HOST_INTFLAG) Host Start Of Frame Mask */
  854. #define USB_HOST_INTFLAG_HSOF(value) (USB_HOST_INTFLAG_HSOF_Msk & ((value) << USB_HOST_INTFLAG_HSOF_Pos))
  855. #define USB_HOST_INTFLAG_RST_Pos _U_(3) /**< (USB_HOST_INTFLAG) Bus Reset Position */
  856. #define USB_HOST_INTFLAG_RST_Msk (_U_(0x1) << USB_HOST_INTFLAG_RST_Pos) /**< (USB_HOST_INTFLAG) Bus Reset Mask */
  857. #define USB_HOST_INTFLAG_RST(value) (USB_HOST_INTFLAG_RST_Msk & ((value) << USB_HOST_INTFLAG_RST_Pos))
  858. #define USB_HOST_INTFLAG_WAKEUP_Pos _U_(4) /**< (USB_HOST_INTFLAG) Wake Up Position */
  859. #define USB_HOST_INTFLAG_WAKEUP_Msk (_U_(0x1) << USB_HOST_INTFLAG_WAKEUP_Pos) /**< (USB_HOST_INTFLAG) Wake Up Mask */
  860. #define USB_HOST_INTFLAG_WAKEUP(value) (USB_HOST_INTFLAG_WAKEUP_Msk & ((value) << USB_HOST_INTFLAG_WAKEUP_Pos))
  861. #define USB_HOST_INTFLAG_DNRSM_Pos _U_(5) /**< (USB_HOST_INTFLAG) Downstream Position */
  862. #define USB_HOST_INTFLAG_DNRSM_Msk (_U_(0x1) << USB_HOST_INTFLAG_DNRSM_Pos) /**< (USB_HOST_INTFLAG) Downstream Mask */
  863. #define USB_HOST_INTFLAG_DNRSM(value) (USB_HOST_INTFLAG_DNRSM_Msk & ((value) << USB_HOST_INTFLAG_DNRSM_Pos))
  864. #define USB_HOST_INTFLAG_UPRSM_Pos _U_(6) /**< (USB_HOST_INTFLAG) Upstream Resume from the Device Position */
  865. #define USB_HOST_INTFLAG_UPRSM_Msk (_U_(0x1) << USB_HOST_INTFLAG_UPRSM_Pos) /**< (USB_HOST_INTFLAG) Upstream Resume from the Device Mask */
  866. #define USB_HOST_INTFLAG_UPRSM(value) (USB_HOST_INTFLAG_UPRSM_Msk & ((value) << USB_HOST_INTFLAG_UPRSM_Pos))
  867. #define USB_HOST_INTFLAG_RAMACER_Pos _U_(7) /**< (USB_HOST_INTFLAG) Ram Access Position */
  868. #define USB_HOST_INTFLAG_RAMACER_Msk (_U_(0x1) << USB_HOST_INTFLAG_RAMACER_Pos) /**< (USB_HOST_INTFLAG) Ram Access Mask */
  869. #define USB_HOST_INTFLAG_RAMACER(value) (USB_HOST_INTFLAG_RAMACER_Msk & ((value) << USB_HOST_INTFLAG_RAMACER_Pos))
  870. #define USB_HOST_INTFLAG_DCONN_Pos _U_(8) /**< (USB_HOST_INTFLAG) Device Connection Position */
  871. #define USB_HOST_INTFLAG_DCONN_Msk (_U_(0x1) << USB_HOST_INTFLAG_DCONN_Pos) /**< (USB_HOST_INTFLAG) Device Connection Mask */
  872. #define USB_HOST_INTFLAG_DCONN(value) (USB_HOST_INTFLAG_DCONN_Msk & ((value) << USB_HOST_INTFLAG_DCONN_Pos))
  873. #define USB_HOST_INTFLAG_DDISC_Pos _U_(9) /**< (USB_HOST_INTFLAG) Device Disconnection Position */
  874. #define USB_HOST_INTFLAG_DDISC_Msk (_U_(0x1) << USB_HOST_INTFLAG_DDISC_Pos) /**< (USB_HOST_INTFLAG) Device Disconnection Mask */
  875. #define USB_HOST_INTFLAG_DDISC(value) (USB_HOST_INTFLAG_DDISC_Msk & ((value) << USB_HOST_INTFLAG_DDISC_Pos))
  876. #define USB_HOST_INTFLAG_Msk _U_(0x03FC) /**< (USB_HOST_INTFLAG) Register Mask */
  877. /* -------- USB_DEVICE_EPINTSMRY : (USB Offset: 0x20) ( R/ 16) DEVICE End Point Interrupt Summary -------- */
  878. #define USB_DEVICE_EPINTSMRY_RESETVALUE _U_(0x00) /**< (USB_DEVICE_EPINTSMRY) DEVICE End Point Interrupt Summary Reset Value */
  879. #define USB_DEVICE_EPINTSMRY_EPINT0_Pos _U_(0) /**< (USB_DEVICE_EPINTSMRY) End Point 0 Interrupt Position */
  880. #define USB_DEVICE_EPINTSMRY_EPINT0_Msk (_U_(0x1) << USB_DEVICE_EPINTSMRY_EPINT0_Pos) /**< (USB_DEVICE_EPINTSMRY) End Point 0 Interrupt Mask */
  881. #define USB_DEVICE_EPINTSMRY_EPINT0(value) (USB_DEVICE_EPINTSMRY_EPINT0_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT0_Pos))
  882. #define USB_DEVICE_EPINTSMRY_EPINT1_Pos _U_(1) /**< (USB_DEVICE_EPINTSMRY) End Point 1 Interrupt Position */
  883. #define USB_DEVICE_EPINTSMRY_EPINT1_Msk (_U_(0x1) << USB_DEVICE_EPINTSMRY_EPINT1_Pos) /**< (USB_DEVICE_EPINTSMRY) End Point 1 Interrupt Mask */
  884. #define USB_DEVICE_EPINTSMRY_EPINT1(value) (USB_DEVICE_EPINTSMRY_EPINT1_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT1_Pos))
  885. #define USB_DEVICE_EPINTSMRY_EPINT2_Pos _U_(2) /**< (USB_DEVICE_EPINTSMRY) End Point 2 Interrupt Position */
  886. #define USB_DEVICE_EPINTSMRY_EPINT2_Msk (_U_(0x1) << USB_DEVICE_EPINTSMRY_EPINT2_Pos) /**< (USB_DEVICE_EPINTSMRY) End Point 2 Interrupt Mask */
  887. #define USB_DEVICE_EPINTSMRY_EPINT2(value) (USB_DEVICE_EPINTSMRY_EPINT2_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT2_Pos))
  888. #define USB_DEVICE_EPINTSMRY_EPINT3_Pos _U_(3) /**< (USB_DEVICE_EPINTSMRY) End Point 3 Interrupt Position */
  889. #define USB_DEVICE_EPINTSMRY_EPINT3_Msk (_U_(0x1) << USB_DEVICE_EPINTSMRY_EPINT3_Pos) /**< (USB_DEVICE_EPINTSMRY) End Point 3 Interrupt Mask */
  890. #define USB_DEVICE_EPINTSMRY_EPINT3(value) (USB_DEVICE_EPINTSMRY_EPINT3_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT3_Pos))
  891. #define USB_DEVICE_EPINTSMRY_EPINT4_Pos _U_(4) /**< (USB_DEVICE_EPINTSMRY) End Point 4 Interrupt Position */
  892. #define USB_DEVICE_EPINTSMRY_EPINT4_Msk (_U_(0x1) << USB_DEVICE_EPINTSMRY_EPINT4_Pos) /**< (USB_DEVICE_EPINTSMRY) End Point 4 Interrupt Mask */
  893. #define USB_DEVICE_EPINTSMRY_EPINT4(value) (USB_DEVICE_EPINTSMRY_EPINT4_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT4_Pos))
  894. #define USB_DEVICE_EPINTSMRY_EPINT5_Pos _U_(5) /**< (USB_DEVICE_EPINTSMRY) End Point 5 Interrupt Position */
  895. #define USB_DEVICE_EPINTSMRY_EPINT5_Msk (_U_(0x1) << USB_DEVICE_EPINTSMRY_EPINT5_Pos) /**< (USB_DEVICE_EPINTSMRY) End Point 5 Interrupt Mask */
  896. #define USB_DEVICE_EPINTSMRY_EPINT5(value) (USB_DEVICE_EPINTSMRY_EPINT5_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT5_Pos))
  897. #define USB_DEVICE_EPINTSMRY_EPINT6_Pos _U_(6) /**< (USB_DEVICE_EPINTSMRY) End Point 6 Interrupt Position */
  898. #define USB_DEVICE_EPINTSMRY_EPINT6_Msk (_U_(0x1) << USB_DEVICE_EPINTSMRY_EPINT6_Pos) /**< (USB_DEVICE_EPINTSMRY) End Point 6 Interrupt Mask */
  899. #define USB_DEVICE_EPINTSMRY_EPINT6(value) (USB_DEVICE_EPINTSMRY_EPINT6_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT6_Pos))
  900. #define USB_DEVICE_EPINTSMRY_EPINT7_Pos _U_(7) /**< (USB_DEVICE_EPINTSMRY) End Point 7 Interrupt Position */
  901. #define USB_DEVICE_EPINTSMRY_EPINT7_Msk (_U_(0x1) << USB_DEVICE_EPINTSMRY_EPINT7_Pos) /**< (USB_DEVICE_EPINTSMRY) End Point 7 Interrupt Mask */
  902. #define USB_DEVICE_EPINTSMRY_EPINT7(value) (USB_DEVICE_EPINTSMRY_EPINT7_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT7_Pos))
  903. #define USB_DEVICE_EPINTSMRY_Msk _U_(0x00FF) /**< (USB_DEVICE_EPINTSMRY) Register Mask */
  904. #define USB_DEVICE_EPINTSMRY_EPINT_Pos _U_(0) /**< (USB_DEVICE_EPINTSMRY Position) End Point 7 Interrupt */
  905. #define USB_DEVICE_EPINTSMRY_EPINT_Msk (_U_(0xFF) << USB_DEVICE_EPINTSMRY_EPINT_Pos) /**< (USB_DEVICE_EPINTSMRY Mask) EPINT */
  906. #define USB_DEVICE_EPINTSMRY_EPINT(value) (USB_DEVICE_EPINTSMRY_EPINT_Msk & ((value) << USB_DEVICE_EPINTSMRY_EPINT_Pos))
  907. /* -------- USB_HOST_PINTSMRY : (USB Offset: 0x20) ( R/ 16) HOST Pipe Interrupt Summary -------- */
  908. #define USB_HOST_PINTSMRY_RESETVALUE _U_(0x00) /**< (USB_HOST_PINTSMRY) HOST Pipe Interrupt Summary Reset Value */
  909. #define USB_HOST_PINTSMRY_EPINT0_Pos _U_(0) /**< (USB_HOST_PINTSMRY) Pipe 0 Interrupt Position */
  910. #define USB_HOST_PINTSMRY_EPINT0_Msk (_U_(0x1) << USB_HOST_PINTSMRY_EPINT0_Pos) /**< (USB_HOST_PINTSMRY) Pipe 0 Interrupt Mask */
  911. #define USB_HOST_PINTSMRY_EPINT0(value) (USB_HOST_PINTSMRY_EPINT0_Msk & ((value) << USB_HOST_PINTSMRY_EPINT0_Pos))
  912. #define USB_HOST_PINTSMRY_EPINT1_Pos _U_(1) /**< (USB_HOST_PINTSMRY) Pipe 1 Interrupt Position */
  913. #define USB_HOST_PINTSMRY_EPINT1_Msk (_U_(0x1) << USB_HOST_PINTSMRY_EPINT1_Pos) /**< (USB_HOST_PINTSMRY) Pipe 1 Interrupt Mask */
  914. #define USB_HOST_PINTSMRY_EPINT1(value) (USB_HOST_PINTSMRY_EPINT1_Msk & ((value) << USB_HOST_PINTSMRY_EPINT1_Pos))
  915. #define USB_HOST_PINTSMRY_EPINT2_Pos _U_(2) /**< (USB_HOST_PINTSMRY) Pipe 2 Interrupt Position */
  916. #define USB_HOST_PINTSMRY_EPINT2_Msk (_U_(0x1) << USB_HOST_PINTSMRY_EPINT2_Pos) /**< (USB_HOST_PINTSMRY) Pipe 2 Interrupt Mask */
  917. #define USB_HOST_PINTSMRY_EPINT2(value) (USB_HOST_PINTSMRY_EPINT2_Msk & ((value) << USB_HOST_PINTSMRY_EPINT2_Pos))
  918. #define USB_HOST_PINTSMRY_EPINT3_Pos _U_(3) /**< (USB_HOST_PINTSMRY) Pipe 3 Interrupt Position */
  919. #define USB_HOST_PINTSMRY_EPINT3_Msk (_U_(0x1) << USB_HOST_PINTSMRY_EPINT3_Pos) /**< (USB_HOST_PINTSMRY) Pipe 3 Interrupt Mask */
  920. #define USB_HOST_PINTSMRY_EPINT3(value) (USB_HOST_PINTSMRY_EPINT3_Msk & ((value) << USB_HOST_PINTSMRY_EPINT3_Pos))
  921. #define USB_HOST_PINTSMRY_EPINT4_Pos _U_(4) /**< (USB_HOST_PINTSMRY) Pipe 4 Interrupt Position */
  922. #define USB_HOST_PINTSMRY_EPINT4_Msk (_U_(0x1) << USB_HOST_PINTSMRY_EPINT4_Pos) /**< (USB_HOST_PINTSMRY) Pipe 4 Interrupt Mask */
  923. #define USB_HOST_PINTSMRY_EPINT4(value) (USB_HOST_PINTSMRY_EPINT4_Msk & ((value) << USB_HOST_PINTSMRY_EPINT4_Pos))
  924. #define USB_HOST_PINTSMRY_EPINT5_Pos _U_(5) /**< (USB_HOST_PINTSMRY) Pipe 5 Interrupt Position */
  925. #define USB_HOST_PINTSMRY_EPINT5_Msk (_U_(0x1) << USB_HOST_PINTSMRY_EPINT5_Pos) /**< (USB_HOST_PINTSMRY) Pipe 5 Interrupt Mask */
  926. #define USB_HOST_PINTSMRY_EPINT5(value) (USB_HOST_PINTSMRY_EPINT5_Msk & ((value) << USB_HOST_PINTSMRY_EPINT5_Pos))
  927. #define USB_HOST_PINTSMRY_EPINT6_Pos _U_(6) /**< (USB_HOST_PINTSMRY) Pipe 6 Interrupt Position */
  928. #define USB_HOST_PINTSMRY_EPINT6_Msk (_U_(0x1) << USB_HOST_PINTSMRY_EPINT6_Pos) /**< (USB_HOST_PINTSMRY) Pipe 6 Interrupt Mask */
  929. #define USB_HOST_PINTSMRY_EPINT6(value) (USB_HOST_PINTSMRY_EPINT6_Msk & ((value) << USB_HOST_PINTSMRY_EPINT6_Pos))
  930. #define USB_HOST_PINTSMRY_EPINT7_Pos _U_(7) /**< (USB_HOST_PINTSMRY) Pipe 7 Interrupt Position */
  931. #define USB_HOST_PINTSMRY_EPINT7_Msk (_U_(0x1) << USB_HOST_PINTSMRY_EPINT7_Pos) /**< (USB_HOST_PINTSMRY) Pipe 7 Interrupt Mask */
  932. #define USB_HOST_PINTSMRY_EPINT7(value) (USB_HOST_PINTSMRY_EPINT7_Msk & ((value) << USB_HOST_PINTSMRY_EPINT7_Pos))
  933. #define USB_HOST_PINTSMRY_Msk _U_(0x00FF) /**< (USB_HOST_PINTSMRY) Register Mask */
  934. #define USB_HOST_PINTSMRY_EPINT_Pos _U_(0) /**< (USB_HOST_PINTSMRY Position) Pipe 7 Interrupt */
  935. #define USB_HOST_PINTSMRY_EPINT_Msk (_U_(0xFF) << USB_HOST_PINTSMRY_EPINT_Pos) /**< (USB_HOST_PINTSMRY Mask) EPINT */
  936. #define USB_HOST_PINTSMRY_EPINT(value) (USB_HOST_PINTSMRY_EPINT_Msk & ((value) << USB_HOST_PINTSMRY_EPINT_Pos))
  937. /* -------- USB_DESCADD : (USB Offset: 0x24) (R/W 32) Descriptor Address -------- */
  938. #define USB_DESCADD_RESETVALUE _U_(0x00) /**< (USB_DESCADD) Descriptor Address Reset Value */
  939. #define USB_DESCADD_DESCADD_Pos _U_(0) /**< (USB_DESCADD) Descriptor Address Value Position */
  940. #define USB_DESCADD_DESCADD_Msk (_U_(0xFFFFFFFF) << USB_DESCADD_DESCADD_Pos) /**< (USB_DESCADD) Descriptor Address Value Mask */
  941. #define USB_DESCADD_DESCADD(value) (USB_DESCADD_DESCADD_Msk & ((value) << USB_DESCADD_DESCADD_Pos))
  942. #define USB_DESCADD_Msk _U_(0xFFFFFFFF) /**< (USB_DESCADD) Register Mask */
  943. /* -------- USB_PADCAL : (USB Offset: 0x28) (R/W 16) USB PAD Calibration -------- */
  944. #define USB_PADCAL_RESETVALUE _U_(0x00) /**< (USB_PADCAL) USB PAD Calibration Reset Value */
  945. #define USB_PADCAL_TRANSP_Pos _U_(0) /**< (USB_PADCAL) USB Pad Transp calibration Position */
  946. #define USB_PADCAL_TRANSP_Msk (_U_(0x1F) << USB_PADCAL_TRANSP_Pos) /**< (USB_PADCAL) USB Pad Transp calibration Mask */
  947. #define USB_PADCAL_TRANSP(value) (USB_PADCAL_TRANSP_Msk & ((value) << USB_PADCAL_TRANSP_Pos))
  948. #define USB_PADCAL_TRANSN_Pos _U_(6) /**< (USB_PADCAL) USB Pad Transn calibration Position */
  949. #define USB_PADCAL_TRANSN_Msk (_U_(0x1F) << USB_PADCAL_TRANSN_Pos) /**< (USB_PADCAL) USB Pad Transn calibration Mask */
  950. #define USB_PADCAL_TRANSN(value) (USB_PADCAL_TRANSN_Msk & ((value) << USB_PADCAL_TRANSN_Pos))
  951. #define USB_PADCAL_TRIM_Pos _U_(12) /**< (USB_PADCAL) USB Pad Trim calibration Position */
  952. #define USB_PADCAL_TRIM_Msk (_U_(0x7) << USB_PADCAL_TRIM_Pos) /**< (USB_PADCAL) USB Pad Trim calibration Mask */
  953. #define USB_PADCAL_TRIM(value) (USB_PADCAL_TRIM_Msk & ((value) << USB_PADCAL_TRIM_Pos))
  954. #define USB_PADCAL_Msk _U_(0x77DF) /**< (USB_PADCAL) Register Mask */
  955. /** \brief USB register offsets definitions */
  956. #define USB_DEVICE_ADDR_REG_OFST (0x00) /**< (USB_DEVICE_ADDR) DEVICE_DESC_BANK Endpoint Bank, Adress of Data Buffer Offset */
  957. #define USB_DEVICE_PCKSIZE_REG_OFST (0x04) /**< (USB_DEVICE_PCKSIZE) DEVICE_DESC_BANK Endpoint Bank, Packet Size Offset */
  958. #define USB_DEVICE_EXTREG_REG_OFST (0x08) /**< (USB_DEVICE_EXTREG) DEVICE_DESC_BANK Endpoint Bank, Extended Offset */
  959. #define USB_DEVICE_STATUS_BK_REG_OFST (0x0A) /**< (USB_DEVICE_STATUS_BK) DEVICE_DESC_BANK Enpoint Bank, Status of Bank Offset */
  960. #define USB_HOST_ADDR_REG_OFST (0x00) /**< (USB_HOST_ADDR) HOST_DESC_BANK Host Bank, Adress of Data Buffer Offset */
  961. #define USB_HOST_PCKSIZE_REG_OFST (0x04) /**< (USB_HOST_PCKSIZE) HOST_DESC_BANK Host Bank, Packet Size Offset */
  962. #define USB_HOST_EXTREG_REG_OFST (0x08) /**< (USB_HOST_EXTREG) HOST_DESC_BANK Host Bank, Extended Offset */
  963. #define USB_HOST_STATUS_BK_REG_OFST (0x0A) /**< (USB_HOST_STATUS_BK) HOST_DESC_BANK Host Bank, Status of Bank Offset */
  964. #define USB_HOST_CTRL_PIPE_REG_OFST (0x0C) /**< (USB_HOST_CTRL_PIPE) HOST_DESC_BANK Host Bank, Host Control Pipe Offset */
  965. #define USB_HOST_STATUS_PIPE_REG_OFST (0x0E) /**< (USB_HOST_STATUS_PIPE) HOST_DESC_BANK Host Bank, Host Status Pipe Offset */
  966. #define USB_DEVICE_EPCFG_REG_OFST (0x00) /**< (USB_DEVICE_EPCFG) DEVICE_ENDPOINT End Point Configuration Offset */
  967. #define USB_DEVICE_EPSTATUSCLR_REG_OFST (0x04) /**< (USB_DEVICE_EPSTATUSCLR) DEVICE_ENDPOINT End Point Pipe Status Clear Offset */
  968. #define USB_DEVICE_EPSTATUSSET_REG_OFST (0x05) /**< (USB_DEVICE_EPSTATUSSET) DEVICE_ENDPOINT End Point Pipe Status Set Offset */
  969. #define USB_DEVICE_EPSTATUS_REG_OFST (0x06) /**< (USB_DEVICE_EPSTATUS) DEVICE_ENDPOINT End Point Pipe Status Offset */
  970. #define USB_DEVICE_EPINTFLAG_REG_OFST (0x07) /**< (USB_DEVICE_EPINTFLAG) DEVICE_ENDPOINT End Point Interrupt Flag Offset */
  971. #define USB_DEVICE_EPINTENCLR_REG_OFST (0x08) /**< (USB_DEVICE_EPINTENCLR) DEVICE_ENDPOINT End Point Interrupt Clear Flag Offset */
  972. #define USB_DEVICE_EPINTENSET_REG_OFST (0x09) /**< (USB_DEVICE_EPINTENSET) DEVICE_ENDPOINT End Point Interrupt Set Flag Offset */
  973. #define USB_HOST_PCFG_REG_OFST (0x00) /**< (USB_HOST_PCFG) HOST_PIPE End Point Configuration Offset */
  974. #define USB_HOST_BINTERVAL_REG_OFST (0x03) /**< (USB_HOST_BINTERVAL) HOST_PIPE Bus Access Period of Pipe Offset */
  975. #define USB_HOST_PSTATUSCLR_REG_OFST (0x04) /**< (USB_HOST_PSTATUSCLR) HOST_PIPE End Point Pipe Status Clear Offset */
  976. #define USB_HOST_PSTATUSSET_REG_OFST (0x05) /**< (USB_HOST_PSTATUSSET) HOST_PIPE End Point Pipe Status Set Offset */
  977. #define USB_HOST_PSTATUS_REG_OFST (0x06) /**< (USB_HOST_PSTATUS) HOST_PIPE End Point Pipe Status Offset */
  978. #define USB_HOST_PINTFLAG_REG_OFST (0x07) /**< (USB_HOST_PINTFLAG) HOST_PIPE Pipe Interrupt Flag Offset */
  979. #define USB_HOST_PINTENCLR_REG_OFST (0x08) /**< (USB_HOST_PINTENCLR) HOST_PIPE Pipe Interrupt Flag Clear Offset */
  980. #define USB_HOST_PINTENSET_REG_OFST (0x09) /**< (USB_HOST_PINTENSET) HOST_PIPE Pipe Interrupt Flag Set Offset */
  981. #define USB_CTRLA_REG_OFST (0x00) /**< (USB_CTRLA) Control A Offset */
  982. #define USB_SYNCBUSY_REG_OFST (0x02) /**< (USB_SYNCBUSY) Synchronization Busy Offset */
  983. #define USB_QOSCTRL_REG_OFST (0x03) /**< (USB_QOSCTRL) USB Quality Of Service Offset */
  984. #define USB_DEVICE_CTRLB_REG_OFST (0x08) /**< (USB_DEVICE_CTRLB) DEVICE Control B Offset */
  985. #define USB_HOST_CTRLB_REG_OFST (0x08) /**< (USB_HOST_CTRLB) HOST Control B Offset */
  986. #define USB_DEVICE_DADD_REG_OFST (0x0A) /**< (USB_DEVICE_DADD) DEVICE Device Address Offset */
  987. #define USB_HOST_HSOFC_REG_OFST (0x0A) /**< (USB_HOST_HSOFC) HOST Host Start Of Frame Control Offset */
  988. #define USB_DEVICE_STATUS_REG_OFST (0x0C) /**< (USB_DEVICE_STATUS) DEVICE Status Offset */
  989. #define USB_HOST_STATUS_REG_OFST (0x0C) /**< (USB_HOST_STATUS) HOST Status Offset */
  990. #define USB_FSMSTATUS_REG_OFST (0x0D) /**< (USB_FSMSTATUS) Finite State Machine Status Offset */
  991. #define USB_DEVICE_FNUM_REG_OFST (0x10) /**< (USB_DEVICE_FNUM) DEVICE Device Frame Number Offset */
  992. #define USB_HOST_FNUM_REG_OFST (0x10) /**< (USB_HOST_FNUM) HOST Host Frame Number Offset */
  993. #define USB_HOST_FLENHIGH_REG_OFST (0x12) /**< (USB_HOST_FLENHIGH) HOST Host Frame Length Offset */
  994. #define USB_DEVICE_INTENCLR_REG_OFST (0x14) /**< (USB_DEVICE_INTENCLR) DEVICE Device Interrupt Enable Clear Offset */
  995. #define USB_HOST_INTENCLR_REG_OFST (0x14) /**< (USB_HOST_INTENCLR) HOST Host Interrupt Enable Clear Offset */
  996. #define USB_DEVICE_INTENSET_REG_OFST (0x18) /**< (USB_DEVICE_INTENSET) DEVICE Device Interrupt Enable Set Offset */
  997. #define USB_HOST_INTENSET_REG_OFST (0x18) /**< (USB_HOST_INTENSET) HOST Host Interrupt Enable Set Offset */
  998. #define USB_DEVICE_INTFLAG_REG_OFST (0x1C) /**< (USB_DEVICE_INTFLAG) DEVICE Device Interrupt Flag Offset */
  999. #define USB_HOST_INTFLAG_REG_OFST (0x1C) /**< (USB_HOST_INTFLAG) HOST Host Interrupt Flag Offset */
  1000. #define USB_DEVICE_EPINTSMRY_REG_OFST (0x20) /**< (USB_DEVICE_EPINTSMRY) DEVICE End Point Interrupt Summary Offset */
  1001. #define USB_HOST_PINTSMRY_REG_OFST (0x20) /**< (USB_HOST_PINTSMRY) HOST Pipe Interrupt Summary Offset */
  1002. #define USB_DESCADD_REG_OFST (0x24) /**< (USB_DESCADD) Descriptor Address Offset */
  1003. #define USB_PADCAL_REG_OFST (0x28) /**< (USB_PADCAL) USB PAD Calibration Offset */
  1004. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  1005. /** \brief DEVICE_DESC_BANK register API structure */
  1006. typedef struct
  1007. {
  1008. __IO uint32_t USB_ADDR; /**< Offset: 0x00 (R/W 32) DEVICE_DESC_BANK Endpoint Bank, Adress of Data Buffer */
  1009. __IO uint32_t USB_PCKSIZE; /**< Offset: 0x04 (R/W 32) DEVICE_DESC_BANK Endpoint Bank, Packet Size */
  1010. __IO uint16_t USB_EXTREG; /**< Offset: 0x08 (R/W 16) DEVICE_DESC_BANK Endpoint Bank, Extended */
  1011. __IO uint8_t USB_STATUS_BK; /**< Offset: 0x0A (R/W 8) DEVICE_DESC_BANK Enpoint Bank, Status of Bank */
  1012. __I uint8_t Reserved1[0x05];
  1013. } usb_device_desc_bank_registers_t;
  1014. /** \brief HOST_DESC_BANK register API structure */
  1015. typedef struct
  1016. {
  1017. __IO uint32_t USB_ADDR; /**< Offset: 0x00 (R/W 32) HOST_DESC_BANK Host Bank, Adress of Data Buffer */
  1018. __IO uint32_t USB_PCKSIZE; /**< Offset: 0x04 (R/W 32) HOST_DESC_BANK Host Bank, Packet Size */
  1019. __IO uint16_t USB_EXTREG; /**< Offset: 0x08 (R/W 16) HOST_DESC_BANK Host Bank, Extended */
  1020. __IO uint8_t USB_STATUS_BK; /**< Offset: 0x0A (R/W 8) HOST_DESC_BANK Host Bank, Status of Bank */
  1021. __I uint8_t Reserved1[0x01];
  1022. __IO uint16_t USB_CTRL_PIPE; /**< Offset: 0x0C (R/W 16) HOST_DESC_BANK Host Bank, Host Control Pipe */
  1023. __IO uint16_t USB_STATUS_PIPE; /**< Offset: 0x0E (R/W 16) HOST_DESC_BANK Host Bank, Host Status Pipe */
  1024. } usb_host_desc_bank_registers_t;
  1025. /** \brief DEVICE_ENDPOINT register API structure */
  1026. typedef struct
  1027. {
  1028. __IO uint8_t USB_EPCFG; /**< Offset: 0x00 (R/W 8) DEVICE_ENDPOINT End Point Configuration */
  1029. __I uint8_t Reserved1[0x03];
  1030. __O uint8_t USB_EPSTATUSCLR; /**< Offset: 0x04 ( /W 8) DEVICE_ENDPOINT End Point Pipe Status Clear */
  1031. __O uint8_t USB_EPSTATUSSET; /**< Offset: 0x05 ( /W 8) DEVICE_ENDPOINT End Point Pipe Status Set */
  1032. __I uint8_t USB_EPSTATUS; /**< Offset: 0x06 (R/ 8) DEVICE_ENDPOINT End Point Pipe Status */
  1033. __IO uint8_t USB_EPINTFLAG; /**< Offset: 0x07 (R/W 8) DEVICE_ENDPOINT End Point Interrupt Flag */
  1034. __IO uint8_t USB_EPINTENCLR; /**< Offset: 0x08 (R/W 8) DEVICE_ENDPOINT End Point Interrupt Clear Flag */
  1035. __IO uint8_t USB_EPINTENSET; /**< Offset: 0x09 (R/W 8) DEVICE_ENDPOINT End Point Interrupt Set Flag */
  1036. __I uint8_t Reserved2[0x16];
  1037. } usb_device_endpoint_registers_t;
  1038. /** \brief HOST_PIPE register API structure */
  1039. typedef struct
  1040. {
  1041. __IO uint8_t USB_PCFG; /**< Offset: 0x00 (R/W 8) HOST_PIPE End Point Configuration */
  1042. __I uint8_t Reserved1[0x02];
  1043. __IO uint8_t USB_BINTERVAL; /**< Offset: 0x03 (R/W 8) HOST_PIPE Bus Access Period of Pipe */
  1044. __O uint8_t USB_PSTATUSCLR; /**< Offset: 0x04 ( /W 8) HOST_PIPE End Point Pipe Status Clear */
  1045. __O uint8_t USB_PSTATUSSET; /**< Offset: 0x05 ( /W 8) HOST_PIPE End Point Pipe Status Set */
  1046. __I uint8_t USB_PSTATUS; /**< Offset: 0x06 (R/ 8) HOST_PIPE End Point Pipe Status */
  1047. __IO uint8_t USB_PINTFLAG; /**< Offset: 0x07 (R/W 8) HOST_PIPE Pipe Interrupt Flag */
  1048. __IO uint8_t USB_PINTENCLR; /**< Offset: 0x08 (R/W 8) HOST_PIPE Pipe Interrupt Flag Clear */
  1049. __IO uint8_t USB_PINTENSET; /**< Offset: 0x09 (R/W 8) HOST_PIPE Pipe Interrupt Flag Set */
  1050. __I uint8_t Reserved2[0x16];
  1051. } usb_host_pipe_registers_t;
  1052. #define USB_DEVICE_DESC_BANK_NUMBER _U_(2)
  1053. /** \brief USB_DESCRIPTOR register API structure */
  1054. typedef struct
  1055. { /* Universal Serial Bus */
  1056. usb_device_desc_bank_registers_t DEVICE_DESC_BANK[USB_DEVICE_DESC_BANK_NUMBER]; /**< Offset: 0x00 */
  1057. } usb_descriptor_device_registers_t;
  1058. #define USB_HOST_DESC_BANK_NUMBER _U_(2)
  1059. /** \brief USB_DESCRIPTOR register API structure */
  1060. typedef struct
  1061. { /* Universal Serial Bus */
  1062. usb_host_desc_bank_registers_t HOST_DESC_BANK[USB_HOST_DESC_BANK_NUMBER]; /**< Offset: 0x00 */
  1063. } usb_descriptor_host_registers_t;
  1064. /** \brief USB_DESCRIPTOR hardware registers */
  1065. typedef union
  1066. { /* Universal Serial Bus */
  1067. usb_descriptor_device_registers_t DEVICE; /**< USB is Device */
  1068. usb_descriptor_host_registers_t HOST; /**< USB is Host */
  1069. } usb_descriptor_registers_t;
  1070. #define USB_DEVICE_ENDPOINT_NUMBER _U_(8)
  1071. /** \brief USB register API structure */
  1072. typedef struct
  1073. { /* Universal Serial Bus */
  1074. __IO uint8_t USB_CTRLA; /**< Offset: 0x00 (R/W 8) Control A */
  1075. __I uint8_t Reserved1[0x01];
  1076. __I uint8_t USB_SYNCBUSY; /**< Offset: 0x02 (R/ 8) Synchronization Busy */
  1077. __IO uint8_t USB_QOSCTRL; /**< Offset: 0x03 (R/W 8) USB Quality Of Service */
  1078. __I uint8_t Reserved2[0x04];
  1079. __IO uint16_t USB_CTRLB; /**< Offset: 0x08 (R/W 16) DEVICE Control B */
  1080. __IO uint8_t USB_DADD; /**< Offset: 0x0A (R/W 8) DEVICE Device Address */
  1081. __I uint8_t Reserved3[0x01];
  1082. __I uint8_t USB_STATUS; /**< Offset: 0x0C (R/ 8) DEVICE Status */
  1083. __I uint8_t USB_FSMSTATUS; /**< Offset: 0x0D (R/ 8) Finite State Machine Status */
  1084. __I uint8_t Reserved4[0x02];
  1085. __I uint16_t USB_FNUM; /**< Offset: 0x10 (R/ 16) DEVICE Device Frame Number */
  1086. __I uint8_t Reserved5[0x02];
  1087. __IO uint16_t USB_INTENCLR; /**< Offset: 0x14 (R/W 16) DEVICE Device Interrupt Enable Clear */
  1088. __I uint8_t Reserved6[0x02];
  1089. __IO uint16_t USB_INTENSET; /**< Offset: 0x18 (R/W 16) DEVICE Device Interrupt Enable Set */
  1090. __I uint8_t Reserved7[0x02];
  1091. __IO uint16_t USB_INTFLAG; /**< Offset: 0x1C (R/W 16) DEVICE Device Interrupt Flag */
  1092. __I uint8_t Reserved8[0x02];
  1093. __I uint16_t USB_EPINTSMRY; /**< Offset: 0x20 (R/ 16) DEVICE End Point Interrupt Summary */
  1094. __I uint8_t Reserved9[0x02];
  1095. __IO uint32_t USB_DESCADD; /**< Offset: 0x24 (R/W 32) Descriptor Address */
  1096. __IO uint16_t USB_PADCAL; /**< Offset: 0x28 (R/W 16) USB PAD Calibration */
  1097. __I uint8_t Reserved10[0xD6];
  1098. usb_device_endpoint_registers_t DEVICE_ENDPOINT[USB_DEVICE_ENDPOINT_NUMBER]; /**< Offset: 0x100 */
  1099. } usb_device_registers_t;
  1100. #define USB_HOST_PIPE_NUMBER _U_(8)
  1101. /** \brief USB register API structure */
  1102. typedef struct
  1103. { /* Universal Serial Bus */
  1104. __IO uint8_t USB_CTRLA; /**< Offset: 0x00 (R/W 8) Control A */
  1105. __I uint8_t Reserved1[0x01];
  1106. __I uint8_t USB_SYNCBUSY; /**< Offset: 0x02 (R/ 8) Synchronization Busy */
  1107. __IO uint8_t USB_QOSCTRL; /**< Offset: 0x03 (R/W 8) USB Quality Of Service */
  1108. __I uint8_t Reserved2[0x04];
  1109. __IO uint16_t USB_CTRLB; /**< Offset: 0x08 (R/W 16) HOST Control B */
  1110. __IO uint8_t USB_HSOFC; /**< Offset: 0x0A (R/W 8) HOST Host Start Of Frame Control */
  1111. __I uint8_t Reserved3[0x01];
  1112. __IO uint8_t USB_STATUS; /**< Offset: 0x0C (R/W 8) HOST Status */
  1113. __I uint8_t USB_FSMSTATUS; /**< Offset: 0x0D (R/ 8) Finite State Machine Status */
  1114. __I uint8_t Reserved4[0x02];
  1115. __IO uint16_t USB_FNUM; /**< Offset: 0x10 (R/W 16) HOST Host Frame Number */
  1116. __I uint8_t USB_FLENHIGH; /**< Offset: 0x12 (R/ 8) HOST Host Frame Length */
  1117. __I uint8_t Reserved5[0x01];
  1118. __IO uint16_t USB_INTENCLR; /**< Offset: 0x14 (R/W 16) HOST Host Interrupt Enable Clear */
  1119. __I uint8_t Reserved6[0x02];
  1120. __IO uint16_t USB_INTENSET; /**< Offset: 0x18 (R/W 16) HOST Host Interrupt Enable Set */
  1121. __I uint8_t Reserved7[0x02];
  1122. __IO uint16_t USB_INTFLAG; /**< Offset: 0x1C (R/W 16) HOST Host Interrupt Flag */
  1123. __I uint8_t Reserved8[0x02];
  1124. __I uint16_t USB_PINTSMRY; /**< Offset: 0x20 (R/ 16) HOST Pipe Interrupt Summary */
  1125. __I uint8_t Reserved9[0x02];
  1126. __IO uint32_t USB_DESCADD; /**< Offset: 0x24 (R/W 32) Descriptor Address */
  1127. __IO uint16_t USB_PADCAL; /**< Offset: 0x28 (R/W 16) USB PAD Calibration */
  1128. __I uint8_t Reserved10[0xD6];
  1129. usb_host_pipe_registers_t HOST_PIPE[USB_HOST_PIPE_NUMBER]; /**< Offset: 0x100 */
  1130. } usb_host_registers_t;
  1131. /** \brief USB hardware registers */
  1132. typedef union
  1133. { /* Universal Serial Bus */
  1134. usb_device_registers_t DEVICE; /**< USB is Device */
  1135. usb_host_registers_t HOST; /**< USB is Host */
  1136. } usb_registers_t;
  1137. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  1138. /** \brief USB_DESCRIPTOR memory section attribute */
  1139. #define SECTION_USB_DESCRIPTOR
  1140. #endif /* _SAMD21_USB_COMPONENT_H_ */