m532xsim.h 102 KB

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