regsapbh.h 68 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963
  1. /*
  2. * Copyright (C) 2011-2012, Freescale Semiconductor, Inc. All Rights Reserved
  3. * THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
  4. * BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
  5. * Freescale Semiconductor, Inc.
  6. */
  7. #ifndef _APBH_H
  8. #define _APBH_H 1
  9. #include "regs.h"
  10. //#include "registers.h"
  11. #ifndef REGS_APBH_BASE
  12. #define REGS_APBH_BASE (REGS_BASE + 0x110000)
  13. #endif
  14. /*
  15. * HW_APBH_CTRL0 - AHB to APBH Bridge Control and Status Register 0
  16. */
  17. #ifndef __LANGUAGE_ASM__
  18. typedef union {
  19. reg32_t U;
  20. struct {
  21. unsigned CLKGATE_CHANNEL:16;
  22. unsigned RSVD0:12;
  23. unsigned APB_BURST_EN:1;
  24. unsigned AHB_BURST8_EN:1;
  25. unsigned CLKGATE:1;
  26. unsigned SFTRST:1;
  27. } B;
  28. } hw_apbh_ctrl0_t;
  29. #endif
  30. /*
  31. * constants & macros for entire HW_APBH_CTRL0 register
  32. */
  33. #define HW_APBH_CTRL0_ADDR (0x00110000)
  34. #define HW_APBH_CTRL0_SET_ADDR (0x00110004)
  35. #define HW_APBH_CTRL0_CLR_ADDR (0x00110008)
  36. #define HW_APBH_CTRL0_TOG_ADDR (0x0011000c)
  37. #ifndef __LANGUAGE_ASM__
  38. #ifndef ROCOO_TEST
  39. #define HW_APBH_CTRL0 (*(volatile hw_apbh_ctrl0_t *) HW_APBH_CTRL0_ADDR)
  40. #define HW_APBH_CTRL0_RD() (HW_APBH_CTRL0.U)
  41. #define HW_APBH_CTRL0_WR(v) (HW_APBH_CTRL0.U = (v))
  42. #define HW_APBH_CTRL0_SET(v) ((*(volatile reg32_t *) HW_APBH_CTRL0_SET_ADDR) = (v))
  43. #define HW_APBH_CTRL0_CLR(v) ((*(volatile reg32_t *) HW_APBH_CTRL0_CLR_ADDR) = (v))
  44. #define HW_APBH_CTRL0_TOG(v) ((*(volatile reg32_t *) HW_APBH_CTRL0_TOG_ADDR) = (v))
  45. #else
  46. #define HW_APBH_CTRL0_RD() (_rbase->mem32_read(HW_APBH_CTRL0_ADDR))
  47. #define HW_APBH_CTRL0_WR(v) (_rbase->mem32_write(HW_APBH_CTRL0_ADDR,(v)))
  48. #define HW_APBH_CTRL0_SET(v) (_rbase->mem32_write(HW_APBH_CTRL0_SET_ADDR,(v)))
  49. #define HW_APBH_CTRL0_CLR(v) (_rbase->mem32_write(HW_APBH_CTRL0_CLR_ADDR,(v)))
  50. #define HW_APBH_CTRL0_TOG(v) (_rbase->mem32_write(HW_APBH_CTRL0_TOG_ADDR,(v)))
  51. #endif
  52. #endif
  53. /*
  54. * constants & macros for individual HW_APBH_CTRL0 bitfields
  55. */
  56. /* --- Register HW_APBH_CTRL0, field SFTRST */
  57. #define BP_APBH_CTRL0_SFTRST 31
  58. #define BM_APBH_CTRL0_SFTRST 0x80000000
  59. #ifndef __LANGUAGE_ASM__
  60. #define BF_APBH_CTRL0_SFTRST(v) ((((reg32_t) v) << 31) & BM_APBH_CTRL0_SFTRST)
  61. #else
  62. #define BF_APBH_CTRL0_SFTRST(v) (((v) << 31) & BM_APBH_CTRL0_SFTRST)
  63. #endif
  64. #ifndef __LANGUAGE_ASM__
  65. #define BW_APBH_CTRL0_SFTRST(v) BF_CS1(APBH_CTRL0, SFTRST, v)
  66. #endif
  67. /* --- Register HW_APBH_CTRL0, field CLKGATE */
  68. #define BP_APBH_CTRL0_CLKGATE 30
  69. #define BM_APBH_CTRL0_CLKGATE 0x40000000
  70. #define BF_APBH_CTRL0_CLKGATE(v) (((v) << 30) & BM_APBH_CTRL0_CLKGATE)
  71. #ifndef __LANGUAGE_ASM__
  72. #define BW_APBH_CTRL0_CLKGATE(v) BF_CS1(APBH_CTRL0, CLKGATE, v)
  73. #endif
  74. /* --- Register HW_APBH_CTRL0, field AHB_BURST8_EN */
  75. #define BP_APBH_CTRL0_AHB_BURST8_EN 29
  76. #define BM_APBH_CTRL0_AHB_BURST8_EN 0x20000000
  77. #define BF_APBH_CTRL0_AHB_BURST8_EN(v) (((v) << 29) & BM_APBH_CTRL0_AHB_BURST8_EN)
  78. #ifndef __LANGUAGE_ASM__
  79. #define BW_APBH_CTRL0_AHB_BURST8_EN(v) BF_CS1(APBH_CTRL0, AHB_BURST8_EN, v)
  80. #endif
  81. /* --- Register HW_APBH_CTRL0, field APB_BURST_EN */
  82. #define BP_APBH_CTRL0_APB_BURST_EN 28
  83. #define BM_APBH_CTRL0_APB_BURST_EN 0x10000000
  84. #define BF_APBH_CTRL0_APB_BURST_EN(v) (((v) << 28) & BM_APBH_CTRL0_APB_BURST_EN)
  85. #ifndef __LANGUAGE_ASM__
  86. #define BW_APBH_CTRL0_APB_BURST_EN(v) BF_CS1(APBH_CTRL0, APB_BURST_EN, v)
  87. #endif
  88. /* --- Register HW_APBH_CTRL0, field RSVD0 */
  89. #define BP_APBH_CTRL0_RSVD0 16
  90. #define BM_APBH_CTRL0_RSVD0 0x0FFF0000
  91. #define BF_APBH_CTRL0_RSVD0(v) (((v) << 16) & BM_APBH_CTRL0_RSVD0)
  92. /* --- Register HW_APBH_CTRL0, field CLKGATE_CHANNEL */
  93. #define BP_APBH_CTRL0_CLKGATE_CHANNEL 0
  94. #define BM_APBH_CTRL0_CLKGATE_CHANNEL 0x0000FFFF
  95. #define BF_APBH_CTRL0_CLKGATE_CHANNEL(v) (((v) << 0) & BM_APBH_CTRL0_CLKGATE_CHANNEL)
  96. #ifndef __LANGUAGE_ASM__
  97. #define BW_APBH_CTRL0_CLKGATE_CHANNEL(v) (HW_APBH_CTRL0.B.CLKGATE_CHANNEL = (v))
  98. #endif
  99. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__NAND0 0x0001
  100. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__NAND1 0x0002
  101. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__NAND2 0x0004
  102. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__NAND3 0x0008
  103. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__NAND4 0x0010
  104. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__NAND5 0x0020
  105. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__NAND6 0x0040
  106. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__NAND7 0x0080
  107. #define BV_APBH_CTRL0_CLKGATE_CHANNEL__SSP 0x0100
  108. #define NAND_CHANNEL 0
  109. /*
  110. * HW_APBH_CTRL1 - AHB to APBH Bridge Control and Status Register 1
  111. */
  112. #ifndef __LANGUAGE_ASM__
  113. typedef union {
  114. reg32_t U;
  115. struct {
  116. unsigned CH0_CMDCMPLT_IRQ:1;
  117. unsigned CH1_CMDCMPLT_IRQ:1;
  118. unsigned CH2_CMDCMPLT_IRQ:1;
  119. unsigned CH3_CMDCMPLT_IRQ:1;
  120. unsigned CH4_CMDCMPLT_IRQ:1;
  121. unsigned CH5_CMDCMPLT_IRQ:1;
  122. unsigned CH6_CMDCMPLT_IRQ:1;
  123. unsigned CH7_CMDCMPLT_IRQ:1;
  124. unsigned CH8_CMDCMPLT_IRQ:1;
  125. unsigned CH9_CMDCMPLT_IRQ:1;
  126. unsigned CH10_CMDCMPLT_IRQ:1;
  127. unsigned CH11_CMDCMPLT_IRQ:1;
  128. unsigned CH12_CMDCMPLT_IRQ:1;
  129. unsigned CH13_CMDCMPLT_IRQ:1;
  130. unsigned CH14_CMDCMPLT_IRQ:1;
  131. unsigned CH15_CMDCMPLT_IRQ:1;
  132. unsigned CH0_CMDCMPLT_IRQ_EN:1;
  133. unsigned CH1_CMDCMPLT_IRQ_EN:1;
  134. unsigned CH2_CMDCMPLT_IRQ_EN:1;
  135. unsigned CH3_CMDCMPLT_IRQ_EN:1;
  136. unsigned CH4_CMDCMPLT_IRQ_EN:1;
  137. unsigned CH5_CMDCMPLT_IRQ_EN:1;
  138. unsigned CH6_CMDCMPLT_IRQ_EN:1;
  139. unsigned CH7_CMDCMPLT_IRQ_EN:1;
  140. unsigned CH8_CMDCMPLT_IRQ_EN:1;
  141. unsigned CH9_CMDCMPLT_IRQ_EN:1;
  142. unsigned CH10_CMDCMPLT_IRQ_EN:1;
  143. unsigned CH11_CMDCMPLT_IRQ_EN:1;
  144. unsigned CH12_CMDCMPLT_IRQ_EN:1;
  145. unsigned CH13_CMDCMPLT_IRQ_EN:1;
  146. unsigned CH14_CMDCMPLT_IRQ_EN:1;
  147. unsigned CH15_CMDCMPLT_IRQ_EN:1;
  148. } B;
  149. } hw_apbh_ctrl1_t;
  150. #endif
  151. /*
  152. * constants & macros for entire HW_APBH_CTRL1 register
  153. */
  154. #define HW_APBH_CTRL1_ADDR (0x00110010)
  155. #define HW_APBH_CTRL1_SET_ADDR (0x00110014)
  156. #define HW_APBH_CTRL1_CLR_ADDR (0x00110018)
  157. #define HW_APBH_CTRL1_TOG_ADDR (0x0011001c)
  158. #ifndef __LANGUAGE_ASM__
  159. #ifndef ROCOO_TEST
  160. #define HW_APBH_CTRL1 (*(volatile hw_apbh_ctrl1_t *) HW_APBH_CTRL1_ADDR)
  161. #define HW_APBH_CTRL1_RD() (HW_APBH_CTRL1.U)
  162. #define HW_APBH_CTRL1_WR(v) (HW_APBH_CTRL1.U = (v))
  163. #define HW_APBH_CTRL1_SET(v) ((*(volatile reg32_t *) HW_APBH_CTRL1_SET_ADDR) = (v))
  164. #define HW_APBH_CTRL1_CLR(v) ((*(volatile reg32_t *) HW_APBH_CTRL1_CLR_ADDR) = (v))
  165. #define HW_APBH_CTRL1_TOG(v) ((*(volatile reg32_t *) HW_APBH_CTRL1_TOG_ADDR) = (v))
  166. #else
  167. #define HW_APBH_CTRL1_RD() (_rbase->mem32_read(HW_APBH_CTRL1_ADDR))
  168. #define HW_APBH_CTRL1_WR(v) (_rbase->mem32_write(HW_APBH_CTRL1_ADDR,(v)))
  169. #define HW_APBH_CTRL1_SET(v) (_rbase->mem32_write(HW_APBH_CTRL1_SET_ADDR,(v)))
  170. #define HW_APBH_CTRL1_CLR(v) (_rbase->mem32_write(HW_APBH_CTRL1_CLR_ADDR,(v)))
  171. #define HW_APBH_CTRL1_TOG(v) (_rbase->mem32_write(HW_APBH_CTRL1_TOG_ADDR,(v)))
  172. #endif
  173. #endif
  174. /*
  175. * constants & macros for individual HW_APBH_CTRL1 bitfields
  176. */
  177. /* --- Register HW_APBH_CTRL1, field CH15_CMDCMPLT_IRQ_EN */
  178. #define BP_APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN 31
  179. #define BM_APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN 0x80000000
  180. #ifndef __LANGUAGE_ASM__
  181. #define BF_APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN(v) ((((reg32_t) v) << 31) & BM_APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN)
  182. #else
  183. #define BF_APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN(v) (((v) << 31) & BM_APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN)
  184. #endif
  185. #ifndef __LANGUAGE_ASM__
  186. #define BW_APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH15_CMDCMPLT_IRQ_EN, v)
  187. #endif
  188. /* --- Register HW_APBH_CTRL1, field CH14_CMDCMPLT_IRQ_EN */
  189. #define BP_APBH_CTRL1_CH14_CMDCMPLT_IRQ_EN 30
  190. #define BM_APBH_CTRL1_CH14_CMDCMPLT_IRQ_EN 0x40000000
  191. #define BF_APBH_CTRL1_CH14_CMDCMPLT_IRQ_EN(v) (((v) << 30) & BM_APBH_CTRL1_CH14_CMDCMPLT_IRQ_EN)
  192. #ifndef __LANGUAGE_ASM__
  193. #define BW_APBH_CTRL1_CH14_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH14_CMDCMPLT_IRQ_EN, v)
  194. #endif
  195. /* --- Register HW_APBH_CTRL1, field CH13_CMDCMPLT_IRQ_EN */
  196. #define BP_APBH_CTRL1_CH13_CMDCMPLT_IRQ_EN 29
  197. #define BM_APBH_CTRL1_CH13_CMDCMPLT_IRQ_EN 0x20000000
  198. #define BF_APBH_CTRL1_CH13_CMDCMPLT_IRQ_EN(v) (((v) << 29) & BM_APBH_CTRL1_CH13_CMDCMPLT_IRQ_EN)
  199. #ifndef __LANGUAGE_ASM__
  200. #define BW_APBH_CTRL1_CH13_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH13_CMDCMPLT_IRQ_EN, v)
  201. #endif
  202. /* --- Register HW_APBH_CTRL1, field CH12_CMDCMPLT_IRQ_EN */
  203. #define BP_APBH_CTRL1_CH12_CMDCMPLT_IRQ_EN 28
  204. #define BM_APBH_CTRL1_CH12_CMDCMPLT_IRQ_EN 0x10000000
  205. #define BF_APBH_CTRL1_CH12_CMDCMPLT_IRQ_EN(v) (((v) << 28) & BM_APBH_CTRL1_CH12_CMDCMPLT_IRQ_EN)
  206. #ifndef __LANGUAGE_ASM__
  207. #define BW_APBH_CTRL1_CH12_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH12_CMDCMPLT_IRQ_EN, v)
  208. #endif
  209. /* --- Register HW_APBH_CTRL1, field CH11_CMDCMPLT_IRQ_EN */
  210. #define BP_APBH_CTRL1_CH11_CMDCMPLT_IRQ_EN 27
  211. #define BM_APBH_CTRL1_CH11_CMDCMPLT_IRQ_EN 0x08000000
  212. #define BF_APBH_CTRL1_CH11_CMDCMPLT_IRQ_EN(v) (((v) << 27) & BM_APBH_CTRL1_CH11_CMDCMPLT_IRQ_EN)
  213. #ifndef __LANGUAGE_ASM__
  214. #define BW_APBH_CTRL1_CH11_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH11_CMDCMPLT_IRQ_EN, v)
  215. #endif
  216. /* --- Register HW_APBH_CTRL1, field CH10_CMDCMPLT_IRQ_EN */
  217. #define BP_APBH_CTRL1_CH10_CMDCMPLT_IRQ_EN 26
  218. #define BM_APBH_CTRL1_CH10_CMDCMPLT_IRQ_EN 0x04000000
  219. #define BF_APBH_CTRL1_CH10_CMDCMPLT_IRQ_EN(v) (((v) << 26) & BM_APBH_CTRL1_CH10_CMDCMPLT_IRQ_EN)
  220. #ifndef __LANGUAGE_ASM__
  221. #define BW_APBH_CTRL1_CH10_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH10_CMDCMPLT_IRQ_EN, v)
  222. #endif
  223. /* --- Register HW_APBH_CTRL1, field CH9_CMDCMPLT_IRQ_EN */
  224. #define BP_APBH_CTRL1_CH9_CMDCMPLT_IRQ_EN 25
  225. #define BM_APBH_CTRL1_CH9_CMDCMPLT_IRQ_EN 0x02000000
  226. #define BF_APBH_CTRL1_CH9_CMDCMPLT_IRQ_EN(v) (((v) << 25) & BM_APBH_CTRL1_CH9_CMDCMPLT_IRQ_EN)
  227. #ifndef __LANGUAGE_ASM__
  228. #define BW_APBH_CTRL1_CH9_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH9_CMDCMPLT_IRQ_EN, v)
  229. #endif
  230. /* --- Register HW_APBH_CTRL1, field CH8_CMDCMPLT_IRQ_EN */
  231. #define BP_APBH_CTRL1_CH8_CMDCMPLT_IRQ_EN 24
  232. #define BM_APBH_CTRL1_CH8_CMDCMPLT_IRQ_EN 0x01000000
  233. #define BF_APBH_CTRL1_CH8_CMDCMPLT_IRQ_EN(v) (((v) << 24) & BM_APBH_CTRL1_CH8_CMDCMPLT_IRQ_EN)
  234. #ifndef __LANGUAGE_ASM__
  235. #define BW_APBH_CTRL1_CH8_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH8_CMDCMPLT_IRQ_EN, v)
  236. #endif
  237. /* --- Register HW_APBH_CTRL1, field CH7_CMDCMPLT_IRQ_EN */
  238. #define BP_APBH_CTRL1_CH7_CMDCMPLT_IRQ_EN 23
  239. #define BM_APBH_CTRL1_CH7_CMDCMPLT_IRQ_EN 0x00800000
  240. #define BF_APBH_CTRL1_CH7_CMDCMPLT_IRQ_EN(v) (((v) << 23) & BM_APBH_CTRL1_CH7_CMDCMPLT_IRQ_EN)
  241. #ifndef __LANGUAGE_ASM__
  242. #define BW_APBH_CTRL1_CH7_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH7_CMDCMPLT_IRQ_EN, v)
  243. #endif
  244. /* --- Register HW_APBH_CTRL1, field CH6_CMDCMPLT_IRQ_EN */
  245. #define BP_APBH_CTRL1_CH6_CMDCMPLT_IRQ_EN 22
  246. #define BM_APBH_CTRL1_CH6_CMDCMPLT_IRQ_EN 0x00400000
  247. #define BF_APBH_CTRL1_CH6_CMDCMPLT_IRQ_EN(v) (((v) << 22) & BM_APBH_CTRL1_CH6_CMDCMPLT_IRQ_EN)
  248. #ifndef __LANGUAGE_ASM__
  249. #define BW_APBH_CTRL1_CH6_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH6_CMDCMPLT_IRQ_EN, v)
  250. #endif
  251. /* --- Register HW_APBH_CTRL1, field CH5_CMDCMPLT_IRQ_EN */
  252. #define BP_APBH_CTRL1_CH5_CMDCMPLT_IRQ_EN 21
  253. #define BM_APBH_CTRL1_CH5_CMDCMPLT_IRQ_EN 0x00200000
  254. #define BF_APBH_CTRL1_CH5_CMDCMPLT_IRQ_EN(v) (((v) << 21) & BM_APBH_CTRL1_CH5_CMDCMPLT_IRQ_EN)
  255. #ifndef __LANGUAGE_ASM__
  256. #define BW_APBH_CTRL1_CH5_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH5_CMDCMPLT_IRQ_EN, v)
  257. #endif
  258. /* --- Register HW_APBH_CTRL1, field CH4_CMDCMPLT_IRQ_EN */
  259. #define BP_APBH_CTRL1_CH4_CMDCMPLT_IRQ_EN 20
  260. #define BM_APBH_CTRL1_CH4_CMDCMPLT_IRQ_EN 0x00100000
  261. #define BF_APBH_CTRL1_CH4_CMDCMPLT_IRQ_EN(v) (((v) << 20) & BM_APBH_CTRL1_CH4_CMDCMPLT_IRQ_EN)
  262. #ifndef __LANGUAGE_ASM__
  263. #define BW_APBH_CTRL1_CH4_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH4_CMDCMPLT_IRQ_EN, v)
  264. #endif
  265. /* --- Register HW_APBH_CTRL1, field CH3_CMDCMPLT_IRQ_EN */
  266. #define BP_APBH_CTRL1_CH3_CMDCMPLT_IRQ_EN 19
  267. #define BM_APBH_CTRL1_CH3_CMDCMPLT_IRQ_EN 0x00080000
  268. #define BF_APBH_CTRL1_CH3_CMDCMPLT_IRQ_EN(v) (((v) << 19) & BM_APBH_CTRL1_CH3_CMDCMPLT_IRQ_EN)
  269. #ifndef __LANGUAGE_ASM__
  270. #define BW_APBH_CTRL1_CH3_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH3_CMDCMPLT_IRQ_EN, v)
  271. #endif
  272. /* --- Register HW_APBH_CTRL1, field CH2_CMDCMPLT_IRQ_EN */
  273. #define BP_APBH_CTRL1_CH2_CMDCMPLT_IRQ_EN 18
  274. #define BM_APBH_CTRL1_CH2_CMDCMPLT_IRQ_EN 0x00040000
  275. #define BF_APBH_CTRL1_CH2_CMDCMPLT_IRQ_EN(v) (((v) << 18) & BM_APBH_CTRL1_CH2_CMDCMPLT_IRQ_EN)
  276. #ifndef __LANGUAGE_ASM__
  277. #define BW_APBH_CTRL1_CH2_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH2_CMDCMPLT_IRQ_EN, v)
  278. #endif
  279. /* --- Register HW_APBH_CTRL1, field CH1_CMDCMPLT_IRQ_EN */
  280. #define BP_APBH_CTRL1_CH1_CMDCMPLT_IRQ_EN 17
  281. #define BM_APBH_CTRL1_CH1_CMDCMPLT_IRQ_EN 0x00020000
  282. #define BF_APBH_CTRL1_CH1_CMDCMPLT_IRQ_EN(v) (((v) << 17) & BM_APBH_CTRL1_CH1_CMDCMPLT_IRQ_EN)
  283. #ifndef __LANGUAGE_ASM__
  284. #define BW_APBH_CTRL1_CH1_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH1_CMDCMPLT_IRQ_EN, v)
  285. #endif
  286. /* --- Register HW_APBH_CTRL1, field CH0_CMDCMPLT_IRQ_EN */
  287. #define BP_APBH_CTRL1_CH0_CMDCMPLT_IRQ_EN 16
  288. #define BM_APBH_CTRL1_CH0_CMDCMPLT_IRQ_EN 0x00010000
  289. #define BF_APBH_CTRL1_CH0_CMDCMPLT_IRQ_EN(v) (((v) << 16) & BM_APBH_CTRL1_CH0_CMDCMPLT_IRQ_EN)
  290. #ifndef __LANGUAGE_ASM__
  291. #define BW_APBH_CTRL1_CH0_CMDCMPLT_IRQ_EN(v) BF_CS1(APBH_CTRL1, CH0_CMDCMPLT_IRQ_EN, v)
  292. #endif
  293. /* --- Register HW_APBH_CTRL1, field CH15_CMDCMPLT_IRQ */
  294. #define BP_APBH_CTRL1_CH15_CMDCMPLT_IRQ 15
  295. #define BM_APBH_CTRL1_CH15_CMDCMPLT_IRQ 0x00008000
  296. #define BF_APBH_CTRL1_CH15_CMDCMPLT_IRQ(v) (((v) << 15) & BM_APBH_CTRL1_CH15_CMDCMPLT_IRQ)
  297. #ifndef __LANGUAGE_ASM__
  298. #define BW_APBH_CTRL1_CH15_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH15_CMDCMPLT_IRQ, v)
  299. #endif
  300. /* --- Register HW_APBH_CTRL1, field CH14_CMDCMPLT_IRQ */
  301. #define BP_APBH_CTRL1_CH14_CMDCMPLT_IRQ 14
  302. #define BM_APBH_CTRL1_CH14_CMDCMPLT_IRQ 0x00004000
  303. #define BF_APBH_CTRL1_CH14_CMDCMPLT_IRQ(v) (((v) << 14) & BM_APBH_CTRL1_CH14_CMDCMPLT_IRQ)
  304. #ifndef __LANGUAGE_ASM__
  305. #define BW_APBH_CTRL1_CH14_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH14_CMDCMPLT_IRQ, v)
  306. #endif
  307. /* --- Register HW_APBH_CTRL1, field CH13_CMDCMPLT_IRQ */
  308. #define BP_APBH_CTRL1_CH13_CMDCMPLT_IRQ 13
  309. #define BM_APBH_CTRL1_CH13_CMDCMPLT_IRQ 0x00002000
  310. #define BF_APBH_CTRL1_CH13_CMDCMPLT_IRQ(v) (((v) << 13) & BM_APBH_CTRL1_CH13_CMDCMPLT_IRQ)
  311. #ifndef __LANGUAGE_ASM__
  312. #define BW_APBH_CTRL1_CH13_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH13_CMDCMPLT_IRQ, v)
  313. #endif
  314. /* --- Register HW_APBH_CTRL1, field CH12_CMDCMPLT_IRQ */
  315. #define BP_APBH_CTRL1_CH12_CMDCMPLT_IRQ 12
  316. #define BM_APBH_CTRL1_CH12_CMDCMPLT_IRQ 0x00001000
  317. #define BF_APBH_CTRL1_CH12_CMDCMPLT_IRQ(v) (((v) << 12) & BM_APBH_CTRL1_CH12_CMDCMPLT_IRQ)
  318. #ifndef __LANGUAGE_ASM__
  319. #define BW_APBH_CTRL1_CH12_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH12_CMDCMPLT_IRQ, v)
  320. #endif
  321. /* --- Register HW_APBH_CTRL1, field CH11_CMDCMPLT_IRQ */
  322. #define BP_APBH_CTRL1_CH11_CMDCMPLT_IRQ 11
  323. #define BM_APBH_CTRL1_CH11_CMDCMPLT_IRQ 0x00000800
  324. #define BF_APBH_CTRL1_CH11_CMDCMPLT_IRQ(v) (((v) << 11) & BM_APBH_CTRL1_CH11_CMDCMPLT_IRQ)
  325. #ifndef __LANGUAGE_ASM__
  326. #define BW_APBH_CTRL1_CH11_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH11_CMDCMPLT_IRQ, v)
  327. #endif
  328. /* --- Register HW_APBH_CTRL1, field CH10_CMDCMPLT_IRQ */
  329. #define BP_APBH_CTRL1_CH10_CMDCMPLT_IRQ 10
  330. #define BM_APBH_CTRL1_CH10_CMDCMPLT_IRQ 0x00000400
  331. #define BF_APBH_CTRL1_CH10_CMDCMPLT_IRQ(v) (((v) << 10) & BM_APBH_CTRL1_CH10_CMDCMPLT_IRQ)
  332. #ifndef __LANGUAGE_ASM__
  333. #define BW_APBH_CTRL1_CH10_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH10_CMDCMPLT_IRQ, v)
  334. #endif
  335. /* --- Register HW_APBH_CTRL1, field CH9_CMDCMPLT_IRQ */
  336. #define BP_APBH_CTRL1_CH9_CMDCMPLT_IRQ 9
  337. #define BM_APBH_CTRL1_CH9_CMDCMPLT_IRQ 0x00000200
  338. #define BF_APBH_CTRL1_CH9_CMDCMPLT_IRQ(v) (((v) << 9) & BM_APBH_CTRL1_CH9_CMDCMPLT_IRQ)
  339. #ifndef __LANGUAGE_ASM__
  340. #define BW_APBH_CTRL1_CH9_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH9_CMDCMPLT_IRQ, v)
  341. #endif
  342. /* --- Register HW_APBH_CTRL1, field CH8_CMDCMPLT_IRQ */
  343. #define BP_APBH_CTRL1_CH8_CMDCMPLT_IRQ 8
  344. #define BM_APBH_CTRL1_CH8_CMDCMPLT_IRQ 0x00000100
  345. #define BF_APBH_CTRL1_CH8_CMDCMPLT_IRQ(v) (((v) << 8) & BM_APBH_CTRL1_CH8_CMDCMPLT_IRQ)
  346. #ifndef __LANGUAGE_ASM__
  347. #define BW_APBH_CTRL1_CH8_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH8_CMDCMPLT_IRQ, v)
  348. #endif
  349. /* --- Register HW_APBH_CTRL1, field CH7_CMDCMPLT_IRQ */
  350. #define BP_APBH_CTRL1_CH7_CMDCMPLT_IRQ 7
  351. #define BM_APBH_CTRL1_CH7_CMDCMPLT_IRQ 0x00000080
  352. #define BF_APBH_CTRL1_CH7_CMDCMPLT_IRQ(v) (((v) << 7) & BM_APBH_CTRL1_CH7_CMDCMPLT_IRQ)
  353. #ifndef __LANGUAGE_ASM__
  354. #define BW_APBH_CTRL1_CH7_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH7_CMDCMPLT_IRQ, v)
  355. #endif
  356. /* --- Register HW_APBH_CTRL1, field CH6_CMDCMPLT_IRQ */
  357. #define BP_APBH_CTRL1_CH6_CMDCMPLT_IRQ 6
  358. #define BM_APBH_CTRL1_CH6_CMDCMPLT_IRQ 0x00000040
  359. #define BF_APBH_CTRL1_CH6_CMDCMPLT_IRQ(v) (((v) << 6) & BM_APBH_CTRL1_CH6_CMDCMPLT_IRQ)
  360. #ifndef __LANGUAGE_ASM__
  361. #define BW_APBH_CTRL1_CH6_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH6_CMDCMPLT_IRQ, v)
  362. #endif
  363. /* --- Register HW_APBH_CTRL1, field CH5_CMDCMPLT_IRQ */
  364. #define BP_APBH_CTRL1_CH5_CMDCMPLT_IRQ 5
  365. #define BM_APBH_CTRL1_CH5_CMDCMPLT_IRQ 0x00000020
  366. #define BF_APBH_CTRL1_CH5_CMDCMPLT_IRQ(v) (((v) << 5) & BM_APBH_CTRL1_CH5_CMDCMPLT_IRQ)
  367. #ifndef __LANGUAGE_ASM__
  368. #define BW_APBH_CTRL1_CH5_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH5_CMDCMPLT_IRQ, v)
  369. #endif
  370. /* --- Register HW_APBH_CTRL1, field CH4_CMDCMPLT_IRQ */
  371. #define BP_APBH_CTRL1_CH4_CMDCMPLT_IRQ 4
  372. #define BM_APBH_CTRL1_CH4_CMDCMPLT_IRQ 0x00000010
  373. #define BF_APBH_CTRL1_CH4_CMDCMPLT_IRQ(v) (((v) << 4) & BM_APBH_CTRL1_CH4_CMDCMPLT_IRQ)
  374. #ifndef __LANGUAGE_ASM__
  375. #define BW_APBH_CTRL1_CH4_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH4_CMDCMPLT_IRQ, v)
  376. #endif
  377. /* --- Register HW_APBH_CTRL1, field CH3_CMDCMPLT_IRQ */
  378. #define BP_APBH_CTRL1_CH3_CMDCMPLT_IRQ 3
  379. #define BM_APBH_CTRL1_CH3_CMDCMPLT_IRQ 0x00000008
  380. #define BF_APBH_CTRL1_CH3_CMDCMPLT_IRQ(v) (((v) << 3) & BM_APBH_CTRL1_CH3_CMDCMPLT_IRQ)
  381. #ifndef __LANGUAGE_ASM__
  382. #define BW_APBH_CTRL1_CH3_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH3_CMDCMPLT_IRQ, v)
  383. #endif
  384. /* --- Register HW_APBH_CTRL1, field CH2_CMDCMPLT_IRQ */
  385. #define BP_APBH_CTRL1_CH2_CMDCMPLT_IRQ 2
  386. #define BM_APBH_CTRL1_CH2_CMDCMPLT_IRQ 0x00000004
  387. #define BF_APBH_CTRL1_CH2_CMDCMPLT_IRQ(v) (((v) << 2) & BM_APBH_CTRL1_CH2_CMDCMPLT_IRQ)
  388. #ifndef __LANGUAGE_ASM__
  389. #define BW_APBH_CTRL1_CH2_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH2_CMDCMPLT_IRQ, v)
  390. #endif
  391. /* --- Register HW_APBH_CTRL1, field CH1_CMDCMPLT_IRQ */
  392. #define BP_APBH_CTRL1_CH1_CMDCMPLT_IRQ 1
  393. #define BM_APBH_CTRL1_CH1_CMDCMPLT_IRQ 0x00000002
  394. #define BF_APBH_CTRL1_CH1_CMDCMPLT_IRQ(v) (((v) << 1) & BM_APBH_CTRL1_CH1_CMDCMPLT_IRQ)
  395. #ifndef __LANGUAGE_ASM__
  396. #define BW_APBH_CTRL1_CH1_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH1_CMDCMPLT_IRQ, v)
  397. #endif
  398. /* --- Register HW_APBH_CTRL1, field CH0_CMDCMPLT_IRQ */
  399. #define BP_APBH_CTRL1_CH0_CMDCMPLT_IRQ 0
  400. #define BM_APBH_CTRL1_CH0_CMDCMPLT_IRQ 0x00000001
  401. #define BF_APBH_CTRL1_CH0_CMDCMPLT_IRQ(v) (((v) << 0) & BM_APBH_CTRL1_CH0_CMDCMPLT_IRQ)
  402. #ifndef __LANGUAGE_ASM__
  403. #define BW_APBH_CTRL1_CH0_CMDCMPLT_IRQ(v) BF_CS1(APBH_CTRL1, CH0_CMDCMPLT_IRQ, v)
  404. #endif
  405. /*
  406. * HW_APBH_CTRL2 - AHB to APBH Bridge Control and Status Register 2
  407. */
  408. #ifndef __LANGUAGE_ASM__
  409. typedef union {
  410. reg32_t U;
  411. struct {
  412. unsigned CH0_ERROR_IRQ:1;
  413. unsigned CH1_ERROR_IRQ:1;
  414. unsigned CH2_ERROR_IRQ:1;
  415. unsigned CH3_ERROR_IRQ:1;
  416. unsigned CH4_ERROR_IRQ:1;
  417. unsigned CH5_ERROR_IRQ:1;
  418. unsigned CH6_ERROR_IRQ:1;
  419. unsigned CH7_ERROR_IRQ:1;
  420. unsigned CH8_ERROR_IRQ:1;
  421. unsigned CH9_ERROR_IRQ:1;
  422. unsigned CH10_ERROR_IRQ:1;
  423. unsigned CH11_ERROR_IRQ:1;
  424. unsigned CH12_ERROR_IRQ:1;
  425. unsigned CH13_ERROR_IRQ:1;
  426. unsigned CH14_ERROR_IRQ:1;
  427. unsigned CH15_ERROR_IRQ:1;
  428. unsigned CH0_ERROR_STATUS:1;
  429. unsigned CH1_ERROR_STATUS:1;
  430. unsigned CH2_ERROR_STATUS:1;
  431. unsigned CH3_ERROR_STATUS:1;
  432. unsigned CH4_ERROR_STATUS:1;
  433. unsigned CH5_ERROR_STATUS:1;
  434. unsigned CH6_ERROR_STATUS:1;
  435. unsigned CH7_ERROR_STATUS:1;
  436. unsigned CH8_ERROR_STATUS:1;
  437. unsigned CH9_ERROR_STATUS:1;
  438. unsigned CH10_ERROR_STATUS:1;
  439. unsigned CH11_ERROR_STATUS:1;
  440. unsigned CH12_ERROR_STATUS:1;
  441. unsigned CH13_ERROR_STATUS:1;
  442. unsigned CH14_ERROR_STATUS:1;
  443. unsigned CH15_ERROR_STATUS:1;
  444. } B;
  445. } hw_apbh_ctrl2_t;
  446. #endif
  447. /*
  448. * constants & macros for entire HW_APBH_CTRL2 register
  449. */
  450. #define HW_APBH_CTRL2_ADDR (0x00110020)
  451. #define HW_APBH_CTRL2_SET_ADDR (0x00110024)
  452. #define HW_APBH_CTRL2_CLR_ADDR (0x00110028)
  453. #define HW_APBH_CTRL2_TOG_ADDR (0x0011002c)
  454. #ifndef __LANGUAGE_ASM__
  455. #ifndef ROCOO_TEST
  456. #define HW_APBH_CTRL2 (*(volatile hw_apbh_ctrl2_t *) HW_APBH_CTRL2_ADDR)
  457. #define HW_APBH_CTRL2_RD() (HW_APBH_CTRL2.U)
  458. #define HW_APBH_CTRL2_WR(v) (HW_APBH_CTRL2.U = (v))
  459. #define HW_APBH_CTRL2_SET(v) ((*(volatile reg32_t *) HW_APBH_CTRL2_SET_ADDR) = (v))
  460. #define HW_APBH_CTRL2_CLR(v) ((*(volatile reg32_t *) HW_APBH_CTRL2_CLR_ADDR) = (v))
  461. #define HW_APBH_CTRL2_TOG(v) ((*(volatile reg32_t *) HW_APBH_CTRL2_TOG_ADDR) = (v))
  462. #else
  463. #define HW_APBH_CTRL2_RD() (_rbase->mem32_read(HW_APBH_CTRL2_ADDR))
  464. #define HW_APBH_CTRL2_WR(v) (_rbase->mem32_write(HW_APBH_CTRL2_ADDR,(v)))
  465. #define HW_APBH_CTRL2_SET(v) (_rbase->mem32_write(HW_APBH_CTRL2_SET_ADDR,(v)))
  466. #define HW_APBH_CTRL2_CLR(v) (_rbase->mem32_write(HW_APBH_CTRL2_CLR_ADDR,(v)))
  467. #define HW_APBH_CTRL2_TOG(v) (_rbase->mem32_write(HW_APBH_CTRL2_TOG_ADDR,(v)))
  468. #endif
  469. #endif
  470. /*
  471. * constants & macros for individual HW_APBH_CTRL2 bitfields
  472. */
  473. /* --- Register HW_APBH_CTRL2, field CH15_ERROR_STATUS */
  474. #define BP_APBH_CTRL2_CH15_ERROR_STATUS 31
  475. #define BM_APBH_CTRL2_CH15_ERROR_STATUS 0x80000000
  476. #ifndef __LANGUAGE_ASM__
  477. #define BF_APBH_CTRL2_CH15_ERROR_STATUS(v) ((((reg32_t) v) << 31) & BM_APBH_CTRL2_CH15_ERROR_STATUS)
  478. #else
  479. #define BF_APBH_CTRL2_CH15_ERROR_STATUS(v) (((v) << 31) & BM_APBH_CTRL2_CH15_ERROR_STATUS)
  480. #endif
  481. #define BV_APBH_CTRL2_CH15_ERROR_STATUS__TERMINATION 0x0
  482. #define BV_APBH_CTRL2_CH15_ERROR_STATUS__BUS_ERROR 0x1
  483. /* --- Register HW_APBH_CTRL2, field CH14_ERROR_STATUS */
  484. #define BP_APBH_CTRL2_CH14_ERROR_STATUS 30
  485. #define BM_APBH_CTRL2_CH14_ERROR_STATUS 0x40000000
  486. #define BF_APBH_CTRL2_CH14_ERROR_STATUS(v) (((v) << 30) & BM_APBH_CTRL2_CH14_ERROR_STATUS)
  487. #define BV_APBH_CTRL2_CH14_ERROR_STATUS__TERMINATION 0x0
  488. #define BV_APBH_CTRL2_CH14_ERROR_STATUS__BUS_ERROR 0x1
  489. /* --- Register HW_APBH_CTRL2, field CH13_ERROR_STATUS */
  490. #define BP_APBH_CTRL2_CH13_ERROR_STATUS 29
  491. #define BM_APBH_CTRL2_CH13_ERROR_STATUS 0x20000000
  492. #define BF_APBH_CTRL2_CH13_ERROR_STATUS(v) (((v) << 29) & BM_APBH_CTRL2_CH13_ERROR_STATUS)
  493. #define BV_APBH_CTRL2_CH13_ERROR_STATUS__TERMINATION 0x0
  494. #define BV_APBH_CTRL2_CH13_ERROR_STATUS__BUS_ERROR 0x1
  495. /* --- Register HW_APBH_CTRL2, field CH12_ERROR_STATUS */
  496. #define BP_APBH_CTRL2_CH12_ERROR_STATUS 28
  497. #define BM_APBH_CTRL2_CH12_ERROR_STATUS 0x10000000
  498. #define BF_APBH_CTRL2_CH12_ERROR_STATUS(v) (((v) << 28) & BM_APBH_CTRL2_CH12_ERROR_STATUS)
  499. #define BV_APBH_CTRL2_CH12_ERROR_STATUS__TERMINATION 0x0
  500. #define BV_APBH_CTRL2_CH12_ERROR_STATUS__BUS_ERROR 0x1
  501. /* --- Register HW_APBH_CTRL2, field CH11_ERROR_STATUS */
  502. #define BP_APBH_CTRL2_CH11_ERROR_STATUS 27
  503. #define BM_APBH_CTRL2_CH11_ERROR_STATUS 0x08000000
  504. #define BF_APBH_CTRL2_CH11_ERROR_STATUS(v) (((v) << 27) & BM_APBH_CTRL2_CH11_ERROR_STATUS)
  505. #define BV_APBH_CTRL2_CH11_ERROR_STATUS__TERMINATION 0x0
  506. #define BV_APBH_CTRL2_CH11_ERROR_STATUS__BUS_ERROR 0x1
  507. /* --- Register HW_APBH_CTRL2, field CH10_ERROR_STATUS */
  508. #define BP_APBH_CTRL2_CH10_ERROR_STATUS 26
  509. #define BM_APBH_CTRL2_CH10_ERROR_STATUS 0x04000000
  510. #define BF_APBH_CTRL2_CH10_ERROR_STATUS(v) (((v) << 26) & BM_APBH_CTRL2_CH10_ERROR_STATUS)
  511. #define BV_APBH_CTRL2_CH10_ERROR_STATUS__TERMINATION 0x0
  512. #define BV_APBH_CTRL2_CH10_ERROR_STATUS__BUS_ERROR 0x1
  513. /* --- Register HW_APBH_CTRL2, field CH9_ERROR_STATUS */
  514. #define BP_APBH_CTRL2_CH9_ERROR_STATUS 25
  515. #define BM_APBH_CTRL2_CH9_ERROR_STATUS 0x02000000
  516. #define BF_APBH_CTRL2_CH9_ERROR_STATUS(v) (((v) << 25) & BM_APBH_CTRL2_CH9_ERROR_STATUS)
  517. #define BV_APBH_CTRL2_CH9_ERROR_STATUS__TERMINATION 0x0
  518. #define BV_APBH_CTRL2_CH9_ERROR_STATUS__BUS_ERROR 0x1
  519. /* --- Register HW_APBH_CTRL2, field CH8_ERROR_STATUS */
  520. #define BP_APBH_CTRL2_CH8_ERROR_STATUS 24
  521. #define BM_APBH_CTRL2_CH8_ERROR_STATUS 0x01000000
  522. #define BF_APBH_CTRL2_CH8_ERROR_STATUS(v) (((v) << 24) & BM_APBH_CTRL2_CH8_ERROR_STATUS)
  523. #define BV_APBH_CTRL2_CH8_ERROR_STATUS__TERMINATION 0x0
  524. #define BV_APBH_CTRL2_CH8_ERROR_STATUS__BUS_ERROR 0x1
  525. /* --- Register HW_APBH_CTRL2, field CH7_ERROR_STATUS */
  526. #define BP_APBH_CTRL2_CH7_ERROR_STATUS 23
  527. #define BM_APBH_CTRL2_CH7_ERROR_STATUS 0x00800000
  528. #define BF_APBH_CTRL2_CH7_ERROR_STATUS(v) (((v) << 23) & BM_APBH_CTRL2_CH7_ERROR_STATUS)
  529. #define BV_APBH_CTRL2_CH7_ERROR_STATUS__TERMINATION 0x0
  530. #define BV_APBH_CTRL2_CH7_ERROR_STATUS__BUS_ERROR 0x1
  531. /* --- Register HW_APBH_CTRL2, field CH6_ERROR_STATUS */
  532. #define BP_APBH_CTRL2_CH6_ERROR_STATUS 22
  533. #define BM_APBH_CTRL2_CH6_ERROR_STATUS 0x00400000
  534. #define BF_APBH_CTRL2_CH6_ERROR_STATUS(v) (((v) << 22) & BM_APBH_CTRL2_CH6_ERROR_STATUS)
  535. #define BV_APBH_CTRL2_CH6_ERROR_STATUS__TERMINATION 0x0
  536. #define BV_APBH_CTRL2_CH6_ERROR_STATUS__BUS_ERROR 0x1
  537. /* --- Register HW_APBH_CTRL2, field CH5_ERROR_STATUS */
  538. #define BP_APBH_CTRL2_CH5_ERROR_STATUS 21
  539. #define BM_APBH_CTRL2_CH5_ERROR_STATUS 0x00200000
  540. #define BF_APBH_CTRL2_CH5_ERROR_STATUS(v) (((v) << 21) & BM_APBH_CTRL2_CH5_ERROR_STATUS)
  541. #define BV_APBH_CTRL2_CH5_ERROR_STATUS__TERMINATION 0x0
  542. #define BV_APBH_CTRL2_CH5_ERROR_STATUS__BUS_ERROR 0x1
  543. /* --- Register HW_APBH_CTRL2, field CH4_ERROR_STATUS */
  544. #define BP_APBH_CTRL2_CH4_ERROR_STATUS 20
  545. #define BM_APBH_CTRL2_CH4_ERROR_STATUS 0x00100000
  546. #define BF_APBH_CTRL2_CH4_ERROR_STATUS(v) (((v) << 20) & BM_APBH_CTRL2_CH4_ERROR_STATUS)
  547. #define BV_APBH_CTRL2_CH4_ERROR_STATUS__TERMINATION 0x0
  548. #define BV_APBH_CTRL2_CH4_ERROR_STATUS__BUS_ERROR 0x1
  549. /* --- Register HW_APBH_CTRL2, field CH3_ERROR_STATUS */
  550. #define BP_APBH_CTRL2_CH3_ERROR_STATUS 19
  551. #define BM_APBH_CTRL2_CH3_ERROR_STATUS 0x00080000
  552. #define BF_APBH_CTRL2_CH3_ERROR_STATUS(v) (((v) << 19) & BM_APBH_CTRL2_CH3_ERROR_STATUS)
  553. #define BV_APBH_CTRL2_CH3_ERROR_STATUS__TERMINATION 0x0
  554. #define BV_APBH_CTRL2_CH3_ERROR_STATUS__BUS_ERROR 0x1
  555. /* --- Register HW_APBH_CTRL2, field CH2_ERROR_STATUS */
  556. #define BP_APBH_CTRL2_CH2_ERROR_STATUS 18
  557. #define BM_APBH_CTRL2_CH2_ERROR_STATUS 0x00040000
  558. #define BF_APBH_CTRL2_CH2_ERROR_STATUS(v) (((v) << 18) & BM_APBH_CTRL2_CH2_ERROR_STATUS)
  559. #define BV_APBH_CTRL2_CH2_ERROR_STATUS__TERMINATION 0x0
  560. #define BV_APBH_CTRL2_CH2_ERROR_STATUS__BUS_ERROR 0x1
  561. /* --- Register HW_APBH_CTRL2, field CH1_ERROR_STATUS */
  562. #define BP_APBH_CTRL2_CH1_ERROR_STATUS 17
  563. #define BM_APBH_CTRL2_CH1_ERROR_STATUS 0x00020000
  564. #define BF_APBH_CTRL2_CH1_ERROR_STATUS(v) (((v) << 17) & BM_APBH_CTRL2_CH1_ERROR_STATUS)
  565. #define BV_APBH_CTRL2_CH1_ERROR_STATUS__TERMINATION 0x0
  566. #define BV_APBH_CTRL2_CH1_ERROR_STATUS__BUS_ERROR 0x1
  567. /* --- Register HW_APBH_CTRL2, field CH0_ERROR_STATUS */
  568. #define BP_APBH_CTRL2_CH0_ERROR_STATUS 16
  569. #define BM_APBH_CTRL2_CH0_ERROR_STATUS 0x00010000
  570. #define BF_APBH_CTRL2_CH0_ERROR_STATUS(v) (((v) << 16) & BM_APBH_CTRL2_CH0_ERROR_STATUS)
  571. #define BV_APBH_CTRL2_CH0_ERROR_STATUS__TERMINATION 0x0
  572. #define BV_APBH_CTRL2_CH0_ERROR_STATUS__BUS_ERROR 0x1
  573. /* --- Register HW_APBH_CTRL2, field CH15_ERROR_IRQ */
  574. #define BP_APBH_CTRL2_CH15_ERROR_IRQ 15
  575. #define BM_APBH_CTRL2_CH15_ERROR_IRQ 0x00008000
  576. #define BF_APBH_CTRL2_CH15_ERROR_IRQ(v) (((v) << 15) & BM_APBH_CTRL2_CH15_ERROR_IRQ)
  577. #ifndef __LANGUAGE_ASM__
  578. #define BW_APBH_CTRL2_CH15_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH15_ERROR_IRQ, v)
  579. #endif
  580. /* --- Register HW_APBH_CTRL2, field CH14_ERROR_IRQ */
  581. #define BP_APBH_CTRL2_CH14_ERROR_IRQ 14
  582. #define BM_APBH_CTRL2_CH14_ERROR_IRQ 0x00004000
  583. #define BF_APBH_CTRL2_CH14_ERROR_IRQ(v) (((v) << 14) & BM_APBH_CTRL2_CH14_ERROR_IRQ)
  584. #ifndef __LANGUAGE_ASM__
  585. #define BW_APBH_CTRL2_CH14_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH14_ERROR_IRQ, v)
  586. #endif
  587. /* --- Register HW_APBH_CTRL2, field CH13_ERROR_IRQ */
  588. #define BP_APBH_CTRL2_CH13_ERROR_IRQ 13
  589. #define BM_APBH_CTRL2_CH13_ERROR_IRQ 0x00002000
  590. #define BF_APBH_CTRL2_CH13_ERROR_IRQ(v) (((v) << 13) & BM_APBH_CTRL2_CH13_ERROR_IRQ)
  591. #ifndef __LANGUAGE_ASM__
  592. #define BW_APBH_CTRL2_CH13_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH13_ERROR_IRQ, v)
  593. #endif
  594. /* --- Register HW_APBH_CTRL2, field CH12_ERROR_IRQ */
  595. #define BP_APBH_CTRL2_CH12_ERROR_IRQ 12
  596. #define BM_APBH_CTRL2_CH12_ERROR_IRQ 0x00001000
  597. #define BF_APBH_CTRL2_CH12_ERROR_IRQ(v) (((v) << 12) & BM_APBH_CTRL2_CH12_ERROR_IRQ)
  598. #ifndef __LANGUAGE_ASM__
  599. #define BW_APBH_CTRL2_CH12_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH12_ERROR_IRQ, v)
  600. #endif
  601. /* --- Register HW_APBH_CTRL2, field CH11_ERROR_IRQ */
  602. #define BP_APBH_CTRL2_CH11_ERROR_IRQ 11
  603. #define BM_APBH_CTRL2_CH11_ERROR_IRQ 0x00000800
  604. #define BF_APBH_CTRL2_CH11_ERROR_IRQ(v) (((v) << 11) & BM_APBH_CTRL2_CH11_ERROR_IRQ)
  605. #ifndef __LANGUAGE_ASM__
  606. #define BW_APBH_CTRL2_CH11_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH11_ERROR_IRQ, v)
  607. #endif
  608. /* --- Register HW_APBH_CTRL2, field CH10_ERROR_IRQ */
  609. #define BP_APBH_CTRL2_CH10_ERROR_IRQ 10
  610. #define BM_APBH_CTRL2_CH10_ERROR_IRQ 0x00000400
  611. #define BF_APBH_CTRL2_CH10_ERROR_IRQ(v) (((v) << 10) & BM_APBH_CTRL2_CH10_ERROR_IRQ)
  612. #ifndef __LANGUAGE_ASM__
  613. #define BW_APBH_CTRL2_CH10_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH10_ERROR_IRQ, v)
  614. #endif
  615. /* --- Register HW_APBH_CTRL2, field CH9_ERROR_IRQ */
  616. #define BP_APBH_CTRL2_CH9_ERROR_IRQ 9
  617. #define BM_APBH_CTRL2_CH9_ERROR_IRQ 0x00000200
  618. #define BF_APBH_CTRL2_CH9_ERROR_IRQ(v) (((v) << 9) & BM_APBH_CTRL2_CH9_ERROR_IRQ)
  619. #ifndef __LANGUAGE_ASM__
  620. #define BW_APBH_CTRL2_CH9_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH9_ERROR_IRQ, v)
  621. #endif
  622. /* --- Register HW_APBH_CTRL2, field CH8_ERROR_IRQ */
  623. #define BP_APBH_CTRL2_CH8_ERROR_IRQ 8
  624. #define BM_APBH_CTRL2_CH8_ERROR_IRQ 0x00000100
  625. #define BF_APBH_CTRL2_CH8_ERROR_IRQ(v) (((v) << 8) & BM_APBH_CTRL2_CH8_ERROR_IRQ)
  626. #ifndef __LANGUAGE_ASM__
  627. #define BW_APBH_CTRL2_CH8_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH8_ERROR_IRQ, v)
  628. #endif
  629. /* --- Register HW_APBH_CTRL2, field CH7_ERROR_IRQ */
  630. #define BP_APBH_CTRL2_CH7_ERROR_IRQ 7
  631. #define BM_APBH_CTRL2_CH7_ERROR_IRQ 0x00000080
  632. #define BF_APBH_CTRL2_CH7_ERROR_IRQ(v) (((v) << 7) & BM_APBH_CTRL2_CH7_ERROR_IRQ)
  633. #ifndef __LANGUAGE_ASM__
  634. #define BW_APBH_CTRL2_CH7_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH7_ERROR_IRQ, v)
  635. #endif
  636. /* --- Register HW_APBH_CTRL2, field CH6_ERROR_IRQ */
  637. #define BP_APBH_CTRL2_CH6_ERROR_IRQ 6
  638. #define BM_APBH_CTRL2_CH6_ERROR_IRQ 0x00000040
  639. #define BF_APBH_CTRL2_CH6_ERROR_IRQ(v) (((v) << 6) & BM_APBH_CTRL2_CH6_ERROR_IRQ)
  640. #ifndef __LANGUAGE_ASM__
  641. #define BW_APBH_CTRL2_CH6_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH6_ERROR_IRQ, v)
  642. #endif
  643. /* --- Register HW_APBH_CTRL2, field CH5_ERROR_IRQ */
  644. #define BP_APBH_CTRL2_CH5_ERROR_IRQ 5
  645. #define BM_APBH_CTRL2_CH5_ERROR_IRQ 0x00000020
  646. #define BF_APBH_CTRL2_CH5_ERROR_IRQ(v) (((v) << 5) & BM_APBH_CTRL2_CH5_ERROR_IRQ)
  647. #ifndef __LANGUAGE_ASM__
  648. #define BW_APBH_CTRL2_CH5_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH5_ERROR_IRQ, v)
  649. #endif
  650. /* --- Register HW_APBH_CTRL2, field CH4_ERROR_IRQ */
  651. #define BP_APBH_CTRL2_CH4_ERROR_IRQ 4
  652. #define BM_APBH_CTRL2_CH4_ERROR_IRQ 0x00000010
  653. #define BF_APBH_CTRL2_CH4_ERROR_IRQ(v) (((v) << 4) & BM_APBH_CTRL2_CH4_ERROR_IRQ)
  654. #ifndef __LANGUAGE_ASM__
  655. #define BW_APBH_CTRL2_CH4_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH4_ERROR_IRQ, v)
  656. #endif
  657. /* --- Register HW_APBH_CTRL2, field CH3_ERROR_IRQ */
  658. #define BP_APBH_CTRL2_CH3_ERROR_IRQ 3
  659. #define BM_APBH_CTRL2_CH3_ERROR_IRQ 0x00000008
  660. #define BF_APBH_CTRL2_CH3_ERROR_IRQ(v) (((v) << 3) & BM_APBH_CTRL2_CH3_ERROR_IRQ)
  661. #ifndef __LANGUAGE_ASM__
  662. #define BW_APBH_CTRL2_CH3_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH3_ERROR_IRQ, v)
  663. #endif
  664. /* --- Register HW_APBH_CTRL2, field CH2_ERROR_IRQ */
  665. #define BP_APBH_CTRL2_CH2_ERROR_IRQ 2
  666. #define BM_APBH_CTRL2_CH2_ERROR_IRQ 0x00000004
  667. #define BF_APBH_CTRL2_CH2_ERROR_IRQ(v) (((v) << 2) & BM_APBH_CTRL2_CH2_ERROR_IRQ)
  668. #ifndef __LANGUAGE_ASM__
  669. #define BW_APBH_CTRL2_CH2_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH2_ERROR_IRQ, v)
  670. #endif
  671. /* --- Register HW_APBH_CTRL2, field CH1_ERROR_IRQ */
  672. #define BP_APBH_CTRL2_CH1_ERROR_IRQ 1
  673. #define BM_APBH_CTRL2_CH1_ERROR_IRQ 0x00000002
  674. #define BF_APBH_CTRL2_CH1_ERROR_IRQ(v) (((v) << 1) & BM_APBH_CTRL2_CH1_ERROR_IRQ)
  675. #ifndef __LANGUAGE_ASM__
  676. #define BW_APBH_CTRL2_CH1_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH1_ERROR_IRQ, v)
  677. #endif
  678. /* --- Register HW_APBH_CTRL2, field CH0_ERROR_IRQ */
  679. #define BP_APBH_CTRL2_CH0_ERROR_IRQ 0
  680. #define BM_APBH_CTRL2_CH0_ERROR_IRQ 0x00000001
  681. #define BF_APBH_CTRL2_CH0_ERROR_IRQ(v) (((v) << 0) & BM_APBH_CTRL2_CH0_ERROR_IRQ)
  682. #ifndef __LANGUAGE_ASM__
  683. #define BW_APBH_CTRL2_CH0_ERROR_IRQ(v) BF_CS1(APBH_CTRL2, CH0_ERROR_IRQ, v)
  684. #endif
  685. /*
  686. * HW_APBH_CHANNEL_CTRL - AHB to APBH Bridge Channel Register
  687. */
  688. #ifndef __LANGUAGE_ASM__
  689. typedef union {
  690. reg32_t U;
  691. struct {
  692. unsigned FREEZE_CHANNEL:16;
  693. unsigned RESET_CHANNEL:16;
  694. } B;
  695. } hw_apbh_channel_ctrl_t;
  696. #endif
  697. /*
  698. * constants & macros for entire HW_APBH_CHANNEL_CTRL register
  699. */
  700. #define HW_APBH_CHANNEL_CTRL_ADDR (0x00110030)
  701. #define HW_APBH_CHANNEL_CTRL_SET_ADDR (0x00110034)
  702. #define HW_APBH_CHANNEL_CTRL_CLR_ADDR (0x00110038)
  703. #define HW_APBH_CHANNEL_CTRL_TOG_ADDR (0x0011003c)
  704. #ifndef __LANGUAGE_ASM__
  705. #ifndef ROCOO_TEST
  706. #define HW_APBH_CHANNEL_CTRL (*(volatile hw_apbh_channel_ctrl_t *) HW_APBH_CHANNEL_CTRL_ADDR)
  707. #define HW_APBH_CHANNEL_CTRL_RD() (HW_APBH_CHANNEL_CTRL.U)
  708. #define HW_APBH_CHANNEL_CTRL_WR(v) (HW_APBH_CHANNEL_CTRL.U = (v))
  709. #define HW_APBH_CHANNEL_CTRL_SET(v) ((*(volatile reg32_t *) HW_APBH_CHANNEL_CTRL_SET_ADDR) = (v))
  710. #define HW_APBH_CHANNEL_CTRL_CLR(v) ((*(volatile reg32_t *) HW_APBH_CHANNEL_CTRL_CLR_ADDR) = (v))
  711. #define HW_APBH_CHANNEL_CTRL_TOG(v) ((*(volatile reg32_t *) HW_APBH_CHANNEL_CTRL_TOG_ADDR) = (v))
  712. #else
  713. #define HW_APBH_CHANNEL_CTRL_RD() (_rbase->mem32_read(HW_APBH_CHANNEL_CTRL_ADDR))
  714. #define HW_APBH_CHANNEL_CTRL_WR(v) (_rbase->mem32_write(HW_APBH_CHANNEL_CTRL_ADDR,(v)))
  715. #define HW_APBH_CHANNEL_CTRL_SET(v) (_rbase->mem32_write(HW_APBH_CHANNEL_CTRL_SET_ADDR,(v)))
  716. #define HW_APBH_CHANNEL_CTRL_CLR(v) (_rbase->mem32_write(HW_APBH_CHANNEL_CTRL_CLR_ADDR,(v)))
  717. #define HW_APBH_CHANNEL_CTRL_TOG(v) (_rbase->mem32_write(HW_APBH_CHANNEL_CTRL_TOG_ADDR,(v)))
  718. #endif
  719. #endif
  720. /*
  721. * constants & macros for individual HW_APBH_CHANNEL_CTRL bitfields
  722. */
  723. /* --- Register HW_APBH_CHANNEL_CTRL, field RESET_CHANNEL */
  724. #define BP_APBH_CHANNEL_CTRL_RESET_CHANNEL 16
  725. #define BM_APBH_CHANNEL_CTRL_RESET_CHANNEL 0xFFFF0000
  726. #ifndef __LANGUAGE_ASM__
  727. #define BF_APBH_CHANNEL_CTRL_RESET_CHANNEL(v) ((((reg32_t) v) << 16) & BM_APBH_CHANNEL_CTRL_RESET_CHANNEL)
  728. #else
  729. #define BF_APBH_CHANNEL_CTRL_RESET_CHANNEL(v) (((v) << 16) & BM_APBH_CHANNEL_CTRL_RESET_CHANNEL)
  730. #endif
  731. #ifndef __LANGUAGE_ASM__
  732. #define BW_APBH_CHANNEL_CTRL_RESET_CHANNEL(v) (HW_APBH_CHANNEL_CTRL.B.RESET_CHANNEL = (v))
  733. #endif
  734. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__NAND0 0x0001
  735. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__NAND1 0x0002
  736. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__NAND2 0x0004
  737. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__NAND3 0x0008
  738. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__NAND4 0x0010
  739. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__NAND5 0x0020
  740. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__NAND6 0x0040
  741. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__NAND7 0x0080
  742. #define BV_APBH_CHANNEL_CTRL_RESET_CHANNEL__SSP 0x0100
  743. /* --- Register HW_APBH_CHANNEL_CTRL, field FREEZE_CHANNEL */
  744. #define BP_APBH_CHANNEL_CTRL_FREEZE_CHANNEL 0
  745. #define BM_APBH_CHANNEL_CTRL_FREEZE_CHANNEL 0x0000FFFF
  746. #define BF_APBH_CHANNEL_CTRL_FREEZE_CHANNEL(v) (((v) << 0) & BM_APBH_CHANNEL_CTRL_FREEZE_CHANNEL)
  747. #ifndef __LANGUAGE_ASM__
  748. #define BW_APBH_CHANNEL_CTRL_FREEZE_CHANNEL(v) (HW_APBH_CHANNEL_CTRL.B.FREEZE_CHANNEL = (v))
  749. #endif
  750. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__NAND0 0x0001
  751. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__NAND1 0x0002
  752. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__NAND2 0x0004
  753. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__NAND3 0x0008
  754. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__NAND4 0x0010
  755. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__NAND5 0x0020
  756. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__NAND6 0x0040
  757. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__NAND7 0x0080
  758. #define BV_APBH_CHANNEL_CTRL_FREEZE_CHANNEL__SSP 0x0100
  759. /*
  760. * HW_APBH_DEVSEL - AHB to APBH DMA Device Assignment Register
  761. */
  762. #ifndef __LANGUAGE_ASM__
  763. typedef union {
  764. reg32_t U;
  765. struct {
  766. unsigned CH0:2;
  767. unsigned CH1:2;
  768. unsigned CH2:2;
  769. unsigned CH3:2;
  770. unsigned CH4:2;
  771. unsigned CH5:2;
  772. unsigned CH6:2;
  773. unsigned CH7:2;
  774. unsigned CH8:2;
  775. unsigned CH9:2;
  776. unsigned CH10:2;
  777. unsigned CH11:2;
  778. unsigned CH12:2;
  779. unsigned CH13:2;
  780. unsigned CH14:2;
  781. unsigned CH15:2;
  782. } B;
  783. } hw_apbh_devsel_t;
  784. #endif
  785. /*
  786. * constants & macros for entire HW_APBH_DEVSEL register
  787. */
  788. #define HW_APBH_DEVSEL_ADDR (0x00110040)
  789. #ifndef __LANGUAGE_ASM__
  790. #ifndef ROCOO_TEST
  791. #define HW_APBH_DEVSEL (*(volatile hw_apbh_devsel_t *) HW_APBH_DEVSEL_ADDR)
  792. #define HW_APBH_DEVSEL_RD() (HW_APBH_DEVSEL.U)
  793. #else
  794. #define HW_APBH_DEVSEL_RD() (_rbase->mem32_read(HW_APBH_DEVSEL_ADDR))
  795. #endif
  796. #endif
  797. /*
  798. * constants & macros for individual HW_APBH_DEVSEL bitfields
  799. */
  800. /* --- Register HW_APBH_DEVSEL, field CH15 */
  801. #define BP_APBH_DEVSEL_CH15 30
  802. #define BM_APBH_DEVSEL_CH15 0xC0000000
  803. #ifndef __LANGUAGE_ASM__
  804. #define BF_APBH_DEVSEL_CH15(v) ((((reg32_t) v) << 30) & BM_APBH_DEVSEL_CH15)
  805. #else
  806. #define BF_APBH_DEVSEL_CH15(v) (((v) << 30) & BM_APBH_DEVSEL_CH15)
  807. #endif
  808. /* --- Register HW_APBH_DEVSEL, field CH14 */
  809. #define BP_APBH_DEVSEL_CH14 28
  810. #define BM_APBH_DEVSEL_CH14 0x30000000
  811. #define BF_APBH_DEVSEL_CH14(v) (((v) << 28) & BM_APBH_DEVSEL_CH14)
  812. /* --- Register HW_APBH_DEVSEL, field CH13 */
  813. #define BP_APBH_DEVSEL_CH13 26
  814. #define BM_APBH_DEVSEL_CH13 0x0C000000
  815. #define BF_APBH_DEVSEL_CH13(v) (((v) << 26) & BM_APBH_DEVSEL_CH13)
  816. /* --- Register HW_APBH_DEVSEL, field CH12 */
  817. #define BP_APBH_DEVSEL_CH12 24
  818. #define BM_APBH_DEVSEL_CH12 0x03000000
  819. #define BF_APBH_DEVSEL_CH12(v) (((v) << 24) & BM_APBH_DEVSEL_CH12)
  820. /* --- Register HW_APBH_DEVSEL, field CH11 */
  821. #define BP_APBH_DEVSEL_CH11 22
  822. #define BM_APBH_DEVSEL_CH11 0x00C00000
  823. #define BF_APBH_DEVSEL_CH11(v) (((v) << 22) & BM_APBH_DEVSEL_CH11)
  824. /* --- Register HW_APBH_DEVSEL, field CH10 */
  825. #define BP_APBH_DEVSEL_CH10 20
  826. #define BM_APBH_DEVSEL_CH10 0x00300000
  827. #define BF_APBH_DEVSEL_CH10(v) (((v) << 20) & BM_APBH_DEVSEL_CH10)
  828. /* --- Register HW_APBH_DEVSEL, field CH9 */
  829. #define BP_APBH_DEVSEL_CH9 18
  830. #define BM_APBH_DEVSEL_CH9 0x000C0000
  831. #define BF_APBH_DEVSEL_CH9(v) (((v) << 18) & BM_APBH_DEVSEL_CH9)
  832. /* --- Register HW_APBH_DEVSEL, field CH8 */
  833. #define BP_APBH_DEVSEL_CH8 16
  834. #define BM_APBH_DEVSEL_CH8 0x00030000
  835. #define BF_APBH_DEVSEL_CH8(v) (((v) << 16) & BM_APBH_DEVSEL_CH8)
  836. /* --- Register HW_APBH_DEVSEL, field CH7 */
  837. #define BP_APBH_DEVSEL_CH7 14
  838. #define BM_APBH_DEVSEL_CH7 0x0000C000
  839. #define BF_APBH_DEVSEL_CH7(v) (((v) << 14) & BM_APBH_DEVSEL_CH7)
  840. /* --- Register HW_APBH_DEVSEL, field CH6 */
  841. #define BP_APBH_DEVSEL_CH6 12
  842. #define BM_APBH_DEVSEL_CH6 0x00003000
  843. #define BF_APBH_DEVSEL_CH6(v) (((v) << 12) & BM_APBH_DEVSEL_CH6)
  844. /* --- Register HW_APBH_DEVSEL, field CH5 */
  845. #define BP_APBH_DEVSEL_CH5 10
  846. #define BM_APBH_DEVSEL_CH5 0x00000C00
  847. #define BF_APBH_DEVSEL_CH5(v) (((v) << 10) & BM_APBH_DEVSEL_CH5)
  848. /* --- Register HW_APBH_DEVSEL, field CH4 */
  849. #define BP_APBH_DEVSEL_CH4 8
  850. #define BM_APBH_DEVSEL_CH4 0x00000300
  851. #define BF_APBH_DEVSEL_CH4(v) (((v) << 8) & BM_APBH_DEVSEL_CH4)
  852. /* --- Register HW_APBH_DEVSEL, field CH3 */
  853. #define BP_APBH_DEVSEL_CH3 6
  854. #define BM_APBH_DEVSEL_CH3 0x000000C0
  855. #define BF_APBH_DEVSEL_CH3(v) (((v) << 6) & BM_APBH_DEVSEL_CH3)
  856. /* --- Register HW_APBH_DEVSEL, field CH2 */
  857. #define BP_APBH_DEVSEL_CH2 4
  858. #define BM_APBH_DEVSEL_CH2 0x00000030
  859. #define BF_APBH_DEVSEL_CH2(v) (((v) << 4) & BM_APBH_DEVSEL_CH2)
  860. /* --- Register HW_APBH_DEVSEL, field CH1 */
  861. #define BP_APBH_DEVSEL_CH1 2
  862. #define BM_APBH_DEVSEL_CH1 0x0000000C
  863. #define BF_APBH_DEVSEL_CH1(v) (((v) << 2) & BM_APBH_DEVSEL_CH1)
  864. /* --- Register HW_APBH_DEVSEL, field CH0 */
  865. #define BP_APBH_DEVSEL_CH0 0
  866. #define BM_APBH_DEVSEL_CH0 0x00000003
  867. #define BF_APBH_DEVSEL_CH0(v) (((v) << 0) & BM_APBH_DEVSEL_CH0)
  868. /*
  869. * HW_APBH_DMA_BURST_SIZE - AHB to APBH DMA burst size
  870. */
  871. #ifndef __LANGUAGE_ASM__
  872. typedef union {
  873. reg32_t U;
  874. struct {
  875. unsigned CH0:2;
  876. unsigned CH1:2;
  877. unsigned CH2:2;
  878. unsigned CH3:2;
  879. unsigned CH4:2;
  880. unsigned CH5:2;
  881. unsigned CH6:2;
  882. unsigned CH7:2;
  883. unsigned CH8:2;
  884. unsigned CH9:2;
  885. unsigned CH10:2;
  886. unsigned CH11:2;
  887. unsigned CH12:2;
  888. unsigned CH13:2;
  889. unsigned CH14:2;
  890. unsigned CH15:2;
  891. } B;
  892. } hw_apbh_dma_burst_size_t;
  893. #endif
  894. /*
  895. * constants & macros for entire HW_APBH_DMA_BURST_SIZE register
  896. */
  897. #define HW_APBH_DMA_BURST_SIZE_ADDR (0x00110050)
  898. #ifndef __LANGUAGE_ASM__
  899. #ifndef ROCOO_TEST
  900. #define HW_APBH_DMA_BURST_SIZE (*(volatile hw_apbh_dma_burst_size_t *) HW_APBH_DMA_BURST_SIZE_ADDR)
  901. #define HW_APBH_DMA_BURST_SIZE_RD() (HW_APBH_DMA_BURST_SIZE.U)
  902. #define HW_APBH_DMA_BURST_SIZE_WR(v) (HW_APBH_DMA_BURST_SIZE.U = (v))
  903. #define HW_APBH_DMA_BURST_SIZE_SET(v) (HW_APBH_DMA_BURST_SIZE_WR(HW_APBH_DMA_BURST_SIZE_RD() | (v)))
  904. #define HW_APBH_DMA_BURST_SIZE_CLR(v) (HW_APBH_DMA_BURST_SIZE_WR(HW_APBH_DMA_BURST_SIZE_RD() & ~(v)))
  905. #define HW_APBH_DMA_BURST_SIZE_TOG(v) (HW_APBH_DMA_BURST_SIZE_WR(HW_APBH_DMA_BURST_SIZE_RD() ^ (v)))
  906. #else
  907. #define HW_APBH_DMA_BURST_SIZE_RD() (_rbase->mem32_read(HW_APBH_DMA_BURST_SIZE_ADDR))
  908. #define HW_APBH_DMA_BURST_SIZE_WR(v) (_rbase->mem32_write(HW_APBH_DMA_BURST_SIZE_ADDR,(v)))
  909. #define HW_APBH_DMA_BURST_SIZE_SET(v) (HW_APBH_DMA_BURST_SIZE_WR(HW_APBH_DMA_BURST_SIZE_RD() | (v)))
  910. #define HW_APBH_DMA_BURST_SIZE_CLR(v) (HW_APBH_DMA_BURST_SIZE_WR(HW_APBH_DMA_BURST_SIZE_RD() & ~(v)))
  911. #define HW_APBH_DMA_BURST_SIZE_TOG(v) (HW_APBH_DMA_BURST_SIZE_WR(HW_APBH_DMA_BURST_SIZE_RD() ^ (v)))
  912. #endif
  913. #endif
  914. /*
  915. * constants & macros for individual HW_APBH_DMA_BURST_SIZE bitfields
  916. */
  917. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH15 */
  918. #define BP_APBH_DMA_BURST_SIZE_CH15 30
  919. #define BM_APBH_DMA_BURST_SIZE_CH15 0xC0000000
  920. #ifndef __LANGUAGE_ASM__
  921. #define BF_APBH_DMA_BURST_SIZE_CH15(v) ((((reg32_t) v) << 30) & BM_APBH_DMA_BURST_SIZE_CH15)
  922. #else
  923. #define BF_APBH_DMA_BURST_SIZE_CH15(v) (((v) << 30) & BM_APBH_DMA_BURST_SIZE_CH15)
  924. #endif
  925. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH14 */
  926. #define BP_APBH_DMA_BURST_SIZE_CH14 28
  927. #define BM_APBH_DMA_BURST_SIZE_CH14 0x30000000
  928. #define BF_APBH_DMA_BURST_SIZE_CH14(v) (((v) << 28) & BM_APBH_DMA_BURST_SIZE_CH14)
  929. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH13 */
  930. #define BP_APBH_DMA_BURST_SIZE_CH13 26
  931. #define BM_APBH_DMA_BURST_SIZE_CH13 0x0C000000
  932. #define BF_APBH_DMA_BURST_SIZE_CH13(v) (((v) << 26) & BM_APBH_DMA_BURST_SIZE_CH13)
  933. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH12 */
  934. #define BP_APBH_DMA_BURST_SIZE_CH12 24
  935. #define BM_APBH_DMA_BURST_SIZE_CH12 0x03000000
  936. #define BF_APBH_DMA_BURST_SIZE_CH12(v) (((v) << 24) & BM_APBH_DMA_BURST_SIZE_CH12)
  937. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH11 */
  938. #define BP_APBH_DMA_BURST_SIZE_CH11 22
  939. #define BM_APBH_DMA_BURST_SIZE_CH11 0x00C00000
  940. #define BF_APBH_DMA_BURST_SIZE_CH11(v) (((v) << 22) & BM_APBH_DMA_BURST_SIZE_CH11)
  941. #ifndef __LANGUAGE_ASM__
  942. #define BW_APBH_DMA_BURST_SIZE_CH11(v) BF_CS1(APBH_DMA_BURST_SIZE, CH11, v)
  943. #endif
  944. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH10 */
  945. #define BP_APBH_DMA_BURST_SIZE_CH10 20
  946. #define BM_APBH_DMA_BURST_SIZE_CH10 0x00300000
  947. #define BF_APBH_DMA_BURST_SIZE_CH10(v) (((v) << 20) & BM_APBH_DMA_BURST_SIZE_CH10)
  948. #ifndef __LANGUAGE_ASM__
  949. #define BW_APBH_DMA_BURST_SIZE_CH10(v) BF_CS1(APBH_DMA_BURST_SIZE, CH10, v)
  950. #endif
  951. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH9 */
  952. #define BP_APBH_DMA_BURST_SIZE_CH9 18
  953. #define BM_APBH_DMA_BURST_SIZE_CH9 0x000C0000
  954. #define BF_APBH_DMA_BURST_SIZE_CH9(v) (((v) << 18) & BM_APBH_DMA_BURST_SIZE_CH9)
  955. #ifndef __LANGUAGE_ASM__
  956. #define BW_APBH_DMA_BURST_SIZE_CH9(v) BF_CS1(APBH_DMA_BURST_SIZE, CH9, v)
  957. #endif
  958. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH8 */
  959. #define BP_APBH_DMA_BURST_SIZE_CH8 16
  960. #define BM_APBH_DMA_BURST_SIZE_CH8 0x00030000
  961. #define BF_APBH_DMA_BURST_SIZE_CH8(v) (((v) << 16) & BM_APBH_DMA_BURST_SIZE_CH8)
  962. #ifndef __LANGUAGE_ASM__
  963. #define BW_APBH_DMA_BURST_SIZE_CH8(v) BF_CS1(APBH_DMA_BURST_SIZE, CH8, v)
  964. #endif
  965. #define BV_APBH_DMA_BURST_SIZE_CH8__BURST0 0x0
  966. #define BV_APBH_DMA_BURST_SIZE_CH8__BURST4 0x1
  967. #define BV_APBH_DMA_BURST_SIZE_CH8__BURST8 0x2
  968. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH7 */
  969. #define BP_APBH_DMA_BURST_SIZE_CH7 14
  970. #define BM_APBH_DMA_BURST_SIZE_CH7 0x0000C000
  971. #define BF_APBH_DMA_BURST_SIZE_CH7(v) (((v) << 14) & BM_APBH_DMA_BURST_SIZE_CH7)
  972. #ifndef __LANGUAGE_ASM__
  973. #define BW_APBH_DMA_BURST_SIZE_CH7(v) BF_CS1(APBH_DMA_BURST_SIZE, CH7, v)
  974. #endif
  975. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH6 */
  976. #define BP_APBH_DMA_BURST_SIZE_CH6 12
  977. #define BM_APBH_DMA_BURST_SIZE_CH6 0x00003000
  978. #define BF_APBH_DMA_BURST_SIZE_CH6(v) (((v) << 12) & BM_APBH_DMA_BURST_SIZE_CH6)
  979. #ifndef __LANGUAGE_ASM__
  980. #define BW_APBH_DMA_BURST_SIZE_CH6(v) BF_CS1(APBH_DMA_BURST_SIZE, CH6, v)
  981. #endif
  982. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH5 */
  983. #define BP_APBH_DMA_BURST_SIZE_CH5 10
  984. #define BM_APBH_DMA_BURST_SIZE_CH5 0x00000C00
  985. #define BF_APBH_DMA_BURST_SIZE_CH5(v) (((v) << 10) & BM_APBH_DMA_BURST_SIZE_CH5)
  986. #ifndef __LANGUAGE_ASM__
  987. #define BW_APBH_DMA_BURST_SIZE_CH5(v) BF_CS1(APBH_DMA_BURST_SIZE, CH5, v)
  988. #endif
  989. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH4 */
  990. #define BP_APBH_DMA_BURST_SIZE_CH4 8
  991. #define BM_APBH_DMA_BURST_SIZE_CH4 0x00000300
  992. #define BF_APBH_DMA_BURST_SIZE_CH4(v) (((v) << 8) & BM_APBH_DMA_BURST_SIZE_CH4)
  993. #ifndef __LANGUAGE_ASM__
  994. #define BW_APBH_DMA_BURST_SIZE_CH4(v) BF_CS1(APBH_DMA_BURST_SIZE, CH4, v)
  995. #endif
  996. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH3 */
  997. #define BP_APBH_DMA_BURST_SIZE_CH3 6
  998. #define BM_APBH_DMA_BURST_SIZE_CH3 0x000000C0
  999. #define BF_APBH_DMA_BURST_SIZE_CH3(v) (((v) << 6) & BM_APBH_DMA_BURST_SIZE_CH3)
  1000. #ifndef __LANGUAGE_ASM__
  1001. #define BW_APBH_DMA_BURST_SIZE_CH3(v) BF_CS1(APBH_DMA_BURST_SIZE, CH3, v)
  1002. #endif
  1003. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH2 */
  1004. #define BP_APBH_DMA_BURST_SIZE_CH2 4
  1005. #define BM_APBH_DMA_BURST_SIZE_CH2 0x00000030
  1006. #define BF_APBH_DMA_BURST_SIZE_CH2(v) (((v) << 4) & BM_APBH_DMA_BURST_SIZE_CH2)
  1007. #ifndef __LANGUAGE_ASM__
  1008. #define BW_APBH_DMA_BURST_SIZE_CH2(v) BF_CS1(APBH_DMA_BURST_SIZE, CH2, v)
  1009. #endif
  1010. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH1 */
  1011. #define BP_APBH_DMA_BURST_SIZE_CH1 2
  1012. #define BM_APBH_DMA_BURST_SIZE_CH1 0x0000000C
  1013. #define BF_APBH_DMA_BURST_SIZE_CH1(v) (((v) << 2) & BM_APBH_DMA_BURST_SIZE_CH1)
  1014. #ifndef __LANGUAGE_ASM__
  1015. #define BW_APBH_DMA_BURST_SIZE_CH1(v) BF_CS1(APBH_DMA_BURST_SIZE, CH1, v)
  1016. #endif
  1017. /* --- Register HW_APBH_DMA_BURST_SIZE, field CH0 */
  1018. #define BP_APBH_DMA_BURST_SIZE_CH0 0
  1019. #define BM_APBH_DMA_BURST_SIZE_CH0 0x00000003
  1020. #define BF_APBH_DMA_BURST_SIZE_CH0(v) (((v) << 0) & BM_APBH_DMA_BURST_SIZE_CH0)
  1021. #ifndef __LANGUAGE_ASM__
  1022. #define BW_APBH_DMA_BURST_SIZE_CH0(v) BF_CS1(APBH_DMA_BURST_SIZE, CH0, v)
  1023. #endif
  1024. /*
  1025. * HW_APBH_DEBUG - AHB to APBH DMA Debug Register
  1026. */
  1027. #ifndef __LANGUAGE_ASM__
  1028. typedef union {
  1029. reg32_t U;
  1030. struct {
  1031. unsigned GPMI_ONE_FIFO:1;
  1032. unsigned RSVD:31;
  1033. } B;
  1034. } hw_apbh_debug_t;
  1035. #endif
  1036. /*
  1037. * constants & macros for entire HW_APBH_DEBUG register
  1038. */
  1039. #define HW_APBH_DEBUG_ADDR (0x00110060)
  1040. #ifndef __LANGUAGE_ASM__
  1041. #ifndef ROCOO_TEST
  1042. #define HW_APBH_DEBUG (*(volatile hw_apbh_debug_t *) HW_APBH_DEBUG_ADDR)
  1043. #define HW_APBH_DEBUG_RD() (HW_APBH_DEBUG.U)
  1044. #define HW_APBH_DEBUG_WR(v) (HW_APBH_DEBUG.U = (v))
  1045. #define HW_APBH_DEBUG_SET(v) (HW_APBH_DEBUG_WR(HW_APBH_DEBUG_RD() | (v)))
  1046. #define HW_APBH_DEBUG_CLR(v) (HW_APBH_DEBUG_WR(HW_APBH_DEBUG_RD() & ~(v)))
  1047. #define HW_APBH_DEBUG_TOG(v) (HW_APBH_DEBUG_WR(HW_APBH_DEBUG_RD() ^ (v)))
  1048. #else
  1049. #define HW_APBH_DEBUG_RD() (_rbase->mem32_read(HW_APBH_DEBUG_ADDR))
  1050. #define HW_APBH_DEBUG_WR(v) (_rbase->mem32_write(HW_APBH_DEBUG_ADDR,(v)))
  1051. #define HW_APBH_DEBUG_SET(v) (HW_APBH_DEBUG_WR(HW_APBH_DEBUG_RD() | (v)))
  1052. #define HW_APBH_DEBUG_CLR(v) (HW_APBH_DEBUG_WR(HW_APBH_DEBUG_RD() & ~(v)))
  1053. #define HW_APBH_DEBUG_TOG(v) (HW_APBH_DEBUG_WR(HW_APBH_DEBUG_RD() ^ (v)))
  1054. #endif
  1055. #endif
  1056. /*
  1057. * constants & macros for individual HW_APBH_DEBUG bitfields
  1058. */
  1059. /* --- Register HW_APBH_DEBUG, field RSVD */
  1060. #define BP_APBH_DEBUG_RSVD 1
  1061. #define BM_APBH_DEBUG_RSVD 0xFFFFFFFE
  1062. #ifndef __LANGUAGE_ASM__
  1063. #define BF_APBH_DEBUG_RSVD(v) ((((reg32_t) v) << 1) & BM_APBH_DEBUG_RSVD)
  1064. #else
  1065. #define BF_APBH_DEBUG_RSVD(v) (((v) << 1) & BM_APBH_DEBUG_RSVD)
  1066. #endif
  1067. /* --- Register HW_APBH_DEBUG, field GPMI_ONE_FIFO */
  1068. #define BP_APBH_DEBUG_GPMI_ONE_FIFO 0
  1069. #define BM_APBH_DEBUG_GPMI_ONE_FIFO 0x00000001
  1070. #define BF_APBH_DEBUG_GPMI_ONE_FIFO(v) (((v) << 0) & BM_APBH_DEBUG_GPMI_ONE_FIFO)
  1071. #ifndef __LANGUAGE_ASM__
  1072. #define BW_APBH_DEBUG_GPMI_ONE_FIFO(v) BF_CS1(APBH_DEBUG, GPMI_ONE_FIFO, v)
  1073. #endif
  1074. /*
  1075. * multi-register-define name HW_APBH_CHn_CURCMDAR
  1076. * base 0x00000100
  1077. * count 16
  1078. * offset 0x70
  1079. */
  1080. #ifndef __LANGUAGE_ASM__
  1081. typedef union {
  1082. reg32_t U;
  1083. struct {
  1084. unsigned CMD_ADDR:32;
  1085. } B;
  1086. } hw_apbh_chn_curcmdar_t;
  1087. #endif
  1088. /*
  1089. * constants & macros for entire HW_APBH_CHn_CURCMDAR multi-register
  1090. */
  1091. #define HW_APBH_CHn_CURCMDAR_COUNT 16
  1092. #define HW_APBH_CHn_CURCMDAR_ADDR(n) (0x110100 + ((n) * 0x70))
  1093. #ifndef __LANGUAGE_ASM__
  1094. #define HW_APBH_CHn_CURCMDAR(n) (*(volatile hw_apbh_chn_curcmdar_t *) HW_APBH_CHn_CURCMDAR_ADDR(n))
  1095. #define HW_APBH_CHn_CURCMDAR_RD(n) (HW_APBH_CHn_CURCMDAR(n).U)
  1096. #endif
  1097. /*
  1098. * constants & macros for individual HW_APBH_CHn_CURCMDAR multi-register bitfields
  1099. */
  1100. /* --- Register HW_APBH_CHn_CURCMDAR, field CMD_ADDR */
  1101. #define BP_APBH_CHn_CURCMDAR_CMD_ADDR 0
  1102. #define BM_APBH_CHn_CURCMDAR_CMD_ADDR 0xFFFFFFFF
  1103. #ifndef __LANGUAGE_ASM__
  1104. #define BF_APBH_CHn_CURCMDAR_CMD_ADDR(v) ((reg32_t) v)
  1105. #else
  1106. #define BF_APBH_CHn_CURCMDAR_CMD_ADDR(v) (v)
  1107. #endif
  1108. /*
  1109. * multi-register-define name HW_APBH_CHn_NXTCMDAR
  1110. * base 0x00000110
  1111. * count 16
  1112. * offset 0x70
  1113. */
  1114. #ifndef __LANGUAGE_ASM__
  1115. typedef union {
  1116. reg32_t U;
  1117. struct {
  1118. unsigned CMD_ADDR:32;
  1119. } B;
  1120. } hw_apbh_chn_nxtcmdar_t;
  1121. #endif
  1122. /*
  1123. * constants & macros for entire HW_APBH_CHn_NXTCMDAR multi-register
  1124. */
  1125. #define HW_APBH_CHn_NXTCMDAR_COUNT 16
  1126. #define HW_APBH_CHn_NXTCMDAR_ADDR(n) (0x110110 + ((n) * 0x70))
  1127. #ifndef __LANGUAGE_ASM__
  1128. #define HW_APBH_CHn_NXTCMDAR(n) (*(volatile hw_apbh_chn_nxtcmdar_t *) HW_APBH_CHn_NXTCMDAR_ADDR(n))
  1129. #define HW_APBH_CHn_NXTCMDAR_RD(n) (HW_APBH_CHn_NXTCMDAR(n).U)
  1130. #define HW_APBH_CHn_NXTCMDAR_WR(n, v) (HW_APBH_CHn_NXTCMDAR(n).U = (v))
  1131. #define HW_APBH_CHn_NXTCMDAR_SET(n, v) (HW_APBH_CHn_NXTCMDAR_WR(n, HW_APBH_CHn_NXTCMDAR_RD(n) | (v)))
  1132. #define HW_APBH_CHn_NXTCMDAR_CLR(n, v) (HW_APBH_CHn_NXTCMDAR_WR(n, HW_APBH_CHn_NXTCMDAR_RD(n) & ~(v)))
  1133. #define HW_APBH_CHn_NXTCMDAR_TOG(n, v) (HW_APBH_CHn_NXTCMDAR_WR(n, HW_APBH_CHn_NXTCMDAR_RD(n) ^ (v)))
  1134. #endif
  1135. /*
  1136. * constants & macros for individual HW_APBH_CHn_NXTCMDAR multi-register bitfields
  1137. */
  1138. /* --- Register HW_APBH_CHn_NXTCMDAR, field CMD_ADDR */
  1139. #define BP_APBH_CHn_NXTCMDAR_CMD_ADDR 0
  1140. #define BM_APBH_CHn_NXTCMDAR_CMD_ADDR 0xFFFFFFFF
  1141. #ifndef __LANGUAGE_ASM__
  1142. #define BF_APBH_CHn_NXTCMDAR_CMD_ADDR(v) ((reg32_t) v)
  1143. #else
  1144. #define BF_APBH_CHn_NXTCMDAR_CMD_ADDR(v) (v)
  1145. #endif
  1146. #ifndef __LANGUAGE_ASM__
  1147. #define BW_APBH_CHn_NXTCMDAR_CMD_ADDR(n, v) (HW_APBH_CHn_NXTCMDAR(n).B.CMD_ADDR = (v))
  1148. #endif
  1149. /*
  1150. * multi-register-define name HW_APBH_CHn_CMD
  1151. * base 0x00000120
  1152. * count 16
  1153. * offset 0x70
  1154. */
  1155. #ifndef __LANGUAGE_ASM__
  1156. typedef union {
  1157. reg32_t U;
  1158. struct {
  1159. unsigned COMMAND:2;
  1160. unsigned CHAIN:1;
  1161. unsigned IRQONCMPLT:1;
  1162. unsigned NANDLOCK:1;
  1163. unsigned NANDWAIT4READY:1;
  1164. unsigned SEMAPHORE:1;
  1165. unsigned WAIT4ENDCMD:1;
  1166. unsigned HALTONTERMINATE:1;
  1167. unsigned RSVD1:3;
  1168. unsigned CMDWORDS:4;
  1169. unsigned XFER_COUNT:16;
  1170. } B;
  1171. } hw_apbh_chn_cmd_t;
  1172. #endif
  1173. /*
  1174. * constants & macros for entire HW_APBH_CHn_CMD multi-register
  1175. */
  1176. #define HW_APBH_CHn_CMD_COUNT 16
  1177. #define HW_APBH_CHn_CMD_ADDR(n) (0x110120 + ((n) * 0x70))
  1178. #ifndef __LANGUAGE_ASM__
  1179. #define HW_APBH_CHn_CMD(n) (*(volatile hw_apbh_chn_cmd_t *) HW_APBH_CHn_CMD_ADDR(n))
  1180. #define HW_APBH_CHn_CMD_RD(n) (HW_APBH_CHn_CMD(n).U)
  1181. #endif
  1182. /*
  1183. * constants & macros for individual HW_APBH_CHn_CMD multi-register bitfields
  1184. */
  1185. /* --- Register HW_APBH_CHn_CMD, field XFER_COUNT */
  1186. #define BP_APBH_CHn_CMD_XFER_COUNT 16
  1187. #define BM_APBH_CHn_CMD_XFER_COUNT 0xFFFF0000
  1188. #ifndef __LANGUAGE_ASM__
  1189. #define BF_APBH_CHn_CMD_XFER_COUNT(v) ((((reg32_t) v) << 16) & BM_APBH_CHn_CMD_XFER_COUNT)
  1190. #else
  1191. #define BF_APBH_CHn_CMD_XFER_COUNT(v) (((v) << 16) & BM_APBH_CHn_CMD_XFER_COUNT)
  1192. #endif
  1193. /* --- Register HW_APBH_CHn_CMD, field CMDWORDS */
  1194. #define BP_APBH_CHn_CMD_CMDWORDS 12
  1195. #define BM_APBH_CHn_CMD_CMDWORDS 0x0000F000
  1196. #define BF_APBH_CHn_CMD_CMDWORDS(v) (((v) << 12) & BM_APBH_CHn_CMD_CMDWORDS)
  1197. /* --- Register HW_APBH_CHn_CMD, field RSVD1 */
  1198. #define BP_APBH_CHn_CMD_RSVD1 9
  1199. #define BM_APBH_CHn_CMD_RSVD1 0x00000E00
  1200. #define BF_APBH_CHn_CMD_RSVD1(v) (((v) << 9) & BM_APBH_CHn_CMD_RSVD1)
  1201. /* --- Register HW_APBH_CHn_CMD, field HALTONTERMINATE */
  1202. #define BP_APBH_CHn_CMD_HALTONTERMINATE 8
  1203. #define BM_APBH_CHn_CMD_HALTONTERMINATE 0x00000100
  1204. #define BF_APBH_CHn_CMD_HALTONTERMINATE(v) (((v) << 8) & BM_APBH_CHn_CMD_HALTONTERMINATE)
  1205. /* --- Register HW_APBH_CHn_CMD, field WAIT4ENDCMD */
  1206. #define BP_APBH_CHn_CMD_WAIT4ENDCMD 7
  1207. #define BM_APBH_CHn_CMD_WAIT4ENDCMD 0x00000080
  1208. #define BF_APBH_CHn_CMD_WAIT4ENDCMD(v) (((v) << 7) & BM_APBH_CHn_CMD_WAIT4ENDCMD)
  1209. /* --- Register HW_APBH_CHn_CMD, field SEMAPHORE */
  1210. #define BP_APBH_CHn_CMD_SEMAPHORE 6
  1211. #define BM_APBH_CHn_CMD_SEMAPHORE 0x00000040
  1212. #define BF_APBH_CHn_CMD_SEMAPHORE(v) (((v) << 6) & BM_APBH_CHn_CMD_SEMAPHORE)
  1213. /* --- Register HW_APBH_CHn_CMD, field NANDWAIT4READY */
  1214. #define BP_APBH_CHn_CMD_NANDWAIT4READY 5
  1215. #define BM_APBH_CHn_CMD_NANDWAIT4READY 0x00000020
  1216. #define BF_APBH_CHn_CMD_NANDWAIT4READY(v) (((v) << 5) & BM_APBH_CHn_CMD_NANDWAIT4READY)
  1217. /* --- Register HW_APBH_CHn_CMD, field NANDLOCK */
  1218. #define BP_APBH_CHn_CMD_NANDLOCK 4
  1219. #define BM_APBH_CHn_CMD_NANDLOCK 0x00000010
  1220. #define BF_APBH_CHn_CMD_NANDLOCK(v) (((v) << 4) & BM_APBH_CHn_CMD_NANDLOCK)
  1221. /* --- Register HW_APBH_CHn_CMD, field IRQONCMPLT */
  1222. #define BP_APBH_CHn_CMD_IRQONCMPLT 3
  1223. #define BM_APBH_CHn_CMD_IRQONCMPLT 0x00000008
  1224. #define BF_APBH_CHn_CMD_IRQONCMPLT(v) (((v) << 3) & BM_APBH_CHn_CMD_IRQONCMPLT)
  1225. /* --- Register HW_APBH_CHn_CMD, field CHAIN */
  1226. #define BP_APBH_CHn_CMD_CHAIN 2
  1227. #define BM_APBH_CHn_CMD_CHAIN 0x00000004
  1228. #define BF_APBH_CHn_CMD_CHAIN(v) (((v) << 2) & BM_APBH_CHn_CMD_CHAIN)
  1229. /* --- Register HW_APBH_CHn_CMD, field COMMAND */
  1230. #define BP_APBH_CHn_CMD_COMMAND 0
  1231. #define BM_APBH_CHn_CMD_COMMAND 0x00000003
  1232. #define BF_APBH_CHn_CMD_COMMAND(v) (((v) << 0) & BM_APBH_CHn_CMD_COMMAND)
  1233. #define BV_APBH_CHn_CMD_COMMAND__NO_DMA_XFER 0x0
  1234. #define BV_APBH_CHn_CMD_COMMAND__DMA_WRITE 0x1
  1235. #define BV_APBH_CHn_CMD_COMMAND__DMA_READ 0x2
  1236. #define BV_APBH_CHn_CMD_COMMAND__DMA_SENSE 0x3
  1237. /*
  1238. * multi-register-define name HW_APBH_CHn_BAR
  1239. * base 0x00000130
  1240. * count 16
  1241. * offset 0x70
  1242. */
  1243. #ifndef __LANGUAGE_ASM__
  1244. typedef union {
  1245. reg32_t U;
  1246. struct {
  1247. unsigned ADDRESS:32;
  1248. } B;
  1249. } hw_apbh_chn_bar_t;
  1250. #endif
  1251. /*
  1252. * constants & macros for entire HW_APBH_CHn_BAR multi-register
  1253. */
  1254. #define HW_APBH_CHn_BAR_COUNT 16
  1255. #define HW_APBH_CHn_BAR_ADDR(n) (0x110130 + ((n) * 0x70))
  1256. #ifndef __LANGUAGE_ASM__
  1257. #define HW_APBH_CHn_BAR(n) (*(volatile hw_apbh_chn_bar_t *) HW_APBH_CHn_BAR_ADDR(n))
  1258. #define HW_APBH_CHn_BAR_RD(n) (HW_APBH_CHn_BAR(n).U)
  1259. #endif
  1260. /*
  1261. * constants & macros for individual HW_APBH_CHn_BAR multi-register bitfields
  1262. */
  1263. /* --- Register HW_APBH_CHn_BAR, field ADDRESS */
  1264. #define BP_APBH_CHn_BAR_ADDRESS 0
  1265. #define BM_APBH_CHn_BAR_ADDRESS 0xFFFFFFFF
  1266. #ifndef __LANGUAGE_ASM__
  1267. #define BF_APBH_CHn_BAR_ADDRESS(v) ((reg32_t) v)
  1268. #else
  1269. #define BF_APBH_CHn_BAR_ADDRESS(v) (v)
  1270. #endif
  1271. /*
  1272. * multi-register-define name HW_APBH_CHn_SEMA
  1273. * base 0x00000140
  1274. * count 16
  1275. * offset 0x70
  1276. */
  1277. #ifndef __LANGUAGE_ASM__
  1278. typedef union {
  1279. reg32_t U;
  1280. struct {
  1281. unsigned INCREMENT_SEMA:8;
  1282. unsigned RSVD1:8;
  1283. unsigned PHORE:8;
  1284. unsigned RSVD2:8;
  1285. } B;
  1286. } hw_apbh_chn_sema_t;
  1287. #endif
  1288. /*
  1289. * constants & macros for entire HW_APBH_CHn_SEMA multi-register
  1290. */
  1291. #define HW_APBH_CHn_SEMA_COUNT 16
  1292. #define HW_APBH_CHn_SEMA_ADDR(n) (0x110140 + ((n) * 0x70))
  1293. #ifndef __LANGUAGE_ASM__
  1294. #define HW_APBH_CHn_SEMA(n) (*(volatile hw_apbh_chn_sema_t *) HW_APBH_CHn_SEMA_ADDR(n))
  1295. #define HW_APBH_CHn_SEMA_RD(n) (HW_APBH_CHn_SEMA(n).U)
  1296. #define HW_APBH_CHn_SEMA_WR(n, v) (HW_APBH_CHn_SEMA(n).U = (v))
  1297. #define HW_APBH_CHn_SEMA_SET(n, v) (HW_APBH_CHn_SEMA_WR(n, HW_APBH_CHn_SEMA_RD(n) | (v)))
  1298. #define HW_APBH_CHn_SEMA_CLR(n, v) (HW_APBH_CHn_SEMA_WR(n, HW_APBH_CHn_SEMA_RD(n) & ~(v)))
  1299. #define HW_APBH_CHn_SEMA_TOG(n, v) (HW_APBH_CHn_SEMA_WR(n, HW_APBH_CHn_SEMA_RD(n) ^ (v)))
  1300. #endif
  1301. /*
  1302. * constants & macros for individual HW_APBH_CHn_SEMA multi-register bitfields
  1303. */
  1304. /* --- Register HW_APBH_CHn_SEMA, field RSVD2 */
  1305. #define BP_APBH_CHn_SEMA_RSVD2 24
  1306. #define BM_APBH_CHn_SEMA_RSVD2 0xFF000000
  1307. #ifndef __LANGUAGE_ASM__
  1308. #define BF_APBH_CHn_SEMA_RSVD2(v) ((((reg32_t) v) << 24) & BM_APBH_CHn_SEMA_RSVD2)
  1309. #else
  1310. #define BF_APBH_CHn_SEMA_RSVD2(v) (((v) << 24) & BM_APBH_CHn_SEMA_RSVD2)
  1311. #endif
  1312. /* --- Register HW_APBH_CHn_SEMA, field PHORE */
  1313. #define BP_APBH_CHn_SEMA_PHORE 16
  1314. #define BM_APBH_CHn_SEMA_PHORE 0x00FF0000
  1315. #define BF_APBH_CHn_SEMA_PHORE(v) (((v) << 16) & BM_APBH_CHn_SEMA_PHORE)
  1316. /* --- Register HW_APBH_CHn_SEMA, field RSVD1 */
  1317. #define BP_APBH_CHn_SEMA_RSVD1 8
  1318. #define BM_APBH_CHn_SEMA_RSVD1 0x0000FF00
  1319. #define BF_APBH_CHn_SEMA_RSVD1(v) (((v) << 8) & BM_APBH_CHn_SEMA_RSVD1)
  1320. /* --- Register HW_APBH_CHn_SEMA, field INCREMENT_SEMA */
  1321. #define BP_APBH_CHn_SEMA_INCREMENT_SEMA 0
  1322. #define BM_APBH_CHn_SEMA_INCREMENT_SEMA 0x000000FF
  1323. #define BF_APBH_CHn_SEMA_INCREMENT_SEMA(v) (((v) << 0) & BM_APBH_CHn_SEMA_INCREMENT_SEMA)
  1324. #ifndef __LANGUAGE_ASM__
  1325. #define BW_APBH_CHn_SEMA_INCREMENT_SEMA(n, v) (HW_APBH_CHn_SEMA(n).B.INCREMENT_SEMA = (v))
  1326. #endif
  1327. /*
  1328. * multi-register-define name HW_APBH_CHn_DEBUG1
  1329. * base 0x00000150
  1330. * count 16
  1331. * offset 0x70
  1332. */
  1333. #ifndef __LANGUAGE_ASM__
  1334. typedef union {
  1335. reg32_t U;
  1336. struct {
  1337. unsigned STATEMACHINE:5;
  1338. unsigned RSVD1:15;
  1339. unsigned WR_FIFO_FULL:1;
  1340. unsigned WR_FIFO_EMPTY:1;
  1341. unsigned RD_FIFO_FULL:1;
  1342. unsigned RD_FIFO_EMPTY:1;
  1343. unsigned NEXTCMDADDRVALID:1;
  1344. unsigned LOCK:1;
  1345. unsigned READY:1;
  1346. unsigned SENSE:1;
  1347. unsigned END:1;
  1348. unsigned KICK:1;
  1349. unsigned BURST:1;
  1350. unsigned REQ:1;
  1351. } B;
  1352. } hw_apbh_chn_debug1_t;
  1353. #endif
  1354. /*
  1355. * constants & macros for entire HW_APBH_CHn_DEBUG1 multi-register
  1356. */
  1357. #define HW_APBH_CHn_DEBUG1_COUNT 16
  1358. #define HW_APBH_CHn_DEBUG1_ADDR(n) (0x110150 + ((n) * 0x70))
  1359. #ifndef __LANGUAGE_ASM__
  1360. #define HW_APBH_CHn_DEBUG1(n) (*(volatile hw_apbh_chn_debug1_t *) HW_APBH_CHn_DEBUG1_ADDR(n))
  1361. #define HW_APBH_CHn_DEBUG1_RD(n) (HW_APBH_CHn_DEBUG1(n).U)
  1362. #endif
  1363. /*
  1364. * constants & macros for individual HW_APBH_CHn_DEBUG1 multi-register bitfields
  1365. */
  1366. /* --- Register HW_APBH_CHn_DEBUG1, field REQ */
  1367. #define BP_APBH_CHn_DEBUG1_REQ 31
  1368. #define BM_APBH_CHn_DEBUG1_REQ 0x80000000
  1369. #ifndef __LANGUAGE_ASM__
  1370. #define BF_APBH_CHn_DEBUG1_REQ(v) ((((reg32_t) v) << 31) & BM_APBH_CHn_DEBUG1_REQ)
  1371. #else
  1372. #define BF_APBH_CHn_DEBUG1_REQ(v) (((v) << 31) & BM_APBH_CHn_DEBUG1_REQ)
  1373. #endif
  1374. /* --- Register HW_APBH_CHn_DEBUG1, field BURST */
  1375. #define BP_APBH_CHn_DEBUG1_BURST 30
  1376. #define BM_APBH_CHn_DEBUG1_BURST 0x40000000
  1377. #define BF_APBH_CHn_DEBUG1_BURST(v) (((v) << 30) & BM_APBH_CHn_DEBUG1_BURST)
  1378. /* --- Register HW_APBH_CHn_DEBUG1, field KICK */
  1379. #define BP_APBH_CHn_DEBUG1_KICK 29
  1380. #define BM_APBH_CHn_DEBUG1_KICK 0x20000000
  1381. #define BF_APBH_CHn_DEBUG1_KICK(v) (((v) << 29) & BM_APBH_CHn_DEBUG1_KICK)
  1382. /* --- Register HW_APBH_CHn_DEBUG1, field END */
  1383. #define BP_APBH_CHn_DEBUG1_END 28
  1384. #define BM_APBH_CHn_DEBUG1_END 0x10000000
  1385. #define BF_APBH_CHn_DEBUG1_END(v) (((v) << 28) & BM_APBH_CHn_DEBUG1_END)
  1386. /* --- Register HW_APBH_CHn_DEBUG1, field SENSE */
  1387. #define BP_APBH_CHn_DEBUG1_SENSE 27
  1388. #define BM_APBH_CHn_DEBUG1_SENSE 0x08000000
  1389. #define BF_APBH_CHn_DEBUG1_SENSE(v) (((v) << 27) & BM_APBH_CHn_DEBUG1_SENSE)
  1390. /* --- Register HW_APBH_CHn_DEBUG1, field READY */
  1391. #define BP_APBH_CHn_DEBUG1_READY 26
  1392. #define BM_APBH_CHn_DEBUG1_READY 0x04000000
  1393. #define BF_APBH_CHn_DEBUG1_READY(v) (((v) << 26) & BM_APBH_CHn_DEBUG1_READY)
  1394. /* --- Register HW_APBH_CHn_DEBUG1, field LOCK */
  1395. #define BP_APBH_CHn_DEBUG1_LOCK 25
  1396. #define BM_APBH_CHn_DEBUG1_LOCK 0x02000000
  1397. #define BF_APBH_CHn_DEBUG1_LOCK(v) (((v) << 25) & BM_APBH_CHn_DEBUG1_LOCK)
  1398. /* --- Register HW_APBH_CHn_DEBUG1, field NEXTCMDADDRVALID */
  1399. #define BP_APBH_CHn_DEBUG1_NEXTCMDADDRVALID 24
  1400. #define BM_APBH_CHn_DEBUG1_NEXTCMDADDRVALID 0x01000000
  1401. #define BF_APBH_CHn_DEBUG1_NEXTCMDADDRVALID(v) (((v) << 24) & BM_APBH_CHn_DEBUG1_NEXTCMDADDRVALID)
  1402. /* --- Register HW_APBH_CHn_DEBUG1, field RD_FIFO_EMPTY */
  1403. #define BP_APBH_CHn_DEBUG1_RD_FIFO_EMPTY 23
  1404. #define BM_APBH_CHn_DEBUG1_RD_FIFO_EMPTY 0x00800000
  1405. #define BF_APBH_CHn_DEBUG1_RD_FIFO_EMPTY(v) (((v) << 23) & BM_APBH_CHn_DEBUG1_RD_FIFO_EMPTY)
  1406. /* --- Register HW_APBH_CHn_DEBUG1, field RD_FIFO_FULL */
  1407. #define BP_APBH_CHn_DEBUG1_RD_FIFO_FULL 22
  1408. #define BM_APBH_CHn_DEBUG1_RD_FIFO_FULL 0x00400000
  1409. #define BF_APBH_CHn_DEBUG1_RD_FIFO_FULL(v) (((v) << 22) & BM_APBH_CHn_DEBUG1_RD_FIFO_FULL)
  1410. /* --- Register HW_APBH_CHn_DEBUG1, field WR_FIFO_EMPTY */
  1411. #define BP_APBH_CHn_DEBUG1_WR_FIFO_EMPTY 21
  1412. #define BM_APBH_CHn_DEBUG1_WR_FIFO_EMPTY 0x00200000
  1413. #define BF_APBH_CHn_DEBUG1_WR_FIFO_EMPTY(v) (((v) << 21) & BM_APBH_CHn_DEBUG1_WR_FIFO_EMPTY)
  1414. /* --- Register HW_APBH_CHn_DEBUG1, field WR_FIFO_FULL */
  1415. #define BP_APBH_CHn_DEBUG1_WR_FIFO_FULL 20
  1416. #define BM_APBH_CHn_DEBUG1_WR_FIFO_FULL 0x00100000
  1417. #define BF_APBH_CHn_DEBUG1_WR_FIFO_FULL(v) (((v) << 20) & BM_APBH_CHn_DEBUG1_WR_FIFO_FULL)
  1418. /* --- Register HW_APBH_CHn_DEBUG1, field RSVD1 */
  1419. #define BP_APBH_CHn_DEBUG1_RSVD1 5
  1420. #define BM_APBH_CHn_DEBUG1_RSVD1 0x000FFFE0
  1421. #define BF_APBH_CHn_DEBUG1_RSVD1(v) (((v) << 5) & BM_APBH_CHn_DEBUG1_RSVD1)
  1422. /* --- Register HW_APBH_CHn_DEBUG1, field STATEMACHINE */
  1423. #define BP_APBH_CHn_DEBUG1_STATEMACHINE 0
  1424. #define BM_APBH_CHn_DEBUG1_STATEMACHINE 0x0000001F
  1425. #define BF_APBH_CHn_DEBUG1_STATEMACHINE(v) (((v) << 0) & BM_APBH_CHn_DEBUG1_STATEMACHINE)
  1426. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__IDLE 0x00
  1427. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__REQ_CMD1 0x01
  1428. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__REQ_CMD3 0x02
  1429. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__REQ_CMD2 0x03
  1430. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__XFER_DECODE 0x04
  1431. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__REQ_WAIT 0x05
  1432. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__REQ_CMD4 0x06
  1433. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__PIO_REQ 0x07
  1434. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__READ_FLUSH 0x08
  1435. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__READ_WAIT 0x09
  1436. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__WRITE 0x0C
  1437. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__READ_REQ 0x0D
  1438. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__CHECK_CHAIN 0x0E
  1439. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__XFER_COMPLETE 0x0F
  1440. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__TERMINATE 0x14
  1441. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__WAIT_END 0x15
  1442. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__WRITE_WAIT 0x1C
  1443. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__HALT_AFTER_TERM 0x1D
  1444. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__CHECK_WAIT 0x1E
  1445. #define BV_APBH_CHn_DEBUG1_STATEMACHINE__WAIT_READY 0x1F
  1446. /*
  1447. * multi-register-define name HW_APBH_CHn_DEBUG2
  1448. * base 0x00000160
  1449. * count 16
  1450. * offset 0x70
  1451. */
  1452. #ifndef __LANGUAGE_ASM__
  1453. typedef union {
  1454. reg32_t U;
  1455. struct {
  1456. unsigned AHB_BYTES:16;
  1457. unsigned APB_BYTES:16;
  1458. } B;
  1459. } hw_apbh_chn_debug2_t;
  1460. #endif
  1461. /*
  1462. * constants & macros for entire HW_APBH_CHn_DEBUG2 multi-register
  1463. */
  1464. #define HW_APBH_CHn_DEBUG2_COUNT 16
  1465. #define HW_APBH_CHn_DEBUG2_ADDR(n) (0x110160 + ((n) * 0x70))
  1466. #ifndef __LANGUAGE_ASM__
  1467. #define HW_APBH_CHn_DEBUG2(n) (*(volatile hw_apbh_chn_debug2_t *) HW_APBH_CHn_DEBUG2_ADDR(n))
  1468. #define HW_APBH_CHn_DEBUG2_RD(n) (HW_APBH_CHn_DEBUG2(n).U)
  1469. #endif
  1470. /*
  1471. * constants & macros for individual HW_APBH_CHn_DEBUG2 multi-register bitfields
  1472. */
  1473. /* --- Register HW_APBH_CHn_DEBUG2, field APB_BYTES */
  1474. #define BP_APBH_CHn_DEBUG2_APB_BYTES 16
  1475. #define BM_APBH_CHn_DEBUG2_APB_BYTES 0xFFFF0000
  1476. #ifndef __LANGUAGE_ASM__
  1477. #define BF_APBH_CHn_DEBUG2_APB_BYTES(v) ((((reg32_t) v) << 16) & BM_APBH_CHn_DEBUG2_APB_BYTES)
  1478. #else
  1479. #define BF_APBH_CHn_DEBUG2_APB_BYTES(v) (((v) << 16) & BM_APBH_CHn_DEBUG2_APB_BYTES)
  1480. #endif
  1481. /* --- Register HW_APBH_CHn_DEBUG2, field AHB_BYTES */
  1482. #define BP_APBH_CHn_DEBUG2_AHB_BYTES 0
  1483. #define BM_APBH_CHn_DEBUG2_AHB_BYTES 0x0000FFFF
  1484. #define BF_APBH_CHn_DEBUG2_AHB_BYTES(v) (((v) << 0) & BM_APBH_CHn_DEBUG2_AHB_BYTES)
  1485. /*
  1486. * HW_APBH_VERSION - APBH Bridge Version Register
  1487. */
  1488. #ifndef __LANGUAGE_ASM__
  1489. typedef union {
  1490. reg32_t U;
  1491. struct {
  1492. unsigned STEP:16;
  1493. unsigned MINOR:8;
  1494. unsigned MAJOR:8;
  1495. } B;
  1496. } hw_apbh_version_t;
  1497. #endif
  1498. /*
  1499. * constants & macros for entire HW_APBH_VERSION register
  1500. */
  1501. #define HW_APBH_VERSION_ADDR (0x00110800)
  1502. #ifndef __LANGUAGE_ASM__
  1503. #ifndef ROCOO_TEST
  1504. #define HW_APBH_VERSION (*(volatile hw_apbh_version_t *) HW_APBH_VERSION_ADDR)
  1505. #define HW_APBH_VERSION_RD() (HW_APBH_VERSION.U)
  1506. #else
  1507. #define HW_APBH_VERSION_RD() (_rbase->mem32_read(HW_APBH_VERSION_ADDR))
  1508. #endif
  1509. #endif
  1510. /*
  1511. * constants & macros for individual HW_APBH_VERSION bitfields
  1512. */
  1513. /* --- Register HW_APBH_VERSION, field MAJOR */
  1514. #define BP_APBH_VERSION_MAJOR 24
  1515. #define BM_APBH_VERSION_MAJOR 0xFF000000
  1516. #ifndef __LANGUAGE_ASM__
  1517. #define BF_APBH_VERSION_MAJOR(v) ((((reg32_t) v) << 24) & BM_APBH_VERSION_MAJOR)
  1518. #else
  1519. #define BF_APBH_VERSION_MAJOR(v) (((v) << 24) & BM_APBH_VERSION_MAJOR)
  1520. #endif
  1521. /* --- Register HW_APBH_VERSION, field MINOR */
  1522. #define BP_APBH_VERSION_MINOR 16
  1523. #define BM_APBH_VERSION_MINOR 0x00FF0000
  1524. #define BF_APBH_VERSION_MINOR(v) (((v) << 16) & BM_APBH_VERSION_MINOR)
  1525. /* --- Register HW_APBH_VERSION, field STEP */
  1526. #define BP_APBH_VERSION_STEP 0
  1527. #define BM_APBH_VERSION_STEP 0x0000FFFF
  1528. #define BF_APBH_VERSION_STEP(v) (((v) << 0) & BM_APBH_VERSION_STEP)
  1529. #endif /* _APBH_H */
  1530. ////////////////////////////////////////////////////////////////////////////////