m532xsim.h 103 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239
  1. /****************************************************************************/
  2. /*
  3. * m532xsim.h -- ColdFire 5329 registers
  4. */
  5. /****************************************************************************/
  6. #ifndef m532xsim_h
  7. #define m532xsim_h
  8. /****************************************************************************/
  9. #define MCF_REG32(x) (*(volatile unsigned long *)(x))
  10. #define MCF_REG16(x) (*(volatile unsigned short *)(x))
  11. #define MCF_REG08(x) (*(volatile unsigned char *)(x))
  12. #define MCFINT_VECBASE 64
  13. #define MCFINT_UART0 26 /* Interrupt number for UART0 */
  14. #define MCFINT_UART1 27 /* Interrupt number for UART1 */
  15. #define MCFINT_UART2 28 /* Interrupt number for UART2 */
  16. #define MCF_WTM_WCR MCF_REG16(0xFC098000)
  17. /*
  18. * Define the 532x SIM register set addresses.
  19. */
  20. #define MCFSIM_IPRL 0xFC048004
  21. #define MCFSIM_IPRH 0xFC048000
  22. #define MCFSIM_IPR MCFSIM_IPRL
  23. #define MCFSIM_IMRL 0xFC04800C
  24. #define MCFSIM_IMRH 0xFC048008
  25. #define MCFSIM_IMR MCFSIM_IMRL
  26. #define MCFSIM_ICR0 0xFC048040
  27. #define MCFSIM_ICR1 0xFC048041
  28. #define MCFSIM_ICR2 0xFC048042
  29. #define MCFSIM_ICR3 0xFC048043
  30. #define MCFSIM_ICR4 0xFC048044
  31. #define MCFSIM_ICR5 0xFC048045
  32. #define MCFSIM_ICR6 0xFC048046
  33. #define MCFSIM_ICR7 0xFC048047
  34. #define MCFSIM_ICR8 0xFC048048
  35. #define MCFSIM_ICR9 0xFC048049
  36. #define MCFSIM_ICR10 0xFC04804A
  37. #define MCFSIM_ICR11 0xFC04804B
  38. /*
  39. * Some symbol defines for the above...
  40. */
  41. #define MCFSIM_SWDICR MCFSIM_ICR0 /* Watchdog timer ICR */
  42. #define MCFSIM_TIMER1ICR MCFSIM_ICR1 /* Timer 1 ICR */
  43. #define MCFSIM_TIMER2ICR MCFSIM_ICR2 /* Timer 2 ICR */
  44. #define MCFSIM_UART1ICR MCFSIM_ICR4 /* UART 1 ICR */
  45. #define MCFSIM_UART2ICR MCFSIM_ICR5 /* UART 2 ICR */
  46. #define MCFSIM_DMA0ICR MCFSIM_ICR6 /* DMA 0 ICR */
  47. #define MCFSIM_DMA1ICR MCFSIM_ICR7 /* DMA 1 ICR */
  48. #define MCFSIM_DMA2ICR MCFSIM_ICR8 /* DMA 2 ICR */
  49. #define MCFSIM_DMA3ICR MCFSIM_ICR9 /* DMA 3 ICR */
  50. #define MCFSIM_IMR_MASKALL 0xFFFFFFFF /* All SIM intr sources */
  51. #define MCFSIM_IMR_SIMR0 0xFC04801C
  52. #define MCFSIM_IMR_SIMR1 0xFC04C01C
  53. #define MCFSIM_IMR_CIMR0 0xFC04801D
  54. #define MCFSIM_IMR_CIMR1 0xFC04C01D
  55. #define MCFSIM_ICR_TIMER1 (0xFC048040+32)
  56. #define MCFSIM_ICR_TIMER2 (0xFC048040+33)
  57. /*
  58. * Macro to set IMR register. It is 32 bits on the 5307.
  59. */
  60. #define mcf_getimr() \
  61. *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IMR))
  62. #define mcf_setimr(imr) \
  63. *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IMR)) = (imr);
  64. #define mcf_getipr() \
  65. *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IPR))
  66. #define mcf_getiprl() \
  67. *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IPRL))
  68. #define mcf_getiprh() \
  69. *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IPRH))
  70. #define mcf_enable_irq0(irq) \
  71. *((volatile unsigned char*) (MCFSIM_IMR_CIMR0)) = (irq);
  72. #define mcf_enable_irq1(irq) \
  73. *((volatile unsigned char*) (MCFSIM_IMR_CIMR1)) = (irq);
  74. #define mcf_disable_irq0(irq) \
  75. *((volatile unsigned char*) (MCFSIM_IMR_SIMR0)) = (irq);
  76. #define mcf_disable_irq1(irq) \
  77. *((volatile unsigned char*) (MCFSIM_IMR_SIMR1)) = (irq);
  78. /*
  79. * Define the Cache register flags.
  80. */
  81. #define CACR_EC (1<<31)
  82. #define CACR_ESB (1<<29)
  83. #define CACR_DPI (1<<28)
  84. #define CACR_HLCK (1<<27)
  85. #define CACR_CINVA (1<<24)
  86. #define CACR_DNFB (1<<10)
  87. #define CACR_DCM_WTHRU (0<<8)
  88. #define CACR_DCM_WBACK (1<<8)
  89. #define CACR_DCM_OFF_PRE (2<<8)
  90. #define CACR_DCM_OFF_IMP (3<<8)
  91. #define CACR_DW (1<<5)
  92. #define ACR_BASE_POS 24
  93. #define ACR_MASK_POS 16
  94. #define ACR_ENABLE (1<<15)
  95. #define ACR_USER (0<<13)
  96. #define ACR_SUPER (1<<13)
  97. #define ACR_ANY (2<<13)
  98. #define ACR_CM_WTHRU (0<<5)
  99. #define ACR_CM_WBACK (1<<5)
  100. #define ACR_CM_OFF_PRE (2<<5)
  101. #define ACR_CM_OFF_IMP (3<<5)
  102. #define ACR_WPROTECT (1<<2)
  103. /*********************************************************************
  104. *
  105. * Inter-IC (I2C) Module
  106. *
  107. *********************************************************************/
  108. /* Read/Write access macros for general use */
  109. #define MCF532x_I2C_I2ADR (volatile u8 *) (0xFC058000) // Address
  110. #define MCF532x_I2C_I2FDR (volatile u8 *) (0xFC058004) // Freq Divider
  111. #define MCF532x_I2C_I2CR (volatile u8 *) (0xFC058008) // Control
  112. #define MCF532x_I2C_I2SR (volatile u8 *) (0xFC05800C) // Status
  113. #define MCF532x_I2C_I2DR (volatile u8 *) (0xFC058010) // Data I/O
  114. /* Bit level definitions and macros */
  115. #define MCF532x_I2C_I2ADR_ADDR(x) (((x)&0x7F)<<0x01)
  116. #define MCF532x_I2C_I2FDR_IC(x) (((x)&0x3F))
  117. #define MCF532x_I2C_I2CR_IEN (0x80) // I2C enable
  118. #define MCF532x_I2C_I2CR_IIEN (0x40) // interrupt enable
  119. #define MCF532x_I2C_I2CR_MSTA (0x20) // master/slave mode
  120. #define MCF532x_I2C_I2CR_MTX (0x10) // transmit/receive mode
  121. #define MCF532x_I2C_I2CR_TXAK (0x08) // transmit acknowledge enable
  122. #define MCF532x_I2C_I2CR_RSTA (0x04) // repeat start
  123. #define MCF532x_I2C_I2SR_ICF (0x80) // data transfer bit
  124. #define MCF532x_I2C_I2SR_IAAS (0x40) // I2C addressed as a slave
  125. #define MCF532x_I2C_I2SR_IBB (0x20) // I2C bus busy
  126. #define MCF532x_I2C_I2SR_IAL (0x10) // aribitration lost
  127. #define MCF532x_I2C_I2SR_SRW (0x04) // slave read/write
  128. #define MCF532x_I2C_I2SR_IIF (0x02) // I2C interrupt
  129. #define MCF532x_I2C_I2SR_RXAK (0x01) // received acknowledge
  130. #define MCF532x_PAR_FECI2C (volatile u8 *) (0xFC0A4053)
  131. /*
  132. * The M5329EVB board needs a help getting its devices initialized
  133. * at kernel start time if dBUG doesn't set it up (for example
  134. * it is not used), so we need to do it manually.
  135. */
  136. #ifdef __ASSEMBLER__
  137. .macro m5329EVB_setup
  138. movel #0xFC098000, %a7
  139. movel #0x0, (%a7)
  140. #define CORE_SRAM 0x80000000
  141. #define CORE_SRAM_SIZE 0x8000
  142. movel #CORE_SRAM, %d0
  143. addl #0x221, %d0
  144. movec %d0,%RAMBAR1
  145. movel #CORE_SRAM, %sp
  146. addl #CORE_SRAM_SIZE, %sp
  147. jsr sysinit
  148. .endm
  149. #define PLATFORM_SETUP m5329EVB_setup
  150. #endif /* __ASSEMBLER__ */
  151. /*********************************************************************
  152. *
  153. * Chip Configuration Module (CCM)
  154. *
  155. *********************************************************************/
  156. /* Register read/write macros */
  157. #define MCF_CCM_CCR MCF_REG16(0xFC0A0004)
  158. #define MCF_CCM_RCON MCF_REG16(0xFC0A0008)
  159. #define MCF_CCM_CIR MCF_REG16(0xFC0A000A)
  160. #define MCF_CCM_MISCCR MCF_REG16(0xFC0A0010)
  161. #define MCF_CCM_CDR MCF_REG16(0xFC0A0012)
  162. #define MCF_CCM_UHCSR MCF_REG16(0xFC0A0014)
  163. #define MCF_CCM_UOCSR MCF_REG16(0xFC0A0016)
  164. /* Bit definitions and macros for MCF_CCM_CCR */
  165. #define MCF_CCM_CCR_RESERVED (0x0001)
  166. #define MCF_CCM_CCR_PLL_MODE (0x0003)
  167. #define MCF_CCM_CCR_OSC_MODE (0x0005)
  168. #define MCF_CCM_CCR_BOOTPS(x) (((x)&0x0003)<<3|0x0001)
  169. #define MCF_CCM_CCR_LOAD (0x0021)
  170. #define MCF_CCM_CCR_LIMP (0x0041)
  171. #define MCF_CCM_CCR_CSC(x) (((x)&0x0003)<<8|0x0001)
  172. /* Bit definitions and macros for MCF_CCM_RCON */
  173. #define MCF_CCM_RCON_RESERVED (0x0001)
  174. #define MCF_CCM_RCON_PLL_MODE (0x0003)
  175. #define MCF_CCM_RCON_OSC_MODE (0x0005)
  176. #define MCF_CCM_RCON_BOOTPS(x) (((x)&0x0003)<<3|0x0001)
  177. #define MCF_CCM_RCON_LOAD (0x0021)
  178. #define MCF_CCM_RCON_LIMP (0x0041)
  179. #define MCF_CCM_RCON_CSC(x) (((x)&0x0003)<<8|0x0001)
  180. /* Bit definitions and macros for MCF_CCM_CIR */
  181. #define MCF_CCM_CIR_PRN(x) (((x)&0x003F)<<0)
  182. #define MCF_CCM_CIR_PIN(x) (((x)&0x03FF)<<6)
  183. /* Bit definitions and macros for MCF_CCM_MISCCR */
  184. #define MCF_CCM_MISCCR_USBSRC (0x0001)
  185. #define MCF_CCM_MISCCR_USBDIV (0x0002)
  186. #define MCF_CCM_MISCCR_SSI_SRC (0x0010)
  187. #define MCF_CCM_MISCCR_TIM_DMA (0x0020)
  188. #define MCF_CCM_MISCCR_SSI_PUS (0x0040)
  189. #define MCF_CCM_MISCCR_SSI_PUE (0x0080)
  190. #define MCF_CCM_MISCCR_LCD_CHEN (0x0100)
  191. #define MCF_CCM_MISCCR_LIMP (0x1000)
  192. #define MCF_CCM_MISCCR_PLL_LOCK (0x2000)
  193. /* Bit definitions and macros for MCF_CCM_CDR */
  194. #define MCF_CCM_CDR_SSIDIV(x) (((x)&0x000F)<<0)
  195. #define MCF_CCM_CDR_LPDIV(x) (((x)&0x000F)<<8)
  196. /* Bit definitions and macros for MCF_CCM_UHCSR */
  197. #define MCF_CCM_UHCSR_XPDE (0x0001)
  198. #define MCF_CCM_UHCSR_UHMIE (0x0002)
  199. #define MCF_CCM_UHCSR_WKUP (0x0004)
  200. #define MCF_CCM_UHCSR_PORTIND(x) (((x)&0x0003)<<14)
  201. /* Bit definitions and macros for MCF_CCM_UOCSR */
  202. #define MCF_CCM_UOCSR_XPDE (0x0001)
  203. #define MCF_CCM_UOCSR_UOMIE (0x0002)
  204. #define MCF_CCM_UOCSR_WKUP (0x0004)
  205. #define MCF_CCM_UOCSR_PWRFLT (0x0008)
  206. #define MCF_CCM_UOCSR_SEND (0x0010)
  207. #define MCF_CCM_UOCSR_VVLD (0x0020)
  208. #define MCF_CCM_UOCSR_BVLD (0x0040)
  209. #define MCF_CCM_UOCSR_AVLD (0x0080)
  210. #define MCF_CCM_UOCSR_DPPU (0x0100)
  211. #define MCF_CCM_UOCSR_DCR_VBUS (0x0200)
  212. #define MCF_CCM_UOCSR_CRG_VBUS (0x0400)
  213. #define MCF_CCM_UOCSR_DRV_VBUS (0x0800)
  214. #define MCF_CCM_UOCSR_DMPD (0x1000)
  215. #define MCF_CCM_UOCSR_DPPD (0x2000)
  216. #define MCF_CCM_UOCSR_PORTIND(x) (((x)&0x0003)<<14)
  217. /*********************************************************************
  218. *
  219. * DMA Timers (DTIM)
  220. *
  221. *********************************************************************/
  222. /* Register read/write macros */
  223. #define MCF_DTIM0_DTMR MCF_REG16(0xFC070000)
  224. #define MCF_DTIM0_DTXMR MCF_REG08(0xFC070002)
  225. #define MCF_DTIM0_DTER MCF_REG08(0xFC070003)
  226. #define MCF_DTIM0_DTRR MCF_REG32(0xFC070004)
  227. #define MCF_DTIM0_DTCR MCF_REG32(0xFC070008)
  228. #define MCF_DTIM0_DTCN MCF_REG32(0xFC07000C)
  229. #define MCF_DTIM1_DTMR MCF_REG16(0xFC074000)
  230. #define MCF_DTIM1_DTXMR MCF_REG08(0xFC074002)
  231. #define MCF_DTIM1_DTER MCF_REG08(0xFC074003)
  232. #define MCF_DTIM1_DTRR MCF_REG32(0xFC074004)
  233. #define MCF_DTIM1_DTCR MCF_REG32(0xFC074008)
  234. #define MCF_DTIM1_DTCN MCF_REG32(0xFC07400C)
  235. #define MCF_DTIM2_DTMR MCF_REG16(0xFC078000)
  236. #define MCF_DTIM2_DTXMR MCF_REG08(0xFC078002)
  237. #define MCF_DTIM2_DTER MCF_REG08(0xFC078003)
  238. #define MCF_DTIM2_DTRR MCF_REG32(0xFC078004)
  239. #define MCF_DTIM2_DTCR MCF_REG32(0xFC078008)
  240. #define MCF_DTIM2_DTCN MCF_REG32(0xFC07800C)
  241. #define MCF_DTIM3_DTMR MCF_REG16(0xFC07C000)
  242. #define MCF_DTIM3_DTXMR MCF_REG08(0xFC07C002)
  243. #define MCF_DTIM3_DTER MCF_REG08(0xFC07C003)
  244. #define MCF_DTIM3_DTRR MCF_REG32(0xFC07C004)
  245. #define MCF_DTIM3_DTCR MCF_REG32(0xFC07C008)
  246. #define MCF_DTIM3_DTCN MCF_REG32(0xFC07C00C)
  247. #define MCF_DTIM_DTMR(x) MCF_REG16(0xFC070000+((x)*0x4000))
  248. #define MCF_DTIM_DTXMR(x) MCF_REG08(0xFC070002+((x)*0x4000))
  249. #define MCF_DTIM_DTER(x) MCF_REG08(0xFC070003+((x)*0x4000))
  250. #define MCF_DTIM_DTRR(x) MCF_REG32(0xFC070004+((x)*0x4000))
  251. #define MCF_DTIM_DTCR(x) MCF_REG32(0xFC070008+((x)*0x4000))
  252. #define MCF_DTIM_DTCN(x) MCF_REG32(0xFC07000C+((x)*0x4000))
  253. /* Bit definitions and macros for MCF_DTIM_DTMR */
  254. #define MCF_DTIM_DTMR_RST (0x0001)
  255. #define MCF_DTIM_DTMR_CLK(x) (((x)&0x0003)<<1)
  256. #define MCF_DTIM_DTMR_FRR (0x0008)
  257. #define MCF_DTIM_DTMR_ORRI (0x0010)
  258. #define MCF_DTIM_DTMR_OM (0x0020)
  259. #define MCF_DTIM_DTMR_CE(x) (((x)&0x0003)<<6)
  260. #define MCF_DTIM_DTMR_PS(x) (((x)&0x00FF)<<8)
  261. #define MCF_DTIM_DTMR_CE_ANY (0x00C0)
  262. #define MCF_DTIM_DTMR_CE_FALL (0x0080)
  263. #define MCF_DTIM_DTMR_CE_RISE (0x0040)
  264. #define MCF_DTIM_DTMR_CE_NONE (0x0000)
  265. #define MCF_DTIM_DTMR_CLK_DTIN (0x0006)
  266. #define MCF_DTIM_DTMR_CLK_DIV16 (0x0004)
  267. #define MCF_DTIM_DTMR_CLK_DIV1 (0x0002)
  268. #define MCF_DTIM_DTMR_CLK_STOP (0x0000)
  269. /* Bit definitions and macros for MCF_DTIM_DTXMR */
  270. #define MCF_DTIM_DTXMR_MODE16 (0x01)
  271. #define MCF_DTIM_DTXMR_DMAEN (0x80)
  272. /* Bit definitions and macros for MCF_DTIM_DTER */
  273. #define MCF_DTIM_DTER_CAP (0x01)
  274. #define MCF_DTIM_DTER_REF (0x02)
  275. /* Bit definitions and macros for MCF_DTIM_DTRR */
  276. #define MCF_DTIM_DTRR_REF(x) (((x)&0xFFFFFFFF)<<0)
  277. /* Bit definitions and macros for MCF_DTIM_DTCR */
  278. #define MCF_DTIM_DTCR_CAP(x) (((x)&0xFFFFFFFF)<<0)
  279. /* Bit definitions and macros for MCF_DTIM_DTCN */
  280. #define MCF_DTIM_DTCN_CNT(x) (((x)&0xFFFFFFFF)<<0)
  281. /*********************************************************************
  282. *
  283. * FlexBus Chip Selects (FBCS)
  284. *
  285. *********************************************************************/
  286. /* Register read/write macros */
  287. #define MCF_FBCS0_CSAR MCF_REG32(0xFC008000)
  288. #define MCF_FBCS0_CSMR MCF_REG32(0xFC008004)
  289. #define MCF_FBCS0_CSCR MCF_REG32(0xFC008008)
  290. #define MCF_FBCS1_CSAR MCF_REG32(0xFC00800C)
  291. #define MCF_FBCS1_CSMR MCF_REG32(0xFC008010)
  292. #define MCF_FBCS1_CSCR MCF_REG32(0xFC008014)
  293. #define MCF_FBCS2_CSAR MCF_REG32(0xFC008018)
  294. #define MCF_FBCS2_CSMR MCF_REG32(0xFC00801C)
  295. #define MCF_FBCS2_CSCR MCF_REG32(0xFC008020)
  296. #define MCF_FBCS3_CSAR MCF_REG32(0xFC008024)
  297. #define MCF_FBCS3_CSMR MCF_REG32(0xFC008028)
  298. #define MCF_FBCS3_CSCR MCF_REG32(0xFC00802C)
  299. #define MCF_FBCS4_CSAR MCF_REG32(0xFC008030)
  300. #define MCF_FBCS4_CSMR MCF_REG32(0xFC008034)
  301. #define MCF_FBCS4_CSCR MCF_REG32(0xFC008038)
  302. #define MCF_FBCS5_CSAR MCF_REG32(0xFC00803C)
  303. #define MCF_FBCS5_CSMR MCF_REG32(0xFC008040)
  304. #define MCF_FBCS5_CSCR MCF_REG32(0xFC008044)
  305. #define MCF_FBCS_CSAR(x) MCF_REG32(0xFC008000+((x)*0x00C))
  306. #define MCF_FBCS_CSMR(x) MCF_REG32(0xFC008004+((x)*0x00C))
  307. #define MCF_FBCS_CSCR(x) MCF_REG32(0xFC008008+((x)*0x00C))
  308. /* Bit definitions and macros for MCF_FBCS_CSAR */
  309. #define MCF_FBCS_CSAR_BA(x) ((x)&0xFFFF0000)
  310. /* Bit definitions and macros for MCF_FBCS_CSMR */
  311. #define MCF_FBCS_CSMR_V (0x00000001)
  312. #define MCF_FBCS_CSMR_WP (0x00000100)
  313. #define MCF_FBCS_CSMR_BAM(x) (((x)&0x0000FFFF)<<16)
  314. #define MCF_FBCS_CSMR_BAM_4G (0xFFFF0000)
  315. #define MCF_FBCS_CSMR_BAM_2G (0x7FFF0000)
  316. #define MCF_FBCS_CSMR_BAM_1G (0x3FFF0000)
  317. #define MCF_FBCS_CSMR_BAM_1024M (0x3FFF0000)
  318. #define MCF_FBCS_CSMR_BAM_512M (0x1FFF0000)
  319. #define MCF_FBCS_CSMR_BAM_256M (0x0FFF0000)
  320. #define MCF_FBCS_CSMR_BAM_128M (0x07FF0000)
  321. #define MCF_FBCS_CSMR_BAM_64M (0x03FF0000)
  322. #define MCF_FBCS_CSMR_BAM_32M (0x01FF0000)
  323. #define MCF_FBCS_CSMR_BAM_16M (0x00FF0000)
  324. #define MCF_FBCS_CSMR_BAM_8M (0x007F0000)
  325. #define MCF_FBCS_CSMR_BAM_4M (0x003F0000)
  326. #define MCF_FBCS_CSMR_BAM_2M (0x001F0000)
  327. #define MCF_FBCS_CSMR_BAM_1M (0x000F0000)
  328. #define MCF_FBCS_CSMR_BAM_1024K (0x000F0000)
  329. #define MCF_FBCS_CSMR_BAM_512K (0x00070000)
  330. #define MCF_FBCS_CSMR_BAM_256K (0x00030000)
  331. #define MCF_FBCS_CSMR_BAM_128K (0x00010000)
  332. #define MCF_FBCS_CSMR_BAM_64K (0x00000000)
  333. /* Bit definitions and macros for MCF_FBCS_CSCR */
  334. #define MCF_FBCS_CSCR_BSTW (0x00000008)
  335. #define MCF_FBCS_CSCR_BSTR (0x00000010)
  336. #define MCF_FBCS_CSCR_BEM (0x00000020)
  337. #define MCF_FBCS_CSCR_PS(x) (((x)&0x00000003)<<6)
  338. #define MCF_FBCS_CSCR_AA (0x00000100)
  339. #define MCF_FBCS_CSCR_SBM (0x00000200)
  340. #define MCF_FBCS_CSCR_WS(x) (((x)&0x0000003F)<<10)
  341. #define MCF_FBCS_CSCR_WRAH(x) (((x)&0x00000003)<<16)
  342. #define MCF_FBCS_CSCR_RDAH(x) (((x)&0x00000003)<<18)
  343. #define MCF_FBCS_CSCR_ASET(x) (((x)&0x00000003)<<20)
  344. #define MCF_FBCS_CSCR_SWSEN (0x00800000)
  345. #define MCF_FBCS_CSCR_SWS(x) (((x)&0x0000003F)<<26)
  346. #define MCF_FBCS_CSCR_PS_8 (0x0040)
  347. #define MCF_FBCS_CSCR_PS_16 (0x0080)
  348. #define MCF_FBCS_CSCR_PS_32 (0x0000)
  349. /*********************************************************************
  350. *
  351. * General Purpose I/O (GPIO)
  352. *
  353. *********************************************************************/
  354. /* Register read/write macros */
  355. #define MCF_GPIO_PODR_FECH MCF_REG08(0xFC0A4000)
  356. #define MCF_GPIO_PODR_FECL MCF_REG08(0xFC0A4001)
  357. #define MCF_GPIO_PODR_SSI MCF_REG08(0xFC0A4002)
  358. #define MCF_GPIO_PODR_BUSCTL MCF_REG08(0xFC0A4003)
  359. #define MCF_GPIO_PODR_BE MCF_REG08(0xFC0A4004)
  360. #define MCF_GPIO_PODR_CS MCF_REG08(0xFC0A4005)
  361. #define MCF_GPIO_PODR_PWM MCF_REG08(0xFC0A4006)
  362. #define MCF_GPIO_PODR_FECI2C MCF_REG08(0xFC0A4007)
  363. #define MCF_GPIO_PODR_UART MCF_REG08(0xFC0A4009)
  364. #define MCF_GPIO_PODR_QSPI MCF_REG08(0xFC0A400A)
  365. #define MCF_GPIO_PODR_TIMER MCF_REG08(0xFC0A400B)
  366. #define MCF_GPIO_PODR_LCDDATAH MCF_REG08(0xFC0A400D)
  367. #define MCF_GPIO_PODR_LCDDATAM MCF_REG08(0xFC0A400E)
  368. #define MCF_GPIO_PODR_LCDDATAL MCF_REG08(0xFC0A400F)
  369. #define MCF_GPIO_PODR_LCDCTLH MCF_REG08(0xFC0A4010)
  370. #define MCF_GPIO_PODR_LCDCTLL MCF_REG08(0xFC0A4011)
  371. #define MCF_GPIO_PDDR_FECH MCF_REG08(0xFC0A4014)
  372. #define MCF_GPIO_PDDR_FECL MCF_REG08(0xFC0A4015)
  373. #define MCF_GPIO_PDDR_SSI MCF_REG08(0xFC0A4016)
  374. #define MCF_GPIO_PDDR_BUSCTL MCF_REG08(0xFC0A4017)
  375. #define MCF_GPIO_PDDR_BE MCF_REG08(0xFC0A4018)
  376. #define MCF_GPIO_PDDR_CS MCF_REG08(0xFC0A4019)
  377. #define MCF_GPIO_PDDR_PWM MCF_REG08(0xFC0A401A)
  378. #define MCF_GPIO_PDDR_FECI2C MCF_REG08(0xFC0A401B)
  379. #define MCF_GPIO_PDDR_UART MCF_REG08(0xFC0A401C)
  380. #define MCF_GPIO_PDDR_QSPI MCF_REG08(0xFC0A401E)
  381. #define MCF_GPIO_PDDR_TIMER MCF_REG08(0xFC0A401F)
  382. #define MCF_GPIO_PDDR_LCDDATAH MCF_REG08(0xFC0A4021)
  383. #define MCF_GPIO_PDDR_LCDDATAM MCF_REG08(0xFC0A4022)
  384. #define MCF_GPIO_PDDR_LCDDATAL MCF_REG08(0xFC0A4023)
  385. #define MCF_GPIO_PDDR_LCDCTLH MCF_REG08(0xFC0A4024)
  386. #define MCF_GPIO_PDDR_LCDCTLL MCF_REG08(0xFC0A4025)
  387. #define MCF_GPIO_PPDSDR_FECH MCF_REG08(0xFC0A4028)
  388. #define MCF_GPIO_PPDSDR_FECL MCF_REG08(0xFC0A4029)
  389. #define MCF_GPIO_PPDSDR_SSI MCF_REG08(0xFC0A402A)
  390. #define MCF_GPIO_PPDSDR_BUSCTL MCF_REG08(0xFC0A402B)
  391. #define MCF_GPIO_PPDSDR_BE MCF_REG08(0xFC0A402C)
  392. #define MCF_GPIO_PPDSDR_CS MCF_REG08(0xFC0A402D)
  393. #define MCF_GPIO_PPDSDR_PWM MCF_REG08(0xFC0A402E)
  394. #define MCF_GPIO_PPDSDR_FECI2C MCF_REG08(0xFC0A402F)
  395. #define MCF_GPIO_PPDSDR_UART MCF_REG08(0xFC0A4031)
  396. #define MCF_GPIO_PPDSDR_QSPI MCF_REG08(0xFC0A4032)
  397. #define MCF_GPIO_PPDSDR_TIMER MCF_REG08(0xFC0A4033)
  398. #define MCF_GPIO_PPDSDR_LCDDATAH MCF_REG08(0xFC0A4035)
  399. #define MCF_GPIO_PPDSDR_LCDDATAM MCF_REG08(0xFC0A4036)
  400. #define MCF_GPIO_PPDSDR_LCDDATAL MCF_REG08(0xFC0A4037)
  401. #define MCF_GPIO_PPDSDR_LCDCTLH MCF_REG08(0xFC0A4038)
  402. #define MCF_GPIO_PPDSDR_LCDCTLL MCF_REG08(0xFC0A4039)
  403. #define MCF_GPIO_PCLRR_FECH MCF_REG08(0xFC0A403C)
  404. #define MCF_GPIO_PCLRR_FECL MCF_REG08(0xFC0A403D)
  405. #define MCF_GPIO_PCLRR_SSI MCF_REG08(0xFC0A403E)
  406. #define MCF_GPIO_PCLRR_BUSCTL MCF_REG08(0xFC0A403F)
  407. #define MCF_GPIO_PCLRR_BE MCF_REG08(0xFC0A4040)
  408. #define MCF_GPIO_PCLRR_CS MCF_REG08(0xFC0A4041)
  409. #define MCF_GPIO_PCLRR_PWM MCF_REG08(0xFC0A4042)
  410. #define MCF_GPIO_PCLRR_FECI2C MCF_REG08(0xFC0A4043)
  411. #define MCF_GPIO_PCLRR_UART MCF_REG08(0xFC0A4045)
  412. #define MCF_GPIO_PCLRR_QSPI MCF_REG08(0xFC0A4046)
  413. #define MCF_GPIO_PCLRR_TIMER MCF_REG08(0xFC0A4047)
  414. #define MCF_GPIO_PCLRR_LCDDATAH MCF_REG08(0xFC0A4049)
  415. #define MCF_GPIO_PCLRR_LCDDATAM MCF_REG08(0xFC0A404A)
  416. #define MCF_GPIO_PCLRR_LCDDATAL MCF_REG08(0xFC0A404B)
  417. #define MCF_GPIO_PCLRR_LCDCTLH MCF_REG08(0xFC0A404C)
  418. #define MCF_GPIO_PCLRR_LCDCTLL MCF_REG08(0xFC0A404D)
  419. #define MCF_GPIO_PAR_FEC MCF_REG08(0xFC0A4050)
  420. #define MCF_GPIO_PAR_PWM MCF_REG08(0xFC0A4051)
  421. #define MCF_GPIO_PAR_BUSCTL MCF_REG08(0xFC0A4052)
  422. #define MCF_GPIO_PAR_FECI2C MCF_REG08(0xFC0A4053)
  423. #define MCF_GPIO_PAR_BE MCF_REG08(0xFC0A4054)
  424. #define MCF_GPIO_PAR_CS MCF_REG08(0xFC0A4055)
  425. #define MCF_GPIO_PAR_SSI MCF_REG16(0xFC0A4056)
  426. #define MCF_GPIO_PAR_UART MCF_REG16(0xFC0A4058)
  427. #define MCF_GPIO_PAR_QSPI MCF_REG16(0xFC0A405A)
  428. #define MCF_GPIO_PAR_TIMER MCF_REG08(0xFC0A405C)
  429. #define MCF_GPIO_PAR_LCDDATA MCF_REG08(0xFC0A405D)
  430. #define MCF_GPIO_PAR_LCDCTL MCF_REG16(0xFC0A405E)
  431. #define MCF_GPIO_PAR_IRQ MCF_REG16(0xFC0A4060)
  432. #define MCF_GPIO_MSCR_FLEXBUS MCF_REG08(0xFC0A4064)
  433. #define MCF_GPIO_MSCR_SDRAM MCF_REG08(0xFC0A4065)
  434. #define MCF_GPIO_DSCR_I2C MCF_REG08(0xFC0A4068)
  435. #define MCF_GPIO_DSCR_PWM MCF_REG08(0xFC0A4069)
  436. #define MCF_GPIO_DSCR_FEC MCF_REG08(0xFC0A406A)
  437. #define MCF_GPIO_DSCR_UART MCF_REG08(0xFC0A406B)
  438. #define MCF_GPIO_DSCR_QSPI MCF_REG08(0xFC0A406C)
  439. #define MCF_GPIO_DSCR_TIMER MCF_REG08(0xFC0A406D)
  440. #define MCF_GPIO_DSCR_SSI MCF_REG08(0xFC0A406E)
  441. #define MCF_GPIO_DSCR_LCD MCF_REG08(0xFC0A406F)
  442. #define MCF_GPIO_DSCR_DEBUG MCF_REG08(0xFC0A4070)
  443. #define MCF_GPIO_DSCR_CLKRST MCF_REG08(0xFC0A4071)
  444. #define MCF_GPIO_DSCR_IRQ MCF_REG08(0xFC0A4072)
  445. /* Bit definitions and macros for MCF_GPIO_PODR_FECH */
  446. #define MCF_GPIO_PODR_FECH_PODR_FECH0 (0x01)
  447. #define MCF_GPIO_PODR_FECH_PODR_FECH1 (0x02)
  448. #define MCF_GPIO_PODR_FECH_PODR_FECH2 (0x04)
  449. #define MCF_GPIO_PODR_FECH_PODR_FECH3 (0x08)
  450. #define MCF_GPIO_PODR_FECH_PODR_FECH4 (0x10)
  451. #define MCF_GPIO_PODR_FECH_PODR_FECH5 (0x20)
  452. #define MCF_GPIO_PODR_FECH_PODR_FECH6 (0x40)
  453. #define MCF_GPIO_PODR_FECH_PODR_FECH7 (0x80)
  454. /* Bit definitions and macros for MCF_GPIO_PODR_FECL */
  455. #define MCF_GPIO_PODR_FECL_PODR_FECL0 (0x01)
  456. #define MCF_GPIO_PODR_FECL_PODR_FECL1 (0x02)
  457. #define MCF_GPIO_PODR_FECL_PODR_FECL2 (0x04)
  458. #define MCF_GPIO_PODR_FECL_PODR_FECL3 (0x08)
  459. #define MCF_GPIO_PODR_FECL_PODR_FECL4 (0x10)
  460. #define MCF_GPIO_PODR_FECL_PODR_FECL5 (0x20)
  461. #define MCF_GPIO_PODR_FECL_PODR_FECL6 (0x40)
  462. #define MCF_GPIO_PODR_FECL_PODR_FECL7 (0x80)
  463. /* Bit definitions and macros for MCF_GPIO_PODR_SSI */
  464. #define MCF_GPIO_PODR_SSI_PODR_SSI0 (0x01)
  465. #define MCF_GPIO_PODR_SSI_PODR_SSI1 (0x02)
  466. #define MCF_GPIO_PODR_SSI_PODR_SSI2 (0x04)
  467. #define MCF_GPIO_PODR_SSI_PODR_SSI3 (0x08)
  468. #define MCF_GPIO_PODR_SSI_PODR_SSI4 (0x10)
  469. /* Bit definitions and macros for MCF_GPIO_PODR_BUSCTL */
  470. #define MCF_GPIO_PODR_BUSCTL_POSDR_BUSCTL0 (0x01)
  471. #define MCF_GPIO_PODR_BUSCTL_PODR_BUSCTL1 (0x02)
  472. #define MCF_GPIO_PODR_BUSCTL_PODR_BUSCTL2 (0x04)
  473. #define MCF_GPIO_PODR_BUSCTL_PODR_BUSCTL3 (0x08)
  474. /* Bit definitions and macros for MCF_GPIO_PODR_BE */
  475. #define MCF_GPIO_PODR_BE_PODR_BE0 (0x01)
  476. #define MCF_GPIO_PODR_BE_PODR_BE1 (0x02)
  477. #define MCF_GPIO_PODR_BE_PODR_BE2 (0x04)
  478. #define MCF_GPIO_PODR_BE_PODR_BE3 (0x08)
  479. /* Bit definitions and macros for MCF_GPIO_PODR_CS */
  480. #define MCF_GPIO_PODR_CS_PODR_CS1 (0x02)
  481. #define MCF_GPIO_PODR_CS_PODR_CS2 (0x04)
  482. #define MCF_GPIO_PODR_CS_PODR_CS3 (0x08)
  483. #define MCF_GPIO_PODR_CS_PODR_CS4 (0x10)
  484. #define MCF_GPIO_PODR_CS_PODR_CS5 (0x20)
  485. /* Bit definitions and macros for MCF_GPIO_PODR_PWM */
  486. #define MCF_GPIO_PODR_PWM_PODR_PWM2 (0x04)
  487. #define MCF_GPIO_PODR_PWM_PODR_PWM3 (0x08)
  488. #define MCF_GPIO_PODR_PWM_PODR_PWM4 (0x10)
  489. #define MCF_GPIO_PODR_PWM_PODR_PWM5 (0x20)
  490. /* Bit definitions and macros for MCF_GPIO_PODR_FECI2C */
  491. #define MCF_GPIO_PODR_FECI2C_PODR_FECI2C0 (0x01)
  492. #define MCF_GPIO_PODR_FECI2C_PODR_FECI2C1 (0x02)
  493. #define MCF_GPIO_PODR_FECI2C_PODR_FECI2C2 (0x04)
  494. #define MCF_GPIO_PODR_FECI2C_PODR_FECI2C3 (0x08)
  495. /* Bit definitions and macros for MCF_GPIO_PODR_UART */
  496. #define MCF_GPIO_PODR_UART_PODR_UART0 (0x01)
  497. #define MCF_GPIO_PODR_UART_PODR_UART1 (0x02)
  498. #define MCF_GPIO_PODR_UART_PODR_UART2 (0x04)
  499. #define MCF_GPIO_PODR_UART_PODR_UART3 (0x08)
  500. #define MCF_GPIO_PODR_UART_PODR_UART4 (0x10)
  501. #define MCF_GPIO_PODR_UART_PODR_UART5 (0x20)
  502. #define MCF_GPIO_PODR_UART_PODR_UART6 (0x40)
  503. #define MCF_GPIO_PODR_UART_PODR_UART7 (0x80)
  504. /* Bit definitions and macros for MCF_GPIO_PODR_QSPI */
  505. #define MCF_GPIO_PODR_QSPI_PODR_QSPI0 (0x01)
  506. #define MCF_GPIO_PODR_QSPI_PODR_QSPI1 (0x02)
  507. #define MCF_GPIO_PODR_QSPI_PODR_QSPI2 (0x04)
  508. #define MCF_GPIO_PODR_QSPI_PODR_QSPI3 (0x08)
  509. #define MCF_GPIO_PODR_QSPI_PODR_QSPI4 (0x10)
  510. #define MCF_GPIO_PODR_QSPI_PODR_QSPI5 (0x20)
  511. /* Bit definitions and macros for MCF_GPIO_PODR_TIMER */
  512. #define MCF_GPIO_PODR_TIMER_PODR_TIMER0 (0x01)
  513. #define MCF_GPIO_PODR_TIMER_PODR_TIMER1 (0x02)
  514. #define MCF_GPIO_PODR_TIMER_PODR_TIMER2 (0x04)
  515. #define MCF_GPIO_PODR_TIMER_PODR_TIMER3 (0x08)
  516. /* Bit definitions and macros for MCF_GPIO_PODR_LCDDATAH */
  517. #define MCF_GPIO_PODR_LCDDATAH_PODR_LCDDATAH0 (0x01)
  518. #define MCF_GPIO_PODR_LCDDATAH_PODR_LCDDATAH1 (0x02)
  519. /* Bit definitions and macros for MCF_GPIO_PODR_LCDDATAM */
  520. #define MCF_GPIO_PODR_LCDDATAM_PODR_LCDDATAM0 (0x01)
  521. #define MCF_GPIO_PODR_LCDDATAM_PODR_LCDDATAM1 (0x02)
  522. #define MCF_GPIO_PODR_LCDDATAM_PODR_LCDDATAM2 (0x04)
  523. #define MCF_GPIO_PODR_LCDDATAM_PODR_LCDDATAM3 (0x08)
  524. #define MCF_GPIO_PODR_LCDDATAM_PODR_LCDDATAM4 (0x10)
  525. #define MCF_GPIO_PODR_LCDDATAM_PODR_LCDDATAM5 (0x20)
  526. #define MCF_GPIO_PODR_LCDDATAM_PODR_LCDDATAM6 (0x40)
  527. #define MCF_GPIO_PODR_LCDDATAM_PODR_LCDDATAM7 (0x80)
  528. /* Bit definitions and macros for MCF_GPIO_PODR_LCDDATAL */
  529. #define MCF_GPIO_PODR_LCDDATAL_PODR_LCDDATAL0 (0x01)
  530. #define MCF_GPIO_PODR_LCDDATAL_PODR_LCDDATAL1 (0x02)
  531. #define MCF_GPIO_PODR_LCDDATAL_PODR_LCDDATAL2 (0x04)
  532. #define MCF_GPIO_PODR_LCDDATAL_PODR_LCDDATAL3 (0x08)
  533. #define MCF_GPIO_PODR_LCDDATAL_PODR_LCDDATAL4 (0x10)
  534. #define MCF_GPIO_PODR_LCDDATAL_PODR_LCDDATAL5 (0x20)
  535. #define MCF_GPIO_PODR_LCDDATAL_PODR_LCDDATAL6 (0x40)
  536. #define MCF_GPIO_PODR_LCDDATAL_PODR_LCDDATAL7 (0x80)
  537. /* Bit definitions and macros for MCF_GPIO_PODR_LCDCTLH */
  538. #define MCF_GPIO_PODR_LCDCTLH_PODR_LCDCTLH0 (0x01)
  539. /* Bit definitions and macros for MCF_GPIO_PODR_LCDCTLL */
  540. #define MCF_GPIO_PODR_LCDCTLL_PODR_LCDCTLL0 (0x01)
  541. #define MCF_GPIO_PODR_LCDCTLL_PODR_LCDCTLL1 (0x02)
  542. #define MCF_GPIO_PODR_LCDCTLL_PODR_LCDCTLL2 (0x04)
  543. #define MCF_GPIO_PODR_LCDCTLL_PODR_LCDCTLL3 (0x08)
  544. #define MCF_GPIO_PODR_LCDCTLL_PODR_LCDCTLL4 (0x10)
  545. #define MCF_GPIO_PODR_LCDCTLL_PODR_LCDCTLL5 (0x20)
  546. #define MCF_GPIO_PODR_LCDCTLL_PODR_LCDCTLL6 (0x40)
  547. #define MCF_GPIO_PODR_LCDCTLL_PODR_LCDCTLL7 (0x80)
  548. /* Bit definitions and macros for MCF_GPIO_PDDR_FECH */
  549. #define MCF_GPIO_PDDR_FECH_PDDR_FECH0 (0x01)
  550. #define MCF_GPIO_PDDR_FECH_PDDR_FECH1 (0x02)
  551. #define MCF_GPIO_PDDR_FECH_PDDR_FECH2 (0x04)
  552. #define MCF_GPIO_PDDR_FECH_PDDR_FECH3 (0x08)
  553. #define MCF_GPIO_PDDR_FECH_PDDR_FECH4 (0x10)
  554. #define MCF_GPIO_PDDR_FECH_PDDR_FECH5 (0x20)
  555. #define MCF_GPIO_PDDR_FECH_PDDR_FECH6 (0x40)
  556. #define MCF_GPIO_PDDR_FECH_PDDR_FECH7 (0x80)
  557. /* Bit definitions and macros for MCF_GPIO_PDDR_FECL */
  558. #define MCF_GPIO_PDDR_FECL_PDDR_FECL0 (0x01)
  559. #define MCF_GPIO_PDDR_FECL_PDDR_FECL1 (0x02)
  560. #define MCF_GPIO_PDDR_FECL_PDDR_FECL2 (0x04)
  561. #define MCF_GPIO_PDDR_FECL_PDDR_FECL3 (0x08)
  562. #define MCF_GPIO_PDDR_FECL_PDDR_FECL4 (0x10)
  563. #define MCF_GPIO_PDDR_FECL_PDDR_FECL5 (0x20)
  564. #define MCF_GPIO_PDDR_FECL_PDDR_FECL6 (0x40)
  565. #define MCF_GPIO_PDDR_FECL_PDDR_FECL7 (0x80)
  566. /* Bit definitions and macros for MCF_GPIO_PDDR_SSI */
  567. #define MCF_GPIO_PDDR_SSI_PDDR_SSI0 (0x01)
  568. #define MCF_GPIO_PDDR_SSI_PDDR_SSI1 (0x02)
  569. #define MCF_GPIO_PDDR_SSI_PDDR_SSI2 (0x04)
  570. #define MCF_GPIO_PDDR_SSI_PDDR_SSI3 (0x08)
  571. #define MCF_GPIO_PDDR_SSI_PDDR_SSI4 (0x10)
  572. /* Bit definitions and macros for MCF_GPIO_PDDR_BUSCTL */
  573. #define MCF_GPIO_PDDR_BUSCTL_POSDR_BUSCTL0 (0x01)
  574. #define MCF_GPIO_PDDR_BUSCTL_PDDR_BUSCTL1 (0x02)
  575. #define MCF_GPIO_PDDR_BUSCTL_PDDR_BUSCTL2 (0x04)
  576. #define MCF_GPIO_PDDR_BUSCTL_PDDR_BUSCTL3 (0x08)
  577. /* Bit definitions and macros for MCF_GPIO_PDDR_BE */
  578. #define MCF_GPIO_PDDR_BE_PDDR_BE0 (0x01)
  579. #define MCF_GPIO_PDDR_BE_PDDR_BE1 (0x02)
  580. #define MCF_GPIO_PDDR_BE_PDDR_BE2 (0x04)
  581. #define MCF_GPIO_PDDR_BE_PDDR_BE3 (0x08)
  582. /* Bit definitions and macros for MCF_GPIO_PDDR_CS */
  583. #define MCF_GPIO_PDDR_CS_PDDR_CS1 (0x02)
  584. #define MCF_GPIO_PDDR_CS_PDDR_CS2 (0x04)
  585. #define MCF_GPIO_PDDR_CS_PDDR_CS3 (0x08)
  586. #define MCF_GPIO_PDDR_CS_PDDR_CS4 (0x10)
  587. #define MCF_GPIO_PDDR_CS_PDDR_CS5 (0x20)
  588. /* Bit definitions and macros for MCF_GPIO_PDDR_PWM */
  589. #define MCF_GPIO_PDDR_PWM_PDDR_PWM2 (0x04)
  590. #define MCF_GPIO_PDDR_PWM_PDDR_PWM3 (0x08)
  591. #define MCF_GPIO_PDDR_PWM_PDDR_PWM4 (0x10)
  592. #define MCF_GPIO_PDDR_PWM_PDDR_PWM5 (0x20)
  593. /* Bit definitions and macros for MCF_GPIO_PDDR_FECI2C */
  594. #define MCF_GPIO_PDDR_FECI2C_PDDR_FECI2C0 (0x01)
  595. #define MCF_GPIO_PDDR_FECI2C_PDDR_FECI2C1 (0x02)
  596. #define MCF_GPIO_PDDR_FECI2C_PDDR_FECI2C2 (0x04)
  597. #define MCF_GPIO_PDDR_FECI2C_PDDR_FECI2C3 (0x08)
  598. /* Bit definitions and macros for MCF_GPIO_PDDR_UART */
  599. #define MCF_GPIO_PDDR_UART_PDDR_UART0 (0x01)
  600. #define MCF_GPIO_PDDR_UART_PDDR_UART1 (0x02)
  601. #define MCF_GPIO_PDDR_UART_PDDR_UART2 (0x04)
  602. #define MCF_GPIO_PDDR_UART_PDDR_UART3 (0x08)
  603. #define MCF_GPIO_PDDR_UART_PDDR_UART4 (0x10)
  604. #define MCF_GPIO_PDDR_UART_PDDR_UART5 (0x20)
  605. #define MCF_GPIO_PDDR_UART_PDDR_UART6 (0x40)
  606. #define MCF_GPIO_PDDR_UART_PDDR_UART7 (0x80)
  607. /* Bit definitions and macros for MCF_GPIO_PDDR_QSPI */
  608. #define MCF_GPIO_PDDR_QSPI_PDDR_QSPI0 (0x01)
  609. #define MCF_GPIO_PDDR_QSPI_PDDR_QSPI1 (0x02)
  610. #define MCF_GPIO_PDDR_QSPI_PDDR_QSPI2 (0x04)
  611. #define MCF_GPIO_PDDR_QSPI_PDDR_QSPI3 (0x08)
  612. #define MCF_GPIO_PDDR_QSPI_PDDR_QSPI4 (0x10)
  613. #define MCF_GPIO_PDDR_QSPI_PDDR_QSPI5 (0x20)
  614. /* Bit definitions and macros for MCF_GPIO_PDDR_TIMER */
  615. #define MCF_GPIO_PDDR_TIMER_PDDR_TIMER0 (0x01)
  616. #define MCF_GPIO_PDDR_TIMER_PDDR_TIMER1 (0x02)
  617. #define MCF_GPIO_PDDR_TIMER_PDDR_TIMER2 (0x04)
  618. #define MCF_GPIO_PDDR_TIMER_PDDR_TIMER3 (0x08)
  619. /* Bit definitions and macros for MCF_GPIO_PDDR_LCDDATAH */
  620. #define MCF_GPIO_PDDR_LCDDATAH_PDDR_LCDDATAH0 (0x01)
  621. #define MCF_GPIO_PDDR_LCDDATAH_PDDR_LCDDATAH1 (0x02)
  622. /* Bit definitions and macros for MCF_GPIO_PDDR_LCDDATAM */
  623. #define MCF_GPIO_PDDR_LCDDATAM_PDDR_LCDDATAM0 (0x01)
  624. #define MCF_GPIO_PDDR_LCDDATAM_PDDR_LCDDATAM1 (0x02)
  625. #define MCF_GPIO_PDDR_LCDDATAM_PDDR_LCDDATAM2 (0x04)
  626. #define MCF_GPIO_PDDR_LCDDATAM_PDDR_LCDDATAM3 (0x08)
  627. #define MCF_GPIO_PDDR_LCDDATAM_PDDR_LCDDATAM4 (0x10)
  628. #define MCF_GPIO_PDDR_LCDDATAM_PDDR_LCDDATAM5 (0x20)
  629. #define MCF_GPIO_PDDR_LCDDATAM_PDDR_LCDDATAM6 (0x40)
  630. #define MCF_GPIO_PDDR_LCDDATAM_PDDR_LCDDATAM7 (0x80)
  631. /* Bit definitions and macros for MCF_GPIO_PDDR_LCDDATAL */
  632. #define MCF_GPIO_PDDR_LCDDATAL_PDDR_LCDDATAL0 (0x01)
  633. #define MCF_GPIO_PDDR_LCDDATAL_PDDR_LCDDATAL1 (0x02)
  634. #define MCF_GPIO_PDDR_LCDDATAL_PDDR_LCDDATAL2 (0x04)
  635. #define MCF_GPIO_PDDR_LCDDATAL_PDDR_LCDDATAL3 (0x08)
  636. #define MCF_GPIO_PDDR_LCDDATAL_PDDR_LCDDATAL4 (0x10)
  637. #define MCF_GPIO_PDDR_LCDDATAL_PDDR_LCDDATAL5 (0x20)
  638. #define MCF_GPIO_PDDR_LCDDATAL_PDDR_LCDDATAL6 (0x40)
  639. #define MCF_GPIO_PDDR_LCDDATAL_PDDR_LCDDATAL7 (0x80)
  640. /* Bit definitions and macros for MCF_GPIO_PDDR_LCDCTLH */
  641. #define MCF_GPIO_PDDR_LCDCTLH_PDDR_LCDCTLH0 (0x01)
  642. /* Bit definitions and macros for MCF_GPIO_PDDR_LCDCTLL */
  643. #define MCF_GPIO_PDDR_LCDCTLL_PDDR_LCDCTLL0 (0x01)
  644. #define MCF_GPIO_PDDR_LCDCTLL_PDDR_LCDCTLL1 (0x02)
  645. #define MCF_GPIO_PDDR_LCDCTLL_PDDR_LCDCTLL2 (0x04)
  646. #define MCF_GPIO_PDDR_LCDCTLL_PDDR_LCDCTLL3 (0x08)
  647. #define MCF_GPIO_PDDR_LCDCTLL_PDDR_LCDCTLL4 (0x10)
  648. #define MCF_GPIO_PDDR_LCDCTLL_PDDR_LCDCTLL5 (0x20)
  649. #define MCF_GPIO_PDDR_LCDCTLL_PDDR_LCDCTLL6 (0x40)
  650. #define MCF_GPIO_PDDR_LCDCTLL_PDDR_LCDCTLL7 (0x80)
  651. /* Bit definitions and macros for MCF_GPIO_PPDSDR_FECH */
  652. #define MCF_GPIO_PPDSDR_FECH_PPDSDR_FECH0 (0x01)
  653. #define MCF_GPIO_PPDSDR_FECH_PPDSDR_FECH1 (0x02)
  654. #define MCF_GPIO_PPDSDR_FECH_PPDSDR_FECH2 (0x04)
  655. #define MCF_GPIO_PPDSDR_FECH_PPDSDR_FECH3 (0x08)
  656. #define MCF_GPIO_PPDSDR_FECH_PPDSDR_FECH4 (0x10)
  657. #define MCF_GPIO_PPDSDR_FECH_PPDSDR_FECH5 (0x20)
  658. #define MCF_GPIO_PPDSDR_FECH_PPDSDR_FECH6 (0x40)
  659. #define MCF_GPIO_PPDSDR_FECH_PPDSDR_FECH7 (0x80)
  660. /* Bit definitions and macros for MCF_GPIO_PPDSDR_FECL */
  661. #define MCF_GPIO_PPDSDR_FECL_PPDSDR_FECL0 (0x01)
  662. #define MCF_GPIO_PPDSDR_FECL_PPDSDR_FECL1 (0x02)
  663. #define MCF_GPIO_PPDSDR_FECL_PPDSDR_FECL2 (0x04)
  664. #define MCF_GPIO_PPDSDR_FECL_PPDSDR_FECL3 (0x08)
  665. #define MCF_GPIO_PPDSDR_FECL_PPDSDR_FECL4 (0x10)
  666. #define MCF_GPIO_PPDSDR_FECL_PPDSDR_FECL5 (0x20)
  667. #define MCF_GPIO_PPDSDR_FECL_PPDSDR_FECL6 (0x40)
  668. #define MCF_GPIO_PPDSDR_FECL_PPDSDR_FECL7 (0x80)
  669. /* Bit definitions and macros for MCF_GPIO_PPDSDR_SSI */
  670. #define MCF_GPIO_PPDSDR_SSI_PPDSDR_SSI0 (0x01)
  671. #define MCF_GPIO_PPDSDR_SSI_PPDSDR_SSI1 (0x02)
  672. #define MCF_GPIO_PPDSDR_SSI_PPDSDR_SSI2 (0x04)
  673. #define MCF_GPIO_PPDSDR_SSI_PPDSDR_SSI3 (0x08)
  674. #define MCF_GPIO_PPDSDR_SSI_PPDSDR_SSI4 (0x10)
  675. /* Bit definitions and macros for MCF_GPIO_PPDSDR_BUSCTL */
  676. #define MCF_GPIO_PPDSDR_BUSCTL_POSDR_BUSCTL0 (0x01)
  677. #define MCF_GPIO_PPDSDR_BUSCTL_PPDSDR_BUSCTL1 (0x02)
  678. #define MCF_GPIO_PPDSDR_BUSCTL_PPDSDR_BUSCTL2 (0x04)
  679. #define MCF_GPIO_PPDSDR_BUSCTL_PPDSDR_BUSCTL3 (0x08)
  680. /* Bit definitions and macros for MCF_GPIO_PPDSDR_BE */
  681. #define MCF_GPIO_PPDSDR_BE_PPDSDR_BE0 (0x01)
  682. #define MCF_GPIO_PPDSDR_BE_PPDSDR_BE1 (0x02)
  683. #define MCF_GPIO_PPDSDR_BE_PPDSDR_BE2 (0x04)
  684. #define MCF_GPIO_PPDSDR_BE_PPDSDR_BE3 (0x08)
  685. /* Bit definitions and macros for MCF_GPIO_PPDSDR_CS */
  686. #define MCF_GPIO_PPDSDR_CS_PPDSDR_CS1 (0x02)
  687. #define MCF_GPIO_PPDSDR_CS_PPDSDR_CS2 (0x04)
  688. #define MCF_GPIO_PPDSDR_CS_PPDSDR_CS3 (0x08)
  689. #define MCF_GPIO_PPDSDR_CS_PPDSDR_CS4 (0x10)
  690. #define MCF_GPIO_PPDSDR_CS_PPDSDR_CS5 (0x20)
  691. /* Bit definitions and macros for MCF_GPIO_PPDSDR_PWM */
  692. #define MCF_GPIO_PPDSDR_PWM_PPDSDR_PWM2 (0x04)
  693. #define MCF_GPIO_PPDSDR_PWM_PPDSDR_PWM3 (0x08)
  694. #define MCF_GPIO_PPDSDR_PWM_PPDSDR_PWM4 (0x10)
  695. #define MCF_GPIO_PPDSDR_PWM_PPDSDR_PWM5 (0x20)
  696. /* Bit definitions and macros for MCF_GPIO_PPDSDR_FECI2C */
  697. #define MCF_GPIO_PPDSDR_FECI2C_PPDSDR_FECI2C0 (0x01)
  698. #define MCF_GPIO_PPDSDR_FECI2C_PPDSDR_FECI2C1 (0x02)
  699. #define MCF_GPIO_PPDSDR_FECI2C_PPDSDR_FECI2C2 (0x04)
  700. #define MCF_GPIO_PPDSDR_FECI2C_PPDSDR_FECI2C3 (0x08)
  701. /* Bit definitions and macros for MCF_GPIO_PPDSDR_UART */
  702. #define MCF_GPIO_PPDSDR_UART_PPDSDR_UART0 (0x01)
  703. #define MCF_GPIO_PPDSDR_UART_PPDSDR_UART1 (0x02)
  704. #define MCF_GPIO_PPDSDR_UART_PPDSDR_UART2 (0x04)
  705. #define MCF_GPIO_PPDSDR_UART_PPDSDR_UART3 (0x08)
  706. #define MCF_GPIO_PPDSDR_UART_PPDSDR_UART4 (0x10)
  707. #define MCF_GPIO_PPDSDR_UART_PPDSDR_UART5 (0x20)
  708. #define MCF_GPIO_PPDSDR_UART_PPDSDR_UART6 (0x40)
  709. #define MCF_GPIO_PPDSDR_UART_PPDSDR_UART7 (0x80)
  710. /* Bit definitions and macros for MCF_GPIO_PPDSDR_QSPI */
  711. #define MCF_GPIO_PPDSDR_QSPI_PPDSDR_QSPI0 (0x01)
  712. #define MCF_GPIO_PPDSDR_QSPI_PPDSDR_QSPI1 (0x02)
  713. #define MCF_GPIO_PPDSDR_QSPI_PPDSDR_QSPI2 (0x04)
  714. #define MCF_GPIO_PPDSDR_QSPI_PPDSDR_QSPI3 (0x08)
  715. #define MCF_GPIO_PPDSDR_QSPI_PPDSDR_QSPI4 (0x10)
  716. #define MCF_GPIO_PPDSDR_QSPI_PPDSDR_QSPI5 (0x20)
  717. /* Bit definitions and macros for MCF_GPIO_PPDSDR_TIMER */
  718. #define MCF_GPIO_PPDSDR_TIMER_PPDSDR_TIMER0 (0x01)
  719. #define MCF_GPIO_PPDSDR_TIMER_PPDSDR_TIMER1 (0x02)
  720. #define MCF_GPIO_PPDSDR_TIMER_PPDSDR_TIMER2 (0x04)
  721. #define MCF_GPIO_PPDSDR_TIMER_PPDSDR_TIMER3 (0x08)
  722. /* Bit definitions and macros for MCF_GPIO_PPDSDR_LCDDATAH */
  723. #define MCF_GPIO_PPDSDR_LCDDATAH_PPDSDR_LCDDATAH0 (0x01)
  724. #define MCF_GPIO_PPDSDR_LCDDATAH_PPDSDR_LCDDATAH1 (0x02)
  725. /* Bit definitions and macros for MCF_GPIO_PPDSDR_LCDDATAM */
  726. #define MCF_GPIO_PPDSDR_LCDDATAM_PPDSDR_LCDDATAM0 (0x01)
  727. #define MCF_GPIO_PPDSDR_LCDDATAM_PPDSDR_LCDDATAM1 (0x02)
  728. #define MCF_GPIO_PPDSDR_LCDDATAM_PPDSDR_LCDDATAM2 (0x04)
  729. #define MCF_GPIO_PPDSDR_LCDDATAM_PPDSDR_LCDDATAM3 (0x08)
  730. #define MCF_GPIO_PPDSDR_LCDDATAM_PPDSDR_LCDDATAM4 (0x10)
  731. #define MCF_GPIO_PPDSDR_LCDDATAM_PPDSDR_LCDDATAM5 (0x20)
  732. #define MCF_GPIO_PPDSDR_LCDDATAM_PPDSDR_LCDDATAM6 (0x40)
  733. #define MCF_GPIO_PPDSDR_LCDDATAM_PPDSDR_LCDDATAM7 (0x80)
  734. /* Bit definitions and macros for MCF_GPIO_PPDSDR_LCDDATAL */
  735. #define MCF_GPIO_PPDSDR_LCDDATAL_PPDSDR_LCDDATAL0 (0x01)
  736. #define MCF_GPIO_PPDSDR_LCDDATAL_PPDSDR_LCDDATAL1 (0x02)
  737. #define MCF_GPIO_PPDSDR_LCDDATAL_PPDSDR_LCDDATAL2 (0x04)
  738. #define MCF_GPIO_PPDSDR_LCDDATAL_PPDSDR_LCDDATAL3 (0x08)
  739. #define MCF_GPIO_PPDSDR_LCDDATAL_PPDSDR_LCDDATAL4 (0x10)
  740. #define MCF_GPIO_PPDSDR_LCDDATAL_PPDSDR_LCDDATAL5 (0x20)
  741. #define MCF_GPIO_PPDSDR_LCDDATAL_PPDSDR_LCDDATAL6 (0x40)
  742. #define MCF_GPIO_PPDSDR_LCDDATAL_PPDSDR_LCDDATAL7 (0x80)
  743. /* Bit definitions and macros for MCF_GPIO_PPDSDR_LCDCTLH */
  744. #define MCF_GPIO_PPDSDR_LCDCTLH_PPDSDR_LCDCTLH0 (0x01)
  745. /* Bit definitions and macros for MCF_GPIO_PPDSDR_LCDCTLL */
  746. #define MCF_GPIO_PPDSDR_LCDCTLL_PPDSDR_LCDCTLL0 (0x01)
  747. #define MCF_GPIO_PPDSDR_LCDCTLL_PPDSDR_LCDCTLL1 (0x02)
  748. #define MCF_GPIO_PPDSDR_LCDCTLL_PPDSDR_LCDCTLL2 (0x04)
  749. #define MCF_GPIO_PPDSDR_LCDCTLL_PPDSDR_LCDCTLL3 (0x08)
  750. #define MCF_GPIO_PPDSDR_LCDCTLL_PPDSDR_LCDCTLL4 (0x10)
  751. #define MCF_GPIO_PPDSDR_LCDCTLL_PPDSDR_LCDCTLL5 (0x20)
  752. #define MCF_GPIO_PPDSDR_LCDCTLL_PPDSDR_LCDCTLL6 (0x40)
  753. #define MCF_GPIO_PPDSDR_LCDCTLL_PPDSDR_LCDCTLL7 (0x80)
  754. /* Bit definitions and macros for MCF_GPIO_PCLRR_FECH */
  755. #define MCF_GPIO_PCLRR_FECH_PCLRR_FECH0 (0x01)
  756. #define MCF_GPIO_PCLRR_FECH_PCLRR_FECH1 (0x02)
  757. #define MCF_GPIO_PCLRR_FECH_PCLRR_FECH2 (0x04)
  758. #define MCF_GPIO_PCLRR_FECH_PCLRR_FECH3 (0x08)
  759. #define MCF_GPIO_PCLRR_FECH_PCLRR_FECH4 (0x10)
  760. #define MCF_GPIO_PCLRR_FECH_PCLRR_FECH5 (0x20)
  761. #define MCF_GPIO_PCLRR_FECH_PCLRR_FECH6 (0x40)
  762. #define MCF_GPIO_PCLRR_FECH_PCLRR_FECH7 (0x80)
  763. /* Bit definitions and macros for MCF_GPIO_PCLRR_FECL */
  764. #define MCF_GPIO_PCLRR_FECL_PCLRR_FECL0 (0x01)
  765. #define MCF_GPIO_PCLRR_FECL_PCLRR_FECL1 (0x02)
  766. #define MCF_GPIO_PCLRR_FECL_PCLRR_FECL2 (0x04)
  767. #define MCF_GPIO_PCLRR_FECL_PCLRR_FECL3 (0x08)
  768. #define MCF_GPIO_PCLRR_FECL_PCLRR_FECL4 (0x10)
  769. #define MCF_GPIO_PCLRR_FECL_PCLRR_FECL5 (0x20)
  770. #define MCF_GPIO_PCLRR_FECL_PCLRR_FECL6 (0x40)
  771. #define MCF_GPIO_PCLRR_FECL_PCLRR_FECL7 (0x80)
  772. /* Bit definitions and macros for MCF_GPIO_PCLRR_SSI */
  773. #define MCF_GPIO_PCLRR_SSI_PCLRR_SSI0 (0x01)
  774. #define MCF_GPIO_PCLRR_SSI_PCLRR_SSI1 (0x02)
  775. #define MCF_GPIO_PCLRR_SSI_PCLRR_SSI2 (0x04)
  776. #define MCF_GPIO_PCLRR_SSI_PCLRR_SSI3 (0x08)
  777. #define MCF_GPIO_PCLRR_SSI_PCLRR_SSI4 (0x10)
  778. /* Bit definitions and macros for MCF_GPIO_PCLRR_BUSCTL */
  779. #define MCF_GPIO_PCLRR_BUSCTL_POSDR_BUSCTL0 (0x01)
  780. #define MCF_GPIO_PCLRR_BUSCTL_PCLRR_BUSCTL1 (0x02)
  781. #define MCF_GPIO_PCLRR_BUSCTL_PCLRR_BUSCTL2 (0x04)
  782. #define MCF_GPIO_PCLRR_BUSCTL_PCLRR_BUSCTL3 (0x08)
  783. /* Bit definitions and macros for MCF_GPIO_PCLRR_BE */
  784. #define MCF_GPIO_PCLRR_BE_PCLRR_BE0 (0x01)
  785. #define MCF_GPIO_PCLRR_BE_PCLRR_BE1 (0x02)
  786. #define MCF_GPIO_PCLRR_BE_PCLRR_BE2 (0x04)
  787. #define MCF_GPIO_PCLRR_BE_PCLRR_BE3 (0x08)
  788. /* Bit definitions and macros for MCF_GPIO_PCLRR_CS */
  789. #define MCF_GPIO_PCLRR_CS_PCLRR_CS1 (0x02)
  790. #define MCF_GPIO_PCLRR_CS_PCLRR_CS2 (0x04)
  791. #define MCF_GPIO_PCLRR_CS_PCLRR_CS3 (0x08)
  792. #define MCF_GPIO_PCLRR_CS_PCLRR_CS4 (0x10)
  793. #define MCF_GPIO_PCLRR_CS_PCLRR_CS5 (0x20)
  794. /* Bit definitions and macros for MCF_GPIO_PCLRR_PWM */
  795. #define MCF_GPIO_PCLRR_PWM_PCLRR_PWM2 (0x04)
  796. #define MCF_GPIO_PCLRR_PWM_PCLRR_PWM3 (0x08)
  797. #define MCF_GPIO_PCLRR_PWM_PCLRR_PWM4 (0x10)
  798. #define MCF_GPIO_PCLRR_PWM_PCLRR_PWM5 (0x20)
  799. /* Bit definitions and macros for MCF_GPIO_PCLRR_FECI2C */
  800. #define MCF_GPIO_PCLRR_FECI2C_PCLRR_FECI2C0 (0x01)
  801. #define MCF_GPIO_PCLRR_FECI2C_PCLRR_FECI2C1 (0x02)
  802. #define MCF_GPIO_PCLRR_FECI2C_PCLRR_FECI2C2 (0x04)
  803. #define MCF_GPIO_PCLRR_FECI2C_PCLRR_FECI2C3 (0x08)
  804. /* Bit definitions and macros for MCF_GPIO_PCLRR_UART */
  805. #define MCF_GPIO_PCLRR_UART_PCLRR_UART0 (0x01)
  806. #define MCF_GPIO_PCLRR_UART_PCLRR_UART1 (0x02)
  807. #define MCF_GPIO_PCLRR_UART_PCLRR_UART2 (0x04)
  808. #define MCF_GPIO_PCLRR_UART_PCLRR_UART3 (0x08)
  809. #define MCF_GPIO_PCLRR_UART_PCLRR_UART4 (0x10)
  810. #define MCF_GPIO_PCLRR_UART_PCLRR_UART5 (0x20)
  811. #define MCF_GPIO_PCLRR_UART_PCLRR_UART6 (0x40)
  812. #define MCF_GPIO_PCLRR_UART_PCLRR_UART7 (0x80)
  813. /* Bit definitions and macros for MCF_GPIO_PCLRR_QSPI */
  814. #define MCF_GPIO_PCLRR_QSPI_PCLRR_QSPI0 (0x01)
  815. #define MCF_GPIO_PCLRR_QSPI_PCLRR_QSPI1 (0x02)
  816. #define MCF_GPIO_PCLRR_QSPI_PCLRR_QSPI2 (0x04)
  817. #define MCF_GPIO_PCLRR_QSPI_PCLRR_QSPI3 (0x08)
  818. #define MCF_GPIO_PCLRR_QSPI_PCLRR_QSPI4 (0x10)
  819. #define MCF_GPIO_PCLRR_QSPI_PCLRR_QSPI5 (0x20)
  820. /* Bit definitions and macros for MCF_GPIO_PCLRR_TIMER */
  821. #define MCF_GPIO_PCLRR_TIMER_PCLRR_TIMER0 (0x01)
  822. #define MCF_GPIO_PCLRR_TIMER_PCLRR_TIMER1 (0x02)
  823. #define MCF_GPIO_PCLRR_TIMER_PCLRR_TIMER2 (0x04)
  824. #define MCF_GPIO_PCLRR_TIMER_PCLRR_TIMER3 (0x08)
  825. /* Bit definitions and macros for MCF_GPIO_PCLRR_LCDDATAH */
  826. #define MCF_GPIO_PCLRR_LCDDATAH_PCLRR_LCDDATAH0 (0x01)
  827. #define MCF_GPIO_PCLRR_LCDDATAH_PCLRR_LCDDATAH1 (0x02)
  828. /* Bit definitions and macros for MCF_GPIO_PCLRR_LCDDATAM */
  829. #define MCF_GPIO_PCLRR_LCDDATAM_PCLRR_LCDDATAM0 (0x01)
  830. #define MCF_GPIO_PCLRR_LCDDATAM_PCLRR_LCDDATAM1 (0x02)
  831. #define MCF_GPIO_PCLRR_LCDDATAM_PCLRR_LCDDATAM2 (0x04)
  832. #define MCF_GPIO_PCLRR_LCDDATAM_PCLRR_LCDDATAM3 (0x08)
  833. #define MCF_GPIO_PCLRR_LCDDATAM_PCLRR_LCDDATAM4 (0x10)
  834. #define MCF_GPIO_PCLRR_LCDDATAM_PCLRR_LCDDATAM5 (0x20)
  835. #define MCF_GPIO_PCLRR_LCDDATAM_PCLRR_LCDDATAM6 (0x40)
  836. #define MCF_GPIO_PCLRR_LCDDATAM_PCLRR_LCDDATAM7 (0x80)
  837. /* Bit definitions and macros for MCF_GPIO_PCLRR_LCDDATAL */
  838. #define MCF_GPIO_PCLRR_LCDDATAL_PCLRR_LCDDATAL0 (0x01)
  839. #define MCF_GPIO_PCLRR_LCDDATAL_PCLRR_LCDDATAL1 (0x02)
  840. #define MCF_GPIO_PCLRR_LCDDATAL_PCLRR_LCDDATAL2 (0x04)
  841. #define MCF_GPIO_PCLRR_LCDDATAL_PCLRR_LCDDATAL3 (0x08)
  842. #define MCF_GPIO_PCLRR_LCDDATAL_PCLRR_LCDDATAL4 (0x10)
  843. #define MCF_GPIO_PCLRR_LCDDATAL_PCLRR_LCDDATAL5 (0x20)
  844. #define MCF_GPIO_PCLRR_LCDDATAL_PCLRR_LCDDATAL6 (0x40)
  845. #define MCF_GPIO_PCLRR_LCDDATAL_PCLRR_LCDDATAL7 (0x80)
  846. /* Bit definitions and macros for MCF_GPIO_PCLRR_LCDCTLH */
  847. #define MCF_GPIO_PCLRR_LCDCTLH_PCLRR_LCDCTLH0 (0x01)
  848. /* Bit definitions and macros for MCF_GPIO_PCLRR_LCDCTLL */
  849. #define MCF_GPIO_PCLRR_LCDCTLL_PCLRR_LCDCTLL0 (0x01)
  850. #define MCF_GPIO_PCLRR_LCDCTLL_PCLRR_LCDCTLL1 (0x02)
  851. #define MCF_GPIO_PCLRR_LCDCTLL_PCLRR_LCDCTLL2 (0x04)
  852. #define MCF_GPIO_PCLRR_LCDCTLL_PCLRR_LCDCTLL3 (0x08)
  853. #define MCF_GPIO_PCLRR_LCDCTLL_PCLRR_LCDCTLL4 (0x10)
  854. #define MCF_GPIO_PCLRR_LCDCTLL_PCLRR_LCDCTLL5 (0x20)
  855. #define MCF_GPIO_PCLRR_LCDCTLL_PCLRR_LCDCTLL6 (0x40)
  856. #define MCF_GPIO_PCLRR_LCDCTLL_PCLRR_LCDCTLL7 (0x80)
  857. /* Bit definitions and macros for MCF_GPIO_PAR_FEC */
  858. #define MCF_GPIO_PAR_FEC_PAR_FEC_MII(x) (((x)&0x03)<<0)
  859. #define MCF_GPIO_PAR_FEC_PAR_FEC_7W(x) (((x)&0x03)<<2)
  860. #define MCF_GPIO_PAR_FEC_PAR_FEC_7W_GPIO (0x00)
  861. #define MCF_GPIO_PAR_FEC_PAR_FEC_7W_URTS1 (0x04)
  862. #define MCF_GPIO_PAR_FEC_PAR_FEC_7W_FEC (0x0C)
  863. #define MCF_GPIO_PAR_FEC_PAR_FEC_MII_GPIO (0x00)
  864. #define MCF_GPIO_PAR_FEC_PAR_FEC_MII_UART (0x01)
  865. #define MCF_GPIO_PAR_FEC_PAR_FEC_MII_FEC (0x03)
  866. /* Bit definitions and macros for MCF_GPIO_PAR_PWM */
  867. #define MCF_GPIO_PAR_PWM_PAR_PWM1(x) (((x)&0x03)<<0)
  868. #define MCF_GPIO_PAR_PWM_PAR_PWM3(x) (((x)&0x03)<<2)
  869. #define MCF_GPIO_PAR_PWM_PAR_PWM5 (0x10)
  870. #define MCF_GPIO_PAR_PWM_PAR_PWM7 (0x20)
  871. /* Bit definitions and macros for MCF_GPIO_PAR_BUSCTL */
  872. #define MCF_GPIO_PAR_BUSCTL_PAR_TS(x) (((x)&0x03)<<3)
  873. #define MCF_GPIO_PAR_BUSCTL_PAR_RWB (0x20)
  874. #define MCF_GPIO_PAR_BUSCTL_PAR_TA (0x40)
  875. #define MCF_GPIO_PAR_BUSCTL_PAR_OE (0x80)
  876. #define MCF_GPIO_PAR_BUSCTL_PAR_OE_GPIO (0x00)
  877. #define MCF_GPIO_PAR_BUSCTL_PAR_OE_OE (0x80)
  878. #define MCF_GPIO_PAR_BUSCTL_PAR_TA_GPIO (0x00)
  879. #define MCF_GPIO_PAR_BUSCTL_PAR_TA_TA (0x40)
  880. #define MCF_GPIO_PAR_BUSCTL_PAR_RWB_GPIO (0x00)
  881. #define MCF_GPIO_PAR_BUSCTL_PAR_RWB_RWB (0x20)
  882. #define MCF_GPIO_PAR_BUSCTL_PAR_TS_GPIO (0x00)
  883. #define MCF_GPIO_PAR_BUSCTL_PAR_TS_DACK0 (0x10)
  884. #define MCF_GPIO_PAR_BUSCTL_PAR_TS_TS (0x18)
  885. /* Bit definitions and macros for MCF_GPIO_PAR_FECI2C */
  886. #define MCF_GPIO_PAR_FECI2C_PAR_SDA(x) (((x)&0x03)<<0)
  887. #define MCF_GPIO_PAR_FECI2C_PAR_SCL(x) (((x)&0x03)<<2)
  888. #define MCF_GPIO_PAR_FECI2C_PAR_MDIO(x) (((x)&0x03)<<4)
  889. #define MCF_GPIO_PAR_FECI2C_PAR_MDC(x) (((x)&0x03)<<6)
  890. #define MCF_GPIO_PAR_FECI2C_PAR_MDC_GPIO (0x00)
  891. #define MCF_GPIO_PAR_FECI2C_PAR_MDC_UTXD2 (0x40)
  892. #define MCF_GPIO_PAR_FECI2C_PAR_MDC_SCL (0x80)
  893. #define MCF_GPIO_PAR_FECI2C_PAR_MDC_EMDC (0xC0)
  894. #define MCF_GPIO_PAR_FECI2C_PAR_MDIO_GPIO (0x00)
  895. #define MCF_GPIO_PAR_FECI2C_PAR_MDIO_URXD2 (0x10)
  896. #define MCF_GPIO_PAR_FECI2C_PAR_MDIO_SDA (0x20)
  897. #define MCF_GPIO_PAR_FECI2C_PAR_MDIO_EMDIO (0x30)
  898. #define MCF_GPIO_PAR_FECI2C_PAR_SCL_GPIO (0x00)
  899. #define MCF_GPIO_PAR_FECI2C_PAR_SCL_UTXD2 (0x04)
  900. #define MCF_GPIO_PAR_FECI2C_PAR_SCL_SCL (0x0C)
  901. #define MCF_GPIO_PAR_FECI2C_PAR_SDA_GPIO (0x00)
  902. #define MCF_GPIO_PAR_FECI2C_PAR_SDA_URXD2 (0x02)
  903. #define MCF_GPIO_PAR_FECI2C_PAR_SDA_SDA (0x03)
  904. /* Bit definitions and macros for MCF_GPIO_PAR_BE */
  905. #define MCF_GPIO_PAR_BE_PAR_BE0 (0x01)
  906. #define MCF_GPIO_PAR_BE_PAR_BE1 (0x02)
  907. #define MCF_GPIO_PAR_BE_PAR_BE2 (0x04)
  908. #define MCF_GPIO_PAR_BE_PAR_BE3 (0x08)
  909. /* Bit definitions and macros for MCF_GPIO_PAR_CS */
  910. #define MCF_GPIO_PAR_CS_PAR_CS1 (0x02)
  911. #define MCF_GPIO_PAR_CS_PAR_CS2 (0x04)
  912. #define MCF_GPIO_PAR_CS_PAR_CS3 (0x08)
  913. #define MCF_GPIO_PAR_CS_PAR_CS4 (0x10)
  914. #define MCF_GPIO_PAR_CS_PAR_CS5 (0x20)
  915. #define MCF_GPIO_PAR_CS_PAR_CS_CS1_GPIO (0x00)
  916. #define MCF_GPIO_PAR_CS_PAR_CS_CS1_SDCS1 (0x01)
  917. #define MCF_GPIO_PAR_CS_PAR_CS_CS1_CS1 (0x03)
  918. /* Bit definitions and macros for MCF_GPIO_PAR_SSI */
  919. #define MCF_GPIO_PAR_SSI_PAR_MCLK (0x0080)
  920. #define MCF_GPIO_PAR_SSI_PAR_TXD(x) (((x)&0x0003)<<8)
  921. #define MCF_GPIO_PAR_SSI_PAR_RXD(x) (((x)&0x0003)<<10)
  922. #define MCF_GPIO_PAR_SSI_PAR_FS(x) (((x)&0x0003)<<12)
  923. #define MCF_GPIO_PAR_SSI_PAR_BCLK(x) (((x)&0x0003)<<14)
  924. /* Bit definitions and macros for MCF_GPIO_PAR_UART */
  925. #define MCF_GPIO_PAR_UART_PAR_UTXD0 (0x0001)
  926. #define MCF_GPIO_PAR_UART_PAR_URXD0 (0x0002)
  927. #define MCF_GPIO_PAR_UART_PAR_URTS0 (0x0004)
  928. #define MCF_GPIO_PAR_UART_PAR_UCTS0 (0x0008)
  929. #define MCF_GPIO_PAR_UART_PAR_UTXD1(x) (((x)&0x0003)<<4)
  930. #define MCF_GPIO_PAR_UART_PAR_URXD1(x) (((x)&0x0003)<<6)
  931. #define MCF_GPIO_PAR_UART_PAR_URTS1(x) (((x)&0x0003)<<8)
  932. #define MCF_GPIO_PAR_UART_PAR_UCTS1(x) (((x)&0x0003)<<10)
  933. #define MCF_GPIO_PAR_UART_PAR_UCTS1_GPIO (0x0000)
  934. #define MCF_GPIO_PAR_UART_PAR_UCTS1_SSI_BCLK (0x0800)
  935. #define MCF_GPIO_PAR_UART_PAR_UCTS1_ULPI_D7 (0x0400)
  936. #define MCF_GPIO_PAR_UART_PAR_UCTS1_UCTS1 (0x0C00)
  937. #define MCF_GPIO_PAR_UART_PAR_URTS1_GPIO (0x0000)
  938. #define MCF_GPIO_PAR_UART_PAR_URTS1_SSI_FS (0x0200)
  939. #define MCF_GPIO_PAR_UART_PAR_URTS1_ULPI_D6 (0x0100)
  940. #define MCF_GPIO_PAR_UART_PAR_URTS1_URTS1 (0x0300)
  941. #define MCF_GPIO_PAR_UART_PAR_URXD1_GPIO (0x0000)
  942. #define MCF_GPIO_PAR_UART_PAR_URXD1_SSI_RXD (0x0080)
  943. #define MCF_GPIO_PAR_UART_PAR_URXD1_ULPI_D5 (0x0040)
  944. #define MCF_GPIO_PAR_UART_PAR_URXD1_URXD1 (0x00C0)
  945. #define MCF_GPIO_PAR_UART_PAR_UTXD1_GPIO (0x0000)
  946. #define MCF_GPIO_PAR_UART_PAR_UTXD1_SSI_TXD (0x0020)
  947. #define MCF_GPIO_PAR_UART_PAR_UTXD1_ULPI_D4 (0x0010)
  948. #define MCF_GPIO_PAR_UART_PAR_UTXD1_UTXD1 (0x0030)
  949. /* Bit definitions and macros for MCF_GPIO_PAR_QSPI */
  950. #define MCF_GPIO_PAR_QSPI_PAR_SCK(x) (((x)&0x0003)<<4)
  951. #define MCF_GPIO_PAR_QSPI_PAR_DOUT(x) (((x)&0x0003)<<6)
  952. #define MCF_GPIO_PAR_QSPI_PAR_DIN(x) (((x)&0x0003)<<8)
  953. #define MCF_GPIO_PAR_QSPI_PAR_PCS0(x) (((x)&0x0003)<<10)
  954. #define MCF_GPIO_PAR_QSPI_PAR_PCS1(x) (((x)&0x0003)<<12)
  955. #define MCF_GPIO_PAR_QSPI_PAR_PCS2(x) (((x)&0x0003)<<14)
  956. /* Bit definitions and macros for MCF_GPIO_PAR_TIMER */
  957. #define MCF_GPIO_PAR_TIMER_PAR_TIN0(x) (((x)&0x03)<<0)
  958. #define MCF_GPIO_PAR_TIMER_PAR_TIN1(x) (((x)&0x03)<<2)
  959. #define MCF_GPIO_PAR_TIMER_PAR_TIN2(x) (((x)&0x03)<<4)
  960. #define MCF_GPIO_PAR_TIMER_PAR_TIN3(x) (((x)&0x03)<<6)
  961. #define MCF_GPIO_PAR_TIMER_PAR_TIN3_GPIO (0x00)
  962. #define MCF_GPIO_PAR_TIMER_PAR_TIN3_TOUT3 (0x80)
  963. #define MCF_GPIO_PAR_TIMER_PAR_TIN3_URXD2 (0x40)
  964. #define MCF_GPIO_PAR_TIMER_PAR_TIN3_TIN3 (0xC0)
  965. #define MCF_GPIO_PAR_TIMER_PAR_TIN2_GPIO (0x00)
  966. #define MCF_GPIO_PAR_TIMER_PAR_TIN2_TOUT2 (0x20)
  967. #define MCF_GPIO_PAR_TIMER_PAR_TIN2_UTXD2 (0x10)
  968. #define MCF_GPIO_PAR_TIMER_PAR_TIN2_TIN2 (0x30)
  969. #define MCF_GPIO_PAR_TIMER_PAR_TIN1_GPIO (0x00)
  970. #define MCF_GPIO_PAR_TIMER_PAR_TIN1_TOUT1 (0x08)
  971. #define MCF_GPIO_PAR_TIMER_PAR_TIN1_DACK1 (0x04)
  972. #define MCF_GPIO_PAR_TIMER_PAR_TIN1_TIN1 (0x0C)
  973. #define MCF_GPIO_PAR_TIMER_PAR_TIN0_GPIO (0x00)
  974. #define MCF_GPIO_PAR_TIMER_PAR_TIN0_TOUT0 (0x02)
  975. #define MCF_GPIO_PAR_TIMER_PAR_TIN0_DREQ0 (0x01)
  976. #define MCF_GPIO_PAR_TIMER_PAR_TIN0_TIN0 (0x03)
  977. /* Bit definitions and macros for MCF_GPIO_PAR_LCDDATA */
  978. #define MCF_GPIO_PAR_LCDDATA_PAR_LD7_0(x) (((x)&0x03)<<0)
  979. #define MCF_GPIO_PAR_LCDDATA_PAR_LD15_8(x) (((x)&0x03)<<2)
  980. #define MCF_GPIO_PAR_LCDDATA_PAR_LD16(x) (((x)&0x03)<<4)
  981. #define MCF_GPIO_PAR_LCDDATA_PAR_LD17(x) (((x)&0x03)<<6)
  982. /* Bit definitions and macros for MCF_GPIO_PAR_LCDCTL */
  983. #define MCF_GPIO_PAR_LCDCTL_PAR_CLS (0x0001)
  984. #define MCF_GPIO_PAR_LCDCTL_PAR_PS (0x0002)
  985. #define MCF_GPIO_PAR_LCDCTL_PAR_REV (0x0004)
  986. #define MCF_GPIO_PAR_LCDCTL_PAR_SPL_SPR (0x0008)
  987. #define MCF_GPIO_PAR_LCDCTL_PAR_CONTRAST (0x0010)
  988. #define MCF_GPIO_PAR_LCDCTL_PAR_LSCLK (0x0020)
  989. #define MCF_GPIO_PAR_LCDCTL_PAR_LP_HSYNC (0x0040)
  990. #define MCF_GPIO_PAR_LCDCTL_PAR_FLM_VSYNC (0x0080)
  991. #define MCF_GPIO_PAR_LCDCTL_PAR_ACD_OE (0x0100)
  992. /* Bit definitions and macros for MCF_GPIO_PAR_IRQ */
  993. #define MCF_GPIO_PAR_IRQ_PAR_IRQ1(x) (((x)&0x0003)<<4)
  994. #define MCF_GPIO_PAR_IRQ_PAR_IRQ2(x) (((x)&0x0003)<<6)
  995. #define MCF_GPIO_PAR_IRQ_PAR_IRQ4(x) (((x)&0x0003)<<8)
  996. #define MCF_GPIO_PAR_IRQ_PAR_IRQ5(x) (((x)&0x0003)<<10)
  997. #define MCF_GPIO_PAR_IRQ_PAR_IRQ6(x) (((x)&0x0003)<<12)
  998. /* Bit definitions and macros for MCF_GPIO_MSCR_FLEXBUS */
  999. #define MCF_GPIO_MSCR_FLEXBUS_MSCR_ADDRCTL(x) (((x)&0x03)<<0)
  1000. #define MCF_GPIO_MSCR_FLEXBUS_MSCR_DLOWER(x) (((x)&0x03)<<2)
  1001. #define MCF_GPIO_MSCR_FLEXBUS_MSCR_DUPPER(x) (((x)&0x03)<<4)
  1002. /* Bit definitions and macros for MCF_GPIO_MSCR_SDRAM */
  1003. #define MCF_GPIO_MSCR_SDRAM_MSCR_SDRAM(x) (((x)&0x03)<<0)
  1004. #define MCF_GPIO_MSCR_SDRAM_MSCR_SDCLK(x) (((x)&0x03)<<2)
  1005. #define MCF_GPIO_MSCR_SDRAM_MSCR_SDCLKB(x) (((x)&0x03)<<4)
  1006. /* Bit definitions and macros for MCF_GPIO_DSCR_I2C */
  1007. #define MCF_GPIO_DSCR_I2C_I2C_DSE(x) (((x)&0x03)<<0)
  1008. /* Bit definitions and macros for MCF_GPIO_DSCR_PWM */
  1009. #define MCF_GPIO_DSCR_PWM_PWM_DSE(x) (((x)&0x03)<<0)
  1010. /* Bit definitions and macros for MCF_GPIO_DSCR_FEC */
  1011. #define MCF_GPIO_DSCR_FEC_FEC_DSE(x) (((x)&0x03)<<0)
  1012. /* Bit definitions and macros for MCF_GPIO_DSCR_UART */
  1013. #define MCF_GPIO_DSCR_UART_UART0_DSE(x) (((x)&0x03)<<0)
  1014. #define MCF_GPIO_DSCR_UART_UART1_DSE(x) (((x)&0x03)<<2)
  1015. /* Bit definitions and macros for MCF_GPIO_DSCR_QSPI */
  1016. #define MCF_GPIO_DSCR_QSPI_QSPI_DSE(x) (((x)&0x03)<<0)
  1017. /* Bit definitions and macros for MCF_GPIO_DSCR_TIMER */
  1018. #define MCF_GPIO_DSCR_TIMER_TIMER_DSE(x) (((x)&0x03)<<0)
  1019. /* Bit definitions and macros for MCF_GPIO_DSCR_SSI */
  1020. #define MCF_GPIO_DSCR_SSI_SSI_DSE(x) (((x)&0x03)<<0)
  1021. /* Bit definitions and macros for MCF_GPIO_DSCR_LCD */
  1022. #define MCF_GPIO_DSCR_LCD_LCD_DSE(x) (((x)&0x03)<<0)
  1023. /* Bit definitions and macros for MCF_GPIO_DSCR_DEBUG */
  1024. #define MCF_GPIO_DSCR_DEBUG_DEBUG_DSE(x) (((x)&0x03)<<0)
  1025. /* Bit definitions and macros for MCF_GPIO_DSCR_CLKRST */
  1026. #define MCF_GPIO_DSCR_CLKRST_CLKRST_DSE(x) (((x)&0x03)<<0)
  1027. /* Bit definitions and macros for MCF_GPIO_DSCR_IRQ */
  1028. #define MCF_GPIO_DSCR_IRQ_IRQ_DSE(x) (((x)&0x03)<<0)
  1029. /*********************************************************************
  1030. *
  1031. * Interrupt Controller (INTC)
  1032. *
  1033. *********************************************************************/
  1034. /* Register read/write macros */
  1035. #define MCF_INTC0_IPRH MCF_REG32(0xFC048000)
  1036. #define MCF_INTC0_IPRL MCF_REG32(0xFC048004)
  1037. #define MCF_INTC0_IMRH MCF_REG32(0xFC048008)
  1038. #define MCF_INTC0_IMRL MCF_REG32(0xFC04800C)
  1039. #define MCF_INTC0_INTFRCH MCF_REG32(0xFC048010)
  1040. #define MCF_INTC0_INTFRCL MCF_REG32(0xFC048014)
  1041. #define MCF_INTC0_ICONFIG MCF_REG16(0xFC04801A)
  1042. #define MCF_INTC0_SIMR MCF_REG08(0xFC04801C)
  1043. #define MCF_INTC0_CIMR MCF_REG08(0xFC04801D)
  1044. #define MCF_INTC0_CLMASK MCF_REG08(0xFC04801E)
  1045. #define MCF_INTC0_SLMASK MCF_REG08(0xFC04801F)
  1046. #define MCF_INTC0_ICR0 MCF_REG08(0xFC048040)
  1047. #define MCF_INTC0_ICR1 MCF_REG08(0xFC048041)
  1048. #define MCF_INTC0_ICR2 MCF_REG08(0xFC048042)
  1049. #define MCF_INTC0_ICR3 MCF_REG08(0xFC048043)
  1050. #define MCF_INTC0_ICR4 MCF_REG08(0xFC048044)
  1051. #define MCF_INTC0_ICR5 MCF_REG08(0xFC048045)
  1052. #define MCF_INTC0_ICR6 MCF_REG08(0xFC048046)
  1053. #define MCF_INTC0_ICR7 MCF_REG08(0xFC048047)
  1054. #define MCF_INTC0_ICR8 MCF_REG08(0xFC048048)
  1055. #define MCF_INTC0_ICR9 MCF_REG08(0xFC048049)
  1056. #define MCF_INTC0_ICR10 MCF_REG08(0xFC04804A)
  1057. #define MCF_INTC0_ICR11 MCF_REG08(0xFC04804B)
  1058. #define MCF_INTC0_ICR12 MCF_REG08(0xFC04804C)
  1059. #define MCF_INTC0_ICR13 MCF_REG08(0xFC04804D)
  1060. #define MCF_INTC0_ICR14 MCF_REG08(0xFC04804E)
  1061. #define MCF_INTC0_ICR15 MCF_REG08(0xFC04804F)
  1062. #define MCF_INTC0_ICR16 MCF_REG08(0xFC048050)
  1063. #define MCF_INTC0_ICR17 MCF_REG08(0xFC048051)
  1064. #define MCF_INTC0_ICR18 MCF_REG08(0xFC048052)
  1065. #define MCF_INTC0_ICR19 MCF_REG08(0xFC048053)
  1066. #define MCF_INTC0_ICR20 MCF_REG08(0xFC048054)
  1067. #define MCF_INTC0_ICR21 MCF_REG08(0xFC048055)
  1068. #define MCF_INTC0_ICR22 MCF_REG08(0xFC048056)
  1069. #define MCF_INTC0_ICR23 MCF_REG08(0xFC048057)
  1070. #define MCF_INTC0_ICR24 MCF_REG08(0xFC048058)
  1071. #define MCF_INTC0_ICR25 MCF_REG08(0xFC048059)
  1072. #define MCF_INTC0_ICR26 MCF_REG08(0xFC04805A)
  1073. #define MCF_INTC0_ICR27 MCF_REG08(0xFC04805B)
  1074. #define MCF_INTC0_ICR28 MCF_REG08(0xFC04805C)
  1075. #define MCF_INTC0_ICR29 MCF_REG08(0xFC04805D)
  1076. #define MCF_INTC0_ICR30 MCF_REG08(0xFC04805E)
  1077. #define MCF_INTC0_ICR31 MCF_REG08(0xFC04805F)
  1078. #define MCF_INTC0_ICR32 MCF_REG08(0xFC048060)
  1079. #define MCF_INTC0_ICR33 MCF_REG08(0xFC048061)
  1080. #define MCF_INTC0_ICR34 MCF_REG08(0xFC048062)
  1081. #define MCF_INTC0_ICR35 MCF_REG08(0xFC048063)
  1082. #define MCF_INTC0_ICR36 MCF_REG08(0xFC048064)
  1083. #define MCF_INTC0_ICR37 MCF_REG08(0xFC048065)
  1084. #define MCF_INTC0_ICR38 MCF_REG08(0xFC048066)
  1085. #define MCF_INTC0_ICR39 MCF_REG08(0xFC048067)
  1086. #define MCF_INTC0_ICR40 MCF_REG08(0xFC048068)
  1087. #define MCF_INTC0_ICR41 MCF_REG08(0xFC048069)
  1088. #define MCF_INTC0_ICR42 MCF_REG08(0xFC04806A)
  1089. #define MCF_INTC0_ICR43 MCF_REG08(0xFC04806B)
  1090. #define MCF_INTC0_ICR44 MCF_REG08(0xFC04806C)
  1091. #define MCF_INTC0_ICR45 MCF_REG08(0xFC04806D)
  1092. #define MCF_INTC0_ICR46 MCF_REG08(0xFC04806E)
  1093. #define MCF_INTC0_ICR47 MCF_REG08(0xFC04806F)
  1094. #define MCF_INTC0_ICR48 MCF_REG08(0xFC048070)
  1095. #define MCF_INTC0_ICR49 MCF_REG08(0xFC048071)
  1096. #define MCF_INTC0_ICR50 MCF_REG08(0xFC048072)
  1097. #define MCF_INTC0_ICR51 MCF_REG08(0xFC048073)
  1098. #define MCF_INTC0_ICR52 MCF_REG08(0xFC048074)
  1099. #define MCF_INTC0_ICR53 MCF_REG08(0xFC048075)
  1100. #define MCF_INTC0_ICR54 MCF_REG08(0xFC048076)
  1101. #define MCF_INTC0_ICR55 MCF_REG08(0xFC048077)
  1102. #define MCF_INTC0_ICR56 MCF_REG08(0xFC048078)
  1103. #define MCF_INTC0_ICR57 MCF_REG08(0xFC048079)
  1104. #define MCF_INTC0_ICR58 MCF_REG08(0xFC04807A)
  1105. #define MCF_INTC0_ICR59 MCF_REG08(0xFC04807B)
  1106. #define MCF_INTC0_ICR60 MCF_REG08(0xFC04807C)
  1107. #define MCF_INTC0_ICR61 MCF_REG08(0xFC04807D)
  1108. #define MCF_INTC0_ICR62 MCF_REG08(0xFC04807E)
  1109. #define MCF_INTC0_ICR63 MCF_REG08(0xFC04807F)
  1110. #define MCF_INTC0_ICR(x) MCF_REG08(0xFC048040+((x)*0x001))
  1111. #define MCF_INTC0_SWIACK MCF_REG08(0xFC0480E0)
  1112. #define MCF_INTC0_L1IACK MCF_REG08(0xFC0480E4)
  1113. #define MCF_INTC0_L2IACK MCF_REG08(0xFC0480E8)
  1114. #define MCF_INTC0_L3IACK MCF_REG08(0xFC0480EC)
  1115. #define MCF_INTC0_L4IACK MCF_REG08(0xFC0480F0)
  1116. #define MCF_INTC0_L5IACK MCF_REG08(0xFC0480F4)
  1117. #define MCF_INTC0_L6IACK MCF_REG08(0xFC0480F8)
  1118. #define MCF_INTC0_L7IACK MCF_REG08(0xFC0480FC)
  1119. #define MCF_INTC0_LIACK(x) MCF_REG08(0xFC0480E4+((x)*0x004))
  1120. #define MCF_INTC1_IPRH MCF_REG32(0xFC04C000)
  1121. #define MCF_INTC1_IPRL MCF_REG32(0xFC04C004)
  1122. #define MCF_INTC1_IMRH MCF_REG32(0xFC04C008)
  1123. #define MCF_INTC1_IMRL MCF_REG32(0xFC04C00C)
  1124. #define MCF_INTC1_INTFRCH MCF_REG32(0xFC04C010)
  1125. #define MCF_INTC1_INTFRCL MCF_REG32(0xFC04C014)
  1126. #define MCF_INTC1_ICONFIG MCF_REG16(0xFC04C01A)
  1127. #define MCF_INTC1_SIMR MCF_REG08(0xFC04C01C)
  1128. #define MCF_INTC1_CIMR MCF_REG08(0xFC04C01D)
  1129. #define MCF_INTC1_CLMASK MCF_REG08(0xFC04C01E)
  1130. #define MCF_INTC1_SLMASK MCF_REG08(0xFC04C01F)
  1131. #define MCF_INTC1_ICR0 MCF_REG08(0xFC04C040)
  1132. #define MCF_INTC1_ICR1 MCF_REG08(0xFC04C041)
  1133. #define MCF_INTC1_ICR2 MCF_REG08(0xFC04C042)
  1134. #define MCF_INTC1_ICR3 MCF_REG08(0xFC04C043)
  1135. #define MCF_INTC1_ICR4 MCF_REG08(0xFC04C044)
  1136. #define MCF_INTC1_ICR5 MCF_REG08(0xFC04C045)
  1137. #define MCF_INTC1_ICR6 MCF_REG08(0xFC04C046)
  1138. #define MCF_INTC1_ICR7 MCF_REG08(0xFC04C047)
  1139. #define MCF_INTC1_ICR8 MCF_REG08(0xFC04C048)
  1140. #define MCF_INTC1_ICR9 MCF_REG08(0xFC04C049)
  1141. #define MCF_INTC1_ICR10 MCF_REG08(0xFC04C04A)
  1142. #define MCF_INTC1_ICR11 MCF_REG08(0xFC04C04B)
  1143. #define MCF_INTC1_ICR12 MCF_REG08(0xFC04C04C)
  1144. #define MCF_INTC1_ICR13 MCF_REG08(0xFC04C04D)
  1145. #define MCF_INTC1_ICR14 MCF_REG08(0xFC04C04E)
  1146. #define MCF_INTC1_ICR15 MCF_REG08(0xFC04C04F)
  1147. #define MCF_INTC1_ICR16 MCF_REG08(0xFC04C050)
  1148. #define MCF_INTC1_ICR17 MCF_REG08(0xFC04C051)
  1149. #define MCF_INTC1_ICR18 MCF_REG08(0xFC04C052)
  1150. #define MCF_INTC1_ICR19 MCF_REG08(0xFC04C053)
  1151. #define MCF_INTC1_ICR20 MCF_REG08(0xFC04C054)
  1152. #define MCF_INTC1_ICR21 MCF_REG08(0xFC04C055)
  1153. #define MCF_INTC1_ICR22 MCF_REG08(0xFC04C056)
  1154. #define MCF_INTC1_ICR23 MCF_REG08(0xFC04C057)
  1155. #define MCF_INTC1_ICR24 MCF_REG08(0xFC04C058)
  1156. #define MCF_INTC1_ICR25 MCF_REG08(0xFC04C059)
  1157. #define MCF_INTC1_ICR26 MCF_REG08(0xFC04C05A)
  1158. #define MCF_INTC1_ICR27 MCF_REG08(0xFC04C05B)
  1159. #define MCF_INTC1_ICR28 MCF_REG08(0xFC04C05C)
  1160. #define MCF_INTC1_ICR29 MCF_REG08(0xFC04C05D)
  1161. #define MCF_INTC1_ICR30 MCF_REG08(0xFC04C05E)
  1162. #define MCF_INTC1_ICR31 MCF_REG08(0xFC04C05F)
  1163. #define MCF_INTC1_ICR32 MCF_REG08(0xFC04C060)
  1164. #define MCF_INTC1_ICR33 MCF_REG08(0xFC04C061)
  1165. #define MCF_INTC1_ICR34 MCF_REG08(0xFC04C062)
  1166. #define MCF_INTC1_ICR35 MCF_REG08(0xFC04C063)
  1167. #define MCF_INTC1_ICR36 MCF_REG08(0xFC04C064)
  1168. #define MCF_INTC1_ICR37 MCF_REG08(0xFC04C065)
  1169. #define MCF_INTC1_ICR38 MCF_REG08(0xFC04C066)
  1170. #define MCF_INTC1_ICR39 MCF_REG08(0xFC04C067)
  1171. #define MCF_INTC1_ICR40 MCF_REG08(0xFC04C068)
  1172. #define MCF_INTC1_ICR41 MCF_REG08(0xFC04C069)
  1173. #define MCF_INTC1_ICR42 MCF_REG08(0xFC04C06A)
  1174. #define MCF_INTC1_ICR43 MCF_REG08(0xFC04C06B)
  1175. #define MCF_INTC1_ICR44 MCF_REG08(0xFC04C06C)
  1176. #define MCF_INTC1_ICR45 MCF_REG08(0xFC04C06D)
  1177. #define MCF_INTC1_ICR46 MCF_REG08(0xFC04C06E)
  1178. #define MCF_INTC1_ICR47 MCF_REG08(0xFC04C06F)
  1179. #define MCF_INTC1_ICR48 MCF_REG08(0xFC04C070)
  1180. #define MCF_INTC1_ICR49 MCF_REG08(0xFC04C071)
  1181. #define MCF_INTC1_ICR50 MCF_REG08(0xFC04C072)
  1182. #define MCF_INTC1_ICR51 MCF_REG08(0xFC04C073)
  1183. #define MCF_INTC1_ICR52 MCF_REG08(0xFC04C074)
  1184. #define MCF_INTC1_ICR53 MCF_REG08(0xFC04C075)
  1185. #define MCF_INTC1_ICR54 MCF_REG08(0xFC04C076)
  1186. #define MCF_INTC1_ICR55 MCF_REG08(0xFC04C077)
  1187. #define MCF_INTC1_ICR56 MCF_REG08(0xFC04C078)
  1188. #define MCF_INTC1_ICR57 MCF_REG08(0xFC04C079)
  1189. #define MCF_INTC1_ICR58 MCF_REG08(0xFC04C07A)
  1190. #define MCF_INTC1_ICR59 MCF_REG08(0xFC04C07B)
  1191. #define MCF_INTC1_ICR60 MCF_REG08(0xFC04C07C)
  1192. #define MCF_INTC1_ICR61 MCF_REG08(0xFC04C07D)
  1193. #define MCF_INTC1_ICR62 MCF_REG08(0xFC04C07E)
  1194. #define MCF_INTC1_ICR63 MCF_REG08(0xFC04C07F)
  1195. #define MCF_INTC1_ICR(x) MCF_REG08(0xFC04C040+((x)*0x001))
  1196. #define MCF_INTC1_SWIACK MCF_REG08(0xFC04C0E0)
  1197. #define MCF_INTC1_L1IACK MCF_REG08(0xFC04C0E4)
  1198. #define MCF_INTC1_L2IACK MCF_REG08(0xFC04C0E8)
  1199. #define MCF_INTC1_L3IACK MCF_REG08(0xFC04C0EC)
  1200. #define MCF_INTC1_L4IACK MCF_REG08(0xFC04C0F0)
  1201. #define MCF_INTC1_L5IACK MCF_REG08(0xFC04C0F4)
  1202. #define MCF_INTC1_L6IACK MCF_REG08(0xFC04C0F8)
  1203. #define MCF_INTC1_L7IACK MCF_REG08(0xFC04C0FC)
  1204. #define MCF_INTC1_LIACK(x) MCF_REG08(0xFC04C0E4+((x)*0x004))
  1205. #define MCF_INTC_IPRH(x) MCF_REG32(0xFC048000+((x)*0x4000))
  1206. #define MCF_INTC_IPRL(x) MCF_REG32(0xFC048004+((x)*0x4000))
  1207. #define MCF_INTC_IMRH(x) MCF_REG32(0xFC048008+((x)*0x4000))
  1208. #define MCF_INTC_IMRL(x) MCF_REG32(0xFC04800C+((x)*0x4000))
  1209. #define MCF_INTC_INTFRCH(x) MCF_REG32(0xFC048010+((x)*0x4000))
  1210. #define MCF_INTC_INTFRCL(x) MCF_REG32(0xFC048014+((x)*0x4000))
  1211. #define MCF_INTC_ICONFIG(x) MCF_REG16(0xFC04801A+((x)*0x4000))
  1212. #define MCF_INTC_SIMR(x) MCF_REG08(0xFC04801C+((x)*0x4000))
  1213. #define MCF_INTC_CIMR(x) MCF_REG08(0xFC04801D+((x)*0x4000))
  1214. #define MCF_INTC_CLMASK(x) MCF_REG08(0xFC04801E+((x)*0x4000))
  1215. #define MCF_INTC_SLMASK(x) MCF_REG08(0xFC04801F+((x)*0x4000))
  1216. #define MCF_INTC_ICR0(x) MCF_REG08(0xFC048040+((x)*0x4000))
  1217. #define MCF_INTC_ICR1(x) MCF_REG08(0xFC048041+((x)*0x4000))
  1218. #define MCF_INTC_ICR2(x) MCF_REG08(0xFC048042+((x)*0x4000))
  1219. #define MCF_INTC_ICR3(x) MCF_REG08(0xFC048043+((x)*0x4000))
  1220. #define MCF_INTC_ICR4(x) MCF_REG08(0xFC048044+((x)*0x4000))
  1221. #define MCF_INTC_ICR5(x) MCF_REG08(0xFC048045+((x)*0x4000))
  1222. #define MCF_INTC_ICR6(x) MCF_REG08(0xFC048046+((x)*0x4000))
  1223. #define MCF_INTC_ICR7(x) MCF_REG08(0xFC048047+((x)*0x4000))
  1224. #define MCF_INTC_ICR8(x) MCF_REG08(0xFC048048+((x)*0x4000))
  1225. #define MCF_INTC_ICR9(x) MCF_REG08(0xFC048049+((x)*0x4000))
  1226. #define MCF_INTC_ICR10(x) MCF_REG08(0xFC04804A+((x)*0x4000))
  1227. #define MCF_INTC_ICR11(x) MCF_REG08(0xFC04804B+((x)*0x4000))
  1228. #define MCF_INTC_ICR12(x) MCF_REG08(0xFC04804C+((x)*0x4000))
  1229. #define MCF_INTC_ICR13(x) MCF_REG08(0xFC04804D+((x)*0x4000))
  1230. #define MCF_INTC_ICR14(x) MCF_REG08(0xFC04804E+((x)*0x4000))
  1231. #define MCF_INTC_ICR15(x) MCF_REG08(0xFC04804F+((x)*0x4000))
  1232. #define MCF_INTC_ICR16(x) MCF_REG08(0xFC048050+((x)*0x4000))
  1233. #define MCF_INTC_ICR17(x) MCF_REG08(0xFC048051+((x)*0x4000))
  1234. #define MCF_INTC_ICR18(x) MCF_REG08(0xFC048052+((x)*0x4000))
  1235. #define MCF_INTC_ICR19(x) MCF_REG08(0xFC048053+((x)*0x4000))
  1236. #define MCF_INTC_ICR20(x) MCF_REG08(0xFC048054+((x)*0x4000))
  1237. #define MCF_INTC_ICR21(x) MCF_REG08(0xFC048055+((x)*0x4000))
  1238. #define MCF_INTC_ICR22(x) MCF_REG08(0xFC048056+((x)*0x4000))
  1239. #define MCF_INTC_ICR23(x) MCF_REG08(0xFC048057+((x)*0x4000))
  1240. #define MCF_INTC_ICR24(x) MCF_REG08(0xFC048058+((x)*0x4000))
  1241. #define MCF_INTC_ICR25(x) MCF_REG08(0xFC048059+((x)*0x4000))
  1242. #define MCF_INTC_ICR26(x) MCF_REG08(0xFC04805A+((x)*0x4000))
  1243. #define MCF_INTC_ICR27(x) MCF_REG08(0xFC04805B+((x)*0x4000))
  1244. #define MCF_INTC_ICR28(x) MCF_REG08(0xFC04805C+((x)*0x4000))
  1245. #define MCF_INTC_ICR29(x) MCF_REG08(0xFC04805D+((x)*0x4000))
  1246. #define MCF_INTC_ICR30(x) MCF_REG08(0xFC04805E+((x)*0x4000))
  1247. #define MCF_INTC_ICR31(x) MCF_REG08(0xFC04805F+((x)*0x4000))
  1248. #define MCF_INTC_ICR32(x) MCF_REG08(0xFC048060+((x)*0x4000))
  1249. #define MCF_INTC_ICR33(x) MCF_REG08(0xFC048061+((x)*0x4000))
  1250. #define MCF_INTC_ICR34(x) MCF_REG08(0xFC048062+((x)*0x4000))
  1251. #define MCF_INTC_ICR35(x) MCF_REG08(0xFC048063+((x)*0x4000))
  1252. #define MCF_INTC_ICR36(x) MCF_REG08(0xFC048064+((x)*0x4000))
  1253. #define MCF_INTC_ICR37(x) MCF_REG08(0xFC048065+((x)*0x4000))
  1254. #define MCF_INTC_ICR38(x) MCF_REG08(0xFC048066+((x)*0x4000))
  1255. #define MCF_INTC_ICR39(x) MCF_REG08(0xFC048067+((x)*0x4000))
  1256. #define MCF_INTC_ICR40(x) MCF_REG08(0xFC048068+((x)*0x4000))
  1257. #define MCF_INTC_ICR41(x) MCF_REG08(0xFC048069+((x)*0x4000))
  1258. #define MCF_INTC_ICR42(x) MCF_REG08(0xFC04806A+((x)*0x4000))
  1259. #define MCF_INTC_ICR43(x) MCF_REG08(0xFC04806B+((x)*0x4000))
  1260. #define MCF_INTC_ICR44(x) MCF_REG08(0xFC04806C+((x)*0x4000))
  1261. #define MCF_INTC_ICR45(x) MCF_REG08(0xFC04806D+((x)*0x4000))
  1262. #define MCF_INTC_ICR46(x) MCF_REG08(0xFC04806E+((x)*0x4000))
  1263. #define MCF_INTC_ICR47(x) MCF_REG08(0xFC04806F+((x)*0x4000))
  1264. #define MCF_INTC_ICR48(x) MCF_REG08(0xFC048070+((x)*0x4000))
  1265. #define MCF_INTC_ICR49(x) MCF_REG08(0xFC048071+((x)*0x4000))
  1266. #define MCF_INTC_ICR50(x) MCF_REG08(0xFC048072+((x)*0x4000))
  1267. #define MCF_INTC_ICR51(x) MCF_REG08(0xFC048073+((x)*0x4000))
  1268. #define MCF_INTC_ICR52(x) MCF_REG08(0xFC048074+((x)*0x4000))
  1269. #define MCF_INTC_ICR53(x) MCF_REG08(0xFC048075+((x)*0x4000))
  1270. #define MCF_INTC_ICR54(x) MCF_REG08(0xFC048076+((x)*0x4000))
  1271. #define MCF_INTC_ICR55(x) MCF_REG08(0xFC048077+((x)*0x4000))
  1272. #define MCF_INTC_ICR56(x) MCF_REG08(0xFC048078+((x)*0x4000))
  1273. #define MCF_INTC_ICR57(x) MCF_REG08(0xFC048079+((x)*0x4000))
  1274. #define MCF_INTC_ICR58(x) MCF_REG08(0xFC04807A+((x)*0x4000))
  1275. #define MCF_INTC_ICR59(x) MCF_REG08(0xFC04807B+((x)*0x4000))
  1276. #define MCF_INTC_ICR60(x) MCF_REG08(0xFC04807C+((x)*0x4000))
  1277. #define MCF_INTC_ICR61(x) MCF_REG08(0xFC04807D+((x)*0x4000))
  1278. #define MCF_INTC_ICR62(x) MCF_REG08(0xFC04807E+((x)*0x4000))
  1279. #define MCF_INTC_ICR63(x) MCF_REG08(0xFC04807F+((x)*0x4000))
  1280. #define MCF_INTC_SWIACK(x) MCF_REG08(0xFC0480E0+((x)*0x4000))
  1281. #define MCF_INTC_L1IACK(x) MCF_REG08(0xFC0480E4+((x)*0x4000))
  1282. #define MCF_INTC_L2IACK(x) MCF_REG08(0xFC0480E8+((x)*0x4000))
  1283. #define MCF_INTC_L3IACK(x) MCF_REG08(0xFC0480EC+((x)*0x4000))
  1284. #define MCF_INTC_L4IACK(x) MCF_REG08(0xFC0480F0+((x)*0x4000))
  1285. #define MCF_INTC_L5IACK(x) MCF_REG08(0xFC0480F4+((x)*0x4000))
  1286. #define MCF_INTC_L6IACK(x) MCF_REG08(0xFC0480F8+((x)*0x4000))
  1287. #define MCF_INTC_L7IACK(x) MCF_REG08(0xFC0480FC+((x)*0x4000))
  1288. /* Bit definitions and macros for MCF_INTC_IPRH */
  1289. #define MCF_INTC_IPRH_INT32 (0x00000001)
  1290. #define MCF_INTC_IPRH_INT33 (0x00000002)
  1291. #define MCF_INTC_IPRH_INT34 (0x00000004)
  1292. #define MCF_INTC_IPRH_INT35 (0x00000008)
  1293. #define MCF_INTC_IPRH_INT36 (0x00000010)
  1294. #define MCF_INTC_IPRH_INT37 (0x00000020)
  1295. #define MCF_INTC_IPRH_INT38 (0x00000040)
  1296. #define MCF_INTC_IPRH_INT39 (0x00000080)
  1297. #define MCF_INTC_IPRH_INT40 (0x00000100)
  1298. #define MCF_INTC_IPRH_INT41 (0x00000200)
  1299. #define MCF_INTC_IPRH_INT42 (0x00000400)
  1300. #define MCF_INTC_IPRH_INT43 (0x00000800)
  1301. #define MCF_INTC_IPRH_INT44 (0x00001000)
  1302. #define MCF_INTC_IPRH_INT45 (0x00002000)
  1303. #define MCF_INTC_IPRH_INT46 (0x00004000)
  1304. #define MCF_INTC_IPRH_INT47 (0x00008000)
  1305. #define MCF_INTC_IPRH_INT48 (0x00010000)
  1306. #define MCF_INTC_IPRH_INT49 (0x00020000)
  1307. #define MCF_INTC_IPRH_INT50 (0x00040000)
  1308. #define MCF_INTC_IPRH_INT51 (0x00080000)
  1309. #define MCF_INTC_IPRH_INT52 (0x00100000)
  1310. #define MCF_INTC_IPRH_INT53 (0x00200000)
  1311. #define MCF_INTC_IPRH_INT54 (0x00400000)
  1312. #define MCF_INTC_IPRH_INT55 (0x00800000)
  1313. #define MCF_INTC_IPRH_INT56 (0x01000000)
  1314. #define MCF_INTC_IPRH_INT57 (0x02000000)
  1315. #define MCF_INTC_IPRH_INT58 (0x04000000)
  1316. #define MCF_INTC_IPRH_INT59 (0x08000000)
  1317. #define MCF_INTC_IPRH_INT60 (0x10000000)
  1318. #define MCF_INTC_IPRH_INT61 (0x20000000)
  1319. #define MCF_INTC_IPRH_INT62 (0x40000000)
  1320. #define MCF_INTC_IPRH_INT63 (0x80000000)
  1321. /* Bit definitions and macros for MCF_INTC_IPRL */
  1322. #define MCF_INTC_IPRL_INT0 (0x00000001)
  1323. #define MCF_INTC_IPRL_INT1 (0x00000002)
  1324. #define MCF_INTC_IPRL_INT2 (0x00000004)
  1325. #define MCF_INTC_IPRL_INT3 (0x00000008)
  1326. #define MCF_INTC_IPRL_INT4 (0x00000010)
  1327. #define MCF_INTC_IPRL_INT5 (0x00000020)
  1328. #define MCF_INTC_IPRL_INT6 (0x00000040)
  1329. #define MCF_INTC_IPRL_INT7 (0x00000080)
  1330. #define MCF_INTC_IPRL_INT8 (0x00000100)
  1331. #define MCF_INTC_IPRL_INT9 (0x00000200)
  1332. #define MCF_INTC_IPRL_INT10 (0x00000400)
  1333. #define MCF_INTC_IPRL_INT11 (0x00000800)
  1334. #define MCF_INTC_IPRL_INT12 (0x00001000)
  1335. #define MCF_INTC_IPRL_INT13 (0x00002000)
  1336. #define MCF_INTC_IPRL_INT14 (0x00004000)
  1337. #define MCF_INTC_IPRL_INT15 (0x00008000)
  1338. #define MCF_INTC_IPRL_INT16 (0x00010000)
  1339. #define MCF_INTC_IPRL_INT17 (0x00020000)
  1340. #define MCF_INTC_IPRL_INT18 (0x00040000)
  1341. #define MCF_INTC_IPRL_INT19 (0x00080000)
  1342. #define MCF_INTC_IPRL_INT20 (0x00100000)
  1343. #define MCF_INTC_IPRL_INT21 (0x00200000)
  1344. #define MCF_INTC_IPRL_INT22 (0x00400000)
  1345. #define MCF_INTC_IPRL_INT23 (0x00800000)
  1346. #define MCF_INTC_IPRL_INT24 (0x01000000)
  1347. #define MCF_INTC_IPRL_INT25 (0x02000000)
  1348. #define MCF_INTC_IPRL_INT26 (0x04000000)
  1349. #define MCF_INTC_IPRL_INT27 (0x08000000)
  1350. #define MCF_INTC_IPRL_INT28 (0x10000000)
  1351. #define MCF_INTC_IPRL_INT29 (0x20000000)
  1352. #define MCF_INTC_IPRL_INT30 (0x40000000)
  1353. #define MCF_INTC_IPRL_INT31 (0x80000000)
  1354. /* Bit definitions and macros for MCF_INTC_IMRH */
  1355. #define MCF_INTC_IMRH_INT_MASK32 (0x00000001)
  1356. #define MCF_INTC_IMRH_INT_MASK33 (0x00000002)
  1357. #define MCF_INTC_IMRH_INT_MASK34 (0x00000004)
  1358. #define MCF_INTC_IMRH_INT_MASK35 (0x00000008)
  1359. #define MCF_INTC_IMRH_INT_MASK36 (0x00000010)
  1360. #define MCF_INTC_IMRH_INT_MASK37 (0x00000020)
  1361. #define MCF_INTC_IMRH_INT_MASK38 (0x00000040)
  1362. #define MCF_INTC_IMRH_INT_MASK39 (0x00000080)
  1363. #define MCF_INTC_IMRH_INT_MASK40 (0x00000100)
  1364. #define MCF_INTC_IMRH_INT_MASK41 (0x00000200)
  1365. #define MCF_INTC_IMRH_INT_MASK42 (0x00000400)
  1366. #define MCF_INTC_IMRH_INT_MASK43 (0x00000800)
  1367. #define MCF_INTC_IMRH_INT_MASK44 (0x00001000)
  1368. #define MCF_INTC_IMRH_INT_MASK45 (0x00002000)
  1369. #define MCF_INTC_IMRH_INT_MASK46 (0x00004000)
  1370. #define MCF_INTC_IMRH_INT_MASK47 (0x00008000)
  1371. #define MCF_INTC_IMRH_INT_MASK48 (0x00010000)
  1372. #define MCF_INTC_IMRH_INT_MASK49 (0x00020000)
  1373. #define MCF_INTC_IMRH_INT_MASK50 (0x00040000)
  1374. #define MCF_INTC_IMRH_INT_MASK51 (0x00080000)
  1375. #define MCF_INTC_IMRH_INT_MASK52 (0x00100000)
  1376. #define MCF_INTC_IMRH_INT_MASK53 (0x00200000)
  1377. #define MCF_INTC_IMRH_INT_MASK54 (0x00400000)
  1378. #define MCF_INTC_IMRH_INT_MASK55 (0x00800000)
  1379. #define MCF_INTC_IMRH_INT_MASK56 (0x01000000)
  1380. #define MCF_INTC_IMRH_INT_MASK57 (0x02000000)
  1381. #define MCF_INTC_IMRH_INT_MASK58 (0x04000000)
  1382. #define MCF_INTC_IMRH_INT_MASK59 (0x08000000)
  1383. #define MCF_INTC_IMRH_INT_MASK60 (0x10000000)
  1384. #define MCF_INTC_IMRH_INT_MASK61 (0x20000000)
  1385. #define MCF_INTC_IMRH_INT_MASK62 (0x40000000)
  1386. #define MCF_INTC_IMRH_INT_MASK63 (0x80000000)
  1387. /* Bit definitions and macros for MCF_INTC_IMRL */
  1388. #define MCF_INTC_IMRL_INT_MASK0 (0x00000001)
  1389. #define MCF_INTC_IMRL_INT_MASK1 (0x00000002)
  1390. #define MCF_INTC_IMRL_INT_MASK2 (0x00000004)
  1391. #define MCF_INTC_IMRL_INT_MASK3 (0x00000008)
  1392. #define MCF_INTC_IMRL_INT_MASK4 (0x00000010)
  1393. #define MCF_INTC_IMRL_INT_MASK5 (0x00000020)
  1394. #define MCF_INTC_IMRL_INT_MASK6 (0x00000040)
  1395. #define MCF_INTC_IMRL_INT_MASK7 (0x00000080)
  1396. #define MCF_INTC_IMRL_INT_MASK8 (0x00000100)
  1397. #define MCF_INTC_IMRL_INT_MASK9 (0x00000200)
  1398. #define MCF_INTC_IMRL_INT_MASK10 (0x00000400)
  1399. #define MCF_INTC_IMRL_INT_MASK11 (0x00000800)
  1400. #define MCF_INTC_IMRL_INT_MASK12 (0x00001000)
  1401. #define MCF_INTC_IMRL_INT_MASK13 (0x00002000)
  1402. #define MCF_INTC_IMRL_INT_MASK14 (0x00004000)
  1403. #define MCF_INTC_IMRL_INT_MASK15 (0x00008000)
  1404. #define MCF_INTC_IMRL_INT_MASK16 (0x00010000)
  1405. #define MCF_INTC_IMRL_INT_MASK17 (0x00020000)
  1406. #define MCF_INTC_IMRL_INT_MASK18 (0x00040000)
  1407. #define MCF_INTC_IMRL_INT_MASK19 (0x00080000)
  1408. #define MCF_INTC_IMRL_INT_MASK20 (0x00100000)
  1409. #define MCF_INTC_IMRL_INT_MASK21 (0x00200000)
  1410. #define MCF_INTC_IMRL_INT_MASK22 (0x00400000)
  1411. #define MCF_INTC_IMRL_INT_MASK23 (0x00800000)
  1412. #define MCF_INTC_IMRL_INT_MASK24 (0x01000000)
  1413. #define MCF_INTC_IMRL_INT_MASK25 (0x02000000)
  1414. #define MCF_INTC_IMRL_INT_MASK26 (0x04000000)
  1415. #define MCF_INTC_IMRL_INT_MASK27 (0x08000000)
  1416. #define MCF_INTC_IMRL_INT_MASK28 (0x10000000)
  1417. #define MCF_INTC_IMRL_INT_MASK29 (0x20000000)
  1418. #define MCF_INTC_IMRL_INT_MASK30 (0x40000000)
  1419. #define MCF_INTC_IMRL_INT_MASK31 (0x80000000)
  1420. /* Bit definitions and macros for MCF_INTC_INTFRCH */
  1421. #define MCF_INTC_INTFRCH_INTFRC32 (0x00000001)
  1422. #define MCF_INTC_INTFRCH_INTFRC33 (0x00000002)
  1423. #define MCF_INTC_INTFRCH_INTFRC34 (0x00000004)
  1424. #define MCF_INTC_INTFRCH_INTFRC35 (0x00000008)
  1425. #define MCF_INTC_INTFRCH_INTFRC36 (0x00000010)
  1426. #define MCF_INTC_INTFRCH_INTFRC37 (0x00000020)
  1427. #define MCF_INTC_INTFRCH_INTFRC38 (0x00000040)
  1428. #define MCF_INTC_INTFRCH_INTFRC39 (0x00000080)
  1429. #define MCF_INTC_INTFRCH_INTFRC40 (0x00000100)
  1430. #define MCF_INTC_INTFRCH_INTFRC41 (0x00000200)
  1431. #define MCF_INTC_INTFRCH_INTFRC42 (0x00000400)
  1432. #define MCF_INTC_INTFRCH_INTFRC43 (0x00000800)
  1433. #define MCF_INTC_INTFRCH_INTFRC44 (0x00001000)
  1434. #define MCF_INTC_INTFRCH_INTFRC45 (0x00002000)
  1435. #define MCF_INTC_INTFRCH_INTFRC46 (0x00004000)
  1436. #define MCF_INTC_INTFRCH_INTFRC47 (0x00008000)
  1437. #define MCF_INTC_INTFRCH_INTFRC48 (0x00010000)
  1438. #define MCF_INTC_INTFRCH_INTFRC49 (0x00020000)
  1439. #define MCF_INTC_INTFRCH_INTFRC50 (0x00040000)
  1440. #define MCF_INTC_INTFRCH_INTFRC51 (0x00080000)
  1441. #define MCF_INTC_INTFRCH_INTFRC52 (0x00100000)
  1442. #define MCF_INTC_INTFRCH_INTFRC53 (0x00200000)
  1443. #define MCF_INTC_INTFRCH_INTFRC54 (0x00400000)
  1444. #define MCF_INTC_INTFRCH_INTFRC55 (0x00800000)
  1445. #define MCF_INTC_INTFRCH_INTFRC56 (0x01000000)
  1446. #define MCF_INTC_INTFRCH_INTFRC57 (0x02000000)
  1447. #define MCF_INTC_INTFRCH_INTFRC58 (0x04000000)
  1448. #define MCF_INTC_INTFRCH_INTFRC59 (0x08000000)
  1449. #define MCF_INTC_INTFRCH_INTFRC60 (0x10000000)
  1450. #define MCF_INTC_INTFRCH_INTFRC61 (0x20000000)
  1451. #define MCF_INTC_INTFRCH_INTFRC62 (0x40000000)
  1452. #define MCF_INTC_INTFRCH_INTFRC63 (0x80000000)
  1453. /* Bit definitions and macros for MCF_INTC_INTFRCL */
  1454. #define MCF_INTC_INTFRCL_INTFRC0 (0x00000001)
  1455. #define MCF_INTC_INTFRCL_INTFRC1 (0x00000002)
  1456. #define MCF_INTC_INTFRCL_INTFRC2 (0x00000004)
  1457. #define MCF_INTC_INTFRCL_INTFRC3 (0x00000008)
  1458. #define MCF_INTC_INTFRCL_INTFRC4 (0x00000010)
  1459. #define MCF_INTC_INTFRCL_INTFRC5 (0x00000020)
  1460. #define MCF_INTC_INTFRCL_INTFRC6 (0x00000040)
  1461. #define MCF_INTC_INTFRCL_INTFRC7 (0x00000080)
  1462. #define MCF_INTC_INTFRCL_INTFRC8 (0x00000100)
  1463. #define MCF_INTC_INTFRCL_INTFRC9 (0x00000200)
  1464. #define MCF_INTC_INTFRCL_INTFRC10 (0x00000400)
  1465. #define MCF_INTC_INTFRCL_INTFRC11 (0x00000800)
  1466. #define MCF_INTC_INTFRCL_INTFRC12 (0x00001000)
  1467. #define MCF_INTC_INTFRCL_INTFRC13 (0x00002000)
  1468. #define MCF_INTC_INTFRCL_INTFRC14 (0x00004000)
  1469. #define MCF_INTC_INTFRCL_INTFRC15 (0x00008000)
  1470. #define MCF_INTC_INTFRCL_INTFRC16 (0x00010000)
  1471. #define MCF_INTC_INTFRCL_INTFRC17 (0x00020000)
  1472. #define MCF_INTC_INTFRCL_INTFRC18 (0x00040000)
  1473. #define MCF_INTC_INTFRCL_INTFRC19 (0x00080000)
  1474. #define MCF_INTC_INTFRCL_INTFRC20 (0x00100000)
  1475. #define MCF_INTC_INTFRCL_INTFRC21 (0x00200000)
  1476. #define MCF_INTC_INTFRCL_INTFRC22 (0x00400000)
  1477. #define MCF_INTC_INTFRCL_INTFRC23 (0x00800000)
  1478. #define MCF_INTC_INTFRCL_INTFRC24 (0x01000000)
  1479. #define MCF_INTC_INTFRCL_INTFRC25 (0x02000000)
  1480. #define MCF_INTC_INTFRCL_INTFRC26 (0x04000000)
  1481. #define MCF_INTC_INTFRCL_INTFRC27 (0x08000000)
  1482. #define MCF_INTC_INTFRCL_INTFRC28 (0x10000000)
  1483. #define MCF_INTC_INTFRCL_INTFRC29 (0x20000000)
  1484. #define MCF_INTC_INTFRCL_INTFRC30 (0x40000000)
  1485. #define MCF_INTC_INTFRCL_INTFRC31 (0x80000000)
  1486. /* Bit definitions and macros for MCF_INTC_ICONFIG */
  1487. #define MCF_INTC_ICONFIG_EMASK (0x0020)
  1488. #define MCF_INTC_ICONFIG_ELVLPRI1 (0x0200)
  1489. #define MCF_INTC_ICONFIG_ELVLPRI2 (0x0400)
  1490. #define MCF_INTC_ICONFIG_ELVLPRI3 (0x0800)
  1491. #define MCF_INTC_ICONFIG_ELVLPRI4 (0x1000)
  1492. #define MCF_INTC_ICONFIG_ELVLPRI5 (0x2000)
  1493. #define MCF_INTC_ICONFIG_ELVLPRI6 (0x4000)
  1494. #define MCF_INTC_ICONFIG_ELVLPRI7 (0x8000)
  1495. /* Bit definitions and macros for MCF_INTC_SIMR */
  1496. #define MCF_INTC_SIMR_SIMR(x) (((x)&0x7F)<<0)
  1497. /* Bit definitions and macros for MCF_INTC_CIMR */
  1498. #define MCF_INTC_CIMR_CIMR(x) (((x)&0x7F)<<0)
  1499. /* Bit definitions and macros for MCF_INTC_CLMASK */
  1500. #define MCF_INTC_CLMASK_CLMASK(x) (((x)&0x0F)<<0)
  1501. /* Bit definitions and macros for MCF_INTC_SLMASK */
  1502. #define MCF_INTC_SLMASK_SLMASK(x) (((x)&0x0F)<<0)
  1503. /* Bit definitions and macros for MCF_INTC_ICR */
  1504. #define MCF_INTC_ICR_IL(x) (((x)&0x07)<<0)
  1505. /* Bit definitions and macros for MCF_INTC_SWIACK */
  1506. #define MCF_INTC_SWIACK_VECTOR(x) (((x)&0xFF)<<0)
  1507. /* Bit definitions and macros for MCF_INTC_LIACK */
  1508. #define MCF_INTC_LIACK_VECTOR(x) (((x)&0xFF)<<0)
  1509. /********************************************************************/
  1510. /*********************************************************************
  1511. *
  1512. * LCD Controller (LCDC)
  1513. *
  1514. *********************************************************************/
  1515. /* Register read/write macros */
  1516. #define MCF_LCDC_LSSAR MCF_REG32(0xFC0AC000)
  1517. #define MCF_LCDC_LSR MCF_REG32(0xFC0AC004)
  1518. #define MCF_LCDC_LVPWR MCF_REG32(0xFC0AC008)
  1519. #define MCF_LCDC_LCPR MCF_REG32(0xFC0AC00C)
  1520. #define MCF_LCDC_LCWHBR MCF_REG32(0xFC0AC010)
  1521. #define MCF_LCDC_LCCMR MCF_REG32(0xFC0AC014)
  1522. #define MCF_LCDC_LPCR MCF_REG32(0xFC0AC018)
  1523. #define MCF_LCDC_LHCR MCF_REG32(0xFC0AC01C)
  1524. #define MCF_LCDC_LVCR MCF_REG32(0xFC0AC020)
  1525. #define MCF_LCDC_LPOR MCF_REG32(0xFC0AC024)
  1526. #define MCF_LCDC_LSCR MCF_REG32(0xFC0AC028)
  1527. #define MCF_LCDC_LPCCR MCF_REG32(0xFC0AC02C)
  1528. #define MCF_LCDC_LDCR MCF_REG32(0xFC0AC030)
  1529. #define MCF_LCDC_LRMCR MCF_REG32(0xFC0AC034)
  1530. #define MCF_LCDC_LICR MCF_REG32(0xFC0AC038)
  1531. #define MCF_LCDC_LIER MCF_REG32(0xFC0AC03C)
  1532. #define MCF_LCDC_LISR MCF_REG32(0xFC0AC040)
  1533. #define MCF_LCDC_LGWSAR MCF_REG32(0xFC0AC050)
  1534. #define MCF_LCDC_LGWSR MCF_REG32(0xFC0AC054)
  1535. #define MCF_LCDC_LGWVPWR MCF_REG32(0xFC0AC058)
  1536. #define MCF_LCDC_LGWPOR MCF_REG32(0xFC0AC05C)
  1537. #define MCF_LCDC_LGWPR MCF_REG32(0xFC0AC060)
  1538. #define MCF_LCDC_LGWCR MCF_REG32(0xFC0AC064)
  1539. #define MCF_LCDC_LGWDCR MCF_REG32(0xFC0AC068)
  1540. #define MCF_LCDC_BPLUT_BASE MCF_REG32(0xFC0AC800)
  1541. #define MCF_LCDC_GWLUT_BASE MCF_REG32(0xFC0ACC00)
  1542. /* Bit definitions and macros for MCF_LCDC_LSSAR */
  1543. #define MCF_LCDC_LSSAR_SSA(x) (((x)&0x3FFFFFFF)<<2)
  1544. /* Bit definitions and macros for MCF_LCDC_LSR */
  1545. #define MCF_LCDC_LSR_YMAX(x) (((x)&0x000003FF)<<0)
  1546. #define MCF_LCDC_LSR_XMAX(x) (((x)&0x0000003F)<<20)
  1547. /* Bit definitions and macros for MCF_LCDC_LVPWR */
  1548. #define MCF_LCDC_LVPWR_VPW(x) (((x)&0x000003FF)<<0)
  1549. /* Bit definitions and macros for MCF_LCDC_LCPR */
  1550. #define MCF_LCDC_LCPR_CYP(x) (((x)&0x000003FF)<<0)
  1551. #define MCF_LCDC_LCPR_CXP(x) (((x)&0x000003FF)<<16)
  1552. #define MCF_LCDC_LCPR_OP (0x10000000)
  1553. #define MCF_LCDC_LCPR_CC(x) (((x)&0x00000003)<<30)
  1554. #define MCF_LCDC_LCPR_CC_TRANSPARENT (0x00000000)
  1555. #define MCF_LCDC_LCPR_CC_OR (0x40000000)
  1556. #define MCF_LCDC_LCPR_CC_XOR (0x80000000)
  1557. #define MCF_LCDC_LCPR_CC_AND (0xC0000000)
  1558. #define MCF_LCDC_LCPR_OP_ON (0x10000000)
  1559. #define MCF_LCDC_LCPR_OP_OFF (0x00000000)
  1560. /* Bit definitions and macros for MCF_LCDC_LCWHBR */
  1561. #define MCF_LCDC_LCWHBR_BD(x) (((x)&0x000000FF)<<0)
  1562. #define MCF_LCDC_LCWHBR_CH(x) (((x)&0x0000001F)<<16)
  1563. #define MCF_LCDC_LCWHBR_CW(x) (((x)&0x0000001F)<<24)
  1564. #define MCF_LCDC_LCWHBR_BK_EN (0x80000000)
  1565. #define MCF_LCDC_LCWHBR_BK_EN_ON (0x80000000)
  1566. #define MCF_LCDC_LCWHBR_BK_EN_OFF (0x00000000)
  1567. /* Bit definitions and macros for MCF_LCDC_LCCMR */
  1568. #define MCF_LCDC_LCCMR_CUR_COL_B(x) (((x)&0x0000003F)<<0)
  1569. #define MCF_LCDC_LCCMR_CUR_COL_G(x) (((x)&0x0000003F)<<6)
  1570. #define MCF_LCDC_LCCMR_CUR_COL_R(x) (((x)&0x0000003F)<<12)
  1571. /* Bit definitions and macros for MCF_LCDC_LPCR */
  1572. #define MCF_LCDC_LPCR_PCD(x) (((x)&0x0000003F)<<0)
  1573. #define MCF_LCDC_LPCR_SHARP (0x00000040)
  1574. #define MCF_LCDC_LPCR_SCLKSEL (0x00000080)
  1575. #define MCF_LCDC_LPCR_ACD(x) (((x)&0x0000007F)<<8)
  1576. #define MCF_LCDC_LPCR_ACDSEL (0x00008000)
  1577. #define MCF_LCDC_LPCR_REV_VS (0x00010000)
  1578. #define MCF_LCDC_LPCR_SWAP_SEL (0x00020000)
  1579. #define MCF_LCDC_LPCR_ENDSEL (0x00040000)
  1580. #define MCF_LCDC_LPCR_SCLKIDLE (0x00080000)
  1581. #define MCF_LCDC_LPCR_OEPOL (0x00100000)
  1582. #define MCF_LCDC_LPCR_CLKPOL (0x00200000)
  1583. #define MCF_LCDC_LPCR_LPPOL (0x00400000)
  1584. #define MCF_LCDC_LPCR_FLM (0x00800000)
  1585. #define MCF_LCDC_LPCR_PIXPOL (0x01000000)
  1586. #define MCF_LCDC_LPCR_BPIX(x) (((x)&0x00000007)<<25)
  1587. #define MCF_LCDC_LPCR_PBSIZ(x) (((x)&0x00000003)<<28)
  1588. #define MCF_LCDC_LPCR_COLOR (0x40000000)
  1589. #define MCF_LCDC_LPCR_TFT (0x80000000)
  1590. #define MCF_LCDC_LPCR_MODE_MONOCGROME (0x00000000)
  1591. #define MCF_LCDC_LPCR_MODE_CSTN (0x40000000)
  1592. #define MCF_LCDC_LPCR_MODE_TFT (0xC0000000)
  1593. #define MCF_LCDC_LPCR_PBSIZ_1 (0x00000000)
  1594. #define MCF_LCDC_LPCR_PBSIZ_2 (0x10000000)
  1595. #define MCF_LCDC_LPCR_PBSIZ_4 (0x20000000)
  1596. #define MCF_LCDC_LPCR_PBSIZ_8 (0x30000000)
  1597. #define MCF_LCDC_LPCR_BPIX_1bpp (0x00000000)
  1598. #define MCF_LCDC_LPCR_BPIX_2bpp (0x02000000)
  1599. #define MCF_LCDC_LPCR_BPIX_4bpp (0x04000000)
  1600. #define MCF_LCDC_LPCR_BPIX_8bpp (0x06000000)
  1601. #define MCF_LCDC_LPCR_BPIX_12bpp (0x08000000)
  1602. #define MCF_LCDC_LPCR_BPIX_16bpp (0x0A000000)
  1603. #define MCF_LCDC_LPCR_BPIX_18bpp (0x0C000000)
  1604. #define MCF_LCDC_LPCR_PANEL_TYPE(x) (((x)&0x00000003)<<30)
  1605. /* Bit definitions and macros for MCF_LCDC_LHCR */
  1606. #define MCF_LCDC_LHCR_H_WAIT_2(x) (((x)&0x000000FF)<<0)
  1607. #define MCF_LCDC_LHCR_H_WAIT_1(x) (((x)&0x000000FF)<<8)
  1608. #define MCF_LCDC_LHCR_H_WIDTH(x) (((x)&0x0000003F)<<26)
  1609. /* Bit definitions and macros for MCF_LCDC_LVCR */
  1610. #define MCF_LCDC_LVCR_V_WAIT_2(x) (((x)&0x000000FF)<<0)
  1611. #define MCF_LCDC_LVCR_V_WAIT_1(x) (((x)&0x000000FF)<<8)
  1612. #define MCF_LCDC_LVCR_V_WIDTH(x) (((x)&0x0000003F)<<26)
  1613. /* Bit definitions and macros for MCF_LCDC_LPOR */
  1614. #define MCF_LCDC_LPOR_POS(x) (((x)&0x0000001F)<<0)
  1615. /* Bit definitions and macros for MCF_LCDC_LPCCR */
  1616. #define MCF_LCDC_LPCCR_PW(x) (((x)&0x000000FF)<<0)
  1617. #define MCF_LCDC_LPCCR_CC_EN (0x00000100)
  1618. #define MCF_LCDC_LPCCR_SCR(x) (((x)&0x00000003)<<9)
  1619. #define MCF_LCDC_LPCCR_LDMSK (0x00008000)
  1620. #define MCF_LCDC_LPCCR_CLS_HI_WIDTH(x) (((x)&0x000001FF)<<16)
  1621. #define MCF_LCDC_LPCCR_SCR_LINEPULSE (0x00000000)
  1622. #define MCF_LCDC_LPCCR_SCR_PIXELCLK (0x00002000)
  1623. #define MCF_LCDC_LPCCR_SCR_LCDCLOCK (0x00004000)
  1624. /* Bit definitions and macros for MCF_LCDC_LDCR */
  1625. #define MCF_LCDC_LDCR_TM(x) (((x)&0x0000001F)<<0)
  1626. #define MCF_LCDC_LDCR_HM(x) (((x)&0x0000001F)<<16)
  1627. #define MCF_LCDC_LDCR_BURST (0x80000000)
  1628. /* Bit definitions and macros for MCF_LCDC_LRMCR */
  1629. #define MCF_LCDC_LRMCR_SEL_REF (0x00000001)
  1630. /* Bit definitions and macros for MCF_LCDC_LICR */
  1631. #define MCF_LCDC_LICR_INTCON (0x00000001)
  1632. #define MCF_LCDC_LICR_INTSYN (0x00000004)
  1633. #define MCF_LCDC_LICR_GW_INT_CON (0x00000010)
  1634. /* Bit definitions and macros for MCF_LCDC_LIER */
  1635. #define MCF_LCDC_LIER_BOF_EN (0x00000001)
  1636. #define MCF_LCDC_LIER_EOF_EN (0x00000002)
  1637. #define MCF_LCDC_LIER_ERR_RES_EN (0x00000004)
  1638. #define MCF_LCDC_LIER_UDR_ERR_EN (0x00000008)
  1639. #define MCF_LCDC_LIER_GW_BOF_EN (0x00000010)
  1640. #define MCF_LCDC_LIER_GW_EOF_EN (0x00000020)
  1641. #define MCF_LCDC_LIER_GW_ERR_RES_EN (0x00000040)
  1642. #define MCF_LCDC_LIER_GW_UDR_ERR_EN (0x00000080)
  1643. /* Bit definitions and macros for MCF_LCDC_LISR */
  1644. #define MCF_LCDC_LISR_BOF (0x00000001)
  1645. #define MCF_LCDC_LISR_EOF (0x00000002)
  1646. #define MCF_LCDC_LISR_ERR_RES (0x00000004)
  1647. #define MCF_LCDC_LISR_UDR_ERR (0x00000008)
  1648. #define MCF_LCDC_LISR_GW_BOF (0x00000010)
  1649. #define MCF_LCDC_LISR_GW_EOF (0x00000020)
  1650. #define MCF_LCDC_LISR_GW_ERR_RES (0x00000040)
  1651. #define MCF_LCDC_LISR_GW_UDR_ERR (0x00000080)
  1652. /* Bit definitions and macros for MCF_LCDC_LGWSAR */
  1653. #define MCF_LCDC_LGWSAR_GWSA(x) (((x)&0x3FFFFFFF)<<2)
  1654. /* Bit definitions and macros for MCF_LCDC_LGWSR */
  1655. #define MCF_LCDC_LGWSR_GWH(x) (((x)&0x000003FF)<<0)
  1656. #define MCF_LCDC_LGWSR_GWW(x) (((x)&0x0000003F)<<20)
  1657. /* Bit definitions and macros for MCF_LCDC_LGWVPWR */
  1658. #define MCF_LCDC_LGWVPWR_GWVPW(x) (((x)&0x000003FF)<<0)
  1659. /* Bit definitions and macros for MCF_LCDC_LGWPOR */
  1660. #define MCF_LCDC_LGWPOR_GWPO(x) (((x)&0x0000001F)<<0)
  1661. /* Bit definitions and macros for MCF_LCDC_LGWPR */
  1662. #define MCF_LCDC_LGWPR_GWYP(x) (((x)&0x000003FF)<<0)
  1663. #define MCF_LCDC_LGWPR_GWXP(x) (((x)&0x000003FF)<<16)
  1664. /* Bit definitions and macros for MCF_LCDC_LGWCR */
  1665. #define MCF_LCDC_LGWCR_GWCKB(x) (((x)&0x0000003F)<<0)
  1666. #define MCF_LCDC_LGWCR_GWCKG(x) (((x)&0x0000003F)<<6)
  1667. #define MCF_LCDC_LGWCR_GWCKR(x) (((x)&0x0000003F)<<12)
  1668. #define MCF_LCDC_LGWCR_GW_RVS (0x00200000)
  1669. #define MCF_LCDC_LGWCR_GWE (0x00400000)
  1670. #define MCF_LCDC_LGWCR_GWCKE (0x00800000)
  1671. #define MCF_LCDC_LGWCR_GWAV(x) (((x)&0x000000FF)<<24)
  1672. /* Bit definitions and macros for MCF_LCDC_LGWDCR */
  1673. #define MCF_LCDC_LGWDCR_GWTM(x) (((x)&0x0000001F)<<0)
  1674. #define MCF_LCDC_LGWDCR_GWHM(x) (((x)&0x0000001F)<<16)
  1675. #define MCF_LCDC_LGWDCR_GWBT (0x80000000)
  1676. /* Bit definitions and macros for MCF_LCDC_LSCR */
  1677. #define MCF_LCDC_LSCR_PS_RISE_DELAY(x) (((x)&0x0000003F)<<26)
  1678. #define MCF_LCDC_LSCR_CLS_RISE_DELAY(x) (((x)&0x000000FF)<<16)
  1679. #define MCF_LCDC_LSCR_REV_TOGGLE_DELAY(x) (((x)&0x0000000F)<<8)
  1680. #define MCF_LCDC_LSCR_GRAY_2(x) (((x)&0x0000000F)<<4)
  1681. #define MCF_LCDC_LSCR_GRAY_1(x) (((x)&0x0000000F)<<0)
  1682. /* Bit definitions and macros for MCF_LCDC_BPLUT_BASE */
  1683. #define MCF_LCDC_BPLUT_BASE_BASE(x) (((x)&0xFFFFFFFF)<<0)
  1684. /* Bit definitions and macros for MCF_LCDC_GWLUT_BASE */
  1685. #define MCF_LCDC_GWLUT_BASE_BASE(x) (((x)&0xFFFFFFFF)<<0)
  1686. /*********************************************************************
  1687. *
  1688. * Phase Locked Loop (PLL)
  1689. *
  1690. *********************************************************************/
  1691. /* Register read/write macros */
  1692. #define MCF_PLL_PODR MCF_REG08(0xFC0C0000)
  1693. #define MCF_PLL_PLLCR MCF_REG08(0xFC0C0004)
  1694. #define MCF_PLL_PMDR MCF_REG08(0xFC0C0008)
  1695. #define MCF_PLL_PFDR MCF_REG08(0xFC0C000C)
  1696. /* Bit definitions and macros for MCF_PLL_PODR */
  1697. #define MCF_PLL_PODR_BUSDIV(x) (((x)&0x0F)<<0)
  1698. #define MCF_PLL_PODR_CPUDIV(x) (((x)&0x0F)<<4)
  1699. /* Bit definitions and macros for MCF_PLL_PLLCR */
  1700. #define MCF_PLL_PLLCR_DITHDEV(x) (((x)&0x07)<<0)
  1701. #define MCF_PLL_PLLCR_DITHEN (0x80)
  1702. /* Bit definitions and macros for MCF_PLL_PMDR */
  1703. #define MCF_PLL_PMDR_MODDIV(x) (((x)&0xFF)<<0)
  1704. /* Bit definitions and macros for MCF_PLL_PFDR */
  1705. #define MCF_PLL_PFDR_MFD(x) (((x)&0xFF)<<0)
  1706. /*********************************************************************
  1707. *
  1708. * System Control Module Registers (SCM)
  1709. *
  1710. *********************************************************************/
  1711. /* Register read/write macros */
  1712. #define MCF_SCM_MPR MCF_REG32(0xFC000000)
  1713. #define MCF_SCM_PACRA MCF_REG32(0xFC000020)
  1714. #define MCF_SCM_PACRB MCF_REG32(0xFC000024)
  1715. #define MCF_SCM_PACRC MCF_REG32(0xFC000028)
  1716. #define MCF_SCM_PACRD MCF_REG32(0xFC00002C)
  1717. #define MCF_SCM_PACRE MCF_REG32(0xFC000040)
  1718. #define MCF_SCM_PACRF MCF_REG32(0xFC000044)
  1719. #define MCF_SCM_BCR MCF_REG32(0xFC040024)
  1720. /*********************************************************************
  1721. *
  1722. * SDRAM Controller (SDRAMC)
  1723. *
  1724. *********************************************************************/
  1725. /* Register read/write macros */
  1726. #define MCF_SDRAMC_SDMR MCF_REG32(0xFC0B8000)
  1727. #define MCF_SDRAMC_SDCR MCF_REG32(0xFC0B8004)
  1728. #define MCF_SDRAMC_SDCFG1 MCF_REG32(0xFC0B8008)
  1729. #define MCF_SDRAMC_SDCFG2 MCF_REG32(0xFC0B800C)
  1730. #define MCF_SDRAMC_LIMP_FIX MCF_REG32(0xFC0B8080)
  1731. #define MCF_SDRAMC_SDDS MCF_REG32(0xFC0B8100)
  1732. #define MCF_SDRAMC_SDCS0 MCF_REG32(0xFC0B8110)
  1733. #define MCF_SDRAMC_SDCS1 MCF_REG32(0xFC0B8114)
  1734. #define MCF_SDRAMC_SDCS2 MCF_REG32(0xFC0B8118)
  1735. #define MCF_SDRAMC_SDCS3 MCF_REG32(0xFC0B811C)
  1736. #define MCF_SDRAMC_SDCS(x) MCF_REG32(0xFC0B8110+((x)*0x004))
  1737. /* Bit definitions and macros for MCF_SDRAMC_SDMR */
  1738. #define MCF_SDRAMC_SDMR_CMD (0x00010000)
  1739. #define MCF_SDRAMC_SDMR_AD(x) (((x)&0x00000FFF)<<18)
  1740. #define MCF_SDRAMC_SDMR_BNKAD(x) (((x)&0x00000003)<<30)
  1741. #define MCF_SDRAMC_SDMR_BNKAD_LMR (0x00000000)
  1742. #define MCF_SDRAMC_SDMR_BNKAD_LEMR (0x40000000)
  1743. /* Bit definitions and macros for MCF_SDRAMC_SDCR */
  1744. #define MCF_SDRAMC_SDCR_IPALL (0x00000002)
  1745. #define MCF_SDRAMC_SDCR_IREF (0x00000004)
  1746. #define MCF_SDRAMC_SDCR_DQS_OE(x) (((x)&0x0000000F)<<8)
  1747. #define MCF_SDRAMC_SDCR_PS(x) (((x)&0x00000003)<<12)
  1748. #define MCF_SDRAMC_SDCR_RCNT(x) (((x)&0x0000003F)<<16)
  1749. #define MCF_SDRAMC_SDCR_OE_RULE (0x00400000)
  1750. #define MCF_SDRAMC_SDCR_MUX(x) (((x)&0x00000003)<<24)
  1751. #define MCF_SDRAMC_SDCR_REF (0x10000000)
  1752. #define MCF_SDRAMC_SDCR_DDR (0x20000000)
  1753. #define MCF_SDRAMC_SDCR_CKE (0x40000000)
  1754. #define MCF_SDRAMC_SDCR_MODE_EN (0x80000000)
  1755. #define MCF_SDRAMC_SDCR_PS_16 (0x00002000)
  1756. #define MCF_SDRAMC_SDCR_PS_32 (0x00000000)
  1757. /* Bit definitions and macros for MCF_SDRAMC_SDCFG1 */
  1758. #define MCF_SDRAMC_SDCFG1_WTLAT(x) (((x)&0x00000007)<<4)
  1759. #define MCF_SDRAMC_SDCFG1_REF2ACT(x) (((x)&0x0000000F)<<8)
  1760. #define MCF_SDRAMC_SDCFG1_PRE2ACT(x) (((x)&0x00000007)<<12)
  1761. #define MCF_SDRAMC_SDCFG1_ACT2RW(x) (((x)&0x00000007)<<16)
  1762. #define MCF_SDRAMC_SDCFG1_RDLAT(x) (((x)&0x0000000F)<<20)
  1763. #define MCF_SDRAMC_SDCFG1_SWT2RD(x) (((x)&0x00000007)<<24)
  1764. #define MCF_SDRAMC_SDCFG1_SRD2RW(x) (((x)&0x0000000F)<<28)
  1765. /* Bit definitions and macros for MCF_SDRAMC_SDCFG2 */
  1766. #define MCF_SDRAMC_SDCFG2_BL(x) (((x)&0x0000000F)<<16)
  1767. #define MCF_SDRAMC_SDCFG2_BRD2WT(x) (((x)&0x0000000F)<<20)
  1768. #define MCF_SDRAMC_SDCFG2_BWT2RW(x) (((x)&0x0000000F)<<24)
  1769. #define MCF_SDRAMC_SDCFG2_BRD2PRE(x) (((x)&0x0000000F)<<28)
  1770. /* Device Errata - LIMP mode work around */
  1771. #define MCF_SDRAMC_REFRESH (0x40000000)
  1772. /* Bit definitions and macros for MCF_SDRAMC_SDDS */
  1773. #define MCF_SDRAMC_SDDS_SB_D(x) (((x)&0x00000003)<<0)
  1774. #define MCF_SDRAMC_SDDS_SB_S(x) (((x)&0x00000003)<<2)
  1775. #define MCF_SDRAMC_SDDS_SB_A(x) (((x)&0x00000003)<<4)
  1776. #define MCF_SDRAMC_SDDS_SB_C(x) (((x)&0x00000003)<<6)
  1777. #define MCF_SDRAMC_SDDS_SB_E(x) (((x)&0x00000003)<<8)
  1778. /* Bit definitions and macros for MCF_SDRAMC_SDCS */
  1779. #define MCF_SDRAMC_SDCS_CSSZ(x) (((x)&0x0000001F)<<0)
  1780. #define MCF_SDRAMC_SDCS_BASE(x) (((x)&0x00000FFF)<<20)
  1781. #define MCF_SDRAMC_SDCS_BA(x) ((x)&0xFFF00000)
  1782. #define MCF_SDRAMC_SDCS_CSSZ_DIABLE (0x00000000)
  1783. #define MCF_SDRAMC_SDCS_CSSZ_1MBYTE (0x00000013)
  1784. #define MCF_SDRAMC_SDCS_CSSZ_2MBYTE (0x00000014)
  1785. #define MCF_SDRAMC_SDCS_CSSZ_4MBYTE (0x00000015)
  1786. #define MCF_SDRAMC_SDCS_CSSZ_8MBYTE (0x00000016)
  1787. #define MCF_SDRAMC_SDCS_CSSZ_16MBYTE (0x00000017)
  1788. #define MCF_SDRAMC_SDCS_CSSZ_32MBYTE (0x00000018)
  1789. #define MCF_SDRAMC_SDCS_CSSZ_64MBYTE (0x00000019)
  1790. #define MCF_SDRAMC_SDCS_CSSZ_128MBYTE (0x0000001A)
  1791. #define MCF_SDRAMC_SDCS_CSSZ_256MBYTE (0x0000001B)
  1792. #define MCF_SDRAMC_SDCS_CSSZ_512MBYTE (0x0000001C)
  1793. #define MCF_SDRAMC_SDCS_CSSZ_1GBYTE (0x0000001D)
  1794. #define MCF_SDRAMC_SDCS_CSSZ_2GBYTE (0x0000001E)
  1795. #define MCF_SDRAMC_SDCS_CSSZ_4GBYTE (0x0000001F)
  1796. /*********************************************************************
  1797. *
  1798. * FlexCAN module registers
  1799. *
  1800. *********************************************************************/
  1801. #define MCF_FLEXCAN_BASEADDR(x) (0xFC020000+(x)*0x0800)
  1802. #define MCF_FLEXCAN_CANMCR(x) MCF_REG32(0xFC020000+(x)*0x0800+0x00)
  1803. #define MCF_FLEXCAN_CANCTRL(x) MCF_REG32(0xFC020000+(x)*0x0800+0x04)
  1804. #define MCF_FLEXCAN_TIMER(x) MCF_REG32(0xFC020000+(x)*0x0800+0x08)
  1805. #define MCF_FLEXCAN_RXGMASK(x) MCF_REG32(0xFC020000+(x)*0x0800+0x10)
  1806. #define MCF_FLEXCAN_RX14MASK(x) MCF_REG32(0xFC020000+(x)*0x0800+0x14)
  1807. #define MCF_FLEXCAN_RX15MASK(x) MCF_REG32(0xFC020000+(x)*0x0800+0x18)
  1808. #define MCF_FLEXCAN_ERRCNT(x) MCF_REG32(0xFC020000+(x)*0x0800+0x1C)
  1809. #define MCF_FLEXCAN_ERRSTAT(x) MCF_REG32(0xFC020000+(x)*0x0800+0x20)
  1810. #define MCF_FLEXCAN_IMASK(x) MCF_REG32(0xFC020000+(x)*0x0800+0x28)
  1811. #define MCF_FLEXCAN_IFLAG(x) MCF_REG32(0xFC020000+(x)*0x0800+0x30)
  1812. #define MCF_FLEXCAN_MB_CNT(x,y) MCF_REG32(0xFC020080+(x)*0x0800+(y)*0x10+0x0)
  1813. #define MCF_FLEXCAN_MB_ID(x,y) MCF_REG32(0xFC020080+(x)*0x0800+(y)*0x10+0x4)
  1814. #define MCF_FLEXCAN_MB_DB(x,y,z) MCF_REG08(0xFC020080+(x)*0x0800+(y)*0x10+0x8+(z)*0x1)
  1815. /*
  1816. * FlexCAN Module Configuration Register
  1817. */
  1818. #define CANMCR_MDIS (0x80000000)
  1819. #define CANMCR_FRZ (0x40000000)
  1820. #define CANMCR_HALT (0x10000000)
  1821. #define CANMCR_SOFTRST (0x02000000)
  1822. #define CANMCR_FRZACK (0x01000000)
  1823. #define CANMCR_SUPV (0x00800000)
  1824. #define CANMCR_MAXMB(x) ((x)&0x0F)
  1825. /*
  1826. * FlexCAN Control Register
  1827. */
  1828. #define CANCTRL_PRESDIV(x) (((x)&0xFF)<<24)
  1829. #define CANCTRL_RJW(x) (((x)&0x03)<<22)
  1830. #define CANCTRL_PSEG1(x) (((x)&0x07)<<19)
  1831. #define CANCTRL_PSEG2(x) (((x)&0x07)<<16)
  1832. #define CANCTRL_BOFFMSK (0x00008000)
  1833. #define CANCTRL_ERRMSK (0x00004000)
  1834. #define CANCTRL_CLKSRC (0x00002000)
  1835. #define CANCTRL_LPB (0x00001000)
  1836. #define CANCTRL_SAMP (0x00000080)
  1837. #define CANCTRL_BOFFREC (0x00000040)
  1838. #define CANCTRL_TSYNC (0x00000020)
  1839. #define CANCTRL_LBUF (0x00000010)
  1840. #define CANCTRL_LOM (0x00000008)
  1841. #define CANCTRL_PROPSEG(x) ((x)&0x07)
  1842. /*
  1843. * FlexCAN Error Counter Register
  1844. */
  1845. #define ERRCNT_RXECTR(x) (((x)&0xFF)<<8)
  1846. #define ERRCNT_TXECTR(x) ((x)&0xFF)
  1847. /*
  1848. * FlexCAN Error and Status Register
  1849. */
  1850. #define ERRSTAT_BITERR(x) (((x)&0x03)<<14)
  1851. #define ERRSTAT_ACKERR (0x00002000)
  1852. #define ERRSTAT_CRCERR (0x00001000)
  1853. #define ERRSTAT_FRMERR (0x00000800)
  1854. #define ERRSTAT_STFERR (0x00000400)
  1855. #define ERRSTAT_TXWRN (0x00000200)
  1856. #define ERRSTAT_RXWRN (0x00000100)
  1857. #define ERRSTAT_IDLE (0x00000080)
  1858. #define ERRSTAT_TXRX (0x00000040)
  1859. #define ERRSTAT_FLTCONF(x) (((x)&0x03)<<4)
  1860. #define ERRSTAT_BOFFINT (0x00000004)
  1861. #define ERRSTAT_ERRINT (0x00000002)
  1862. /*
  1863. * Interrupt Mask Register
  1864. */
  1865. #define IMASK_BUF15M (0x8000)
  1866. #define IMASK_BUF14M (0x4000)
  1867. #define IMASK_BUF13M (0x2000)
  1868. #define IMASK_BUF12M (0x1000)
  1869. #define IMASK_BUF11M (0x0800)
  1870. #define IMASK_BUF10M (0x0400)
  1871. #define IMASK_BUF9M (0x0200)
  1872. #define IMASK_BUF8M (0x0100)
  1873. #define IMASK_BUF7M (0x0080)
  1874. #define IMASK_BUF6M (0x0040)
  1875. #define IMASK_BUF5M (0x0020)
  1876. #define IMASK_BUF4M (0x0010)
  1877. #define IMASK_BUF3M (0x0008)
  1878. #define IMASK_BUF2M (0x0004)
  1879. #define IMASK_BUF1M (0x0002)
  1880. #define IMASK_BUF0M (0x0001)
  1881. #define IMASK_BUFnM(x) (0x1<<(x))
  1882. #define IMASK_BUFF_ENABLE_ALL (0x1111)
  1883. #define IMASK_BUFF_DISABLE_ALL (0x0000)
  1884. /*
  1885. * Interrupt Flag Register
  1886. */
  1887. #define IFLAG_BUF15M (0x8000)
  1888. #define IFLAG_BUF14M (0x4000)
  1889. #define IFLAG_BUF13M (0x2000)
  1890. #define IFLAG_BUF12M (0x1000)
  1891. #define IFLAG_BUF11M (0x0800)
  1892. #define IFLAG_BUF10M (0x0400)
  1893. #define IFLAG_BUF9M (0x0200)
  1894. #define IFLAG_BUF8M (0x0100)
  1895. #define IFLAG_BUF7M (0x0080)
  1896. #define IFLAG_BUF6M (0x0040)
  1897. #define IFLAG_BUF5M (0x0020)
  1898. #define IFLAG_BUF4M (0x0010)
  1899. #define IFLAG_BUF3M (0x0008)
  1900. #define IFLAG_BUF2M (0x0004)
  1901. #define IFLAG_BUF1M (0x0002)
  1902. #define IFLAG_BUF0M (0x0001)
  1903. #define IFLAG_BUFF_SET_ALL (0xFFFF)
  1904. #define IFLAG_BUFF_CLEAR_ALL (0x0000)
  1905. #define IFLAG_BUFnM(x) (0x1<<(x))
  1906. /*
  1907. * Message Buffers
  1908. */
  1909. #define MB_CNT_CODE(x) (((x)&0x0F)<<24)
  1910. #define MB_CNT_SRR (0x00400000)
  1911. #define MB_CNT_IDE (0x00200000)
  1912. #define MB_CNT_RTR (0x00100000)
  1913. #define MB_CNT_LENGTH(x) (((x)&0x0F)<<16)
  1914. #define MB_CNT_TIMESTAMP(x) ((x)&0xFFFF)
  1915. #define MB_ID_STD(x) (((x)&0x07FF)<<18)
  1916. #define MB_ID_EXT(x) ((x)&0x3FFFF)
  1917. /*********************************************************************
  1918. *
  1919. * Edge Port Module (EPORT)
  1920. *
  1921. *********************************************************************/
  1922. /* Register read/write macros */
  1923. #define MCF_EPORT_EPPAR MCF_REG16(0xFC094000)
  1924. #define MCF_EPORT_EPDDR MCF_REG08(0xFC094002)
  1925. #define MCF_EPORT_EPIER MCF_REG08(0xFC094003)
  1926. #define MCF_EPORT_EPDR MCF_REG08(0xFC094004)
  1927. #define MCF_EPORT_EPPDR MCF_REG08(0xFC094005)
  1928. #define MCF_EPORT_EPFR MCF_REG08(0xFC094006)
  1929. /* Bit definitions and macros for MCF_EPORT_EPPAR */
  1930. #define MCF_EPORT_EPPAR_EPPA1(x) (((x)&0x0003)<<2)
  1931. #define MCF_EPORT_EPPAR_EPPA2(x) (((x)&0x0003)<<4)
  1932. #define MCF_EPORT_EPPAR_EPPA3(x) (((x)&0x0003)<<6)
  1933. #define MCF_EPORT_EPPAR_EPPA4(x) (((x)&0x0003)<<8)
  1934. #define MCF_EPORT_EPPAR_EPPA5(x) (((x)&0x0003)<<10)
  1935. #define MCF_EPORT_EPPAR_EPPA6(x) (((x)&0x0003)<<12)
  1936. #define MCF_EPORT_EPPAR_EPPA7(x) (((x)&0x0003)<<14)
  1937. #define MCF_EPORT_EPPAR_LEVEL (0)
  1938. #define MCF_EPORT_EPPAR_RISING (1)
  1939. #define MCF_EPORT_EPPAR_FALLING (2)
  1940. #define MCF_EPORT_EPPAR_BOTH (3)
  1941. #define MCF_EPORT_EPPAR_EPPA7_LEVEL (0x0000)
  1942. #define MCF_EPORT_EPPAR_EPPA7_RISING (0x4000)
  1943. #define MCF_EPORT_EPPAR_EPPA7_FALLING (0x8000)
  1944. #define MCF_EPORT_EPPAR_EPPA7_BOTH (0xC000)
  1945. #define MCF_EPORT_EPPAR_EPPA6_LEVEL (0x0000)
  1946. #define MCF_EPORT_EPPAR_EPPA6_RISING (0x1000)
  1947. #define MCF_EPORT_EPPAR_EPPA6_FALLING (0x2000)
  1948. #define MCF_EPORT_EPPAR_EPPA6_BOTH (0x3000)
  1949. #define MCF_EPORT_EPPAR_EPPA5_LEVEL (0x0000)
  1950. #define MCF_EPORT_EPPAR_EPPA5_RISING (0x0400)
  1951. #define MCF_EPORT_EPPAR_EPPA5_FALLING (0x0800)
  1952. #define MCF_EPORT_EPPAR_EPPA5_BOTH (0x0C00)
  1953. #define MCF_EPORT_EPPAR_EPPA4_LEVEL (0x0000)
  1954. #define MCF_EPORT_EPPAR_EPPA4_RISING (0x0100)
  1955. #define MCF_EPORT_EPPAR_EPPA4_FALLING (0x0200)
  1956. #define MCF_EPORT_EPPAR_EPPA4_BOTH (0x0300)
  1957. #define MCF_EPORT_EPPAR_EPPA3_LEVEL (0x0000)
  1958. #define MCF_EPORT_EPPAR_EPPA3_RISING (0x0040)
  1959. #define MCF_EPORT_EPPAR_EPPA3_FALLING (0x0080)
  1960. #define MCF_EPORT_EPPAR_EPPA3_BOTH (0x00C0)
  1961. #define MCF_EPORT_EPPAR_EPPA2_LEVEL (0x0000)
  1962. #define MCF_EPORT_EPPAR_EPPA2_RISING (0x0010)
  1963. #define MCF_EPORT_EPPAR_EPPA2_FALLING (0x0020)
  1964. #define MCF_EPORT_EPPAR_EPPA2_BOTH (0x0030)
  1965. #define MCF_EPORT_EPPAR_EPPA1_LEVEL (0x0000)
  1966. #define MCF_EPORT_EPPAR_EPPA1_RISING (0x0004)
  1967. #define MCF_EPORT_EPPAR_EPPA1_FALLING (0x0008)
  1968. #define MCF_EPORT_EPPAR_EPPA1_BOTH (0x000C)
  1969. /* Bit definitions and macros for MCF_EPORT_EPDDR */
  1970. #define MCF_EPORT_EPDDR_EPDD1 (0x02)
  1971. #define MCF_EPORT_EPDDR_EPDD2 (0x04)
  1972. #define MCF_EPORT_EPDDR_EPDD3 (0x08)
  1973. #define MCF_EPORT_EPDDR_EPDD4 (0x10)
  1974. #define MCF_EPORT_EPDDR_EPDD5 (0x20)
  1975. #define MCF_EPORT_EPDDR_EPDD6 (0x40)
  1976. #define MCF_EPORT_EPDDR_EPDD7 (0x80)
  1977. /* Bit definitions and macros for MCF_EPORT_EPIER */
  1978. #define MCF_EPORT_EPIER_EPIE1 (0x02)
  1979. #define MCF_EPORT_EPIER_EPIE2 (0x04)
  1980. #define MCF_EPORT_EPIER_EPIE3 (0x08)
  1981. #define MCF_EPORT_EPIER_EPIE4 (0x10)
  1982. #define MCF_EPORT_EPIER_EPIE5 (0x20)
  1983. #define MCF_EPORT_EPIER_EPIE6 (0x40)
  1984. #define MCF_EPORT_EPIER_EPIE7 (0x80)
  1985. /* Bit definitions and macros for MCF_EPORT_EPDR */
  1986. #define MCF_EPORT_EPDR_EPD1 (0x02)
  1987. #define MCF_EPORT_EPDR_EPD2 (0x04)
  1988. #define MCF_EPORT_EPDR_EPD3 (0x08)
  1989. #define MCF_EPORT_EPDR_EPD4 (0x10)
  1990. #define MCF_EPORT_EPDR_EPD5 (0x20)
  1991. #define MCF_EPORT_EPDR_EPD6 (0x40)
  1992. #define MCF_EPORT_EPDR_EPD7 (0x80)
  1993. /* Bit definitions and macros for MCF_EPORT_EPPDR */
  1994. #define MCF_EPORT_EPPDR_EPPD1 (0x02)
  1995. #define MCF_EPORT_EPPDR_EPPD2 (0x04)
  1996. #define MCF_EPORT_EPPDR_EPPD3 (0x08)
  1997. #define MCF_EPORT_EPPDR_EPPD4 (0x10)
  1998. #define MCF_EPORT_EPPDR_EPPD5 (0x20)
  1999. #define MCF_EPORT_EPPDR_EPPD6 (0x40)
  2000. #define MCF_EPORT_EPPDR_EPPD7 (0x80)
  2001. /* Bit definitions and macros for MCF_EPORT_EPFR */
  2002. #define MCF_EPORT_EPFR_EPF1 (0x02)
  2003. #define MCF_EPORT_EPFR_EPF2 (0x04)
  2004. #define MCF_EPORT_EPFR_EPF3 (0x08)
  2005. #define MCF_EPORT_EPFR_EPF4 (0x10)
  2006. #define MCF_EPORT_EPFR_EPF5 (0x20)
  2007. #define MCF_EPORT_EPFR_EPF6 (0x40)
  2008. #define MCF_EPORT_EPFR_EPF7 (0x80)
  2009. /********************************************************************/
  2010. #endif /* m532xsim_h */