pinmux_defs.h 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  1. #ifndef __pinmux_defs_h
  2. #define __pinmux_defs_h
  3. /*
  4. * This file is autogenerated from
  5. * file: ../../inst/pinmux/rtl/guinness/pinmux_regs.r
  6. * id: pinmux_regs.r,v 1.40 2005/02/09 16:22:59 perz Exp
  7. * last modfied: Mon Apr 11 16:09:11 2005
  8. *
  9. * by /n/asic/design/tools/rdesc/src/rdes2c --outfile pinmux_defs.h ../../inst/pinmux/rtl/guinness/pinmux_regs.r
  10. * id: $Id: pinmux_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 pinmux */
  73. /* Register rw_pa, scope pinmux, type rw */
  74. typedef struct {
  75. unsigned int pa0 : 1;
  76. unsigned int pa1 : 1;
  77. unsigned int pa2 : 1;
  78. unsigned int pa3 : 1;
  79. unsigned int pa4 : 1;
  80. unsigned int pa5 : 1;
  81. unsigned int pa6 : 1;
  82. unsigned int pa7 : 1;
  83. unsigned int csp2_n : 1;
  84. unsigned int csp3_n : 1;
  85. unsigned int csp5_n : 1;
  86. unsigned int csp6_n : 1;
  87. unsigned int hsh4 : 1;
  88. unsigned int hsh5 : 1;
  89. unsigned int hsh6 : 1;
  90. unsigned int hsh7 : 1;
  91. unsigned int dummy1 : 16;
  92. } reg_pinmux_rw_pa;
  93. #define REG_RD_ADDR_pinmux_rw_pa 0
  94. #define REG_WR_ADDR_pinmux_rw_pa 0
  95. /* Register rw_hwprot, scope pinmux, type rw */
  96. typedef struct {
  97. unsigned int ser1 : 1;
  98. unsigned int ser2 : 1;
  99. unsigned int ser3 : 1;
  100. unsigned int sser0 : 1;
  101. unsigned int sser1 : 1;
  102. unsigned int ata0 : 1;
  103. unsigned int ata1 : 1;
  104. unsigned int ata2 : 1;
  105. unsigned int ata3 : 1;
  106. unsigned int ata : 1;
  107. unsigned int eth1 : 1;
  108. unsigned int eth1_mgm : 1;
  109. unsigned int timer : 1;
  110. unsigned int p21 : 1;
  111. unsigned int dummy1 : 18;
  112. } reg_pinmux_rw_hwprot;
  113. #define REG_RD_ADDR_pinmux_rw_hwprot 4
  114. #define REG_WR_ADDR_pinmux_rw_hwprot 4
  115. /* Register rw_pb_gio, scope pinmux, type rw */
  116. typedef struct {
  117. unsigned int pb0 : 1;
  118. unsigned int pb1 : 1;
  119. unsigned int pb2 : 1;
  120. unsigned int pb3 : 1;
  121. unsigned int pb4 : 1;
  122. unsigned int pb5 : 1;
  123. unsigned int pb6 : 1;
  124. unsigned int pb7 : 1;
  125. unsigned int pb8 : 1;
  126. unsigned int pb9 : 1;
  127. unsigned int pb10 : 1;
  128. unsigned int pb11 : 1;
  129. unsigned int pb12 : 1;
  130. unsigned int pb13 : 1;
  131. unsigned int pb14 : 1;
  132. unsigned int pb15 : 1;
  133. unsigned int pb16 : 1;
  134. unsigned int pb17 : 1;
  135. unsigned int dummy1 : 14;
  136. } reg_pinmux_rw_pb_gio;
  137. #define REG_RD_ADDR_pinmux_rw_pb_gio 8
  138. #define REG_WR_ADDR_pinmux_rw_pb_gio 8
  139. /* Register rw_pb_iop, scope pinmux, type rw */
  140. typedef struct {
  141. unsigned int pb0 : 1;
  142. unsigned int pb1 : 1;
  143. unsigned int pb2 : 1;
  144. unsigned int pb3 : 1;
  145. unsigned int pb4 : 1;
  146. unsigned int pb5 : 1;
  147. unsigned int pb6 : 1;
  148. unsigned int pb7 : 1;
  149. unsigned int pb8 : 1;
  150. unsigned int pb9 : 1;
  151. unsigned int pb10 : 1;
  152. unsigned int pb11 : 1;
  153. unsigned int pb12 : 1;
  154. unsigned int pb13 : 1;
  155. unsigned int pb14 : 1;
  156. unsigned int pb15 : 1;
  157. unsigned int pb16 : 1;
  158. unsigned int pb17 : 1;
  159. unsigned int dummy1 : 14;
  160. } reg_pinmux_rw_pb_iop;
  161. #define REG_RD_ADDR_pinmux_rw_pb_iop 12
  162. #define REG_WR_ADDR_pinmux_rw_pb_iop 12
  163. /* Register rw_pc_gio, scope pinmux, type rw */
  164. typedef struct {
  165. unsigned int pc0 : 1;
  166. unsigned int pc1 : 1;
  167. unsigned int pc2 : 1;
  168. unsigned int pc3 : 1;
  169. unsigned int pc4 : 1;
  170. unsigned int pc5 : 1;
  171. unsigned int pc6 : 1;
  172. unsigned int pc7 : 1;
  173. unsigned int pc8 : 1;
  174. unsigned int pc9 : 1;
  175. unsigned int pc10 : 1;
  176. unsigned int pc11 : 1;
  177. unsigned int pc12 : 1;
  178. unsigned int pc13 : 1;
  179. unsigned int pc14 : 1;
  180. unsigned int pc15 : 1;
  181. unsigned int pc16 : 1;
  182. unsigned int pc17 : 1;
  183. unsigned int dummy1 : 14;
  184. } reg_pinmux_rw_pc_gio;
  185. #define REG_RD_ADDR_pinmux_rw_pc_gio 16
  186. #define REG_WR_ADDR_pinmux_rw_pc_gio 16
  187. /* Register rw_pc_iop, scope pinmux, type rw */
  188. typedef struct {
  189. unsigned int pc0 : 1;
  190. unsigned int pc1 : 1;
  191. unsigned int pc2 : 1;
  192. unsigned int pc3 : 1;
  193. unsigned int pc4 : 1;
  194. unsigned int pc5 : 1;
  195. unsigned int pc6 : 1;
  196. unsigned int pc7 : 1;
  197. unsigned int pc8 : 1;
  198. unsigned int pc9 : 1;
  199. unsigned int pc10 : 1;
  200. unsigned int pc11 : 1;
  201. unsigned int pc12 : 1;
  202. unsigned int pc13 : 1;
  203. unsigned int pc14 : 1;
  204. unsigned int pc15 : 1;
  205. unsigned int pc16 : 1;
  206. unsigned int pc17 : 1;
  207. unsigned int dummy1 : 14;
  208. } reg_pinmux_rw_pc_iop;
  209. #define REG_RD_ADDR_pinmux_rw_pc_iop 20
  210. #define REG_WR_ADDR_pinmux_rw_pc_iop 20
  211. /* Register rw_pd_gio, scope pinmux, type rw */
  212. typedef struct {
  213. unsigned int pd0 : 1;
  214. unsigned int pd1 : 1;
  215. unsigned int pd2 : 1;
  216. unsigned int pd3 : 1;
  217. unsigned int pd4 : 1;
  218. unsigned int pd5 : 1;
  219. unsigned int pd6 : 1;
  220. unsigned int pd7 : 1;
  221. unsigned int pd8 : 1;
  222. unsigned int pd9 : 1;
  223. unsigned int pd10 : 1;
  224. unsigned int pd11 : 1;
  225. unsigned int pd12 : 1;
  226. unsigned int pd13 : 1;
  227. unsigned int pd14 : 1;
  228. unsigned int pd15 : 1;
  229. unsigned int pd16 : 1;
  230. unsigned int pd17 : 1;
  231. unsigned int dummy1 : 14;
  232. } reg_pinmux_rw_pd_gio;
  233. #define REG_RD_ADDR_pinmux_rw_pd_gio 24
  234. #define REG_WR_ADDR_pinmux_rw_pd_gio 24
  235. /* Register rw_pd_iop, scope pinmux, type rw */
  236. typedef struct {
  237. unsigned int pd0 : 1;
  238. unsigned int pd1 : 1;
  239. unsigned int pd2 : 1;
  240. unsigned int pd3 : 1;
  241. unsigned int pd4 : 1;
  242. unsigned int pd5 : 1;
  243. unsigned int pd6 : 1;
  244. unsigned int pd7 : 1;
  245. unsigned int pd8 : 1;
  246. unsigned int pd9 : 1;
  247. unsigned int pd10 : 1;
  248. unsigned int pd11 : 1;
  249. unsigned int pd12 : 1;
  250. unsigned int pd13 : 1;
  251. unsigned int pd14 : 1;
  252. unsigned int pd15 : 1;
  253. unsigned int pd16 : 1;
  254. unsigned int pd17 : 1;
  255. unsigned int dummy1 : 14;
  256. } reg_pinmux_rw_pd_iop;
  257. #define REG_RD_ADDR_pinmux_rw_pd_iop 28
  258. #define REG_WR_ADDR_pinmux_rw_pd_iop 28
  259. /* Register rw_pe_gio, scope pinmux, type rw */
  260. typedef struct {
  261. unsigned int pe0 : 1;
  262. unsigned int pe1 : 1;
  263. unsigned int pe2 : 1;
  264. unsigned int pe3 : 1;
  265. unsigned int pe4 : 1;
  266. unsigned int pe5 : 1;
  267. unsigned int pe6 : 1;
  268. unsigned int pe7 : 1;
  269. unsigned int pe8 : 1;
  270. unsigned int pe9 : 1;
  271. unsigned int pe10 : 1;
  272. unsigned int pe11 : 1;
  273. unsigned int pe12 : 1;
  274. unsigned int pe13 : 1;
  275. unsigned int pe14 : 1;
  276. unsigned int pe15 : 1;
  277. unsigned int pe16 : 1;
  278. unsigned int pe17 : 1;
  279. unsigned int dummy1 : 14;
  280. } reg_pinmux_rw_pe_gio;
  281. #define REG_RD_ADDR_pinmux_rw_pe_gio 32
  282. #define REG_WR_ADDR_pinmux_rw_pe_gio 32
  283. /* Register rw_pe_iop, scope pinmux, type rw */
  284. typedef struct {
  285. unsigned int pe0 : 1;
  286. unsigned int pe1 : 1;
  287. unsigned int pe2 : 1;
  288. unsigned int pe3 : 1;
  289. unsigned int pe4 : 1;
  290. unsigned int pe5 : 1;
  291. unsigned int pe6 : 1;
  292. unsigned int pe7 : 1;
  293. unsigned int pe8 : 1;
  294. unsigned int pe9 : 1;
  295. unsigned int pe10 : 1;
  296. unsigned int pe11 : 1;
  297. unsigned int pe12 : 1;
  298. unsigned int pe13 : 1;
  299. unsigned int pe14 : 1;
  300. unsigned int pe15 : 1;
  301. unsigned int pe16 : 1;
  302. unsigned int pe17 : 1;
  303. unsigned int dummy1 : 14;
  304. } reg_pinmux_rw_pe_iop;
  305. #define REG_RD_ADDR_pinmux_rw_pe_iop 36
  306. #define REG_WR_ADDR_pinmux_rw_pe_iop 36
  307. /* Register rw_usb_phy, scope pinmux, type rw */
  308. typedef struct {
  309. unsigned int en_usb0 : 1;
  310. unsigned int en_usb1 : 1;
  311. unsigned int dummy1 : 30;
  312. } reg_pinmux_rw_usb_phy;
  313. #define REG_RD_ADDR_pinmux_rw_usb_phy 40
  314. #define REG_WR_ADDR_pinmux_rw_usb_phy 40
  315. /* Constants */
  316. enum {
  317. regk_pinmux_no = 0x00000000,
  318. regk_pinmux_rw_hwprot_default = 0x00000000,
  319. regk_pinmux_rw_pa_default = 0x00000000,
  320. regk_pinmux_rw_pb_gio_default = 0x00000000,
  321. regk_pinmux_rw_pb_iop_default = 0x00000000,
  322. regk_pinmux_rw_pc_gio_default = 0x00000000,
  323. regk_pinmux_rw_pc_iop_default = 0x00000000,
  324. regk_pinmux_rw_pd_gio_default = 0x00000000,
  325. regk_pinmux_rw_pd_iop_default = 0x00000000,
  326. regk_pinmux_rw_pe_gio_default = 0x00000000,
  327. regk_pinmux_rw_pe_iop_default = 0x00000000,
  328. regk_pinmux_rw_usb_phy_default = 0x00000000,
  329. regk_pinmux_yes = 0x00000001
  330. };
  331. #endif /* __pinmux_defs_h */