marb_defs.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. #ifndef __marb_defs_h
  2. #define __marb_defs_h
  3. /*
  4. * This file is autogenerated from
  5. * file: ../../inst/memarb/rtl/guinness/marb_top.r
  6. * id: <not found>
  7. * last modfied: Mon Apr 11 16:12:16 2005
  8. *
  9. * by /n/asic/design/tools/rdesc/src/rdes2c --outfile marb_defs.h ../../inst/memarb/rtl/guinness/marb_top.r
  10. * id: $Id: marb_defs.h,v 1.1 2007/02/13 11:55:30 starvik Exp $
  11. * Any changes here will be lost.
  12. *
  13. * -*- buffer-read-only: t -*-
  14. */
  15. /* Main access macros */
  16. #ifndef REG_RD
  17. #define REG_RD( scope, inst, reg ) \
  18. REG_READ( reg_##scope##_##reg, \
  19. (inst) + REG_RD_ADDR_##scope##_##reg )
  20. #endif
  21. #ifndef REG_WR
  22. #define REG_WR( scope, inst, reg, val ) \
  23. REG_WRITE( reg_##scope##_##reg, \
  24. (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
  25. #endif
  26. #ifndef REG_RD_VECT
  27. #define REG_RD_VECT( scope, inst, reg, index ) \
  28. REG_READ( reg_##scope##_##reg, \
  29. (inst) + REG_RD_ADDR_##scope##_##reg + \
  30. (index) * STRIDE_##scope##_##reg )
  31. #endif
  32. #ifndef REG_WR_VECT
  33. #define REG_WR_VECT( scope, inst, reg, index, val ) \
  34. REG_WRITE( reg_##scope##_##reg, \
  35. (inst) + REG_WR_ADDR_##scope##_##reg + \
  36. (index) * STRIDE_##scope##_##reg, (val) )
  37. #endif
  38. #ifndef REG_RD_INT
  39. #define REG_RD_INT( scope, inst, reg ) \
  40. REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
  41. #endif
  42. #ifndef REG_WR_INT
  43. #define REG_WR_INT( scope, inst, reg, val ) \
  44. REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
  45. #endif
  46. #ifndef REG_RD_INT_VECT
  47. #define REG_RD_INT_VECT( scope, inst, reg, index ) \
  48. REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
  49. (index) * STRIDE_##scope##_##reg )
  50. #endif
  51. #ifndef REG_WR_INT_VECT
  52. #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
  53. REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
  54. (index) * STRIDE_##scope##_##reg, (val) )
  55. #endif
  56. #ifndef REG_TYPE_CONV
  57. #define REG_TYPE_CONV( type, orgtype, val ) \
  58. ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
  59. #endif
  60. #ifndef reg_page_size
  61. #define reg_page_size 8192
  62. #endif
  63. #ifndef REG_ADDR
  64. #define REG_ADDR( scope, inst, reg ) \
  65. ( (inst) + REG_RD_ADDR_##scope##_##reg )
  66. #endif
  67. #ifndef REG_ADDR_VECT
  68. #define REG_ADDR_VECT( scope, inst, reg, index ) \
  69. ( (inst) + REG_RD_ADDR_##scope##_##reg + \
  70. (index) * STRIDE_##scope##_##reg )
  71. #endif
  72. /* C-code for register scope marb */
  73. #define STRIDE_marb_rw_int_slots 4
  74. /* Register rw_int_slots, scope marb, type rw */
  75. typedef struct {
  76. unsigned int owner : 4;
  77. unsigned int dummy1 : 28;
  78. } reg_marb_rw_int_slots;
  79. #define REG_RD_ADDR_marb_rw_int_slots 0
  80. #define REG_WR_ADDR_marb_rw_int_slots 0
  81. #define STRIDE_marb_rw_ext_slots 4
  82. /* Register rw_ext_slots, scope marb, type rw */
  83. typedef struct {
  84. unsigned int owner : 4;
  85. unsigned int dummy1 : 28;
  86. } reg_marb_rw_ext_slots;
  87. #define REG_RD_ADDR_marb_rw_ext_slots 256
  88. #define REG_WR_ADDR_marb_rw_ext_slots 256
  89. #define STRIDE_marb_rw_regs_slots 4
  90. /* Register rw_regs_slots, scope marb, type rw */
  91. typedef struct {
  92. unsigned int owner : 4;
  93. unsigned int dummy1 : 28;
  94. } reg_marb_rw_regs_slots;
  95. #define REG_RD_ADDR_marb_rw_regs_slots 512
  96. #define REG_WR_ADDR_marb_rw_regs_slots 512
  97. /* Register rw_intr_mask, scope marb, type rw */
  98. typedef struct {
  99. unsigned int bp0 : 1;
  100. unsigned int bp1 : 1;
  101. unsigned int bp2 : 1;
  102. unsigned int bp3 : 1;
  103. unsigned int dummy1 : 28;
  104. } reg_marb_rw_intr_mask;
  105. #define REG_RD_ADDR_marb_rw_intr_mask 528
  106. #define REG_WR_ADDR_marb_rw_intr_mask 528
  107. /* Register rw_ack_intr, scope marb, type rw */
  108. typedef struct {
  109. unsigned int bp0 : 1;
  110. unsigned int bp1 : 1;
  111. unsigned int bp2 : 1;
  112. unsigned int bp3 : 1;
  113. unsigned int dummy1 : 28;
  114. } reg_marb_rw_ack_intr;
  115. #define REG_RD_ADDR_marb_rw_ack_intr 532
  116. #define REG_WR_ADDR_marb_rw_ack_intr 532
  117. /* Register r_intr, scope marb, type r */
  118. typedef struct {
  119. unsigned int bp0 : 1;
  120. unsigned int bp1 : 1;
  121. unsigned int bp2 : 1;
  122. unsigned int bp3 : 1;
  123. unsigned int dummy1 : 28;
  124. } reg_marb_r_intr;
  125. #define REG_RD_ADDR_marb_r_intr 536
  126. /* Register r_masked_intr, scope marb, type r */
  127. typedef struct {
  128. unsigned int bp0 : 1;
  129. unsigned int bp1 : 1;
  130. unsigned int bp2 : 1;
  131. unsigned int bp3 : 1;
  132. unsigned int dummy1 : 28;
  133. } reg_marb_r_masked_intr;
  134. #define REG_RD_ADDR_marb_r_masked_intr 540
  135. /* Register rw_stop_mask, scope marb, type rw */
  136. typedef struct {
  137. unsigned int dma0 : 1;
  138. unsigned int dma1 : 1;
  139. unsigned int dma2 : 1;
  140. unsigned int dma3 : 1;
  141. unsigned int dma4 : 1;
  142. unsigned int dma5 : 1;
  143. unsigned int dma6 : 1;
  144. unsigned int dma7 : 1;
  145. unsigned int dma8 : 1;
  146. unsigned int dma9 : 1;
  147. unsigned int cpui : 1;
  148. unsigned int cpud : 1;
  149. unsigned int iop : 1;
  150. unsigned int slave : 1;
  151. unsigned int dummy1 : 18;
  152. } reg_marb_rw_stop_mask;
  153. #define REG_RD_ADDR_marb_rw_stop_mask 544
  154. #define REG_WR_ADDR_marb_rw_stop_mask 544
  155. /* Register r_stopped, scope marb, type r */
  156. typedef struct {
  157. unsigned int dma0 : 1;
  158. unsigned int dma1 : 1;
  159. unsigned int dma2 : 1;
  160. unsigned int dma3 : 1;
  161. unsigned int dma4 : 1;
  162. unsigned int dma5 : 1;
  163. unsigned int dma6 : 1;
  164. unsigned int dma7 : 1;
  165. unsigned int dma8 : 1;
  166. unsigned int dma9 : 1;
  167. unsigned int cpui : 1;
  168. unsigned int cpud : 1;
  169. unsigned int iop : 1;
  170. unsigned int slave : 1;
  171. unsigned int dummy1 : 18;
  172. } reg_marb_r_stopped;
  173. #define REG_RD_ADDR_marb_r_stopped 548
  174. /* Register rw_no_snoop, scope marb, type rw */
  175. typedef struct {
  176. unsigned int dma0 : 1;
  177. unsigned int dma1 : 1;
  178. unsigned int dma2 : 1;
  179. unsigned int dma3 : 1;
  180. unsigned int dma4 : 1;
  181. unsigned int dma5 : 1;
  182. unsigned int dma6 : 1;
  183. unsigned int dma7 : 1;
  184. unsigned int dma8 : 1;
  185. unsigned int dma9 : 1;
  186. unsigned int cpui : 1;
  187. unsigned int cpud : 1;
  188. unsigned int iop : 1;
  189. unsigned int slave : 1;
  190. unsigned int dummy1 : 18;
  191. } reg_marb_rw_no_snoop;
  192. #define REG_RD_ADDR_marb_rw_no_snoop 832
  193. #define REG_WR_ADDR_marb_rw_no_snoop 832
  194. /* Register rw_no_snoop_rq, scope marb, type rw */
  195. typedef struct {
  196. unsigned int dummy1 : 10;
  197. unsigned int cpui : 1;
  198. unsigned int cpud : 1;
  199. unsigned int dummy2 : 20;
  200. } reg_marb_rw_no_snoop_rq;
  201. #define REG_RD_ADDR_marb_rw_no_snoop_rq 836
  202. #define REG_WR_ADDR_marb_rw_no_snoop_rq 836
  203. /* Constants */
  204. enum {
  205. regk_marb_cpud = 0x0000000b,
  206. regk_marb_cpui = 0x0000000a,
  207. regk_marb_dma0 = 0x00000000,
  208. regk_marb_dma1 = 0x00000001,
  209. regk_marb_dma2 = 0x00000002,
  210. regk_marb_dma3 = 0x00000003,
  211. regk_marb_dma4 = 0x00000004,
  212. regk_marb_dma5 = 0x00000005,
  213. regk_marb_dma6 = 0x00000006,
  214. regk_marb_dma7 = 0x00000007,
  215. regk_marb_dma8 = 0x00000008,
  216. regk_marb_dma9 = 0x00000009,
  217. regk_marb_iop = 0x0000000c,
  218. regk_marb_no = 0x00000000,
  219. regk_marb_r_stopped_default = 0x00000000,
  220. regk_marb_rw_ext_slots_default = 0x00000000,
  221. regk_marb_rw_ext_slots_size = 0x00000040,
  222. regk_marb_rw_int_slots_default = 0x00000000,
  223. regk_marb_rw_int_slots_size = 0x00000040,
  224. regk_marb_rw_intr_mask_default = 0x00000000,
  225. regk_marb_rw_no_snoop_default = 0x00000000,
  226. regk_marb_rw_no_snoop_rq_default = 0x00000000,
  227. regk_marb_rw_regs_slots_default = 0x00000000,
  228. regk_marb_rw_regs_slots_size = 0x00000004,
  229. regk_marb_rw_stop_mask_default = 0x00000000,
  230. regk_marb_slave = 0x0000000d,
  231. regk_marb_yes = 0x00000001
  232. };
  233. #endif /* __marb_defs_h */
  234. #ifndef __marb_bp_defs_h
  235. #define __marb_bp_defs_h
  236. /*
  237. * This file is autogenerated from
  238. * file: ../../inst/memarb/rtl/guinness/marb_top.r
  239. * id: <not found>
  240. * last modfied: Mon Apr 11 16:12:16 2005
  241. *
  242. * by /n/asic/design/tools/rdesc/src/rdes2c --outfile marb_defs.h ../../inst/memarb/rtl/guinness/marb_top.r
  243. * id: $Id: marb_defs.h,v 1.1 2007/02/13 11:55:30 starvik Exp $
  244. * Any changes here will be lost.
  245. *
  246. * -*- buffer-read-only: t -*-
  247. */
  248. /* Main access macros */
  249. #ifndef REG_RD
  250. #define REG_RD( scope, inst, reg ) \
  251. REG_READ( reg_##scope##_##reg, \
  252. (inst) + REG_RD_ADDR_##scope##_##reg )
  253. #endif
  254. #ifndef REG_WR
  255. #define REG_WR( scope, inst, reg, val ) \
  256. REG_WRITE( reg_##scope##_##reg, \
  257. (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
  258. #endif
  259. #ifndef REG_RD_VECT
  260. #define REG_RD_VECT( scope, inst, reg, index ) \
  261. REG_READ( reg_##scope##_##reg, \
  262. (inst) + REG_RD_ADDR_##scope##_##reg + \
  263. (index) * STRIDE_##scope##_##reg )
  264. #endif
  265. #ifndef REG_WR_VECT
  266. #define REG_WR_VECT( scope, inst, reg, index, val ) \
  267. REG_WRITE( reg_##scope##_##reg, \
  268. (inst) + REG_WR_ADDR_##scope##_##reg + \
  269. (index) * STRIDE_##scope##_##reg, (val) )
  270. #endif
  271. #ifndef REG_RD_INT
  272. #define REG_RD_INT( scope, inst, reg ) \
  273. REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
  274. #endif
  275. #ifndef REG_WR_INT
  276. #define REG_WR_INT( scope, inst, reg, val ) \
  277. REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
  278. #endif
  279. #ifndef REG_RD_INT_VECT
  280. #define REG_RD_INT_VECT( scope, inst, reg, index ) \
  281. REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
  282. (index) * STRIDE_##scope##_##reg )
  283. #endif
  284. #ifndef REG_WR_INT_VECT
  285. #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
  286. REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
  287. (index) * STRIDE_##scope##_##reg, (val) )
  288. #endif
  289. #ifndef REG_TYPE_CONV
  290. #define REG_TYPE_CONV( type, orgtype, val ) \
  291. ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
  292. #endif
  293. #ifndef reg_page_size
  294. #define reg_page_size 8192
  295. #endif
  296. #ifndef REG_ADDR
  297. #define REG_ADDR( scope, inst, reg ) \
  298. ( (inst) + REG_RD_ADDR_##scope##_##reg )
  299. #endif
  300. #ifndef REG_ADDR_VECT
  301. #define REG_ADDR_VECT( scope, inst, reg, index ) \
  302. ( (inst) + REG_RD_ADDR_##scope##_##reg + \
  303. (index) * STRIDE_##scope##_##reg )
  304. #endif
  305. /* C-code for register scope marb_bp */
  306. /* Register rw_first_addr, scope marb_bp, type rw */
  307. typedef unsigned int reg_marb_bp_rw_first_addr;
  308. #define REG_RD_ADDR_marb_bp_rw_first_addr 0
  309. #define REG_WR_ADDR_marb_bp_rw_first_addr 0
  310. /* Register rw_last_addr, scope marb_bp, type rw */
  311. typedef unsigned int reg_marb_bp_rw_last_addr;
  312. #define REG_RD_ADDR_marb_bp_rw_last_addr 4
  313. #define REG_WR_ADDR_marb_bp_rw_last_addr 4
  314. /* Register rw_op, scope marb_bp, type rw */
  315. typedef struct {
  316. unsigned int rd : 1;
  317. unsigned int wr : 1;
  318. unsigned int rd_excl : 1;
  319. unsigned int pri_wr : 1;
  320. unsigned int us_rd : 1;
  321. unsigned int us_wr : 1;
  322. unsigned int us_rd_excl : 1;
  323. unsigned int us_pri_wr : 1;
  324. unsigned int dummy1 : 24;
  325. } reg_marb_bp_rw_op;
  326. #define REG_RD_ADDR_marb_bp_rw_op 8
  327. #define REG_WR_ADDR_marb_bp_rw_op 8
  328. /* Register rw_clients, scope marb_bp, type rw */
  329. typedef struct {
  330. unsigned int dma0 : 1;
  331. unsigned int dma1 : 1;
  332. unsigned int dma2 : 1;
  333. unsigned int dma3 : 1;
  334. unsigned int dma4 : 1;
  335. unsigned int dma5 : 1;
  336. unsigned int dma6 : 1;
  337. unsigned int dma7 : 1;
  338. unsigned int dma8 : 1;
  339. unsigned int dma9 : 1;
  340. unsigned int cpui : 1;
  341. unsigned int cpud : 1;
  342. unsigned int iop : 1;
  343. unsigned int slave : 1;
  344. unsigned int dummy1 : 18;
  345. } reg_marb_bp_rw_clients;
  346. #define REG_RD_ADDR_marb_bp_rw_clients 12
  347. #define REG_WR_ADDR_marb_bp_rw_clients 12
  348. /* Register rw_options, scope marb_bp, type rw */
  349. typedef struct {
  350. unsigned int wrap : 1;
  351. unsigned int dummy1 : 31;
  352. } reg_marb_bp_rw_options;
  353. #define REG_RD_ADDR_marb_bp_rw_options 16
  354. #define REG_WR_ADDR_marb_bp_rw_options 16
  355. /* Register r_brk_addr, scope marb_bp, type r */
  356. typedef unsigned int reg_marb_bp_r_brk_addr;
  357. #define REG_RD_ADDR_marb_bp_r_brk_addr 20
  358. /* Register r_brk_op, scope marb_bp, type r */
  359. typedef struct {
  360. unsigned int rd : 1;
  361. unsigned int wr : 1;
  362. unsigned int rd_excl : 1;
  363. unsigned int pri_wr : 1;
  364. unsigned int us_rd : 1;
  365. unsigned int us_wr : 1;
  366. unsigned int us_rd_excl : 1;
  367. unsigned int us_pri_wr : 1;
  368. unsigned int dummy1 : 24;
  369. } reg_marb_bp_r_brk_op;
  370. #define REG_RD_ADDR_marb_bp_r_brk_op 24
  371. /* Register r_brk_clients, scope marb_bp, type r */
  372. typedef struct {
  373. unsigned int dma0 : 1;
  374. unsigned int dma1 : 1;
  375. unsigned int dma2 : 1;
  376. unsigned int dma3 : 1;
  377. unsigned int dma4 : 1;
  378. unsigned int dma5 : 1;
  379. unsigned int dma6 : 1;
  380. unsigned int dma7 : 1;
  381. unsigned int dma8 : 1;
  382. unsigned int dma9 : 1;
  383. unsigned int cpui : 1;
  384. unsigned int cpud : 1;
  385. unsigned int iop : 1;
  386. unsigned int slave : 1;
  387. unsigned int dummy1 : 18;
  388. } reg_marb_bp_r_brk_clients;
  389. #define REG_RD_ADDR_marb_bp_r_brk_clients 28
  390. /* Register r_brk_first_client, scope marb_bp, type r */
  391. typedef struct {
  392. unsigned int dma0 : 1;
  393. unsigned int dma1 : 1;
  394. unsigned int dma2 : 1;
  395. unsigned int dma3 : 1;
  396. unsigned int dma4 : 1;
  397. unsigned int dma5 : 1;
  398. unsigned int dma6 : 1;
  399. unsigned int dma7 : 1;
  400. unsigned int dma8 : 1;
  401. unsigned int dma9 : 1;
  402. unsigned int cpui : 1;
  403. unsigned int cpud : 1;
  404. unsigned int iop : 1;
  405. unsigned int slave : 1;
  406. unsigned int dummy1 : 18;
  407. } reg_marb_bp_r_brk_first_client;
  408. #define REG_RD_ADDR_marb_bp_r_brk_first_client 32
  409. /* Register r_brk_size, scope marb_bp, type r */
  410. typedef unsigned int reg_marb_bp_r_brk_size;
  411. #define REG_RD_ADDR_marb_bp_r_brk_size 36
  412. /* Register rw_ack, scope marb_bp, type rw */
  413. typedef unsigned int reg_marb_bp_rw_ack;
  414. #define REG_RD_ADDR_marb_bp_rw_ack 40
  415. #define REG_WR_ADDR_marb_bp_rw_ack 40
  416. /* Constants */
  417. enum {
  418. regk_marb_bp_no = 0x00000000,
  419. regk_marb_bp_rw_op_default = 0x00000000,
  420. regk_marb_bp_rw_options_default = 0x00000000,
  421. regk_marb_bp_yes = 0x00000001
  422. };
  423. #endif /* __marb_bp_defs_h */