cvmx-pciercx-defs.h 35 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397
  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_PCIERCX_DEFS_H__
  28. #define __CVMX_PCIERCX_DEFS_H__
  29. #define CVMX_PCIERCX_CFG000(offset) \
  30. (0x0000000000000000ull + (((offset) & 1) * 0))
  31. #define CVMX_PCIERCX_CFG001(offset) \
  32. (0x0000000000000004ull + (((offset) & 1) * 0))
  33. #define CVMX_PCIERCX_CFG002(offset) \
  34. (0x0000000000000008ull + (((offset) & 1) * 0))
  35. #define CVMX_PCIERCX_CFG003(offset) \
  36. (0x000000000000000Cull + (((offset) & 1) * 0))
  37. #define CVMX_PCIERCX_CFG004(offset) \
  38. (0x0000000000000010ull + (((offset) & 1) * 0))
  39. #define CVMX_PCIERCX_CFG005(offset) \
  40. (0x0000000000000014ull + (((offset) & 1) * 0))
  41. #define CVMX_PCIERCX_CFG006(offset) \
  42. (0x0000000000000018ull + (((offset) & 1) * 0))
  43. #define CVMX_PCIERCX_CFG007(offset) \
  44. (0x000000000000001Cull + (((offset) & 1) * 0))
  45. #define CVMX_PCIERCX_CFG008(offset) \
  46. (0x0000000000000020ull + (((offset) & 1) * 0))
  47. #define CVMX_PCIERCX_CFG009(offset) \
  48. (0x0000000000000024ull + (((offset) & 1) * 0))
  49. #define CVMX_PCIERCX_CFG010(offset) \
  50. (0x0000000000000028ull + (((offset) & 1) * 0))
  51. #define CVMX_PCIERCX_CFG011(offset) \
  52. (0x000000000000002Cull + (((offset) & 1) * 0))
  53. #define CVMX_PCIERCX_CFG012(offset) \
  54. (0x0000000000000030ull + (((offset) & 1) * 0))
  55. #define CVMX_PCIERCX_CFG013(offset) \
  56. (0x0000000000000034ull + (((offset) & 1) * 0))
  57. #define CVMX_PCIERCX_CFG014(offset) \
  58. (0x0000000000000038ull + (((offset) & 1) * 0))
  59. #define CVMX_PCIERCX_CFG015(offset) \
  60. (0x000000000000003Cull + (((offset) & 1) * 0))
  61. #define CVMX_PCIERCX_CFG016(offset) \
  62. (0x0000000000000040ull + (((offset) & 1) * 0))
  63. #define CVMX_PCIERCX_CFG017(offset) \
  64. (0x0000000000000044ull + (((offset) & 1) * 0))
  65. #define CVMX_PCIERCX_CFG020(offset) \
  66. (0x0000000000000050ull + (((offset) & 1) * 0))
  67. #define CVMX_PCIERCX_CFG021(offset) \
  68. (0x0000000000000054ull + (((offset) & 1) * 0))
  69. #define CVMX_PCIERCX_CFG022(offset) \
  70. (0x0000000000000058ull + (((offset) & 1) * 0))
  71. #define CVMX_PCIERCX_CFG023(offset) \
  72. (0x000000000000005Cull + (((offset) & 1) * 0))
  73. #define CVMX_PCIERCX_CFG028(offset) \
  74. (0x0000000000000070ull + (((offset) & 1) * 0))
  75. #define CVMX_PCIERCX_CFG029(offset) \
  76. (0x0000000000000074ull + (((offset) & 1) * 0))
  77. #define CVMX_PCIERCX_CFG030(offset) \
  78. (0x0000000000000078ull + (((offset) & 1) * 0))
  79. #define CVMX_PCIERCX_CFG031(offset) \
  80. (0x000000000000007Cull + (((offset) & 1) * 0))
  81. #define CVMX_PCIERCX_CFG032(offset) \
  82. (0x0000000000000080ull + (((offset) & 1) * 0))
  83. #define CVMX_PCIERCX_CFG033(offset) \
  84. (0x0000000000000084ull + (((offset) & 1) * 0))
  85. #define CVMX_PCIERCX_CFG034(offset) \
  86. (0x0000000000000088ull + (((offset) & 1) * 0))
  87. #define CVMX_PCIERCX_CFG035(offset) \
  88. (0x000000000000008Cull + (((offset) & 1) * 0))
  89. #define CVMX_PCIERCX_CFG036(offset) \
  90. (0x0000000000000090ull + (((offset) & 1) * 0))
  91. #define CVMX_PCIERCX_CFG037(offset) \
  92. (0x0000000000000094ull + (((offset) & 1) * 0))
  93. #define CVMX_PCIERCX_CFG038(offset) \
  94. (0x0000000000000098ull + (((offset) & 1) * 0))
  95. #define CVMX_PCIERCX_CFG039(offset) \
  96. (0x000000000000009Cull + (((offset) & 1) * 0))
  97. #define CVMX_PCIERCX_CFG040(offset) \
  98. (0x00000000000000A0ull + (((offset) & 1) * 0))
  99. #define CVMX_PCIERCX_CFG041(offset) \
  100. (0x00000000000000A4ull + (((offset) & 1) * 0))
  101. #define CVMX_PCIERCX_CFG042(offset) \
  102. (0x00000000000000A8ull + (((offset) & 1) * 0))
  103. #define CVMX_PCIERCX_CFG064(offset) \
  104. (0x0000000000000100ull + (((offset) & 1) * 0))
  105. #define CVMX_PCIERCX_CFG065(offset) \
  106. (0x0000000000000104ull + (((offset) & 1) * 0))
  107. #define CVMX_PCIERCX_CFG066(offset) \
  108. (0x0000000000000108ull + (((offset) & 1) * 0))
  109. #define CVMX_PCIERCX_CFG067(offset) \
  110. (0x000000000000010Cull + (((offset) & 1) * 0))
  111. #define CVMX_PCIERCX_CFG068(offset) \
  112. (0x0000000000000110ull + (((offset) & 1) * 0))
  113. #define CVMX_PCIERCX_CFG069(offset) \
  114. (0x0000000000000114ull + (((offset) & 1) * 0))
  115. #define CVMX_PCIERCX_CFG070(offset) \
  116. (0x0000000000000118ull + (((offset) & 1) * 0))
  117. #define CVMX_PCIERCX_CFG071(offset) \
  118. (0x000000000000011Cull + (((offset) & 1) * 0))
  119. #define CVMX_PCIERCX_CFG072(offset) \
  120. (0x0000000000000120ull + (((offset) & 1) * 0))
  121. #define CVMX_PCIERCX_CFG073(offset) \
  122. (0x0000000000000124ull + (((offset) & 1) * 0))
  123. #define CVMX_PCIERCX_CFG074(offset) \
  124. (0x0000000000000128ull + (((offset) & 1) * 0))
  125. #define CVMX_PCIERCX_CFG075(offset) \
  126. (0x000000000000012Cull + (((offset) & 1) * 0))
  127. #define CVMX_PCIERCX_CFG076(offset) \
  128. (0x0000000000000130ull + (((offset) & 1) * 0))
  129. #define CVMX_PCIERCX_CFG077(offset) \
  130. (0x0000000000000134ull + (((offset) & 1) * 0))
  131. #define CVMX_PCIERCX_CFG448(offset) \
  132. (0x0000000000000700ull + (((offset) & 1) * 0))
  133. #define CVMX_PCIERCX_CFG449(offset) \
  134. (0x0000000000000704ull + (((offset) & 1) * 0))
  135. #define CVMX_PCIERCX_CFG450(offset) \
  136. (0x0000000000000708ull + (((offset) & 1) * 0))
  137. #define CVMX_PCIERCX_CFG451(offset) \
  138. (0x000000000000070Cull + (((offset) & 1) * 0))
  139. #define CVMX_PCIERCX_CFG452(offset) \
  140. (0x0000000000000710ull + (((offset) & 1) * 0))
  141. #define CVMX_PCIERCX_CFG453(offset) \
  142. (0x0000000000000714ull + (((offset) & 1) * 0))
  143. #define CVMX_PCIERCX_CFG454(offset) \
  144. (0x0000000000000718ull + (((offset) & 1) * 0))
  145. #define CVMX_PCIERCX_CFG455(offset) \
  146. (0x000000000000071Cull + (((offset) & 1) * 0))
  147. #define CVMX_PCIERCX_CFG456(offset) \
  148. (0x0000000000000720ull + (((offset) & 1) * 0))
  149. #define CVMX_PCIERCX_CFG458(offset) \
  150. (0x0000000000000728ull + (((offset) & 1) * 0))
  151. #define CVMX_PCIERCX_CFG459(offset) \
  152. (0x000000000000072Cull + (((offset) & 1) * 0))
  153. #define CVMX_PCIERCX_CFG460(offset) \
  154. (0x0000000000000730ull + (((offset) & 1) * 0))
  155. #define CVMX_PCIERCX_CFG461(offset) \
  156. (0x0000000000000734ull + (((offset) & 1) * 0))
  157. #define CVMX_PCIERCX_CFG462(offset) \
  158. (0x0000000000000738ull + (((offset) & 1) * 0))
  159. #define CVMX_PCIERCX_CFG463(offset) \
  160. (0x000000000000073Cull + (((offset) & 1) * 0))
  161. #define CVMX_PCIERCX_CFG464(offset) \
  162. (0x0000000000000740ull + (((offset) & 1) * 0))
  163. #define CVMX_PCIERCX_CFG465(offset) \
  164. (0x0000000000000744ull + (((offset) & 1) * 0))
  165. #define CVMX_PCIERCX_CFG466(offset) \
  166. (0x0000000000000748ull + (((offset) & 1) * 0))
  167. #define CVMX_PCIERCX_CFG467(offset) \
  168. (0x000000000000074Cull + (((offset) & 1) * 0))
  169. #define CVMX_PCIERCX_CFG468(offset) \
  170. (0x0000000000000750ull + (((offset) & 1) * 0))
  171. #define CVMX_PCIERCX_CFG490(offset) \
  172. (0x00000000000007A8ull + (((offset) & 1) * 0))
  173. #define CVMX_PCIERCX_CFG491(offset) \
  174. (0x00000000000007ACull + (((offset) & 1) * 0))
  175. #define CVMX_PCIERCX_CFG492(offset) \
  176. (0x00000000000007B0ull + (((offset) & 1) * 0))
  177. #define CVMX_PCIERCX_CFG516(offset) \
  178. (0x0000000000000810ull + (((offset) & 1) * 0))
  179. #define CVMX_PCIERCX_CFG517(offset) \
  180. (0x0000000000000814ull + (((offset) & 1) * 0))
  181. union cvmx_pciercx_cfg000 {
  182. uint32_t u32;
  183. struct cvmx_pciercx_cfg000_s {
  184. uint32_t devid:16;
  185. uint32_t vendid:16;
  186. } s;
  187. struct cvmx_pciercx_cfg000_s cn52xx;
  188. struct cvmx_pciercx_cfg000_s cn52xxp1;
  189. struct cvmx_pciercx_cfg000_s cn56xx;
  190. struct cvmx_pciercx_cfg000_s cn56xxp1;
  191. };
  192. union cvmx_pciercx_cfg001 {
  193. uint32_t u32;
  194. struct cvmx_pciercx_cfg001_s {
  195. uint32_t dpe:1;
  196. uint32_t sse:1;
  197. uint32_t rma:1;
  198. uint32_t rta:1;
  199. uint32_t sta:1;
  200. uint32_t devt:2;
  201. uint32_t mdpe:1;
  202. uint32_t fbb:1;
  203. uint32_t reserved_22_22:1;
  204. uint32_t m66:1;
  205. uint32_t cl:1;
  206. uint32_t i_stat:1;
  207. uint32_t reserved_11_18:8;
  208. uint32_t i_dis:1;
  209. uint32_t fbbe:1;
  210. uint32_t see:1;
  211. uint32_t ids_wcc:1;
  212. uint32_t per:1;
  213. uint32_t vps:1;
  214. uint32_t mwice:1;
  215. uint32_t scse:1;
  216. uint32_t me:1;
  217. uint32_t msae:1;
  218. uint32_t isae:1;
  219. } s;
  220. struct cvmx_pciercx_cfg001_s cn52xx;
  221. struct cvmx_pciercx_cfg001_s cn52xxp1;
  222. struct cvmx_pciercx_cfg001_s cn56xx;
  223. struct cvmx_pciercx_cfg001_s cn56xxp1;
  224. };
  225. union cvmx_pciercx_cfg002 {
  226. uint32_t u32;
  227. struct cvmx_pciercx_cfg002_s {
  228. uint32_t bcc:8;
  229. uint32_t sc:8;
  230. uint32_t pi:8;
  231. uint32_t rid:8;
  232. } s;
  233. struct cvmx_pciercx_cfg002_s cn52xx;
  234. struct cvmx_pciercx_cfg002_s cn52xxp1;
  235. struct cvmx_pciercx_cfg002_s cn56xx;
  236. struct cvmx_pciercx_cfg002_s cn56xxp1;
  237. };
  238. union cvmx_pciercx_cfg003 {
  239. uint32_t u32;
  240. struct cvmx_pciercx_cfg003_s {
  241. uint32_t bist:8;
  242. uint32_t mfd:1;
  243. uint32_t chf:7;
  244. uint32_t lt:8;
  245. uint32_t cls:8;
  246. } s;
  247. struct cvmx_pciercx_cfg003_s cn52xx;
  248. struct cvmx_pciercx_cfg003_s cn52xxp1;
  249. struct cvmx_pciercx_cfg003_s cn56xx;
  250. struct cvmx_pciercx_cfg003_s cn56xxp1;
  251. };
  252. union cvmx_pciercx_cfg004 {
  253. uint32_t u32;
  254. struct cvmx_pciercx_cfg004_s {
  255. uint32_t reserved_0_31:32;
  256. } s;
  257. struct cvmx_pciercx_cfg004_s cn52xx;
  258. struct cvmx_pciercx_cfg004_s cn52xxp1;
  259. struct cvmx_pciercx_cfg004_s cn56xx;
  260. struct cvmx_pciercx_cfg004_s cn56xxp1;
  261. };
  262. union cvmx_pciercx_cfg005 {
  263. uint32_t u32;
  264. struct cvmx_pciercx_cfg005_s {
  265. uint32_t reserved_0_31:32;
  266. } s;
  267. struct cvmx_pciercx_cfg005_s cn52xx;
  268. struct cvmx_pciercx_cfg005_s cn52xxp1;
  269. struct cvmx_pciercx_cfg005_s cn56xx;
  270. struct cvmx_pciercx_cfg005_s cn56xxp1;
  271. };
  272. union cvmx_pciercx_cfg006 {
  273. uint32_t u32;
  274. struct cvmx_pciercx_cfg006_s {
  275. uint32_t slt:8;
  276. uint32_t subbnum:8;
  277. uint32_t sbnum:8;
  278. uint32_t pbnum:8;
  279. } s;
  280. struct cvmx_pciercx_cfg006_s cn52xx;
  281. struct cvmx_pciercx_cfg006_s cn52xxp1;
  282. struct cvmx_pciercx_cfg006_s cn56xx;
  283. struct cvmx_pciercx_cfg006_s cn56xxp1;
  284. };
  285. union cvmx_pciercx_cfg007 {
  286. uint32_t u32;
  287. struct cvmx_pciercx_cfg007_s {
  288. uint32_t dpe:1;
  289. uint32_t sse:1;
  290. uint32_t rma:1;
  291. uint32_t rta:1;
  292. uint32_t sta:1;
  293. uint32_t devt:2;
  294. uint32_t mdpe:1;
  295. uint32_t fbb:1;
  296. uint32_t reserved_22_22:1;
  297. uint32_t m66:1;
  298. uint32_t reserved_16_20:5;
  299. uint32_t lio_limi:4;
  300. uint32_t reserved_9_11:3;
  301. uint32_t io32b:1;
  302. uint32_t lio_base:4;
  303. uint32_t reserved_1_3:3;
  304. uint32_t io32a:1;
  305. } s;
  306. struct cvmx_pciercx_cfg007_s cn52xx;
  307. struct cvmx_pciercx_cfg007_s cn52xxp1;
  308. struct cvmx_pciercx_cfg007_s cn56xx;
  309. struct cvmx_pciercx_cfg007_s cn56xxp1;
  310. };
  311. union cvmx_pciercx_cfg008 {
  312. uint32_t u32;
  313. struct cvmx_pciercx_cfg008_s {
  314. uint32_t ml_addr:12;
  315. uint32_t reserved_16_19:4;
  316. uint32_t mb_addr:12;
  317. uint32_t reserved_0_3:4;
  318. } s;
  319. struct cvmx_pciercx_cfg008_s cn52xx;
  320. struct cvmx_pciercx_cfg008_s cn52xxp1;
  321. struct cvmx_pciercx_cfg008_s cn56xx;
  322. struct cvmx_pciercx_cfg008_s cn56xxp1;
  323. };
  324. union cvmx_pciercx_cfg009 {
  325. uint32_t u32;
  326. struct cvmx_pciercx_cfg009_s {
  327. uint32_t lmem_limit:12;
  328. uint32_t reserved_17_19:3;
  329. uint32_t mem64b:1;
  330. uint32_t lmem_base:12;
  331. uint32_t reserved_1_3:3;
  332. uint32_t mem64a:1;
  333. } s;
  334. struct cvmx_pciercx_cfg009_s cn52xx;
  335. struct cvmx_pciercx_cfg009_s cn52xxp1;
  336. struct cvmx_pciercx_cfg009_s cn56xx;
  337. struct cvmx_pciercx_cfg009_s cn56xxp1;
  338. };
  339. union cvmx_pciercx_cfg010 {
  340. uint32_t u32;
  341. struct cvmx_pciercx_cfg010_s {
  342. uint32_t umem_base:32;
  343. } s;
  344. struct cvmx_pciercx_cfg010_s cn52xx;
  345. struct cvmx_pciercx_cfg010_s cn52xxp1;
  346. struct cvmx_pciercx_cfg010_s cn56xx;
  347. struct cvmx_pciercx_cfg010_s cn56xxp1;
  348. };
  349. union cvmx_pciercx_cfg011 {
  350. uint32_t u32;
  351. struct cvmx_pciercx_cfg011_s {
  352. uint32_t umem_limit:32;
  353. } s;
  354. struct cvmx_pciercx_cfg011_s cn52xx;
  355. struct cvmx_pciercx_cfg011_s cn52xxp1;
  356. struct cvmx_pciercx_cfg011_s cn56xx;
  357. struct cvmx_pciercx_cfg011_s cn56xxp1;
  358. };
  359. union cvmx_pciercx_cfg012 {
  360. uint32_t u32;
  361. struct cvmx_pciercx_cfg012_s {
  362. uint32_t uio_limit:16;
  363. uint32_t uio_base:16;
  364. } s;
  365. struct cvmx_pciercx_cfg012_s cn52xx;
  366. struct cvmx_pciercx_cfg012_s cn52xxp1;
  367. struct cvmx_pciercx_cfg012_s cn56xx;
  368. struct cvmx_pciercx_cfg012_s cn56xxp1;
  369. };
  370. union cvmx_pciercx_cfg013 {
  371. uint32_t u32;
  372. struct cvmx_pciercx_cfg013_s {
  373. uint32_t reserved_8_31:24;
  374. uint32_t cp:8;
  375. } s;
  376. struct cvmx_pciercx_cfg013_s cn52xx;
  377. struct cvmx_pciercx_cfg013_s cn52xxp1;
  378. struct cvmx_pciercx_cfg013_s cn56xx;
  379. struct cvmx_pciercx_cfg013_s cn56xxp1;
  380. };
  381. union cvmx_pciercx_cfg014 {
  382. uint32_t u32;
  383. struct cvmx_pciercx_cfg014_s {
  384. uint32_t reserved_0_31:32;
  385. } s;
  386. struct cvmx_pciercx_cfg014_s cn52xx;
  387. struct cvmx_pciercx_cfg014_s cn52xxp1;
  388. struct cvmx_pciercx_cfg014_s cn56xx;
  389. struct cvmx_pciercx_cfg014_s cn56xxp1;
  390. };
  391. union cvmx_pciercx_cfg015 {
  392. uint32_t u32;
  393. struct cvmx_pciercx_cfg015_s {
  394. uint32_t reserved_28_31:4;
  395. uint32_t dtsees:1;
  396. uint32_t dts:1;
  397. uint32_t sdt:1;
  398. uint32_t pdt:1;
  399. uint32_t fbbe:1;
  400. uint32_t sbrst:1;
  401. uint32_t mam:1;
  402. uint32_t vga16d:1;
  403. uint32_t vgae:1;
  404. uint32_t isae:1;
  405. uint32_t see:1;
  406. uint32_t pere:1;
  407. uint32_t inta:8;
  408. uint32_t il:8;
  409. } s;
  410. struct cvmx_pciercx_cfg015_s cn52xx;
  411. struct cvmx_pciercx_cfg015_s cn52xxp1;
  412. struct cvmx_pciercx_cfg015_s cn56xx;
  413. struct cvmx_pciercx_cfg015_s cn56xxp1;
  414. };
  415. union cvmx_pciercx_cfg016 {
  416. uint32_t u32;
  417. struct cvmx_pciercx_cfg016_s {
  418. uint32_t pmes:5;
  419. uint32_t d2s:1;
  420. uint32_t d1s:1;
  421. uint32_t auxc:3;
  422. uint32_t dsi:1;
  423. uint32_t reserved_20_20:1;
  424. uint32_t pme_clock:1;
  425. uint32_t pmsv:3;
  426. uint32_t ncp:8;
  427. uint32_t pmcid:8;
  428. } s;
  429. struct cvmx_pciercx_cfg016_s cn52xx;
  430. struct cvmx_pciercx_cfg016_s cn52xxp1;
  431. struct cvmx_pciercx_cfg016_s cn56xx;
  432. struct cvmx_pciercx_cfg016_s cn56xxp1;
  433. };
  434. union cvmx_pciercx_cfg017 {
  435. uint32_t u32;
  436. struct cvmx_pciercx_cfg017_s {
  437. uint32_t pmdia:8;
  438. uint32_t bpccee:1;
  439. uint32_t bd3h:1;
  440. uint32_t reserved_16_21:6;
  441. uint32_t pmess:1;
  442. uint32_t pmedsia:2;
  443. uint32_t pmds:4;
  444. uint32_t pmeens:1;
  445. uint32_t reserved_4_7:4;
  446. uint32_t nsr:1;
  447. uint32_t reserved_2_2:1;
  448. uint32_t ps:2;
  449. } s;
  450. struct cvmx_pciercx_cfg017_s cn52xx;
  451. struct cvmx_pciercx_cfg017_s cn52xxp1;
  452. struct cvmx_pciercx_cfg017_s cn56xx;
  453. struct cvmx_pciercx_cfg017_s cn56xxp1;
  454. };
  455. union cvmx_pciercx_cfg020 {
  456. uint32_t u32;
  457. struct cvmx_pciercx_cfg020_s {
  458. uint32_t reserved_24_31:8;
  459. uint32_t m64:1;
  460. uint32_t mme:3;
  461. uint32_t mmc:3;
  462. uint32_t msien:1;
  463. uint32_t ncp:8;
  464. uint32_t msicid:8;
  465. } s;
  466. struct cvmx_pciercx_cfg020_s cn52xx;
  467. struct cvmx_pciercx_cfg020_s cn52xxp1;
  468. struct cvmx_pciercx_cfg020_s cn56xx;
  469. struct cvmx_pciercx_cfg020_s cn56xxp1;
  470. };
  471. union cvmx_pciercx_cfg021 {
  472. uint32_t u32;
  473. struct cvmx_pciercx_cfg021_s {
  474. uint32_t lmsi:30;
  475. uint32_t reserved_0_1:2;
  476. } s;
  477. struct cvmx_pciercx_cfg021_s cn52xx;
  478. struct cvmx_pciercx_cfg021_s cn52xxp1;
  479. struct cvmx_pciercx_cfg021_s cn56xx;
  480. struct cvmx_pciercx_cfg021_s cn56xxp1;
  481. };
  482. union cvmx_pciercx_cfg022 {
  483. uint32_t u32;
  484. struct cvmx_pciercx_cfg022_s {
  485. uint32_t umsi:32;
  486. } s;
  487. struct cvmx_pciercx_cfg022_s cn52xx;
  488. struct cvmx_pciercx_cfg022_s cn52xxp1;
  489. struct cvmx_pciercx_cfg022_s cn56xx;
  490. struct cvmx_pciercx_cfg022_s cn56xxp1;
  491. };
  492. union cvmx_pciercx_cfg023 {
  493. uint32_t u32;
  494. struct cvmx_pciercx_cfg023_s {
  495. uint32_t reserved_16_31:16;
  496. uint32_t msimd:16;
  497. } s;
  498. struct cvmx_pciercx_cfg023_s cn52xx;
  499. struct cvmx_pciercx_cfg023_s cn52xxp1;
  500. struct cvmx_pciercx_cfg023_s cn56xx;
  501. struct cvmx_pciercx_cfg023_s cn56xxp1;
  502. };
  503. union cvmx_pciercx_cfg028 {
  504. uint32_t u32;
  505. struct cvmx_pciercx_cfg028_s {
  506. uint32_t reserved_30_31:2;
  507. uint32_t imn:5;
  508. uint32_t si:1;
  509. uint32_t dpt:4;
  510. uint32_t pciecv:4;
  511. uint32_t ncp:8;
  512. uint32_t pcieid:8;
  513. } s;
  514. struct cvmx_pciercx_cfg028_s cn52xx;
  515. struct cvmx_pciercx_cfg028_s cn52xxp1;
  516. struct cvmx_pciercx_cfg028_s cn56xx;
  517. struct cvmx_pciercx_cfg028_s cn56xxp1;
  518. };
  519. union cvmx_pciercx_cfg029 {
  520. uint32_t u32;
  521. struct cvmx_pciercx_cfg029_s {
  522. uint32_t reserved_28_31:4;
  523. uint32_t cspls:2;
  524. uint32_t csplv:8;
  525. uint32_t reserved_16_17:2;
  526. uint32_t rber:1;
  527. uint32_t reserved_12_14:3;
  528. uint32_t el1al:3;
  529. uint32_t el0al:3;
  530. uint32_t etfs:1;
  531. uint32_t pfs:2;
  532. uint32_t mpss:3;
  533. } s;
  534. struct cvmx_pciercx_cfg029_s cn52xx;
  535. struct cvmx_pciercx_cfg029_s cn52xxp1;
  536. struct cvmx_pciercx_cfg029_s cn56xx;
  537. struct cvmx_pciercx_cfg029_s cn56xxp1;
  538. };
  539. union cvmx_pciercx_cfg030 {
  540. uint32_t u32;
  541. struct cvmx_pciercx_cfg030_s {
  542. uint32_t reserved_22_31:10;
  543. uint32_t tp:1;
  544. uint32_t ap_d:1;
  545. uint32_t ur_d:1;
  546. uint32_t fe_d:1;
  547. uint32_t nfe_d:1;
  548. uint32_t ce_d:1;
  549. uint32_t reserved_15_15:1;
  550. uint32_t mrrs:3;
  551. uint32_t ns_en:1;
  552. uint32_t ap_en:1;
  553. uint32_t pf_en:1;
  554. uint32_t etf_en:1;
  555. uint32_t mps:3;
  556. uint32_t ro_en:1;
  557. uint32_t ur_en:1;
  558. uint32_t fe_en:1;
  559. uint32_t nfe_en:1;
  560. uint32_t ce_en:1;
  561. } s;
  562. struct cvmx_pciercx_cfg030_s cn52xx;
  563. struct cvmx_pciercx_cfg030_s cn52xxp1;
  564. struct cvmx_pciercx_cfg030_s cn56xx;
  565. struct cvmx_pciercx_cfg030_s cn56xxp1;
  566. };
  567. union cvmx_pciercx_cfg031 {
  568. uint32_t u32;
  569. struct cvmx_pciercx_cfg031_s {
  570. uint32_t pnum:8;
  571. uint32_t reserved_22_23:2;
  572. uint32_t lbnc:1;
  573. uint32_t dllarc:1;
  574. uint32_t sderc:1;
  575. uint32_t cpm:1;
  576. uint32_t l1el:3;
  577. uint32_t l0el:3;
  578. uint32_t aslpms:2;
  579. uint32_t mlw:6;
  580. uint32_t mls:4;
  581. } s;
  582. struct cvmx_pciercx_cfg031_s cn52xx;
  583. struct cvmx_pciercx_cfg031_s cn52xxp1;
  584. struct cvmx_pciercx_cfg031_s cn56xx;
  585. struct cvmx_pciercx_cfg031_s cn56xxp1;
  586. };
  587. union cvmx_pciercx_cfg032 {
  588. uint32_t u32;
  589. struct cvmx_pciercx_cfg032_s {
  590. uint32_t lab:1;
  591. uint32_t lbm:1;
  592. uint32_t dlla:1;
  593. uint32_t scc:1;
  594. uint32_t lt:1;
  595. uint32_t reserved_26_26:1;
  596. uint32_t nlw:6;
  597. uint32_t ls:4;
  598. uint32_t reserved_12_15:4;
  599. uint32_t lab_int_enb:1;
  600. uint32_t lbm_int_enb:1;
  601. uint32_t hawd:1;
  602. uint32_t ecpm:1;
  603. uint32_t es:1;
  604. uint32_t ccc:1;
  605. uint32_t rl:1;
  606. uint32_t ld:1;
  607. uint32_t rcb:1;
  608. uint32_t reserved_2_2:1;
  609. uint32_t aslpc:2;
  610. } s;
  611. struct cvmx_pciercx_cfg032_s cn52xx;
  612. struct cvmx_pciercx_cfg032_s cn52xxp1;
  613. struct cvmx_pciercx_cfg032_s cn56xx;
  614. struct cvmx_pciercx_cfg032_s cn56xxp1;
  615. };
  616. union cvmx_pciercx_cfg033 {
  617. uint32_t u32;
  618. struct cvmx_pciercx_cfg033_s {
  619. uint32_t ps_num:13;
  620. uint32_t nccs:1;
  621. uint32_t emip:1;
  622. uint32_t sp_ls:2;
  623. uint32_t sp_lv:8;
  624. uint32_t hp_c:1;
  625. uint32_t hp_s:1;
  626. uint32_t pip:1;
  627. uint32_t aip:1;
  628. uint32_t mrlsp:1;
  629. uint32_t pcp:1;
  630. uint32_t abp:1;
  631. } s;
  632. struct cvmx_pciercx_cfg033_s cn52xx;
  633. struct cvmx_pciercx_cfg033_s cn52xxp1;
  634. struct cvmx_pciercx_cfg033_s cn56xx;
  635. struct cvmx_pciercx_cfg033_s cn56xxp1;
  636. };
  637. union cvmx_pciercx_cfg034 {
  638. uint32_t u32;
  639. struct cvmx_pciercx_cfg034_s {
  640. uint32_t reserved_25_31:7;
  641. uint32_t dlls_c:1;
  642. uint32_t emis:1;
  643. uint32_t pds:1;
  644. uint32_t mrlss:1;
  645. uint32_t ccint_d:1;
  646. uint32_t pd_c:1;
  647. uint32_t mrls_c:1;
  648. uint32_t pf_d:1;
  649. uint32_t abp_d:1;
  650. uint32_t reserved_13_15:3;
  651. uint32_t dlls_en:1;
  652. uint32_t emic:1;
  653. uint32_t pcc:1;
  654. uint32_t pic:2;
  655. uint32_t aic:2;
  656. uint32_t hpint_en:1;
  657. uint32_t ccint_en:1;
  658. uint32_t pd_en:1;
  659. uint32_t mrls_en:1;
  660. uint32_t pf_en:1;
  661. uint32_t abp_en:1;
  662. } s;
  663. struct cvmx_pciercx_cfg034_s cn52xx;
  664. struct cvmx_pciercx_cfg034_s cn52xxp1;
  665. struct cvmx_pciercx_cfg034_s cn56xx;
  666. struct cvmx_pciercx_cfg034_s cn56xxp1;
  667. };
  668. union cvmx_pciercx_cfg035 {
  669. uint32_t u32;
  670. struct cvmx_pciercx_cfg035_s {
  671. uint32_t reserved_17_31:15;
  672. uint32_t crssv:1;
  673. uint32_t reserved_5_15:11;
  674. uint32_t crssve:1;
  675. uint32_t pmeie:1;
  676. uint32_t sefee:1;
  677. uint32_t senfee:1;
  678. uint32_t secee:1;
  679. } s;
  680. struct cvmx_pciercx_cfg035_s cn52xx;
  681. struct cvmx_pciercx_cfg035_s cn52xxp1;
  682. struct cvmx_pciercx_cfg035_s cn56xx;
  683. struct cvmx_pciercx_cfg035_s cn56xxp1;
  684. };
  685. union cvmx_pciercx_cfg036 {
  686. uint32_t u32;
  687. struct cvmx_pciercx_cfg036_s {
  688. uint32_t reserved_18_31:14;
  689. uint32_t pme_pend:1;
  690. uint32_t pme_stat:1;
  691. uint32_t pme_rid:16;
  692. } s;
  693. struct cvmx_pciercx_cfg036_s cn52xx;
  694. struct cvmx_pciercx_cfg036_s cn52xxp1;
  695. struct cvmx_pciercx_cfg036_s cn56xx;
  696. struct cvmx_pciercx_cfg036_s cn56xxp1;
  697. };
  698. union cvmx_pciercx_cfg037 {
  699. uint32_t u32;
  700. struct cvmx_pciercx_cfg037_s {
  701. uint32_t reserved_5_31:27;
  702. uint32_t ctds:1;
  703. uint32_t ctrs:4;
  704. } s;
  705. struct cvmx_pciercx_cfg037_s cn52xx;
  706. struct cvmx_pciercx_cfg037_s cn52xxp1;
  707. struct cvmx_pciercx_cfg037_s cn56xx;
  708. struct cvmx_pciercx_cfg037_s cn56xxp1;
  709. };
  710. union cvmx_pciercx_cfg038 {
  711. uint32_t u32;
  712. struct cvmx_pciercx_cfg038_s {
  713. uint32_t reserved_5_31:27;
  714. uint32_t ctd:1;
  715. uint32_t ctv:4;
  716. } s;
  717. struct cvmx_pciercx_cfg038_s cn52xx;
  718. struct cvmx_pciercx_cfg038_s cn52xxp1;
  719. struct cvmx_pciercx_cfg038_s cn56xx;
  720. struct cvmx_pciercx_cfg038_s cn56xxp1;
  721. };
  722. union cvmx_pciercx_cfg039 {
  723. uint32_t u32;
  724. struct cvmx_pciercx_cfg039_s {
  725. uint32_t reserved_0_31:32;
  726. } s;
  727. struct cvmx_pciercx_cfg039_s cn52xx;
  728. struct cvmx_pciercx_cfg039_s cn52xxp1;
  729. struct cvmx_pciercx_cfg039_s cn56xx;
  730. struct cvmx_pciercx_cfg039_s cn56xxp1;
  731. };
  732. union cvmx_pciercx_cfg040 {
  733. uint32_t u32;
  734. struct cvmx_pciercx_cfg040_s {
  735. uint32_t reserved_0_31:32;
  736. } s;
  737. struct cvmx_pciercx_cfg040_s cn52xx;
  738. struct cvmx_pciercx_cfg040_s cn52xxp1;
  739. struct cvmx_pciercx_cfg040_s cn56xx;
  740. struct cvmx_pciercx_cfg040_s cn56xxp1;
  741. };
  742. union cvmx_pciercx_cfg041 {
  743. uint32_t u32;
  744. struct cvmx_pciercx_cfg041_s {
  745. uint32_t reserved_0_31:32;
  746. } s;
  747. struct cvmx_pciercx_cfg041_s cn52xx;
  748. struct cvmx_pciercx_cfg041_s cn52xxp1;
  749. struct cvmx_pciercx_cfg041_s cn56xx;
  750. struct cvmx_pciercx_cfg041_s cn56xxp1;
  751. };
  752. union cvmx_pciercx_cfg042 {
  753. uint32_t u32;
  754. struct cvmx_pciercx_cfg042_s {
  755. uint32_t reserved_0_31:32;
  756. } s;
  757. struct cvmx_pciercx_cfg042_s cn52xx;
  758. struct cvmx_pciercx_cfg042_s cn52xxp1;
  759. struct cvmx_pciercx_cfg042_s cn56xx;
  760. struct cvmx_pciercx_cfg042_s cn56xxp1;
  761. };
  762. union cvmx_pciercx_cfg064 {
  763. uint32_t u32;
  764. struct cvmx_pciercx_cfg064_s {
  765. uint32_t nco:12;
  766. uint32_t cv:4;
  767. uint32_t pcieec:16;
  768. } s;
  769. struct cvmx_pciercx_cfg064_s cn52xx;
  770. struct cvmx_pciercx_cfg064_s cn52xxp1;
  771. struct cvmx_pciercx_cfg064_s cn56xx;
  772. struct cvmx_pciercx_cfg064_s cn56xxp1;
  773. };
  774. union cvmx_pciercx_cfg065 {
  775. uint32_t u32;
  776. struct cvmx_pciercx_cfg065_s {
  777. uint32_t reserved_21_31:11;
  778. uint32_t ures:1;
  779. uint32_t ecrces:1;
  780. uint32_t mtlps:1;
  781. uint32_t ros:1;
  782. uint32_t ucs:1;
  783. uint32_t cas:1;
  784. uint32_t cts:1;
  785. uint32_t fcpes:1;
  786. uint32_t ptlps:1;
  787. uint32_t reserved_6_11:6;
  788. uint32_t sdes:1;
  789. uint32_t dlpes:1;
  790. uint32_t reserved_0_3:4;
  791. } s;
  792. struct cvmx_pciercx_cfg065_s cn52xx;
  793. struct cvmx_pciercx_cfg065_s cn52xxp1;
  794. struct cvmx_pciercx_cfg065_s cn56xx;
  795. struct cvmx_pciercx_cfg065_s cn56xxp1;
  796. };
  797. union cvmx_pciercx_cfg066 {
  798. uint32_t u32;
  799. struct cvmx_pciercx_cfg066_s {
  800. uint32_t reserved_21_31:11;
  801. uint32_t urem:1;
  802. uint32_t ecrcem:1;
  803. uint32_t mtlpm:1;
  804. uint32_t rom:1;
  805. uint32_t ucm:1;
  806. uint32_t cam:1;
  807. uint32_t ctm:1;
  808. uint32_t fcpem:1;
  809. uint32_t ptlpm:1;
  810. uint32_t reserved_6_11:6;
  811. uint32_t sdem:1;
  812. uint32_t dlpem:1;
  813. uint32_t reserved_0_3:4;
  814. } s;
  815. struct cvmx_pciercx_cfg066_s cn52xx;
  816. struct cvmx_pciercx_cfg066_s cn52xxp1;
  817. struct cvmx_pciercx_cfg066_s cn56xx;
  818. struct cvmx_pciercx_cfg066_s cn56xxp1;
  819. };
  820. union cvmx_pciercx_cfg067 {
  821. uint32_t u32;
  822. struct cvmx_pciercx_cfg067_s {
  823. uint32_t reserved_21_31:11;
  824. uint32_t ures:1;
  825. uint32_t ecrces:1;
  826. uint32_t mtlps:1;
  827. uint32_t ros:1;
  828. uint32_t ucs:1;
  829. uint32_t cas:1;
  830. uint32_t cts:1;
  831. uint32_t fcpes:1;
  832. uint32_t ptlps:1;
  833. uint32_t reserved_6_11:6;
  834. uint32_t sdes:1;
  835. uint32_t dlpes:1;
  836. uint32_t reserved_0_3:4;
  837. } s;
  838. struct cvmx_pciercx_cfg067_s cn52xx;
  839. struct cvmx_pciercx_cfg067_s cn52xxp1;
  840. struct cvmx_pciercx_cfg067_s cn56xx;
  841. struct cvmx_pciercx_cfg067_s cn56xxp1;
  842. };
  843. union cvmx_pciercx_cfg068 {
  844. uint32_t u32;
  845. struct cvmx_pciercx_cfg068_s {
  846. uint32_t reserved_14_31:18;
  847. uint32_t anfes:1;
  848. uint32_t rtts:1;
  849. uint32_t reserved_9_11:3;
  850. uint32_t rnrs:1;
  851. uint32_t bdllps:1;
  852. uint32_t btlps:1;
  853. uint32_t reserved_1_5:5;
  854. uint32_t res:1;
  855. } s;
  856. struct cvmx_pciercx_cfg068_s cn52xx;
  857. struct cvmx_pciercx_cfg068_s cn52xxp1;
  858. struct cvmx_pciercx_cfg068_s cn56xx;
  859. struct cvmx_pciercx_cfg068_s cn56xxp1;
  860. };
  861. union cvmx_pciercx_cfg069 {
  862. uint32_t u32;
  863. struct cvmx_pciercx_cfg069_s {
  864. uint32_t reserved_14_31:18;
  865. uint32_t anfem:1;
  866. uint32_t rttm:1;
  867. uint32_t reserved_9_11:3;
  868. uint32_t rnrm:1;
  869. uint32_t bdllpm:1;
  870. uint32_t btlpm:1;
  871. uint32_t reserved_1_5:5;
  872. uint32_t rem:1;
  873. } s;
  874. struct cvmx_pciercx_cfg069_s cn52xx;
  875. struct cvmx_pciercx_cfg069_s cn52xxp1;
  876. struct cvmx_pciercx_cfg069_s cn56xx;
  877. struct cvmx_pciercx_cfg069_s cn56xxp1;
  878. };
  879. union cvmx_pciercx_cfg070 {
  880. uint32_t u32;
  881. struct cvmx_pciercx_cfg070_s {
  882. uint32_t reserved_9_31:23;
  883. uint32_t ce:1;
  884. uint32_t cc:1;
  885. uint32_t ge:1;
  886. uint32_t gc:1;
  887. uint32_t fep:5;
  888. } s;
  889. struct cvmx_pciercx_cfg070_s cn52xx;
  890. struct cvmx_pciercx_cfg070_s cn52xxp1;
  891. struct cvmx_pciercx_cfg070_s cn56xx;
  892. struct cvmx_pciercx_cfg070_s cn56xxp1;
  893. };
  894. union cvmx_pciercx_cfg071 {
  895. uint32_t u32;
  896. struct cvmx_pciercx_cfg071_s {
  897. uint32_t dword1:32;
  898. } s;
  899. struct cvmx_pciercx_cfg071_s cn52xx;
  900. struct cvmx_pciercx_cfg071_s cn52xxp1;
  901. struct cvmx_pciercx_cfg071_s cn56xx;
  902. struct cvmx_pciercx_cfg071_s cn56xxp1;
  903. };
  904. union cvmx_pciercx_cfg072 {
  905. uint32_t u32;
  906. struct cvmx_pciercx_cfg072_s {
  907. uint32_t dword2:32;
  908. } s;
  909. struct cvmx_pciercx_cfg072_s cn52xx;
  910. struct cvmx_pciercx_cfg072_s cn52xxp1;
  911. struct cvmx_pciercx_cfg072_s cn56xx;
  912. struct cvmx_pciercx_cfg072_s cn56xxp1;
  913. };
  914. union cvmx_pciercx_cfg073 {
  915. uint32_t u32;
  916. struct cvmx_pciercx_cfg073_s {
  917. uint32_t dword3:32;
  918. } s;
  919. struct cvmx_pciercx_cfg073_s cn52xx;
  920. struct cvmx_pciercx_cfg073_s cn52xxp1;
  921. struct cvmx_pciercx_cfg073_s cn56xx;
  922. struct cvmx_pciercx_cfg073_s cn56xxp1;
  923. };
  924. union cvmx_pciercx_cfg074 {
  925. uint32_t u32;
  926. struct cvmx_pciercx_cfg074_s {
  927. uint32_t dword4:32;
  928. } s;
  929. struct cvmx_pciercx_cfg074_s cn52xx;
  930. struct cvmx_pciercx_cfg074_s cn52xxp1;
  931. struct cvmx_pciercx_cfg074_s cn56xx;
  932. struct cvmx_pciercx_cfg074_s cn56xxp1;
  933. };
  934. union cvmx_pciercx_cfg075 {
  935. uint32_t u32;
  936. struct cvmx_pciercx_cfg075_s {
  937. uint32_t reserved_3_31:29;
  938. uint32_t fere:1;
  939. uint32_t nfere:1;
  940. uint32_t cere:1;
  941. } s;
  942. struct cvmx_pciercx_cfg075_s cn52xx;
  943. struct cvmx_pciercx_cfg075_s cn52xxp1;
  944. struct cvmx_pciercx_cfg075_s cn56xx;
  945. struct cvmx_pciercx_cfg075_s cn56xxp1;
  946. };
  947. union cvmx_pciercx_cfg076 {
  948. uint32_t u32;
  949. struct cvmx_pciercx_cfg076_s {
  950. uint32_t aeimn:5;
  951. uint32_t reserved_7_26:20;
  952. uint32_t femr:1;
  953. uint32_t nfemr:1;
  954. uint32_t fuf:1;
  955. uint32_t multi_efnfr:1;
  956. uint32_t efnfr:1;
  957. uint32_t multi_ecr:1;
  958. uint32_t ecr:1;
  959. } s;
  960. struct cvmx_pciercx_cfg076_s cn52xx;
  961. struct cvmx_pciercx_cfg076_s cn52xxp1;
  962. struct cvmx_pciercx_cfg076_s cn56xx;
  963. struct cvmx_pciercx_cfg076_s cn56xxp1;
  964. };
  965. union cvmx_pciercx_cfg077 {
  966. uint32_t u32;
  967. struct cvmx_pciercx_cfg077_s {
  968. uint32_t efnfsi:16;
  969. uint32_t ecsi:16;
  970. } s;
  971. struct cvmx_pciercx_cfg077_s cn52xx;
  972. struct cvmx_pciercx_cfg077_s cn52xxp1;
  973. struct cvmx_pciercx_cfg077_s cn56xx;
  974. struct cvmx_pciercx_cfg077_s cn56xxp1;
  975. };
  976. union cvmx_pciercx_cfg448 {
  977. uint32_t u32;
  978. struct cvmx_pciercx_cfg448_s {
  979. uint32_t rtl:16;
  980. uint32_t rtltl:16;
  981. } s;
  982. struct cvmx_pciercx_cfg448_s cn52xx;
  983. struct cvmx_pciercx_cfg448_s cn52xxp1;
  984. struct cvmx_pciercx_cfg448_s cn56xx;
  985. struct cvmx_pciercx_cfg448_s cn56xxp1;
  986. };
  987. union cvmx_pciercx_cfg449 {
  988. uint32_t u32;
  989. struct cvmx_pciercx_cfg449_s {
  990. uint32_t omr:32;
  991. } s;
  992. struct cvmx_pciercx_cfg449_s cn52xx;
  993. struct cvmx_pciercx_cfg449_s cn52xxp1;
  994. struct cvmx_pciercx_cfg449_s cn56xx;
  995. struct cvmx_pciercx_cfg449_s cn56xxp1;
  996. };
  997. union cvmx_pciercx_cfg450 {
  998. uint32_t u32;
  999. struct cvmx_pciercx_cfg450_s {
  1000. uint32_t lpec:8;
  1001. uint32_t reserved_22_23:2;
  1002. uint32_t link_state:6;
  1003. uint32_t force_link:1;
  1004. uint32_t reserved_8_14:7;
  1005. uint32_t link_num:8;
  1006. } s;
  1007. struct cvmx_pciercx_cfg450_s cn52xx;
  1008. struct cvmx_pciercx_cfg450_s cn52xxp1;
  1009. struct cvmx_pciercx_cfg450_s cn56xx;
  1010. struct cvmx_pciercx_cfg450_s cn56xxp1;
  1011. };
  1012. union cvmx_pciercx_cfg451 {
  1013. uint32_t u32;
  1014. struct cvmx_pciercx_cfg451_s {
  1015. uint32_t reserved_30_31:2;
  1016. uint32_t l1el:3;
  1017. uint32_t l0el:3;
  1018. uint32_t n_fts_cc:8;
  1019. uint32_t n_fts:8;
  1020. uint32_t ack_freq:8;
  1021. } s;
  1022. struct cvmx_pciercx_cfg451_s cn52xx;
  1023. struct cvmx_pciercx_cfg451_s cn52xxp1;
  1024. struct cvmx_pciercx_cfg451_s cn56xx;
  1025. struct cvmx_pciercx_cfg451_s cn56xxp1;
  1026. };
  1027. union cvmx_pciercx_cfg452 {
  1028. uint32_t u32;
  1029. struct cvmx_pciercx_cfg452_s {
  1030. uint32_t reserved_26_31:6;
  1031. uint32_t eccrc:1;
  1032. uint32_t reserved_22_24:3;
  1033. uint32_t lme:6;
  1034. uint32_t reserved_8_15:8;
  1035. uint32_t flm:1;
  1036. uint32_t reserved_6_6:1;
  1037. uint32_t dllle:1;
  1038. uint32_t reserved_4_4:1;
  1039. uint32_t ra:1;
  1040. uint32_t le:1;
  1041. uint32_t sd:1;
  1042. uint32_t omr:1;
  1043. } s;
  1044. struct cvmx_pciercx_cfg452_s cn52xx;
  1045. struct cvmx_pciercx_cfg452_s cn52xxp1;
  1046. struct cvmx_pciercx_cfg452_s cn56xx;
  1047. struct cvmx_pciercx_cfg452_s cn56xxp1;
  1048. };
  1049. union cvmx_pciercx_cfg453 {
  1050. uint32_t u32;
  1051. struct cvmx_pciercx_cfg453_s {
  1052. uint32_t dlld:1;
  1053. uint32_t reserved_26_30:5;
  1054. uint32_t ack_nak:1;
  1055. uint32_t fcd:1;
  1056. uint32_t ilst:24;
  1057. } s;
  1058. struct cvmx_pciercx_cfg453_s cn52xx;
  1059. struct cvmx_pciercx_cfg453_s cn52xxp1;
  1060. struct cvmx_pciercx_cfg453_s cn56xx;
  1061. struct cvmx_pciercx_cfg453_s cn56xxp1;
  1062. };
  1063. union cvmx_pciercx_cfg454 {
  1064. uint32_t u32;
  1065. struct cvmx_pciercx_cfg454_s {
  1066. uint32_t reserved_29_31:3;
  1067. uint32_t tmfcwt:5;
  1068. uint32_t tmanlt:5;
  1069. uint32_t tmrt:5;
  1070. uint32_t reserved_11_13:3;
  1071. uint32_t nskps:3;
  1072. uint32_t reserved_4_7:4;
  1073. uint32_t ntss:4;
  1074. } s;
  1075. struct cvmx_pciercx_cfg454_s cn52xx;
  1076. struct cvmx_pciercx_cfg454_s cn52xxp1;
  1077. struct cvmx_pciercx_cfg454_s cn56xx;
  1078. struct cvmx_pciercx_cfg454_s cn56xxp1;
  1079. };
  1080. union cvmx_pciercx_cfg455 {
  1081. uint32_t u32;
  1082. struct cvmx_pciercx_cfg455_s {
  1083. uint32_t m_cfg0_filt:1;
  1084. uint32_t m_io_filt:1;
  1085. uint32_t msg_ctrl:1;
  1086. uint32_t m_cpl_ecrc_filt:1;
  1087. uint32_t m_ecrc_filt:1;
  1088. uint32_t m_cpl_len_err:1;
  1089. uint32_t m_cpl_attr_err:1;
  1090. uint32_t m_cpl_tc_err:1;
  1091. uint32_t m_cpl_fun_err:1;
  1092. uint32_t m_cpl_rid_err:1;
  1093. uint32_t m_cpl_tag_err:1;
  1094. uint32_t m_lk_filt:1;
  1095. uint32_t m_cfg1_filt:1;
  1096. uint32_t m_bar_match:1;
  1097. uint32_t m_pois_filt:1;
  1098. uint32_t m_fun:1;
  1099. uint32_t dfcwt:1;
  1100. uint32_t reserved_11_14:4;
  1101. uint32_t skpiv:11;
  1102. } s;
  1103. struct cvmx_pciercx_cfg455_s cn52xx;
  1104. struct cvmx_pciercx_cfg455_s cn52xxp1;
  1105. struct cvmx_pciercx_cfg455_s cn56xx;
  1106. struct cvmx_pciercx_cfg455_s cn56xxp1;
  1107. };
  1108. union cvmx_pciercx_cfg456 {
  1109. uint32_t u32;
  1110. struct cvmx_pciercx_cfg456_s {
  1111. uint32_t reserved_2_31:30;
  1112. uint32_t m_vend1_drp:1;
  1113. uint32_t m_vend0_drp:1;
  1114. } s;
  1115. struct cvmx_pciercx_cfg456_s cn52xx;
  1116. struct cvmx_pciercx_cfg456_s cn52xxp1;
  1117. struct cvmx_pciercx_cfg456_s cn56xx;
  1118. struct cvmx_pciercx_cfg456_s cn56xxp1;
  1119. };
  1120. union cvmx_pciercx_cfg458 {
  1121. uint32_t u32;
  1122. struct cvmx_pciercx_cfg458_s {
  1123. uint32_t dbg_info_l32:32;
  1124. } s;
  1125. struct cvmx_pciercx_cfg458_s cn52xx;
  1126. struct cvmx_pciercx_cfg458_s cn52xxp1;
  1127. struct cvmx_pciercx_cfg458_s cn56xx;
  1128. struct cvmx_pciercx_cfg458_s cn56xxp1;
  1129. };
  1130. union cvmx_pciercx_cfg459 {
  1131. uint32_t u32;
  1132. struct cvmx_pciercx_cfg459_s {
  1133. uint32_t dbg_info_u32:32;
  1134. } s;
  1135. struct cvmx_pciercx_cfg459_s cn52xx;
  1136. struct cvmx_pciercx_cfg459_s cn52xxp1;
  1137. struct cvmx_pciercx_cfg459_s cn56xx;
  1138. struct cvmx_pciercx_cfg459_s cn56xxp1;
  1139. };
  1140. union cvmx_pciercx_cfg460 {
  1141. uint32_t u32;
  1142. struct cvmx_pciercx_cfg460_s {
  1143. uint32_t reserved_20_31:12;
  1144. uint32_t tphfcc:8;
  1145. uint32_t tpdfcc:12;
  1146. } s;
  1147. struct cvmx_pciercx_cfg460_s cn52xx;
  1148. struct cvmx_pciercx_cfg460_s cn52xxp1;
  1149. struct cvmx_pciercx_cfg460_s cn56xx;
  1150. struct cvmx_pciercx_cfg460_s cn56xxp1;
  1151. };
  1152. union cvmx_pciercx_cfg461 {
  1153. uint32_t u32;
  1154. struct cvmx_pciercx_cfg461_s {
  1155. uint32_t reserved_20_31:12;
  1156. uint32_t tchfcc:8;
  1157. uint32_t tcdfcc:12;
  1158. } s;
  1159. struct cvmx_pciercx_cfg461_s cn52xx;
  1160. struct cvmx_pciercx_cfg461_s cn52xxp1;
  1161. struct cvmx_pciercx_cfg461_s cn56xx;
  1162. struct cvmx_pciercx_cfg461_s cn56xxp1;
  1163. };
  1164. union cvmx_pciercx_cfg462 {
  1165. uint32_t u32;
  1166. struct cvmx_pciercx_cfg462_s {
  1167. uint32_t reserved_20_31:12;
  1168. uint32_t tchfcc:8;
  1169. uint32_t tcdfcc:12;
  1170. } s;
  1171. struct cvmx_pciercx_cfg462_s cn52xx;
  1172. struct cvmx_pciercx_cfg462_s cn52xxp1;
  1173. struct cvmx_pciercx_cfg462_s cn56xx;
  1174. struct cvmx_pciercx_cfg462_s cn56xxp1;
  1175. };
  1176. union cvmx_pciercx_cfg463 {
  1177. uint32_t u32;
  1178. struct cvmx_pciercx_cfg463_s {
  1179. uint32_t reserved_3_31:29;
  1180. uint32_t rqne:1;
  1181. uint32_t trbne:1;
  1182. uint32_t rtlpfccnr:1;
  1183. } s;
  1184. struct cvmx_pciercx_cfg463_s cn52xx;
  1185. struct cvmx_pciercx_cfg463_s cn52xxp1;
  1186. struct cvmx_pciercx_cfg463_s cn56xx;
  1187. struct cvmx_pciercx_cfg463_s cn56xxp1;
  1188. };
  1189. union cvmx_pciercx_cfg464 {
  1190. uint32_t u32;
  1191. struct cvmx_pciercx_cfg464_s {
  1192. uint32_t wrr_vc3:8;
  1193. uint32_t wrr_vc2:8;
  1194. uint32_t wrr_vc1:8;
  1195. uint32_t wrr_vc0:8;
  1196. } s;
  1197. struct cvmx_pciercx_cfg464_s cn52xx;
  1198. struct cvmx_pciercx_cfg464_s cn52xxp1;
  1199. struct cvmx_pciercx_cfg464_s cn56xx;
  1200. struct cvmx_pciercx_cfg464_s cn56xxp1;
  1201. };
  1202. union cvmx_pciercx_cfg465 {
  1203. uint32_t u32;
  1204. struct cvmx_pciercx_cfg465_s {
  1205. uint32_t wrr_vc7:8;
  1206. uint32_t wrr_vc6:8;
  1207. uint32_t wrr_vc5:8;
  1208. uint32_t wrr_vc4:8;
  1209. } s;
  1210. struct cvmx_pciercx_cfg465_s cn52xx;
  1211. struct cvmx_pciercx_cfg465_s cn52xxp1;
  1212. struct cvmx_pciercx_cfg465_s cn56xx;
  1213. struct cvmx_pciercx_cfg465_s cn56xxp1;
  1214. };
  1215. union cvmx_pciercx_cfg466 {
  1216. uint32_t u32;
  1217. struct cvmx_pciercx_cfg466_s {
  1218. uint32_t rx_queue_order:1;
  1219. uint32_t type_ordering:1;
  1220. uint32_t reserved_24_29:6;
  1221. uint32_t queue_mode:3;
  1222. uint32_t reserved_20_20:1;
  1223. uint32_t header_credits:8;
  1224. uint32_t data_credits:12;
  1225. } s;
  1226. struct cvmx_pciercx_cfg466_s cn52xx;
  1227. struct cvmx_pciercx_cfg466_s cn52xxp1;
  1228. struct cvmx_pciercx_cfg466_s cn56xx;
  1229. struct cvmx_pciercx_cfg466_s cn56xxp1;
  1230. };
  1231. union cvmx_pciercx_cfg467 {
  1232. uint32_t u32;
  1233. struct cvmx_pciercx_cfg467_s {
  1234. uint32_t reserved_24_31:8;
  1235. uint32_t queue_mode:3;
  1236. uint32_t reserved_20_20:1;
  1237. uint32_t header_credits:8;
  1238. uint32_t data_credits:12;
  1239. } s;
  1240. struct cvmx_pciercx_cfg467_s cn52xx;
  1241. struct cvmx_pciercx_cfg467_s cn52xxp1;
  1242. struct cvmx_pciercx_cfg467_s cn56xx;
  1243. struct cvmx_pciercx_cfg467_s cn56xxp1;
  1244. };
  1245. union cvmx_pciercx_cfg468 {
  1246. uint32_t u32;
  1247. struct cvmx_pciercx_cfg468_s {
  1248. uint32_t reserved_24_31:8;
  1249. uint32_t queue_mode:3;
  1250. uint32_t reserved_20_20:1;
  1251. uint32_t header_credits:8;
  1252. uint32_t data_credits:12;
  1253. } s;
  1254. struct cvmx_pciercx_cfg468_s cn52xx;
  1255. struct cvmx_pciercx_cfg468_s cn52xxp1;
  1256. struct cvmx_pciercx_cfg468_s cn56xx;
  1257. struct cvmx_pciercx_cfg468_s cn56xxp1;
  1258. };
  1259. union cvmx_pciercx_cfg490 {
  1260. uint32_t u32;
  1261. struct cvmx_pciercx_cfg490_s {
  1262. uint32_t reserved_26_31:6;
  1263. uint32_t header_depth:10;
  1264. uint32_t reserved_14_15:2;
  1265. uint32_t data_depth:14;
  1266. } s;
  1267. struct cvmx_pciercx_cfg490_s cn52xx;
  1268. struct cvmx_pciercx_cfg490_s cn52xxp1;
  1269. struct cvmx_pciercx_cfg490_s cn56xx;
  1270. struct cvmx_pciercx_cfg490_s cn56xxp1;
  1271. };
  1272. union cvmx_pciercx_cfg491 {
  1273. uint32_t u32;
  1274. struct cvmx_pciercx_cfg491_s {
  1275. uint32_t reserved_26_31:6;
  1276. uint32_t header_depth:10;
  1277. uint32_t reserved_14_15:2;
  1278. uint32_t data_depth:14;
  1279. } s;
  1280. struct cvmx_pciercx_cfg491_s cn52xx;
  1281. struct cvmx_pciercx_cfg491_s cn52xxp1;
  1282. struct cvmx_pciercx_cfg491_s cn56xx;
  1283. struct cvmx_pciercx_cfg491_s cn56xxp1;
  1284. };
  1285. union cvmx_pciercx_cfg492 {
  1286. uint32_t u32;
  1287. struct cvmx_pciercx_cfg492_s {
  1288. uint32_t reserved_26_31:6;
  1289. uint32_t header_depth:10;
  1290. uint32_t reserved_14_15:2;
  1291. uint32_t data_depth:14;
  1292. } s;
  1293. struct cvmx_pciercx_cfg492_s cn52xx;
  1294. struct cvmx_pciercx_cfg492_s cn52xxp1;
  1295. struct cvmx_pciercx_cfg492_s cn56xx;
  1296. struct cvmx_pciercx_cfg492_s cn56xxp1;
  1297. };
  1298. union cvmx_pciercx_cfg516 {
  1299. uint32_t u32;
  1300. struct cvmx_pciercx_cfg516_s {
  1301. uint32_t phy_stat:32;
  1302. } s;
  1303. struct cvmx_pciercx_cfg516_s cn52xx;
  1304. struct cvmx_pciercx_cfg516_s cn52xxp1;
  1305. struct cvmx_pciercx_cfg516_s cn56xx;
  1306. struct cvmx_pciercx_cfg516_s cn56xxp1;
  1307. };
  1308. union cvmx_pciercx_cfg517 {
  1309. uint32_t u32;
  1310. struct cvmx_pciercx_cfg517_s {
  1311. uint32_t phy_ctrl:32;
  1312. } s;
  1313. struct cvmx_pciercx_cfg517_s cn52xx;
  1314. struct cvmx_pciercx_cfg517_s cn52xxp1;
  1315. struct cvmx_pciercx_cfg517_s cn56xx;
  1316. struct cvmx_pciercx_cfg517_s cn56xxp1;
  1317. };
  1318. #endif