cvmx-mio-defs.h 53 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004
  1. /***********************license start***************
  2. * Author: Cavium Networks
  3. *
  4. * Contact: support@caviumnetworks.com
  5. * This file is part of the OCTEON SDK
  6. *
  7. * Copyright (c) 2003-2008 Cavium Networks
  8. *
  9. * This file is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License, Version 2, as
  11. * published by the Free Software Foundation.
  12. *
  13. * This file is distributed in the hope that it will be useful, but
  14. * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
  15. * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
  16. * NONINFRINGEMENT. See the GNU General Public License for more
  17. * details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with this file; if not, write to the Free Software
  21. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  22. * or visit http://www.gnu.org/licenses/.
  23. *
  24. * This file may also be available under a different license from Cavium.
  25. * Contact Cavium Networks for more information
  26. ***********************license end**************************************/
  27. #ifndef __CVMX_MIO_DEFS_H__
  28. #define __CVMX_MIO_DEFS_H__
  29. #define CVMX_MIO_BOOT_BIST_STAT \
  30. CVMX_ADD_IO_SEG(0x00011800000000F8ull)
  31. #define CVMX_MIO_BOOT_COMP \
  32. CVMX_ADD_IO_SEG(0x00011800000000B8ull)
  33. #define CVMX_MIO_BOOT_DMA_CFGX(offset) \
  34. CVMX_ADD_IO_SEG(0x0001180000000100ull + (((offset) & 3) * 8))
  35. #define CVMX_MIO_BOOT_DMA_INTX(offset) \
  36. CVMX_ADD_IO_SEG(0x0001180000000138ull + (((offset) & 3) * 8))
  37. #define CVMX_MIO_BOOT_DMA_INT_ENX(offset) \
  38. CVMX_ADD_IO_SEG(0x0001180000000150ull + (((offset) & 3) * 8))
  39. #define CVMX_MIO_BOOT_DMA_TIMX(offset) \
  40. CVMX_ADD_IO_SEG(0x0001180000000120ull + (((offset) & 3) * 8))
  41. #define CVMX_MIO_BOOT_ERR \
  42. CVMX_ADD_IO_SEG(0x00011800000000A0ull)
  43. #define CVMX_MIO_BOOT_INT \
  44. CVMX_ADD_IO_SEG(0x00011800000000A8ull)
  45. #define CVMX_MIO_BOOT_LOC_ADR \
  46. CVMX_ADD_IO_SEG(0x0001180000000090ull)
  47. #define CVMX_MIO_BOOT_LOC_CFGX(offset) \
  48. CVMX_ADD_IO_SEG(0x0001180000000080ull + (((offset) & 1) * 8))
  49. #define CVMX_MIO_BOOT_LOC_DAT \
  50. CVMX_ADD_IO_SEG(0x0001180000000098ull)
  51. #define CVMX_MIO_BOOT_PIN_DEFS \
  52. CVMX_ADD_IO_SEG(0x00011800000000C0ull)
  53. #define CVMX_MIO_BOOT_REG_CFGX(offset) \
  54. CVMX_ADD_IO_SEG(0x0001180000000000ull + (((offset) & 7) * 8))
  55. #define CVMX_MIO_BOOT_REG_TIMX(offset) \
  56. CVMX_ADD_IO_SEG(0x0001180000000040ull + (((offset) & 7) * 8))
  57. #define CVMX_MIO_BOOT_THR \
  58. CVMX_ADD_IO_SEG(0x00011800000000B0ull)
  59. #define CVMX_MIO_FUS_BNK_DATX(offset) \
  60. CVMX_ADD_IO_SEG(0x0001180000001520ull + (((offset) & 3) * 8))
  61. #define CVMX_MIO_FUS_DAT0 \
  62. CVMX_ADD_IO_SEG(0x0001180000001400ull)
  63. #define CVMX_MIO_FUS_DAT1 \
  64. CVMX_ADD_IO_SEG(0x0001180000001408ull)
  65. #define CVMX_MIO_FUS_DAT2 \
  66. CVMX_ADD_IO_SEG(0x0001180000001410ull)
  67. #define CVMX_MIO_FUS_DAT3 \
  68. CVMX_ADD_IO_SEG(0x0001180000001418ull)
  69. #define CVMX_MIO_FUS_EMA \
  70. CVMX_ADD_IO_SEG(0x0001180000001550ull)
  71. #define CVMX_MIO_FUS_PDF \
  72. CVMX_ADD_IO_SEG(0x0001180000001420ull)
  73. #define CVMX_MIO_FUS_PLL \
  74. CVMX_ADD_IO_SEG(0x0001180000001580ull)
  75. #define CVMX_MIO_FUS_PROG \
  76. CVMX_ADD_IO_SEG(0x0001180000001510ull)
  77. #define CVMX_MIO_FUS_PROG_TIMES \
  78. CVMX_ADD_IO_SEG(0x0001180000001518ull)
  79. #define CVMX_MIO_FUS_RCMD \
  80. CVMX_ADD_IO_SEG(0x0001180000001500ull)
  81. #define CVMX_MIO_FUS_SPR_REPAIR_RES \
  82. CVMX_ADD_IO_SEG(0x0001180000001548ull)
  83. #define CVMX_MIO_FUS_SPR_REPAIR_SUM \
  84. CVMX_ADD_IO_SEG(0x0001180000001540ull)
  85. #define CVMX_MIO_FUS_UNLOCK \
  86. CVMX_ADD_IO_SEG(0x0001180000001578ull)
  87. #define CVMX_MIO_FUS_WADR \
  88. CVMX_ADD_IO_SEG(0x0001180000001508ull)
  89. #define CVMX_MIO_NDF_DMA_CFG \
  90. CVMX_ADD_IO_SEG(0x0001180000000168ull)
  91. #define CVMX_MIO_NDF_DMA_INT \
  92. CVMX_ADD_IO_SEG(0x0001180000000170ull)
  93. #define CVMX_MIO_NDF_DMA_INT_EN \
  94. CVMX_ADD_IO_SEG(0x0001180000000178ull)
  95. #define CVMX_MIO_PLL_CTL \
  96. CVMX_ADD_IO_SEG(0x0001180000001448ull)
  97. #define CVMX_MIO_PLL_SETTING \
  98. CVMX_ADD_IO_SEG(0x0001180000001440ull)
  99. #define CVMX_MIO_TWSX_INT(offset) \
  100. CVMX_ADD_IO_SEG(0x0001180000001010ull + (((offset) & 1) * 512))
  101. #define CVMX_MIO_TWSX_SW_TWSI(offset) \
  102. CVMX_ADD_IO_SEG(0x0001180000001000ull + (((offset) & 1) * 512))
  103. #define CVMX_MIO_TWSX_SW_TWSI_EXT(offset) \
  104. CVMX_ADD_IO_SEG(0x0001180000001018ull + (((offset) & 1) * 512))
  105. #define CVMX_MIO_TWSX_TWSI_SW(offset) \
  106. CVMX_ADD_IO_SEG(0x0001180000001008ull + (((offset) & 1) * 512))
  107. #define CVMX_MIO_UART2_DLH \
  108. CVMX_ADD_IO_SEG(0x0001180000000488ull)
  109. #define CVMX_MIO_UART2_DLL \
  110. CVMX_ADD_IO_SEG(0x0001180000000480ull)
  111. #define CVMX_MIO_UART2_FAR \
  112. CVMX_ADD_IO_SEG(0x0001180000000520ull)
  113. #define CVMX_MIO_UART2_FCR \
  114. CVMX_ADD_IO_SEG(0x0001180000000450ull)
  115. #define CVMX_MIO_UART2_HTX \
  116. CVMX_ADD_IO_SEG(0x0001180000000708ull)
  117. #define CVMX_MIO_UART2_IER \
  118. CVMX_ADD_IO_SEG(0x0001180000000408ull)
  119. #define CVMX_MIO_UART2_IIR \
  120. CVMX_ADD_IO_SEG(0x0001180000000410ull)
  121. #define CVMX_MIO_UART2_LCR \
  122. CVMX_ADD_IO_SEG(0x0001180000000418ull)
  123. #define CVMX_MIO_UART2_LSR \
  124. CVMX_ADD_IO_SEG(0x0001180000000428ull)
  125. #define CVMX_MIO_UART2_MCR \
  126. CVMX_ADD_IO_SEG(0x0001180000000420ull)
  127. #define CVMX_MIO_UART2_MSR \
  128. CVMX_ADD_IO_SEG(0x0001180000000430ull)
  129. #define CVMX_MIO_UART2_RBR \
  130. CVMX_ADD_IO_SEG(0x0001180000000400ull)
  131. #define CVMX_MIO_UART2_RFL \
  132. CVMX_ADD_IO_SEG(0x0001180000000608ull)
  133. #define CVMX_MIO_UART2_RFW \
  134. CVMX_ADD_IO_SEG(0x0001180000000530ull)
  135. #define CVMX_MIO_UART2_SBCR \
  136. CVMX_ADD_IO_SEG(0x0001180000000620ull)
  137. #define CVMX_MIO_UART2_SCR \
  138. CVMX_ADD_IO_SEG(0x0001180000000438ull)
  139. #define CVMX_MIO_UART2_SFE \
  140. CVMX_ADD_IO_SEG(0x0001180000000630ull)
  141. #define CVMX_MIO_UART2_SRR \
  142. CVMX_ADD_IO_SEG(0x0001180000000610ull)
  143. #define CVMX_MIO_UART2_SRT \
  144. CVMX_ADD_IO_SEG(0x0001180000000638ull)
  145. #define CVMX_MIO_UART2_SRTS \
  146. CVMX_ADD_IO_SEG(0x0001180000000618ull)
  147. #define CVMX_MIO_UART2_STT \
  148. CVMX_ADD_IO_SEG(0x0001180000000700ull)
  149. #define CVMX_MIO_UART2_TFL \
  150. CVMX_ADD_IO_SEG(0x0001180000000600ull)
  151. #define CVMX_MIO_UART2_TFR \
  152. CVMX_ADD_IO_SEG(0x0001180000000528ull)
  153. #define CVMX_MIO_UART2_THR \
  154. CVMX_ADD_IO_SEG(0x0001180000000440ull)
  155. #define CVMX_MIO_UART2_USR \
  156. CVMX_ADD_IO_SEG(0x0001180000000538ull)
  157. #define CVMX_MIO_UARTX_DLH(offset) \
  158. CVMX_ADD_IO_SEG(0x0001180000000888ull + (((offset) & 1) * 1024))
  159. #define CVMX_MIO_UARTX_DLL(offset) \
  160. CVMX_ADD_IO_SEG(0x0001180000000880ull + (((offset) & 1) * 1024))
  161. #define CVMX_MIO_UARTX_FAR(offset) \
  162. CVMX_ADD_IO_SEG(0x0001180000000920ull + (((offset) & 1) * 1024))
  163. #define CVMX_MIO_UARTX_FCR(offset) \
  164. CVMX_ADD_IO_SEG(0x0001180000000850ull + (((offset) & 1) * 1024))
  165. #define CVMX_MIO_UARTX_HTX(offset) \
  166. CVMX_ADD_IO_SEG(0x0001180000000B08ull + (((offset) & 1) * 1024))
  167. #define CVMX_MIO_UARTX_IER(offset) \
  168. CVMX_ADD_IO_SEG(0x0001180000000808ull + (((offset) & 1) * 1024))
  169. #define CVMX_MIO_UARTX_IIR(offset) \
  170. CVMX_ADD_IO_SEG(0x0001180000000810ull + (((offset) & 1) * 1024))
  171. #define CVMX_MIO_UARTX_LCR(offset) \
  172. CVMX_ADD_IO_SEG(0x0001180000000818ull + (((offset) & 1) * 1024))
  173. #define CVMX_MIO_UARTX_LSR(offset) \
  174. CVMX_ADD_IO_SEG(0x0001180000000828ull + (((offset) & 1) * 1024))
  175. #define CVMX_MIO_UARTX_MCR(offset) \
  176. CVMX_ADD_IO_SEG(0x0001180000000820ull + (((offset) & 1) * 1024))
  177. #define CVMX_MIO_UARTX_MSR(offset) \
  178. CVMX_ADD_IO_SEG(0x0001180000000830ull + (((offset) & 1) * 1024))
  179. #define CVMX_MIO_UARTX_RBR(offset) \
  180. CVMX_ADD_IO_SEG(0x0001180000000800ull + (((offset) & 1) * 1024))
  181. #define CVMX_MIO_UARTX_RFL(offset) \
  182. CVMX_ADD_IO_SEG(0x0001180000000A08ull + (((offset) & 1) * 1024))
  183. #define CVMX_MIO_UARTX_RFW(offset) \
  184. CVMX_ADD_IO_SEG(0x0001180000000930ull + (((offset) & 1) * 1024))
  185. #define CVMX_MIO_UARTX_SBCR(offset) \
  186. CVMX_ADD_IO_SEG(0x0001180000000A20ull + (((offset) & 1) * 1024))
  187. #define CVMX_MIO_UARTX_SCR(offset) \
  188. CVMX_ADD_IO_SEG(0x0001180000000838ull + (((offset) & 1) * 1024))
  189. #define CVMX_MIO_UARTX_SFE(offset) \
  190. CVMX_ADD_IO_SEG(0x0001180000000A30ull + (((offset) & 1) * 1024))
  191. #define CVMX_MIO_UARTX_SRR(offset) \
  192. CVMX_ADD_IO_SEG(0x0001180000000A10ull + (((offset) & 1) * 1024))
  193. #define CVMX_MIO_UARTX_SRT(offset) \
  194. CVMX_ADD_IO_SEG(0x0001180000000A38ull + (((offset) & 1) * 1024))
  195. #define CVMX_MIO_UARTX_SRTS(offset) \
  196. CVMX_ADD_IO_SEG(0x0001180000000A18ull + (((offset) & 1) * 1024))
  197. #define CVMX_MIO_UARTX_STT(offset) \
  198. CVMX_ADD_IO_SEG(0x0001180000000B00ull + (((offset) & 1) * 1024))
  199. #define CVMX_MIO_UARTX_TFL(offset) \
  200. CVMX_ADD_IO_SEG(0x0001180000000A00ull + (((offset) & 1) * 1024))
  201. #define CVMX_MIO_UARTX_TFR(offset) \
  202. CVMX_ADD_IO_SEG(0x0001180000000928ull + (((offset) & 1) * 1024))
  203. #define CVMX_MIO_UARTX_THR(offset) \
  204. CVMX_ADD_IO_SEG(0x0001180000000840ull + (((offset) & 1) * 1024))
  205. #define CVMX_MIO_UARTX_USR(offset) \
  206. CVMX_ADD_IO_SEG(0x0001180000000938ull + (((offset) & 1) * 1024))
  207. union cvmx_mio_boot_bist_stat {
  208. uint64_t u64;
  209. struct cvmx_mio_boot_bist_stat_s {
  210. uint64_t reserved_2_63:62;
  211. uint64_t loc:1;
  212. uint64_t ncbi:1;
  213. } s;
  214. struct cvmx_mio_boot_bist_stat_cn30xx {
  215. uint64_t reserved_4_63:60;
  216. uint64_t ncbo_1:1;
  217. uint64_t ncbo_0:1;
  218. uint64_t loc:1;
  219. uint64_t ncbi:1;
  220. } cn30xx;
  221. struct cvmx_mio_boot_bist_stat_cn30xx cn31xx;
  222. struct cvmx_mio_boot_bist_stat_cn38xx {
  223. uint64_t reserved_3_63:61;
  224. uint64_t ncbo_0:1;
  225. uint64_t loc:1;
  226. uint64_t ncbi:1;
  227. } cn38xx;
  228. struct cvmx_mio_boot_bist_stat_cn38xx cn38xxp2;
  229. struct cvmx_mio_boot_bist_stat_cn50xx {
  230. uint64_t reserved_6_63:58;
  231. uint64_t pcm_1:1;
  232. uint64_t pcm_0:1;
  233. uint64_t ncbo_1:1;
  234. uint64_t ncbo_0:1;
  235. uint64_t loc:1;
  236. uint64_t ncbi:1;
  237. } cn50xx;
  238. struct cvmx_mio_boot_bist_stat_cn52xx {
  239. uint64_t reserved_6_63:58;
  240. uint64_t ndf:2;
  241. uint64_t ncbo_0:1;
  242. uint64_t dma:1;
  243. uint64_t loc:1;
  244. uint64_t ncbi:1;
  245. } cn52xx;
  246. struct cvmx_mio_boot_bist_stat_cn52xxp1 {
  247. uint64_t reserved_4_63:60;
  248. uint64_t ncbo_0:1;
  249. uint64_t dma:1;
  250. uint64_t loc:1;
  251. uint64_t ncbi:1;
  252. } cn52xxp1;
  253. struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xx;
  254. struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xxp1;
  255. struct cvmx_mio_boot_bist_stat_cn38xx cn58xx;
  256. struct cvmx_mio_boot_bist_stat_cn38xx cn58xxp1;
  257. };
  258. union cvmx_mio_boot_comp {
  259. uint64_t u64;
  260. struct cvmx_mio_boot_comp_s {
  261. uint64_t reserved_10_63:54;
  262. uint64_t pctl:5;
  263. uint64_t nctl:5;
  264. } s;
  265. struct cvmx_mio_boot_comp_s cn50xx;
  266. struct cvmx_mio_boot_comp_s cn52xx;
  267. struct cvmx_mio_boot_comp_s cn52xxp1;
  268. struct cvmx_mio_boot_comp_s cn56xx;
  269. struct cvmx_mio_boot_comp_s cn56xxp1;
  270. };
  271. union cvmx_mio_boot_dma_cfgx {
  272. uint64_t u64;
  273. struct cvmx_mio_boot_dma_cfgx_s {
  274. uint64_t en:1;
  275. uint64_t rw:1;
  276. uint64_t clr:1;
  277. uint64_t reserved_60_60:1;
  278. uint64_t swap32:1;
  279. uint64_t swap16:1;
  280. uint64_t swap8:1;
  281. uint64_t endian:1;
  282. uint64_t size:20;
  283. uint64_t adr:36;
  284. } s;
  285. struct cvmx_mio_boot_dma_cfgx_s cn52xx;
  286. struct cvmx_mio_boot_dma_cfgx_s cn52xxp1;
  287. struct cvmx_mio_boot_dma_cfgx_s cn56xx;
  288. struct cvmx_mio_boot_dma_cfgx_s cn56xxp1;
  289. };
  290. union cvmx_mio_boot_dma_intx {
  291. uint64_t u64;
  292. struct cvmx_mio_boot_dma_intx_s {
  293. uint64_t reserved_2_63:62;
  294. uint64_t dmarq:1;
  295. uint64_t done:1;
  296. } s;
  297. struct cvmx_mio_boot_dma_intx_s cn52xx;
  298. struct cvmx_mio_boot_dma_intx_s cn52xxp1;
  299. struct cvmx_mio_boot_dma_intx_s cn56xx;
  300. struct cvmx_mio_boot_dma_intx_s cn56xxp1;
  301. };
  302. union cvmx_mio_boot_dma_int_enx {
  303. uint64_t u64;
  304. struct cvmx_mio_boot_dma_int_enx_s {
  305. uint64_t reserved_2_63:62;
  306. uint64_t dmarq:1;
  307. uint64_t done:1;
  308. } s;
  309. struct cvmx_mio_boot_dma_int_enx_s cn52xx;
  310. struct cvmx_mio_boot_dma_int_enx_s cn52xxp1;
  311. struct cvmx_mio_boot_dma_int_enx_s cn56xx;
  312. struct cvmx_mio_boot_dma_int_enx_s cn56xxp1;
  313. };
  314. union cvmx_mio_boot_dma_timx {
  315. uint64_t u64;
  316. struct cvmx_mio_boot_dma_timx_s {
  317. uint64_t dmack_pi:1;
  318. uint64_t dmarq_pi:1;
  319. uint64_t tim_mult:2;
  320. uint64_t rd_dly:3;
  321. uint64_t ddr:1;
  322. uint64_t width:1;
  323. uint64_t reserved_48_54:7;
  324. uint64_t pause:6;
  325. uint64_t dmack_h:6;
  326. uint64_t we_n:6;
  327. uint64_t we_a:6;
  328. uint64_t oe_n:6;
  329. uint64_t oe_a:6;
  330. uint64_t dmack_s:6;
  331. uint64_t dmarq:6;
  332. } s;
  333. struct cvmx_mio_boot_dma_timx_s cn52xx;
  334. struct cvmx_mio_boot_dma_timx_s cn52xxp1;
  335. struct cvmx_mio_boot_dma_timx_s cn56xx;
  336. struct cvmx_mio_boot_dma_timx_s cn56xxp1;
  337. };
  338. union cvmx_mio_boot_err {
  339. uint64_t u64;
  340. struct cvmx_mio_boot_err_s {
  341. uint64_t reserved_2_63:62;
  342. uint64_t wait_err:1;
  343. uint64_t adr_err:1;
  344. } s;
  345. struct cvmx_mio_boot_err_s cn30xx;
  346. struct cvmx_mio_boot_err_s cn31xx;
  347. struct cvmx_mio_boot_err_s cn38xx;
  348. struct cvmx_mio_boot_err_s cn38xxp2;
  349. struct cvmx_mio_boot_err_s cn50xx;
  350. struct cvmx_mio_boot_err_s cn52xx;
  351. struct cvmx_mio_boot_err_s cn52xxp1;
  352. struct cvmx_mio_boot_err_s cn56xx;
  353. struct cvmx_mio_boot_err_s cn56xxp1;
  354. struct cvmx_mio_boot_err_s cn58xx;
  355. struct cvmx_mio_boot_err_s cn58xxp1;
  356. };
  357. union cvmx_mio_boot_int {
  358. uint64_t u64;
  359. struct cvmx_mio_boot_int_s {
  360. uint64_t reserved_2_63:62;
  361. uint64_t wait_int:1;
  362. uint64_t adr_int:1;
  363. } s;
  364. struct cvmx_mio_boot_int_s cn30xx;
  365. struct cvmx_mio_boot_int_s cn31xx;
  366. struct cvmx_mio_boot_int_s cn38xx;
  367. struct cvmx_mio_boot_int_s cn38xxp2;
  368. struct cvmx_mio_boot_int_s cn50xx;
  369. struct cvmx_mio_boot_int_s cn52xx;
  370. struct cvmx_mio_boot_int_s cn52xxp1;
  371. struct cvmx_mio_boot_int_s cn56xx;
  372. struct cvmx_mio_boot_int_s cn56xxp1;
  373. struct cvmx_mio_boot_int_s cn58xx;
  374. struct cvmx_mio_boot_int_s cn58xxp1;
  375. };
  376. union cvmx_mio_boot_loc_adr {
  377. uint64_t u64;
  378. struct cvmx_mio_boot_loc_adr_s {
  379. uint64_t reserved_8_63:56;
  380. uint64_t adr:5;
  381. uint64_t reserved_0_2:3;
  382. } s;
  383. struct cvmx_mio_boot_loc_adr_s cn30xx;
  384. struct cvmx_mio_boot_loc_adr_s cn31xx;
  385. struct cvmx_mio_boot_loc_adr_s cn38xx;
  386. struct cvmx_mio_boot_loc_adr_s cn38xxp2;
  387. struct cvmx_mio_boot_loc_adr_s cn50xx;
  388. struct cvmx_mio_boot_loc_adr_s cn52xx;
  389. struct cvmx_mio_boot_loc_adr_s cn52xxp1;
  390. struct cvmx_mio_boot_loc_adr_s cn56xx;
  391. struct cvmx_mio_boot_loc_adr_s cn56xxp1;
  392. struct cvmx_mio_boot_loc_adr_s cn58xx;
  393. struct cvmx_mio_boot_loc_adr_s cn58xxp1;
  394. };
  395. union cvmx_mio_boot_loc_cfgx {
  396. uint64_t u64;
  397. struct cvmx_mio_boot_loc_cfgx_s {
  398. uint64_t reserved_32_63:32;
  399. uint64_t en:1;
  400. uint64_t reserved_28_30:3;
  401. uint64_t base:25;
  402. uint64_t reserved_0_2:3;
  403. } s;
  404. struct cvmx_mio_boot_loc_cfgx_s cn30xx;
  405. struct cvmx_mio_boot_loc_cfgx_s cn31xx;
  406. struct cvmx_mio_boot_loc_cfgx_s cn38xx;
  407. struct cvmx_mio_boot_loc_cfgx_s cn38xxp2;
  408. struct cvmx_mio_boot_loc_cfgx_s cn50xx;
  409. struct cvmx_mio_boot_loc_cfgx_s cn52xx;
  410. struct cvmx_mio_boot_loc_cfgx_s cn52xxp1;
  411. struct cvmx_mio_boot_loc_cfgx_s cn56xx;
  412. struct cvmx_mio_boot_loc_cfgx_s cn56xxp1;
  413. struct cvmx_mio_boot_loc_cfgx_s cn58xx;
  414. struct cvmx_mio_boot_loc_cfgx_s cn58xxp1;
  415. };
  416. union cvmx_mio_boot_loc_dat {
  417. uint64_t u64;
  418. struct cvmx_mio_boot_loc_dat_s {
  419. uint64_t data:64;
  420. } s;
  421. struct cvmx_mio_boot_loc_dat_s cn30xx;
  422. struct cvmx_mio_boot_loc_dat_s cn31xx;
  423. struct cvmx_mio_boot_loc_dat_s cn38xx;
  424. struct cvmx_mio_boot_loc_dat_s cn38xxp2;
  425. struct cvmx_mio_boot_loc_dat_s cn50xx;
  426. struct cvmx_mio_boot_loc_dat_s cn52xx;
  427. struct cvmx_mio_boot_loc_dat_s cn52xxp1;
  428. struct cvmx_mio_boot_loc_dat_s cn56xx;
  429. struct cvmx_mio_boot_loc_dat_s cn56xxp1;
  430. struct cvmx_mio_boot_loc_dat_s cn58xx;
  431. struct cvmx_mio_boot_loc_dat_s cn58xxp1;
  432. };
  433. union cvmx_mio_boot_pin_defs {
  434. uint64_t u64;
  435. struct cvmx_mio_boot_pin_defs_s {
  436. uint64_t reserved_16_63:48;
  437. uint64_t ale:1;
  438. uint64_t width:1;
  439. uint64_t dmack_p2:1;
  440. uint64_t dmack_p1:1;
  441. uint64_t dmack_p0:1;
  442. uint64_t term:2;
  443. uint64_t nand:1;
  444. uint64_t reserved_0_7:8;
  445. } s;
  446. struct cvmx_mio_boot_pin_defs_cn52xx {
  447. uint64_t reserved_16_63:48;
  448. uint64_t ale:1;
  449. uint64_t width:1;
  450. uint64_t reserved_13_13:1;
  451. uint64_t dmack_p1:1;
  452. uint64_t dmack_p0:1;
  453. uint64_t term:2;
  454. uint64_t nand:1;
  455. uint64_t reserved_0_7:8;
  456. } cn52xx;
  457. struct cvmx_mio_boot_pin_defs_cn56xx {
  458. uint64_t reserved_16_63:48;
  459. uint64_t ale:1;
  460. uint64_t width:1;
  461. uint64_t dmack_p2:1;
  462. uint64_t dmack_p1:1;
  463. uint64_t dmack_p0:1;
  464. uint64_t term:2;
  465. uint64_t reserved_0_8:9;
  466. } cn56xx;
  467. };
  468. union cvmx_mio_boot_reg_cfgx {
  469. uint64_t u64;
  470. struct cvmx_mio_boot_reg_cfgx_s {
  471. uint64_t reserved_44_63:20;
  472. uint64_t dmack:2;
  473. uint64_t tim_mult:2;
  474. uint64_t rd_dly:3;
  475. uint64_t sam:1;
  476. uint64_t we_ext:2;
  477. uint64_t oe_ext:2;
  478. uint64_t en:1;
  479. uint64_t orbit:1;
  480. uint64_t ale:1;
  481. uint64_t width:1;
  482. uint64_t size:12;
  483. uint64_t base:16;
  484. } s;
  485. struct cvmx_mio_boot_reg_cfgx_cn30xx {
  486. uint64_t reserved_37_63:27;
  487. uint64_t sam:1;
  488. uint64_t we_ext:2;
  489. uint64_t oe_ext:2;
  490. uint64_t en:1;
  491. uint64_t orbit:1;
  492. uint64_t ale:1;
  493. uint64_t width:1;
  494. uint64_t size:12;
  495. uint64_t base:16;
  496. } cn30xx;
  497. struct cvmx_mio_boot_reg_cfgx_cn30xx cn31xx;
  498. struct cvmx_mio_boot_reg_cfgx_cn38xx {
  499. uint64_t reserved_32_63:32;
  500. uint64_t en:1;
  501. uint64_t orbit:1;
  502. uint64_t reserved_28_29:2;
  503. uint64_t size:12;
  504. uint64_t base:16;
  505. } cn38xx;
  506. struct cvmx_mio_boot_reg_cfgx_cn38xx cn38xxp2;
  507. struct cvmx_mio_boot_reg_cfgx_cn50xx {
  508. uint64_t reserved_42_63:22;
  509. uint64_t tim_mult:2;
  510. uint64_t rd_dly:3;
  511. uint64_t sam:1;
  512. uint64_t we_ext:2;
  513. uint64_t oe_ext:2;
  514. uint64_t en:1;
  515. uint64_t orbit:1;
  516. uint64_t ale:1;
  517. uint64_t width:1;
  518. uint64_t size:12;
  519. uint64_t base:16;
  520. } cn50xx;
  521. struct cvmx_mio_boot_reg_cfgx_s cn52xx;
  522. struct cvmx_mio_boot_reg_cfgx_s cn52xxp1;
  523. struct cvmx_mio_boot_reg_cfgx_s cn56xx;
  524. struct cvmx_mio_boot_reg_cfgx_s cn56xxp1;
  525. struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xx;
  526. struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xxp1;
  527. };
  528. union cvmx_mio_boot_reg_timx {
  529. uint64_t u64;
  530. struct cvmx_mio_boot_reg_timx_s {
  531. uint64_t pagem:1;
  532. uint64_t waitm:1;
  533. uint64_t pages:2;
  534. uint64_t ale:6;
  535. uint64_t page:6;
  536. uint64_t wait:6;
  537. uint64_t pause:6;
  538. uint64_t wr_hld:6;
  539. uint64_t rd_hld:6;
  540. uint64_t we:6;
  541. uint64_t oe:6;
  542. uint64_t ce:6;
  543. uint64_t adr:6;
  544. } s;
  545. struct cvmx_mio_boot_reg_timx_s cn30xx;
  546. struct cvmx_mio_boot_reg_timx_s cn31xx;
  547. struct cvmx_mio_boot_reg_timx_cn38xx {
  548. uint64_t pagem:1;
  549. uint64_t waitm:1;
  550. uint64_t pages:2;
  551. uint64_t reserved_54_59:6;
  552. uint64_t page:6;
  553. uint64_t wait:6;
  554. uint64_t pause:6;
  555. uint64_t wr_hld:6;
  556. uint64_t rd_hld:6;
  557. uint64_t we:6;
  558. uint64_t oe:6;
  559. uint64_t ce:6;
  560. uint64_t adr:6;
  561. } cn38xx;
  562. struct cvmx_mio_boot_reg_timx_cn38xx cn38xxp2;
  563. struct cvmx_mio_boot_reg_timx_s cn50xx;
  564. struct cvmx_mio_boot_reg_timx_s cn52xx;
  565. struct cvmx_mio_boot_reg_timx_s cn52xxp1;
  566. struct cvmx_mio_boot_reg_timx_s cn56xx;
  567. struct cvmx_mio_boot_reg_timx_s cn56xxp1;
  568. struct cvmx_mio_boot_reg_timx_s cn58xx;
  569. struct cvmx_mio_boot_reg_timx_s cn58xxp1;
  570. };
  571. union cvmx_mio_boot_thr {
  572. uint64_t u64;
  573. struct cvmx_mio_boot_thr_s {
  574. uint64_t reserved_22_63:42;
  575. uint64_t dma_thr:6;
  576. uint64_t reserved_14_15:2;
  577. uint64_t fif_cnt:6;
  578. uint64_t reserved_6_7:2;
  579. uint64_t fif_thr:6;
  580. } s;
  581. struct cvmx_mio_boot_thr_cn30xx {
  582. uint64_t reserved_14_63:50;
  583. uint64_t fif_cnt:6;
  584. uint64_t reserved_6_7:2;
  585. uint64_t fif_thr:6;
  586. } cn30xx;
  587. struct cvmx_mio_boot_thr_cn30xx cn31xx;
  588. struct cvmx_mio_boot_thr_cn30xx cn38xx;
  589. struct cvmx_mio_boot_thr_cn30xx cn38xxp2;
  590. struct cvmx_mio_boot_thr_cn30xx cn50xx;
  591. struct cvmx_mio_boot_thr_s cn52xx;
  592. struct cvmx_mio_boot_thr_s cn52xxp1;
  593. struct cvmx_mio_boot_thr_s cn56xx;
  594. struct cvmx_mio_boot_thr_s cn56xxp1;
  595. struct cvmx_mio_boot_thr_cn30xx cn58xx;
  596. struct cvmx_mio_boot_thr_cn30xx cn58xxp1;
  597. };
  598. union cvmx_mio_fus_bnk_datx {
  599. uint64_t u64;
  600. struct cvmx_mio_fus_bnk_datx_s {
  601. uint64_t dat:64;
  602. } s;
  603. struct cvmx_mio_fus_bnk_datx_s cn50xx;
  604. struct cvmx_mio_fus_bnk_datx_s cn52xx;
  605. struct cvmx_mio_fus_bnk_datx_s cn52xxp1;
  606. struct cvmx_mio_fus_bnk_datx_s cn56xx;
  607. struct cvmx_mio_fus_bnk_datx_s cn56xxp1;
  608. struct cvmx_mio_fus_bnk_datx_s cn58xx;
  609. struct cvmx_mio_fus_bnk_datx_s cn58xxp1;
  610. };
  611. union cvmx_mio_fus_dat0 {
  612. uint64_t u64;
  613. struct cvmx_mio_fus_dat0_s {
  614. uint64_t reserved_32_63:32;
  615. uint64_t man_info:32;
  616. } s;
  617. struct cvmx_mio_fus_dat0_s cn30xx;
  618. struct cvmx_mio_fus_dat0_s cn31xx;
  619. struct cvmx_mio_fus_dat0_s cn38xx;
  620. struct cvmx_mio_fus_dat0_s cn38xxp2;
  621. struct cvmx_mio_fus_dat0_s cn50xx;
  622. struct cvmx_mio_fus_dat0_s cn52xx;
  623. struct cvmx_mio_fus_dat0_s cn52xxp1;
  624. struct cvmx_mio_fus_dat0_s cn56xx;
  625. struct cvmx_mio_fus_dat0_s cn56xxp1;
  626. struct cvmx_mio_fus_dat0_s cn58xx;
  627. struct cvmx_mio_fus_dat0_s cn58xxp1;
  628. };
  629. union cvmx_mio_fus_dat1 {
  630. uint64_t u64;
  631. struct cvmx_mio_fus_dat1_s {
  632. uint64_t reserved_32_63:32;
  633. uint64_t man_info:32;
  634. } s;
  635. struct cvmx_mio_fus_dat1_s cn30xx;
  636. struct cvmx_mio_fus_dat1_s cn31xx;
  637. struct cvmx_mio_fus_dat1_s cn38xx;
  638. struct cvmx_mio_fus_dat1_s cn38xxp2;
  639. struct cvmx_mio_fus_dat1_s cn50xx;
  640. struct cvmx_mio_fus_dat1_s cn52xx;
  641. struct cvmx_mio_fus_dat1_s cn52xxp1;
  642. struct cvmx_mio_fus_dat1_s cn56xx;
  643. struct cvmx_mio_fus_dat1_s cn56xxp1;
  644. struct cvmx_mio_fus_dat1_s cn58xx;
  645. struct cvmx_mio_fus_dat1_s cn58xxp1;
  646. };
  647. union cvmx_mio_fus_dat2 {
  648. uint64_t u64;
  649. struct cvmx_mio_fus_dat2_s {
  650. uint64_t reserved_34_63:30;
  651. uint64_t fus318:1;
  652. uint64_t raid_en:1;
  653. uint64_t reserved_30_31:2;
  654. uint64_t nokasu:1;
  655. uint64_t nodfa_cp2:1;
  656. uint64_t nomul:1;
  657. uint64_t nocrypto:1;
  658. uint64_t rst_sht:1;
  659. uint64_t bist_dis:1;
  660. uint64_t chip_id:8;
  661. uint64_t reserved_0_15:16;
  662. } s;
  663. struct cvmx_mio_fus_dat2_cn30xx {
  664. uint64_t reserved_29_63:35;
  665. uint64_t nodfa_cp2:1;
  666. uint64_t nomul:1;
  667. uint64_t nocrypto:1;
  668. uint64_t rst_sht:1;
  669. uint64_t bist_dis:1;
  670. uint64_t chip_id:8;
  671. uint64_t pll_off:4;
  672. uint64_t reserved_1_11:11;
  673. uint64_t pp_dis:1;
  674. } cn30xx;
  675. struct cvmx_mio_fus_dat2_cn31xx {
  676. uint64_t reserved_29_63:35;
  677. uint64_t nodfa_cp2:1;
  678. uint64_t nomul:1;
  679. uint64_t nocrypto:1;
  680. uint64_t rst_sht:1;
  681. uint64_t bist_dis:1;
  682. uint64_t chip_id:8;
  683. uint64_t pll_off:4;
  684. uint64_t reserved_2_11:10;
  685. uint64_t pp_dis:2;
  686. } cn31xx;
  687. struct cvmx_mio_fus_dat2_cn38xx {
  688. uint64_t reserved_29_63:35;
  689. uint64_t nodfa_cp2:1;
  690. uint64_t nomul:1;
  691. uint64_t nocrypto:1;
  692. uint64_t rst_sht:1;
  693. uint64_t bist_dis:1;
  694. uint64_t chip_id:8;
  695. uint64_t pp_dis:16;
  696. } cn38xx;
  697. struct cvmx_mio_fus_dat2_cn38xx cn38xxp2;
  698. struct cvmx_mio_fus_dat2_cn50xx {
  699. uint64_t reserved_34_63:30;
  700. uint64_t fus318:1;
  701. uint64_t raid_en:1;
  702. uint64_t reserved_30_31:2;
  703. uint64_t nokasu:1;
  704. uint64_t nodfa_cp2:1;
  705. uint64_t nomul:1;
  706. uint64_t nocrypto:1;
  707. uint64_t rst_sht:1;
  708. uint64_t bist_dis:1;
  709. uint64_t chip_id:8;
  710. uint64_t reserved_2_15:14;
  711. uint64_t pp_dis:2;
  712. } cn50xx;
  713. struct cvmx_mio_fus_dat2_cn52xx {
  714. uint64_t reserved_34_63:30;
  715. uint64_t fus318:1;
  716. uint64_t raid_en:1;
  717. uint64_t reserved_30_31:2;
  718. uint64_t nokasu:1;
  719. uint64_t nodfa_cp2:1;
  720. uint64_t nomul:1;
  721. uint64_t nocrypto:1;
  722. uint64_t rst_sht:1;
  723. uint64_t bist_dis:1;
  724. uint64_t chip_id:8;
  725. uint64_t reserved_4_15:12;
  726. uint64_t pp_dis:4;
  727. } cn52xx;
  728. struct cvmx_mio_fus_dat2_cn52xx cn52xxp1;
  729. struct cvmx_mio_fus_dat2_cn56xx {
  730. uint64_t reserved_34_63:30;
  731. uint64_t fus318:1;
  732. uint64_t raid_en:1;
  733. uint64_t reserved_30_31:2;
  734. uint64_t nokasu:1;
  735. uint64_t nodfa_cp2:1;
  736. uint64_t nomul:1;
  737. uint64_t nocrypto:1;
  738. uint64_t rst_sht:1;
  739. uint64_t bist_dis:1;
  740. uint64_t chip_id:8;
  741. uint64_t reserved_12_15:4;
  742. uint64_t pp_dis:12;
  743. } cn56xx;
  744. struct cvmx_mio_fus_dat2_cn56xx cn56xxp1;
  745. struct cvmx_mio_fus_dat2_cn58xx {
  746. uint64_t reserved_30_63:34;
  747. uint64_t nokasu:1;
  748. uint64_t nodfa_cp2:1;
  749. uint64_t nomul:1;
  750. uint64_t nocrypto:1;
  751. uint64_t rst_sht:1;
  752. uint64_t bist_dis:1;
  753. uint64_t chip_id:8;
  754. uint64_t pp_dis:16;
  755. } cn58xx;
  756. struct cvmx_mio_fus_dat2_cn58xx cn58xxp1;
  757. };
  758. union cvmx_mio_fus_dat3 {
  759. uint64_t u64;
  760. struct cvmx_mio_fus_dat3_s {
  761. uint64_t reserved_32_63:32;
  762. uint64_t pll_div4:1;
  763. uint64_t zip_crip:2;
  764. uint64_t bar2_en:1;
  765. uint64_t efus_lck:1;
  766. uint64_t efus_ign:1;
  767. uint64_t nozip:1;
  768. uint64_t nodfa_dte:1;
  769. uint64_t icache:24;
  770. } s;
  771. struct cvmx_mio_fus_dat3_cn30xx {
  772. uint64_t reserved_32_63:32;
  773. uint64_t pll_div4:1;
  774. uint64_t reserved_29_30:2;
  775. uint64_t bar2_en:1;
  776. uint64_t efus_lck:1;
  777. uint64_t efus_ign:1;
  778. uint64_t nozip:1;
  779. uint64_t nodfa_dte:1;
  780. uint64_t icache:24;
  781. } cn30xx;
  782. struct cvmx_mio_fus_dat3_s cn31xx;
  783. struct cvmx_mio_fus_dat3_cn38xx {
  784. uint64_t reserved_31_63:33;
  785. uint64_t zip_crip:2;
  786. uint64_t bar2_en:1;
  787. uint64_t efus_lck:1;
  788. uint64_t efus_ign:1;
  789. uint64_t nozip:1;
  790. uint64_t nodfa_dte:1;
  791. uint64_t icache:24;
  792. } cn38xx;
  793. struct cvmx_mio_fus_dat3_cn38xxp2 {
  794. uint64_t reserved_29_63:35;
  795. uint64_t bar2_en:1;
  796. uint64_t efus_lck:1;
  797. uint64_t efus_ign:1;
  798. uint64_t nozip:1;
  799. uint64_t nodfa_dte:1;
  800. uint64_t icache:24;
  801. } cn38xxp2;
  802. struct cvmx_mio_fus_dat3_cn38xx cn50xx;
  803. struct cvmx_mio_fus_dat3_cn38xx cn52xx;
  804. struct cvmx_mio_fus_dat3_cn38xx cn52xxp1;
  805. struct cvmx_mio_fus_dat3_cn38xx cn56xx;
  806. struct cvmx_mio_fus_dat3_cn38xx cn56xxp1;
  807. struct cvmx_mio_fus_dat3_cn38xx cn58xx;
  808. struct cvmx_mio_fus_dat3_cn38xx cn58xxp1;
  809. };
  810. union cvmx_mio_fus_ema {
  811. uint64_t u64;
  812. struct cvmx_mio_fus_ema_s {
  813. uint64_t reserved_7_63:57;
  814. uint64_t eff_ema:3;
  815. uint64_t reserved_3_3:1;
  816. uint64_t ema:3;
  817. } s;
  818. struct cvmx_mio_fus_ema_s cn50xx;
  819. struct cvmx_mio_fus_ema_s cn52xx;
  820. struct cvmx_mio_fus_ema_s cn52xxp1;
  821. struct cvmx_mio_fus_ema_s cn56xx;
  822. struct cvmx_mio_fus_ema_s cn56xxp1;
  823. struct cvmx_mio_fus_ema_cn58xx {
  824. uint64_t reserved_2_63:62;
  825. uint64_t ema:2;
  826. } cn58xx;
  827. struct cvmx_mio_fus_ema_cn58xx cn58xxp1;
  828. };
  829. union cvmx_mio_fus_pdf {
  830. uint64_t u64;
  831. struct cvmx_mio_fus_pdf_s {
  832. uint64_t pdf:64;
  833. } s;
  834. struct cvmx_mio_fus_pdf_s cn50xx;
  835. struct cvmx_mio_fus_pdf_s cn52xx;
  836. struct cvmx_mio_fus_pdf_s cn52xxp1;
  837. struct cvmx_mio_fus_pdf_s cn56xx;
  838. struct cvmx_mio_fus_pdf_s cn56xxp1;
  839. struct cvmx_mio_fus_pdf_s cn58xx;
  840. };
  841. union cvmx_mio_fus_pll {
  842. uint64_t u64;
  843. struct cvmx_mio_fus_pll_s {
  844. uint64_t reserved_2_63:62;
  845. uint64_t rfslip:1;
  846. uint64_t fbslip:1;
  847. } s;
  848. struct cvmx_mio_fus_pll_s cn50xx;
  849. struct cvmx_mio_fus_pll_s cn52xx;
  850. struct cvmx_mio_fus_pll_s cn52xxp1;
  851. struct cvmx_mio_fus_pll_s cn56xx;
  852. struct cvmx_mio_fus_pll_s cn56xxp1;
  853. struct cvmx_mio_fus_pll_s cn58xx;
  854. struct cvmx_mio_fus_pll_s cn58xxp1;
  855. };
  856. union cvmx_mio_fus_prog {
  857. uint64_t u64;
  858. struct cvmx_mio_fus_prog_s {
  859. uint64_t reserved_1_63:63;
  860. uint64_t prog:1;
  861. } s;
  862. struct cvmx_mio_fus_prog_s cn30xx;
  863. struct cvmx_mio_fus_prog_s cn31xx;
  864. struct cvmx_mio_fus_prog_s cn38xx;
  865. struct cvmx_mio_fus_prog_s cn38xxp2;
  866. struct cvmx_mio_fus_prog_s cn50xx;
  867. struct cvmx_mio_fus_prog_s cn52xx;
  868. struct cvmx_mio_fus_prog_s cn52xxp1;
  869. struct cvmx_mio_fus_prog_s cn56xx;
  870. struct cvmx_mio_fus_prog_s cn56xxp1;
  871. struct cvmx_mio_fus_prog_s cn58xx;
  872. struct cvmx_mio_fus_prog_s cn58xxp1;
  873. };
  874. union cvmx_mio_fus_prog_times {
  875. uint64_t u64;
  876. struct cvmx_mio_fus_prog_times_s {
  877. uint64_t reserved_33_63:31;
  878. uint64_t prog_pin:1;
  879. uint64_t out:8;
  880. uint64_t sclk_lo:4;
  881. uint64_t sclk_hi:12;
  882. uint64_t setup:8;
  883. } s;
  884. struct cvmx_mio_fus_prog_times_s cn50xx;
  885. struct cvmx_mio_fus_prog_times_s cn52xx;
  886. struct cvmx_mio_fus_prog_times_s cn52xxp1;
  887. struct cvmx_mio_fus_prog_times_s cn56xx;
  888. struct cvmx_mio_fus_prog_times_s cn56xxp1;
  889. struct cvmx_mio_fus_prog_times_s cn58xx;
  890. struct cvmx_mio_fus_prog_times_s cn58xxp1;
  891. };
  892. union cvmx_mio_fus_rcmd {
  893. uint64_t u64;
  894. struct cvmx_mio_fus_rcmd_s {
  895. uint64_t reserved_24_63:40;
  896. uint64_t dat:8;
  897. uint64_t reserved_13_15:3;
  898. uint64_t pend:1;
  899. uint64_t reserved_9_11:3;
  900. uint64_t efuse:1;
  901. uint64_t addr:8;
  902. } s;
  903. struct cvmx_mio_fus_rcmd_cn30xx {
  904. uint64_t reserved_24_63:40;
  905. uint64_t dat:8;
  906. uint64_t reserved_13_15:3;
  907. uint64_t pend:1;
  908. uint64_t reserved_9_11:3;
  909. uint64_t efuse:1;
  910. uint64_t reserved_7_7:1;
  911. uint64_t addr:7;
  912. } cn30xx;
  913. struct cvmx_mio_fus_rcmd_cn30xx cn31xx;
  914. struct cvmx_mio_fus_rcmd_cn30xx cn38xx;
  915. struct cvmx_mio_fus_rcmd_cn30xx cn38xxp2;
  916. struct cvmx_mio_fus_rcmd_cn30xx cn50xx;
  917. struct cvmx_mio_fus_rcmd_s cn52xx;
  918. struct cvmx_mio_fus_rcmd_s cn52xxp1;
  919. struct cvmx_mio_fus_rcmd_s cn56xx;
  920. struct cvmx_mio_fus_rcmd_s cn56xxp1;
  921. struct cvmx_mio_fus_rcmd_cn30xx cn58xx;
  922. struct cvmx_mio_fus_rcmd_cn30xx cn58xxp1;
  923. };
  924. union cvmx_mio_fus_spr_repair_res {
  925. uint64_t u64;
  926. struct cvmx_mio_fus_spr_repair_res_s {
  927. uint64_t reserved_42_63:22;
  928. uint64_t repair2:14;
  929. uint64_t repair1:14;
  930. uint64_t repair0:14;
  931. } s;
  932. struct cvmx_mio_fus_spr_repair_res_s cn30xx;
  933. struct cvmx_mio_fus_spr_repair_res_s cn31xx;
  934. struct cvmx_mio_fus_spr_repair_res_s cn38xx;
  935. struct cvmx_mio_fus_spr_repair_res_s cn50xx;
  936. struct cvmx_mio_fus_spr_repair_res_s cn52xx;
  937. struct cvmx_mio_fus_spr_repair_res_s cn52xxp1;
  938. struct cvmx_mio_fus_spr_repair_res_s cn56xx;
  939. struct cvmx_mio_fus_spr_repair_res_s cn56xxp1;
  940. struct cvmx_mio_fus_spr_repair_res_s cn58xx;
  941. struct cvmx_mio_fus_spr_repair_res_s cn58xxp1;
  942. };
  943. union cvmx_mio_fus_spr_repair_sum {
  944. uint64_t u64;
  945. struct cvmx_mio_fus_spr_repair_sum_s {
  946. uint64_t reserved_1_63:63;
  947. uint64_t too_many:1;
  948. } s;
  949. struct cvmx_mio_fus_spr_repair_sum_s cn30xx;
  950. struct cvmx_mio_fus_spr_repair_sum_s cn31xx;
  951. struct cvmx_mio_fus_spr_repair_sum_s cn38xx;
  952. struct cvmx_mio_fus_spr_repair_sum_s cn50xx;
  953. struct cvmx_mio_fus_spr_repair_sum_s cn52xx;
  954. struct cvmx_mio_fus_spr_repair_sum_s cn52xxp1;
  955. struct cvmx_mio_fus_spr_repair_sum_s cn56xx;
  956. struct cvmx_mio_fus_spr_repair_sum_s cn56xxp1;
  957. struct cvmx_mio_fus_spr_repair_sum_s cn58xx;
  958. struct cvmx_mio_fus_spr_repair_sum_s cn58xxp1;
  959. };
  960. union cvmx_mio_fus_unlock {
  961. uint64_t u64;
  962. struct cvmx_mio_fus_unlock_s {
  963. uint64_t reserved_24_63:40;
  964. uint64_t key:24;
  965. } s;
  966. struct cvmx_mio_fus_unlock_s cn30xx;
  967. struct cvmx_mio_fus_unlock_s cn31xx;
  968. };
  969. union cvmx_mio_fus_wadr {
  970. uint64_t u64;
  971. struct cvmx_mio_fus_wadr_s {
  972. uint64_t reserved_10_63:54;
  973. uint64_t addr:10;
  974. } s;
  975. struct cvmx_mio_fus_wadr_s cn30xx;
  976. struct cvmx_mio_fus_wadr_s cn31xx;
  977. struct cvmx_mio_fus_wadr_s cn38xx;
  978. struct cvmx_mio_fus_wadr_s cn38xxp2;
  979. struct cvmx_mio_fus_wadr_cn50xx {
  980. uint64_t reserved_2_63:62;
  981. uint64_t addr:2;
  982. } cn50xx;
  983. struct cvmx_mio_fus_wadr_cn52xx {
  984. uint64_t reserved_3_63:61;
  985. uint64_t addr:3;
  986. } cn52xx;
  987. struct cvmx_mio_fus_wadr_cn52xx cn52xxp1;
  988. struct cvmx_mio_fus_wadr_cn52xx cn56xx;
  989. struct cvmx_mio_fus_wadr_cn52xx cn56xxp1;
  990. struct cvmx_mio_fus_wadr_cn50xx cn58xx;
  991. struct cvmx_mio_fus_wadr_cn50xx cn58xxp1;
  992. };
  993. union cvmx_mio_ndf_dma_cfg {
  994. uint64_t u64;
  995. struct cvmx_mio_ndf_dma_cfg_s {
  996. uint64_t en:1;
  997. uint64_t rw:1;
  998. uint64_t clr:1;
  999. uint64_t reserved_60_60:1;
  1000. uint64_t swap32:1;
  1001. uint64_t swap16:1;
  1002. uint64_t swap8:1;
  1003. uint64_t endian:1;
  1004. uint64_t size:20;
  1005. uint64_t adr:36;
  1006. } s;
  1007. struct cvmx_mio_ndf_dma_cfg_s cn52xx;
  1008. };
  1009. union cvmx_mio_ndf_dma_int {
  1010. uint64_t u64;
  1011. struct cvmx_mio_ndf_dma_int_s {
  1012. uint64_t reserved_1_63:63;
  1013. uint64_t done:1;
  1014. } s;
  1015. struct cvmx_mio_ndf_dma_int_s cn52xx;
  1016. };
  1017. union cvmx_mio_ndf_dma_int_en {
  1018. uint64_t u64;
  1019. struct cvmx_mio_ndf_dma_int_en_s {
  1020. uint64_t reserved_1_63:63;
  1021. uint64_t done:1;
  1022. } s;
  1023. struct cvmx_mio_ndf_dma_int_en_s cn52xx;
  1024. };
  1025. union cvmx_mio_pll_ctl {
  1026. uint64_t u64;
  1027. struct cvmx_mio_pll_ctl_s {
  1028. uint64_t reserved_5_63:59;
  1029. uint64_t bw_ctl:5;
  1030. } s;
  1031. struct cvmx_mio_pll_ctl_s cn30xx;
  1032. struct cvmx_mio_pll_ctl_s cn31xx;
  1033. };
  1034. union cvmx_mio_pll_setting {
  1035. uint64_t u64;
  1036. struct cvmx_mio_pll_setting_s {
  1037. uint64_t reserved_17_63:47;
  1038. uint64_t setting:17;
  1039. } s;
  1040. struct cvmx_mio_pll_setting_s cn30xx;
  1041. struct cvmx_mio_pll_setting_s cn31xx;
  1042. };
  1043. union cvmx_mio_twsx_int {
  1044. uint64_t u64;
  1045. struct cvmx_mio_twsx_int_s {
  1046. uint64_t reserved_12_63:52;
  1047. uint64_t scl:1;
  1048. uint64_t sda:1;
  1049. uint64_t scl_ovr:1;
  1050. uint64_t sda_ovr:1;
  1051. uint64_t reserved_7_7:1;
  1052. uint64_t core_en:1;
  1053. uint64_t ts_en:1;
  1054. uint64_t st_en:1;
  1055. uint64_t reserved_3_3:1;
  1056. uint64_t core_int:1;
  1057. uint64_t ts_int:1;
  1058. uint64_t st_int:1;
  1059. } s;
  1060. struct cvmx_mio_twsx_int_s cn30xx;
  1061. struct cvmx_mio_twsx_int_s cn31xx;
  1062. struct cvmx_mio_twsx_int_s cn38xx;
  1063. struct cvmx_mio_twsx_int_cn38xxp2 {
  1064. uint64_t reserved_7_63:57;
  1065. uint64_t core_en:1;
  1066. uint64_t ts_en:1;
  1067. uint64_t st_en:1;
  1068. uint64_t reserved_3_3:1;
  1069. uint64_t core_int:1;
  1070. uint64_t ts_int:1;
  1071. uint64_t st_int:1;
  1072. } cn38xxp2;
  1073. struct cvmx_mio_twsx_int_s cn50xx;
  1074. struct cvmx_mio_twsx_int_s cn52xx;
  1075. struct cvmx_mio_twsx_int_s cn52xxp1;
  1076. struct cvmx_mio_twsx_int_s cn56xx;
  1077. struct cvmx_mio_twsx_int_s cn56xxp1;
  1078. struct cvmx_mio_twsx_int_s cn58xx;
  1079. struct cvmx_mio_twsx_int_s cn58xxp1;
  1080. };
  1081. union cvmx_mio_twsx_sw_twsi {
  1082. uint64_t u64;
  1083. struct cvmx_mio_twsx_sw_twsi_s {
  1084. uint64_t v:1;
  1085. uint64_t slonly:1;
  1086. uint64_t eia:1;
  1087. uint64_t op:4;
  1088. uint64_t r:1;
  1089. uint64_t sovr:1;
  1090. uint64_t size:3;
  1091. uint64_t scr:2;
  1092. uint64_t a:10;
  1093. uint64_t ia:5;
  1094. uint64_t eop_ia:3;
  1095. uint64_t d:32;
  1096. } s;
  1097. struct cvmx_mio_twsx_sw_twsi_s cn30xx;
  1098. struct cvmx_mio_twsx_sw_twsi_s cn31xx;
  1099. struct cvmx_mio_twsx_sw_twsi_s cn38xx;
  1100. struct cvmx_mio_twsx_sw_twsi_s cn38xxp2;
  1101. struct cvmx_mio_twsx_sw_twsi_s cn50xx;
  1102. struct cvmx_mio_twsx_sw_twsi_s cn52xx;
  1103. struct cvmx_mio_twsx_sw_twsi_s cn52xxp1;
  1104. struct cvmx_mio_twsx_sw_twsi_s cn56xx;
  1105. struct cvmx_mio_twsx_sw_twsi_s cn56xxp1;
  1106. struct cvmx_mio_twsx_sw_twsi_s cn58xx;
  1107. struct cvmx_mio_twsx_sw_twsi_s cn58xxp1;
  1108. };
  1109. union cvmx_mio_twsx_sw_twsi_ext {
  1110. uint64_t u64;
  1111. struct cvmx_mio_twsx_sw_twsi_ext_s {
  1112. uint64_t reserved_40_63:24;
  1113. uint64_t ia:8;
  1114. uint64_t d:32;
  1115. } s;
  1116. struct cvmx_mio_twsx_sw_twsi_ext_s cn30xx;
  1117. struct cvmx_mio_twsx_sw_twsi_ext_s cn31xx;
  1118. struct cvmx_mio_twsx_sw_twsi_ext_s cn38xx;
  1119. struct cvmx_mio_twsx_sw_twsi_ext_s cn38xxp2;
  1120. struct cvmx_mio_twsx_sw_twsi_ext_s cn50xx;
  1121. struct cvmx_mio_twsx_sw_twsi_ext_s cn52xx;
  1122. struct cvmx_mio_twsx_sw_twsi_ext_s cn52xxp1;
  1123. struct cvmx_mio_twsx_sw_twsi_ext_s cn56xx;
  1124. struct cvmx_mio_twsx_sw_twsi_ext_s cn56xxp1;
  1125. struct cvmx_mio_twsx_sw_twsi_ext_s cn58xx;
  1126. struct cvmx_mio_twsx_sw_twsi_ext_s cn58xxp1;
  1127. };
  1128. union cvmx_mio_twsx_twsi_sw {
  1129. uint64_t u64;
  1130. struct cvmx_mio_twsx_twsi_sw_s {
  1131. uint64_t v:2;
  1132. uint64_t reserved_32_61:30;
  1133. uint64_t d:32;
  1134. } s;
  1135. struct cvmx_mio_twsx_twsi_sw_s cn30xx;
  1136. struct cvmx_mio_twsx_twsi_sw_s cn31xx;
  1137. struct cvmx_mio_twsx_twsi_sw_s cn38xx;
  1138. struct cvmx_mio_twsx_twsi_sw_s cn38xxp2;
  1139. struct cvmx_mio_twsx_twsi_sw_s cn50xx;
  1140. struct cvmx_mio_twsx_twsi_sw_s cn52xx;
  1141. struct cvmx_mio_twsx_twsi_sw_s cn52xxp1;
  1142. struct cvmx_mio_twsx_twsi_sw_s cn56xx;
  1143. struct cvmx_mio_twsx_twsi_sw_s cn56xxp1;
  1144. struct cvmx_mio_twsx_twsi_sw_s cn58xx;
  1145. struct cvmx_mio_twsx_twsi_sw_s cn58xxp1;
  1146. };
  1147. union cvmx_mio_uartx_dlh {
  1148. uint64_t u64;
  1149. struct cvmx_mio_uartx_dlh_s {
  1150. uint64_t reserved_8_63:56;
  1151. uint64_t dlh:8;
  1152. } s;
  1153. struct cvmx_mio_uartx_dlh_s cn30xx;
  1154. struct cvmx_mio_uartx_dlh_s cn31xx;
  1155. struct cvmx_mio_uartx_dlh_s cn38xx;
  1156. struct cvmx_mio_uartx_dlh_s cn38xxp2;
  1157. struct cvmx_mio_uartx_dlh_s cn50xx;
  1158. struct cvmx_mio_uartx_dlh_s cn52xx;
  1159. struct cvmx_mio_uartx_dlh_s cn52xxp1;
  1160. struct cvmx_mio_uartx_dlh_s cn56xx;
  1161. struct cvmx_mio_uartx_dlh_s cn56xxp1;
  1162. struct cvmx_mio_uartx_dlh_s cn58xx;
  1163. struct cvmx_mio_uartx_dlh_s cn58xxp1;
  1164. };
  1165. union cvmx_mio_uartx_dll {
  1166. uint64_t u64;
  1167. struct cvmx_mio_uartx_dll_s {
  1168. uint64_t reserved_8_63:56;
  1169. uint64_t dll:8;
  1170. } s;
  1171. struct cvmx_mio_uartx_dll_s cn30xx;
  1172. struct cvmx_mio_uartx_dll_s cn31xx;
  1173. struct cvmx_mio_uartx_dll_s cn38xx;
  1174. struct cvmx_mio_uartx_dll_s cn38xxp2;
  1175. struct cvmx_mio_uartx_dll_s cn50xx;
  1176. struct cvmx_mio_uartx_dll_s cn52xx;
  1177. struct cvmx_mio_uartx_dll_s cn52xxp1;
  1178. struct cvmx_mio_uartx_dll_s cn56xx;
  1179. struct cvmx_mio_uartx_dll_s cn56xxp1;
  1180. struct cvmx_mio_uartx_dll_s cn58xx;
  1181. struct cvmx_mio_uartx_dll_s cn58xxp1;
  1182. };
  1183. union cvmx_mio_uartx_far {
  1184. uint64_t u64;
  1185. struct cvmx_mio_uartx_far_s {
  1186. uint64_t reserved_1_63:63;
  1187. uint64_t far:1;
  1188. } s;
  1189. struct cvmx_mio_uartx_far_s cn30xx;
  1190. struct cvmx_mio_uartx_far_s cn31xx;
  1191. struct cvmx_mio_uartx_far_s cn38xx;
  1192. struct cvmx_mio_uartx_far_s cn38xxp2;
  1193. struct cvmx_mio_uartx_far_s cn50xx;
  1194. struct cvmx_mio_uartx_far_s cn52xx;
  1195. struct cvmx_mio_uartx_far_s cn52xxp1;
  1196. struct cvmx_mio_uartx_far_s cn56xx;
  1197. struct cvmx_mio_uartx_far_s cn56xxp1;
  1198. struct cvmx_mio_uartx_far_s cn58xx;
  1199. struct cvmx_mio_uartx_far_s cn58xxp1;
  1200. };
  1201. union cvmx_mio_uartx_fcr {
  1202. uint64_t u64;
  1203. struct cvmx_mio_uartx_fcr_s {
  1204. uint64_t reserved_8_63:56;
  1205. uint64_t rxtrig:2;
  1206. uint64_t txtrig:2;
  1207. uint64_t reserved_3_3:1;
  1208. uint64_t txfr:1;
  1209. uint64_t rxfr:1;
  1210. uint64_t en:1;
  1211. } s;
  1212. struct cvmx_mio_uartx_fcr_s cn30xx;
  1213. struct cvmx_mio_uartx_fcr_s cn31xx;
  1214. struct cvmx_mio_uartx_fcr_s cn38xx;
  1215. struct cvmx_mio_uartx_fcr_s cn38xxp2;
  1216. struct cvmx_mio_uartx_fcr_s cn50xx;
  1217. struct cvmx_mio_uartx_fcr_s cn52xx;
  1218. struct cvmx_mio_uartx_fcr_s cn52xxp1;
  1219. struct cvmx_mio_uartx_fcr_s cn56xx;
  1220. struct cvmx_mio_uartx_fcr_s cn56xxp1;
  1221. struct cvmx_mio_uartx_fcr_s cn58xx;
  1222. struct cvmx_mio_uartx_fcr_s cn58xxp1;
  1223. };
  1224. union cvmx_mio_uartx_htx {
  1225. uint64_t u64;
  1226. struct cvmx_mio_uartx_htx_s {
  1227. uint64_t reserved_1_63:63;
  1228. uint64_t htx:1;
  1229. } s;
  1230. struct cvmx_mio_uartx_htx_s cn30xx;
  1231. struct cvmx_mio_uartx_htx_s cn31xx;
  1232. struct cvmx_mio_uartx_htx_s cn38xx;
  1233. struct cvmx_mio_uartx_htx_s cn38xxp2;
  1234. struct cvmx_mio_uartx_htx_s cn50xx;
  1235. struct cvmx_mio_uartx_htx_s cn52xx;
  1236. struct cvmx_mio_uartx_htx_s cn52xxp1;
  1237. struct cvmx_mio_uartx_htx_s cn56xx;
  1238. struct cvmx_mio_uartx_htx_s cn56xxp1;
  1239. struct cvmx_mio_uartx_htx_s cn58xx;
  1240. struct cvmx_mio_uartx_htx_s cn58xxp1;
  1241. };
  1242. union cvmx_mio_uartx_ier {
  1243. uint64_t u64;
  1244. struct cvmx_mio_uartx_ier_s {
  1245. uint64_t reserved_8_63:56;
  1246. uint64_t ptime:1;
  1247. uint64_t reserved_4_6:3;
  1248. uint64_t edssi:1;
  1249. uint64_t elsi:1;
  1250. uint64_t etbei:1;
  1251. uint64_t erbfi:1;
  1252. } s;
  1253. struct cvmx_mio_uartx_ier_s cn30xx;
  1254. struct cvmx_mio_uartx_ier_s cn31xx;
  1255. struct cvmx_mio_uartx_ier_s cn38xx;
  1256. struct cvmx_mio_uartx_ier_s cn38xxp2;
  1257. struct cvmx_mio_uartx_ier_s cn50xx;
  1258. struct cvmx_mio_uartx_ier_s cn52xx;
  1259. struct cvmx_mio_uartx_ier_s cn52xxp1;
  1260. struct cvmx_mio_uartx_ier_s cn56xx;
  1261. struct cvmx_mio_uartx_ier_s cn56xxp1;
  1262. struct cvmx_mio_uartx_ier_s cn58xx;
  1263. struct cvmx_mio_uartx_ier_s cn58xxp1;
  1264. };
  1265. union cvmx_mio_uartx_iir {
  1266. uint64_t u64;
  1267. struct cvmx_mio_uartx_iir_s {
  1268. uint64_t reserved_8_63:56;
  1269. uint64_t fen:2;
  1270. uint64_t reserved_4_5:2;
  1271. uint64_t iid:4;
  1272. } s;
  1273. struct cvmx_mio_uartx_iir_s cn30xx;
  1274. struct cvmx_mio_uartx_iir_s cn31xx;
  1275. struct cvmx_mio_uartx_iir_s cn38xx;
  1276. struct cvmx_mio_uartx_iir_s cn38xxp2;
  1277. struct cvmx_mio_uartx_iir_s cn50xx;
  1278. struct cvmx_mio_uartx_iir_s cn52xx;
  1279. struct cvmx_mio_uartx_iir_s cn52xxp1;
  1280. struct cvmx_mio_uartx_iir_s cn56xx;
  1281. struct cvmx_mio_uartx_iir_s cn56xxp1;
  1282. struct cvmx_mio_uartx_iir_s cn58xx;
  1283. struct cvmx_mio_uartx_iir_s cn58xxp1;
  1284. };
  1285. union cvmx_mio_uartx_lcr {
  1286. uint64_t u64;
  1287. struct cvmx_mio_uartx_lcr_s {
  1288. uint64_t reserved_8_63:56;
  1289. uint64_t dlab:1;
  1290. uint64_t brk:1;
  1291. uint64_t reserved_5_5:1;
  1292. uint64_t eps:1;
  1293. uint64_t pen:1;
  1294. uint64_t stop:1;
  1295. uint64_t cls:2;
  1296. } s;
  1297. struct cvmx_mio_uartx_lcr_s cn30xx;
  1298. struct cvmx_mio_uartx_lcr_s cn31xx;
  1299. struct cvmx_mio_uartx_lcr_s cn38xx;
  1300. struct cvmx_mio_uartx_lcr_s cn38xxp2;
  1301. struct cvmx_mio_uartx_lcr_s cn50xx;
  1302. struct cvmx_mio_uartx_lcr_s cn52xx;
  1303. struct cvmx_mio_uartx_lcr_s cn52xxp1;
  1304. struct cvmx_mio_uartx_lcr_s cn56xx;
  1305. struct cvmx_mio_uartx_lcr_s cn56xxp1;
  1306. struct cvmx_mio_uartx_lcr_s cn58xx;
  1307. struct cvmx_mio_uartx_lcr_s cn58xxp1;
  1308. };
  1309. union cvmx_mio_uartx_lsr {
  1310. uint64_t u64;
  1311. struct cvmx_mio_uartx_lsr_s {
  1312. uint64_t reserved_8_63:56;
  1313. uint64_t ferr:1;
  1314. uint64_t temt:1;
  1315. uint64_t thre:1;
  1316. uint64_t bi:1;
  1317. uint64_t fe:1;
  1318. uint64_t pe:1;
  1319. uint64_t oe:1;
  1320. uint64_t dr:1;
  1321. } s;
  1322. struct cvmx_mio_uartx_lsr_s cn30xx;
  1323. struct cvmx_mio_uartx_lsr_s cn31xx;
  1324. struct cvmx_mio_uartx_lsr_s cn38xx;
  1325. struct cvmx_mio_uartx_lsr_s cn38xxp2;
  1326. struct cvmx_mio_uartx_lsr_s cn50xx;
  1327. struct cvmx_mio_uartx_lsr_s cn52xx;
  1328. struct cvmx_mio_uartx_lsr_s cn52xxp1;
  1329. struct cvmx_mio_uartx_lsr_s cn56xx;
  1330. struct cvmx_mio_uartx_lsr_s cn56xxp1;
  1331. struct cvmx_mio_uartx_lsr_s cn58xx;
  1332. struct cvmx_mio_uartx_lsr_s cn58xxp1;
  1333. };
  1334. union cvmx_mio_uartx_mcr {
  1335. uint64_t u64;
  1336. struct cvmx_mio_uartx_mcr_s {
  1337. uint64_t reserved_6_63:58;
  1338. uint64_t afce:1;
  1339. uint64_t loop:1;
  1340. uint64_t out2:1;
  1341. uint64_t out1:1;
  1342. uint64_t rts:1;
  1343. uint64_t dtr:1;
  1344. } s;
  1345. struct cvmx_mio_uartx_mcr_s cn30xx;
  1346. struct cvmx_mio_uartx_mcr_s cn31xx;
  1347. struct cvmx_mio_uartx_mcr_s cn38xx;
  1348. struct cvmx_mio_uartx_mcr_s cn38xxp2;
  1349. struct cvmx_mio_uartx_mcr_s cn50xx;
  1350. struct cvmx_mio_uartx_mcr_s cn52xx;
  1351. struct cvmx_mio_uartx_mcr_s cn52xxp1;
  1352. struct cvmx_mio_uartx_mcr_s cn56xx;
  1353. struct cvmx_mio_uartx_mcr_s cn56xxp1;
  1354. struct cvmx_mio_uartx_mcr_s cn58xx;
  1355. struct cvmx_mio_uartx_mcr_s cn58xxp1;
  1356. };
  1357. union cvmx_mio_uartx_msr {
  1358. uint64_t u64;
  1359. struct cvmx_mio_uartx_msr_s {
  1360. uint64_t reserved_8_63:56;
  1361. uint64_t dcd:1;
  1362. uint64_t ri:1;
  1363. uint64_t dsr:1;
  1364. uint64_t cts:1;
  1365. uint64_t ddcd:1;
  1366. uint64_t teri:1;
  1367. uint64_t ddsr:1;
  1368. uint64_t dcts:1;
  1369. } s;
  1370. struct cvmx_mio_uartx_msr_s cn30xx;
  1371. struct cvmx_mio_uartx_msr_s cn31xx;
  1372. struct cvmx_mio_uartx_msr_s cn38xx;
  1373. struct cvmx_mio_uartx_msr_s cn38xxp2;
  1374. struct cvmx_mio_uartx_msr_s cn50xx;
  1375. struct cvmx_mio_uartx_msr_s cn52xx;
  1376. struct cvmx_mio_uartx_msr_s cn52xxp1;
  1377. struct cvmx_mio_uartx_msr_s cn56xx;
  1378. struct cvmx_mio_uartx_msr_s cn56xxp1;
  1379. struct cvmx_mio_uartx_msr_s cn58xx;
  1380. struct cvmx_mio_uartx_msr_s cn58xxp1;
  1381. };
  1382. union cvmx_mio_uartx_rbr {
  1383. uint64_t u64;
  1384. struct cvmx_mio_uartx_rbr_s {
  1385. uint64_t reserved_8_63:56;
  1386. uint64_t rbr:8;
  1387. } s;
  1388. struct cvmx_mio_uartx_rbr_s cn30xx;
  1389. struct cvmx_mio_uartx_rbr_s cn31xx;
  1390. struct cvmx_mio_uartx_rbr_s cn38xx;
  1391. struct cvmx_mio_uartx_rbr_s cn38xxp2;
  1392. struct cvmx_mio_uartx_rbr_s cn50xx;
  1393. struct cvmx_mio_uartx_rbr_s cn52xx;
  1394. struct cvmx_mio_uartx_rbr_s cn52xxp1;
  1395. struct cvmx_mio_uartx_rbr_s cn56xx;
  1396. struct cvmx_mio_uartx_rbr_s cn56xxp1;
  1397. struct cvmx_mio_uartx_rbr_s cn58xx;
  1398. struct cvmx_mio_uartx_rbr_s cn58xxp1;
  1399. };
  1400. union cvmx_mio_uartx_rfl {
  1401. uint64_t u64;
  1402. struct cvmx_mio_uartx_rfl_s {
  1403. uint64_t reserved_7_63:57;
  1404. uint64_t rfl:7;
  1405. } s;
  1406. struct cvmx_mio_uartx_rfl_s cn30xx;
  1407. struct cvmx_mio_uartx_rfl_s cn31xx;
  1408. struct cvmx_mio_uartx_rfl_s cn38xx;
  1409. struct cvmx_mio_uartx_rfl_s cn38xxp2;
  1410. struct cvmx_mio_uartx_rfl_s cn50xx;
  1411. struct cvmx_mio_uartx_rfl_s cn52xx;
  1412. struct cvmx_mio_uartx_rfl_s cn52xxp1;
  1413. struct cvmx_mio_uartx_rfl_s cn56xx;
  1414. struct cvmx_mio_uartx_rfl_s cn56xxp1;
  1415. struct cvmx_mio_uartx_rfl_s cn58xx;
  1416. struct cvmx_mio_uartx_rfl_s cn58xxp1;
  1417. };
  1418. union cvmx_mio_uartx_rfw {
  1419. uint64_t u64;
  1420. struct cvmx_mio_uartx_rfw_s {
  1421. uint64_t reserved_10_63:54;
  1422. uint64_t rffe:1;
  1423. uint64_t rfpe:1;
  1424. uint64_t rfwd:8;
  1425. } s;
  1426. struct cvmx_mio_uartx_rfw_s cn30xx;
  1427. struct cvmx_mio_uartx_rfw_s cn31xx;
  1428. struct cvmx_mio_uartx_rfw_s cn38xx;
  1429. struct cvmx_mio_uartx_rfw_s cn38xxp2;
  1430. struct cvmx_mio_uartx_rfw_s cn50xx;
  1431. struct cvmx_mio_uartx_rfw_s cn52xx;
  1432. struct cvmx_mio_uartx_rfw_s cn52xxp1;
  1433. struct cvmx_mio_uartx_rfw_s cn56xx;
  1434. struct cvmx_mio_uartx_rfw_s cn56xxp1;
  1435. struct cvmx_mio_uartx_rfw_s cn58xx;
  1436. struct cvmx_mio_uartx_rfw_s cn58xxp1;
  1437. };
  1438. union cvmx_mio_uartx_sbcr {
  1439. uint64_t u64;
  1440. struct cvmx_mio_uartx_sbcr_s {
  1441. uint64_t reserved_1_63:63;
  1442. uint64_t sbcr:1;
  1443. } s;
  1444. struct cvmx_mio_uartx_sbcr_s cn30xx;
  1445. struct cvmx_mio_uartx_sbcr_s cn31xx;
  1446. struct cvmx_mio_uartx_sbcr_s cn38xx;
  1447. struct cvmx_mio_uartx_sbcr_s cn38xxp2;
  1448. struct cvmx_mio_uartx_sbcr_s cn50xx;
  1449. struct cvmx_mio_uartx_sbcr_s cn52xx;
  1450. struct cvmx_mio_uartx_sbcr_s cn52xxp1;
  1451. struct cvmx_mio_uartx_sbcr_s cn56xx;
  1452. struct cvmx_mio_uartx_sbcr_s cn56xxp1;
  1453. struct cvmx_mio_uartx_sbcr_s cn58xx;
  1454. struct cvmx_mio_uartx_sbcr_s cn58xxp1;
  1455. };
  1456. union cvmx_mio_uartx_scr {
  1457. uint64_t u64;
  1458. struct cvmx_mio_uartx_scr_s {
  1459. uint64_t reserved_8_63:56;
  1460. uint64_t scr:8;
  1461. } s;
  1462. struct cvmx_mio_uartx_scr_s cn30xx;
  1463. struct cvmx_mio_uartx_scr_s cn31xx;
  1464. struct cvmx_mio_uartx_scr_s cn38xx;
  1465. struct cvmx_mio_uartx_scr_s cn38xxp2;
  1466. struct cvmx_mio_uartx_scr_s cn50xx;
  1467. struct cvmx_mio_uartx_scr_s cn52xx;
  1468. struct cvmx_mio_uartx_scr_s cn52xxp1;
  1469. struct cvmx_mio_uartx_scr_s cn56xx;
  1470. struct cvmx_mio_uartx_scr_s cn56xxp1;
  1471. struct cvmx_mio_uartx_scr_s cn58xx;
  1472. struct cvmx_mio_uartx_scr_s cn58xxp1;
  1473. };
  1474. union cvmx_mio_uartx_sfe {
  1475. uint64_t u64;
  1476. struct cvmx_mio_uartx_sfe_s {
  1477. uint64_t reserved_1_63:63;
  1478. uint64_t sfe:1;
  1479. } s;
  1480. struct cvmx_mio_uartx_sfe_s cn30xx;
  1481. struct cvmx_mio_uartx_sfe_s cn31xx;
  1482. struct cvmx_mio_uartx_sfe_s cn38xx;
  1483. struct cvmx_mio_uartx_sfe_s cn38xxp2;
  1484. struct cvmx_mio_uartx_sfe_s cn50xx;
  1485. struct cvmx_mio_uartx_sfe_s cn52xx;
  1486. struct cvmx_mio_uartx_sfe_s cn52xxp1;
  1487. struct cvmx_mio_uartx_sfe_s cn56xx;
  1488. struct cvmx_mio_uartx_sfe_s cn56xxp1;
  1489. struct cvmx_mio_uartx_sfe_s cn58xx;
  1490. struct cvmx_mio_uartx_sfe_s cn58xxp1;
  1491. };
  1492. union cvmx_mio_uartx_srr {
  1493. uint64_t u64;
  1494. struct cvmx_mio_uartx_srr_s {
  1495. uint64_t reserved_3_63:61;
  1496. uint64_t stfr:1;
  1497. uint64_t srfr:1;
  1498. uint64_t usr:1;
  1499. } s;
  1500. struct cvmx_mio_uartx_srr_s cn30xx;
  1501. struct cvmx_mio_uartx_srr_s cn31xx;
  1502. struct cvmx_mio_uartx_srr_s cn38xx;
  1503. struct cvmx_mio_uartx_srr_s cn38xxp2;
  1504. struct cvmx_mio_uartx_srr_s cn50xx;
  1505. struct cvmx_mio_uartx_srr_s cn52xx;
  1506. struct cvmx_mio_uartx_srr_s cn52xxp1;
  1507. struct cvmx_mio_uartx_srr_s cn56xx;
  1508. struct cvmx_mio_uartx_srr_s cn56xxp1;
  1509. struct cvmx_mio_uartx_srr_s cn58xx;
  1510. struct cvmx_mio_uartx_srr_s cn58xxp1;
  1511. };
  1512. union cvmx_mio_uartx_srt {
  1513. uint64_t u64;
  1514. struct cvmx_mio_uartx_srt_s {
  1515. uint64_t reserved_2_63:62;
  1516. uint64_t srt:2;
  1517. } s;
  1518. struct cvmx_mio_uartx_srt_s cn30xx;
  1519. struct cvmx_mio_uartx_srt_s cn31xx;
  1520. struct cvmx_mio_uartx_srt_s cn38xx;
  1521. struct cvmx_mio_uartx_srt_s cn38xxp2;
  1522. struct cvmx_mio_uartx_srt_s cn50xx;
  1523. struct cvmx_mio_uartx_srt_s cn52xx;
  1524. struct cvmx_mio_uartx_srt_s cn52xxp1;
  1525. struct cvmx_mio_uartx_srt_s cn56xx;
  1526. struct cvmx_mio_uartx_srt_s cn56xxp1;
  1527. struct cvmx_mio_uartx_srt_s cn58xx;
  1528. struct cvmx_mio_uartx_srt_s cn58xxp1;
  1529. };
  1530. union cvmx_mio_uartx_srts {
  1531. uint64_t u64;
  1532. struct cvmx_mio_uartx_srts_s {
  1533. uint64_t reserved_1_63:63;
  1534. uint64_t srts:1;
  1535. } s;
  1536. struct cvmx_mio_uartx_srts_s cn30xx;
  1537. struct cvmx_mio_uartx_srts_s cn31xx;
  1538. struct cvmx_mio_uartx_srts_s cn38xx;
  1539. struct cvmx_mio_uartx_srts_s cn38xxp2;
  1540. struct cvmx_mio_uartx_srts_s cn50xx;
  1541. struct cvmx_mio_uartx_srts_s cn52xx;
  1542. struct cvmx_mio_uartx_srts_s cn52xxp1;
  1543. struct cvmx_mio_uartx_srts_s cn56xx;
  1544. struct cvmx_mio_uartx_srts_s cn56xxp1;
  1545. struct cvmx_mio_uartx_srts_s cn58xx;
  1546. struct cvmx_mio_uartx_srts_s cn58xxp1;
  1547. };
  1548. union cvmx_mio_uartx_stt {
  1549. uint64_t u64;
  1550. struct cvmx_mio_uartx_stt_s {
  1551. uint64_t reserved_2_63:62;
  1552. uint64_t stt:2;
  1553. } s;
  1554. struct cvmx_mio_uartx_stt_s cn30xx;
  1555. struct cvmx_mio_uartx_stt_s cn31xx;
  1556. struct cvmx_mio_uartx_stt_s cn38xx;
  1557. struct cvmx_mio_uartx_stt_s cn38xxp2;
  1558. struct cvmx_mio_uartx_stt_s cn50xx;
  1559. struct cvmx_mio_uartx_stt_s cn52xx;
  1560. struct cvmx_mio_uartx_stt_s cn52xxp1;
  1561. struct cvmx_mio_uartx_stt_s cn56xx;
  1562. struct cvmx_mio_uartx_stt_s cn56xxp1;
  1563. struct cvmx_mio_uartx_stt_s cn58xx;
  1564. struct cvmx_mio_uartx_stt_s cn58xxp1;
  1565. };
  1566. union cvmx_mio_uartx_tfl {
  1567. uint64_t u64;
  1568. struct cvmx_mio_uartx_tfl_s {
  1569. uint64_t reserved_7_63:57;
  1570. uint64_t tfl:7;
  1571. } s;
  1572. struct cvmx_mio_uartx_tfl_s cn30xx;
  1573. struct cvmx_mio_uartx_tfl_s cn31xx;
  1574. struct cvmx_mio_uartx_tfl_s cn38xx;
  1575. struct cvmx_mio_uartx_tfl_s cn38xxp2;
  1576. struct cvmx_mio_uartx_tfl_s cn50xx;
  1577. struct cvmx_mio_uartx_tfl_s cn52xx;
  1578. struct cvmx_mio_uartx_tfl_s cn52xxp1;
  1579. struct cvmx_mio_uartx_tfl_s cn56xx;
  1580. struct cvmx_mio_uartx_tfl_s cn56xxp1;
  1581. struct cvmx_mio_uartx_tfl_s cn58xx;
  1582. struct cvmx_mio_uartx_tfl_s cn58xxp1;
  1583. };
  1584. union cvmx_mio_uartx_tfr {
  1585. uint64_t u64;
  1586. struct cvmx_mio_uartx_tfr_s {
  1587. uint64_t reserved_8_63:56;
  1588. uint64_t tfr:8;
  1589. } s;
  1590. struct cvmx_mio_uartx_tfr_s cn30xx;
  1591. struct cvmx_mio_uartx_tfr_s cn31xx;
  1592. struct cvmx_mio_uartx_tfr_s cn38xx;
  1593. struct cvmx_mio_uartx_tfr_s cn38xxp2;
  1594. struct cvmx_mio_uartx_tfr_s cn50xx;
  1595. struct cvmx_mio_uartx_tfr_s cn52xx;
  1596. struct cvmx_mio_uartx_tfr_s cn52xxp1;
  1597. struct cvmx_mio_uartx_tfr_s cn56xx;
  1598. struct cvmx_mio_uartx_tfr_s cn56xxp1;
  1599. struct cvmx_mio_uartx_tfr_s cn58xx;
  1600. struct cvmx_mio_uartx_tfr_s cn58xxp1;
  1601. };
  1602. union cvmx_mio_uartx_thr {
  1603. uint64_t u64;
  1604. struct cvmx_mio_uartx_thr_s {
  1605. uint64_t reserved_8_63:56;
  1606. uint64_t thr:8;
  1607. } s;
  1608. struct cvmx_mio_uartx_thr_s cn30xx;
  1609. struct cvmx_mio_uartx_thr_s cn31xx;
  1610. struct cvmx_mio_uartx_thr_s cn38xx;
  1611. struct cvmx_mio_uartx_thr_s cn38xxp2;
  1612. struct cvmx_mio_uartx_thr_s cn50xx;
  1613. struct cvmx_mio_uartx_thr_s cn52xx;
  1614. struct cvmx_mio_uartx_thr_s cn52xxp1;
  1615. struct cvmx_mio_uartx_thr_s cn56xx;
  1616. struct cvmx_mio_uartx_thr_s cn56xxp1;
  1617. struct cvmx_mio_uartx_thr_s cn58xx;
  1618. struct cvmx_mio_uartx_thr_s cn58xxp1;
  1619. };
  1620. union cvmx_mio_uartx_usr {
  1621. uint64_t u64;
  1622. struct cvmx_mio_uartx_usr_s {
  1623. uint64_t reserved_5_63:59;
  1624. uint64_t rff:1;
  1625. uint64_t rfne:1;
  1626. uint64_t tfe:1;
  1627. uint64_t tfnf:1;
  1628. uint64_t busy:1;
  1629. } s;
  1630. struct cvmx_mio_uartx_usr_s cn30xx;
  1631. struct cvmx_mio_uartx_usr_s cn31xx;
  1632. struct cvmx_mio_uartx_usr_s cn38xx;
  1633. struct cvmx_mio_uartx_usr_s cn38xxp2;
  1634. struct cvmx_mio_uartx_usr_s cn50xx;
  1635. struct cvmx_mio_uartx_usr_s cn52xx;
  1636. struct cvmx_mio_uartx_usr_s cn52xxp1;
  1637. struct cvmx_mio_uartx_usr_s cn56xx;
  1638. struct cvmx_mio_uartx_usr_s cn56xxp1;
  1639. struct cvmx_mio_uartx_usr_s cn58xx;
  1640. struct cvmx_mio_uartx_usr_s cn58xxp1;
  1641. };
  1642. union cvmx_mio_uart2_dlh {
  1643. uint64_t u64;
  1644. struct cvmx_mio_uart2_dlh_s {
  1645. uint64_t reserved_8_63:56;
  1646. uint64_t dlh:8;
  1647. } s;
  1648. struct cvmx_mio_uart2_dlh_s cn52xx;
  1649. struct cvmx_mio_uart2_dlh_s cn52xxp1;
  1650. };
  1651. union cvmx_mio_uart2_dll {
  1652. uint64_t u64;
  1653. struct cvmx_mio_uart2_dll_s {
  1654. uint64_t reserved_8_63:56;
  1655. uint64_t dll:8;
  1656. } s;
  1657. struct cvmx_mio_uart2_dll_s cn52xx;
  1658. struct cvmx_mio_uart2_dll_s cn52xxp1;
  1659. };
  1660. union cvmx_mio_uart2_far {
  1661. uint64_t u64;
  1662. struct cvmx_mio_uart2_far_s {
  1663. uint64_t reserved_1_63:63;
  1664. uint64_t far:1;
  1665. } s;
  1666. struct cvmx_mio_uart2_far_s cn52xx;
  1667. struct cvmx_mio_uart2_far_s cn52xxp1;
  1668. };
  1669. union cvmx_mio_uart2_fcr {
  1670. uint64_t u64;
  1671. struct cvmx_mio_uart2_fcr_s {
  1672. uint64_t reserved_8_63:56;
  1673. uint64_t rxtrig:2;
  1674. uint64_t txtrig:2;
  1675. uint64_t reserved_3_3:1;
  1676. uint64_t txfr:1;
  1677. uint64_t rxfr:1;
  1678. uint64_t en:1;
  1679. } s;
  1680. struct cvmx_mio_uart2_fcr_s cn52xx;
  1681. struct cvmx_mio_uart2_fcr_s cn52xxp1;
  1682. };
  1683. union cvmx_mio_uart2_htx {
  1684. uint64_t u64;
  1685. struct cvmx_mio_uart2_htx_s {
  1686. uint64_t reserved_1_63:63;
  1687. uint64_t htx:1;
  1688. } s;
  1689. struct cvmx_mio_uart2_htx_s cn52xx;
  1690. struct cvmx_mio_uart2_htx_s cn52xxp1;
  1691. };
  1692. union cvmx_mio_uart2_ier {
  1693. uint64_t u64;
  1694. struct cvmx_mio_uart2_ier_s {
  1695. uint64_t reserved_8_63:56;
  1696. uint64_t ptime:1;
  1697. uint64_t reserved_4_6:3;
  1698. uint64_t edssi:1;
  1699. uint64_t elsi:1;
  1700. uint64_t etbei:1;
  1701. uint64_t erbfi:1;
  1702. } s;
  1703. struct cvmx_mio_uart2_ier_s cn52xx;
  1704. struct cvmx_mio_uart2_ier_s cn52xxp1;
  1705. };
  1706. union cvmx_mio_uart2_iir {
  1707. uint64_t u64;
  1708. struct cvmx_mio_uart2_iir_s {
  1709. uint64_t reserved_8_63:56;
  1710. uint64_t fen:2;
  1711. uint64_t reserved_4_5:2;
  1712. uint64_t iid:4;
  1713. } s;
  1714. struct cvmx_mio_uart2_iir_s cn52xx;
  1715. struct cvmx_mio_uart2_iir_s cn52xxp1;
  1716. };
  1717. union cvmx_mio_uart2_lcr {
  1718. uint64_t u64;
  1719. struct cvmx_mio_uart2_lcr_s {
  1720. uint64_t reserved_8_63:56;
  1721. uint64_t dlab:1;
  1722. uint64_t brk:1;
  1723. uint64_t reserved_5_5:1;
  1724. uint64_t eps:1;
  1725. uint64_t pen:1;
  1726. uint64_t stop:1;
  1727. uint64_t cls:2;
  1728. } s;
  1729. struct cvmx_mio_uart2_lcr_s cn52xx;
  1730. struct cvmx_mio_uart2_lcr_s cn52xxp1;
  1731. };
  1732. union cvmx_mio_uart2_lsr {
  1733. uint64_t u64;
  1734. struct cvmx_mio_uart2_lsr_s {
  1735. uint64_t reserved_8_63:56;
  1736. uint64_t ferr:1;
  1737. uint64_t temt:1;
  1738. uint64_t thre:1;
  1739. uint64_t bi:1;
  1740. uint64_t fe:1;
  1741. uint64_t pe:1;
  1742. uint64_t oe:1;
  1743. uint64_t dr:1;
  1744. } s;
  1745. struct cvmx_mio_uart2_lsr_s cn52xx;
  1746. struct cvmx_mio_uart2_lsr_s cn52xxp1;
  1747. };
  1748. union cvmx_mio_uart2_mcr {
  1749. uint64_t u64;
  1750. struct cvmx_mio_uart2_mcr_s {
  1751. uint64_t reserved_6_63:58;
  1752. uint64_t afce:1;
  1753. uint64_t loop:1;
  1754. uint64_t out2:1;
  1755. uint64_t out1:1;
  1756. uint64_t rts:1;
  1757. uint64_t dtr:1;
  1758. } s;
  1759. struct cvmx_mio_uart2_mcr_s cn52xx;
  1760. struct cvmx_mio_uart2_mcr_s cn52xxp1;
  1761. };
  1762. union cvmx_mio_uart2_msr {
  1763. uint64_t u64;
  1764. struct cvmx_mio_uart2_msr_s {
  1765. uint64_t reserved_8_63:56;
  1766. uint64_t dcd:1;
  1767. uint64_t ri:1;
  1768. uint64_t dsr:1;
  1769. uint64_t cts:1;
  1770. uint64_t ddcd:1;
  1771. uint64_t teri:1;
  1772. uint64_t ddsr:1;
  1773. uint64_t dcts:1;
  1774. } s;
  1775. struct cvmx_mio_uart2_msr_s cn52xx;
  1776. struct cvmx_mio_uart2_msr_s cn52xxp1;
  1777. };
  1778. union cvmx_mio_uart2_rbr {
  1779. uint64_t u64;
  1780. struct cvmx_mio_uart2_rbr_s {
  1781. uint64_t reserved_8_63:56;
  1782. uint64_t rbr:8;
  1783. } s;
  1784. struct cvmx_mio_uart2_rbr_s cn52xx;
  1785. struct cvmx_mio_uart2_rbr_s cn52xxp1;
  1786. };
  1787. union cvmx_mio_uart2_rfl {
  1788. uint64_t u64;
  1789. struct cvmx_mio_uart2_rfl_s {
  1790. uint64_t reserved_7_63:57;
  1791. uint64_t rfl:7;
  1792. } s;
  1793. struct cvmx_mio_uart2_rfl_s cn52xx;
  1794. struct cvmx_mio_uart2_rfl_s cn52xxp1;
  1795. };
  1796. union cvmx_mio_uart2_rfw {
  1797. uint64_t u64;
  1798. struct cvmx_mio_uart2_rfw_s {
  1799. uint64_t reserved_10_63:54;
  1800. uint64_t rffe:1;
  1801. uint64_t rfpe:1;
  1802. uint64_t rfwd:8;
  1803. } s;
  1804. struct cvmx_mio_uart2_rfw_s cn52xx;
  1805. struct cvmx_mio_uart2_rfw_s cn52xxp1;
  1806. };
  1807. union cvmx_mio_uart2_sbcr {
  1808. uint64_t u64;
  1809. struct cvmx_mio_uart2_sbcr_s {
  1810. uint64_t reserved_1_63:63;
  1811. uint64_t sbcr:1;
  1812. } s;
  1813. struct cvmx_mio_uart2_sbcr_s cn52xx;
  1814. struct cvmx_mio_uart2_sbcr_s cn52xxp1;
  1815. };
  1816. union cvmx_mio_uart2_scr {
  1817. uint64_t u64;
  1818. struct cvmx_mio_uart2_scr_s {
  1819. uint64_t reserved_8_63:56;
  1820. uint64_t scr:8;
  1821. } s;
  1822. struct cvmx_mio_uart2_scr_s cn52xx;
  1823. struct cvmx_mio_uart2_scr_s cn52xxp1;
  1824. };
  1825. union cvmx_mio_uart2_sfe {
  1826. uint64_t u64;
  1827. struct cvmx_mio_uart2_sfe_s {
  1828. uint64_t reserved_1_63:63;
  1829. uint64_t sfe:1;
  1830. } s;
  1831. struct cvmx_mio_uart2_sfe_s cn52xx;
  1832. struct cvmx_mio_uart2_sfe_s cn52xxp1;
  1833. };
  1834. union cvmx_mio_uart2_srr {
  1835. uint64_t u64;
  1836. struct cvmx_mio_uart2_srr_s {
  1837. uint64_t reserved_3_63:61;
  1838. uint64_t stfr:1;
  1839. uint64_t srfr:1;
  1840. uint64_t usr:1;
  1841. } s;
  1842. struct cvmx_mio_uart2_srr_s cn52xx;
  1843. struct cvmx_mio_uart2_srr_s cn52xxp1;
  1844. };
  1845. union cvmx_mio_uart2_srt {
  1846. uint64_t u64;
  1847. struct cvmx_mio_uart2_srt_s {
  1848. uint64_t reserved_2_63:62;
  1849. uint64_t srt:2;
  1850. } s;
  1851. struct cvmx_mio_uart2_srt_s cn52xx;
  1852. struct cvmx_mio_uart2_srt_s cn52xxp1;
  1853. };
  1854. union cvmx_mio_uart2_srts {
  1855. uint64_t u64;
  1856. struct cvmx_mio_uart2_srts_s {
  1857. uint64_t reserved_1_63:63;
  1858. uint64_t srts:1;
  1859. } s;
  1860. struct cvmx_mio_uart2_srts_s cn52xx;
  1861. struct cvmx_mio_uart2_srts_s cn52xxp1;
  1862. };
  1863. union cvmx_mio_uart2_stt {
  1864. uint64_t u64;
  1865. struct cvmx_mio_uart2_stt_s {
  1866. uint64_t reserved_2_63:62;
  1867. uint64_t stt:2;
  1868. } s;
  1869. struct cvmx_mio_uart2_stt_s cn52xx;
  1870. struct cvmx_mio_uart2_stt_s cn52xxp1;
  1871. };
  1872. union cvmx_mio_uart2_tfl {
  1873. uint64_t u64;
  1874. struct cvmx_mio_uart2_tfl_s {
  1875. uint64_t reserved_7_63:57;
  1876. uint64_t tfl:7;
  1877. } s;
  1878. struct cvmx_mio_uart2_tfl_s cn52xx;
  1879. struct cvmx_mio_uart2_tfl_s cn52xxp1;
  1880. };
  1881. union cvmx_mio_uart2_tfr {
  1882. uint64_t u64;
  1883. struct cvmx_mio_uart2_tfr_s {
  1884. uint64_t reserved_8_63:56;
  1885. uint64_t tfr:8;
  1886. } s;
  1887. struct cvmx_mio_uart2_tfr_s cn52xx;
  1888. struct cvmx_mio_uart2_tfr_s cn52xxp1;
  1889. };
  1890. union cvmx_mio_uart2_thr {
  1891. uint64_t u64;
  1892. struct cvmx_mio_uart2_thr_s {
  1893. uint64_t reserved_8_63:56;
  1894. uint64_t thr:8;
  1895. } s;
  1896. struct cvmx_mio_uart2_thr_s cn52xx;
  1897. struct cvmx_mio_uart2_thr_s cn52xxp1;
  1898. };
  1899. union cvmx_mio_uart2_usr {
  1900. uint64_t u64;
  1901. struct cvmx_mio_uart2_usr_s {
  1902. uint64_t reserved_5_63:59;
  1903. uint64_t rff:1;
  1904. uint64_t rfne:1;
  1905. uint64_t tfe:1;
  1906. uint64_t tfnf:1;
  1907. uint64_t busy:1;
  1908. } s;
  1909. struct cvmx_mio_uart2_usr_s cn52xx;
  1910. struct cvmx_mio_uart2_usr_s cn52xxp1;
  1911. };
  1912. #endif