044-m547x_8x_initial.patch 126 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403
  1. From 5b8edb0ea5cafb522e21b2973eaff6298062dd81 Mon Sep 17 00:00:00 2001
  2. From: Kurt Mahan <[email protected]>
  3. Date: Thu, 28 Feb 2008 10:56:17 -0700
  4. Subject: [PATCH] Initial M547x/M548x port.
  5. LTIBName: m547x-8x-initial
  6. Signed-off-by: Kurt Mahan <[email protected]>
  7. ---
  8. arch/m68k/Kconfig | 84 ++++-
  9. arch/m68k/Makefile | 4 +
  10. arch/m68k/coldfire/config.c | 112 +++++-
  11. arch/m68k/coldfire/head.S | 153 ++++++-
  12. arch/m68k/coldfire/ints.c | 78 ++++-
  13. arch/m68k/configs/m5485evb_defconfig | 777 ++++++++++++++++++++++++++++++++++
  14. drivers/serial/mcfserial.c | 45 ++-
  15. include/asm-m68k/cf_pgalloc.h | 5 +
  16. include/asm-m68k/cfcache.h | 28 ++-
  17. include/asm-m68k/coldfire.h | 7 +
  18. include/asm-m68k/m5485gpio.h | 694 ++++++++++++++++++++++++++++++
  19. include/asm-m68k/m5485gpt.h | 88 ++++
  20. include/asm-m68k/m5485psc.h | 474 +++++++++++++++++++++
  21. include/asm-m68k/m5485sim.h | 219 ++++++++++
  22. include/asm-m68k/mcfsim.h | 5 +
  23. include/asm-m68k/mcfuart.h | 14 +
  24. include/asm-m68k/mmu_context.h | 72 ++++
  25. include/asm-m68k/page_offset.h | 5 +
  26. 18 files changed, 2824 insertions(+), 40 deletions(-)
  27. create mode 100644 arch/m68k/configs/m5485evb_defconfig
  28. create mode 100644 include/asm-m68k/m5485gpio.h
  29. create mode 100644 include/asm-m68k/m5485gpt.h
  30. create mode 100644 include/asm-m68k/m5485psc.h
  31. create mode 100644 include/asm-m68k/m5485sim.h
  32. --- a/arch/m68k/Kconfig
  33. +++ b/arch/m68k/Kconfig
  34. @@ -56,7 +56,7 @@ config ARCH_MAY_HAVE_PC_FDC
  35. default y
  36. config NO_IOPORT
  37. - def_bool !M54455
  38. + def_bool !(M54455 || M547X_8X)
  39. config NO_DMA
  40. def_bool SUN3
  41. @@ -319,20 +319,80 @@ config M68060
  42. config M54455
  43. bool "MCF54455 support"
  44. depends on COLDFIRE
  45. - default y
  46. help
  47. This option will add support for the MCF54455 processor with mmu.
  48. +config M547X_8X
  49. + bool "MCF547x/MCF548x support"
  50. + depends on COLDFIRE
  51. + help
  52. + This option will add support for the MCF547x/MCF548x processor with mmu.
  53. +
  54. +config M547X
  55. + bool
  56. + depends on M547X_8X
  57. + default n
  58. +
  59. +config M548X
  60. + bool
  61. + depends on M547X_8X
  62. + default n
  63. +
  64. +choice
  65. + prompt "Model"
  66. + depends on M547X_8X
  67. + default M5485CFE
  68. + config M5475AFE
  69. + bool "MCF5475AFE"
  70. + select M547X
  71. + config M5475BFE
  72. + bool "MCF5475BFE"
  73. + select M547X
  74. + config M5475CFE
  75. + bool "MCF5475CFE"
  76. + select M547X
  77. + config M5475DFE
  78. + bool "MCF5475DFE"
  79. + select M547X
  80. + config M5475EFE
  81. + bool "MCF5475EFE"
  82. + select M547X
  83. + config M5475FFE
  84. + bool "MCF5475FFE"
  85. + select M547X
  86. +
  87. + config M5485AFE
  88. + bool "MCF5485AFE"
  89. + select M548X
  90. + config M5485BFE
  91. + bool "MCF5485BFE"
  92. + select M548X
  93. + config M5485CFE
  94. + bool "MCF5485CFE"
  95. + select M548X
  96. + config M5485DFE
  97. + bool "MCF5485DFE"
  98. + select M548X
  99. + config M5485EFE
  100. + bool "MCF5485EFE"
  101. + select M548X
  102. + config M5485FFE
  103. + bool "MCF5485FFE"
  104. + select M548X
  105. +
  106. +endchoice
  107. +
  108. config MCFCLK
  109. - int "M54455EVB System Clock"
  110. - depends on M54455
  111. - default 266666666
  112. + int
  113. + default 266666666 if M54455
  114. + default 266000000 if M547X
  115. + default 200000000 if M548X
  116. help
  117. - System clock for EVB. Usually 266MHz for u-boot and 200MHz for dBUG.
  118. + Coldfire System clock.
  119. config MCF_USER_HALT
  120. bool "Coldfire User Halt Enable"
  121. - depends on M54455
  122. + depends on M54455 || M547X_8X
  123. default n
  124. help
  125. Enables the HALT instruction in User Mode.
  126. @@ -350,13 +410,15 @@ config MMU_CFV4E
  127. config SDRAM_BASE
  128. hex
  129. - depends on M54455
  130. - default 0x40000000
  131. + depends on COLDFIRE
  132. + default 0x40000000 if M54455
  133. + default 0x00000000 if M547X_8X
  134. config SDRAM_SIZE
  135. hex
  136. - depends on M54455
  137. - default 0x0FFFFFFF
  138. + depends on COLDFIRE
  139. + default 0x0FFFFFFF if M54455
  140. + default 0x04000000 if M547X_8X
  141. config NOR_FLASH_BASE
  142. hex "NOR Flash Base Address"
  143. --- a/arch/m68k/Makefile
  144. +++ b/arch/m68k/Makefile
  145. @@ -63,6 +63,10 @@ ifdef CONFIG_M54455
  146. KBUILD_CFLAGS += -march=isac -mcpu=54455 -msoft-float -g
  147. KBUILD_AFLAGS += -march=isac -mcpu=54455 -msoft-float
  148. endif
  149. +ifdef CONFIG_M547X_8X
  150. +KBUILD_CFLAGS += -mcfv4e -g
  151. +KBUILD_AFLAGS += -mcfv4e
  152. +endif
  153. ifdef CONFIG_KGDB
  154. # If configured for kgdb support, include debugging infos and keep the
  155. --- a/arch/m68k/coldfire/config.c
  156. +++ b/arch/m68k/coldfire/config.c
  157. @@ -1,8 +1,9 @@
  158. /*
  159. - * linux/arch/m68k/coldifre/config.c
  160. + * linux/arch/m68k/coldfire/config.c
  161. *
  162. + * Kurt Mahan [email protected]
  163. * Matt Waddel [email protected]
  164. - * Copyright Freescale Semiconductor, Inc. 2007
  165. + * Copyright Freescale Semiconductor, Inc. 2007, 2008
  166. *
  167. * This program is free software; you can redistribute it and/or modify
  168. * it under the terms of the GNU General Public License as published by
  169. @@ -32,11 +33,16 @@
  170. #include <asm/movs.h>
  171. #include <asm/page.h>
  172. #include <asm/pgalloc.h>
  173. +
  174. +#include <asm/mcfsim.h>
  175. +
  176. +#if 0
  177. #include <asm/mcf5445x_intc.h>
  178. #include <asm/mcf5445x_sdramc.h>
  179. #include <asm/mcf5445x_fbcs.h>
  180. #include <asm/mcf5445x_dtim.h>
  181. #include <asm/mcf5445x_xbs.h>
  182. +#endif
  183. /* JKM -- testing */
  184. #include <linux/pfn.h>
  185. @@ -85,15 +91,21 @@ int __init uboot_commandline(char *boota
  186. {
  187. int len = 0, cmd_line_len;
  188. static struct uboot_record uboot_info;
  189. + u32 offset = PAGE_OFFSET_RAW - PHYS_OFFSET;
  190. extern unsigned long uboot_info_stk;
  191. - /* Add 0x80000000 to get post-remapped kernel memory location */
  192. - uboot_info.bd_info = (*(u32 *)(uboot_info_stk)) + 0x80000000;
  193. - uboot_info.initrd_start = (*(u32 *)(uboot_info_stk+4)) + 0x80000000;
  194. - uboot_info.initrd_end = (*(u32 *)(uboot_info_stk+8)) + 0x80000000;
  195. - uboot_info.cmd_line_start = (*(u32 *)(uboot_info_stk+12)) + 0x80000000;
  196. - uboot_info.cmd_line_stop = (*(u32 *)(uboot_info_stk+16)) + 0x80000000;
  197. + /* validate address */
  198. + if ((uboot_info_stk < PAGE_OFFSET_RAW) ||
  199. + (uboot_info_stk >= (PAGE_OFFSET_RAW + CONFIG_SDRAM_SIZE)))
  200. + return 0;
  201. +
  202. + /* Add offset to get post-remapped kernel memory location */
  203. + uboot_info.bd_info = (*(u32 *)(uboot_info_stk)) + offset;
  204. + uboot_info.initrd_start = (*(u32 *)(uboot_info_stk+4)) + offset;
  205. + uboot_info.initrd_end = (*(u32 *)(uboot_info_stk+8)) + offset;
  206. + uboot_info.cmd_line_start = (*(u32 *)(uboot_info_stk+12)) + offset;
  207. + uboot_info.cmd_line_stop = (*(u32 *)(uboot_info_stk+16)) + offset;
  208. cmd_line_len = uboot_info.cmd_line_stop - uboot_info.cmd_line_start;
  209. if ((cmd_line_len > 0) && (cmd_line_len < CL_SIZE-1))
  210. @@ -106,21 +118,36 @@ int __init uboot_commandline(char *boota
  211. /*
  212. * This routine does things not done in the bootloader.
  213. */
  214. +#if defined(CONFIG_M54455)
  215. #define DEFAULT_COMMAND_LINE "root=/dev/mtdblock1 rw rootfstype=jffs2 ip=none mtdparts=physmap-flash.0:5M(kernel)ro,-(jffs2)"
  216. +#elif defined(CONFIG_M547X_8X)
  217. +#define DEFAULT_COMMAND_LINE "debug root=/dev/nfs nfsroot=172.27.155.1:/tftpboot/rigo/rootfs/ ip=172.27.155.85:172.27.155.1"
  218. +#endif
  219. asmlinkage void __init cf_early_init(void)
  220. {
  221. struct bi_record *record = (struct bi_record *) &_end;
  222. extern char _end;
  223. +#if defined(CONFIG_M54455)
  224. SET_VBR((void *)MCF_RAMBAR1);
  225. +#elif defined(CONFIG_M547X_8X)
  226. + SET_VBR((void *)MCF_RAMBAR0);
  227. +#endif
  228. /* Mask all interrupts */
  229. +#if defined(CONFIG_M54455)
  230. MCF_INTC0_IMRL = 0xFFFFFFFF;
  231. MCF_INTC0_IMRH = 0xFFFFFFFF;
  232. MCF_INTC1_IMRL = 0xFFFFFFFF;
  233. MCF_INTC1_IMRH = 0xFFFFFFFF;
  234. +#elif defined(CONFIG_M547X_8X)
  235. +/* JKM -- ?? */
  236. + MCF_IMRL = 0xFFFFFFFF;
  237. + MCF_IMRH = 0xFFFFFFFF;
  238. +#endif
  239. +#if defined(CONFIG_M54455)
  240. #if defined(CONFIG_NOR_FLASH_BASE)
  241. MCF_FBCS_CSAR(1) = CONFIG_NOR_FLASH_BASE;
  242. #else
  243. @@ -131,9 +158,10 @@ asmlinkage void __init cf_early_init(voi
  244. /* Init optional SDRAM chip select */
  245. MCF_SDRAMC_SDCS(1) = (256*1024*1024) | 0x1B;
  246. #endif
  247. +#endif /* CONFIG_M54455 */
  248. +#if defined(CONFIG_M54455)
  249. /* Setup SDRAM crossbar(XBS) priorities */
  250. -printk(KERN_INFO "Bumping USB Priority\n");
  251. MCF_XBS_PRS2 = (MCF_XBS_PRS_M0(MCF_XBS_PRI_2) |
  252. MCF_XBS_PRS_M1(MCF_XBS_PRI_3) |
  253. MCF_XBS_PRS_M2(MCF_XBS_PRI_4) |
  254. @@ -141,6 +169,7 @@ printk(KERN_INFO "Bumping USB Priority\n
  255. MCF_XBS_PRS_M5(MCF_XBS_PRI_6) |
  256. MCF_XBS_PRS_M6(MCF_XBS_PRI_1) |
  257. MCF_XBS_PRS_M7(MCF_XBS_PRI_7));
  258. +#endif
  259. m68k_machtype = MACH_CFMMU;
  260. @@ -152,6 +181,7 @@ printk(KERN_INFO "Bumping USB Priority\n
  261. m68k_memory[m68k_num_memory].addr = CONFIG_SDRAM_BASE;
  262. m68k_memory[m68k_num_memory++].size = CONFIG_SDRAM_SIZE;
  263. +#if defined(CONFIG_M54455)
  264. if (!uboot_commandline(m68k_command_line)) {
  265. #if defined(CONFIG_BOOTPARAM)
  266. strncpy(m68k_command_line, CONFIG_BOOTPARAM_STRING, CL_SIZE-1);
  267. @@ -159,6 +189,10 @@ printk(KERN_INFO "Bumping USB Priority\n
  268. strcpy(m68k_command_line, DEFAULT_COMMAND_LINE);
  269. #endif
  270. }
  271. +#else
  272. +/* JKM -- hack until mappings get resolved */
  273. + strcpy(m68k_command_line, DEFAULT_COMMAND_LINE);
  274. +#endif
  275. #if defined(CONFIG_BLK_DEV_INITRD)
  276. @@ -185,6 +219,7 @@ printk(KERN_INFO "Bumping USB Priority\n
  277. cacr_set(CACHE_INITIAL_MODE);
  278. }
  279. +#if defined(CONFIG_M54455)
  280. void settimericr(unsigned int timer, unsigned int level)
  281. {
  282. volatile unsigned char *icrp;
  283. @@ -202,6 +237,7 @@ void settimericr(unsigned int timer, uns
  284. coldfire_enable_irq0(irq);
  285. }
  286. }
  287. +#endif
  288. /* Assembler routines */
  289. asmlinkage void buserr(void);
  290. @@ -214,7 +250,11 @@ void __init coldfire_trap_init(void)
  291. int i = 0;
  292. e_vector *vectors;
  293. +#if defined(CONFIG_M54455)
  294. vectors = (e_vector *)MCF_RAMBAR1;
  295. +#elif defined(CONFIG_M547X_8X)
  296. + vectors = (e_vector *)MCF_RAMBAR0;
  297. +#endif
  298. /*
  299. * There is a common trap handler and common interrupt
  300. * handler that handle almost every vector. We treat
  301. @@ -235,6 +275,8 @@ void __init coldfire_trap_init(void)
  302. vectors[32] = system_call;
  303. }
  304. +#if defined(CONFIG_M54455)
  305. +
  306. void coldfire_tick(void)
  307. {
  308. /* Reset the ColdFire timer */
  309. @@ -285,13 +327,49 @@ unsigned long coldfire_gettimeoffset(voi
  310. return offset;
  311. }
  312. +#elif defined(CONFIG_M547X_8X)
  313. +
  314. +void coldfire_tick(void)
  315. +{
  316. + /* Reset the ColdFire timer */
  317. + MCF_SSR(0) = MCF_SSR_ST;
  318. +}
  319. +
  320. +void __init coldfire_sched_init(irq_handler_t handler)
  321. +{
  322. + int irq = ISC_SLTn(0);
  323. +
  324. + MCF_SCR(0) = 0;
  325. + MCF_ICR(irq) = ILP_SLT0;
  326. + request_irq(64 + irq, handler, IRQF_DISABLED, "ColdFire Timer 0", NULL);
  327. + MCF_SLTCNT(0) = MCF_BUSCLK / HZ;
  328. + MCF_SCR(0) |= MCF_SCR_TEN | MCF_SCR_IEN | MCF_SCR_RUN;
  329. +}
  330. +
  331. +unsigned long coldfire_gettimeoffset(void)
  332. +{
  333. + volatile unsigned long trr, tcn, offset;
  334. + trr = MCF_SLTCNT(0);
  335. + tcn = MCF_SCNT(0);
  336. +
  337. + offset = (trr - tcn) * ((1000000 >> 3) / HZ) / (trr >> 3);
  338. + if (MCF_SSR(0) & MCF_SSR_ST)
  339. + offset += 1000000 / HZ;
  340. +
  341. + return offset;
  342. +}
  343. +
  344. +#endif
  345. +
  346. void coldfire_reboot(void)
  347. {
  348. +#if defined(CONFIG_M54455)
  349. /* disable interrupts and do a software reset */
  350. asm("movew #0x2700, %%sr\n\t"
  351. "moveb #0x80, %%d0\n\t"
  352. "moveb %%d0, 0xfc0a0000\n\t"
  353. : : : "%d0");
  354. +#endif
  355. }
  356. /* int coldfire_hwclk(int i, struct rtc_time *t)
  357. @@ -305,6 +383,7 @@ static void coldfire_get_model(char *mod
  358. sprintf(model, "Version 4 ColdFire");
  359. }
  360. +/* JKM -- Why do we need these? */
  361. void coldfire_enable_irq(unsigned int vec)
  362. {
  363. unsigned long flags;
  364. @@ -318,13 +397,21 @@ void coldfire_enable_irq(unsigned int ve
  365. local_irq_save(flags);
  366. irq_enable[vec]++;
  367. +#if defined(CONFIG_M54455)
  368. if (vec < 32)
  369. MCF_INTC0_IMRL &= ~(1 << vec);
  370. else
  371. MCF_INTC0_IMRH &= ~(1 << (vec - 32));
  372. +#elif defined(CONFIG_M547X_8X)
  373. + if (vec < 32)
  374. + MCF_IMRL &= ~(1 << vec);
  375. + else
  376. + MCF_IMRH &= ~(1 << (vec - 32));
  377. +#endif
  378. local_irq_restore(flags);
  379. }
  380. +/* JKM -- Why do we need these? */
  381. void coldfire_disable_irq(unsigned int vec)
  382. {
  383. unsigned long flags;
  384. @@ -338,10 +425,17 @@ void coldfire_disable_irq(unsigned int v
  385. local_irq_save(flags);
  386. if (--irq_enable[vec] == 0) {
  387. +#if defined(CONFIG_M54455)
  388. if (vec < 32)
  389. MCF_INTC0_IMRL |= (1 << vec);
  390. else
  391. MCF_INTC0_IMRH |= (1 << (vec - 32));
  392. +#elif defined(CONFIG_M547X_8X)
  393. + if (vec < 32)
  394. + MCF_IMRL |= (1 << vec);
  395. + else
  396. + MCF_IMRH |= (1 << (vec - 32));
  397. +#endif
  398. }
  399. local_irq_restore(flags);
  400. --- a/arch/m68k/coldfire/head.S
  401. +++ b/arch/m68k/coldfire/head.S
  402. @@ -2,9 +2,9 @@
  403. * head.S is the MMU enabled ColdFire specific initial boot code
  404. *
  405. * Ported to ColdFire by
  406. - * Matt Waddel [email protected]
  407. - * Kurt Mahan [email protected]
  408. - * Copyright Freescale Semiconductor, Inc. 2007
  409. + * Matt Waddel [email protected]
  410. + * Kurt Mahan [email protected]
  411. + * Copyright Freescale Semiconductor, Inc. 2007, 2008
  412. *
  413. * This program is free software; you can redistribute it and/or modify
  414. * it under the terms of the GNU General Public License as published by
  415. @@ -52,6 +52,7 @@
  416. #define __FINIT .previous
  417. #endif
  418. +/* JKM -- REVISE DOCS FOR RIGO */
  419. /*
  420. * Setup ACR mappings to provide the following memory map:
  421. * Data
  422. @@ -61,13 +62,20 @@
  423. * None currently (mapped via TLBs)
  424. */
  425. +#if defined(CONFIG_M54455)
  426. #define ACR0_DEFAULT #0xA00FA048 /* ACR0 default value */
  427. #define ACR1_DEFAULT #0xF00FA040 /* ACR1 default value */
  428. #define ACR2_DEFAULT #0x00000000 /* ACR2 default value */
  429. #define ACR3_DEFAULT #0x00000000 /* ACR3 default value */
  430. -
  431. /* ACR mapping for FPGA (maps 0) */
  432. #define ACR0_FPGA #0x000FA048 /* ACR0 enable FPGA */
  433. +#elif defined(CONFIG_M547X_8X)
  434. +#define ACR0_DEFAULT #0xE000C040 /* ACR0 default value */
  435. +#define ACR1_DEFAULT #0x00000000 /* ACR1 default value */
  436. +#define ACR2_DEFAULT #0x00000000 /* ACR2 default value */
  437. +#define ACR3_DEFAULT #0x00000000 /* ACR3 default value */
  438. +#endif
  439. +
  440. /* Several macros to make the writing of subroutines easier:
  441. * - func_start marks the beginning of the routine which setups the frame
  442. @@ -227,7 +235,7 @@ ENTRY(_stext)
  443. .long BOOTINFOV_MAGIC
  444. .long 0
  445. -1: jmp __start-0x80000000
  446. +1: jmp __start-(0xc0000000-CONFIG_SDRAM_BASE)
  447. .equ kernel_pg_dir,_stext
  448. .equ .,_stext+0x1000
  449. @@ -237,19 +245,40 @@ ENTRY(_start)
  450. __INIT
  451. ENTRY(__start)
  452. +/* JKM -- make sure Rigo handles UBOOT */
  453. /* Save the location of u-boot info - cmd line, bd_info, etc. */
  454. movel %a7,%a4 /* Don't use %a4 before cf_early_init */
  455. +/* JKM -- fix to use CONFIG_SDRAM_BASE) */
  456. +#if defined(CONFIG_M54455)
  457. addl #0x80000004,%a4 /* 0x80000004= 1 stack push + high mem offset */
  458. +#elif defined(CONFIG_M547X_8X)
  459. + addl #0xc0000004,%a4 /* 0x80000004= 1 stack push + high mem offset */
  460. +#endif
  461. +/* JKM -- fix this to work off of CONFIG_SDRAM_BASE */
  462. /* Setup initial stack pointer */
  463. +#if defined(CONFIG_M54455)
  464. movel #0x40001000,%sp
  465. +#elif defined(CONFIG_M547X_8X)
  466. + movel #0x00001000,%sp
  467. +#endif
  468. /* Setup usp */
  469. subl %a0,%a0
  470. movel %a0,%usp
  471. +#if defined(CONFIG_M54455)
  472. movel #(MCF_RAMBAR1 + 0x221), %d0
  473. movec %d0, %rambar1
  474. +#elif defined(CONFIG_M547X_8X)
  475. + movel #MCF_MBAR, %d0
  476. + movec %d0, %mbar
  477. + move.l #(MCF_RAMBAR0 + 0x21), %d0
  478. + movec %d0, %rambar0
  479. + move.l #(MCF_RAMBAR1 + 0x21), %d0
  480. + movec %d0, %rambar1
  481. +#endif
  482. +
  483. movew #0x2700,%sr
  484. /* reset cache */
  485. @@ -278,6 +307,7 @@ ENTRY(__start)
  486. /* If you change the memory size to another value make a matching
  487. change in paging_init(cf-mmu.c) to zones_size[]. */
  488. +#if defined(CONFIG_M54455)
  489. /* Map 256MB as code */
  490. mmu_map (PAGE_OFFSET+0*0x1000000), (PHYS_OFFSET+0*0x1000000), \
  491. MMUOR_ITLB, 0, MMUTR_SG, MMUDR_SZ16M, MMUDR_IC, MMUDR_SP, \
  492. @@ -383,16 +413,104 @@ ENTRY(__start)
  493. MMUTR_SG, MMUDR_SZ16M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, MMUDR_W, \
  494. 0, MMUDR_LK, %d0
  495. - /* Do unity mapping to enable the MMU. Map first 16 MB in place as
  496. - code (delete TLBs after MMU is enabled and we are executing in high
  497. - memory). */
  498. +#elif defined(CONFIG_M547X_8X)
  499. +
  500. + /* Map first 8 MB as code */
  501. + mmu_map (PAGE_OFFSET+0*1024*1024), (0*1024*1024), MMUOR_ITLB, 0, \
  502. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, MMUDR_X, \
  503. + MMUDR_LK, %d0
  504. + mmu_map (PAGE_OFFSET+1*1024*1024), (1*1024*1024), MMUOR_ITLB, 0, \
  505. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, MMUDR_X, \
  506. + MMUDR_LK, %d0
  507. + mmu_map (PAGE_OFFSET+2*1024*1024), (2*1024*1024), MMUOR_ITLB, 0, \
  508. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, MMUDR_X, \
  509. + MMUDR_LK, %d0
  510. + mmu_map (PAGE_OFFSET+3*1024*1024), (3*1024*1024), MMUOR_ITLB, 0, \
  511. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, MMUDR_X, \
  512. + MMUDR_LK, %d0
  513. + mmu_map (PAGE_OFFSET+4*1024*1024), (4*1024*1024), MMUOR_ITLB, 0, \
  514. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, MMUDR_X, \
  515. + MMUDR_LK, %d0
  516. + mmu_map (PAGE_OFFSET+5*1024*1024), (5*1024*1024), MMUOR_ITLB, 0, \
  517. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, MMUDR_X, \
  518. + MMUDR_LK, %d0
  519. + mmu_map (PAGE_OFFSET+6*1024*1024), (6*1024*1024), MMUOR_ITLB, 0, \
  520. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, MMUDR_X, \
  521. + MMUDR_LK, %d0
  522. + mmu_map (PAGE_OFFSET+7*1024*1024), (7*1024*1024), MMUOR_ITLB, 0, \
  523. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, MMUDR_X, \
  524. + MMUDR_LK, %d0
  525. +
  526. + /* Map first 8 MB as data */
  527. + mmu_map (PAGE_OFFSET+0*1024*1024), (0*1024*1024), 0, 0, \
  528. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, \
  529. + MMUDR_W, 0, MMUDR_LK, %d0
  530. + mmu_map (PAGE_OFFSET+1*1024*1024), (1*1024*1024), 0, 0, \
  531. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, \
  532. + MMUDR_W, 0, MMUDR_LK, %d0
  533. + mmu_map (PAGE_OFFSET+2*1024*1024), (2*1024*1024), 0, 0, \
  534. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, \
  535. + MMUDR_W, 0, MMUDR_LK, %d0
  536. + mmu_map (PAGE_OFFSET+3*1024*1024), (3*1024*1024), 0, 0, \
  537. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, \
  538. + MMUDR_W, 0, MMUDR_LK, %d0
  539. + mmu_map (PAGE_OFFSET+4*1024*1024), (4*1024*1024), 0, 0, \
  540. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, \
  541. + MMUDR_W, 0, MMUDR_LK, %d0
  542. + mmu_map (PAGE_OFFSET+5*1024*1024), (5*1024*1024), 0, 0, \
  543. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, \
  544. + MMUDR_W, 0, MMUDR_LK, %d0
  545. + mmu_map (PAGE_OFFSET+6*1024*1024), (6*1024*1024), 0, 0, \
  546. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, \
  547. + MMUDR_W, 0, MMUDR_LK, %d0
  548. + mmu_map (PAGE_OFFSET+7*1024*1024), (7*1024*1024), 0, 0, \
  549. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, \
  550. + MMUDR_W, 0, MMUDR_LK, %d0
  551. +#endif
  552. + /*
  553. + * Do unity mapping to enable the MMU. Map first chunk of memory
  554. + * in place as code/data. The TLBs will be deleted after the MMU is
  555. + * enabled and we are executing in high memory.
  556. + */
  557. +
  558. +#if defined(CONFIG_M54455)
  559. + /* Map first 16 MB as code */
  560. mmu_map (PHYS_OFFSET+0*0x1000000), (PHYS_OFFSET+0*0x1000000), \
  561. MMUOR_ITLB, 0, MMUTR_SG, MMUDR_SZ16M, MMUDR_INC, MMUDR_SP, 0, \
  562. 0, MMUDR_X, 0, %d0
  563. - /* Map first 16 MB as data too. */
  564. + /* Map first 16 MB as data too */
  565. mmu_map (PHYS_OFFSET+0*0x1000000), (PHYS_OFFSET+0*0x1000000), 0, 0, \
  566. MMUTR_SG, MMUDR_SZ16M, MMUDR_DNCP, MMUDR_SP, MMUDR_R, MMUDR_W, \
  567. 0, 0, %d0
  568. +#elif defined(CONFIG_M547X_8X)
  569. + /* Map first 4 MB as code */
  570. + mmu_map (0*1024*1024), (0*1024*1024), MMUOR_ITLB, 0, \
  571. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, \
  572. + MMUDR_X, 0, %d0
  573. + mmu_map (1*1024*1024), (1*1024*1024), MMUOR_ITLB, 0, \
  574. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, \
  575. + MMUDR_X, 0, %d0
  576. + mmu_map (2*1024*1024), (2*1024*1024), MMUOR_ITLB, 0, \
  577. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, \
  578. + MMUDR_X, 0, %d0
  579. + mmu_map (3*1024*1024), (3*1024*1024), MMUOR_ITLB, 0, \
  580. + MMUTR_SG, MMUDR_SZ1M, MMUDR_IC, MMUDR_SP, 0, 0, \
  581. + MMUDR_X, 0, %d0
  582. +
  583. + /* Map first 4 MB as data too */
  584. + mmu_map (0*1024*1024), (0*1024*1024), 0, 0, \
  585. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DCB, MMUDR_SP, MMUDR_R, \
  586. + MMUDR_W, 0, 0, %d0
  587. + mmu_map (1*1024*1024), (1*1024*1024), 0, 0, \
  588. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DCB, MMUDR_SP, MMUDR_R, \
  589. + MMUDR_W, 0, 0, %d0
  590. + mmu_map (2*1024*1024), (2*1024*1024), 0, 0, \
  591. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DCB, MMUDR_SP, MMUDR_R, \
  592. + MMUDR_W, 0, 0, %d0
  593. + mmu_map (3*1024*1024), (3*1024*1024), 0, 0, \
  594. + MMUTR_SG, MMUDR_SZ1M, MMUDR_DCB, MMUDR_SP, MMUDR_R, \
  595. + MMUDR_W, 0, 0, %d0
  596. +#endif
  597. /* Turn on MMU */
  598. movel #(MMUCR_EN),%a0
  599. @@ -412,9 +530,20 @@ ENTRY(__running_high)
  600. addl #PAGE_OFFSET,%a1
  601. movel %a1,%a0@
  602. - /* Unmap first 16 MB, code and data. */
  603. + /* Unmap unity mappings */
  604. +#if defined(CONFIG_M54455)
  605. mmu_unmap (PHYS_OFFSET+0*0x1000000), MMUOR_ITLB, %d0
  606. mmu_unmap (PHYS_OFFSET+0*0x1000000), 0, %d0
  607. +#elif defined(CONFIG_M547X_8X)
  608. + mmu_unmap (PHYS_OFFSET+0*0x1000000), MMUOR_ITLB, %d0
  609. + mmu_unmap (PHYS_OFFSET+1*0x1000000), MMUOR_ITLB, %d0
  610. + mmu_unmap (PHYS_OFFSET+2*0x1000000), MMUOR_ITLB, %d0
  611. + mmu_unmap (PHYS_OFFSET+3*0x1000000), MMUOR_ITLB, %d0
  612. + mmu_unmap (PHYS_OFFSET+0*0x1000000), 0, %d0
  613. + mmu_unmap (PHYS_OFFSET+1*0x1000000), 0, %d0
  614. + mmu_unmap (PHYS_OFFSET+2*0x1000000), 0, %d0
  615. + mmu_unmap (PHYS_OFFSET+3*0x1000000), 0, %d0
  616. +#endif
  617. /* Setup initial stack pointer */
  618. lea init_task,%a2
  619. @@ -438,8 +567,9 @@ func_start set_context,%d0,(1*4)
  620. movec %d0,%asid
  621. func_return set_context
  622. +#ifdef CONFIG_M54455
  623. /*
  624. - * set_fpga(addr,val)
  625. + * set_fpga(addr,val) on the M54455EVB
  626. *
  627. * Map in 0x00000000 -> 0x0fffffff and then do the write.
  628. */
  629. @@ -456,6 +586,7 @@ set_fpga:
  630. nop
  631. movew %d1,%sr
  632. rts
  633. +#endif
  634. .data
  635. .align 4
  636. --- a/arch/m68k/coldfire/ints.c
  637. +++ b/arch/m68k/coldfire/ints.c
  638. @@ -5,9 +5,10 @@
  639. * Copyright (C) 1998 D. Jeff Dionne <[email protected]>,
  640. * Kenneth Albanowski <[email protected]>,
  641. * Copyright (C) 2000 Lineo Inc. (www.lineo.com)
  642. - * Matt Waddel [email protected]
  643. - * Copyright Freescale Semiconductor, Inc. 2007
  644. - * Kurt Mahan [email protected]
  645. + *
  646. + * Copyright Freescale Semiconductor, Inc. 2007, 2008
  647. + * Kurt Mahan [email protected]
  648. + * Matt Waddel [email protected]
  649. *
  650. * Based on:
  651. * linux/arch/m68k/kernel/ints.c &
  652. @@ -46,7 +47,7 @@ static int irq_depth[SYS_IRQS];
  653. /*
  654. * IRQ Controller
  655. */
  656. -#ifdef CONFIG_M54455
  657. +#if defined(CONFIG_M54455)
  658. void m5445x_irq_enable(unsigned int irq);
  659. void m5445x_irq_disable(unsigned int irq);
  660. static struct irq_controller m5445x_irq_controller = {
  661. @@ -55,6 +56,17 @@ static struct irq_controller m5445x_irq_
  662. .enable = m5445x_irq_enable,
  663. .disable = m5445x_irq_disable,
  664. };
  665. +#elif defined(CONFIG_M547X_8X)
  666. +void m547x_8x_irq_enable(unsigned int irq);
  667. +void m547x_8x_irq_disable(unsigned int irq);
  668. +static struct irq_controller m547x_8x_irq_controller = {
  669. + .name = "M547X_8X",
  670. + .lock = SPIN_LOCK_UNLOCKED,
  671. + .enable = m547x_8x_irq_enable,
  672. + .disable = m547x_8x_irq_disable,
  673. +};
  674. +#else
  675. +# error No IRQ controller defined
  676. #endif
  677. #define POOL_SIZE SYS_IRQS
  678. @@ -75,9 +87,12 @@ void __init init_IRQ(void)
  679. {
  680. int i;
  681. -#ifdef CONFIG_M54455
  682. +#if defined(CONFIG_M54455)
  683. for (i = 0; i < SYS_IRQS; i++)
  684. irq_controller[i] = &m5445x_irq_controller;
  685. +#elif defined(CONFIG_M547X_8X)
  686. + for (i = 0; i < SYS_IRQS; i++)
  687. + irq_controller[i] = &m547x_8x_irq_controller;
  688. #endif
  689. }
  690. @@ -381,4 +396,57 @@ void m5445x_irq_disable(unsigned int irq
  691. MCF_INTC1_SIMR = irq;
  692. }
  693. }
  694. +#elif defined(CONFIG_M547X_8X)
  695. +/*
  696. + * M547X_8X Implementation
  697. + */
  698. +void m547x_8x_irq_enable(unsigned int irq)
  699. +{
  700. + /* enable the interrupt hardware */
  701. + if (irq < 64)
  702. + return;
  703. +
  704. + /* adjust past non-hardware ints */
  705. + irq -= 64;
  706. +
  707. +/* JKM -- re-add EPORT later */
  708. +#if 0
  709. + /* check for eport */
  710. + if ((irq > 0) && (irq < 8)) {
  711. + /* enable eport */
  712. + MCF_EPORT_EPPAR &= ~(3 << (irq*2)); /* level */
  713. + MCF_EPORT_EPDDR &= ~(1 << irq); /* input */
  714. + MCF_EPORT_EPIER |= 1 << irq; /* irq enabled */
  715. + }
  716. +#endif
  717. +
  718. + if (irq < 32)
  719. + MCF_IMRL &= ~(1 << irq);
  720. + else
  721. + MCF_IMRH &= ~(1 << (irq - 32));
  722. +}
  723. +
  724. +void m547x_8x_irq_disable(unsigned int irq)
  725. +{
  726. + /* disable the interrupt hardware */
  727. + if (irq < 64)
  728. + return;
  729. +
  730. + /* adjust past non-hardware ints */
  731. + irq -= 64;
  732. +
  733. +/* JKM -- re-add EPORT later */
  734. +#if 0
  735. + /* check for eport */
  736. + if ((irq > 0) && (irq < 8)) {
  737. + /* disable eport */
  738. + MCF_EPORT_EPIER &= ~(1 << irq);
  739. + }
  740. +#endif
  741. +
  742. + if (irq < 32)
  743. + MCF_IMRL |= (1 << irq);
  744. + else
  745. + MCF_IMRH |= (1 << (irq - 32));
  746. +}
  747. #endif
  748. --- /dev/null
  749. +++ b/arch/m68k/configs/m5485evb_defconfig
  750. @@ -0,0 +1,777 @@
  751. +#
  752. +# Automatically generated make config: don't edit
  753. +# Linux kernel version: 2.6.24
  754. +# Thu Feb 21 00:19:01 2008
  755. +#
  756. +CONFIG_M68K=y
  757. +CONFIG_MMU=y
  758. +# CONFIG_GENERIC_TIME is not set
  759. +# CONFIG_GENERIC_CLOCKEVENTS is not set
  760. +CONFIG_RWSEM_GENERIC_SPINLOCK=y
  761. +# CONFIG_ARCH_HAS_ILOG2_U32 is not set
  762. +# CONFIG_ARCH_HAS_ILOG2_U64 is not set
  763. +CONFIG_GENERIC_HWEIGHT=y
  764. +CONFIG_GENERIC_CALIBRATE_DELAY=y
  765. +CONFIG_TIME_LOW_RES=y
  766. +CONFIG_GENERIC_IOMAP=y
  767. +# CONFIG_NO_IOPORT is not set
  768. +# CONFIG_NO_DMA is not set
  769. +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
  770. +
  771. +#
  772. +# General setup
  773. +#
  774. +CONFIG_EXPERIMENTAL=y
  775. +CONFIG_BROKEN_ON_SMP=y
  776. +CONFIG_INIT_ENV_ARG_LIMIT=32
  777. +CONFIG_LOCALVERSION=""
  778. +CONFIG_LOCALVERSION_AUTO=y
  779. +CONFIG_SWAP=y
  780. +CONFIG_SYSVIPC=y
  781. +CONFIG_SYSVIPC_SYSCTL=y
  782. +# CONFIG_POSIX_MQUEUE is not set
  783. +# CONFIG_BSD_PROCESS_ACCT is not set
  784. +# CONFIG_TASKSTATS is not set
  785. +# CONFIG_USER_NS is not set
  786. +# CONFIG_PID_NS is not set
  787. +# CONFIG_AUDIT is not set
  788. +CONFIG_IKCONFIG=y
  789. +CONFIG_IKCONFIG_PROC=y
  790. +CONFIG_LOG_BUF_SHIFT=17
  791. +# CONFIG_CGROUPS is not set
  792. +CONFIG_FAIR_GROUP_SCHED=y
  793. +CONFIG_FAIR_USER_SCHED=y
  794. +# CONFIG_FAIR_CGROUP_SCHED is not set
  795. +CONFIG_SYSFS_DEPRECATED=y
  796. +# CONFIG_RELAY is not set
  797. +# CONFIG_BLK_DEV_INITRD is not set
  798. +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
  799. +CONFIG_SYSCTL=y
  800. +# CONFIG_EMBEDDED is not set
  801. +CONFIG_UID16=y
  802. +CONFIG_SYSCTL_SYSCALL=y
  803. +CONFIG_KALLSYMS=y
  804. +# CONFIG_KALLSYMS_ALL is not set
  805. +# CONFIG_KALLSYMS_EXTRA_PASS is not set
  806. +CONFIG_HOTPLUG=y
  807. +CONFIG_PRINTK=y
  808. +CONFIG_BUG=y
  809. +CONFIG_ELF_CORE=y
  810. +CONFIG_BASE_FULL=y
  811. +CONFIG_FUTEX=y
  812. +CONFIG_ANON_INODES=y
  813. +CONFIG_EPOLL=y
  814. +CONFIG_SIGNALFD=y
  815. +CONFIG_EVENTFD=y
  816. +CONFIG_SHMEM=y
  817. +CONFIG_VM_EVENT_COUNTERS=y
  818. +CONFIG_SLAB=y
  819. +# CONFIG_SLUB is not set
  820. +# CONFIG_SLOB is not set
  821. +CONFIG_SLABINFO=y
  822. +CONFIG_RT_MUTEXES=y
  823. +# CONFIG_TINY_SHMEM is not set
  824. +CONFIG_BASE_SMALL=0
  825. +CONFIG_MODULES=y
  826. +CONFIG_MODULE_UNLOAD=y
  827. +CONFIG_MODULE_FORCE_UNLOAD=y
  828. +# CONFIG_MODVERSIONS is not set
  829. +# CONFIG_MODULE_SRCVERSION_ALL is not set
  830. +# CONFIG_KMOD is not set
  831. +CONFIG_BLOCK=y
  832. +CONFIG_LBD=y
  833. +# CONFIG_BLK_DEV_IO_TRACE is not set
  834. +# CONFIG_LSF is not set
  835. +# CONFIG_BLK_DEV_BSG is not set
  836. +
  837. +#
  838. +# IO Schedulers
  839. +#
  840. +CONFIG_IOSCHED_NOOP=y
  841. +CONFIG_IOSCHED_AS=y
  842. +CONFIG_IOSCHED_DEADLINE=y
  843. +CONFIG_IOSCHED_CFQ=y
  844. +# CONFIG_DEFAULT_AS is not set
  845. +# CONFIG_DEFAULT_DEADLINE is not set
  846. +CONFIG_DEFAULT_CFQ=y
  847. +# CONFIG_DEFAULT_NOOP is not set
  848. +CONFIG_DEFAULT_IOSCHED="cfq"
  849. +
  850. +#
  851. +# Platform dependent setup
  852. +#
  853. +# CONFIG_SUN3 is not set
  854. +CONFIG_COLDFIRE=y
  855. +CONFIG_CFV4E=y
  856. +# CONFIG_AMIGA is not set
  857. +# CONFIG_ATARI is not set
  858. +# CONFIG_MAC is not set
  859. +# CONFIG_APOLLO is not set
  860. +# CONFIG_VME is not set
  861. +# CONFIG_HP300 is not set
  862. +# CONFIG_SUN3X is not set
  863. +# CONFIG_Q40 is not set
  864. +
  865. +#
  866. +# Processor type
  867. +#
  868. +# CONFIG_M68020 is not set
  869. +# CONFIG_M68030 is not set
  870. +# CONFIG_M68040 is not set
  871. +# CONFIG_M68060 is not set
  872. +# CONFIG_M54455 is not set
  873. +CONFIG_M547X_8X=y
  874. +# CONFIG_M547X is not set
  875. +CONFIG_M548X=y
  876. +# CONFIG_M5475AFE is not set
  877. +# CONFIG_M5475BFE is not set
  878. +# CONFIG_M5475CFE is not set
  879. +# CONFIG_M5475DFE is not set
  880. +# CONFIG_M5475EFE is not set
  881. +# CONFIG_M5475FFE is not set
  882. +# CONFIG_M5485AFE is not set
  883. +# CONFIG_M5485BFE is not set
  884. +CONFIG_M5485CFE=y
  885. +# CONFIG_M5485DFE is not set
  886. +# CONFIG_M5485EFE is not set
  887. +# CONFIG_M5485FFE is not set
  888. +CONFIG_MCFCLK=50000000
  889. +# CONFIG_MCF_USER_HALT is not set
  890. +CONFIG_MMU_CFV4E=y
  891. +CONFIG_SDRAM_BASE=0x00000000
  892. +CONFIG_SDRAM_SIZE=0x04000000
  893. +# CONFIG_M68KFPU_EMU is not set
  894. +CONFIG_ADVANCED=y
  895. +# CONFIG_RMW_INSNS is not set
  896. +CONFIG_SINGLE_MEMORY_CHUNK=y
  897. +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
  898. +CONFIG_SELECT_MEMORY_MODEL=y
  899. +CONFIG_FLATMEM_MANUAL=y
  900. +# CONFIG_DISCONTIGMEM_MANUAL is not set
  901. +# CONFIG_SPARSEMEM_MANUAL is not set
  902. +CONFIG_FLATMEM=y
  903. +CONFIG_FLAT_NODE_MEM_MAP=y
  904. +CONFIG_NEED_MULTIPLE_NODES=y
  905. +# CONFIG_SPARSEMEM_STATIC is not set
  906. +# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
  907. +CONFIG_SPLIT_PTLOCK_CPUS=4
  908. +# CONFIG_RESOURCES_64BIT is not set
  909. +CONFIG_ZONE_DMA_FLAG=1
  910. +CONFIG_BOUNCE=y
  911. +CONFIG_VIRT_TO_BUS=y
  912. +
  913. +#
  914. +# General setup
  915. +#
  916. +CONFIG_BINFMT_ELF=y
  917. +# CONFIG_BINFMT_AOUT is not set
  918. +# CONFIG_BINFMT_MISC is not set
  919. +CONFIG_PROC_HARDWARE=y
  920. +CONFIG_ZONE_DMA=y
  921. +# CONFIG_ARCH_SUPPORTS_MSI is not set
  922. +
  923. +#
  924. +# Power management options
  925. +#
  926. +# CONFIG_PM is not set
  927. +
  928. +#
  929. +# Networking
  930. +#
  931. +CONFIG_NET=y
  932. +
  933. +#
  934. +# Networking options
  935. +#
  936. +CONFIG_PACKET=y
  937. +# CONFIG_PACKET_MMAP is not set
  938. +CONFIG_UNIX=y
  939. +CONFIG_XFRM=y
  940. +# CONFIG_XFRM_USER is not set
  941. +# CONFIG_XFRM_SUB_POLICY is not set
  942. +# CONFIG_XFRM_MIGRATE is not set
  943. +CONFIG_NET_KEY=y
  944. +# CONFIG_NET_KEY_MIGRATE is not set
  945. +CONFIG_INET=y
  946. +# CONFIG_IP_MULTICAST is not set
  947. +CONFIG_IP_ADVANCED_ROUTER=y
  948. +CONFIG_ASK_IP_FIB_HASH=y
  949. +# CONFIG_IP_FIB_TRIE is not set
  950. +CONFIG_IP_FIB_HASH=y
  951. +# CONFIG_IP_MULTIPLE_TABLES is not set
  952. +# CONFIG_IP_ROUTE_MULTIPATH is not set
  953. +# CONFIG_IP_ROUTE_VERBOSE is not set
  954. +CONFIG_IP_PNP=y
  955. +# CONFIG_IP_PNP_DHCP is not set
  956. +# CONFIG_IP_PNP_BOOTP is not set
  957. +# CONFIG_IP_PNP_RARP is not set
  958. +# CONFIG_NET_IPIP is not set
  959. +# CONFIG_NET_IPGRE is not set
  960. +# CONFIG_ARPD is not set
  961. +# CONFIG_SYN_COOKIES is not set
  962. +CONFIG_INET_AH=y
  963. +CONFIG_INET_ESP=y
  964. +# CONFIG_INET_IPCOMP is not set
  965. +# CONFIG_INET_XFRM_TUNNEL is not set
  966. +# CONFIG_INET_TUNNEL is not set
  967. +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
  968. +# CONFIG_INET_XFRM_MODE_TUNNEL is not set
  969. +# CONFIG_INET_XFRM_MODE_BEET is not set
  970. +# CONFIG_INET_LRO is not set
  971. +CONFIG_INET_DIAG=y
  972. +CONFIG_INET_TCP_DIAG=y
  973. +# CONFIG_TCP_CONG_ADVANCED is not set
  974. +CONFIG_TCP_CONG_CUBIC=y
  975. +CONFIG_DEFAULT_TCP_CONG="cubic"
  976. +# CONFIG_TCP_MD5SIG is not set
  977. +# CONFIG_IPV6 is not set
  978. +# CONFIG_INET6_XFRM_TUNNEL is not set
  979. +# CONFIG_INET6_TUNNEL is not set
  980. +# CONFIG_NETWORK_SECMARK is not set
  981. +# CONFIG_NETFILTER is not set
  982. +# CONFIG_IP_DCCP is not set
  983. +# CONFIG_IP_SCTP is not set
  984. +# CONFIG_TIPC is not set
  985. +# CONFIG_ATM is not set
  986. +# CONFIG_BRIDGE is not set
  987. +# CONFIG_VLAN_8021Q is not set
  988. +# CONFIG_DECNET is not set
  989. +# CONFIG_LLC2 is not set
  990. +# CONFIG_IPX is not set
  991. +# CONFIG_ATALK is not set
  992. +# CONFIG_X25 is not set
  993. +# CONFIG_LAPB is not set
  994. +# CONFIG_ECONET is not set
  995. +# CONFIG_WAN_ROUTER is not set
  996. +# CONFIG_NET_SCHED is not set
  997. +
  998. +#
  999. +# Network testing
  1000. +#
  1001. +# CONFIG_NET_PKTGEN is not set
  1002. +# CONFIG_HAMRADIO is not set
  1003. +# CONFIG_IRDA is not set
  1004. +# CONFIG_BT is not set
  1005. +# CONFIG_AF_RXRPC is not set
  1006. +
  1007. +#
  1008. +# Wireless
  1009. +#
  1010. +# CONFIG_CFG80211 is not set
  1011. +# CONFIG_WIRELESS_EXT is not set
  1012. +# CONFIG_MAC80211 is not set
  1013. +# CONFIG_IEEE80211 is not set
  1014. +# CONFIG_RFKILL is not set
  1015. +# CONFIG_NET_9P is not set
  1016. +
  1017. +#
  1018. +# Device Drivers
  1019. +#
  1020. +
  1021. +#
  1022. +# Generic Driver Options
  1023. +#
  1024. +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
  1025. +# CONFIG_STANDALONE is not set
  1026. +CONFIG_PREVENT_FIRMWARE_BUILD=y
  1027. +CONFIG_FW_LOADER=y
  1028. +# CONFIG_DEBUG_DRIVER is not set
  1029. +# CONFIG_DEBUG_DEVRES is not set
  1030. +# CONFIG_SYS_HYPERVISOR is not set
  1031. +# CONFIG_CONNECTOR is not set
  1032. +# CONFIG_MTD is not set
  1033. +# CONFIG_PARPORT is not set
  1034. +CONFIG_BLK_DEV=y
  1035. +# CONFIG_BLK_DEV_COW_COMMON is not set
  1036. +CONFIG_BLK_DEV_LOOP=y
  1037. +# CONFIG_BLK_DEV_CRYPTOLOOP is not set
  1038. +# CONFIG_BLK_DEV_NBD is not set
  1039. +CONFIG_BLK_DEV_RAM=y
  1040. +CONFIG_BLK_DEV_RAM_COUNT=16
  1041. +CONFIG_BLK_DEV_RAM_SIZE=64000
  1042. +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
  1043. +# CONFIG_CDROM_PKTCDVD is not set
  1044. +# CONFIG_ATA_OVER_ETH is not set
  1045. +CONFIG_MISC_DEVICES=y
  1046. +# CONFIG_EEPROM_93CX6 is not set
  1047. +# CONFIG_IDE is not set
  1048. +
  1049. +#
  1050. +# SCSI device support
  1051. +#
  1052. +# CONFIG_RAID_ATTRS is not set
  1053. +CONFIG_SCSI=y
  1054. +CONFIG_SCSI_DMA=y
  1055. +# CONFIG_SCSI_TGT is not set
  1056. +# CONFIG_SCSI_NETLINK is not set
  1057. +CONFIG_SCSI_PROC_FS=y
  1058. +
  1059. +#
  1060. +# SCSI support type (disk, tape, CD-ROM)
  1061. +#
  1062. +CONFIG_BLK_DEV_SD=y
  1063. +# CONFIG_CHR_DEV_ST is not set
  1064. +# CONFIG_CHR_DEV_OSST is not set
  1065. +# CONFIG_BLK_DEV_SR is not set
  1066. +# CONFIG_CHR_DEV_SG is not set
  1067. +# CONFIG_CHR_DEV_SCH is not set
  1068. +
  1069. +#
  1070. +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
  1071. +#
  1072. +CONFIG_SCSI_MULTI_LUN=y
  1073. +# CONFIG_SCSI_CONSTANTS is not set
  1074. +# CONFIG_SCSI_LOGGING is not set
  1075. +# CONFIG_SCSI_SCAN_ASYNC is not set
  1076. +CONFIG_SCSI_WAIT_SCAN=m
  1077. +
  1078. +#
  1079. +# SCSI Transports
  1080. +#
  1081. +# CONFIG_SCSI_SPI_ATTRS is not set
  1082. +# CONFIG_SCSI_FC_ATTRS is not set
  1083. +# CONFIG_SCSI_ISCSI_ATTRS is not set
  1084. +# CONFIG_SCSI_SAS_LIBSAS is not set
  1085. +# CONFIG_SCSI_SRP_ATTRS is not set
  1086. +# CONFIG_SCSI_LOWLEVEL is not set
  1087. +# CONFIG_ATA is not set
  1088. +# CONFIG_MD is not set
  1089. +CONFIG_NETDEVICES=y
  1090. +# CONFIG_NETDEVICES_MULTIQUEUE is not set
  1091. +# CONFIG_DUMMY is not set
  1092. +# CONFIG_BONDING is not set
  1093. +# CONFIG_MACVLAN is not set
  1094. +# CONFIG_EQUALIZER is not set
  1095. +# CONFIG_TUN is not set
  1096. +# CONFIG_VETH is not set
  1097. +# CONFIG_PHYLIB is not set
  1098. +CONFIG_NET_ETHERNET=y
  1099. +CONFIG_MII=y
  1100. +# CONFIG_IBM_NEW_EMAC_ZMII is not set
  1101. +# CONFIG_IBM_NEW_EMAC_RGMII is not set
  1102. +# CONFIG_IBM_NEW_EMAC_TAH is not set
  1103. +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
  1104. +# CONFIG_B44 is not set
  1105. +# CONFIG_NETDEV_1000 is not set
  1106. +# CONFIG_NETDEV_10000 is not set
  1107. +
  1108. +#
  1109. +# Wireless LAN
  1110. +#
  1111. +# CONFIG_WLAN_PRE80211 is not set
  1112. +# CONFIG_WLAN_80211 is not set
  1113. +# CONFIG_WAN is not set
  1114. +# CONFIG_PPP is not set
  1115. +# CONFIG_SLIP is not set
  1116. +# CONFIG_SHAPER is not set
  1117. +# CONFIG_NETCONSOLE is not set
  1118. +# CONFIG_NETPOLL is not set
  1119. +# CONFIG_NET_POLL_CONTROLLER is not set
  1120. +# CONFIG_ISDN is not set
  1121. +# CONFIG_PHONE is not set
  1122. +
  1123. +#
  1124. +# Input device support
  1125. +#
  1126. +CONFIG_INPUT=y
  1127. +# CONFIG_INPUT_FF_MEMLESS is not set
  1128. +# CONFIG_INPUT_POLLDEV is not set
  1129. +
  1130. +#
  1131. +# Userland interfaces
  1132. +#
  1133. +CONFIG_INPUT_MOUSEDEV=y
  1134. +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
  1135. +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
  1136. +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
  1137. +# CONFIG_INPUT_JOYDEV is not set
  1138. +CONFIG_INPUT_EVDEV=y
  1139. +# CONFIG_INPUT_EVBUG is not set
  1140. +
  1141. +#
  1142. +# Input Device Drivers
  1143. +#
  1144. +CONFIG_INPUT_KEYBOARD=y
  1145. +# CONFIG_KEYBOARD_ATKBD is not set
  1146. +# CONFIG_KEYBOARD_SUNKBD is not set
  1147. +# CONFIG_KEYBOARD_LKKBD is not set
  1148. +# CONFIG_KEYBOARD_XTKBD is not set
  1149. +# CONFIG_KEYBOARD_NEWTON is not set
  1150. +# CONFIG_KEYBOARD_STOWAWAY is not set
  1151. +# CONFIG_INPUT_MOUSE is not set
  1152. +# CONFIG_INPUT_JOYSTICK is not set
  1153. +# CONFIG_INPUT_TABLET is not set
  1154. +# CONFIG_INPUT_TOUCHSCREEN is not set
  1155. +# CONFIG_INPUT_MISC is not set
  1156. +
  1157. +#
  1158. +# Hardware I/O ports
  1159. +#
  1160. +CONFIG_SERIO=y
  1161. +CONFIG_SERIO_SERPORT=y
  1162. +# CONFIG_SERIO_RAW is not set
  1163. +# CONFIG_GAMEPORT is not set
  1164. +
  1165. +#
  1166. +# Character devices
  1167. +#
  1168. +CONFIG_VT=y
  1169. +CONFIG_VT_CONSOLE=y
  1170. +CONFIG_HW_CONSOLE=y
  1171. +# CONFIG_VT_HW_CONSOLE_BINDING is not set
  1172. +# CONFIG_SERIAL_NONSTANDARD is not set
  1173. +
  1174. +#
  1175. +# Serial drivers
  1176. +#
  1177. +# CONFIG_SERIAL_8250 is not set
  1178. +
  1179. +#
  1180. +# Non-8250 serial port support
  1181. +#
  1182. +CONFIG_SERIAL_COLDFIRE=y
  1183. +CONFIG_UNIX98_PTYS=y
  1184. +# CONFIG_LEGACY_PTYS is not set
  1185. +# CONFIG_IPMI_HANDLER is not set
  1186. +# CONFIG_HW_RANDOM is not set
  1187. +# CONFIG_GEN_RTC is not set
  1188. +# CONFIG_R3964 is not set
  1189. +# CONFIG_RAW_DRIVER is not set
  1190. +# CONFIG_TCG_TPM is not set
  1191. +# CONFIG_I2C is not set
  1192. +
  1193. +#
  1194. +# SPI support
  1195. +#
  1196. +# CONFIG_SPI is not set
  1197. +# CONFIG_COLDFIRE_EDMA is not set
  1198. +# CONFIG_SPI_MASTER is not set
  1199. +# CONFIG_W1 is not set
  1200. +# CONFIG_POWER_SUPPLY is not set
  1201. +# CONFIG_HWMON is not set
  1202. +# CONFIG_WATCHDOG is not set
  1203. +
  1204. +#
  1205. +# Sonics Silicon Backplane
  1206. +#
  1207. +CONFIG_SSB_POSSIBLE=y
  1208. +# CONFIG_SSB is not set
  1209. +
  1210. +#
  1211. +# Multifunction device drivers
  1212. +#
  1213. +# CONFIG_MFD_SM501 is not set
  1214. +
  1215. +#
  1216. +# Multimedia devices
  1217. +#
  1218. +# CONFIG_VIDEO_DEV is not set
  1219. +# CONFIG_DVB_CORE is not set
  1220. +CONFIG_DAB=y
  1221. +
  1222. +#
  1223. +# Graphics support
  1224. +#
  1225. +# CONFIG_VGASTATE is not set
  1226. +CONFIG_VIDEO_OUTPUT_CONTROL=m
  1227. +# CONFIG_FB is not set
  1228. +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
  1229. +
  1230. +#
  1231. +# Display device support
  1232. +#
  1233. +# CONFIG_DISPLAY_SUPPORT is not set
  1234. +
  1235. +#
  1236. +# Console display driver support
  1237. +#
  1238. +CONFIG_DUMMY_CONSOLE=y
  1239. +
  1240. +#
  1241. +# Sound
  1242. +#
  1243. +# CONFIG_SOUND is not set
  1244. +CONFIG_HID_SUPPORT=y
  1245. +CONFIG_HID=y
  1246. +CONFIG_HID_DEBUG=y
  1247. +# CONFIG_HIDRAW is not set
  1248. +# CONFIG_USB_SUPPORT is not set
  1249. +# CONFIG_MMC is not set
  1250. +# CONFIG_NEW_LEDS is not set
  1251. +# CONFIG_RTC_CLASS is not set
  1252. +
  1253. +#
  1254. +# Userspace I/O
  1255. +#
  1256. +# CONFIG_UIO is not set
  1257. +
  1258. +#
  1259. +# Character devices
  1260. +#
  1261. +# CONFIG_SERIAL_CONSOLE is not set
  1262. +
  1263. +#
  1264. +# File systems
  1265. +#
  1266. +CONFIG_EXT2_FS=y
  1267. +# CONFIG_EXT2_FS_XATTR is not set
  1268. +# CONFIG_EXT2_FS_XIP is not set
  1269. +CONFIG_EXT3_FS=y
  1270. +CONFIG_EXT3_FS_XATTR=y
  1271. +# CONFIG_EXT3_FS_POSIX_ACL is not set
  1272. +# CONFIG_EXT3_FS_SECURITY is not set
  1273. +# CONFIG_EXT4DEV_FS is not set
  1274. +CONFIG_JBD=y
  1275. +CONFIG_FS_MBCACHE=y
  1276. +# CONFIG_REISERFS_FS is not set
  1277. +# CONFIG_JFS_FS is not set
  1278. +# CONFIG_FS_POSIX_ACL is not set
  1279. +# CONFIG_XFS_FS is not set
  1280. +# CONFIG_GFS2_FS is not set
  1281. +# CONFIG_OCFS2_FS is not set
  1282. +CONFIG_MINIX_FS=y
  1283. +# CONFIG_ROMFS_FS is not set
  1284. +# CONFIG_INOTIFY is not set
  1285. +# CONFIG_QUOTA is not set
  1286. +CONFIG_DNOTIFY=y
  1287. +# CONFIG_AUTOFS_FS is not set
  1288. +# CONFIG_AUTOFS4_FS is not set
  1289. +# CONFIG_FUSE_FS is not set
  1290. +
  1291. +#
  1292. +# CD-ROM/DVD Filesystems
  1293. +#
  1294. +# CONFIG_ISO9660_FS is not set
  1295. +# CONFIG_UDF_FS is not set
  1296. +
  1297. +#
  1298. +# DOS/FAT/NT Filesystems
  1299. +#
  1300. +CONFIG_FAT_FS=y
  1301. +CONFIG_MSDOS_FS=y
  1302. +CONFIG_VFAT_FS=y
  1303. +CONFIG_FAT_DEFAULT_CODEPAGE=437
  1304. +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
  1305. +CONFIG_NTFS_FS=y
  1306. +# CONFIG_NTFS_DEBUG is not set
  1307. +CONFIG_NTFS_RW=y
  1308. +
  1309. +#
  1310. +# Pseudo filesystems
  1311. +#
  1312. +CONFIG_PROC_FS=y
  1313. +# CONFIG_PROC_KCORE is not set
  1314. +CONFIG_PROC_SYSCTL=y
  1315. +CONFIG_SYSFS=y
  1316. +CONFIG_TMPFS=y
  1317. +# CONFIG_TMPFS_POSIX_ACL is not set
  1318. +# CONFIG_HUGETLB_PAGE is not set
  1319. +# CONFIG_CONFIGFS_FS is not set
  1320. +
  1321. +#
  1322. +# Miscellaneous filesystems
  1323. +#
  1324. +# CONFIG_ADFS_FS is not set
  1325. +# CONFIG_AFFS_FS is not set
  1326. +# CONFIG_HFS_FS is not set
  1327. +# CONFIG_HFSPLUS_FS is not set
  1328. +# CONFIG_BEFS_FS is not set
  1329. +# CONFIG_BFS_FS is not set
  1330. +# CONFIG_EFS_FS is not set
  1331. +# CONFIG_CRAMFS is not set
  1332. +# CONFIG_VXFS_FS is not set
  1333. +# CONFIG_HPFS_FS is not set
  1334. +# CONFIG_QNX4FS_FS is not set
  1335. +# CONFIG_SYSV_FS is not set
  1336. +# CONFIG_UFS_FS is not set
  1337. +CONFIG_NETWORK_FILESYSTEMS=y
  1338. +CONFIG_NFS_FS=y
  1339. +# CONFIG_NFS_V3 is not set
  1340. +# CONFIG_NFS_V4 is not set
  1341. +# CONFIG_NFS_DIRECTIO is not set
  1342. +# CONFIG_NFSD is not set
  1343. +CONFIG_ROOT_NFS=y
  1344. +CONFIG_LOCKD=y
  1345. +CONFIG_NFS_COMMON=y
  1346. +CONFIG_SUNRPC=y
  1347. +# CONFIG_SUNRPC_BIND34 is not set
  1348. +# CONFIG_RPCSEC_GSS_KRB5 is not set
  1349. +# CONFIG_RPCSEC_GSS_SPKM3 is not set
  1350. +# CONFIG_SMB_FS is not set
  1351. +# CONFIG_CIFS is not set
  1352. +# CONFIG_NCP_FS is not set
  1353. +# CONFIG_CODA_FS is not set
  1354. +# CONFIG_AFS_FS is not set
  1355. +
  1356. +#
  1357. +# Partition Types
  1358. +#
  1359. +CONFIG_PARTITION_ADVANCED=y
  1360. +# CONFIG_ACORN_PARTITION is not set
  1361. +# CONFIG_OSF_PARTITION is not set
  1362. +# CONFIG_AMIGA_PARTITION is not set
  1363. +# CONFIG_ATARI_PARTITION is not set
  1364. +# CONFIG_MAC_PARTITION is not set
  1365. +CONFIG_MSDOS_PARTITION=y
  1366. +# CONFIG_BSD_DISKLABEL is not set
  1367. +# CONFIG_MINIX_SUBPARTITION is not set
  1368. +# CONFIG_SOLARIS_X86_PARTITION is not set
  1369. +# CONFIG_UNIXWARE_DISKLABEL is not set
  1370. +# CONFIG_LDM_PARTITION is not set
  1371. +# CONFIG_SGI_PARTITION is not set
  1372. +# CONFIG_ULTRIX_PARTITION is not set
  1373. +# CONFIG_SUN_PARTITION is not set
  1374. +# CONFIG_KARMA_PARTITION is not set
  1375. +# CONFIG_EFI_PARTITION is not set
  1376. +# CONFIG_SYSV68_PARTITION is not set
  1377. +CONFIG_NLS=y
  1378. +CONFIG_NLS_DEFAULT="iso8859-1"
  1379. +CONFIG_NLS_CODEPAGE_437=y
  1380. +# CONFIG_NLS_CODEPAGE_737 is not set
  1381. +# CONFIG_NLS_CODEPAGE_775 is not set
  1382. +# CONFIG_NLS_CODEPAGE_850 is not set
  1383. +# CONFIG_NLS_CODEPAGE_852 is not set
  1384. +# CONFIG_NLS_CODEPAGE_855 is not set
  1385. +# CONFIG_NLS_CODEPAGE_857 is not set
  1386. +# CONFIG_NLS_CODEPAGE_860 is not set
  1387. +# CONFIG_NLS_CODEPAGE_861 is not set
  1388. +# CONFIG_NLS_CODEPAGE_862 is not set
  1389. +# CONFIG_NLS_CODEPAGE_863 is not set
  1390. +# CONFIG_NLS_CODEPAGE_864 is not set
  1391. +# CONFIG_NLS_CODEPAGE_865 is not set
  1392. +# CONFIG_NLS_CODEPAGE_866 is not set
  1393. +# CONFIG_NLS_CODEPAGE_869 is not set
  1394. +# CONFIG_NLS_CODEPAGE_936 is not set
  1395. +# CONFIG_NLS_CODEPAGE_950 is not set
  1396. +# CONFIG_NLS_CODEPAGE_932 is not set
  1397. +# CONFIG_NLS_CODEPAGE_949 is not set
  1398. +# CONFIG_NLS_CODEPAGE_874 is not set
  1399. +# CONFIG_NLS_ISO8859_8 is not set
  1400. +# CONFIG_NLS_CODEPAGE_1250 is not set
  1401. +# CONFIG_NLS_CODEPAGE_1251 is not set
  1402. +# CONFIG_NLS_ASCII is not set
  1403. +CONFIG_NLS_ISO8859_1=y
  1404. +# CONFIG_NLS_ISO8859_2 is not set
  1405. +# CONFIG_NLS_ISO8859_3 is not set
  1406. +# CONFIG_NLS_ISO8859_4 is not set
  1407. +# CONFIG_NLS_ISO8859_5 is not set
  1408. +# CONFIG_NLS_ISO8859_6 is not set
  1409. +# CONFIG_NLS_ISO8859_7 is not set
  1410. +# CONFIG_NLS_ISO8859_9 is not set
  1411. +# CONFIG_NLS_ISO8859_13 is not set
  1412. +# CONFIG_NLS_ISO8859_14 is not set
  1413. +# CONFIG_NLS_ISO8859_15 is not set
  1414. +# CONFIG_NLS_KOI8_R is not set
  1415. +# CONFIG_NLS_KOI8_U is not set
  1416. +CONFIG_NLS_UTF8=y
  1417. +# CONFIG_DLM is not set
  1418. +CONFIG_INSTRUMENTATION=y
  1419. +# CONFIG_PROFILING is not set
  1420. +# CONFIG_MARKERS is not set
  1421. +
  1422. +#
  1423. +# Kernel hacking
  1424. +#
  1425. +# CONFIG_PRINTK_TIME is not set
  1426. +CONFIG_ENABLE_WARN_DEPRECATED=y
  1427. +# CONFIG_ENABLE_MUST_CHECK is not set
  1428. +# CONFIG_MAGIC_SYSRQ is not set
  1429. +# CONFIG_UNUSED_SYMBOLS is not set
  1430. +# CONFIG_DEBUG_FS is not set
  1431. +# CONFIG_HEADERS_CHECK is not set
  1432. +CONFIG_DEBUG_KERNEL=y
  1433. +CONFIG_DETECT_SOFTLOCKUP=y
  1434. +CONFIG_SCHED_DEBUG=y
  1435. +# CONFIG_SCHEDSTATS is not set
  1436. +# CONFIG_TIMER_STATS is not set
  1437. +CONFIG_DEBUG_SLAB=y
  1438. +# CONFIG_DEBUG_SLAB_LEAK is not set
  1439. +# CONFIG_DEBUG_RT_MUTEXES is not set
  1440. +# CONFIG_RT_MUTEX_TESTER is not set
  1441. +# CONFIG_DEBUG_SPINLOCK is not set
  1442. +# CONFIG_DEBUG_MUTEXES is not set
  1443. +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
  1444. +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
  1445. +# CONFIG_DEBUG_KOBJECT is not set
  1446. +CONFIG_DEBUG_BUGVERBOSE=y
  1447. +CONFIG_DEBUG_INFO=y
  1448. +# CONFIG_DEBUG_VM is not set
  1449. +# CONFIG_DEBUG_LIST is not set
  1450. +# CONFIG_DEBUG_SG is not set
  1451. +# CONFIG_FRAME_POINTER is not set
  1452. +CONFIG_FORCED_INLINING=y
  1453. +# CONFIG_BOOT_PRINTK_DELAY is not set
  1454. +# CONFIG_RCU_TORTURE_TEST is not set
  1455. +# CONFIG_FAULT_INJECTION is not set
  1456. +# CONFIG_SAMPLES is not set
  1457. +CONFIG_BOOTPARAM=y
  1458. +CONFIG_BOOTPARAM_STRING="root=/dev/nfs rw nfsroot=172.27.163.2:/tftpboot/ltib ip=172.27.163.3:172.27.163.2:172.27.255.254:255.255.0.0::eth0:off mtdparts=phys_mapped_flash:16m(User)"
  1459. +
  1460. +#
  1461. +# CodeTEST Setup
  1462. +#
  1463. +# CONFIG_CODETEST is not set
  1464. +
  1465. +#
  1466. +# Security options
  1467. +#
  1468. +# CONFIG_KEYS is not set
  1469. +# CONFIG_SECURITY is not set
  1470. +# CONFIG_SECURITY_FILE_CAPABILITIES is not set
  1471. +CONFIG_CRYPTO=y
  1472. +CONFIG_CRYPTO_ALGAPI=y
  1473. +CONFIG_CRYPTO_BLKCIPHER=y
  1474. +CONFIG_CRYPTO_HASH=y
  1475. +CONFIG_CRYPTO_MANAGER=y
  1476. +CONFIG_CRYPTO_HMAC=y
  1477. +# CONFIG_CRYPTO_XCBC is not set
  1478. +# CONFIG_CRYPTO_NULL is not set
  1479. +# CONFIG_CRYPTO_MD4 is not set
  1480. +CONFIG_CRYPTO_MD5=y
  1481. +CONFIG_CRYPTO_SHA1=y
  1482. +# CONFIG_CRYPTO_SHA256 is not set
  1483. +# CONFIG_CRYPTO_SHA512 is not set
  1484. +# CONFIG_CRYPTO_WP512 is not set
  1485. +# CONFIG_CRYPTO_TGR192 is not set
  1486. +# CONFIG_CRYPTO_GF128MUL is not set
  1487. +# CONFIG_CRYPTO_ECB is not set
  1488. +CONFIG_CRYPTO_CBC=y
  1489. +# CONFIG_CRYPTO_PCBC is not set
  1490. +# CONFIG_CRYPTO_LRW is not set
  1491. +# CONFIG_CRYPTO_XTS is not set
  1492. +# CONFIG_CRYPTO_CRYPTD is not set
  1493. +CONFIG_CRYPTO_DES=y
  1494. +# CONFIG_CRYPTO_FCRYPT is not set
  1495. +# CONFIG_CRYPTO_BLOWFISH is not set
  1496. +# CONFIG_CRYPTO_TWOFISH is not set
  1497. +# CONFIG_CRYPTO_SERPENT is not set
  1498. +# CONFIG_CRYPTO_AES is not set
  1499. +# CONFIG_CRYPTO_CAST5 is not set
  1500. +# CONFIG_CRYPTO_CAST6 is not set
  1501. +# CONFIG_CRYPTO_TEA is not set
  1502. +# CONFIG_CRYPTO_ARC4 is not set
  1503. +# CONFIG_CRYPTO_KHAZAD is not set
  1504. +# CONFIG_CRYPTO_ANUBIS is not set
  1505. +# CONFIG_CRYPTO_SEED is not set
  1506. +# CONFIG_CRYPTO_DEFLATE is not set
  1507. +# CONFIG_CRYPTO_MICHAEL_MIC is not set
  1508. +# CONFIG_CRYPTO_CRC32C is not set
  1509. +# CONFIG_CRYPTO_CAMELLIA is not set
  1510. +CONFIG_CRYPTO_TEST=m
  1511. +# CONFIG_CRYPTO_AUTHENC is not set
  1512. +# CONFIG_CRYPTO_HW is not set
  1513. +
  1514. +#
  1515. +# Library routines
  1516. +#
  1517. +CONFIG_BITREVERSE=y
  1518. +CONFIG_CRC_CCITT=y
  1519. +CONFIG_CRC16=y
  1520. +# CONFIG_CRC_ITU_T is not set
  1521. +CONFIG_CRC32=y
  1522. +# CONFIG_CRC7 is not set
  1523. +CONFIG_LIBCRC32C=y
  1524. +CONFIG_PLIST=y
  1525. +CONFIG_HAS_IOMEM=y
  1526. +CONFIG_HAS_IOPORT=y
  1527. +CONFIG_HAS_DMA=y
  1528. --- a/drivers/serial/mcfserial.c
  1529. +++ b/drivers/serial/mcfserial.c
  1530. @@ -45,6 +45,11 @@
  1531. #include <asm/coldfire.h>
  1532. #include <asm/mcfsim.h>
  1533. #include <asm/mcfuart.h>
  1534. +#if defined(CONFIG_M547X_8X)
  1535. +#include <asm/m5485sim.h>
  1536. +#include <asm/m5485psc.h>
  1537. +#include <asm/m5485gpio.h>
  1538. +#endif
  1539. #ifdef CONFIG_NETtel
  1540. #include <asm/nettel.h>
  1541. #endif
  1542. @@ -64,7 +69,7 @@ struct timer_list mcfrs_timer_struct;
  1543. #define DEFAULT_CBAUD B38400
  1544. #elif defined(CONFIG_MOD5272) || defined(CONFIG_M5208EVB) || \
  1545. defined(CONFIG_M5329EVB) || defined(CONFIG_GILBARCO) || \
  1546. - defined(CONFIG_M54455)
  1547. + defined(CONFIG_M54455) || defined(CONFIG_M547X_8X)
  1548. #define CONSOLE_BAUD_RATE 115200
  1549. #define DEFAULT_CBAUD B115200
  1550. #elif defined(CONFIG_ARNEWSH) || defined(CONFIG_FREESCALE) || \
  1551. @@ -97,7 +102,8 @@ static struct tty_driver *mcfrs_serial_d
  1552. #undef SERIAL_DEBUG_FLOW
  1553. #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
  1554. - defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_M54455)
  1555. + defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_M54455) || \
  1556. + defined(CONFIG_M547X_8X)
  1557. #define IRQBASE (MCFINT_VECBASE+MCFINT_UART0)
  1558. #else
  1559. #define IRQBASE 73
  1560. @@ -117,7 +123,11 @@ static struct mcf_serial mcfrs_table[] =
  1561. { /* ttyS1 */
  1562. .magic = 0,
  1563. .addr = (volatile unsigned char *) (MCF_MBAR+MCFUART_BASE2),
  1564. +#if defined(CONFIG_M547X_8X)
  1565. + .irq = IRQBASE-1,
  1566. +#else
  1567. .irq = IRQBASE+1,
  1568. +#endif
  1569. .flags = ASYNC_BOOT_AUTOCONF,
  1570. },
  1571. #endif
  1572. @@ -125,7 +135,11 @@ static struct mcf_serial mcfrs_table[] =
  1573. { /* ttyS2 */
  1574. .magic = 0,
  1575. .addr = (volatile unsigned char *) (MCF_MBAR+MCFUART_BASE3),
  1576. +#if defined(CONFIG_M547X_8X)
  1577. + .irq = IRQBASE-2,
  1578. +#else
  1579. .irq = IRQBASE+2,
  1580. +#endif
  1581. .flags = ASYNC_BOOT_AUTOCONF,
  1582. },
  1583. #endif
  1584. @@ -133,7 +147,11 @@ static struct mcf_serial mcfrs_table[] =
  1585. { /* ttyS3 */
  1586. .magic = 0,
  1587. .addr = (volatile unsigned char *) (MCF_MBAR+MCFUART_BASE4),
  1588. +#if defined(CONFIG_M547X_8X)
  1589. + .irq = IRQBASE-3,
  1590. +#else
  1591. .irq = IRQBASE+3,
  1592. +#endif
  1593. .flags = ASYNC_BOOT_AUTOCONF,
  1594. },
  1595. #endif
  1596. @@ -412,7 +430,12 @@ irqreturn_t mcfrs_interrupt(int irq, voi
  1597. struct mcf_serial *info;
  1598. unsigned char isr;
  1599. +/* JKM -- revisit! IRQ compute */
  1600. +#if defined(CONFIG_M547X_8X)
  1601. + info = &mcfrs_table[(IRQBASE - irq)];
  1602. +#else
  1603. info = &mcfrs_table[(irq - IRQBASE)];
  1604. +#endif
  1605. isr = info->addr[MCFUART_UISR] & info->imr;
  1606. if (isr & MCFUART_UIR_RXREADY)
  1607. @@ -1621,6 +1644,22 @@ static void mcfrs_irqinit(struct mcf_ser
  1608. /* GPIOs also must be initalized, depends on board */
  1609. break;
  1610. }
  1611. +#elif defined(CONFIG_M547X_8X)
  1612. + volatile unsigned char *uartp;
  1613. + uartp = (volatile unsigned char *)info->addr;
  1614. +
  1615. + if (info->line > 3) {
  1616. + printk("SERIAL: don't know how to handle UART %d interrupt?\n",
  1617. + info->line);
  1618. + return;
  1619. + }
  1620. +
  1621. + /* Set GPIO port register to enable PSC(port) signals */
  1622. + MCF_PAR_PSCn(info->line) = (0
  1623. + | MCF_PAR_PSC_TXD
  1624. + | MCF_PAR_PSC_RXD);
  1625. +
  1626. + MCF_ICR(info->irq - 64) = ILP_PSCn(info->line);
  1627. #else
  1628. volatile unsigned char *icrp, *uartp;
  1629. @@ -1983,7 +2022,7 @@ struct console mcfrs_console = {
  1630. static int __init mcfrs_console_init(void)
  1631. {
  1632. -#ifndef CONFIG_M54455
  1633. +#if !(defined(CONFIG_M54455) || defined(CONFIG_M547X_8X))
  1634. register_console(&mcfrs_console);
  1635. #endif
  1636. return 0;
  1637. --- a/include/asm-m68k/cf_pgalloc.h
  1638. +++ b/include/asm-m68k/cf_pgalloc.h
  1639. @@ -1,9 +1,14 @@
  1640. #ifndef M68K_CF_PGALLOC_H
  1641. #define M68K_CF_PGALLOC_H
  1642. +/* JKM -- added -- needed? */
  1643. +#include <linux/highmem.h>
  1644. +
  1645. #include <asm/coldfire.h>
  1646. #include <asm/page.h>
  1647. #include <asm/cf_tlbflush.h>
  1648. +/* JKM -- added -- needed? */
  1649. +#include <asm/cf_cacheflush.h>
  1650. extern inline void pte_free_kernel(pte_t *pte)
  1651. {
  1652. --- a/include/asm-m68k/cfcache.h
  1653. +++ b/include/asm-m68k/cfcache.h
  1654. @@ -70,7 +70,33 @@
  1655. /* cache disabled for testing */
  1656. #define CACHE_INITIAL_MODE (CF_CACR_EUSP)
  1657. #endif /* CONFIG_M5445X_DISABLE_CACHE */
  1658. -#endif /* CONFIG_M54455 */
  1659. +
  1660. +#elif defined(CONFIG_M547X_8X)
  1661. +/*
  1662. + * M547x/M548x Cache Configuration
  1663. + * - cache line size is 16 bytes
  1664. + * - cache is 4-way set associative
  1665. + * - each cache has 512 sets (128k / 16bytes / 4way)
  1666. + * - I-Cache size is 32KB
  1667. + * - D-Cache size is 32KB
  1668. + */
  1669. +#define ICACHE_SIZE 0x8000 /* instruction - 32k */
  1670. +#define DCACHE_SIZE 0x8000 /* data - 32k */
  1671. +
  1672. +#define CACHE_LINE_SIZE 0x0010 /* 16 bytes */
  1673. +#define CACHE_SETS 0x0200 /* 512 sets */
  1674. +#define CACHE_WAYS 0x0004 /* 4 way */
  1675. +
  1676. +#define CACHE_DISABLE_MODE (CF_CACR_DCINVA+ \
  1677. + CF_CACR_BCINVA+ \
  1678. + CF_CACR_ICINVA)
  1679. +
  1680. +#define CACHE_INITIAL_MODE (CF_CACR_DEC+ \
  1681. + CF_CACR_BEC+ \
  1682. + CF_CACR_IEC+ \
  1683. + CF_CACR_DESB+ \
  1684. + CF_CACR_EUSP)
  1685. +#endif /* CONFIG_M547X_8X */
  1686. #ifndef __ASSEMBLY__
  1687. --- a/include/asm-m68k/coldfire.h
  1688. +++ b/include/asm-m68k/coldfire.h
  1689. @@ -1,9 +1,16 @@
  1690. #ifndef _COLDFIRE_H_
  1691. #define _COLDFIRE_H_
  1692. +#if defined(CONFIG_M54455)
  1693. #define MCF_MBAR 0x0
  1694. #define MCF_RAMBAR1 0x40000000
  1695. #define MCF_SRAM 0x80000000
  1696. +#elif defined(CONFIG_M547X_8X)
  1697. +#define MCF_MBAR 0xE0000000
  1698. +#define MCF_RAMBAR0 0xE3000000
  1699. +#define MCF_RAMBAR1 0xE3001000
  1700. +#endif
  1701. +
  1702. #define MCF_CLK CONFIG_MCFCLK
  1703. #define MCF_BUSCLK (CONFIG_MCFCLK/2)
  1704. --- /dev/null
  1705. +++ b/include/asm-m68k/m5485gpio.h
  1706. @@ -0,0 +1,694 @@
  1707. +/*
  1708. + * File: mcf548x_gpio.h
  1709. + * Purpose: Register and bit definitions for the MCF548X
  1710. + *
  1711. + * Notes:
  1712. + *
  1713. + */
  1714. +
  1715. +#ifndef _M5485GPIO_H_
  1716. +#define _M5485GPIO_H_
  1717. +
  1718. +/*********************************************************************
  1719. +*
  1720. +* General Purpose I/O (GPIO)
  1721. +*
  1722. +*********************************************************************/
  1723. +
  1724. +/* Register read/write macros */
  1725. +#define MCF_GPIO_PODR_FBCTL MCF_REG08(0x000A00)
  1726. +#define MCF_GPIO_PODR_FBCS MCF_REG08(0x000A01)
  1727. +#define MCF_GPIO_PODR_DMA MCF_REG08(0x000A02)
  1728. +#define MCF_GPIO_PODR_FEC0H MCF_REG08(0x000A04)
  1729. +#define MCF_GPIO_PODR_FEC0L MCF_REG08(0x000A05)
  1730. +#define MCF_GPIO_PODR_FEC1H MCF_REG08(0x000A06)
  1731. +#define MCF_GPIO_PODR_FEC1L MCF_REG08(0x000A07)
  1732. +#define MCF_GPIO_PODR_FECI2C MCF_REG08(0x000A08)
  1733. +#define MCF_GPIO_PODR_PCIBG MCF_REG08(0x000A09)
  1734. +#define MCF_GPIO_PODR_PCIBR MCF_REG08(0x000A0A)
  1735. +#define MCF_GPIO_PODR_PSC3PSC2 MCF_REG08(0x000A0C)
  1736. +#define MCF_GPIO_PODR_PSC1PSC0 MCF_REG08(0x000A0D)
  1737. +#define MCF_GPIO_PODR_DSPI MCF_REG08(0x000A0E)
  1738. +#define MCF_GPIO_PDDR_FBCTL MCF_REG08(0x000A10)
  1739. +#define MCF_GPIO_PDDR_FBCS MCF_REG08(0x000A11)
  1740. +#define MCF_GPIO_PDDR_DMA MCF_REG08(0x000A12)
  1741. +#define MCF_GPIO_PDDR_FEC0H MCF_REG08(0x000A14)
  1742. +#define MCF_GPIO_PDDR_FEC0L MCF_REG08(0x000A15)
  1743. +#define MCF_GPIO_PDDR_FEC1H MCF_REG08(0x000A16)
  1744. +#define MCF_GPIO_PDDR_FEC1L MCF_REG08(0x000A17)
  1745. +#define MCF_GPIO_PDDR_FECI2C MCF_REG08(0x000A18)
  1746. +#define MCF_GPIO_PDDR_PCIBG MCF_REG08(0x000A19)
  1747. +#define MCF_GPIO_PDDR_PCIBR MCF_REG08(0x000A1A)
  1748. +#define MCF_GPIO_PDDR_PSC3PSC2 MCF_REG08(0x000A1C)
  1749. +#define MCF_GPIO_PDDR_PSC1PSC0 MCF_REG08(0x000A1D)
  1750. +#define MCF_GPIO_PDDR_DSPI MCF_REG08(0x000A1E)
  1751. +#define MCF_GPIO_PPDSDR_FBCTL MCF_REG08(0x000A20)
  1752. +#define MCF_GPIO_PPDSDR_FBCS MCF_REG08(0x000A21)
  1753. +#define MCF_GPIO_PPDSDR_DMA MCF_REG08(0x000A22)
  1754. +#define MCF_GPIO_PPDSDR_FEC0H MCF_REG08(0x000A24)
  1755. +#define MCF_GPIO_PPDSDR_FEC0L MCF_REG08(0x000A25)
  1756. +#define MCF_GPIO_PPDSDR_FEC1H MCF_REG08(0x000A26)
  1757. +#define MCF_GPIO_PPDSDR_FEC1L MCF_REG08(0x000A27)
  1758. +#define MCF_GPIO_PPDSDR_FECI2C MCF_REG08(0x000A28)
  1759. +#define MCF_GPIO_PPDSDR_PCIBG MCF_REG08(0x000A29)
  1760. +#define MCF_GPIO_PPDSDR_PCIBR MCF_REG08(0x000A2A)
  1761. +#define MCF_GPIO_PPDSDR_PSC3PSC2 MCF_REG08(0x000A2C)
  1762. +#define MCF_GPIO_PPDSDR_PSC1PSC0 MCF_REG08(0x000A2D)
  1763. +#define MCF_GPIO_PPDSDR_DSPI MCF_REG08(0x000A2E)
  1764. +#define MCF_GPIO_PCLRR_FBCTL MCF_REG08(0x000A30)
  1765. +#define MCF_GPIO_PCLRR_FBCS MCF_REG08(0x000A31)
  1766. +#define MCF_GPIO_PCLRR_DMA MCF_REG08(0x000A32)
  1767. +#define MCF_GPIO_PCLRR_FEC0H MCF_REG08(0x000A34)
  1768. +#define MCF_GPIO_PCLRR_FEC0L MCF_REG08(0x000A35)
  1769. +#define MCF_GPIO_PCLRR_FEC1H MCF_REG08(0x000A36)
  1770. +#define MCF_GPIO_PCLRR_FEC1L MCF_REG08(0x000A37)
  1771. +#define MCF_GPIO_PCLRR_FECI2C MCF_REG08(0x000A38)
  1772. +#define MCF_GPIO_PCLRR_PCIBG MCF_REG08(0x000A39)
  1773. +#define MCF_GPIO_PCLRR_PCIBR MCF_REG08(0x000A3A)
  1774. +#define MCF_GPIO_PCLRR_PSC3PSC2 MCF_REG08(0x000A3C)
  1775. +#define MCF_GPIO_PCLRR_PSC1PSC0 MCF_REG08(0x000A3D)
  1776. +#define MCF_GPIO_PCLRR_DSPI MCF_REG08(0x000A3E)
  1777. +#define MCF_GPIO_PAR_FBCTL MCF_REG16(0x000A40)
  1778. +#define MCF_GPIO_PAR_FBCS MCF_REG08(0x000A42)
  1779. +#define MCF_GPIO_PAR_DMA MCF_REG08(0x000A43)
  1780. +#define MCF_GPIO_PAR_FECI2CIRQ MCF_REG16(0x000A44)
  1781. +#define MCF_GPIO_PAR_PCIBG MCF_REG16(0x000A48)
  1782. +#define MCF_GPIO_PAR_PCIBR MCF_REG16(0x000A4A)
  1783. +#define MCF_GPIO_PAR_PSC3 MCF_REG08(0x000A4C)
  1784. +#define MCF_GPIO_PAR_PSC2 MCF_REG08(0x000A4D)
  1785. +#define MCF_GPIO_PAR_PSC1 MCF_REG08(0x000A4E)
  1786. +#define MCF_GPIO_PAR_PSC0 MCF_REG08(0x000A4F)
  1787. +#define MCF_GPIO_PAR_DSPI MCF_REG16(0x000A50)
  1788. +#define MCF_GPIO_PAR_TIMER MCF_REG08(0x000A52)
  1789. +
  1790. +/* Bit definitions and macros for MCF_GPIO_PODR_FBCTL */
  1791. +#define MCF_GPIO_PODR_FBCTL_PODRFBCTL0 (0x01)
  1792. +#define MCF_GPIO_PODR_FBCTL_PODRFBCTL1 (0x02)
  1793. +#define MCF_GPIO_PODR_FBCTL_PODRFBCTL2 (0x04)
  1794. +#define MCF_GPIO_PODR_FBCTL_PODRFBCTL3 (0x08)
  1795. +#define MCF_GPIO_PODR_FBCTL_PODRFBCTL4 (0x10)
  1796. +#define MCF_GPIO_PODR_FBCTL_PODRFBCTL5 (0x20)
  1797. +#define MCF_GPIO_PODR_FBCTL_PODRFBCTL6 (0x40)
  1798. +#define MCF_GPIO_PODR_FBCTL_PODRFBCTL7 (0x80)
  1799. +
  1800. +/* Bit definitions and macros for MCF_GPIO_PODR_FBCS */
  1801. +#define MCF_GPIO_PODR_FBCS_PODRFBCS1 (0x02)
  1802. +#define MCF_GPIO_PODR_FBCS_PODRFBCS2 (0x04)
  1803. +#define MCF_GPIO_PODR_FBCS_PODRFBCS3 (0x08)
  1804. +#define MCF_GPIO_PODR_FBCS_PODRFBCS4 (0x10)
  1805. +#define MCF_GPIO_PODR_FBCS_PODRFBCS5 (0x20)
  1806. +
  1807. +/* Bit definitions and macros for MCF_GPIO_PODR_DMA */
  1808. +#define MCF_GPIO_PODR_DMA_PODRDMA0 (0x01)
  1809. +#define MCF_GPIO_PODR_DMA_PODRDMA1 (0x02)
  1810. +#define MCF_GPIO_PODR_DMA_PODRDMA2 (0x04)
  1811. +#define MCF_GPIO_PODR_DMA_PODRDMA3 (0x08)
  1812. +
  1813. +/* Bit definitions and macros for MCF_GPIO_PODR_FEC0H */
  1814. +#define MCF_GPIO_PODR_FEC0H_PODRFEC0H0 (0x01)
  1815. +#define MCF_GPIO_PODR_FEC0H_PODRFEC0H1 (0x02)
  1816. +#define MCF_GPIO_PODR_FEC0H_PODRFEC0H2 (0x04)
  1817. +#define MCF_GPIO_PODR_FEC0H_PODRFEC0H3 (0x08)
  1818. +#define MCF_GPIO_PODR_FEC0H_PODRFEC0H4 (0x10)
  1819. +#define MCF_GPIO_PODR_FEC0H_PODRFEC0H5 (0x20)
  1820. +#define MCF_GPIO_PODR_FEC0H_PODRFEC0H6 (0x40)
  1821. +#define MCF_GPIO_PODR_FEC0H_PODRFEC0H7 (0x80)
  1822. +
  1823. +/* Bit definitions and macros for MCF_GPIO_PODR_FEC0L */
  1824. +#define MCF_GPIO_PODR_FEC0L_PODRFEC0L0 (0x01)
  1825. +#define MCF_GPIO_PODR_FEC0L_PODRFEC0L1 (0x02)
  1826. +#define MCF_GPIO_PODR_FEC0L_PODRFEC0L2 (0x04)
  1827. +#define MCF_GPIO_PODR_FEC0L_PODRFEC0L3 (0x08)
  1828. +#define MCF_GPIO_PODR_FEC0L_PODRFEC0L4 (0x10)
  1829. +#define MCF_GPIO_PODR_FEC0L_PODRFEC0L5 (0x20)
  1830. +#define MCF_GPIO_PODR_FEC0L_PODRFEC0L6 (0x40)
  1831. +#define MCF_GPIO_PODR_FEC0L_PODRFEC0L7 (0x80)
  1832. +
  1833. +/* Bit definitions and macros for MCF_GPIO_PODR_FEC1H */
  1834. +#define MCF_GPIO_PODR_FEC1H_PODRFEC1H0 (0x01)
  1835. +#define MCF_GPIO_PODR_FEC1H_PODRFEC1H1 (0x02)
  1836. +#define MCF_GPIO_PODR_FEC1H_PODRFEC1H2 (0x04)
  1837. +#define MCF_GPIO_PODR_FEC1H_PODRFEC1H3 (0x08)
  1838. +#define MCF_GPIO_PODR_FEC1H_PODRFEC1H4 (0x10)
  1839. +#define MCF_GPIO_PODR_FEC1H_PODRFEC1H5 (0x20)
  1840. +#define MCF_GPIO_PODR_FEC1H_PODRFEC1H6 (0x40)
  1841. +#define MCF_GPIO_PODR_FEC1H_PODRFEC1H7 (0x80)
  1842. +
  1843. +/* Bit definitions and macros for MCF_GPIO_PODR_FEC1L */
  1844. +#define MCF_GPIO_PODR_FEC1L_PODRFEC1L0 (0x01)
  1845. +#define MCF_GPIO_PODR_FEC1L_PODRFEC1L1 (0x02)
  1846. +#define MCF_GPIO_PODR_FEC1L_PODRFEC1L2 (0x04)
  1847. +#define MCF_GPIO_PODR_FEC1L_PODRFEC1L3 (0x08)
  1848. +#define MCF_GPIO_PODR_FEC1L_PODRFEC1L4 (0x10)
  1849. +#define MCF_GPIO_PODR_FEC1L_PODRFEC1L5 (0x20)
  1850. +#define MCF_GPIO_PODR_FEC1L_PODRFEC1L6 (0x40)
  1851. +#define MCF_GPIO_PODR_FEC1L_PODRFEC1L7 (0x80)
  1852. +
  1853. +/* Bit definitions and macros for MCF_GPIO_PODR_FECI2C */
  1854. +#define MCF_GPIO_PODR_FECI2C_PODRFECI2C0 (0x01)
  1855. +#define MCF_GPIO_PODR_FECI2C_PODRFECI2C1 (0x02)
  1856. +#define MCF_GPIO_PODR_FECI2C_PODRFECI2C2 (0x04)
  1857. +#define MCF_GPIO_PODR_FECI2C_PODRFECI2C3 (0x08)
  1858. +
  1859. +/* Bit definitions and macros for MCF_GPIO_PODR_PCIBG */
  1860. +#define MCF_GPIO_PODR_PCIBG_PODRPCIBG0 (0x01)
  1861. +#define MCF_GPIO_PODR_PCIBG_PODRPCIBG1 (0x02)
  1862. +#define MCF_GPIO_PODR_PCIBG_PODRPCIBG2 (0x04)
  1863. +#define MCF_GPIO_PODR_PCIBG_PODRPCIBG3 (0x08)
  1864. +#define MCF_GPIO_PODR_PCIBG_PODRPCIBG4 (0x10)
  1865. +
  1866. +/* Bit definitions and macros for MCF_GPIO_PODR_PCIBR */
  1867. +#define MCF_GPIO_PODR_PCIBR_PODRPCIBR0 (0x01)
  1868. +#define MCF_GPIO_PODR_PCIBR_PODRPCIBR1 (0x02)
  1869. +#define MCF_GPIO_PODR_PCIBR_PODRPCIBR2 (0x04)
  1870. +#define MCF_GPIO_PODR_PCIBR_PODRPCIBR3 (0x08)
  1871. +#define MCF_GPIO_PODR_PCIBR_PODRPCIBR4 (0x10)
  1872. +
  1873. +/* Bit definitions and macros for MCF_GPIO_PODR_PSC3PSC2 */
  1874. +#define MCF_GPIO_PODR_PSC3PSC2_PODRPSC3PSC20 (0x01)
  1875. +#define MCF_GPIO_PODR_PSC3PSC2_PODRPSC3PSC21 (0x02)
  1876. +#define MCF_GPIO_PODR_PSC3PSC2_PODRPSC3PSC22 (0x04)
  1877. +#define MCF_GPIO_PODR_PSC3PSC2_PODRPSC3PSC23 (0x08)
  1878. +#define MCF_GPIO_PODR_PSC3PSC2_PODRPSC3PSC24 (0x10)
  1879. +#define MCF_GPIO_PODR_PSC3PSC2_PODRPSC3PSC25 (0x20)
  1880. +#define MCF_GPIO_PODR_PSC3PSC2_PODRPSC3PSC26 (0x40)
  1881. +#define MCF_GPIO_PODR_PSC3PSC2_PODRPSC3PSC27 (0x80)
  1882. +
  1883. +/* Bit definitions and macros for MCF_GPIO_PODR_PSC1PSC0 */
  1884. +#define MCF_GPIO_PODR_PSC1PSC0_PODRPSC1PSC00 (0x01)
  1885. +#define MCF_GPIO_PODR_PSC1PSC0_PODRPSC1PSC01 (0x02)
  1886. +#define MCF_GPIO_PODR_PSC1PSC0_PODRPSC1PSC02 (0x04)
  1887. +#define MCF_GPIO_PODR_PSC1PSC0_PODRPSC1PSC03 (0x08)
  1888. +#define MCF_GPIO_PODR_PSC1PSC0_PODRPSC1PSC04 (0x10)
  1889. +#define MCF_GPIO_PODR_PSC1PSC0_PODRPSC1PSC05 (0x20)
  1890. +#define MCF_GPIO_PODR_PSC1PSC0_PODRPSC1PSC06 (0x40)
  1891. +#define MCF_GPIO_PODR_PSC1PSC0_PODRPSC1PSC07 (0x80)
  1892. +
  1893. +/* Bit definitions and macros for MCF_GPIO_PODR_DSPI */
  1894. +#define MCF_GPIO_PODR_DSPI_PODRDSPI0 (0x01)
  1895. +#define MCF_GPIO_PODR_DSPI_PODRDSPI1 (0x02)
  1896. +#define MCF_GPIO_PODR_DSPI_PODRDSPI2 (0x04)
  1897. +#define MCF_GPIO_PODR_DSPI_PODRDSPI3 (0x08)
  1898. +#define MCF_GPIO_PODR_DSPI_PODRDSPI4 (0x10)
  1899. +#define MCF_GPIO_PODR_DSPI_PODRDSPI5 (0x20)
  1900. +#define MCF_GPIO_PODR_DSPI_PODRDSPI6 (0x40)
  1901. +
  1902. +/* Bit definitions and macros for MCF_GPIO_PDDR_FBCTL */
  1903. +#define MCF_GPIO_PDDR_FBCTL_PDDRFBCTL0 (0x01)
  1904. +#define MCF_GPIO_PDDR_FBCTL_PDDRFBCTL1 (0x02)
  1905. +#define MCF_GPIO_PDDR_FBCTL_PDDRFBCTL2 (0x04)
  1906. +#define MCF_GPIO_PDDR_FBCTL_PDDRFBCTL3 (0x08)
  1907. +#define MCF_GPIO_PDDR_FBCTL_PDDRFBCTL4 (0x10)
  1908. +#define MCF_GPIO_PDDR_FBCTL_PDDRFBCTL5 (0x20)
  1909. +#define MCF_GPIO_PDDR_FBCTL_PDDRFBCTL6 (0x40)
  1910. +#define MCF_GPIO_PDDR_FBCTL_PDDRFBCTL7 (0x80)
  1911. +
  1912. +/* Bit definitions and macros for MCF_GPIO_PDDR_FBCS */
  1913. +#define MCF_GPIO_PDDR_FBCS_PDDRFBCS1 (0x02)
  1914. +#define MCF_GPIO_PDDR_FBCS_PDDRFBCS2 (0x04)
  1915. +#define MCF_GPIO_PDDR_FBCS_PDDRFBCS3 (0x08)
  1916. +#define MCF_GPIO_PDDR_FBCS_PDDRFBCS4 (0x10)
  1917. +#define MCF_GPIO_PDDR_FBCS_PDDRFBCS5 (0x20)
  1918. +
  1919. +/* Bit definitions and macros for MCF_GPIO_PDDR_DMA */
  1920. +#define MCF_GPIO_PDDR_DMA_PDDRDMA0 (0x01)
  1921. +#define MCF_GPIO_PDDR_DMA_PDDRDMA1 (0x02)
  1922. +#define MCF_GPIO_PDDR_DMA_PDDRDMA2 (0x04)
  1923. +#define MCF_GPIO_PDDR_DMA_PDDRDMA3 (0x08)
  1924. +
  1925. +/* Bit definitions and macros for MCF_GPIO_PDDR_FEC0H */
  1926. +#define MCF_GPIO_PDDR_FEC0H_PDDRFEC0H0 (0x01)
  1927. +#define MCF_GPIO_PDDR_FEC0H_PDDRFEC0H1 (0x02)
  1928. +#define MCF_GPIO_PDDR_FEC0H_PDDRFEC0H2 (0x04)
  1929. +#define MCF_GPIO_PDDR_FEC0H_PDDRFEC0H3 (0x08)
  1930. +#define MCF_GPIO_PDDR_FEC0H_PDDRFEC0H4 (0x10)
  1931. +#define MCF_GPIO_PDDR_FEC0H_PDDRFEC0H5 (0x20)
  1932. +#define MCF_GPIO_PDDR_FEC0H_PDDRFEC0H6 (0x40)
  1933. +#define MCF_GPIO_PDDR_FEC0H_PDDRFEC0H7 (0x80)
  1934. +
  1935. +/* Bit definitions and macros for MCF_GPIO_PDDR_FEC0L */
  1936. +#define MCF_GPIO_PDDR_FEC0L_PDDRFEC0L0 (0x01)
  1937. +#define MCF_GPIO_PDDR_FEC0L_PDDRFEC0L1 (0x02)
  1938. +#define MCF_GPIO_PDDR_FEC0L_PDDRFEC0L2 (0x04)
  1939. +#define MCF_GPIO_PDDR_FEC0L_PDDRFEC0L3 (0x08)
  1940. +#define MCF_GPIO_PDDR_FEC0L_PDDRFEC0L4 (0x10)
  1941. +#define MCF_GPIO_PDDR_FEC0L_PDDRFEC0L5 (0x20)
  1942. +#define MCF_GPIO_PDDR_FEC0L_PDDRFEC0L6 (0x40)
  1943. +#define MCF_GPIO_PDDR_FEC0L_PDDRFEC0L7 (0x80)
  1944. +
  1945. +/* Bit definitions and macros for MCF_GPIO_PDDR_FEC1H */
  1946. +#define MCF_GPIO_PDDR_FEC1H_PDDRFEC1H0 (0x01)
  1947. +#define MCF_GPIO_PDDR_FEC1H_PDDRFEC1H1 (0x02)
  1948. +#define MCF_GPIO_PDDR_FEC1H_PDDRFEC1H2 (0x04)
  1949. +#define MCF_GPIO_PDDR_FEC1H_PDDRFEC1H3 (0x08)
  1950. +#define MCF_GPIO_PDDR_FEC1H_PDDRFEC1H4 (0x10)
  1951. +#define MCF_GPIO_PDDR_FEC1H_PDDRFEC1H5 (0x20)
  1952. +#define MCF_GPIO_PDDR_FEC1H_PDDRFEC1H6 (0x40)
  1953. +#define MCF_GPIO_PDDR_FEC1H_PDDRFEC1H7 (0x80)
  1954. +
  1955. +/* Bit definitions and macros for MCF_GPIO_PDDR_FEC1L */
  1956. +#define MCF_GPIO_PDDR_FEC1L_PDDRFEC1L0 (0x01)
  1957. +#define MCF_GPIO_PDDR_FEC1L_PDDRFEC1L1 (0x02)
  1958. +#define MCF_GPIO_PDDR_FEC1L_PDDRFEC1L2 (0x04)
  1959. +#define MCF_GPIO_PDDR_FEC1L_PDDRFEC1L3 (0x08)
  1960. +#define MCF_GPIO_PDDR_FEC1L_PDDRFEC1L4 (0x10)
  1961. +#define MCF_GPIO_PDDR_FEC1L_PDDRFEC1L5 (0x20)
  1962. +#define MCF_GPIO_PDDR_FEC1L_PDDRFEC1L6 (0x40)
  1963. +#define MCF_GPIO_PDDR_FEC1L_PDDRFEC1L7 (0x80)
  1964. +
  1965. +/* Bit definitions and macros for MCF_GPIO_PDDR_FECI2C */
  1966. +#define MCF_GPIO_PDDR_FECI2C_PDDRFECI2C0 (0x01)
  1967. +#define MCF_GPIO_PDDR_FECI2C_PDDRFECI2C1 (0x02)
  1968. +#define MCF_GPIO_PDDR_FECI2C_PDDRFECI2C2 (0x04)
  1969. +#define MCF_GPIO_PDDR_FECI2C_PDDRFECI2C3 (0x08)
  1970. +
  1971. +/* Bit definitions and macros for MCF_GPIO_PDDR_PCIBG */
  1972. +#define MCF_GPIO_PDDR_PCIBG_PDDRPCIBG0 (0x01)
  1973. +#define MCF_GPIO_PDDR_PCIBG_PDDRPCIBG1 (0x02)
  1974. +#define MCF_GPIO_PDDR_PCIBG_PDDRPCIBG2 (0x04)
  1975. +#define MCF_GPIO_PDDR_PCIBG_PDDRPCIBG3 (0x08)
  1976. +#define MCF_GPIO_PDDR_PCIBG_PDDRPCIBG4 (0x10)
  1977. +
  1978. +/* Bit definitions and macros for MCF_GPIO_PDDR_PCIBR */
  1979. +#define MCF_GPIO_PDDR_PCIBR_PDDRPCIBR0 (0x01)
  1980. +#define MCF_GPIO_PDDR_PCIBR_PDDRPCIBR1 (0x02)
  1981. +#define MCF_GPIO_PDDR_PCIBR_PDDRPCIBR2 (0x04)
  1982. +#define MCF_GPIO_PDDR_PCIBR_PDDRPCIBR3 (0x08)
  1983. +#define MCF_GPIO_PDDR_PCIBR_PDDRPCIBR4 (0x10)
  1984. +
  1985. +/* Bit definitions and macros for MCF_GPIO_PDDR_PSC3PSC2 */
  1986. +#define MCF_GPIO_PDDR_PSC3PSC2_PDDRPSC3PSC20 (0x01)
  1987. +#define MCF_GPIO_PDDR_PSC3PSC2_PDDRPSC3PSC21 (0x02)
  1988. +#define MCF_GPIO_PDDR_PSC3PSC2_PDDRPSC3PSC22 (0x04)
  1989. +#define MCF_GPIO_PDDR_PSC3PSC2_PDDRPSC3PSC23 (0x08)
  1990. +#define MCF_GPIO_PDDR_PSC3PSC2_PDDRPSC3PSC24 (0x10)
  1991. +#define MCF_GPIO_PDDR_PSC3PSC2_PDDRPSC3PSC25 (0x20)
  1992. +#define MCF_GPIO_PDDR_PSC3PSC2_PDDRPSC3PSC26 (0x40)
  1993. +#define MCF_GPIO_PDDR_PSC3PSC2_PDDRPSC3PSC27 (0x80)
  1994. +
  1995. +/* Bit definitions and macros for MCF_GPIO_PDDR_PSC1PSC0 */
  1996. +#define MCF_GPIO_PDDR_PSC1PSC0_PDDRPSC1PSC00 (0x01)
  1997. +#define MCF_GPIO_PDDR_PSC1PSC0_PDDRPSC1PSC01 (0x02)
  1998. +#define MCF_GPIO_PDDR_PSC1PSC0_PDDRPSC1PSC02 (0x04)
  1999. +#define MCF_GPIO_PDDR_PSC1PSC0_PDDRPSC1PSC03 (0x08)
  2000. +#define MCF_GPIO_PDDR_PSC1PSC0_PDDRPSC1PSC04 (0x10)
  2001. +#define MCF_GPIO_PDDR_PSC1PSC0_PDDRPSC1PSC05 (0x20)
  2002. +#define MCF_GPIO_PDDR_PSC1PSC0_PDDRPSC1PSC06 (0x40)
  2003. +#define MCF_GPIO_PDDR_PSC1PSC0_PDDRPSC1PSC07 (0x80)
  2004. +
  2005. +/* Bit definitions and macros for MCF_GPIO_PDDR_DSPI */
  2006. +#define MCF_GPIO_PDDR_DSPI_PDDRDSPI0 (0x01)
  2007. +#define MCF_GPIO_PDDR_DSPI_PDDRDSPI1 (0x02)
  2008. +#define MCF_GPIO_PDDR_DSPI_PDDRDSPI2 (0x04)
  2009. +#define MCF_GPIO_PDDR_DSPI_PDDRDSPI3 (0x08)
  2010. +#define MCF_GPIO_PDDR_DSPI_PDDRDSPI4 (0x10)
  2011. +#define MCF_GPIO_PDDR_DSPI_PDDRDSPI5 (0x20)
  2012. +#define MCF_GPIO_PDDR_DSPI_PDDRDSPI6 (0x40)
  2013. +
  2014. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_FBCTL */
  2015. +#define MCF_GPIO_PPDSDR_FBCTL_PPDSDRFBCTL0 (0x01)
  2016. +#define MCF_GPIO_PPDSDR_FBCTL_PPDSDRFBCTL1 (0x02)
  2017. +#define MCF_GPIO_PPDSDR_FBCTL_PPDSDRFBCTL2 (0x04)
  2018. +#define MCF_GPIO_PPDSDR_FBCTL_PPDSDRFBCTL3 (0x08)
  2019. +#define MCF_GPIO_PPDSDR_FBCTL_PPDSDRFBCTL4 (0x10)
  2020. +#define MCF_GPIO_PPDSDR_FBCTL_PPDSDRFBCTL5 (0x20)
  2021. +#define MCF_GPIO_PPDSDR_FBCTL_PPDSDRFBCTL6 (0x40)
  2022. +#define MCF_GPIO_PPDSDR_FBCTL_PPDSDRFBCTL7 (0x80)
  2023. +
  2024. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_FBCS */
  2025. +#define MCF_GPIO_PPDSDR_FBCS_PPDSDRFBCS1 (0x02)
  2026. +#define MCF_GPIO_PPDSDR_FBCS_PPDSDRFBCS2 (0x04)
  2027. +#define MCF_GPIO_PPDSDR_FBCS_PPDSDRFBCS3 (0x08)
  2028. +#define MCF_GPIO_PPDSDR_FBCS_PPDSDRFBCS4 (0x10)
  2029. +#define MCF_GPIO_PPDSDR_FBCS_PPDSDRFBCS5 (0x20)
  2030. +
  2031. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_DMA */
  2032. +#define MCF_GPIO_PPDSDR_DMA_PPDSDRDMA0 (0x01)
  2033. +#define MCF_GPIO_PPDSDR_DMA_PPDSDRDMA1 (0x02)
  2034. +#define MCF_GPIO_PPDSDR_DMA_PPDSDRDMA2 (0x04)
  2035. +#define MCF_GPIO_PPDSDR_DMA_PPDSDRDMA3 (0x08)
  2036. +
  2037. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_FEC0H */
  2038. +#define MCF_GPIO_PPDSDR_FEC0H_PPDSDRFEC0H0 (0x01)
  2039. +#define MCF_GPIO_PPDSDR_FEC0H_PPDSDRFEC0H1 (0x02)
  2040. +#define MCF_GPIO_PPDSDR_FEC0H_PPDSDRFEC0H2 (0x04)
  2041. +#define MCF_GPIO_PPDSDR_FEC0H_PPDSDRFEC0H3 (0x08)
  2042. +#define MCF_GPIO_PPDSDR_FEC0H_PPDSDRFEC0H4 (0x10)
  2043. +#define MCF_GPIO_PPDSDR_FEC0H_PPDSDRFEC0H5 (0x20)
  2044. +#define MCF_GPIO_PPDSDR_FEC0H_PPDSDRFEC0H6 (0x40)
  2045. +#define MCF_GPIO_PPDSDR_FEC0H_PPDSDRFEC0H7 (0x80)
  2046. +
  2047. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_FEC0L */
  2048. +#define MCF_GPIO_PPDSDR_FEC0L_PPDSDRFEC0L0 (0x01)
  2049. +#define MCF_GPIO_PPDSDR_FEC0L_PPDSDRFEC0L1 (0x02)
  2050. +#define MCF_GPIO_PPDSDR_FEC0L_PPDSDRFEC0L2 (0x04)
  2051. +#define MCF_GPIO_PPDSDR_FEC0L_PPDSDRFEC0L3 (0x08)
  2052. +#define MCF_GPIO_PPDSDR_FEC0L_PPDSDRFEC0L4 (0x10)
  2053. +#define MCF_GPIO_PPDSDR_FEC0L_PPDSDRFEC0L5 (0x20)
  2054. +#define MCF_GPIO_PPDSDR_FEC0L_PPDSDRFEC0L6 (0x40)
  2055. +#define MCF_GPIO_PPDSDR_FEC0L_PPDSDRFEC0L7 (0x80)
  2056. +
  2057. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_FEC1H */
  2058. +#define MCF_GPIO_PPDSDR_FEC1H_PPDSDRFEC1H0 (0x01)
  2059. +#define MCF_GPIO_PPDSDR_FEC1H_PPDSDRFEC1H1 (0x02)
  2060. +#define MCF_GPIO_PPDSDR_FEC1H_PPDSDRFEC1H2 (0x04)
  2061. +#define MCF_GPIO_PPDSDR_FEC1H_PPDSDRFEC1H3 (0x08)
  2062. +#define MCF_GPIO_PPDSDR_FEC1H_PPDSDRFEC1H4 (0x10)
  2063. +#define MCF_GPIO_PPDSDR_FEC1H_PPDSDRFEC1H5 (0x20)
  2064. +#define MCF_GPIO_PPDSDR_FEC1H_PPDSDRFEC1H6 (0x40)
  2065. +#define MCF_GPIO_PPDSDR_FEC1H_PPDSDRFEC1H7 (0x80)
  2066. +
  2067. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_FEC1L */
  2068. +#define MCF_GPIO_PPDSDR_FEC1L_PPDSDRFEC1L0 (0x01)
  2069. +#define MCF_GPIO_PPDSDR_FEC1L_PPDSDRFEC1L1 (0x02)
  2070. +#define MCF_GPIO_PPDSDR_FEC1L_PPDSDRFEC1L2 (0x04)
  2071. +#define MCF_GPIO_PPDSDR_FEC1L_PPDSDRFEC1L3 (0x08)
  2072. +#define MCF_GPIO_PPDSDR_FEC1L_PPDSDRFEC1L4 (0x10)
  2073. +#define MCF_GPIO_PPDSDR_FEC1L_PPDSDRFEC1L5 (0x20)
  2074. +#define MCF_GPIO_PPDSDR_FEC1L_PPDSDRFEC1L6 (0x40)
  2075. +#define MCF_GPIO_PPDSDR_FEC1L_PPDSDRFEC1L7 (0x80)
  2076. +
  2077. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_FECI2C */
  2078. +#define MCF_GPIO_PPDSDR_FECI2C_PPDSDRFECI2C0 (0x01)
  2079. +#define MCF_GPIO_PPDSDR_FECI2C_PPDSDRFECI2C1 (0x02)
  2080. +#define MCF_GPIO_PPDSDR_FECI2C_PPDSDRFECI2C2 (0x04)
  2081. +#define MCF_GPIO_PPDSDR_FECI2C_PPDSDRFECI2C3 (0x08)
  2082. +
  2083. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_PCIBG */
  2084. +#define MCF_GPIO_PPDSDR_PCIBG_PPDSDRPCIBG0 (0x01)
  2085. +#define MCF_GPIO_PPDSDR_PCIBG_PPDSDRPCIBG1 (0x02)
  2086. +#define MCF_GPIO_PPDSDR_PCIBG_PPDSDRPCIBG2 (0x04)
  2087. +#define MCF_GPIO_PPDSDR_PCIBG_PPDSDRPCIBG3 (0x08)
  2088. +#define MCF_GPIO_PPDSDR_PCIBG_PPDSDRPCIBG4 (0x10)
  2089. +
  2090. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_PCIBR */
  2091. +#define MCF_GPIO_PPDSDR_PCIBR_PPDSDRPCIBR0 (0x01)
  2092. +#define MCF_GPIO_PPDSDR_PCIBR_PPDSDRPCIBR1 (0x02)
  2093. +#define MCF_GPIO_PPDSDR_PCIBR_PPDSDRPCIBR2 (0x04)
  2094. +#define MCF_GPIO_PPDSDR_PCIBR_PPDSDRPCIBR3 (0x08)
  2095. +#define MCF_GPIO_PPDSDR_PCIBR_PPDSDRPCIBR4 (0x10)
  2096. +
  2097. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_PSC3PSC2 */
  2098. +#define MCF_GPIO_PPDSDR_PSC3PSC2_PPDSDRPSC3PSC20 (0x01)
  2099. +#define MCF_GPIO_PPDSDR_PSC3PSC2_PPDSDRPSC3PSC21 (0x02)
  2100. +#define MCF_GPIO_PPDSDR_PSC3PSC2_PPDSDRPSC3PSC22 (0x04)
  2101. +#define MCF_GPIO_PPDSDR_PSC3PSC2_PPDSDRPSC3PSC23 (0x08)
  2102. +#define MCF_GPIO_PPDSDR_PSC3PSC2_PDDRPSC3PSC24 (0x10)
  2103. +#define MCF_GPIO_PPDSDR_PSC3PSC2_PDDRPSC3PSC25 (0x20)
  2104. +#define MCF_GPIO_PPDSDR_PSC3PSC2_PPDSDRPSC3PSC26 (0x40)
  2105. +#define MCF_GPIO_PPDSDR_PSC3PSC2_PPDSDRPSC3PSC27 (0x80)
  2106. +
  2107. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_PSC1PSC0 */
  2108. +#define MCF_GPIO_PPDSDR_PSC1PSC0_PPDSDRPSC1PSC00 (0x01)
  2109. +#define MCF_GPIO_PPDSDR_PSC1PSC0_PDDRPSC1PSC01 (0x02)
  2110. +#define MCF_GPIO_PPDSDR_PSC1PSC0_PPDSDRPSC1PSC02 (0x04)
  2111. +#define MCF_GPIO_PPDSDR_PSC1PSC0_PDDRPSC1PSC03 (0x08)
  2112. +#define MCF_GPIO_PPDSDR_PSC1PSC0_PPDSDRPSC1PSC04 (0x10)
  2113. +#define MCF_GPIO_PPDSDR_PSC1PSC0_PPDSDRPSC1PSC05 (0x20)
  2114. +#define MCF_GPIO_PPDSDR_PSC1PSC0_PPDSDRPSC1PSC06 (0x40)
  2115. +#define MCF_GPIO_PPDSDR_PSC1PSC0_PPDSDRPSC1PSC07 (0x80)
  2116. +
  2117. +/* Bit definitions and macros for MCF_GPIO_PPDSDR_DSPI */
  2118. +#define MCF_GPIO_PPDSDR_DSPI_PPDSDRDSPI0 (0x01)
  2119. +#define MCF_GPIO_PPDSDR_DSPI_PPDSDRDSPI1 (0x02)
  2120. +#define MCF_GPIO_PPDSDR_DSPI_PPDSDRDSPI2 (0x04)
  2121. +#define MCF_GPIO_PPDSDR_DSPI_PPDSDRDSPI3 (0x08)
  2122. +#define MCF_GPIO_PPDSDR_DSPI_PDDRDSPI4 (0x10)
  2123. +#define MCF_GPIO_PPDSDR_DSPI_PPDSDRDSPI5 (0x20)
  2124. +#define MCF_GPIO_PPDSDR_DSPI_PPDSDRDSPI6 (0x40)
  2125. +
  2126. +/* Bit definitions and macros for MCF_GPIO_PCLRR_FBCTL */
  2127. +#define MCF_GPIO_PCLRR_FBCTL_PCLRRFBCTL0 (0x01)
  2128. +#define MCF_GPIO_PCLRR_FBCTL_PCLRRFBCTL1 (0x02)
  2129. +#define MCF_GPIO_PCLRR_FBCTL_PCLRRFBCTL2 (0x04)
  2130. +#define MCF_GPIO_PCLRR_FBCTL_PCLRRFBCTL3 (0x08)
  2131. +#define MCF_GPIO_PCLRR_FBCTL_PCLRRFBCTL4 (0x10)
  2132. +#define MCF_GPIO_PCLRR_FBCTL_PCLRRFBCTL5 (0x20)
  2133. +#define MCF_GPIO_PCLRR_FBCTL_PCLRRFBCTL6 (0x40)
  2134. +#define MCF_GPIO_PCLRR_FBCTL_PCLRRFBCTL7 (0x80)
  2135. +
  2136. +/* Bit definitions and macros for MCF_GPIO_PCLRR_FBCS */
  2137. +#define MCF_GPIO_PCLRR_FBCS_PCLRRFBCS1 (0x02)
  2138. +#define MCF_GPIO_PCLRR_FBCS_PCLRRFBCS2 (0x04)
  2139. +#define MCF_GPIO_PCLRR_FBCS_PCLRRFBCS3 (0x08)
  2140. +#define MCF_GPIO_PCLRR_FBCS_PCLRRFBCS4 (0x10)
  2141. +#define MCF_GPIO_PCLRR_FBCS_PCLRRFBCS5 (0x20)
  2142. +
  2143. +/* Bit definitions and macros for MCF_GPIO_PCLRR_DMA */
  2144. +#define MCF_GPIO_PCLRR_DMA_PCLRRDMA0 (0x01)
  2145. +#define MCF_GPIO_PCLRR_DMA_PCLRRDMA1 (0x02)
  2146. +#define MCF_GPIO_PCLRR_DMA_PCLRRDMA2 (0x04)
  2147. +#define MCF_GPIO_PCLRR_DMA_PCLRRDMA3 (0x08)
  2148. +
  2149. +/* Bit definitions and macros for MCF_GPIO_PCLRR_FEC0H */
  2150. +#define MCF_GPIO_PCLRR_FEC0H_PCLRRFEC0H0 (0x01)
  2151. +#define MCF_GPIO_PCLRR_FEC0H_PCLRRFEC0H1 (0x02)
  2152. +#define MCF_GPIO_PCLRR_FEC0H_PCLRRFEC0H2 (0x04)
  2153. +#define MCF_GPIO_PCLRR_FEC0H_PCLRRFEC0H3 (0x08)
  2154. +#define MCF_GPIO_PCLRR_FEC0H_PCLRRFEC0H4 (0x10)
  2155. +#define MCF_GPIO_PCLRR_FEC0H_PCLRRFEC0H5 (0x20)
  2156. +#define MCF_GPIO_PCLRR_FEC0H_PCLRRFEC0H6 (0x40)
  2157. +#define MCF_GPIO_PCLRR_FEC0H_PCLRRFEC0H7 (0x80)
  2158. +
  2159. +/* Bit definitions and macros for MCF_GPIO_PCLRR_FEC0L */
  2160. +#define MCF_GPIO_PCLRR_FEC0L_PCLRRFEC0L0 (0x01)
  2161. +#define MCF_GPIO_PCLRR_FEC0L_PODRFEC0L1 (0x02)
  2162. +#define MCF_GPIO_PCLRR_FEC0L_PCLRRFEC0L2 (0x04)
  2163. +#define MCF_GPIO_PCLRR_FEC0L_PCLRRFEC0L3 (0x08)
  2164. +#define MCF_GPIO_PCLRR_FEC0L_PODRFEC0L4 (0x10)
  2165. +#define MCF_GPIO_PCLRR_FEC0L_PODRFEC0L5 (0x20)
  2166. +#define MCF_GPIO_PCLRR_FEC0L_PODRFEC0L6 (0x40)
  2167. +#define MCF_GPIO_PCLRR_FEC0L_PCLRRFEC0L7 (0x80)
  2168. +
  2169. +/* Bit definitions and macros for MCF_GPIO_PCLRR_FEC1H */
  2170. +#define MCF_GPIO_PCLRR_FEC1H_PCLRRFEC1H0 (0x01)
  2171. +#define MCF_GPIO_PCLRR_FEC1H_PCLRRFEC1H1 (0x02)
  2172. +#define MCF_GPIO_PCLRR_FEC1H_PCLRRFEC1H2 (0x04)
  2173. +#define MCF_GPIO_PCLRR_FEC1H_PODRFEC1H3 (0x08)
  2174. +#define MCF_GPIO_PCLRR_FEC1H_PODRFEC1H4 (0x10)
  2175. +#define MCF_GPIO_PCLRR_FEC1H_PCLRRFEC1H5 (0x20)
  2176. +#define MCF_GPIO_PCLRR_FEC1H_PCLRRFEC1H6 (0x40)
  2177. +#define MCF_GPIO_PCLRR_FEC1H_PCLRRFEC1H7 (0x80)
  2178. +
  2179. +/* Bit definitions and macros for MCF_GPIO_PCLRR_FEC1L */
  2180. +#define MCF_GPIO_PCLRR_FEC1L_PCLRRFEC1L0 (0x01)
  2181. +#define MCF_GPIO_PCLRR_FEC1L_PCLRRFEC1L1 (0x02)
  2182. +#define MCF_GPIO_PCLRR_FEC1L_PCLRRFEC1L2 (0x04)
  2183. +#define MCF_GPIO_PCLRR_FEC1L_PCLRRFEC1L3 (0x08)
  2184. +#define MCF_GPIO_PCLRR_FEC1L_PODRFEC1L4 (0x10)
  2185. +#define MCF_GPIO_PCLRR_FEC1L_PCLRRFEC1L5 (0x20)
  2186. +#define MCF_GPIO_PCLRR_FEC1L_PCLRRFEC1L6 (0x40)
  2187. +#define MCF_GPIO_PCLRR_FEC1L_PCLRRFEC1L7 (0x80)
  2188. +
  2189. +/* Bit definitions and macros for MCF_GPIO_PCLRR_FECI2C */
  2190. +#define MCF_GPIO_PCLRR_FECI2C_PCLRRFECI2C0 (0x01)
  2191. +#define MCF_GPIO_PCLRR_FECI2C_PCLRRFECI2C1 (0x02)
  2192. +#define MCF_GPIO_PCLRR_FECI2C_PODRFECI2C2 (0x04)
  2193. +#define MCF_GPIO_PCLRR_FECI2C_PCLRRFECI2C3 (0x08)
  2194. +
  2195. +/* Bit definitions and macros for MCF_GPIO_PCLRR_PCIBG */
  2196. +#define MCF_GPIO_PCLRR_PCIBG_PODRPCIBG0 (0x01)
  2197. +#define MCF_GPIO_PCLRR_PCIBG_PODRPCIBG1 (0x02)
  2198. +#define MCF_GPIO_PCLRR_PCIBG_PODRPCIBG2 (0x04)
  2199. +#define MCF_GPIO_PCLRR_PCIBG_PCLRRPCIBG3 (0x08)
  2200. +#define MCF_GPIO_PCLRR_PCIBG_PCLRRPCIBG4 (0x10)
  2201. +
  2202. +/* Bit definitions and macros for MCF_GPIO_PCLRR_PCIBR */
  2203. +#define MCF_GPIO_PCLRR_PCIBR_PCLRRPCIBR0 (0x01)
  2204. +#define MCF_GPIO_PCLRR_PCIBR_PCLRRPCIBR1 (0x02)
  2205. +#define MCF_GPIO_PCLRR_PCIBR_PCLRRPCIBR2 (0x04)
  2206. +#define MCF_GPIO_PCLRR_PCIBR_PODRPCIBR3 (0x08)
  2207. +#define MCF_GPIO_PCLRR_PCIBR_PODRPCIBR4 (0x10)
  2208. +
  2209. +/* Bit definitions and macros for MCF_GPIO_PCLRR_PSC3PSC2 */
  2210. +#define MCF_GPIO_PCLRR_PSC3PSC2_PODRPSC3PSC20 (0x01)
  2211. +#define MCF_GPIO_PCLRR_PSC3PSC2_PODRPSC3PSC21 (0x02)
  2212. +#define MCF_GPIO_PCLRR_PSC3PSC2_PCLRRPSC3PSC22 (0x04)
  2213. +#define MCF_GPIO_PCLRR_PSC3PSC2_PCLRRPSC3PSC23 (0x08)
  2214. +#define MCF_GPIO_PCLRR_PSC3PSC2_PCLRRPSC3PSC24 (0x10)
  2215. +#define MCF_GPIO_PCLRR_PSC3PSC2_PODRPSC3PSC25 (0x20)
  2216. +#define MCF_GPIO_PCLRR_PSC3PSC2_PODRPSC3PSC26 (0x40)
  2217. +#define MCF_GPIO_PCLRR_PSC3PSC2_PCLRRPSC3PSC27 (0x80)
  2218. +
  2219. +/* Bit definitions and macros for MCF_GPIO_PCLRR_PSC1PSC0 */
  2220. +#define MCF_GPIO_PCLRR_PSC1PSC0_PCLRRPSC1PSC00 (0x01)
  2221. +#define MCF_GPIO_PCLRR_PSC1PSC0_PCLRRPSC1PSC01 (0x02)
  2222. +#define MCF_GPIO_PCLRR_PSC1PSC0_PCLRRPSC1PSC02 (0x04)
  2223. +#define MCF_GPIO_PCLRR_PSC1PSC0_PCLRRPSC1PSC03 (0x08)
  2224. +#define MCF_GPIO_PCLRR_PSC1PSC0_PCLRRPSC1PSC04 (0x10)
  2225. +#define MCF_GPIO_PCLRR_PSC1PSC0_PCLRRPSC1PSC05 (0x20)
  2226. +#define MCF_GPIO_PCLRR_PSC1PSC0_PODRPSC1PSC06 (0x40)
  2227. +#define MCF_GPIO_PCLRR_PSC1PSC0_PCLRRPSC1PSC07 (0x80)
  2228. +
  2229. +/* Bit definitions and macros for MCF_GPIO_PCLRR_DSPI */
  2230. +#define MCF_GPIO_PCLRR_DSPI_PCLRRDSPI0 (0x01)
  2231. +#define MCF_GPIO_PCLRR_DSPI_PCLRRDSPI1 (0x02)
  2232. +#define MCF_GPIO_PCLRR_DSPI_PCLRRDSPI2 (0x04)
  2233. +#define MCF_GPIO_PCLRR_DSPI_PCLRRDSPI3 (0x08)
  2234. +#define MCF_GPIO_PCLRR_DSPI_PCLRRDSPI4 (0x10)
  2235. +#define MCF_GPIO_PCLRR_DSPI_PCLRRDSPI5 (0x20)
  2236. +#define MCF_GPIO_PCLRR_DSPI_PCLRRDSPI6 (0x40)
  2237. +
  2238. +/* Bit definitions and macros for MCF_GPIO_PAR_FBCTL */
  2239. +#define MCF_GPIO_PAR_FBCTL_PAR_TS(x) (((x)&0x0003)<<0)
  2240. +#define MCF_GPIO_PAR_FBCTL_PAR_TA (0x0004)
  2241. +#define MCF_GPIO_PAR_FBCTL_PAR_RWB (0x0010)
  2242. +#define MCF_GPIO_PAR_FBCTL_PAR_OE (0x0040)
  2243. +#define MCF_GPIO_PAR_FBCTL_PAR_BWE0 (0x0100)
  2244. +#define MCF_GPIO_PAR_FBCTL_PAR_BWE1 (0x0400)
  2245. +#define MCF_GPIO_PAR_FBCTL_PAR_BWE2 (0x1000)
  2246. +#define MCF_GPIO_PAR_FBCTL_PAR_BWE3 (0x4000)
  2247. +#define MCF_GPIO_PAR_FBCTL_PAR_TS_GPIO (0)
  2248. +#define MCF_GPIO_PAR_FBCTL_PAR_TS_TBST (2)
  2249. +#define MCF_GPIO_PAR_FBCTL_PAR_TS_TS (3)
  2250. +
  2251. +/* Bit definitions and macros for MCF_GPIO_PAR_FBCS */
  2252. +#define MCF_GPIO_PAR_FBCS_PAR_CS1 (0x02)
  2253. +#define MCF_GPIO_PAR_FBCS_PAR_CS2 (0x04)
  2254. +#define MCF_GPIO_PAR_FBCS_PAR_CS3 (0x08)
  2255. +#define MCF_GPIO_PAR_FBCS_PAR_CS4 (0x10)
  2256. +#define MCF_GPIO_PAR_FBCS_PAR_CS5 (0x20)
  2257. +
  2258. +/* Bit definitions and macros for MCF_GPIO_PAR_DMA */
  2259. +#define MCF_GPIO_PAR_DMA_PAR_DREQ0(x) (((x)&0x03)<<0)
  2260. +#define MCF_GPIO_PAR_DMA_PAR_DREQ1(x) (((x)&0x03)<<2)
  2261. +#define MCF_GPIO_PAR_DMA_PAR_DACK0(x) (((x)&0x03)<<4)
  2262. +#define MCF_GPIO_PAR_DMA_PAR_DACK1(x) (((x)&0x03)<<6)
  2263. +#define MCF_GPIO_PAR_DMA_PAR_DACKx_GPIO (0)
  2264. +#define MCF_GPIO_PAR_DMA_PAR_DACKx_TOUT (2)
  2265. +#define MCF_GPIO_PAR_DMA_PAR_DACKx_DACK (3)
  2266. +#define MCF_GPIO_PAR_DMA_PAR_DREQx_GPIO (0)
  2267. +#define MCF_GPIO_PAR_DMA_PAR_DREQx_TIN (2)
  2268. +#define MCF_GPIO_PAR_DMA_PAR_DREQx_DREQ (3)
  2269. +
  2270. +/* Bit definitions and macros for MCF_GPIO_PAR_FECI2CIRQ */
  2271. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_IRQ5 (0x0001)
  2272. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_IRQ6 (0x0002)
  2273. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_SCL (0x0004)
  2274. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_SDA (0x0008)
  2275. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MDC(x) (((x)&0x0003)<<6)
  2276. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MDIO(x) (((x)&0x0003)<<8)
  2277. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MII (0x0400)
  2278. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E17 (0x0800)
  2279. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E0MDC (0x1000)
  2280. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E0MDIO (0x2000)
  2281. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E0MII (0x4000)
  2282. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E07 (0x8000)
  2283. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MDIO_CANRX (0x0000)
  2284. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MDIO_SDA (0x0200)
  2285. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MDIO_EMDIO (0x0300)
  2286. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MDC_CANTX (0x0000)
  2287. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MDC_SCL (0x0080)
  2288. +#define MCF_GPIO_PAR_FECI2CIRQ_PAR_E1MDC_EMDC (0x00C0)
  2289. +
  2290. +/* Bit definitions and macros for MCF_GPIO_PAR_PCIBG */
  2291. +#define MCF_GPIO_PAR_PCIBG_PAR_PCIBG0(x) (((x)&0x0003)<<0)
  2292. +#define MCF_GPIO_PAR_PCIBG_PAR_PCIBG1(x) (((x)&0x0003)<<2)
  2293. +#define MCF_GPIO_PAR_PCIBG_PAR_PCIBG2(x) (((x)&0x0003)<<4)
  2294. +#define MCF_GPIO_PAR_PCIBG_PAR_PCIBG3(x) (((x)&0x0003)<<6)
  2295. +#define MCF_GPIO_PAR_PCIBG_PAR_PCIBG4(x) (((x)&0x0003)<<8)
  2296. +
  2297. +/* Bit definitions and macros for MCF_GPIO_PAR_PCIBR */
  2298. +#define MCF_GPIO_PAR_PCIBR_PAR_PCIBG0(x) (((x)&0x0003)<<0)
  2299. +#define MCF_GPIO_PAR_PCIBR_PAR_PCIBG1(x) (((x)&0x0003)<<2)
  2300. +#define MCF_GPIO_PAR_PCIBR_PAR_PCIBG2(x) (((x)&0x0003)<<4)
  2301. +#define MCF_GPIO_PAR_PCIBR_PAR_PCIBG3(x) (((x)&0x0003)<<6)
  2302. +#define MCF_GPIO_PAR_PCIBR_PAR_PCIBR4(x) (((x)&0x0003)<<8)
  2303. +
  2304. +/* Bit definitions and macros for MCF_GPIO_PAR_PSC3 */
  2305. +#define MCF_GPIO_PAR_PSC3_PAR_TXD3 (0x04)
  2306. +#define MCF_GPIO_PAR_PSC3_PAR_RXD3 (0x08)
  2307. +#define MCF_GPIO_PAR_PSC3_PAR_RTS3(x) (((x)&0x03)<<4)
  2308. +#define MCF_GPIO_PAR_PSC3_PAR_CTS3(x) (((x)&0x03)<<6)
  2309. +#define MCF_GPIO_PAR_PSC3_PAR_CTS3_GPIO (0x00)
  2310. +#define MCF_GPIO_PAR_PSC3_PAR_CTS3_BCLK (0x80)
  2311. +#define MCF_GPIO_PAR_PSC3_PAR_CTS3_CTS (0xC0)
  2312. +#define MCF_GPIO_PAR_PSC3_PAR_RTS3_GPIO (0x00)
  2313. +#define MCF_GPIO_PAR_PSC3_PAR_RTS3_FSYNC (0x20)
  2314. +#define MCF_GPIO_PAR_PSC3_PAR_RTS3_RTS (0x30)
  2315. +#define MCF_GPIO_PAR_PSC3_PAR_CTS2_CANRX (0x40)
  2316. +
  2317. +/* Bit definitions and macros for MCF_GPIO_PAR_PSC2 */
  2318. +#define MCF_GPIO_PAR_PSC2_PAR_TXD2 (0x04)
  2319. +#define MCF_GPIO_PAR_PSC2_PAR_RXD2 (0x08)
  2320. +#define MCF_GPIO_PAR_PSC2_PAR_RTS2(x) (((x)&0x03)<<4)
  2321. +#define MCF_GPIO_PAR_PSC2_PAR_CTS2(x) (((x)&0x03)<<6)
  2322. +#define MCF_GPIO_PAR_PSC2_PAR_CTS2_GPIO (0x00)
  2323. +#define MCF_GPIO_PAR_PSC2_PAR_CTS2_BCLK (0x80)
  2324. +#define MCF_GPIO_PAR_PSC2_PAR_CTS2_CTS (0xC0)
  2325. +#define MCF_GPIO_PAR_PSC2_PAR_RTS2_GPIO (0x00)
  2326. +#define MCF_GPIO_PAR_PSC2_PAR_RTS2_CANTX (0x10)
  2327. +#define MCF_GPIO_PAR_PSC2_PAR_RTS2_FSYNC (0x20)
  2328. +#define MCF_GPIO_PAR_PSC2_PAR_RTS2_RTS (0x30)
  2329. +#define MCF_GPIO_PAR_PSC2_PAR_RTS2_CANRX (0x40)
  2330. +
  2331. +/* Bit definitions and macros for MCF_GPIO_PAR_PSC1 */
  2332. +#define MCF_GPIO_PAR_PSC1_PAR_TXD1 (0x04)
  2333. +#define MCF_GPIO_PAR_PSC1_PAR_RXD1 (0x08)
  2334. +#define MCF_GPIO_PAR_PSC1_PAR_RTS1(x) (((x)&0x03)<<4)
  2335. +#define MCF_GPIO_PAR_PSC1_PAR_CTS1(x) (((x)&0x03)<<6)
  2336. +#define MCF_GPIO_PAR_PSC1_PAR_CTS1_GPIO (0x00)
  2337. +#define MCF_GPIO_PAR_PSC1_PAR_CTS1_BCLK (0x80)
  2338. +#define MCF_GPIO_PAR_PSC1_PAR_CTS1_CTS (0xC0)
  2339. +#define MCF_GPIO_PAR_PSC1_PAR_RTS1_GPIO (0x00)
  2340. +#define MCF_GPIO_PAR_PSC1_PAR_RTS1_FSYNC (0x20)
  2341. +#define MCF_GPIO_PAR_PSC1_PAR_RTS1_RTS (0x30)
  2342. +
  2343. +/* Bit definitions and macros for MCF_GPIO_PAR_PSC0 */
  2344. +#define MCF_GPIO_PAR_PSC0_PAR_TXD0 (0x04)
  2345. +#define MCF_GPIO_PAR_PSC0_PAR_RXD0 (0x08)
  2346. +#define MCF_GPIO_PAR_PSC0_PAR_RTS0(x) (((x)&0x03)<<4)
  2347. +#define MCF_GPIO_PAR_PSC0_PAR_CTS0(x) (((x)&0x03)<<6)
  2348. +#define MCF_GPIO_PAR_PSC0_PAR_CTS0_GPIO (0x00)
  2349. +#define MCF_GPIO_PAR_PSC0_PAR_CTS0_BCLK (0x80)
  2350. +#define MCF_GPIO_PAR_PSC0_PAR_CTS0_CTS (0xC0)
  2351. +#define MCF_GPIO_PAR_PSC0_PAR_RTS0_GPIO (0x00)
  2352. +#define MCF_GPIO_PAR_PSC0_PAR_RTS0_FSYNC (0x20)
  2353. +#define MCF_GPIO_PAR_PSC0_PAR_RTS0_RTS (0x30)
  2354. +
  2355. +/* Bit definitions and macros for MCF_GPIO_PAR_DSPI */
  2356. +#define MCF_GPIO_PAR_DSPI_PAR_SOUT(x) (((x)&0x0003)<<0)
  2357. +#define MCF_GPIO_PAR_DSPI_PAR_SIN(x) (((x)&0x0003)<<2)
  2358. +#define MCF_GPIO_PAR_DSPI_PAR_SCK(x) (((x)&0x0003)<<4)
  2359. +#define MCF_GPIO_PAR_DSPI_PAR_CS0(x) (((x)&0x0003)<<6)
  2360. +#define MCF_GPIO_PAR_DSPI_PAR_CS2(x) (((x)&0x0003)<<8)
  2361. +#define MCF_GPIO_PAR_DSPI_PAR_CS3(x) (((x)&0x0003)<<10)
  2362. +#define MCF_GPIO_PAR_DSPI_PAR_CS5 (0x1000)
  2363. +#define MCF_GPIO_PAR_DSPI_PAR_CS3_GPIO (0x0000)
  2364. +#define MCF_GPIO_PAR_DSPI_PAR_CS3_CANTX (0x0400)
  2365. +#define MCF_GPIO_PAR_DSPI_PAR_CS3_TOUT (0x0800)
  2366. +#define MCF_GPIO_PAR_DSPI_PAR_CS3_DSPICS (0x0C00)
  2367. +#define MCF_GPIO_PAR_DSPI_PAR_CS2_GPIO (0x0000)
  2368. +#define MCF_GPIO_PAR_DSPI_PAR_CS2_CANTX (0x0100)
  2369. +#define MCF_GPIO_PAR_DSPI_PAR_CS2_TOUT (0x0200)
  2370. +#define MCF_GPIO_PAR_DSPI_PAR_CS2_DSPICS (0x0300)
  2371. +#define MCF_GPIO_PAR_DSPI_PAR_CS0_GPIO (0x0000)
  2372. +#define MCF_GPIO_PAR_DSPI_PAR_CS0_FSYNC (0x0040)
  2373. +#define MCF_GPIO_PAR_DSPI_PAR_CS0_RTS (0x0080)
  2374. +#define MCF_GPIO_PAR_DSPI_PAR_CS0_DSPICS (0x00C0)
  2375. +#define MCF_GPIO_PAR_DSPI_PAR_SCK_GPIO (0x0000)
  2376. +#define MCF_GPIO_PAR_DSPI_PAR_SCK_BCLK (0x0010)
  2377. +#define MCF_GPIO_PAR_DSPI_PAR_SCK_CTS (0x0020)
  2378. +#define MCF_GPIO_PAR_DSPI_PAR_SCK_SCK (0x0030)
  2379. +#define MCF_GPIO_PAR_DSPI_PAR_SIN_GPIO (0x0000)
  2380. +#define MCF_GPIO_PAR_DSPI_PAR_SIN_RXD (0x0008)
  2381. +#define MCF_GPIO_PAR_DSPI_PAR_SIN_SIN (0x000C)
  2382. +#define MCF_GPIO_PAR_DSPI_PAR_SOUT_GPIO (0x0000)
  2383. +#define MCF_GPIO_PAR_DSPI_PAR_SOUT_TXD (0x0002)
  2384. +#define MCF_GPIO_PAR_DSPI_PAR_SOUT_SOUT (0x0003)
  2385. +
  2386. +/* Bit definitions and macros for MCF_GPIO_PAR_TIMER */
  2387. +#define MCF_GPIO_PAR_TIMER_PAR_TOUT2 (0x01)
  2388. +#define MCF_GPIO_PAR_TIMER_PAR_TIN2(x) (((x)&0x03)<<1)
  2389. +#define MCF_GPIO_PAR_TIMER_PAR_TOUT3 (0x08)
  2390. +#define MCF_GPIO_PAR_TIMER_PAR_TIN3(x) (((x)&0x03)<<4)
  2391. +#define MCF_GPIO_PAR_TIMER_PAR_TIN3_CANRX (0x00)
  2392. +#define MCF_GPIO_PAR_TIMER_PAR_TIN3_IRQ (0x20)
  2393. +#define MCF_GPIO_PAR_TIMER_PAR_TIN3_TIN (0x30)
  2394. +#define MCF_GPIO_PAR_TIMER_PAR_TIN2_CANRX (0x00)
  2395. +#define MCF_GPIO_PAR_TIMER_PAR_TIN2_IRQ (0x04)
  2396. +#define MCF_GPIO_PAR_TIMER_PAR_TIN2_TIN (0x06)
  2397. +
  2398. +/********************************************************************/
  2399. +
  2400. +#endif /* _M5485GPIO_H_ */
  2401. --- /dev/null
  2402. +++ b/include/asm-m68k/m5485gpt.h
  2403. @@ -0,0 +1,88 @@
  2404. +/*
  2405. + * File: mcf548x_gpt.h
  2406. + * Purpose: Register and bit definitions for the MCF548X
  2407. + *
  2408. + * Notes:
  2409. + *
  2410. + */
  2411. +
  2412. +#ifndef __MCF548X_GPT_H__
  2413. +#define __MCF548X_GPT_H__
  2414. +
  2415. +/*********************************************************************
  2416. +*
  2417. +* General Purpose Timers (GPT)
  2418. +*
  2419. +*********************************************************************/
  2420. +
  2421. +/* Register read/write macros */
  2422. +#define MCF_GPT_GMS0 MCF_REG32(0x000800)
  2423. +#define MCF_GPT_GCIR0 MCF_REG32(0x000804)
  2424. +#define MCF_GPT_GPWM0 MCF_REG32(0x000808)
  2425. +#define MCF_GPT_GSR0 MCF_REG32(0x00080C)
  2426. +#define MCF_GPT_GMS1 MCF_REG32(0x000810)
  2427. +#define MCF_GPT_GCIR1 MCF_REG32(0x000814)
  2428. +#define MCF_GPT_GPWM1 MCF_REG32(0x000818)
  2429. +#define MCF_GPT_GSR1 MCF_REG32(0x00081C)
  2430. +#define MCF_GPT_GMS2 MCF_REG32(0x000820)
  2431. +#define MCF_GPT_GCIR2 MCF_REG32(0x000824)
  2432. +#define MCF_GPT_GPWM2 MCF_REG32(0x000828)
  2433. +#define MCF_GPT_GSR2 MCF_REG32(0x00082C)
  2434. +#define MCF_GPT_GMS3 MCF_REG32(0x000830)
  2435. +#define MCF_GPT_GCIR3 MCF_REG32(0x000834)
  2436. +#define MCF_GPT_GPWM3 MCF_REG32(0x000838)
  2437. +#define MCF_GPT_GSR3 MCF_REG32(0x00083C)
  2438. +#define MCF_GPT_GMS(x) MCF_REG32(0x000800+((x)*0x010))
  2439. +#define MCF_GPT_GCIR(x) MCF_REG32(0x000804+((x)*0x010))
  2440. +#define MCF_GPT_GPWM(x) MCF_REG32(0x000808+((x)*0x010))
  2441. +#define MCF_GPT_GSR(x) MCF_REG32(0x00080C+((x)*0x010))
  2442. +
  2443. +/* Bit definitions and macros for MCF_GPT_GMS */
  2444. +#define MCF_GPT_GMS_TMS(x) (((x)&0x00000007)<<0)
  2445. +#define MCF_GPT_GMS_GPIO(x) (((x)&0x00000003)<<4)
  2446. +#define MCF_GPT_GMS_IEN (0x00000100)
  2447. +#define MCF_GPT_GMS_OD (0x00000200)
  2448. +#define MCF_GPT_GMS_SC (0x00000400)
  2449. +#define MCF_GPT_GMS_CE (0x00001000)
  2450. +#define MCF_GPT_GMS_WDEN (0x00008000)
  2451. +#define MCF_GPT_GMS_ICT(x) (((x)&0x00000003)<<16)
  2452. +#define MCF_GPT_GMS_OCT(x) (((x)&0x00000003)<<20)
  2453. +#define MCF_GPT_GMS_OCPW(x) (((x)&0x000000FF)<<24)
  2454. +#define MCF_GPT_GMS_OCT_FRCLOW (0x00000000)
  2455. +#define MCF_GPT_GMS_OCT_PULSEHI (0x00100000)
  2456. +#define MCF_GPT_GMS_OCT_PULSELO (0x00200000)
  2457. +#define MCF_GPT_GMS_OCT_TOGGLE (0x00300000)
  2458. +#define MCF_GPT_GMS_ICT_ANY (0x00000000)
  2459. +#define MCF_GPT_GMS_ICT_RISE (0x00010000)
  2460. +#define MCF_GPT_GMS_ICT_FALL (0x00020000)
  2461. +#define MCF_GPT_GMS_ICT_PULSE (0x00030000)
  2462. +#define MCF_GPT_GMS_GPIO_INPUT (0x00000000)
  2463. +#define MCF_GPT_GMS_GPIO_OUTLO (0x00000020)
  2464. +#define MCF_GPT_GMS_GPIO_OUTHI (0x00000030)
  2465. +#define MCF_GPT_GMS_TMS_DISABLE (0x00000000)
  2466. +#define MCF_GPT_GMS_TMS_INCAPT (0x00000001)
  2467. +#define MCF_GPT_GMS_TMS_OUTCAPT (0x00000002)
  2468. +#define MCF_GPT_GMS_TMS_PWM (0x00000003)
  2469. +#define MCF_GPT_GMS_TMS_GPIO (0x00000004)
  2470. +
  2471. +/* Bit definitions and macros for MCF_GPT_GCIR */
  2472. +#define MCF_GPT_GCIR_CNT(x) (((x)&0x0000FFFF)<<0)
  2473. +#define MCF_GPT_GCIR_PRE(x) (((x)&0x0000FFFF)<<16)
  2474. +
  2475. +/* Bit definitions and macros for MCF_GPT_GPWM */
  2476. +#define MCF_GPT_GPWM_LOAD (0x00000001)
  2477. +#define MCF_GPT_GPWM_PWMOP (0x00000100)
  2478. +#define MCF_GPT_GPWM_WIDTH(x) (((x)&0x0000FFFF)<<16)
  2479. +
  2480. +/* Bit definitions and macros for MCF_GPT_GSR */
  2481. +#define MCF_GPT_GSR_CAPT (0x00000001)
  2482. +#define MCF_GPT_GSR_COMP (0x00000002)
  2483. +#define MCF_GPT_GSR_PWMP (0x00000004)
  2484. +#define MCF_GPT_GSR_TEXP (0x00000008)
  2485. +#define MCF_GPT_GSR_PIN (0x00000100)
  2486. +#define MCF_GPT_GSR_OVF(x) (((x)&0x00000007)<<12)
  2487. +#define MCF_GPT_GSR_CAPTURE(x) (((x)&0x0000FFFF)<<16)
  2488. +
  2489. +/********************************************************************/
  2490. +
  2491. +#endif /* __MCF548X_GPT_H__ */
  2492. --- /dev/null
  2493. +++ b/include/asm-m68k/m5485psc.h
  2494. @@ -0,0 +1,474 @@
  2495. +/*
  2496. + * File: mcf548x_psc.h
  2497. + * Purpose: Register and bit definitions for the MCF548X
  2498. + *
  2499. + * Notes:
  2500. + *
  2501. + */
  2502. +
  2503. +#ifndef __MCF548X_PSC_H__
  2504. +#define __MCF548X_PSC_H__
  2505. +
  2506. +/*********************************************************************
  2507. +*
  2508. +* Programmable Serial Controller (PSC)
  2509. +*
  2510. +*********************************************************************/
  2511. +
  2512. +/* Register read/write macros */
  2513. +#define MCF_PSC_MR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008600))
  2514. +#define MCF_PSC_SR0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008604))
  2515. +#define MCF_PSC_CSR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008604))
  2516. +#define MCF_PSC_CR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008608))
  2517. +#define MCF_PSC_RB0 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C))
  2518. +#define MCF_PSC_TB0 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C))
  2519. +#define MCF_PSC_TB_8BIT0 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C))
  2520. +#define MCF_PSC_TB_16BIT0 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C))
  2521. +#define MCF_PSC_TB_AC970 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C))
  2522. +#define MCF_PSC_IPCR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008610))
  2523. +#define MCF_PSC_ACR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008610))
  2524. +#define MCF_PSC_ISR0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008614))
  2525. +#define MCF_PSC_IMR0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008614))
  2526. +#define MCF_PSC_CTUR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008618))
  2527. +#define MCF_PSC_CTLR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00861C))
  2528. +#define MCF_PSC_IP0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008634))
  2529. +#define MCF_PSC_OPSET0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008638))
  2530. +#define MCF_PSC_OPRESET0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00863C))
  2531. +#define MCF_PSC_SICR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008640))
  2532. +#define MCF_PSC_IRCR10 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008644))
  2533. +#define MCF_PSC_IRCR20 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008648))
  2534. +#define MCF_PSC_IRSDR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00864C))
  2535. +#define MCF_PSC_IRMDR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008650))
  2536. +#define MCF_PSC_IRFDR0 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008654))
  2537. +#define MCF_PSC_RFCNT0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008658))
  2538. +#define MCF_PSC_TFCNT0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00865C))
  2539. +#define MCF_PSC_RFSR0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008664))
  2540. +#define MCF_PSC_TFSR0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008684))
  2541. +#define MCF_PSC_RFCR0 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008668))
  2542. +#define MCF_PSC_TFCR0 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008688))
  2543. +#define MCF_PSC_RFAR0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00866E))
  2544. +#define MCF_PSC_TFAR0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00868E))
  2545. +#define MCF_PSC_RFRP0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008672))
  2546. +#define MCF_PSC_TFRP0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008692))
  2547. +#define MCF_PSC_RFWP0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008676))
  2548. +#define MCF_PSC_TFWP0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008696))
  2549. +#define MCF_PSC_RLRFP0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00867A))
  2550. +#define MCF_PSC_TLRFP0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00869A))
  2551. +#define MCF_PSC_RLWFP0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00867E))
  2552. +#define MCF_PSC_TLWFP0 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00869E))
  2553. +#define MCF_PSC_MR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008700))
  2554. +#define MCF_PSC_SR1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008704))
  2555. +#define MCF_PSC_CSR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008704))
  2556. +#define MCF_PSC_CR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008708))
  2557. +#define MCF_PSC_RB1 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00870C))
  2558. +#define MCF_PSC_TB1 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00870C))
  2559. +#define MCF_PSC_TB_8BIT1 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00870C))
  2560. +#define MCF_PSC_TB_16BIT1 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00870C))
  2561. +#define MCF_PSC_TB_AC971 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00870C))
  2562. +#define MCF_PSC_IPCR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008710))
  2563. +#define MCF_PSC_ACR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008710))
  2564. +#define MCF_PSC_ISR1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008714))
  2565. +#define MCF_PSC_IMR1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008714))
  2566. +#define MCF_PSC_CTUR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008718))
  2567. +#define MCF_PSC_CTLR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00871C))
  2568. +#define MCF_PSC_IP1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008734))
  2569. +#define MCF_PSC_OPSET1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008738))
  2570. +#define MCF_PSC_OPRESET1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00873C))
  2571. +#define MCF_PSC_SICR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008740))
  2572. +#define MCF_PSC_IRCR11 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008744))
  2573. +#define MCF_PSC_IRCR21 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008748))
  2574. +#define MCF_PSC_IRSDR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00874C))
  2575. +#define MCF_PSC_IRMDR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008750))
  2576. +#define MCF_PSC_IRFDR1 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008754))
  2577. +#define MCF_PSC_RFCNT1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008758))
  2578. +#define MCF_PSC_TFCNT1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00875C))
  2579. +#define MCF_PSC_RFSR1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008764))
  2580. +#define MCF_PSC_TFSR1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008784))
  2581. +#define MCF_PSC_RFCR1 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008768))
  2582. +#define MCF_PSC_TFCR1 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008788))
  2583. +#define MCF_PSC_RFAR1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00876E))
  2584. +#define MCF_PSC_TFAR1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00878E))
  2585. +#define MCF_PSC_RFRP1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008772))
  2586. +#define MCF_PSC_TFRP1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008792))
  2587. +#define MCF_PSC_RFWP1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008776))
  2588. +#define MCF_PSC_TFWP1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008796))
  2589. +#define MCF_PSC_RLRFP1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00877A))
  2590. +#define MCF_PSC_TLRFP1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00879A))
  2591. +#define MCF_PSC_RLWFP1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00877E))
  2592. +#define MCF_PSC_TLWFP1 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00879E))
  2593. +#define MCF_PSC_MR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008800))
  2594. +#define MCF_PSC_SR2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008804))
  2595. +#define MCF_PSC_CSR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008804))
  2596. +#define MCF_PSC_CR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008808))
  2597. +#define MCF_PSC_RB2 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00880C))
  2598. +#define MCF_PSC_TB2 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00880C))
  2599. +#define MCF_PSC_TB_8BIT2 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00880C))
  2600. +#define MCF_PSC_TB_16BIT2 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00880C))
  2601. +#define MCF_PSC_TB_AC972 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00880C))
  2602. +#define MCF_PSC_IPCR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008810))
  2603. +#define MCF_PSC_ACR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008810))
  2604. +#define MCF_PSC_ISR2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008814))
  2605. +#define MCF_PSC_IMR2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008814))
  2606. +#define MCF_PSC_CTUR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008818))
  2607. +#define MCF_PSC_CTLR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00881C))
  2608. +#define MCF_PSC_IP2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008834))
  2609. +#define MCF_PSC_OPSET2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008838))
  2610. +#define MCF_PSC_OPRESET2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00883C))
  2611. +#define MCF_PSC_SICR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008840))
  2612. +#define MCF_PSC_IRCR12 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008844))
  2613. +#define MCF_PSC_IRCR22 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008848))
  2614. +#define MCF_PSC_IRSDR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00884C))
  2615. +#define MCF_PSC_IRMDR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008850))
  2616. +#define MCF_PSC_IRFDR2 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008854))
  2617. +#define MCF_PSC_RFCNT2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008858))
  2618. +#define MCF_PSC_TFCNT2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00885C))
  2619. +#define MCF_PSC_RFSR2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008864))
  2620. +#define MCF_PSC_TFSR2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008884))
  2621. +#define MCF_PSC_RFCR2 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008868))
  2622. +#define MCF_PSC_TFCR2 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008888))
  2623. +#define MCF_PSC_RFAR2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00886E))
  2624. +#define MCF_PSC_TFAR2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00888E))
  2625. +#define MCF_PSC_RFRP2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008872))
  2626. +#define MCF_PSC_TFRP2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008892))
  2627. +#define MCF_PSC_RFWP2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008876))
  2628. +#define MCF_PSC_TFWP2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008896))
  2629. +#define MCF_PSC_RLRFP2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00887A))
  2630. +#define MCF_PSC_TLRFP2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00889A))
  2631. +#define MCF_PSC_RLWFP2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00887E))
  2632. +#define MCF_PSC_TLWFP2 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00889E))
  2633. +#define MCF_PSC_MR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008900))
  2634. +#define MCF_PSC_SR3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008904))
  2635. +#define MCF_PSC_CSR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008904))
  2636. +#define MCF_PSC_CR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008908))
  2637. +#define MCF_PSC_RB3 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00890C))
  2638. +#define MCF_PSC_TB3 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00890C))
  2639. +#define MCF_PSC_TB_8BIT3 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00890C))
  2640. +#define MCF_PSC_TB_16BIT3 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00890C))
  2641. +#define MCF_PSC_TB_AC973 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00890C))
  2642. +#define MCF_PSC_IPCR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008910))
  2643. +#define MCF_PSC_ACR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008910))
  2644. +#define MCF_PSC_ISR3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008914))
  2645. +#define MCF_PSC_IMR3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008914))
  2646. +#define MCF_PSC_CTUR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008918))
  2647. +#define MCF_PSC_CTLR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00891C))
  2648. +#define MCF_PSC_IP3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008934))
  2649. +#define MCF_PSC_OPSET3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008938))
  2650. +#define MCF_PSC_OPRESET3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00893C))
  2651. +#define MCF_PSC_SICR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008940))
  2652. +#define MCF_PSC_IRCR13 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008944))
  2653. +#define MCF_PSC_IRCR23 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008948))
  2654. +#define MCF_PSC_IRSDR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00894C))
  2655. +#define MCF_PSC_IRMDR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008950))
  2656. +#define MCF_PSC_IRFDR3 (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008954))
  2657. +#define MCF_PSC_RFCNT3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008958))
  2658. +#define MCF_PSC_TFCNT3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00895C))
  2659. +#define MCF_PSC_RFSR3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008964))
  2660. +#define MCF_PSC_TFSR3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008984))
  2661. +#define MCF_PSC_RFCR3 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008968))
  2662. +#define MCF_PSC_TFCR3 (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008988))
  2663. +#define MCF_PSC_RFAR3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00896E))
  2664. +#define MCF_PSC_TFAR3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00898E))
  2665. +#define MCF_PSC_RFRP3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008972))
  2666. +#define MCF_PSC_TFRP3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008992))
  2667. +#define MCF_PSC_RFWP3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008976))
  2668. +#define MCF_PSC_TFWP3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008996))
  2669. +#define MCF_PSC_RLRFP3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00897A))
  2670. +#define MCF_PSC_TLRFP3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00899A))
  2671. +#define MCF_PSC_RLWFP3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00897E))
  2672. +#define MCF_PSC_TLWFP3 (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00899E))
  2673. +#define MCF_PSC_MR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008600+((x)*0x100)))
  2674. +#define MCF_PSC_SR(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008604+((x)*0x100)))
  2675. +#define MCF_PSC_CSR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008604+((x)*0x100)))
  2676. +#define MCF_PSC_CR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008608+((x)*0x100)))
  2677. +#define MCF_PSC_RB(x) (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C+((x)*0x100)))
  2678. +#define MCF_PSC_TB(x) (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C+((x)*0x100)))
  2679. +#define MCF_PSC_TB_8BIT(x) (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C+((x)*0x100)))
  2680. +#define MCF_PSC_TB_16BIT(x) (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C+((x)*0x100)))
  2681. +#define MCF_PSC_TB_AC97(x) (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x00860C+((x)*0x100)))
  2682. +#define MCF_PSC_IPCR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008610+((x)*0x100)))
  2683. +#define MCF_PSC_ACR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008610+((x)*0x100)))
  2684. +#define MCF_PSC_ISR(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008614+((x)*0x100)))
  2685. +#define MCF_PSC_IMR(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008614+((x)*0x100)))
  2686. +#define MCF_PSC_CTUR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008618+((x)*0x100)))
  2687. +#define MCF_PSC_CTLR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00861C+((x)*0x100)))
  2688. +#define MCF_PSC_IP(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008634+((x)*0x100)))
  2689. +#define MCF_PSC_OPSET(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008638+((x)*0x100)))
  2690. +#define MCF_PSC_OPRESET(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00863C+((x)*0x100)))
  2691. +#define MCF_PSC_SICR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008640+((x)*0x100)))
  2692. +#define MCF_PSC_IRCR1(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008644+((x)*0x100)))
  2693. +#define MCF_PSC_IRCR2(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008648+((x)*0x100)))
  2694. +#define MCF_PSC_IRSDR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x00864C+((x)*0x100)))
  2695. +#define MCF_PSC_IRMDR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008650+((x)*0x100)))
  2696. +#define MCF_PSC_IRFDR(x) (*(volatile uint8_t *)(void*)(MCF_MBAR + 0x008654+((x)*0x100)))
  2697. +#define MCF_PSC_RFCNT(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008658+((x)*0x100)))
  2698. +#define MCF_PSC_TFCNT(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00865C+((x)*0x100)))
  2699. +#define MCF_PSC_RFSR(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008664+((x)*0x100)))
  2700. +#define MCF_PSC_TFSR(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008684+((x)*0x100)))
  2701. +#define MCF_PSC_RFCR(x) (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008668+((x)*0x100)))
  2702. +#define MCF_PSC_TFCR(x) (*(volatile uint32_t*)(void*)(MCF_MBAR + 0x008688+((x)*0x100)))
  2703. +#define MCF_PSC_RFAR(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + (0x00866E)+((x)*0x100)))
  2704. +#define MCF_PSC_TFAR(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + (0x00868E)+((x)*0x100)))
  2705. +#define MCF_PSC_RFRP(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008672+((x)*0x100)))
  2706. +#define MCF_PSC_TFRP(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008692+((x)*0x100)))
  2707. +#define MCF_PSC_RFWP(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008676+((x)*0x100)))
  2708. +#define MCF_PSC_TFWP(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x008696+((x)*0x100)))
  2709. +#define MCF_PSC_RLRFP(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00867A+((x)*0x100)))
  2710. +#define MCF_PSC_TLRFP(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00869A+((x)*0x100)))
  2711. +#define MCF_PSC_RLWFP(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00867E+((x)*0x100)))
  2712. +#define MCF_PSC_TLWFP(x) (*(volatile uint16_t*)(void*)(MCF_MBAR + 0x00869E+((x)*0x100)))
  2713. +
  2714. +/* Bit definitions and macros for MCF_PSC_MR */
  2715. +#define MCF_PSC_MR_BC(x) (((x)&0x03)<<0)
  2716. +#define MCF_PSC_MR_PT (0x04)
  2717. +#define MCF_PSC_MR_PM(x) (((x)&0x03)<<3)
  2718. +#define MCF_PSC_MR_ERR (0x20)
  2719. +#define MCF_PSC_MR_RXIRQ (0x40)
  2720. +#define MCF_PSC_MR_RXRTS (0x80)
  2721. +#define MCF_PSC_MR_SB(x) (((x)&0x0F)<<0)
  2722. +#define MCF_PSC_MR_TXCTS (0x10)
  2723. +#define MCF_PSC_MR_TXRTS (0x20)
  2724. +#define MCF_PSC_MR_CM(x) (((x)&0x03)<<6)
  2725. +#define MCF_PSC_MR_PM_MULTI_ADDR (0x1C)
  2726. +#define MCF_PSC_MR_PM_MULTI_DATA (0x18)
  2727. +#define MCF_PSC_MR_PM_NONE (0x10)
  2728. +#define MCF_PSC_MR_PM_FORCE_HI (0x0C)
  2729. +#define MCF_PSC_MR_PM_FORCE_LO (0x08)
  2730. +#define MCF_PSC_MR_PM_ODD (0x04)
  2731. +#define MCF_PSC_MR_PM_EVEN (0x00)
  2732. +#define MCF_PSC_MR_BC_5 (0x00)
  2733. +#define MCF_PSC_MR_BC_6 (0x01)
  2734. +#define MCF_PSC_MR_BC_7 (0x02)
  2735. +#define MCF_PSC_MR_BC_8 (0x03)
  2736. +#define MCF_PSC_MR_CM_NORMAL (0x00)
  2737. +#define MCF_PSC_MR_CM_ECHO (0x40)
  2738. +#define MCF_PSC_MR_CM_LOCAL_LOOP (0x80)
  2739. +#define MCF_PSC_MR_CM_REMOTE_LOOP (0xC0)
  2740. +#define MCF_PSC_MR_SB_STOP_BITS_1 (0x07)
  2741. +#define MCF_PSC_MR_SB_STOP_BITS_15 (0x08)
  2742. +#define MCF_PSC_MR_SB_STOP_BITS_2 (0x0F)
  2743. +
  2744. +/* Bit definitions and macros for MCF_PSC_SR */
  2745. +#define MCF_PSC_SR_ERR (0x0040)
  2746. +#define MCF_PSC_SR_CDE_DEOF (0x0080)
  2747. +#define MCF_PSC_SR_RXRDY (0x0100)
  2748. +#define MCF_PSC_SR_FU (0x0200)
  2749. +#define MCF_PSC_SR_TXRDY (0x0400)
  2750. +#define MCF_PSC_SR_TXEMP_URERR (0x0800)
  2751. +#define MCF_PSC_SR_OE (0x1000)
  2752. +#define MCF_PSC_SR_PE_CRCERR (0x2000)
  2753. +#define MCF_PSC_SR_FE_PHYERR (0x4000)
  2754. +#define MCF_PSC_SR_RB_NEOF (0x8000)
  2755. +
  2756. +/* Bit definitions and macros for MCF_PSC_CSR */
  2757. +#define MCF_PSC_CSR_TCSEL(x) (((x)&0x0F)<<0)
  2758. +#define MCF_PSC_CSR_RCSEL(x) (((x)&0x0F)<<4)
  2759. +#define MCF_PSC_CSR_RCSEL_SYS_CLK (0xD0)
  2760. +#define MCF_PSC_CSR_RCSEL_CTM16 (0xE0)
  2761. +#define MCF_PSC_CSR_RCSEL_CTM (0xF0)
  2762. +#define MCF_PSC_CSR_TCSEL_SYS_CLK (0x0D)
  2763. +#define MCF_PSC_CSR_TCSEL_CTM16 (0x0E)
  2764. +#define MCF_PSC_CSR_TCSEL_CTM (0x0F)
  2765. +
  2766. +/* Bit definitions and macros for MCF_PSC_CR */
  2767. +#define MCF_PSC_CR_RXC(x) (((x)&0x03)<<0)
  2768. +#define MCF_PSC_CR_TXC(x) (((x)&0x03)<<2)
  2769. +#define MCF_PSC_CR_MISC(x) (((x)&0x07)<<4)
  2770. +#define MCF_PSC_CR_NONE (0x00)
  2771. +#define MCF_PSC_CR_STOP_BREAK (0x70)
  2772. +#define MCF_PSC_CR_START_BREAK (0x60)
  2773. +#define MCF_PSC_CR_BKCHGINT (0x50)
  2774. +#define MCF_PSC_CR_RESET_ERROR (0x40)
  2775. +#define MCF_PSC_CR_RESET_TX (0x30)
  2776. +#define MCF_PSC_CR_RESET_RX (0x20)
  2777. +#define MCF_PSC_CR_RESET_MR (0x10)
  2778. +#define MCF_PSC_CR_TX_DISABLED (0x08)
  2779. +#define MCF_PSC_CR_TX_ENABLED (0x04)
  2780. +#define MCF_PSC_CR_RX_DISABLED (0x02)
  2781. +#define MCF_PSC_CR_RX_ENABLED (0x01)
  2782. +
  2783. +/* Bit definitions and macros for MCF_PSC_TB_8BIT */
  2784. +#define MCF_PSC_TB_8BIT_TB3(x) (((x)&0x000000FF)<<0)
  2785. +#define MCF_PSC_TB_8BIT_TB2(x) (((x)&0x000000FF)<<8)
  2786. +#define MCF_PSC_TB_8BIT_TB1(x) (((x)&0x000000FF)<<16)
  2787. +#define MCF_PSC_TB_8BIT_TB0(x) (((x)&0x000000FF)<<24)
  2788. +
  2789. +/* Bit definitions and macros for MCF_PSC_TB_16BIT */
  2790. +#define MCF_PSC_TB_16BIT_TB1(x) (((x)&0x0000FFFF)<<0)
  2791. +#define MCF_PSC_TB_16BIT_TB0(x) (((x)&0x0000FFFF)<<16)
  2792. +
  2793. +/* Bit definitions and macros for MCF_PSC_TB_AC97 */
  2794. +#define MCF_PSC_TB_AC97_SOF (0x00000800)
  2795. +#define MCF_PSC_TB_AC97_TB(x) (((x)&0x000FFFFF)<<12)
  2796. +
  2797. +/* Bit definitions and macros for MCF_PSC_IPCR */
  2798. +#define MCF_PSC_IPCR_RESERVED (0x0C)
  2799. +#define MCF_PSC_IPCR_CTS (0x0D)
  2800. +#define MCF_PSC_IPCR_D_CTS (0x1C)
  2801. +#define MCF_PSC_IPCR_SYNC (0x8C)
  2802. +
  2803. +/* Bit definitions and macros for MCF_PSC_ACR */
  2804. +#define MCF_PSC_ACR_IEC0 (0x01)
  2805. +#define MCF_PSC_ACR_CTMS(x) (((x)&0x07)<<4)
  2806. +#define MCF_PSC_ACR_BRG (0x80)
  2807. +
  2808. +/* Bit definitions and macros for MCF_PSC_ISR */
  2809. +#define MCF_PSC_ISR_ERR (0x0040)
  2810. +#define MCF_PSC_ISR_DEOF (0x0080)
  2811. +#define MCF_PSC_ISR_TXRDY (0x0100)
  2812. +#define MCF_PSC_ISR_RXRDY_FU (0x0200)
  2813. +#define MCF_PSC_ISR_DB (0x0400)
  2814. +#define MCF_PSC_ISR_IPC (0x8000)
  2815. +
  2816. +/* Bit definitions and macros for MCF_PSC_IMR */
  2817. +#define MCF_PSC_IMR_ERR (0x0040)
  2818. +#define MCF_PSC_IMR_DEOF (0x0080)
  2819. +#define MCF_PSC_IMR_TXRDY (0x0100)
  2820. +#define MCF_PSC_IMR_RXRDY_FU (0x0200)
  2821. +#define MCF_PSC_IMR_DB (0x0400)
  2822. +#define MCF_PSC_IMR_IPC (0x8000)
  2823. +
  2824. +/* Bit definitions and macros for MCF_PSC_IP */
  2825. +#define MCF_PSC_IP_CTS (0x01)
  2826. +#define MCF_PSC_IP_TGL (0x40)
  2827. +#define MCF_PSC_IP_LWPR_B (0x80)
  2828. +
  2829. +/* Bit definitions and macros for MCF_PSC_OPSET */
  2830. +#define MCF_PSC_OPSET_RTS (0x01)
  2831. +
  2832. +/* Bit definitions and macros for MCF_PSC_OPRESET */
  2833. +#define MCF_PSC_OPRESET_RTS (0x01)
  2834. +
  2835. +/* Bit definitions and macros for MCF_PSC_SICR */
  2836. +#define MCF_PSC_SICR_SIM(x) (((x)&0x07)<<0)
  2837. +#define MCF_PSC_SICR_SHDIR (0x10)
  2838. +#define MCF_PSC_SICR_DTS (0x20)
  2839. +#define MCF_PSC_SICR_AWR (0x40)
  2840. +#define MCF_PSC_SICR_ACRB (0x80)
  2841. +#define MCF_PSC_SICR_SIM_UART (0x00)
  2842. +#define MCF_PSC_SICR_SIM_MODEM8 (0x01)
  2843. +#define MCF_PSC_SICR_SIM_MODEM16 (0x02)
  2844. +#define MCF_PSC_SICR_SIM_AC97 (0x03)
  2845. +#define MCF_PSC_SICR_SIM_SIR (0x04)
  2846. +#define MCF_PSC_SICR_SIM_MIR (0x05)
  2847. +#define MCF_PSC_SICR_SIM_FIR (0x06)
  2848. +
  2849. +/* Bit definitions and macros for MCF_PSC_IRCR1 */
  2850. +#define MCF_PSC_IRCR1_SPUL (0x01)
  2851. +#define MCF_PSC_IRCR1_SIPEN (0x02)
  2852. +#define MCF_PSC_IRCR1_FD (0x04)
  2853. +
  2854. +/* Bit definitions and macros for MCF_PSC_IRCR2 */
  2855. +#define MCF_PSC_IRCR2_NXTEOF (0x01)
  2856. +#define MCF_PSC_IRCR2_ABORT (0x02)
  2857. +#define MCF_PSC_IRCR2_SIPREQ (0x04)
  2858. +
  2859. +/* Bit definitions and macros for MCF_PSC_IRMDR */
  2860. +#define MCF_PSC_IRMDR_M_FDIV(x) (((x)&0x7F)<<0)
  2861. +#define MCF_PSC_IRMDR_FREQ (0x80)
  2862. +
  2863. +/* Bit definitions and macros for MCF_PSC_IRFDR */
  2864. +#define MCF_PSC_IRFDR_F_FDIV(x) (((x)&0x0F)<<0)
  2865. +
  2866. +/* Bit definitions and macros for MCF_PSC_RFCNT */
  2867. +#define MCF_PSC_RFCNT_CNT(x) (((x)&0x01FF)<<0)
  2868. +
  2869. +/* Bit definitions and macros for MCF_PSC_TFCNT */
  2870. +#define MCF_PSC_TFCNT_CNT(x) (((x)&0x01FF)<<0)
  2871. +
  2872. +/* Bit definitions and macros for MCF_PSC_RFSR */
  2873. +#define MCF_PSC_RFSR_EMT (0x0001)
  2874. +#define MCF_PSC_RFSR_ALARM (0x0002)
  2875. +#define MCF_PSC_RFSR_FU (0x0004)
  2876. +#define MCF_PSC_RFSR_FRMRY (0x0008)
  2877. +#define MCF_PSC_RFSR_OF (0x0010)
  2878. +#define MCF_PSC_RFSR_UF (0x0020)
  2879. +#define MCF_PSC_RFSR_RXW (0x0040)
  2880. +#define MCF_PSC_RFSR_FAE (0x0080)
  2881. +#define MCF_PSC_RFSR_FRM(x) (((x)&0x000F)<<8)
  2882. +#define MCF_PSC_RFSR_TAG (0x1000)
  2883. +#define MCF_PSC_RFSR_TXW (0x4000)
  2884. +#define MCF_PSC_RFSR_IP (0x8000)
  2885. +#define MCF_PSC_RFSR_FRM_BYTE0 (0x0800)
  2886. +#define MCF_PSC_RFSR_FRM_BYTE1 (0x0400)
  2887. +#define MCF_PSC_RFSR_FRM_BYTE2 (0x0200)
  2888. +#define MCF_PSC_RFSR_FRM_BYTE3 (0x0100)
  2889. +
  2890. +/* Bit definitions and macros for MCF_PSC_TFSR */
  2891. +#define MCF_PSC_TFSR_EMT (0x0001)
  2892. +#define MCF_PSC_TFSR_ALARM (0x0002)
  2893. +#define MCF_PSC_TFSR_FU (0x0004)
  2894. +#define MCF_PSC_TFSR_FRMRY (0x0008)
  2895. +#define MCF_PSC_TFSR_OF (0x0010)
  2896. +#define MCF_PSC_TFSR_UF (0x0020)
  2897. +#define MCF_PSC_TFSR_RXW (0x0040)
  2898. +#define MCF_PSC_TFSR_FAE (0x0080)
  2899. +#define MCF_PSC_TFSR_FRM(x) (((x)&0x000F)<<8)
  2900. +#define MCF_PSC_TFSR_TAG (0x1000)
  2901. +#define MCF_PSC_TFSR_TXW (0x4000)
  2902. +#define MCF_PSC_TFSR_IP (0x8000)
  2903. +#define MCF_PSC_TFSR_FRM_BYTE0 (0x0800)
  2904. +#define MCF_PSC_TFSR_FRM_BYTE1 (0x0400)
  2905. +#define MCF_PSC_TFSR_FRM_BYTE2 (0x0200)
  2906. +#define MCF_PSC_TFSR_FRM_BYTE3 (0x0100)
  2907. +
  2908. +/* Bit definitions and macros for MCF_PSC_RFCR */
  2909. +#define MCF_PSC_RFCR_CNTR(x) (((x)&0x0000FFFF)<<0)
  2910. +#define MCF_PSC_RFCR_TXW_MSK (0x00040000)
  2911. +#define MCF_PSC_RFCR_OF_MSK (0x00080000)
  2912. +#define MCF_PSC_RFCR_UF_MSK (0x00100000)
  2913. +#define MCF_PSC_RFCR_RXW_MSK (0x00200000)
  2914. +#define MCF_PSC_RFCR_FAE_MSK (0x00400000)
  2915. +#define MCF_PSC_RFCR_IP_MSK (0x00800000)
  2916. +#define MCF_PSC_RFCR_GR(x) (((x)&0x00000007)<<24)
  2917. +#define MCF_PSC_RFCR_FRMEN (0x08000000)
  2918. +#define MCF_PSC_RFCR_TIMER (0x10000000)
  2919. +#define MCF_PSC_RFCR_WRITETAG (0x20000000)
  2920. +#define MCF_PSC_RFCR_SHADOW (0x80000000)
  2921. +
  2922. +/* Bit definitions and macros for MCF_PSC_TFCR */
  2923. +#define MCF_PSC_TFCR_CNTR(x) (((x)&0x0000FFFF)<<0)
  2924. +#define MCF_PSC_TFCR_TXW_MSK (0x00040000)
  2925. +#define MCF_PSC_TFCR_OF_MSK (0x00080000)
  2926. +#define MCF_PSC_TFCR_UF_MSK (0x00100000)
  2927. +#define MCF_PSC_TFCR_RXW_MSK (0x00200000)
  2928. +#define MCF_PSC_TFCR_FAE_MSK (0x00400000)
  2929. +#define MCF_PSC_TFCR_IP_MSK (0x00800000)
  2930. +#define MCF_PSC_TFCR_GR(x) (((x)&0x00000007)<<24)
  2931. +#define MCF_PSC_TFCR_FRMEN (0x08000000)
  2932. +#define MCF_PSC_TFCR_TIMER (0x10000000)
  2933. +#define MCF_PSC_TFCR_WRITETAG (0x20000000)
  2934. +#define MCF_PSC_TFCR_SHADOW (0x80000000)
  2935. +
  2936. +/* Bit definitions and macros for MCF_PSC_RFAR */
  2937. +#define MCF_PSC_RFAR_ALARM(x) (((x)&0x01FF)<<0)
  2938. +
  2939. +/* Bit definitions and macros for MCF_PSC_TFAR */
  2940. +#define MCF_PSC_TFAR_ALARM(x) (((x)&0x01FF)<<0)
  2941. +
  2942. +/* Bit definitions and macros for MCF_PSC_RFRP */
  2943. +#define MCF_PSC_RFRP_READ(x) (((x)&0x01FF)<<0)
  2944. +
  2945. +/* Bit definitions and macros for MCF_PSC_TFRP */
  2946. +#define MCF_PSC_TFRP_READ(x) (((x)&0x01FF)<<0)
  2947. +
  2948. +/* Bit definitions and macros for MCF_PSC_RFWP */
  2949. +#define MCF_PSC_RFWP_WRITE(x) (((x)&0x01FF)<<0)
  2950. +
  2951. +/* Bit definitions and macros for MCF_PSC_TFWP */
  2952. +#define MCF_PSC_TFWP_WRITE(x) (((x)&0x01FF)<<0)
  2953. +
  2954. +/* Bit definitions and macros for MCF_PSC_RLRFP */
  2955. +#define MCF_PSC_RLRFP_LFP(x) (((x)&0x01FF)<<0)
  2956. +
  2957. +/* Bit definitions and macros for MCF_PSC_TLRFP */
  2958. +#define MCF_PSC_TLRFP_LFP(x) (((x)&0x01FF)<<0)
  2959. +
  2960. +/* Bit definitions and macros for MCF_PSC_RLWFP */
  2961. +#define MCF_PSC_RLWFP_LFP(x) (((x)&0x01FF)<<0)
  2962. +
  2963. +/* Bit definitions and macros for MCF_PSC_TLWFP */
  2964. +#define MCF_PSC_TLWFP_LFP(x) (((x)&0x01FF)<<0)
  2965. +
  2966. +/********************************************************************/
  2967. +
  2968. +#endif /* __MCF548X_PSC_H__ */
  2969. --- /dev/null
  2970. +++ b/include/asm-m68k/m5485sim.h
  2971. @@ -0,0 +1,219 @@
  2972. +/*
  2973. + * m5485sim.h -- ColdFire 547x/548x System Integration Unit support.
  2974. + */
  2975. +
  2976. +#ifndef m5485sim_h
  2977. +#define m5485sim_h
  2978. +
  2979. +
  2980. +/*
  2981. + * System Integration Unit Registers
  2982. + */
  2983. +#define MCF_SDRAMDS MCF_REG32(0x000004) /* SDRAM Drive Strength */
  2984. +#define MCF_SBCR MCF_REG32(0x000010) /* System Breakpoint Control */
  2985. +#define MCF_CSnCFG(x) MCF_REG32(0x000020+(x*4))/* SDRAM Chip Select X */
  2986. +#define MCF_SECSACR MCF_REG32(0x000038) /* Sequential Access Control */
  2987. +#define MCF_RSR MCF_REG32(0x000044) /* Reset Status */
  2988. +#define MCF_JTAGID MCF_REG32(0x000050) /* JTAG Device Identification */
  2989. +
  2990. +/*
  2991. + * FlexBus Chip Selects Registers
  2992. + */
  2993. +#define MCF_CSARn(x) MCF_REG32(0x000500+(x*0xC))
  2994. +#define MCF_CSMRn(x) MCF_REG32(0x000504+(x*0xC))
  2995. +#define MCF_CSCRn(x) MCF_REG32(0x000508+(x*0xC))
  2996. +
  2997. +/*
  2998. + * Interrupt Controller Registers
  2999. + */
  3000. +#define MCF_IPRH MCF_REG32(0x000700)
  3001. +#define MCF_IPRL MCF_REG32(0x000704)
  3002. +#define MCF_IMRH MCF_REG32(0x000708)
  3003. +#define MCF_IMRL MCF_REG32(0x00070C)
  3004. +#define MCF_INTFRCH MCF_REG32(0x000710)
  3005. +#define MCF_INTFRCL MCF_REG32(0x000714)
  3006. +#define MCF_IRLR MCF_REG08(0x000718)
  3007. +#define MCF_IACKLPR MCF_REG08(0x000719)
  3008. +#define MCF_SWIACK MCF_REG08(0x0007E0)
  3009. +#define MCF_LnIACK(x) MCF_REG08(0x0007E4+((x)*0x004))
  3010. +#define MCF_ICR(x) MCF_REG08(0x000740+((x)*0x001))
  3011. +
  3012. +/*
  3013. + * Slice Timers Registers
  3014. + */
  3015. +#define MCF_SLTCNT(x) MCF_REG32(0x000900+((x)*0x010))
  3016. +#define MCF_SCR(x) MCF_REG32(0x000904+((x)*0x010))
  3017. +#define MCF_SCNT(x) MCF_REG32(0x000908+((x)*0x010))
  3018. +#define MCF_SSR(x) MCF_REG32(0x00090C+((x)*0x010))
  3019. +
  3020. +/*
  3021. + * Interrupt sources
  3022. + */
  3023. +#define ISC_EPORT_Fn(x) (x) /* EPORT Interrupts */
  3024. +#define ISC_USB_EPn(x) (15+(x)) /* USB Endopint */
  3025. +#define ISC_USB_ISR (22) /* USB General source */
  3026. +#define ISC_USB_AISR (22) /* USB core source */
  3027. +#define ISC_DSPI_OVRFW (25) /* DSPI overflow */
  3028. +#define ISC_DSPI_RFOF (26)
  3029. +#define ISC_DSPI_RFDF (27)
  3030. +#define ISC_DSPI_TFUF (28)
  3031. +#define ISC_DSPI_TCF (29)
  3032. +#define ISC_DSPI_TFFF (30)
  3033. +#define ISC_DSPI_EOQF (31)
  3034. +#define ISC_PSCn(x) (35-(x))
  3035. +#define ISC_COMM_TIM (36)
  3036. +#define ISC_SEC (37)
  3037. +#define ISC_FEC1 (38)
  3038. +#define ISC_FEC0 (39)
  3039. +#define ISC_I2C (40)
  3040. +#define ISC_PCI_ARB (41)
  3041. +#define ISC_PCI_CB (42)
  3042. +#define ISC_PCI_XLB (43)
  3043. +#define ISC_DMA (48)
  3044. +#define ISC_CANn_ERR(x) (49+(6*(x)))
  3045. +#define ISC_CANn_BUSOFF(x) (50+(6*(x)))
  3046. +#define ISC_CANn_MBOR(x) (51+(6*(x)))
  3047. +#define ISC_CAN0_WAKEIN (52)
  3048. +#define ISC_SLTn(x) (54-(x))
  3049. +#define ISC_GPTn(x) (62-(x))
  3050. +
  3051. +/*
  3052. + * Interrupt level and priorities
  3053. + */
  3054. +#define ILP_TOP (MCF_ICR_IL(5) | MCF_ICR_IP(3))
  3055. +#define ILP_SLT0 (MCF_ICR_IL(5) | MCF_ICR_IP(2))
  3056. +#define ILP_SLT1 (MCF_ICR_IL(5) | MCF_ICR_IP(1))
  3057. +#define ILP_DMA (MCF_ICR_IL(5) | MCF_ICR_IP(0))
  3058. +#define ILP_SEC (MCF_ICR_IL(4) | MCF_ICR_IP(7))
  3059. +#define ILP_FEC0 (MCF_ICR_IL(4) | MCF_ICR_IP(6))
  3060. +#define ILP_FEC1 (MCF_ICR_IL(4) | MCF_ICR_IP(5))
  3061. +#define ILP_PCI_XLB (MCF_ICR_IL(4) | MCF_ICR_IP(4))
  3062. +#define ILP_PCI_ARB (MCF_ICR_IL(4) | MCF_ICR_IP(3))
  3063. +#define ILP_PCI_CB (MCF_ICR_IL(4) | MCF_ICR_IP(2))
  3064. +#define ILP_I2C (MCF_ICR_IL(4) | MCF_ICR_IP(1))
  3065. +
  3066. +#define ILP_USB_EPn(x) (MCF_ICR_IL(3) | MCF_ICR_IP(7-(x)))
  3067. +#define ILP_USB_EP0 (MCF_ICR_IL(3) | MCF_ICR_IP(7))
  3068. +#define ILP_USB_EP1 (MCF_ICR_IL(3) | MCF_ICR_IP(6))
  3069. +#define ILP_USB_EP2 (MCF_ICR_IL(3) | MCF_ICR_IP(5))
  3070. +#define ILP_USB_EP3 (MCF_ICR_IL(3) | MCF_ICR_IP(4))
  3071. +#define ILP_USB_EP4 (MCF_ICR_IL(3) | MCF_ICR_IP(3))
  3072. +#define ILP_USB_EP5 (MCF_ICR_IL(3) | MCF_ICR_IP(2))
  3073. +#define ILP_USB_EP6 (MCF_ICR_IL(3) | MCF_ICR_IP(1))
  3074. +#define ILP_USB_ISR (MCF_ICR_IL(3) | MCF_ICR_IP(0))
  3075. +
  3076. +#define ILP_USB_AISR (MCF_ICR_IL(2) | MCF_ICR_IP(7))
  3077. +#define ILP_DSPI_OVRFW (MCF_ICR_IL(2) | MCF_ICR_IP(6))
  3078. +#define ILP_DSPI_RFOF (MCF_ICR_IL(2) | MCF_ICR_IP(5))
  3079. +#define ILP_DSPI_RFDF (MCF_ICR_IL(2) | MCF_ICR_IP(4))
  3080. +#define ILP_DSPI_TFUF (MCF_ICR_IL(2) | MCF_ICR_IP(3))
  3081. +#define ILP_DSPI_TCF (MCF_ICR_IL(2) | MCF_ICR_IP(2))
  3082. +#define ILP_DSPI_TFFF (MCF_ICR_IL(2) | MCF_ICR_IP(1))
  3083. +#define ILP_DSPI_EOQF (MCF_ICR_IL(2) | MCF_ICR_IP(0))
  3084. +
  3085. +#define ILP_COMM_TIM (MCF_ICR_IL(1) | MCF_ICR_IP(7))
  3086. +#define ILP_PSCn(x) (MCF_ICR_IL(1) | MCF_ICR_IP(3-((x)&3)))
  3087. +#define ILP_PSC0 (MCF_ICR_IL(1) | MCF_ICR_IP(3))
  3088. +#define ILP_PSC1 (MCF_ICR_IL(1) | MCF_ICR_IP(2))
  3089. +#define ILP_PSC2 (MCF_ICR_IL(1) | MCF_ICR_IP(1))
  3090. +#define ILP_PSC3 (MCF_ICR_IL(1) | MCF_ICR_IP(0))
  3091. +
  3092. +
  3093. +
  3094. +
  3095. +
  3096. +/********************************************************************/
  3097. +
  3098. +/*
  3099. + * System Integration Unit Bitfields
  3100. + */
  3101. +
  3102. +/* SBCR */
  3103. +#define MCF_SBCR_PIN2DSPI (0x08000000)
  3104. +#define MCF_SBCR_DMA2CPU (0x10000000)
  3105. +#define MCF_SBCR_CPU2DMA (0x20000000)
  3106. +#define MCF_SBCR_PIN2DMA (0x40000000)
  3107. +#define MCF_SBCR_PIN2CPU (0x80000000)
  3108. +
  3109. +/* SECSACR */
  3110. +#define MCF_SECSACR_SEQEN (0x00000001)
  3111. +
  3112. +/* RSR */
  3113. +#define MCF_RSR_RST (0x00000001)
  3114. +#define MCF_RSR_RSTWD (0x00000002)
  3115. +#define MCF_RSR_RSTJTG (0x00000008)
  3116. +
  3117. +/* JTAGID */
  3118. +#define MCF_JTAGID_REV (0xF0000000)
  3119. +#define MCF_JTAGID_PROCESSOR (0x0FFFFFFF)
  3120. +#define MCF_JTAGID_MCF5485 (0x0800C01D)
  3121. +#define MCF_JTAGID_MCF5484 (0x0800D01D)
  3122. +#define MCF_JTAGID_MCF5483 (0x0800E01D)
  3123. +#define MCF_JTAGID_MCF5482 (0x0800F01D)
  3124. +#define MCF_JTAGID_MCF5481 (0x0801001D)
  3125. +#define MCF_JTAGID_MCF5480 (0x0801101D)
  3126. +#define MCF_JTAGID_MCF5475 (0x0801201D)
  3127. +#define MCF_JTAGID_MCF5474 (0x0801301D)
  3128. +#define MCF_JTAGID_MCF5473 (0x0801401D)
  3129. +#define MCF_JTAGID_MCF5472 (0x0801501D)
  3130. +#define MCF_JTAGID_MCF5471 (0x0801601D)
  3131. +#define MCF_JTAGID_MCF5470 (0x0801701D)
  3132. +
  3133. +
  3134. +/*
  3135. + * Interrupt Controller Bitfields
  3136. + */
  3137. +#define MCF_IRLR_IRQ(x) (((x)&0x7F)<<1)
  3138. +#define MCF_IACKLPR_PRI(x) (((x)&0x0F)<<0)
  3139. +#define MCF_IACKLPR_LEVEL(x) (((x)&0x07)<<4)
  3140. +#define MCF_ICR_IP(x) (((x)&0x07)<<0)
  3141. +#define MCF_ICR_IL(x) (((x)&0x07)<<3)
  3142. +
  3143. +/*
  3144. + * Slice Timers Bitfields
  3145. + */
  3146. +#define MCF_SCR_TEN (0x01000000)
  3147. +#define MCF_SCR_IEN (0x02000000)
  3148. +#define MCF_SCR_RUN (0x04000000)
  3149. +#define MCF_SSR_ST (0x01000000)
  3150. +#define MCF_SSR_BE (0x02000000)
  3151. +
  3152. +
  3153. +/*
  3154. + * Some needed coldfire registers
  3155. + */
  3156. +#define MCF_PAR_PCIBG MCF_REG16(0x000A48)
  3157. +#define MCF_PAR_PCIBR MCF_REG16(0x000A4A)
  3158. +#define MCF_PAR_PSCn(x) MCF_REG08(0x000A4F-((x)&0x3))
  3159. +#define MCF_PAR_FECI2CIRQ MCF_REG16(0x000A44)
  3160. +#define MCF_EPPAR MCF_REG16(0x000F00)
  3161. +#define MCF_EPIER MCF_REG08(0x000F05)
  3162. +#define MCF_EPFR MCF_REG08(0x000F0C)
  3163. +
  3164. +/*
  3165. + * Some GPIO bitfields
  3166. + */
  3167. +#define MCF_PAR_SDA (0x0008)
  3168. +#define MCF_PAR_SCL (0x0004)
  3169. +#define MCF_PAR_PSC_TXD (0x04)
  3170. +#define MCF_PAR_PSC_RXD (0x08)
  3171. +#define MCF_PAR_PSC_RTS(x) (((x)&0x03)<<4)
  3172. +#define MCF_PAR_PSC_CTS(x) (((x)&0x03)<<6)
  3173. +#define MCF_PAR_PSC_CTS_GPIO (0x00)
  3174. +#define MCF_PAR_PSC_CTS_BCLK (0x80)
  3175. +#define MCF_PAR_PSC_CTS_CTS (0xC0)
  3176. +#define MCF_PAR_PSC_RTS_GPIO (0x00)
  3177. +#define MCF_PAR_PSC_RTS_FSYNC (0x20)
  3178. +#define MCF_PAR_PSC_RTS_RTS (0x30)
  3179. +#define MCF_PAR_PSC_CANRX (0x40)
  3180. +
  3181. +
  3182. +/*
  3183. + * Some used coldfire values
  3184. + */
  3185. +#define MCF_EPIER_EPIE(x) (0x01 << (x))
  3186. +#define MCF_EPPAR_EPPAx_FALLING (2)
  3187. +#define MCF_EPPAR_EPPA(n,x) (((x)&0x0003) << (2*n))
  3188. +
  3189. +
  3190. +#endif /* m5485sim_h */
  3191. --- a/include/asm-m68k/mcfsim.h
  3192. +++ b/include/asm-m68k/mcfsim.h
  3193. @@ -20,6 +20,11 @@
  3194. #include <asm/mcf5445x_pci.h>
  3195. #include <asm/mcf5445x_pciarb.h>
  3196. #include <asm/mcf5445x_eport.h>
  3197. +#include <asm/mcf5445x_fbcs.h>
  3198. +#include <asm/mcf5445x_xbs.h>
  3199. +#include <asm/mcf5445x_dtim.h>
  3200. +#elif defined(CONFIG_M547X_8X)
  3201. +#include <asm/m5485sim.h>
  3202. #endif
  3203. /*
  3204. --- a/include/asm-m68k/mcfuart.h
  3205. +++ b/include/asm-m68k/mcfuart.h
  3206. @@ -22,6 +22,15 @@
  3207. #define MCFUART_BASE3 0xfc068000 /* Base address of UART3 */
  3208. #define MCFINT_VECBASE 64
  3209. #define MCFINT_UART0 26
  3210. +
  3211. +#elif defined(CONFIG_M547X_8X)
  3212. +
  3213. +#define MCFUART_BASE1 0x8600 /* Base address of UART1 */
  3214. +#define MCFUART_BASE2 0x8700 /* Base address of UART2 */
  3215. +#define MCFUART_BASE3 0x8800 /* Base address of UART3 */
  3216. +#define MCFUART_BASE4 0x8900 /* Base address of UART4 */
  3217. +#define MCFINT_VECBASE 64
  3218. +#define MCFINT_UART0 35
  3219. #endif
  3220. @@ -97,6 +106,11 @@
  3221. #define MCFUART_USR_RXFULL 0x02 /* Receiver full */
  3222. #define MCFUART_USR_RXREADY 0x01 /* Receiver ready */
  3223. +#if defined(CONFIG_M547X_8X)
  3224. +#define MCFUART_USR_TXREADY_BN 0x0a
  3225. +#define MCFUART_USR_TXEMPTY_BN 0x0b
  3226. +#endif
  3227. +
  3228. #define MCFUART_USR_RXERR (MCFUART_USR_RXBREAK | MCFUART_USR_RXFRAMING | \
  3229. MCFUART_USR_RXPARITY | MCFUART_USR_RXOVERRUN)
  3230. --- a/include/asm-m68k/mmu_context.h
  3231. +++ b/include/asm-m68k/mmu_context.h
  3232. @@ -152,6 +152,7 @@ static inline void activate_mm(struct mm
  3233. #else /* CONFIG_COLDFIRE */
  3234. +#include <asm/coldfire.h>
  3235. #include <asm/atomic.h>
  3236. #include <asm/bitops.h>
  3237. #include <asm/mmu.h>
  3238. @@ -227,6 +228,77 @@ static inline void activate_mm(struct mm
  3239. #define deactivate_mm(tsk, mm) do { } while (0)
  3240. extern void mmu_context_init(void);
  3241. +#if defined(CONFIG_M547X_8X)
  3242. +#define prepare_arch_switch(next) load_ksp_mmu(next)
  3243. +
  3244. +static inline void load_ksp_mmu(struct task_struct *task)
  3245. +{
  3246. + int flags;
  3247. + struct mm_struct *mm;
  3248. + int asid;
  3249. + pgd_t *pgd;
  3250. + pmd_t *pmd;
  3251. + pte_t *pte;
  3252. + unsigned long mmuar;
  3253. +
  3254. + local_irq_save(flags);
  3255. + mmuar = task->thread.ksp;
  3256. +
  3257. + /* Search for a valid TLB entry, if one is found, don't remap */
  3258. + *MMUAR = mmuar;
  3259. + *MMUOR = MMUOR_STLB | MMUOR_ADR;
  3260. + if ((*MMUSR) & MMUSR_HIT)
  3261. + goto end;
  3262. +
  3263. + if (mmuar >= PAGE_OFFSET) {
  3264. + mm = &init_mm;
  3265. + } else {
  3266. + printk ("load_ksp_mmu: non-kernel mm found: 0x%08x\n", (unsigned int) task->mm);
  3267. + mm = task->mm;
  3268. + }
  3269. +
  3270. + if (!mm)
  3271. + goto bug;
  3272. +
  3273. + pgd = pgd_offset(mm, mmuar);
  3274. + if (pgd_none(*pgd))
  3275. + goto bug;
  3276. +
  3277. + pmd = pmd_offset(pgd, mmuar);
  3278. + if (pmd_none(*pmd))
  3279. + goto bug;
  3280. +
  3281. + pte = (mmuar >= PAGE_OFFSET) ? pte_offset_kernel(pmd, mmuar)
  3282. + : pte_offset_map(pmd, mmuar);
  3283. + if (pte_none(*pte) || !pte_present(*pte))
  3284. + goto bug;
  3285. +
  3286. + set_pte(pte, pte_mkyoung(*pte));
  3287. + asid = mm->context & 0xff;
  3288. + if (!pte_dirty(*pte) && mmuar<=PAGE_OFFSET)
  3289. + set_pte(pte, pte_wrprotect(*pte));
  3290. +
  3291. + *MMUTR = (mmuar & PAGE_MASK) | (asid << CF_ASID_MMU_SHIFT)
  3292. + | (((int)(pte->pte) & (int)CF_PAGE_MMUTR_MASK ) >> CF_PAGE_MMUTR_SHIFT)
  3293. + | MMUTR_V;
  3294. +
  3295. + *MMUDR = (pte_val(*pte) & PAGE_MASK)
  3296. + | ((pte->pte) & CF_PAGE_MMUDR_MASK)
  3297. + | MMUDR_SZ8K | MMUDR_X;
  3298. +
  3299. + *MMUOR = MMUOR_ACC | MMUOR_UAA;
  3300. + asm ("nop");
  3301. +
  3302. + goto end;
  3303. +
  3304. +bug:
  3305. + printk ("ksp load failed: mm=0x%08x ksp=0x%08x\n", (unsigned int) mm, (unsigned int) mmuar);
  3306. +
  3307. +end:
  3308. + local_irq_restore(flags);
  3309. +}
  3310. +
  3311. +#endif /* CONFIG_M547X_8X */
  3312. #endif /* CONFIG_COLDFIRE */
  3313. #endif
  3314. --- a/include/asm-m68k/page_offset.h
  3315. +++ b/include/asm-m68k/page_offset.h
  3316. @@ -5,7 +5,12 @@
  3317. #elif defined(CONFIG_SUN3)
  3318. #define PAGE_OFFSET_RAW 0x0E000000
  3319. #else /* CONFIG_COLDFIRE */
  3320. +#if defined(CONFIG_M54455)
  3321. #define PAGE_OFFSET_RAW 0xC0000000
  3322. #define PHYS_OFFSET 0x40000000
  3323. +#elif defined(CONFIG_M547X_8X)
  3324. +#define PAGE_OFFSET_RAW 0xC0000000
  3325. +#define PHYS_OFFSET 0x00000000
  3326. +#endif
  3327. #endif