pfc-sh7264.c 56 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * SH7264 Pinmux
  4. *
  5. * Copyright (C) 2012 Renesas Electronics Europe Ltd
  6. */
  7. #include <linux/kernel.h>
  8. #include <linux/gpio.h>
  9. #include <cpu/sh7264.h>
  10. #include "sh_pfc.h"
  11. enum {
  12. PINMUX_RESERVED = 0,
  13. PINMUX_DATA_BEGIN,
  14. /* Port A */
  15. PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,
  16. /* Port B */
  17. PB22_DATA, PB21_DATA, PB20_DATA,
  18. PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA,
  19. PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
  20. PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
  21. PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
  22. PB3_DATA, PB2_DATA, PB1_DATA,
  23. /* Port C */
  24. PC10_DATA, PC9_DATA, PC8_DATA,
  25. PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
  26. PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA,
  27. /* Port D */
  28. PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
  29. PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
  30. PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
  31. PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA,
  32. /* Port E */
  33. PE5_DATA, PE4_DATA,
  34. PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,
  35. /* Port F */
  36. PF12_DATA,
  37. PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
  38. PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
  39. PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA,
  40. /* Port G */
  41. PG24_DATA,
  42. PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
  43. PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA,
  44. PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
  45. PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
  46. PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
  47. PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA,
  48. /* Port H */
  49. /* NOTE - Port H does not have a Data Register, but PH Data is
  50. connected to PH Port Register */
  51. PH7_DATA, PH6_DATA, PH5_DATA, PH4_DATA,
  52. PH3_DATA, PH2_DATA, PH1_DATA, PH0_DATA,
  53. /* Port I - not on device */
  54. /* Port J */
  55. PJ12_DATA,
  56. PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
  57. PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
  58. PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA,
  59. /* Port K */
  60. PK12_DATA,
  61. PK11_DATA, PK10_DATA, PK9_DATA, PK8_DATA,
  62. PK7_DATA, PK6_DATA, PK5_DATA, PK4_DATA,
  63. PK3_DATA, PK2_DATA, PK1_DATA, PK0_DATA,
  64. PINMUX_DATA_END,
  65. PINMUX_INPUT_BEGIN,
  66. FORCE_IN,
  67. /* Port A */
  68. PA3_IN, PA2_IN, PA1_IN, PA0_IN,
  69. /* Port B */
  70. PB22_IN, PB21_IN, PB20_IN,
  71. PB19_IN, PB18_IN, PB17_IN, PB16_IN,
  72. PB15_IN, PB14_IN, PB13_IN, PB12_IN,
  73. PB11_IN, PB10_IN, PB9_IN, PB8_IN,
  74. PB7_IN, PB6_IN, PB5_IN, PB4_IN,
  75. PB3_IN, PB2_IN, PB1_IN,
  76. /* Port C */
  77. PC10_IN, PC9_IN, PC8_IN,
  78. PC7_IN, PC6_IN, PC5_IN, PC4_IN,
  79. PC3_IN, PC2_IN, PC1_IN, PC0_IN,
  80. /* Port D */
  81. PD15_IN, PD14_IN, PD13_IN, PD12_IN,
  82. PD11_IN, PD10_IN, PD9_IN, PD8_IN,
  83. PD7_IN, PD6_IN, PD5_IN, PD4_IN,
  84. PD3_IN, PD2_IN, PD1_IN, PD0_IN,
  85. /* Port E */
  86. PE5_IN, PE4_IN,
  87. PE3_IN, PE2_IN, PE1_IN, PE0_IN,
  88. /* Port F */
  89. PF12_IN,
  90. PF11_IN, PF10_IN, PF9_IN, PF8_IN,
  91. PF7_IN, PF6_IN, PF5_IN, PF4_IN,
  92. PF3_IN, PF2_IN, PF1_IN, PF0_IN,
  93. /* Port G */
  94. PG24_IN,
  95. PG23_IN, PG22_IN, PG21_IN, PG20_IN,
  96. PG19_IN, PG18_IN, PG17_IN, PG16_IN,
  97. PG15_IN, PG14_IN, PG13_IN, PG12_IN,
  98. PG11_IN, PG10_IN, PG9_IN, PG8_IN,
  99. PG7_IN, PG6_IN, PG5_IN, PG4_IN,
  100. PG3_IN, PG2_IN, PG1_IN, PG0_IN,
  101. /* Port H - Port H does not have a Data Register */
  102. /* Port I - not on device */
  103. /* Port J */
  104. PJ12_IN,
  105. PJ11_IN, PJ10_IN, PJ9_IN, PJ8_IN,
  106. PJ7_IN, PJ6_IN, PJ5_IN, PJ4_IN,
  107. PJ3_IN, PJ2_IN, PJ1_IN, PJ0_IN,
  108. /* Port K */
  109. PK12_IN,
  110. PK11_IN, PK10_IN, PK9_IN, PK8_IN,
  111. PK7_IN, PK6_IN, PK5_IN, PK4_IN,
  112. PK3_IN, PK2_IN, PK1_IN, PK0_IN,
  113. PINMUX_INPUT_END,
  114. PINMUX_OUTPUT_BEGIN,
  115. FORCE_OUT,
  116. /* Port A */
  117. PA3_OUT, PA2_OUT, PA1_OUT, PA0_OUT,
  118. /* Port B */
  119. PB22_OUT, PB21_OUT, PB20_OUT,
  120. PB19_OUT, PB18_OUT, PB17_OUT, PB16_OUT,
  121. PB15_OUT, PB14_OUT, PB13_OUT, PB12_OUT,
  122. PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT,
  123. PB7_OUT, PB6_OUT, PB5_OUT, PB4_OUT,
  124. PB3_OUT, PB2_OUT, PB1_OUT,
  125. /* Port C */
  126. PC10_OUT, PC9_OUT, PC8_OUT,
  127. PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT,
  128. PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT,
  129. /* Port D */
  130. PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT,
  131. PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT,
  132. PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT,
  133. PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT,
  134. /* Port E */
  135. PE5_OUT, PE4_OUT,
  136. PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,
  137. /* Port F */
  138. PF12_OUT,
  139. PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT,
  140. PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT,
  141. PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT,
  142. /* Port G */
  143. PG24_OUT,
  144. PG23_OUT, PG22_OUT, PG21_OUT, PG20_OUT,
  145. PG19_OUT, PG18_OUT, PG17_OUT, PG16_OUT,
  146. PG15_OUT, PG14_OUT, PG13_OUT, PG12_OUT,
  147. PG11_OUT, PG10_OUT, PG9_OUT, PG8_OUT,
  148. PG7_OUT, PG6_OUT, PG5_OUT, PG4_OUT,
  149. PG3_OUT, PG2_OUT, PG1_OUT, PG0_OUT,
  150. /* Port H - Port H does not have a Data Register */
  151. /* Port I - not on device */
  152. /* Port J */
  153. PJ12_OUT,
  154. PJ11_OUT, PJ10_OUT, PJ9_OUT, PJ8_OUT,
  155. PJ7_OUT, PJ6_OUT, PJ5_OUT, PJ4_OUT,
  156. PJ3_OUT, PJ2_OUT, PJ1_OUT, PJ0_OUT,
  157. /* Port K */
  158. PK12_OUT,
  159. PK11_OUT, PK10_OUT, PK9_OUT, PK8_OUT,
  160. PK7_OUT, PK6_OUT, PK5_OUT, PK4_OUT,
  161. PK3_OUT, PK2_OUT, PK1_OUT, PK0_OUT,
  162. PINMUX_OUTPUT_END,
  163. PINMUX_FUNCTION_BEGIN,
  164. /* Port A */
  165. PA3_IOR_IN, PA3_IOR_OUT,
  166. PA2_IOR_IN, PA2_IOR_OUT,
  167. PA1_IOR_IN, PA1_IOR_OUT,
  168. PA0_IOR_IN, PA0_IOR_OUT,
  169. /* Port B */
  170. PB11_IOR_IN, PB11_IOR_OUT,
  171. PB10_IOR_IN, PB10_IOR_OUT,
  172. PB9_IOR_IN, PB9_IOR_OUT,
  173. PB8_IOR_IN, PB8_IOR_OUT,
  174. PB22MD_00, PB22MD_01, PB22MD_10,
  175. PB21MD_0, PB21MD_1,
  176. PB20MD_0, PB20MD_1,
  177. PB19MD_00, PB19MD_01, PB19MD_10, PB19MD_11,
  178. PB18MD_00, PB18MD_01, PB18MD_10, PB18MD_11,
  179. PB17MD_00, PB17MD_01, PB17MD_10, PB17MD_11,
  180. PB16MD_00, PB16MD_01, PB16MD_10, PB16MD_11,
  181. PB15MD_00, PB15MD_01, PB15MD_10, PB15MD_11,
  182. PB14MD_00, PB14MD_01, PB14MD_10, PB14MD_11,
  183. PB13MD_00, PB13MD_01, PB13MD_10, PB13MD_11,
  184. PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
  185. PB11MD_00, PB11MD_01, PB11MD_10, PB11MD_11,
  186. PB10MD_00, PB10MD_01, PB10MD_10, PB10MD_11,
  187. PB9MD_00, PB9MD_01, PB9MD_10, PB9MD_11,
  188. PB8MD_00, PB8MD_01, PB8MD_10, PB8MD_11,
  189. PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
  190. PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
  191. PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
  192. PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
  193. PB3MD_0, PB3MD_1,
  194. PB2MD_0, PB2MD_1,
  195. PB1MD_0, PB1MD_1,
  196. /* Port C */
  197. PC14_IOR_IN, PC14_IOR_OUT,
  198. PC13_IOR_IN, PC13_IOR_OUT,
  199. PC12_IOR_IN, PC12_IOR_OUT,
  200. PC11_IOR_IN, PC11_IOR_OUT,
  201. PC10_IOR_IN, PC10_IOR_OUT,
  202. PC9_IOR_IN, PC9_IOR_OUT,
  203. PC8_IOR_IN, PC8_IOR_OUT,
  204. PC7_IOR_IN, PC7_IOR_OUT,
  205. PC6_IOR_IN, PC6_IOR_OUT,
  206. PC5_IOR_IN, PC5_IOR_OUT,
  207. PC4_IOR_IN, PC4_IOR_OUT,
  208. PC3_IOR_IN, PC3_IOR_OUT,
  209. PC2_IOR_IN, PC2_IOR_OUT,
  210. PC1_IOR_IN, PC1_IOR_OUT,
  211. PC0_IOR_IN, PC0_IOR_OUT,
  212. PC10MD_0, PC10MD_1,
  213. PC9MD_0, PC9MD_1,
  214. PC8MD_00, PC8MD_01, PC8MD_10, PC8MD_11,
  215. PC7MD_00, PC7MD_01, PC7MD_10, PC7MD_11,
  216. PC6MD_00, PC6MD_01, PC6MD_10, PC6MD_11,
  217. PC5MD_00, PC5MD_01, PC5MD_10, PC5MD_11,
  218. PC4MD_0, PC4MD_1,
  219. PC3MD_0, PC3MD_1,
  220. PC2MD_0, PC2MD_1,
  221. PC1MD_0, PC1MD_1,
  222. PC0MD_0, PC0MD_1,
  223. /* Port D */
  224. PD15_IOR_IN, PD15_IOR_OUT,
  225. PD14_IOR_IN, PD14_IOR_OUT,
  226. PD13_IOR_IN, PD13_IOR_OUT,
  227. PD12_IOR_IN, PD12_IOR_OUT,
  228. PD11_IOR_IN, PD11_IOR_OUT,
  229. PD10_IOR_IN, PD10_IOR_OUT,
  230. PD9_IOR_IN, PD9_IOR_OUT,
  231. PD8_IOR_IN, PD8_IOR_OUT,
  232. PD7_IOR_IN, PD7_IOR_OUT,
  233. PD6_IOR_IN, PD6_IOR_OUT,
  234. PD5_IOR_IN, PD5_IOR_OUT,
  235. PD4_IOR_IN, PD4_IOR_OUT,
  236. PD3_IOR_IN, PD3_IOR_OUT,
  237. PD2_IOR_IN, PD2_IOR_OUT,
  238. PD1_IOR_IN, PD1_IOR_OUT,
  239. PD0_IOR_IN, PD0_IOR_OUT,
  240. PD15MD_00, PD15MD_01, PD15MD_10, PD15MD_11,
  241. PD14MD_00, PD14MD_01, PD14MD_10, PD14MD_11,
  242. PD13MD_00, PD13MD_01, PD13MD_10, PD13MD_11,
  243. PD12MD_00, PD12MD_01, PD12MD_10, PD12MD_11,
  244. PD11MD_00, PD11MD_01, PD11MD_10, PD11MD_11,
  245. PD10MD_00, PD10MD_01, PD10MD_10, PD10MD_11,
  246. PD9MD_00, PD9MD_01, PD9MD_10, PD9MD_11,
  247. PD8MD_00, PD8MD_01, PD8MD_10, PD8MD_11,
  248. PD7MD_00, PD7MD_01, PD7MD_10, PD7MD_11,
  249. PD6MD_00, PD6MD_01, PD6MD_10, PD6MD_11,
  250. PD5MD_00, PD5MD_01, PD5MD_10, PD5MD_11,
  251. PD4MD_00, PD4MD_01, PD4MD_10, PD4MD_11,
  252. PD3MD_00, PD3MD_01, PD3MD_10, PD3MD_11,
  253. PD2MD_00, PD2MD_01, PD2MD_10, PD2MD_11,
  254. PD1MD_00, PD1MD_01, PD1MD_10, PD1MD_11,
  255. PD0MD_00, PD0MD_01, PD0MD_10, PD0MD_11,
  256. /* Port E */
  257. PE5_IOR_IN, PE5_IOR_OUT,
  258. PE4_IOR_IN, PE4_IOR_OUT,
  259. PE3_IOR_IN, PE3_IOR_OUT,
  260. PE2_IOR_IN, PE2_IOR_OUT,
  261. PE1_IOR_IN, PE1_IOR_OUT,
  262. PE0_IOR_IN, PE0_IOR_OUT,
  263. PE5MD_00, PE5MD_01, PE5MD_10, PE5MD_11,
  264. PE4MD_00, PE4MD_01, PE4MD_10, PE4MD_11,
  265. PE3MD_00, PE3MD_01, PE3MD_10, PE3MD_11,
  266. PE2MD_00, PE2MD_01, PE2MD_10, PE2MD_11,
  267. PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
  268. PE1MD_100, PE1MD_101, PE1MD_110, PE1MD_111,
  269. PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11,
  270. /* Port F */
  271. PF12_IOR_IN, PF12_IOR_OUT,
  272. PF11_IOR_IN, PF11_IOR_OUT,
  273. PF10_IOR_IN, PF10_IOR_OUT,
  274. PF9_IOR_IN, PF9_IOR_OUT,
  275. PF8_IOR_IN, PF8_IOR_OUT,
  276. PF7_IOR_IN, PF7_IOR_OUT,
  277. PF6_IOR_IN, PF6_IOR_OUT,
  278. PF5_IOR_IN, PF5_IOR_OUT,
  279. PF4_IOR_IN, PF4_IOR_OUT,
  280. PF3_IOR_IN, PF3_IOR_OUT,
  281. PF2_IOR_IN, PF2_IOR_OUT,
  282. PF1_IOR_IN, PF1_IOR_OUT,
  283. PF0_IOR_IN, PF0_IOR_OUT,
  284. PF12MD_000, PF12MD_001, PF12MD_010, PF12MD_011,
  285. PF12MD_100, PF12MD_101, PF12MD_110, PF12MD_111,
  286. PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
  287. PF11MD_100, PF11MD_101, PF11MD_110, PF11MD_111,
  288. PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
  289. PF10MD_100, PF10MD_101, PF10MD_110, PF10MD_111,
  290. PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
  291. PF9MD_100, PF9MD_101, PF9MD_110, PF9MD_111,
  292. PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11,
  293. PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
  294. PF7MD_100, PF7MD_101, PF7MD_110, PF7MD_111,
  295. PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
  296. PF6MD_100, PF6MD_101, PF6MD_110, PF6MD_111,
  297. PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
  298. PF5MD_100, PF5MD_101, PF5MD_110, PF5MD_111,
  299. PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
  300. PF4MD_100, PF4MD_101, PF4MD_110, PF4MD_111,
  301. PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
  302. PF3MD_100, PF3MD_101, PF3MD_110, PF3MD_111,
  303. PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
  304. PF2MD_100, PF2MD_101, PF2MD_110, PF2MD_111,
  305. PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
  306. PF1MD_100, PF1MD_101, PF1MD_110, PF1MD_111,
  307. PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011,
  308. PF0MD_100, PF0MD_101, PF0MD_110, PF0MD_111,
  309. /* Port G */
  310. PG24_IOR_IN, PG24_IOR_OUT,
  311. PG23_IOR_IN, PG23_IOR_OUT,
  312. PG22_IOR_IN, PG22_IOR_OUT,
  313. PG21_IOR_IN, PG21_IOR_OUT,
  314. PG20_IOR_IN, PG20_IOR_OUT,
  315. PG19_IOR_IN, PG19_IOR_OUT,
  316. PG18_IOR_IN, PG18_IOR_OUT,
  317. PG17_IOR_IN, PG17_IOR_OUT,
  318. PG16_IOR_IN, PG16_IOR_OUT,
  319. PG15_IOR_IN, PG15_IOR_OUT,
  320. PG14_IOR_IN, PG14_IOR_OUT,
  321. PG13_IOR_IN, PG13_IOR_OUT,
  322. PG12_IOR_IN, PG12_IOR_OUT,
  323. PG11_IOR_IN, PG11_IOR_OUT,
  324. PG10_IOR_IN, PG10_IOR_OUT,
  325. PG9_IOR_IN, PG9_IOR_OUT,
  326. PG8_IOR_IN, PG8_IOR_OUT,
  327. PG7_IOR_IN, PG7_IOR_OUT,
  328. PG6_IOR_IN, PG6_IOR_OUT,
  329. PG5_IOR_IN, PG5_IOR_OUT,
  330. PG4_IOR_IN, PG4_IOR_OUT,
  331. PG3_IOR_IN, PG3_IOR_OUT,
  332. PG2_IOR_IN, PG2_IOR_OUT,
  333. PG1_IOR_IN, PG1_IOR_OUT,
  334. PG0_IOR_IN, PG0_IOR_OUT,
  335. PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11,
  336. PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11,
  337. PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11,
  338. PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11,
  339. PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
  340. PG20MD_100, PG20MD_101, PG20MD_110, PG20MD_111,
  341. PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
  342. PG19MD_100, PG19MD_101, PG19MD_110, PG19MD_111,
  343. PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
  344. PG18MD_100, PG18MD_101, PG18MD_110, PG18MD_111,
  345. PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011,
  346. PG17MD_100, PG17MD_101, PG17MD_110, PG17MD_111,
  347. PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011,
  348. PG16MD_100, PG16MD_101, PG16MD_110, PG16MD_111,
  349. PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011,
  350. PG15MD_100, PG15MD_101, PG15MD_110, PG15MD_111,
  351. PG14MD_000, PG14MD_001, PG14MD_010, PG14MD_011,
  352. PG14MD_100, PG14MD_101, PG14MD_110, PG14MD_111,
  353. PG13MD_000, PG13MD_001, PG13MD_010, PG13MD_011,
  354. PG13MD_100, PG13MD_101, PG13MD_110, PG13MD_111,
  355. PG12MD_000, PG12MD_001, PG12MD_010, PG12MD_011,
  356. PG12MD_100, PG12MD_101, PG12MD_110, PG12MD_111,
  357. PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
  358. PG11MD_100, PG11MD_101, PG11MD_110, PG11MD_111,
  359. PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
  360. PG10MD_100, PG10MD_101, PG10MD_110, PG10MD_111,
  361. PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
  362. PG9MD_100, PG9MD_101, PG9MD_110, PG9MD_111,
  363. PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
  364. PG8MD_100, PG8MD_101, PG8MD_110, PG8MD_111,
  365. PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11,
  366. PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11,
  367. PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11,
  368. PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11,
  369. PG3MD_00, PG3MD_01, PG3MD_10, PG3MD_11,
  370. PG2MD_00, PG2MD_01, PG2MD_10, PG2MD_11,
  371. PG1MD_00, PG1MD_01, PG1MD_10, PG1MD_11,
  372. PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
  373. PG0MD_100, PG0MD_101, PG0MD_110, PG0MD_111,
  374. /* Port H */
  375. PH7MD_0, PH7MD_1,
  376. PH6MD_0, PH6MD_1,
  377. PH5MD_0, PH5MD_1,
  378. PH4MD_0, PH4MD_1,
  379. PH3MD_0, PH3MD_1,
  380. PH2MD_0, PH2MD_1,
  381. PH1MD_0, PH1MD_1,
  382. PH0MD_0, PH0MD_1,
  383. /* Port I - not on device */
  384. /* Port J */
  385. PJ11_IOR_IN, PJ11_IOR_OUT,
  386. PJ10_IOR_IN, PJ10_IOR_OUT,
  387. PJ9_IOR_IN, PJ9_IOR_OUT,
  388. PJ8_IOR_IN, PJ8_IOR_OUT,
  389. PJ7_IOR_IN, PJ7_IOR_OUT,
  390. PJ6_IOR_IN, PJ6_IOR_OUT,
  391. PJ5_IOR_IN, PJ5_IOR_OUT,
  392. PJ4_IOR_IN, PJ4_IOR_OUT,
  393. PJ3_IOR_IN, PJ3_IOR_OUT,
  394. PJ2_IOR_IN, PJ2_IOR_OUT,
  395. PJ1_IOR_IN, PJ1_IOR_OUT,
  396. PJ0_IOR_IN, PJ0_IOR_OUT,
  397. PJ11MD_00, PJ11MD_01, PJ11MD_10, PJ11MD_11,
  398. PJ10MD_00, PJ10MD_01, PJ10MD_10, PJ10MD_11,
  399. PJ9MD_00, PJ9MD_01, PJ9MD_10, PJ9MD_11,
  400. PJ8MD_00, PJ8MD_01, PJ8MD_10, PJ8MD_11,
  401. PJ7MD_00, PJ7MD_01, PJ7MD_10, PJ7MD_11,
  402. PJ6MD_00, PJ6MD_01, PJ6MD_10, PJ6MD_11,
  403. PJ5MD_00, PJ5MD_01, PJ5MD_10, PJ5MD_11,
  404. PJ4MD_00, PJ4MD_01, PJ4MD_10, PJ4MD_11,
  405. PJ3MD_00, PJ3MD_01, PJ3MD_10, PJ3MD_11,
  406. PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
  407. PJ2MD_100, PJ2MD_101, PJ2MD_110, PJ2MD_111,
  408. PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
  409. PJ1MD_100, PJ1MD_101, PJ1MD_110, PJ1MD_111,
  410. PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
  411. PJ0MD_100, PJ0MD_101, PJ0MD_110, PJ0MD_111,
  412. /* Port K */
  413. PK11_IOR_IN, PK11_IOR_OUT,
  414. PK10_IOR_IN, PK10_IOR_OUT,
  415. PK9_IOR_IN, PK9_IOR_OUT,
  416. PK8_IOR_IN, PK8_IOR_OUT,
  417. PK7_IOR_IN, PK7_IOR_OUT,
  418. PK6_IOR_IN, PK6_IOR_OUT,
  419. PK5_IOR_IN, PK5_IOR_OUT,
  420. PK4_IOR_IN, PK4_IOR_OUT,
  421. PK3_IOR_IN, PK3_IOR_OUT,
  422. PK2_IOR_IN, PK2_IOR_OUT,
  423. PK1_IOR_IN, PK1_IOR_OUT,
  424. PK0_IOR_IN, PK0_IOR_OUT,
  425. PK11MD_00, PK11MD_01, PK11MD_10, PK11MD_11,
  426. PK10MD_00, PK10MD_01, PK10MD_10, PK10MD_11,
  427. PK9MD_00, PK9MD_01, PK9MD_10, PK9MD_11,
  428. PK8MD_00, PK8MD_01, PK8MD_10, PK8MD_11,
  429. PK7MD_00, PK7MD_01, PK7MD_10, PK7MD_11,
  430. PK6MD_00, PK6MD_01, PK6MD_10, PK6MD_11,
  431. PK5MD_00, PK5MD_01, PK5MD_10, PK5MD_11,
  432. PK4MD_00, PK4MD_01, PK4MD_10, PK4MD_11,
  433. PK3MD_00, PK3MD_01, PK3MD_10, PK3MD_11,
  434. PK2MD_00, PK2MD_01, PK2MD_10, PK2MD_11,
  435. PK1MD_00, PK1MD_01, PK1MD_10, PK1MD_11,
  436. PK0MD_00, PK0MD_01, PK0MD_10, PK0MD_11,
  437. PINMUX_FUNCTION_END,
  438. PINMUX_MARK_BEGIN,
  439. /* Port A */
  440. /* Port B */
  441. /* Port C */
  442. /* Port D */
  443. /* Port E */
  444. /* Port F */
  445. /* Port G */
  446. /* Port H */
  447. PHAN7_MARK, PHAN6_MARK, PHAN5_MARK, PHAN4_MARK,
  448. PHAN3_MARK, PHAN2_MARK, PHAN1_MARK, PHAN0_MARK,
  449. /* Port I - not on device */
  450. /* Port J */
  451. /* Port K */
  452. IRQ7_PC_MARK, IRQ6_PC_MARK, IRQ5_PC_MARK, IRQ4_PC_MARK,
  453. IRQ3_PG_MARK, IRQ2_PG_MARK, IRQ1_PJ_MARK, IRQ0_PJ_MARK,
  454. IRQ3_PE_MARK, IRQ2_PE_MARK, IRQ1_PE_MARK, IRQ0_PE_MARK,
  455. PINT7_PG_MARK, PINT6_PG_MARK, PINT5_PG_MARK, PINT4_PG_MARK,
  456. PINT3_PG_MARK, PINT2_PG_MARK, PINT1_PG_MARK, PINT0_PG_MARK,
  457. SD_CD_MARK, SD_D0_MARK, SD_D1_MARK, SD_D2_MARK, SD_D3_MARK,
  458. SD_WP_MARK, SD_CLK_MARK, SD_CMD_MARK,
  459. CRX0_MARK, CRX1_MARK,
  460. CTX0_MARK, CTX1_MARK,
  461. CRX0_CRX1_MARK, CTX0_CTX1_MARK,
  462. PWM1A_MARK, PWM1B_MARK, PWM1C_MARK, PWM1D_MARK,
  463. PWM1E_MARK, PWM1F_MARK, PWM1G_MARK, PWM1H_MARK,
  464. PWM2A_MARK, PWM2B_MARK, PWM2C_MARK, PWM2D_MARK,
  465. PWM2E_MARK, PWM2F_MARK, PWM2G_MARK, PWM2H_MARK,
  466. IERXD_MARK, IETXD_MARK,
  467. WDTOVF_MARK,
  468. /* DMAC */
  469. TEND0_MARK, DACK0_MARK, DREQ0_MARK,
  470. TEND1_MARK, DACK1_MARK, DREQ1_MARK,
  471. /* ADC */
  472. ADTRG_MARK,
  473. /* BSC */
  474. A25_MARK, A24_MARK,
  475. A23_MARK, A22_MARK, A21_MARK, A20_MARK,
  476. A19_MARK, A18_MARK, A17_MARK, A16_MARK,
  477. A15_MARK, A14_MARK, A13_MARK, A12_MARK,
  478. A11_MARK, A10_MARK, A9_MARK, A8_MARK,
  479. A7_MARK, A6_MARK, A5_MARK, A4_MARK,
  480. A3_MARK, A2_MARK, A1_MARK, A0_MARK,
  481. D15_MARK, D14_MARK, D13_MARK, D12_MARK,
  482. D11_MARK, D10_MARK, D9_MARK, D8_MARK,
  483. D7_MARK, D6_MARK, D5_MARK, D4_MARK,
  484. D3_MARK, D2_MARK, D1_MARK, D0_MARK,
  485. BS_MARK,
  486. CS4_MARK, CS3_MARK, CS2_MARK, CS1_MARK, CS0_MARK,
  487. CS6CE1B_MARK, CS5CE1A_MARK,
  488. CE2A_MARK, CE2B_MARK,
  489. RD_MARK, RDWR_MARK,
  490. ICIOWRAH_MARK,
  491. ICIORD_MARK,
  492. WE1DQMUWE_MARK,
  493. WE0DQML_MARK,
  494. RAS_MARK, CAS_MARK, CKE_MARK,
  495. WAIT_MARK, BREQ_MARK, BACK_MARK, IOIS16_MARK,
  496. /* TMU */
  497. TIOC0A_MARK, TIOC0B_MARK, TIOC0C_MARK, TIOC0D_MARK,
  498. TIOC1A_MARK, TIOC1B_MARK,
  499. TIOC2A_MARK, TIOC2B_MARK,
  500. TIOC3A_MARK, TIOC3B_MARK, TIOC3C_MARK, TIOC3D_MARK,
  501. TIOC4A_MARK, TIOC4B_MARK, TIOC4C_MARK, TIOC4D_MARK,
  502. TCLKA_MARK, TCLKB_MARK, TCLKC_MARK, TCLKD_MARK,
  503. /* SCIF */
  504. SCK0_MARK, SCK1_MARK, SCK2_MARK, SCK3_MARK,
  505. RXD0_MARK, RXD1_MARK, RXD2_MARK, RXD3_MARK,
  506. TXD0_MARK, TXD1_MARK, TXD2_MARK, TXD3_MARK,
  507. RXD4_MARK, RXD5_MARK, RXD6_MARK, RXD7_MARK,
  508. TXD4_MARK, TXD5_MARK, TXD6_MARK, TXD7_MARK,
  509. RTS1_MARK, RTS3_MARK,
  510. CTS1_MARK, CTS3_MARK,
  511. /* RSPI */
  512. RSPCK0_MARK, RSPCK1_MARK,
  513. MOSI0_MARK, MOSI1_MARK,
  514. MISO0_PF12_MARK, MISO1_MARK, MISO1_PG19_MARK,
  515. SSL00_MARK, SSL10_MARK,
  516. /* IIC3 */
  517. SCL0_MARK, SCL1_MARK, SCL2_MARK,
  518. SDA0_MARK, SDA1_MARK, SDA2_MARK,
  519. /* SSI */
  520. SSISCK0_MARK,
  521. SSIWS0_MARK,
  522. SSITXD0_MARK,
  523. SSIRXD0_MARK,
  524. SSIWS1_MARK, SSIWS2_MARK, SSIWS3_MARK,
  525. SSISCK1_MARK, SSISCK2_MARK, SSISCK3_MARK,
  526. SSIDATA1_MARK, SSIDATA2_MARK, SSIDATA3_MARK,
  527. AUDIO_CLK_MARK,
  528. /* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
  529. SIOFTXD_MARK, SIOFRXD_MARK, SIOFSYNC_MARK, SIOFSCK_MARK,
  530. /* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
  531. SPDIF_IN_MARK, SPDIF_OUT_MARK,
  532. /* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
  533. FCE_MARK,
  534. FRB_MARK,
  535. /* VDC3 */
  536. DV_CLK_MARK,
  537. DV_VSYNC_MARK, DV_HSYNC_MARK,
  538. DV_DATA7_MARK, DV_DATA6_MARK, DV_DATA5_MARK, DV_DATA4_MARK,
  539. DV_DATA3_MARK, DV_DATA2_MARK, DV_DATA1_MARK, DV_DATA0_MARK,
  540. LCD_CLK_MARK, LCD_EXTCLK_MARK,
  541. LCD_VSYNC_MARK, LCD_HSYNC_MARK, LCD_DE_MARK,
  542. LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK,
  543. LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK,
  544. LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK,
  545. LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK,
  546. LCD_M_DISP_MARK,
  547. PINMUX_MARK_END,
  548. };
  549. static const u16 pinmux_data[] = {
  550. /* Port A */
  551. PINMUX_DATA(PA3_DATA, PA3_IN),
  552. PINMUX_DATA(PA2_DATA, PA2_IN),
  553. PINMUX_DATA(PA1_DATA, PA1_IN),
  554. PINMUX_DATA(PA0_DATA, PA0_IN),
  555. /* Port B */
  556. PINMUX_DATA(PB22_DATA, PB22MD_00, PB22_IN, PB22_OUT),
  557. PINMUX_DATA(A22_MARK, PB22MD_01),
  558. PINMUX_DATA(CS4_MARK, PB22MD_10),
  559. PINMUX_DATA(PB21_DATA, PB21MD_0, PB21_IN, PB21_OUT),
  560. PINMUX_DATA(A21_MARK, PB21MD_1),
  561. PINMUX_DATA(A20_MARK, PB20MD_1),
  562. PINMUX_DATA(A19_MARK, PB19MD_01),
  563. PINMUX_DATA(A18_MARK, PB18MD_01),
  564. PINMUX_DATA(A17_MARK, PB17MD_01),
  565. PINMUX_DATA(A16_MARK, PB16MD_01),
  566. PINMUX_DATA(A15_MARK, PB15MD_01),
  567. PINMUX_DATA(A14_MARK, PB14MD_01),
  568. PINMUX_DATA(A13_MARK, PB13MD_01),
  569. PINMUX_DATA(A12_MARK, PB12MD_01),
  570. PINMUX_DATA(A11_MARK, PB11MD_01),
  571. PINMUX_DATA(A10_MARK, PB10MD_01),
  572. PINMUX_DATA(A9_MARK, PB9MD_01),
  573. PINMUX_DATA(A8_MARK, PB8MD_01),
  574. PINMUX_DATA(A7_MARK, PB7MD_01),
  575. PINMUX_DATA(A6_MARK, PB6MD_01),
  576. PINMUX_DATA(A5_MARK, PB5MD_01),
  577. PINMUX_DATA(A4_MARK, PB4MD_01),
  578. PINMUX_DATA(A3_MARK, PB3MD_1),
  579. PINMUX_DATA(A2_MARK, PB2MD_1),
  580. PINMUX_DATA(A1_MARK, PB1MD_1),
  581. /* Port C */
  582. PINMUX_DATA(PC10_DATA, PC10MD_0),
  583. PINMUX_DATA(TIOC2B_MARK, PC1MD_1),
  584. PINMUX_DATA(PC9_DATA, PC9MD_0),
  585. PINMUX_DATA(TIOC2A_MARK, PC9MD_1),
  586. PINMUX_DATA(PC8_DATA, PC8MD_00),
  587. PINMUX_DATA(CS3_MARK, PC8MD_01),
  588. PINMUX_DATA(TIOC4D_MARK, PC8MD_10),
  589. PINMUX_DATA(IRQ7_PC_MARK, PC8MD_11),
  590. PINMUX_DATA(PC7_DATA, PC7MD_00),
  591. PINMUX_DATA(CKE_MARK, PC7MD_01),
  592. PINMUX_DATA(TIOC4C_MARK, PC7MD_10),
  593. PINMUX_DATA(IRQ6_PC_MARK, PC7MD_11),
  594. PINMUX_DATA(PC6_DATA, PC6MD_00),
  595. PINMUX_DATA(CAS_MARK, PC6MD_01),
  596. PINMUX_DATA(TIOC4B_MARK, PC6MD_10),
  597. PINMUX_DATA(IRQ5_PC_MARK, PC6MD_11),
  598. PINMUX_DATA(PC5_DATA, PC5MD_00),
  599. PINMUX_DATA(RAS_MARK, PC5MD_01),
  600. PINMUX_DATA(TIOC4A_MARK, PC5MD_10),
  601. PINMUX_DATA(IRQ4_PC_MARK, PC5MD_11),
  602. PINMUX_DATA(PC4_DATA, PC4MD_0),
  603. PINMUX_DATA(WE1DQMUWE_MARK, PC4MD_1),
  604. PINMUX_DATA(PC3_DATA, PC3MD_0),
  605. PINMUX_DATA(WE0DQML_MARK, PC3MD_1),
  606. PINMUX_DATA(PC2_DATA, PC2MD_0),
  607. PINMUX_DATA(RDWR_MARK, PC2MD_1),
  608. PINMUX_DATA(PC1_DATA, PC1MD_0),
  609. PINMUX_DATA(RD_MARK, PC1MD_1),
  610. PINMUX_DATA(PC0_DATA, PC0MD_0),
  611. PINMUX_DATA(CS0_MARK, PC0MD_1),
  612. /* Port D */
  613. PINMUX_DATA(D15_MARK, PD15MD_01),
  614. PINMUX_DATA(D14_MARK, PD14MD_01),
  615. PINMUX_DATA(D13_MARK, PD13MD_01),
  616. PINMUX_DATA(D12_MARK, PD12MD_01),
  617. PINMUX_DATA(D11_MARK, PD11MD_01),
  618. PINMUX_DATA(D10_MARK, PD10MD_01),
  619. PINMUX_DATA(D9_MARK, PD9MD_01),
  620. PINMUX_DATA(D8_MARK, PD8MD_01),
  621. PINMUX_DATA(D7_MARK, PD7MD_01),
  622. PINMUX_DATA(D6_MARK, PD6MD_01),
  623. PINMUX_DATA(D5_MARK, PD5MD_01),
  624. PINMUX_DATA(D4_MARK, PD4MD_01),
  625. PINMUX_DATA(D3_MARK, PD3MD_01),
  626. PINMUX_DATA(D2_MARK, PD2MD_01),
  627. PINMUX_DATA(D1_MARK, PD1MD_01),
  628. PINMUX_DATA(D0_MARK, PD0MD_01),
  629. /* Port E */
  630. PINMUX_DATA(PE5_DATA, PE5MD_00),
  631. PINMUX_DATA(SDA2_MARK, PE5MD_01),
  632. PINMUX_DATA(DV_HSYNC_MARK, PE5MD_11),
  633. PINMUX_DATA(PE4_DATA, PE4MD_00),
  634. PINMUX_DATA(SCL2_MARK, PE4MD_01),
  635. PINMUX_DATA(DV_VSYNC_MARK, PE4MD_11),
  636. PINMUX_DATA(PE3_DATA, PE3MD_00),
  637. PINMUX_DATA(SDA1_MARK, PE3MD_01),
  638. PINMUX_DATA(IRQ3_PE_MARK, PE3MD_11),
  639. PINMUX_DATA(PE2_DATA, PE2MD_00),
  640. PINMUX_DATA(SCL1_MARK, PE2MD_01),
  641. PINMUX_DATA(IRQ2_PE_MARK, PE2MD_11),
  642. PINMUX_DATA(PE1_DATA, PE1MD_000),
  643. PINMUX_DATA(SDA0_MARK, PE1MD_001),
  644. PINMUX_DATA(IOIS16_MARK, PE1MD_010),
  645. PINMUX_DATA(IRQ1_PE_MARK, PE1MD_011),
  646. PINMUX_DATA(TCLKA_MARK, PE1MD_100),
  647. PINMUX_DATA(ADTRG_MARK, PE1MD_101),
  648. PINMUX_DATA(PE0_DATA, PE0MD_00),
  649. PINMUX_DATA(SCL0_MARK, PE0MD_01),
  650. PINMUX_DATA(AUDIO_CLK_MARK, PE0MD_10),
  651. PINMUX_DATA(IRQ0_PE_MARK, PE0MD_11),
  652. /* Port F */
  653. PINMUX_DATA(PF12_DATA, PF12MD_000),
  654. PINMUX_DATA(BS_MARK, PF12MD_001),
  655. PINMUX_DATA(MISO0_PF12_MARK, PF12MD_011),
  656. PINMUX_DATA(TIOC3D_MARK, PF12MD_100),
  657. PINMUX_DATA(SPDIF_OUT_MARK, PF12MD_101),
  658. PINMUX_DATA(PF11_DATA, PF11MD_000),
  659. PINMUX_DATA(A25_MARK, PF11MD_001),
  660. PINMUX_DATA(SSIDATA3_MARK, PF11MD_010),
  661. PINMUX_DATA(MOSI0_MARK, PF11MD_011),
  662. PINMUX_DATA(TIOC3C_MARK, PF11MD_100),
  663. PINMUX_DATA(SPDIF_IN_MARK, PF11MD_101),
  664. PINMUX_DATA(PF10_DATA, PF10MD_000),
  665. PINMUX_DATA(A24_MARK, PF10MD_001),
  666. PINMUX_DATA(SSIWS3_MARK, PF10MD_010),
  667. PINMUX_DATA(SSL00_MARK, PF10MD_011),
  668. PINMUX_DATA(TIOC3B_MARK, PF10MD_100),
  669. PINMUX_DATA(FCE_MARK, PF10MD_101),
  670. PINMUX_DATA(PF9_DATA, PF9MD_000),
  671. PINMUX_DATA(A23_MARK, PF9MD_001),
  672. PINMUX_DATA(SSISCK3_MARK, PF9MD_010),
  673. PINMUX_DATA(RSPCK0_MARK, PF9MD_011),
  674. PINMUX_DATA(TIOC3A_MARK, PF9MD_100),
  675. PINMUX_DATA(FRB_MARK, PF9MD_101),
  676. PINMUX_DATA(PF8_DATA, PF8MD_00),
  677. PINMUX_DATA(CE2B_MARK, PF8MD_01),
  678. PINMUX_DATA(SSIDATA3_MARK, PF8MD_10),
  679. PINMUX_DATA(DV_CLK_MARK, PF8MD_11),
  680. PINMUX_DATA(PF7_DATA, PF7MD_000),
  681. PINMUX_DATA(CE2A_MARK, PF7MD_001),
  682. PINMUX_DATA(SSIWS3_MARK, PF7MD_010),
  683. PINMUX_DATA(DV_DATA7_MARK, PF7MD_011),
  684. PINMUX_DATA(TCLKD_MARK, PF7MD_100),
  685. PINMUX_DATA(PF6_DATA, PF6MD_000),
  686. PINMUX_DATA(CS6CE1B_MARK, PF6MD_001),
  687. PINMUX_DATA(SSISCK3_MARK, PF6MD_010),
  688. PINMUX_DATA(DV_DATA6_MARK, PF6MD_011),
  689. PINMUX_DATA(TCLKB_MARK, PF6MD_100),
  690. PINMUX_DATA(PF5_DATA, PF5MD_000),
  691. PINMUX_DATA(CS5CE1A_MARK, PF5MD_001),
  692. PINMUX_DATA(SSIDATA2_MARK, PF5MD_010),
  693. PINMUX_DATA(DV_DATA5_MARK, PF5MD_011),
  694. PINMUX_DATA(TCLKC_MARK, PF5MD_100),
  695. PINMUX_DATA(PF4_DATA, PF4MD_000),
  696. PINMUX_DATA(ICIOWRAH_MARK, PF4MD_001),
  697. PINMUX_DATA(SSIWS2_MARK, PF4MD_010),
  698. PINMUX_DATA(DV_DATA4_MARK, PF4MD_011),
  699. PINMUX_DATA(TXD3_MARK, PF4MD_100),
  700. PINMUX_DATA(PF3_DATA, PF3MD_000),
  701. PINMUX_DATA(ICIORD_MARK, PF3MD_001),
  702. PINMUX_DATA(SSISCK2_MARK, PF3MD_010),
  703. PINMUX_DATA(DV_DATA3_MARK, PF3MD_011),
  704. PINMUX_DATA(RXD3_MARK, PF3MD_100),
  705. PINMUX_DATA(PF2_DATA, PF2MD_000),
  706. PINMUX_DATA(BACK_MARK, PF2MD_001),
  707. PINMUX_DATA(SSIDATA1_MARK, PF2MD_010),
  708. PINMUX_DATA(DV_DATA2_MARK, PF2MD_011),
  709. PINMUX_DATA(TXD2_MARK, PF2MD_100),
  710. PINMUX_DATA(DACK0_MARK, PF2MD_101),
  711. PINMUX_DATA(PF1_DATA, PF1MD_000),
  712. PINMUX_DATA(BREQ_MARK, PF1MD_001),
  713. PINMUX_DATA(SSIWS1_MARK, PF1MD_010),
  714. PINMUX_DATA(DV_DATA1_MARK, PF1MD_011),
  715. PINMUX_DATA(RXD2_MARK, PF1MD_100),
  716. PINMUX_DATA(DREQ0_MARK, PF1MD_101),
  717. PINMUX_DATA(PF0_DATA, PF0MD_000),
  718. PINMUX_DATA(WAIT_MARK, PF0MD_001),
  719. PINMUX_DATA(SSISCK1_MARK, PF0MD_010),
  720. PINMUX_DATA(DV_DATA0_MARK, PF0MD_011),
  721. PINMUX_DATA(SCK2_MARK, PF0MD_100),
  722. PINMUX_DATA(TEND0_MARK, PF0MD_101),
  723. /* Port G */
  724. PINMUX_DATA(PG24_DATA, PG24MD_00),
  725. PINMUX_DATA(MOSI0_MARK, PG24MD_01),
  726. PINMUX_DATA(TIOC0D_MARK, PG24MD_10),
  727. PINMUX_DATA(PG23_DATA, PG23MD_00),
  728. PINMUX_DATA(MOSI1_MARK, PG23MD_01),
  729. PINMUX_DATA(TIOC0C_MARK, PG23MD_10),
  730. PINMUX_DATA(PG22_DATA, PG22MD_00),
  731. PINMUX_DATA(SSL10_MARK, PG22MD_01),
  732. PINMUX_DATA(TIOC0B_MARK, PG22MD_10),
  733. PINMUX_DATA(PG21_DATA, PG21MD_00),
  734. PINMUX_DATA(RSPCK1_MARK, PG21MD_01),
  735. PINMUX_DATA(TIOC0A_MARK, PG21MD_10),
  736. PINMUX_DATA(PG20_DATA, PG20MD_000),
  737. PINMUX_DATA(LCD_EXTCLK_MARK, PG20MD_001),
  738. PINMUX_DATA(MISO1_MARK, PG20MD_011),
  739. PINMUX_DATA(TXD7_MARK, PG20MD_100),
  740. PINMUX_DATA(PG19_DATA, PG19MD_000),
  741. PINMUX_DATA(LCD_CLK_MARK, PG19MD_001),
  742. PINMUX_DATA(TIOC2B_MARK, PG19MD_010),
  743. PINMUX_DATA(MISO1_PG19_MARK, PG19MD_011),
  744. PINMUX_DATA(RXD7_MARK, PG19MD_100),
  745. PINMUX_DATA(PG18_DATA, PG18MD_000),
  746. PINMUX_DATA(LCD_DE_MARK, PG18MD_001),
  747. PINMUX_DATA(TIOC2A_MARK, PG18MD_010),
  748. PINMUX_DATA(SSL10_MARK, PG18MD_011),
  749. PINMUX_DATA(TXD6_MARK, PG18MD_100),
  750. PINMUX_DATA(PG17_DATA, PG17MD_000),
  751. PINMUX_DATA(LCD_HSYNC_MARK, PG17MD_001),
  752. PINMUX_DATA(TIOC1B_MARK, PG17MD_010),
  753. PINMUX_DATA(RSPCK1_MARK, PG17MD_011),
  754. PINMUX_DATA(RXD6_MARK, PG17MD_100),
  755. PINMUX_DATA(PG16_DATA, PG16MD_000),
  756. PINMUX_DATA(LCD_VSYNC_MARK, PG16MD_001),
  757. PINMUX_DATA(TIOC1A_MARK, PG16MD_010),
  758. PINMUX_DATA(TXD3_MARK, PG16MD_011),
  759. PINMUX_DATA(CTS1_MARK, PG16MD_100),
  760. PINMUX_DATA(PG15_DATA, PG15MD_000),
  761. PINMUX_DATA(LCD_DATA15_MARK, PG15MD_001),
  762. PINMUX_DATA(TIOC0D_MARK, PG15MD_010),
  763. PINMUX_DATA(RXD3_MARK, PG15MD_011),
  764. PINMUX_DATA(RTS1_MARK, PG15MD_100),
  765. PINMUX_DATA(PG14_DATA, PG14MD_000),
  766. PINMUX_DATA(LCD_DATA14_MARK, PG14MD_001),
  767. PINMUX_DATA(TIOC0C_MARK, PG14MD_010),
  768. PINMUX_DATA(SCK1_MARK, PG14MD_100),
  769. PINMUX_DATA(PG13_DATA, PG13MD_000),
  770. PINMUX_DATA(LCD_DATA13_MARK, PG13MD_001),
  771. PINMUX_DATA(TIOC0B_MARK, PG13MD_010),
  772. PINMUX_DATA(TXD1_MARK, PG13MD_100),
  773. PINMUX_DATA(PG12_DATA, PG12MD_000),
  774. PINMUX_DATA(LCD_DATA12_MARK, PG12MD_001),
  775. PINMUX_DATA(TIOC0A_MARK, PG12MD_010),
  776. PINMUX_DATA(RXD1_MARK, PG12MD_100),
  777. PINMUX_DATA(PG11_DATA, PG11MD_000),
  778. PINMUX_DATA(LCD_DATA11_MARK, PG11MD_001),
  779. PINMUX_DATA(SSITXD0_MARK, PG11MD_010),
  780. PINMUX_DATA(IRQ3_PG_MARK, PG11MD_011),
  781. PINMUX_DATA(TXD5_MARK, PG11MD_100),
  782. PINMUX_DATA(SIOFTXD_MARK, PG11MD_101),
  783. PINMUX_DATA(PG10_DATA, PG10MD_000),
  784. PINMUX_DATA(LCD_DATA10_MARK, PG10MD_001),
  785. PINMUX_DATA(SSIRXD0_MARK, PG10MD_010),
  786. PINMUX_DATA(IRQ2_PG_MARK, PG10MD_011),
  787. PINMUX_DATA(RXD5_MARK, PG10MD_100),
  788. PINMUX_DATA(SIOFRXD_MARK, PG10MD_101),
  789. PINMUX_DATA(PG9_DATA, PG9MD_000),
  790. PINMUX_DATA(LCD_DATA9_MARK, PG9MD_001),
  791. PINMUX_DATA(SSIWS0_MARK, PG9MD_010),
  792. PINMUX_DATA(TXD4_MARK, PG9MD_100),
  793. PINMUX_DATA(SIOFSYNC_MARK, PG9MD_101),
  794. PINMUX_DATA(PG8_DATA, PG8MD_000),
  795. PINMUX_DATA(LCD_DATA8_MARK, PG8MD_001),
  796. PINMUX_DATA(SSISCK0_MARK, PG8MD_010),
  797. PINMUX_DATA(RXD4_MARK, PG8MD_100),
  798. PINMUX_DATA(SIOFSCK_MARK, PG8MD_101),
  799. PINMUX_DATA(PG7_DATA, PG7MD_00),
  800. PINMUX_DATA(LCD_DATA7_MARK, PG7MD_01),
  801. PINMUX_DATA(SD_CD_MARK, PG7MD_10),
  802. PINMUX_DATA(PINT7_PG_MARK, PG7MD_11),
  803. PINMUX_DATA(PG6_DATA, PG7MD_00),
  804. PINMUX_DATA(LCD_DATA6_MARK, PG7MD_01),
  805. PINMUX_DATA(SD_WP_MARK, PG7MD_10),
  806. PINMUX_DATA(PINT6_PG_MARK, PG7MD_11),
  807. PINMUX_DATA(PG5_DATA, PG5MD_00),
  808. PINMUX_DATA(LCD_DATA5_MARK, PG5MD_01),
  809. PINMUX_DATA(SD_D1_MARK, PG5MD_10),
  810. PINMUX_DATA(PINT5_PG_MARK, PG5MD_11),
  811. PINMUX_DATA(PG4_DATA, PG4MD_00),
  812. PINMUX_DATA(LCD_DATA4_MARK, PG4MD_01),
  813. PINMUX_DATA(SD_D0_MARK, PG4MD_10),
  814. PINMUX_DATA(PINT4_PG_MARK, PG4MD_11),
  815. PINMUX_DATA(PG3_DATA, PG3MD_00),
  816. PINMUX_DATA(LCD_DATA3_MARK, PG3MD_01),
  817. PINMUX_DATA(SD_CLK_MARK, PG3MD_10),
  818. PINMUX_DATA(PINT3_PG_MARK, PG3MD_11),
  819. PINMUX_DATA(PG2_DATA, PG2MD_00),
  820. PINMUX_DATA(LCD_DATA2_MARK, PG2MD_01),
  821. PINMUX_DATA(SD_CMD_MARK, PG2MD_10),
  822. PINMUX_DATA(PINT2_PG_MARK, PG2MD_11),
  823. PINMUX_DATA(PG1_DATA, PG1MD_00),
  824. PINMUX_DATA(LCD_DATA1_MARK, PG1MD_01),
  825. PINMUX_DATA(SD_D3_MARK, PG1MD_10),
  826. PINMUX_DATA(PINT1_PG_MARK, PG1MD_11),
  827. PINMUX_DATA(PG0_DATA, PG0MD_000),
  828. PINMUX_DATA(LCD_DATA0_MARK, PG0MD_001),
  829. PINMUX_DATA(SD_D2_MARK, PG0MD_010),
  830. PINMUX_DATA(PINT0_PG_MARK, PG0MD_011),
  831. PINMUX_DATA(WDTOVF_MARK, PG0MD_100),
  832. /* Port H */
  833. PINMUX_DATA(PH7_DATA, PH7MD_0),
  834. PINMUX_DATA(PHAN7_MARK, PH7MD_1),
  835. PINMUX_DATA(PH6_DATA, PH6MD_0),
  836. PINMUX_DATA(PHAN6_MARK, PH6MD_1),
  837. PINMUX_DATA(PH5_DATA, PH5MD_0),
  838. PINMUX_DATA(PHAN5_MARK, PH5MD_1),
  839. PINMUX_DATA(PH4_DATA, PH4MD_0),
  840. PINMUX_DATA(PHAN4_MARK, PH4MD_1),
  841. PINMUX_DATA(PH3_DATA, PH3MD_0),
  842. PINMUX_DATA(PHAN3_MARK, PH3MD_1),
  843. PINMUX_DATA(PH2_DATA, PH2MD_0),
  844. PINMUX_DATA(PHAN2_MARK, PH2MD_1),
  845. PINMUX_DATA(PH1_DATA, PH1MD_0),
  846. PINMUX_DATA(PHAN1_MARK, PH1MD_1),
  847. PINMUX_DATA(PH0_DATA, PH0MD_0),
  848. PINMUX_DATA(PHAN0_MARK, PH0MD_1),
  849. /* Port I - not on device */
  850. /* Port J */
  851. PINMUX_DATA(PJ11_DATA, PJ11MD_00),
  852. PINMUX_DATA(PWM2H_MARK, PJ11MD_01),
  853. PINMUX_DATA(DACK1_MARK, PJ11MD_10),
  854. PINMUX_DATA(PJ10_DATA, PJ10MD_00),
  855. PINMUX_DATA(PWM2G_MARK, PJ10MD_01),
  856. PINMUX_DATA(DREQ1_MARK, PJ10MD_10),
  857. PINMUX_DATA(PJ9_DATA, PJ9MD_00),
  858. PINMUX_DATA(PWM2F_MARK, PJ9MD_01),
  859. PINMUX_DATA(TEND1_MARK, PJ9MD_10),
  860. PINMUX_DATA(PJ8_DATA, PJ8MD_00),
  861. PINMUX_DATA(PWM2E_MARK, PJ8MD_01),
  862. PINMUX_DATA(RTS3_MARK, PJ8MD_10),
  863. PINMUX_DATA(PJ7_DATA, PJ7MD_00),
  864. PINMUX_DATA(TIOC1B_MARK, PJ7MD_01),
  865. PINMUX_DATA(CTS3_MARK, PJ7MD_10),
  866. PINMUX_DATA(PJ6_DATA, PJ6MD_00),
  867. PINMUX_DATA(TIOC1A_MARK, PJ6MD_01),
  868. PINMUX_DATA(SCK3_MARK, PJ6MD_10),
  869. PINMUX_DATA(PJ5_DATA, PJ5MD_00),
  870. PINMUX_DATA(IERXD_MARK, PJ5MD_01),
  871. PINMUX_DATA(TXD3_MARK, PJ5MD_10),
  872. PINMUX_DATA(PJ4_DATA, PJ4MD_00),
  873. PINMUX_DATA(IETXD_MARK, PJ4MD_01),
  874. PINMUX_DATA(RXD3_MARK, PJ4MD_10),
  875. PINMUX_DATA(PJ3_DATA, PJ3MD_00),
  876. PINMUX_DATA(CRX1_MARK, PJ3MD_01),
  877. PINMUX_DATA(CRX0_CRX1_MARK, PJ3MD_10),
  878. PINMUX_DATA(IRQ1_PJ_MARK, PJ3MD_11),
  879. PINMUX_DATA(PJ2_DATA, PJ2MD_000),
  880. PINMUX_DATA(CTX1_MARK, PJ2MD_001),
  881. PINMUX_DATA(CTX0_CTX1_MARK, PJ2MD_010),
  882. PINMUX_DATA(CS2_MARK, PJ2MD_011),
  883. PINMUX_DATA(SCK0_MARK, PJ2MD_100),
  884. PINMUX_DATA(LCD_M_DISP_MARK, PJ2MD_101),
  885. PINMUX_DATA(PJ1_DATA, PJ1MD_000),
  886. PINMUX_DATA(CRX0_MARK, PJ1MD_001),
  887. PINMUX_DATA(IERXD_MARK, PJ1MD_010),
  888. PINMUX_DATA(IRQ0_PJ_MARK, PJ1MD_011),
  889. PINMUX_DATA(RXD0_MARK, PJ1MD_100),
  890. PINMUX_DATA(PJ0_DATA, PJ0MD_000),
  891. PINMUX_DATA(CTX0_MARK, PJ0MD_001),
  892. PINMUX_DATA(IERXD_MARK, PJ0MD_010),
  893. PINMUX_DATA(CS1_MARK, PJ0MD_011),
  894. PINMUX_DATA(TXD0_MARK, PJ0MD_100),
  895. PINMUX_DATA(A0_MARK, PJ0MD_101),
  896. /* Port K */
  897. PINMUX_DATA(PK11_DATA, PK11MD_00),
  898. PINMUX_DATA(PWM2D_MARK, PK11MD_01),
  899. PINMUX_DATA(SSITXD0_MARK, PK11MD_10),
  900. PINMUX_DATA(PK10_DATA, PK10MD_00),
  901. PINMUX_DATA(PWM2C_MARK, PK10MD_01),
  902. PINMUX_DATA(SSIRXD0_MARK, PK10MD_10),
  903. PINMUX_DATA(PK9_DATA, PK9MD_00),
  904. PINMUX_DATA(PWM2B_MARK, PK9MD_01),
  905. PINMUX_DATA(SSIWS0_MARK, PK9MD_10),
  906. PINMUX_DATA(PK8_DATA, PK8MD_00),
  907. PINMUX_DATA(PWM2A_MARK, PK8MD_01),
  908. PINMUX_DATA(SSISCK0_MARK, PK8MD_10),
  909. PINMUX_DATA(PK7_DATA, PK7MD_00),
  910. PINMUX_DATA(PWM1H_MARK, PK7MD_01),
  911. PINMUX_DATA(SD_CD_MARK, PK7MD_10),
  912. PINMUX_DATA(PK6_DATA, PK6MD_00),
  913. PINMUX_DATA(PWM1G_MARK, PK6MD_01),
  914. PINMUX_DATA(SD_WP_MARK, PK6MD_10),
  915. PINMUX_DATA(PK5_DATA, PK5MD_00),
  916. PINMUX_DATA(PWM1F_MARK, PK5MD_01),
  917. PINMUX_DATA(SD_D1_MARK, PK5MD_10),
  918. PINMUX_DATA(PK4_DATA, PK4MD_00),
  919. PINMUX_DATA(PWM1E_MARK, PK4MD_01),
  920. PINMUX_DATA(SD_D0_MARK, PK4MD_10),
  921. PINMUX_DATA(PK3_DATA, PK3MD_00),
  922. PINMUX_DATA(PWM1D_MARK, PK3MD_01),
  923. PINMUX_DATA(SD_CLK_MARK, PK3MD_10),
  924. PINMUX_DATA(PK2_DATA, PK2MD_00),
  925. PINMUX_DATA(PWM1C_MARK, PK2MD_01),
  926. PINMUX_DATA(SD_CMD_MARK, PK2MD_10),
  927. PINMUX_DATA(PK1_DATA, PK1MD_00),
  928. PINMUX_DATA(PWM1B_MARK, PK1MD_01),
  929. PINMUX_DATA(SD_D3_MARK, PK1MD_10),
  930. PINMUX_DATA(PK0_DATA, PK0MD_00),
  931. PINMUX_DATA(PWM1A_MARK, PK0MD_01),
  932. PINMUX_DATA(SD_D2_MARK, PK0MD_10),
  933. };
  934. static const struct sh_pfc_pin pinmux_pins[] = {
  935. /* Port A */
  936. PINMUX_GPIO(PA3),
  937. PINMUX_GPIO(PA2),
  938. PINMUX_GPIO(PA1),
  939. PINMUX_GPIO(PA0),
  940. /* Port B */
  941. PINMUX_GPIO(PB22),
  942. PINMUX_GPIO(PB21),
  943. PINMUX_GPIO(PB20),
  944. PINMUX_GPIO(PB19),
  945. PINMUX_GPIO(PB18),
  946. PINMUX_GPIO(PB17),
  947. PINMUX_GPIO(PB16),
  948. PINMUX_GPIO(PB15),
  949. PINMUX_GPIO(PB14),
  950. PINMUX_GPIO(PB13),
  951. PINMUX_GPIO(PB12),
  952. PINMUX_GPIO(PB11),
  953. PINMUX_GPIO(PB10),
  954. PINMUX_GPIO(PB9),
  955. PINMUX_GPIO(PB8),
  956. PINMUX_GPIO(PB7),
  957. PINMUX_GPIO(PB6),
  958. PINMUX_GPIO(PB5),
  959. PINMUX_GPIO(PB4),
  960. PINMUX_GPIO(PB3),
  961. PINMUX_GPIO(PB2),
  962. PINMUX_GPIO(PB1),
  963. /* Port C */
  964. PINMUX_GPIO(PC10),
  965. PINMUX_GPIO(PC9),
  966. PINMUX_GPIO(PC8),
  967. PINMUX_GPIO(PC7),
  968. PINMUX_GPIO(PC6),
  969. PINMUX_GPIO(PC5),
  970. PINMUX_GPIO(PC4),
  971. PINMUX_GPIO(PC3),
  972. PINMUX_GPIO(PC2),
  973. PINMUX_GPIO(PC1),
  974. PINMUX_GPIO(PC0),
  975. /* Port D */
  976. PINMUX_GPIO(PD15),
  977. PINMUX_GPIO(PD14),
  978. PINMUX_GPIO(PD13),
  979. PINMUX_GPIO(PD12),
  980. PINMUX_GPIO(PD11),
  981. PINMUX_GPIO(PD10),
  982. PINMUX_GPIO(PD9),
  983. PINMUX_GPIO(PD8),
  984. PINMUX_GPIO(PD7),
  985. PINMUX_GPIO(PD6),
  986. PINMUX_GPIO(PD5),
  987. PINMUX_GPIO(PD4),
  988. PINMUX_GPIO(PD3),
  989. PINMUX_GPIO(PD2),
  990. PINMUX_GPIO(PD1),
  991. PINMUX_GPIO(PD0),
  992. /* Port E */
  993. PINMUX_GPIO(PE5),
  994. PINMUX_GPIO(PE4),
  995. PINMUX_GPIO(PE3),
  996. PINMUX_GPIO(PE2),
  997. PINMUX_GPIO(PE1),
  998. PINMUX_GPIO(PE0),
  999. /* Port F */
  1000. PINMUX_GPIO(PF12),
  1001. PINMUX_GPIO(PF11),
  1002. PINMUX_GPIO(PF10),
  1003. PINMUX_GPIO(PF9),
  1004. PINMUX_GPIO(PF8),
  1005. PINMUX_GPIO(PF7),
  1006. PINMUX_GPIO(PF6),
  1007. PINMUX_GPIO(PF5),
  1008. PINMUX_GPIO(PF4),
  1009. PINMUX_GPIO(PF3),
  1010. PINMUX_GPIO(PF2),
  1011. PINMUX_GPIO(PF1),
  1012. PINMUX_GPIO(PF0),
  1013. /* Port G */
  1014. PINMUX_GPIO(PG24),
  1015. PINMUX_GPIO(PG23),
  1016. PINMUX_GPIO(PG22),
  1017. PINMUX_GPIO(PG21),
  1018. PINMUX_GPIO(PG20),
  1019. PINMUX_GPIO(PG19),
  1020. PINMUX_GPIO(PG18),
  1021. PINMUX_GPIO(PG17),
  1022. PINMUX_GPIO(PG16),
  1023. PINMUX_GPIO(PG15),
  1024. PINMUX_GPIO(PG14),
  1025. PINMUX_GPIO(PG13),
  1026. PINMUX_GPIO(PG12),
  1027. PINMUX_GPIO(PG11),
  1028. PINMUX_GPIO(PG10),
  1029. PINMUX_GPIO(PG9),
  1030. PINMUX_GPIO(PG8),
  1031. PINMUX_GPIO(PG7),
  1032. PINMUX_GPIO(PG6),
  1033. PINMUX_GPIO(PG5),
  1034. PINMUX_GPIO(PG4),
  1035. PINMUX_GPIO(PG3),
  1036. PINMUX_GPIO(PG2),
  1037. PINMUX_GPIO(PG1),
  1038. PINMUX_GPIO(PG0),
  1039. /* Port H - Port H does not have a Data Register */
  1040. /* Port I - not on device */
  1041. /* Port J */
  1042. PINMUX_GPIO(PJ11),
  1043. PINMUX_GPIO(PJ10),
  1044. PINMUX_GPIO(PJ9),
  1045. PINMUX_GPIO(PJ8),
  1046. PINMUX_GPIO(PJ7),
  1047. PINMUX_GPIO(PJ6),
  1048. PINMUX_GPIO(PJ5),
  1049. PINMUX_GPIO(PJ4),
  1050. PINMUX_GPIO(PJ3),
  1051. PINMUX_GPIO(PJ2),
  1052. PINMUX_GPIO(PJ1),
  1053. PINMUX_GPIO(PJ0),
  1054. /* Port K */
  1055. PINMUX_GPIO(PK11),
  1056. PINMUX_GPIO(PK10),
  1057. PINMUX_GPIO(PK9),
  1058. PINMUX_GPIO(PK8),
  1059. PINMUX_GPIO(PK7),
  1060. PINMUX_GPIO(PK6),
  1061. PINMUX_GPIO(PK5),
  1062. PINMUX_GPIO(PK4),
  1063. PINMUX_GPIO(PK3),
  1064. PINMUX_GPIO(PK2),
  1065. PINMUX_GPIO(PK1),
  1066. PINMUX_GPIO(PK0),
  1067. };
  1068. #define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)
  1069. static const struct pinmux_func pinmux_func_gpios[] = {
  1070. /* INTC */
  1071. GPIO_FN(PINT7_PG),
  1072. GPIO_FN(PINT6_PG),
  1073. GPIO_FN(PINT5_PG),
  1074. GPIO_FN(PINT4_PG),
  1075. GPIO_FN(PINT3_PG),
  1076. GPIO_FN(PINT2_PG),
  1077. GPIO_FN(PINT1_PG),
  1078. GPIO_FN(IRQ7_PC),
  1079. GPIO_FN(IRQ6_PC),
  1080. GPIO_FN(IRQ5_PC),
  1081. GPIO_FN(IRQ4_PC),
  1082. GPIO_FN(IRQ3_PG),
  1083. GPIO_FN(IRQ2_PG),
  1084. GPIO_FN(IRQ1_PJ),
  1085. GPIO_FN(IRQ0_PJ),
  1086. GPIO_FN(IRQ3_PE),
  1087. GPIO_FN(IRQ2_PE),
  1088. GPIO_FN(IRQ1_PE),
  1089. GPIO_FN(IRQ0_PE),
  1090. /* WDT */
  1091. GPIO_FN(WDTOVF),
  1092. /* CAN */
  1093. GPIO_FN(CTX1),
  1094. GPIO_FN(CRX1),
  1095. GPIO_FN(CTX0),
  1096. GPIO_FN(CTX0_CTX1),
  1097. GPIO_FN(CRX0),
  1098. GPIO_FN(CRX0_CRX1),
  1099. /* DMAC */
  1100. GPIO_FN(TEND0),
  1101. GPIO_FN(DACK0),
  1102. GPIO_FN(DREQ0),
  1103. GPIO_FN(TEND1),
  1104. GPIO_FN(DACK1),
  1105. GPIO_FN(DREQ1),
  1106. /* ADC */
  1107. GPIO_FN(ADTRG),
  1108. /* BSCh */
  1109. GPIO_FN(A25),
  1110. GPIO_FN(A24),
  1111. GPIO_FN(A23),
  1112. GPIO_FN(A22),
  1113. GPIO_FN(A21),
  1114. GPIO_FN(A20),
  1115. GPIO_FN(A19),
  1116. GPIO_FN(A18),
  1117. GPIO_FN(A17),
  1118. GPIO_FN(A16),
  1119. GPIO_FN(A15),
  1120. GPIO_FN(A14),
  1121. GPIO_FN(A13),
  1122. GPIO_FN(A12),
  1123. GPIO_FN(A11),
  1124. GPIO_FN(A10),
  1125. GPIO_FN(A9),
  1126. GPIO_FN(A8),
  1127. GPIO_FN(A7),
  1128. GPIO_FN(A6),
  1129. GPIO_FN(A5),
  1130. GPIO_FN(A4),
  1131. GPIO_FN(A3),
  1132. GPIO_FN(A2),
  1133. GPIO_FN(A1),
  1134. GPIO_FN(A0),
  1135. GPIO_FN(D15),
  1136. GPIO_FN(D14),
  1137. GPIO_FN(D13),
  1138. GPIO_FN(D12),
  1139. GPIO_FN(D11),
  1140. GPIO_FN(D10),
  1141. GPIO_FN(D9),
  1142. GPIO_FN(D8),
  1143. GPIO_FN(D7),
  1144. GPIO_FN(D6),
  1145. GPIO_FN(D5),
  1146. GPIO_FN(D4),
  1147. GPIO_FN(D3),
  1148. GPIO_FN(D2),
  1149. GPIO_FN(D1),
  1150. GPIO_FN(D0),
  1151. GPIO_FN(BS),
  1152. GPIO_FN(CS4),
  1153. GPIO_FN(CS3),
  1154. GPIO_FN(CS2),
  1155. GPIO_FN(CS1),
  1156. GPIO_FN(CS0),
  1157. GPIO_FN(CS6CE1B),
  1158. GPIO_FN(CS5CE1A),
  1159. GPIO_FN(CE2A),
  1160. GPIO_FN(CE2B),
  1161. GPIO_FN(RD),
  1162. GPIO_FN(RDWR),
  1163. GPIO_FN(ICIOWRAH),
  1164. GPIO_FN(ICIORD),
  1165. GPIO_FN(WE1DQMUWE),
  1166. GPIO_FN(WE0DQML),
  1167. GPIO_FN(RAS),
  1168. GPIO_FN(CAS),
  1169. GPIO_FN(CKE),
  1170. GPIO_FN(WAIT),
  1171. GPIO_FN(BREQ),
  1172. GPIO_FN(BACK),
  1173. GPIO_FN(IOIS16),
  1174. /* TMU */
  1175. GPIO_FN(TIOC4D),
  1176. GPIO_FN(TIOC4C),
  1177. GPIO_FN(TIOC4B),
  1178. GPIO_FN(TIOC4A),
  1179. GPIO_FN(TIOC3D),
  1180. GPIO_FN(TIOC3C),
  1181. GPIO_FN(TIOC3B),
  1182. GPIO_FN(TIOC3A),
  1183. GPIO_FN(TIOC2B),
  1184. GPIO_FN(TIOC1B),
  1185. GPIO_FN(TIOC2A),
  1186. GPIO_FN(TIOC1A),
  1187. GPIO_FN(TIOC0D),
  1188. GPIO_FN(TIOC0C),
  1189. GPIO_FN(TIOC0B),
  1190. GPIO_FN(TIOC0A),
  1191. GPIO_FN(TCLKD),
  1192. GPIO_FN(TCLKC),
  1193. GPIO_FN(TCLKB),
  1194. GPIO_FN(TCLKA),
  1195. /* SCIF */
  1196. GPIO_FN(TXD0),
  1197. GPIO_FN(RXD0),
  1198. GPIO_FN(SCK0),
  1199. GPIO_FN(TXD1),
  1200. GPIO_FN(RXD1),
  1201. GPIO_FN(SCK1),
  1202. GPIO_FN(TXD2),
  1203. GPIO_FN(RXD2),
  1204. GPIO_FN(SCK2),
  1205. GPIO_FN(RTS3),
  1206. GPIO_FN(CTS3),
  1207. GPIO_FN(TXD3),
  1208. GPIO_FN(RXD3),
  1209. GPIO_FN(SCK3),
  1210. GPIO_FN(TXD4),
  1211. GPIO_FN(RXD4),
  1212. GPIO_FN(TXD5),
  1213. GPIO_FN(RXD5),
  1214. GPIO_FN(TXD6),
  1215. GPIO_FN(RXD6),
  1216. GPIO_FN(TXD7),
  1217. GPIO_FN(RXD7),
  1218. GPIO_FN(RTS1),
  1219. GPIO_FN(CTS1),
  1220. /* RSPI */
  1221. GPIO_FN(RSPCK0),
  1222. GPIO_FN(MOSI0),
  1223. GPIO_FN(MISO0_PF12),
  1224. GPIO_FN(MISO1),
  1225. GPIO_FN(SSL00),
  1226. GPIO_FN(RSPCK1),
  1227. GPIO_FN(MOSI1),
  1228. GPIO_FN(MISO1_PG19),
  1229. GPIO_FN(SSL10),
  1230. /* IIC3 */
  1231. GPIO_FN(SCL0),
  1232. GPIO_FN(SCL1),
  1233. GPIO_FN(SCL2),
  1234. GPIO_FN(SDA0),
  1235. GPIO_FN(SDA1),
  1236. GPIO_FN(SDA2),
  1237. /* SSI */
  1238. GPIO_FN(SSISCK0),
  1239. GPIO_FN(SSIWS0),
  1240. GPIO_FN(SSITXD0),
  1241. GPIO_FN(SSIRXD0),
  1242. GPIO_FN(SSIWS1),
  1243. GPIO_FN(SSIWS2),
  1244. GPIO_FN(SSIWS3),
  1245. GPIO_FN(SSISCK1),
  1246. GPIO_FN(SSISCK2),
  1247. GPIO_FN(SSISCK3),
  1248. GPIO_FN(SSIDATA1),
  1249. GPIO_FN(SSIDATA2),
  1250. GPIO_FN(SSIDATA3),
  1251. GPIO_FN(AUDIO_CLK),
  1252. /* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
  1253. GPIO_FN(SIOFTXD),
  1254. GPIO_FN(SIOFRXD),
  1255. GPIO_FN(SIOFSYNC),
  1256. GPIO_FN(SIOFSCK),
  1257. /* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
  1258. GPIO_FN(SPDIF_IN),
  1259. GPIO_FN(SPDIF_OUT),
  1260. /* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
  1261. GPIO_FN(FCE),
  1262. GPIO_FN(FRB),
  1263. /* VDC3 */
  1264. GPIO_FN(DV_CLK),
  1265. GPIO_FN(DV_VSYNC),
  1266. GPIO_FN(DV_HSYNC),
  1267. GPIO_FN(DV_DATA7),
  1268. GPIO_FN(DV_DATA6),
  1269. GPIO_FN(DV_DATA5),
  1270. GPIO_FN(DV_DATA4),
  1271. GPIO_FN(DV_DATA3),
  1272. GPIO_FN(DV_DATA2),
  1273. GPIO_FN(DV_DATA1),
  1274. GPIO_FN(DV_DATA0),
  1275. GPIO_FN(LCD_CLK),
  1276. GPIO_FN(LCD_EXTCLK),
  1277. GPIO_FN(LCD_VSYNC),
  1278. GPIO_FN(LCD_HSYNC),
  1279. GPIO_FN(LCD_DE),
  1280. GPIO_FN(LCD_DATA15),
  1281. GPIO_FN(LCD_DATA14),
  1282. GPIO_FN(LCD_DATA13),
  1283. GPIO_FN(LCD_DATA12),
  1284. GPIO_FN(LCD_DATA11),
  1285. GPIO_FN(LCD_DATA10),
  1286. GPIO_FN(LCD_DATA9),
  1287. GPIO_FN(LCD_DATA8),
  1288. GPIO_FN(LCD_DATA7),
  1289. GPIO_FN(LCD_DATA6),
  1290. GPIO_FN(LCD_DATA5),
  1291. GPIO_FN(LCD_DATA4),
  1292. GPIO_FN(LCD_DATA3),
  1293. GPIO_FN(LCD_DATA2),
  1294. GPIO_FN(LCD_DATA1),
  1295. GPIO_FN(LCD_DATA0),
  1296. GPIO_FN(LCD_M_DISP),
  1297. };
  1298. static const struct pinmux_cfg_reg pinmux_config_regs[] = {
  1299. { PINMUX_CFG_REG("PAIOR0", 0xfffe3812, 16, 1, GROUP(
  1300. 0, 0, 0, 0, 0, 0, 0, 0,
  1301. 0, 0, 0, 0, 0, 0, 0, 0,
  1302. 0, 0, 0, 0, 0, 0, 0, 0,
  1303. PA3_IN, PA3_OUT,
  1304. PA2_IN, PA2_OUT,
  1305. PA1_IN, PA1_OUT,
  1306. PA0_IN, PA0_OUT ))
  1307. },
  1308. { PINMUX_CFG_REG("PBCR5", 0xfffe3824, 16, 4, GROUP(
  1309. 0, 0, 0, 0, 0, 0, 0, 0,
  1310. 0, 0, 0, 0, 0, 0, 0, 0,
  1311. PB22MD_00, PB22MD_01, PB22MD_10, 0, 0, 0, 0, 0,
  1312. 0, 0, 0, 0, 0, 0, 0, 0,
  1313. PB21MD_0, PB21MD_1, 0, 0, 0, 0, 0, 0,
  1314. 0, 0, 0, 0, 0, 0, 0, 0,
  1315. 0, PB20MD_1, 0, 0, 0, 0, 0, 0,
  1316. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1317. },
  1318. { PINMUX_CFG_REG("PBCR4", 0xfffe3826, 16, 4, GROUP(
  1319. 0, PB19MD_01, 0, 0, 0, 0, 0, 0,
  1320. 0, 0, 0, 0, 0, 0, 0, 0,
  1321. 0, PB18MD_01, 0, 0, 0, 0, 0, 0,
  1322. 0, 0, 0, 0, 0, 0, 0, 0,
  1323. 0, PB17MD_01, 0, 0, 0, 0, 0, 0,
  1324. 0, 0, 0, 0, 0, 0, 0, 0,
  1325. 0, PB16MD_01, 0, 0, 0, 0, 0, 0,
  1326. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1327. },
  1328. { PINMUX_CFG_REG("PBCR3", 0xfffe3828, 16, 4, GROUP(
  1329. 0, PB15MD_01, 0, 0, 0, 0, 0, 0,
  1330. 0, 0, 0, 0, 0, 0, 0, 0,
  1331. 0, PB14MD_01, 0, 0, 0, 0, 0, 0,
  1332. 0, 0, 0, 0, 0, 0, 0, 0,
  1333. 0, PB13MD_01, 0, 0, 0, 0, 0, 0,
  1334. 0, 0, 0, 0, 0, 0, 0, 0,
  1335. 0, PB12MD_01, 0, 0, 0, 0, 0, 0,
  1336. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1337. },
  1338. { PINMUX_CFG_REG("PBCR2", 0xfffe382a, 16, 4, GROUP(
  1339. 0, PB11MD_01, 0, 0, 0, 0, 0, 0,
  1340. 0, 0, 0, 0, 0, 0, 0, 0,
  1341. 0, PB10MD_01, 0, 0, 0, 0, 0, 0,
  1342. 0, 0, 0, 0, 0, 0, 0, 0,
  1343. 0, PB9MD_01, 0, 0, 0, 0, 0, 0,
  1344. 0, 0, 0, 0, 0, 0, 0, 0,
  1345. 0, PB8MD_01, 0, 0, 0, 0, 0, 0,
  1346. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1347. },
  1348. { PINMUX_CFG_REG("PBCR1", 0xfffe382c, 16, 4, GROUP(
  1349. 0, PB7MD_01, 0, 0, 0, 0, 0, 0,
  1350. 0, 0, 0, 0, 0, 0, 0, 0,
  1351. 0, PB6MD_01, 0, 0, 0, 0, 0, 0,
  1352. 0, 0, 0, 0, 0, 0, 0, 0,
  1353. 0, PB5MD_01, 0, 0, 0, 0, 0, 0,
  1354. 0, 0, 0, 0, 0, 0, 0, 0,
  1355. 0, PB4MD_01, 0, 0, 0, 0, 0, 0,
  1356. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1357. },
  1358. { PINMUX_CFG_REG("PBCR0", 0xfffe382e, 16, 4, GROUP(
  1359. 0, PB3MD_1, 0, 0, 0, 0, 0, 0,
  1360. 0, 0, 0, 0, 0, 0, 0, 0,
  1361. 0, PB2MD_1, 0, 0, 0, 0, 0, 0,
  1362. 0, 0, 0, 0, 0, 0, 0, 0,
  1363. 0, PB1MD_1, 0, 0, 0, 0, 0, 0,
  1364. 0, 0, 0, 0, 0, 0, 0, 0,
  1365. 0, 0, 0, 0, 0, 0, 0, 0,
  1366. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1367. },
  1368. { PINMUX_CFG_REG("PBIOR1", 0xfffe3830, 16, 1, GROUP(
  1369. 0, 0, 0, 0, 0, 0, 0, 0,
  1370. 0, 0, 0, 0, 0, 0, 0, 0,
  1371. 0, 0,
  1372. PB22_IN, PB22_OUT,
  1373. PB21_IN, PB21_OUT,
  1374. PB20_IN, PB20_OUT,
  1375. PB19_IN, PB19_OUT,
  1376. PB18_IN, PB18_OUT,
  1377. PB17_IN, PB17_OUT,
  1378. PB16_IN, PB16_OUT ))
  1379. },
  1380. { PINMUX_CFG_REG("PBIOR0", 0xfffe3832, 16, 1, GROUP(
  1381. PB15_IN, PB15_OUT,
  1382. PB14_IN, PB14_OUT,
  1383. PB13_IN, PB13_OUT,
  1384. PB12_IN, PB12_OUT,
  1385. PB11_IN, PB11_OUT,
  1386. PB10_IN, PB10_OUT,
  1387. PB9_IN, PB9_OUT,
  1388. PB8_IN, PB8_OUT,
  1389. PB7_IN, PB7_OUT,
  1390. PB6_IN, PB6_OUT,
  1391. PB5_IN, PB5_OUT,
  1392. PB4_IN, PB4_OUT,
  1393. PB3_IN, PB3_OUT,
  1394. PB2_IN, PB2_OUT,
  1395. PB1_IN, PB1_OUT,
  1396. 0, 0 ))
  1397. },
  1398. { PINMUX_CFG_REG("PCCR2", 0xfffe384a, 16, 4, GROUP(
  1399. 0, 0, 0, 0, 0, 0, 0, 0,
  1400. 0, 0, 0, 0, 0, 0, 0, 0,
  1401. PC10MD_0, PC10MD_1, 0, 0, 0, 0, 0, 0,
  1402. 0, 0, 0, 0, 0, 0, 0, 0,
  1403. PC9MD_0, PC9MD_1, 0, 0, 0, 0, 0, 0,
  1404. 0, 0, 0, 0, 0, 0, 0, 0,
  1405. PC8MD_00, PC8MD_01, PC8MD_10, PC8MD_11, 0, 0, 0, 0,
  1406. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1407. },
  1408. { PINMUX_CFG_REG("PCCR1", 0xfffe384c, 16, 4, GROUP(
  1409. PC7MD_00, PC7MD_01, PC7MD_10, PC7MD_11, 0, 0, 0, 0,
  1410. 0, 0, 0, 0, 0, 0, 0, 0,
  1411. PC6MD_00, PC6MD_01, PC6MD_10, PC6MD_11, 0, 0, 0, 0,
  1412. 0, 0, 0, 0, 0, 0, 0, 0,
  1413. PC5MD_00, PC5MD_01, PC5MD_10, PC5MD_11, 0, 0, 0, 0,
  1414. 0, 0, 0, 0, 0, 0, 0, 0,
  1415. PC4MD_0, PC4MD_1, 0, 0, 0, 0, 0, 0,
  1416. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1417. },
  1418. { PINMUX_CFG_REG("PCCR0", 0xfffe384e, 16, 4, GROUP(
  1419. PC3MD_0, PC3MD_1, 0, 0, 0, 0, 0, 0,
  1420. 0, 0, 0, 0, 0, 0, 0, 0,
  1421. PC2MD_0, PC2MD_1, 0, 0, 0, 0, 0, 0,
  1422. 0, 0, 0, 0, 0, 0, 0, 0,
  1423. PC1MD_0, PC1MD_1, 0, 0, 0, 0, 0, 0,
  1424. 0, 0, 0, 0, 0, 0, 0, 0,
  1425. PC0MD_0, PC0MD_1, 0, 0, 0, 0, 0, 0,
  1426. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1427. },
  1428. { PINMUX_CFG_REG("PCIOR0", 0xfffe3852, 16, 1, GROUP(
  1429. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1430. PC10_IN, PC10_OUT,
  1431. PC9_IN, PC9_OUT,
  1432. PC8_IN, PC8_OUT,
  1433. PC7_IN, PC7_OUT,
  1434. PC6_IN, PC6_OUT,
  1435. PC5_IN, PC5_OUT,
  1436. PC4_IN, PC4_OUT,
  1437. PC3_IN, PC3_OUT,
  1438. PC2_IN, PC2_OUT,
  1439. PC1_IN, PC1_OUT,
  1440. PC0_IN, PC0_OUT
  1441. ))
  1442. },
  1443. { PINMUX_CFG_REG("PDCR3", 0xfffe3868, 16, 4, GROUP(
  1444. 0, PD15MD_01, 0, 0, 0, 0, 0, 0,
  1445. 0, 0, 0, 0, 0, 0, 0, 0,
  1446. 0, PD14MD_01, 0, 0, 0, 0, 0, 0,
  1447. 0, 0, 0, 0, 0, 0, 0, 0,
  1448. 0, PD13MD_01, 0, 0, 0, 0, 0, 0,
  1449. 0, 0, 0, 0, 0, 0, 0, 0,
  1450. 0, PD12MD_01, 0, 0, 0, 0, 0, 0,
  1451. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1452. },
  1453. { PINMUX_CFG_REG("PDCR2", 0xfffe386a, 16, 4, GROUP(
  1454. 0, PD11MD_01, 0, 0, 0, 0, 0, 0,
  1455. 0, 0, 0, 0, 0, 0, 0, 0,
  1456. 0, PD10MD_01, 0, 0, 0, 0, 0, 0,
  1457. 0, 0, 0, 0, 0, 0, 0, 0,
  1458. 0, PD9MD_01, 0, 0, 0, 0, 0, 0,
  1459. 0, 0, 0, 0, 0, 0, 0, 0,
  1460. 0, PD8MD_01, 0, 0, 0, 0, 0, 0,
  1461. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1462. },
  1463. { PINMUX_CFG_REG("PDCR1", 0xfffe386c, 16, 4, GROUP(
  1464. 0, PD7MD_01, 0, 0, 0, 0, 0, 0,
  1465. 0, 0, 0, 0, 0, 0, 0, 0,
  1466. 0, PD6MD_01, 0, 0, 0, 0, 0, 0,
  1467. 0, 0, 0, 0, 0, 0, 0, 0,
  1468. 0, PD5MD_01, 0, 0, 0, 0, 0, 0,
  1469. 0, 0, 0, 0, 0, 0, 0, 0,
  1470. 0, PD4MD_01, 0, 0, 0, 0, 0, 0,
  1471. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1472. },
  1473. { PINMUX_CFG_REG("PDCR0", 0xfffe386e, 16, 4, GROUP(
  1474. 0, PD3MD_01, 0, 0, 0, 0, 0, 0,
  1475. 0, 0, 0, 0, 0, 0, 0, 0,
  1476. 0, PD2MD_01, 0, 0, 0, 0, 0, 0,
  1477. 0, 0, 0, 0, 0, 0, 0, 0,
  1478. 0, PD1MD_01, 0, 0, 0, 0, 0, 0,
  1479. 0, 0, 0, 0, 0, 0, 0, 0,
  1480. 0, PD0MD_01, 0, 0, 0, 0, 0, 0,
  1481. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1482. },
  1483. { PINMUX_CFG_REG("PDIOR0", 0xfffe3872, 16, 1, GROUP(
  1484. PD15_IN, PD15_OUT,
  1485. PD14_IN, PD14_OUT,
  1486. PD13_IN, PD13_OUT,
  1487. PD12_IN, PD12_OUT,
  1488. PD11_IN, PD11_OUT,
  1489. PD10_IN, PD10_OUT,
  1490. PD9_IN, PD9_OUT,
  1491. PD8_IN, PD8_OUT,
  1492. PD7_IN, PD7_OUT,
  1493. PD6_IN, PD6_OUT,
  1494. PD5_IN, PD5_OUT,
  1495. PD4_IN, PD4_OUT,
  1496. PD3_IN, PD3_OUT,
  1497. PD2_IN, PD2_OUT,
  1498. PD1_IN, PD1_OUT,
  1499. PD0_IN, PD0_OUT ))
  1500. },
  1501. { PINMUX_CFG_REG("PECR1", 0xfffe388c, 16, 4, GROUP(
  1502. 0, 0, 0, 0, 0, 0, 0, 0,
  1503. 0, 0, 0, 0, 0, 0, 0, 0,
  1504. 0, 0, 0, 0, 0, 0, 0, 0,
  1505. 0, 0, 0, 0, 0, 0, 0, 0,
  1506. PE5MD_00, PE5MD_01, 0, PE5MD_11, 0, 0, 0, 0,
  1507. 0, 0, 0, 0, 0, 0, 0, 0,
  1508. PE4MD_00, PE4MD_01, 0, PE4MD_11, 0, 0, 0, 0,
  1509. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1510. },
  1511. { PINMUX_CFG_REG("PECR0", 0xfffe388e, 16, 4, GROUP(
  1512. PE3MD_00, PE3MD_01, 0, PE3MD_11, 0, 0, 0, 0,
  1513. 0, 0, 0, 0, 0, 0, 0, 0,
  1514. PE2MD_00, PE2MD_01, 0, PE2MD_11, 0, 0, 0, 0,
  1515. 0, 0, 0, 0, 0, 0, 0, 0,
  1516. PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
  1517. PE1MD_100, PE1MD_101, 0, 0,
  1518. 0, 0, 0, 0, 0, 0, 0, 0,
  1519. PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11, 0, 0, 0, 0,
  1520. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1521. },
  1522. { PINMUX_CFG_REG("PEIOR0", 0xfffe3892, 16, 1, GROUP(
  1523. 0, 0, 0, 0, 0, 0, 0, 0,
  1524. 0, 0, 0, 0, 0, 0, 0, 0,
  1525. 0, 0, 0, 0,
  1526. PE5_IN, PE5_OUT,
  1527. PE4_IN, PE4_OUT,
  1528. PE3_IN, PE3_OUT,
  1529. PE2_IN, PE2_OUT,
  1530. PE1_IN, PE1_OUT,
  1531. PE0_IN, PE0_OUT ))
  1532. },
  1533. { PINMUX_CFG_REG("PFCR3", 0xfffe38a8, 16, 4, GROUP(
  1534. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1535. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1536. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1537. PF12MD_000, PF12MD_001, 0, PF12MD_011,
  1538. PF12MD_100, PF12MD_101, 0, 0,
  1539. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1540. },
  1541. { PINMUX_CFG_REG("PFCR2", 0xfffe38aa, 16, 4, GROUP(
  1542. PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
  1543. PF11MD_100, PF11MD_101, 0, 0,
  1544. 0, 0, 0, 0, 0, 0, 0, 0,
  1545. PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
  1546. PF10MD_100, PF10MD_101, 0, 0,
  1547. 0, 0, 0, 0, 0, 0, 0, 0,
  1548. PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
  1549. PF9MD_100, PF9MD_101, 0, 0,
  1550. 0, 0, 0, 0, 0, 0, 0, 0,
  1551. PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11, 0, 0, 0, 0,
  1552. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1553. },
  1554. { PINMUX_CFG_REG("PFCR1", 0xfffe38ac, 16, 4, GROUP(
  1555. PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
  1556. PF7MD_100, 0, 0, 0,
  1557. 0, 0, 0, 0, 0, 0, 0, 0,
  1558. PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
  1559. PF6MD_100, 0, 0, 0,
  1560. 0, 0, 0, 0, 0, 0, 0, 0,
  1561. PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
  1562. PF5MD_100, 0, 0, 0,
  1563. 0, 0, 0, 0, 0, 0, 0, 0,
  1564. PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
  1565. PF4MD_100, 0, 0, 0,
  1566. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1567. },
  1568. { PINMUX_CFG_REG("PFCR0", 0xfffe38ae, 16, 4, GROUP(
  1569. PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
  1570. PF3MD_100, 0, 0, 0,
  1571. 0, 0, 0, 0, 0, 0, 0, 0,
  1572. PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
  1573. PF2MD_100, PF2MD_101, 0, 0,
  1574. 0, 0, 0, 0, 0, 0, 0, 0,
  1575. PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
  1576. PF1MD_100, PF1MD_101, 0, 0,
  1577. 0, 0, 0, 0, 0, 0, 0, 0,
  1578. PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011,
  1579. PF0MD_100, PF0MD_101, 0, 0,
  1580. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1581. },
  1582. { PINMUX_CFG_REG("PFIOR0", 0xfffe38b2, 16, 1, GROUP(
  1583. 0, 0, 0, 0, 0, 0,
  1584. PF12_IN, PF12_OUT,
  1585. PF11_IN, PF11_OUT,
  1586. PF10_IN, PF10_OUT,
  1587. PF9_IN, PF9_OUT,
  1588. PF8_IN, PF8_OUT,
  1589. PF7_IN, PF7_OUT,
  1590. PF6_IN, PF6_OUT,
  1591. PF5_IN, PF5_OUT,
  1592. PF4_IN, PF4_OUT,
  1593. PF3_IN, PF3_OUT,
  1594. PF2_IN, PF2_OUT,
  1595. PF1_IN, PF1_OUT,
  1596. PF0_IN, PF0_OUT ))
  1597. },
  1598. { PINMUX_CFG_REG("PGCR7", 0xfffe38c0, 16, 4, GROUP(
  1599. 0, 0, 0, 0, 0, 0, 0, 0,
  1600. 0, 0, 0, 0, 0, 0, 0, 0,
  1601. 0, 0, 0, 0, 0, 0, 0, 0,
  1602. 0, 0, 0, 0, 0, 0, 0, 0,
  1603. 0, 0, 0, 0, 0, 0, 0, 0,
  1604. 0, 0, 0, 0, 0, 0, 0, 0,
  1605. PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
  1606. PG0MD_100, 0, 0, 0,
  1607. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1608. },
  1609. { PINMUX_CFG_REG("PGCR6", 0xfffe38c2, 16, 4, GROUP(
  1610. 0, 0, 0, 0, 0, 0, 0, 0,
  1611. 0, 0, 0, 0, 0, 0, 0, 0,
  1612. 0, 0, 0, 0, 0, 0, 0, 0,
  1613. 0, 0, 0, 0, 0, 0, 0, 0,
  1614. 0, 0, 0, 0, 0, 0, 0, 0,
  1615. 0, 0, 0, 0, 0, 0, 0, 0,
  1616. PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11, 0, 0, 0, 0,
  1617. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1618. },
  1619. { PINMUX_CFG_REG("PGCR5", 0xfffe38c4, 16, 4, GROUP(
  1620. PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11, 0, 0, 0, 0,
  1621. 0, 0, 0, 0, 0, 0, 0, 0,
  1622. PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11, 0, 0, 0, 0,
  1623. 0, 0, 0, 0, 0, 0, 0, 0,
  1624. PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11, 0, 0, 0, 0,
  1625. 0, 0, 0, 0, 0, 0, 0, 0,
  1626. PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
  1627. PG20MD_100, 0, 0, 0,
  1628. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1629. },
  1630. { PINMUX_CFG_REG("PGCR4", 0xfffe38c6, 16, 4, GROUP(
  1631. PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
  1632. PG19MD_100, 0, 0, 0,
  1633. 0, 0, 0, 0, 0, 0, 0, 0,
  1634. PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
  1635. PG18MD_100, 0, 0, 0,
  1636. 0, 0, 0, 0, 0, 0, 0, 0,
  1637. PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011,
  1638. PG17MD_100, 0, 0, 0,
  1639. 0, 0, 0, 0, 0, 0, 0, 0,
  1640. PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011,
  1641. PG16MD_100, 0, 0, 0,
  1642. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1643. },
  1644. { PINMUX_CFG_REG("PGCR3", 0xfffe38c8, 16, 4, GROUP(
  1645. PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011,
  1646. PG15MD_100, 0, 0, 0,
  1647. 0, 0, 0, 0, 0, 0, 0, 0,
  1648. PG14MD_000, PG14MD_001, PG14MD_010, 0,
  1649. PG14MD_100, 0, 0, 0,
  1650. 0, 0, 0, 0, 0, 0, 0, 0,
  1651. PG13MD_000, PG13MD_001, PG13MD_010, 0,
  1652. PG13MD_100, 0, 0, 0,
  1653. 0, 0, 0, 0, 0, 0, 0, 0,
  1654. PG12MD_000, PG12MD_001, PG12MD_010, 0,
  1655. PG12MD_100, 0, 0, 0,
  1656. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1657. },
  1658. { PINMUX_CFG_REG("PGCR2", 0xfffe38ca, 16, 4, GROUP(
  1659. PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
  1660. PG11MD_100, PG11MD_101, 0, 0,
  1661. 0, 0, 0, 0, 0, 0, 0, 0,
  1662. PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
  1663. PG10MD_100, PG10MD_101, 0, 0,
  1664. 0, 0, 0, 0, 0, 0, 0, 0,
  1665. PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
  1666. PG9MD_100, PG9MD_101, 0, 0,
  1667. 0, 0, 0, 0, 0, 0, 0, 0,
  1668. PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
  1669. PG8MD_100, PG8MD_101, 0, 0,
  1670. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1671. },
  1672. { PINMUX_CFG_REG("PGCR1", 0xfffe38cc, 16, 4, GROUP(
  1673. PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11, 0, 0, 0, 0,
  1674. 0, 0, 0, 0, 0, 0, 0, 0,
  1675. PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11, 0, 0, 0, 0,
  1676. 0, 0, 0, 0, 0, 0, 0, 0,
  1677. PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11, 0, 0, 0, 0,
  1678. 0, 0, 0, 0, 0, 0, 0, 0,
  1679. PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11, 0, 0, 0, 0,
  1680. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1681. },
  1682. { PINMUX_CFG_REG("PGCR0", 0xfffe38ce, 16, 4, GROUP(
  1683. PG3MD_00, PG3MD_01, PG3MD_10, PG3MD_11, 0, 0, 0, 0,
  1684. 0, 0, 0, 0, 0, 0, 0, 0,
  1685. PG2MD_00, PG2MD_01, PG2MD_10, PG2MD_11, 0, 0, 0, 0,
  1686. 0, 0, 0, 0, 0, 0, 0, 0,
  1687. PG1MD_00, PG1MD_01, PG1MD_10, PG1MD_11, 0, 0, 0, 0,
  1688. 0, 0, 0, 0, 0, 0, 0, 0,
  1689. 0, 0, 0, 0, 0, 0, 0, 0,
  1690. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1691. },
  1692. { PINMUX_CFG_REG("PGIOR1", 0xfffe38d0, 16, 1, GROUP(
  1693. 0, 0, 0, 0, 0, 0, 0, 0,
  1694. 0, 0, 0, 0, 0, 0,
  1695. PG24_IN, PG24_OUT,
  1696. PG23_IN, PG23_OUT,
  1697. PG22_IN, PG22_OUT,
  1698. PG21_IN, PG21_OUT,
  1699. PG20_IN, PG20_OUT,
  1700. PG19_IN, PG19_OUT,
  1701. PG18_IN, PG18_OUT,
  1702. PG17_IN, PG17_OUT,
  1703. PG16_IN, PG16_OUT ))
  1704. },
  1705. { PINMUX_CFG_REG("PGIOR0", 0xfffe38d2, 16, 1, GROUP(
  1706. PG15_IN, PG15_OUT,
  1707. PG14_IN, PG14_OUT,
  1708. PG13_IN, PG13_OUT,
  1709. PG12_IN, PG12_OUT,
  1710. PG11_IN, PG11_OUT,
  1711. PG10_IN, PG10_OUT,
  1712. PG9_IN, PG9_OUT,
  1713. PG8_IN, PG8_OUT,
  1714. PG7_IN, PG7_OUT,
  1715. PG6_IN, PG6_OUT,
  1716. PG5_IN, PG5_OUT,
  1717. PG4_IN, PG4_OUT,
  1718. PG3_IN, PG3_OUT,
  1719. PG2_IN, PG2_OUT,
  1720. PG1_IN, PG1_OUT,
  1721. PG0_IN, PG0_OUT
  1722. ))
  1723. },
  1724. { PINMUX_CFG_REG("PHCR1", 0xfffe38ec, 16, 4, GROUP(
  1725. PH7MD_0, PH7MD_1, 0, 0, 0, 0, 0, 0,
  1726. 0, 0, 0, 0, 0, 0, 0, 0,
  1727. PH6MD_0, PH6MD_1, 0, 0, 0, 0, 0, 0,
  1728. 0, 0, 0, 0, 0, 0, 0, 0,
  1729. PH5MD_0, PH5MD_1, 0, 0, 0, 0, 0, 0,
  1730. 0, 0, 0, 0, 0, 0, 0, 0,
  1731. PH4MD_0, PH4MD_1, 0, 0, 0, 0, 0, 0,
  1732. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1733. },
  1734. { PINMUX_CFG_REG("PHCR0", 0xfffe38ee, 16, 4, GROUP(
  1735. PH3MD_0, PH3MD_1, 0, 0, 0, 0, 0, 0,
  1736. 0, 0, 0, 0, 0, 0, 0, 0,
  1737. PH2MD_0, PH2MD_1, 0, 0, 0, 0, 0, 0,
  1738. 0, 0, 0, 0, 0, 0, 0, 0,
  1739. PH1MD_0, PH1MD_1, 0, 0, 0, 0, 0, 0,
  1740. 0, 0, 0, 0, 0, 0, 0, 0,
  1741. PH0MD_0, PH0MD_1, 0, 0, 0, 0, 0, 0,
  1742. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1743. },
  1744. { PINMUX_CFG_REG("PJCR2", 0xfffe390a, 16, 4, GROUP(
  1745. PJ11MD_00, PJ11MD_01, PJ11MD_10, 0, 0, 0, 0, 0,
  1746. 0, 0, 0, 0, 0, 0, 0, 0,
  1747. PJ10MD_00, PJ10MD_01, PJ10MD_10, 0, 0, 0, 0, 0,
  1748. 0, 0, 0, 0, 0, 0, 0, 0,
  1749. PJ9MD_00, PJ9MD_01, PJ9MD_10, 0, 0, 0, 0, 0,
  1750. 0, 0, 0, 0, 0, 0, 0, 0,
  1751. PJ8MD_00, PJ8MD_01, PJ8MD_10, 0, 0, 0, 0, 0,
  1752. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1753. },
  1754. { PINMUX_CFG_REG("PJCR1", 0xfffe390c, 16, 4, GROUP(
  1755. PJ7MD_00, PJ7MD_01, PJ7MD_10, 0, 0, 0, 0, 0,
  1756. 0, 0, 0, 0, 0, 0, 0, 0,
  1757. PJ6MD_00, PJ6MD_01, PJ6MD_10, 0, 0, 0, 0, 0,
  1758. 0, 0, 0, 0, 0, 0, 0, 0,
  1759. PJ5MD_00, PJ5MD_01, PJ5MD_10, 0, 0, 0, 0, 0,
  1760. 0, 0, 0, 0, 0, 0, 0, 0,
  1761. PJ4MD_00, PJ4MD_01, PJ4MD_10, 0, 0, 0, 0, 0,
  1762. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1763. },
  1764. { PINMUX_CFG_REG("PJCR0", 0xfffe390e, 16, 4, GROUP(
  1765. PJ3MD_00, PJ3MD_01, PJ3MD_10, PJ3MD_11, 0, 0, 0, 0,
  1766. 0, 0, 0, 0, 0, 0, 0, 0,
  1767. PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
  1768. PJ2MD_100, PJ2MD_101, 0, 0,
  1769. 0, 0, 0, 0, 0, 0, 0, 0,
  1770. PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
  1771. PJ1MD_100, 0, 0, 0,
  1772. 0, 0, 0, 0, 0, 0, 0, 0,
  1773. PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
  1774. PJ0MD_100, PJ0MD_101, 0, 0,
  1775. 0, 0, 0, 0, 0, 0, 0, 0, ))
  1776. },
  1777. { PINMUX_CFG_REG("PJIOR0", 0xfffe3912, 16, 1, GROUP(
  1778. 0, 0, 0, 0, 0, 0, 0, 0,
  1779. PJ11_IN, PJ11_OUT,
  1780. PJ10_IN, PJ10_OUT,
  1781. PJ9_IN, PJ9_OUT,
  1782. PJ8_IN, PJ8_OUT,
  1783. PJ7_IN, PJ7_OUT,
  1784. PJ6_IN, PJ6_OUT,
  1785. PJ5_IN, PJ5_OUT,
  1786. PJ4_IN, PJ4_OUT,
  1787. PJ3_IN, PJ3_OUT,
  1788. PJ2_IN, PJ2_OUT,
  1789. PJ1_IN, PJ1_OUT,
  1790. PJ0_IN, PJ0_OUT ))
  1791. },
  1792. { PINMUX_CFG_REG("PKCR2", 0xfffe392a, 16, 4, GROUP(
  1793. PK11MD_00, PK11MD_01, PK11MD_10, 0, 0, 0, 0, 0,
  1794. 0, 0, 0, 0, 0, 0, 0, 0,
  1795. PK10MD_00, PK10MD_01, PK10MD_10, 0, 0, 0, 0, 0,
  1796. 0, 0, 0, 0, 0, 0, 0, 0,
  1797. PK9MD_00, PK9MD_01, PK9MD_10, 0, 0, 0, 0, 0,
  1798. 0, 0, 0, 0, 0, 0, 0, 0,
  1799. PK8MD_00, PK8MD_01, PK8MD_10, 0, 0, 0, 0, 0,
  1800. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1801. },
  1802. { PINMUX_CFG_REG("PKCR1", 0xfffe392c, 16, 4, GROUP(
  1803. PK7MD_00, PK7MD_01, PK7MD_10, 0, 0, 0, 0, 0,
  1804. 0, 0, 0, 0, 0, 0, 0, 0,
  1805. PK6MD_00, PK6MD_01, PK6MD_10, 0, 0, 0, 0, 0,
  1806. 0, 0, 0, 0, 0, 0, 0, 0,
  1807. PK5MD_00, PK5MD_01, PK5MD_10, 0, 0, 0, 0, 0,
  1808. 0, 0, 0, 0, 0, 0, 0, 0,
  1809. PK4MD_00, PK4MD_01, PK4MD_10, 0, 0, 0, 0, 0,
  1810. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1811. },
  1812. { PINMUX_CFG_REG("PKCR0", 0xfffe392e, 16, 4, GROUP(
  1813. PK3MD_00, PK3MD_01, PK3MD_10, 0, 0, 0, 0, 0,
  1814. 0, 0, 0, 0, 0, 0, 0, 0,
  1815. PK2MD_00, PK2MD_01, PK2MD_10, 0, 0, 0, 0, 0,
  1816. 0, 0, 0, 0, 0, 0, 0, 0,
  1817. PK1MD_00, PK1MD_01, PK1MD_10, 0, 0, 0, 0, 0,
  1818. 0, 0, 0, 0, 0, 0, 0, 0,
  1819. PK0MD_00, PK0MD_01, PK0MD_10, 0, 0, 0, 0, 0,
  1820. 0, 0, 0, 0, 0, 0, 0, 0 ))
  1821. },
  1822. { PINMUX_CFG_REG("PKIOR0", 0xfffe3932, 16, 1, GROUP(
  1823. 0, 0, 0, 0, 0, 0, 0, 0,
  1824. PK11_IN, PK11_OUT,
  1825. PK10_IN, PK10_OUT,
  1826. PK9_IN, PK9_OUT,
  1827. PK8_IN, PK8_OUT,
  1828. PK7_IN, PK7_OUT,
  1829. PK6_IN, PK6_OUT,
  1830. PK5_IN, PK5_OUT,
  1831. PK4_IN, PK4_OUT,
  1832. PK3_IN, PK3_OUT,
  1833. PK2_IN, PK2_OUT,
  1834. PK1_IN, PK1_OUT,
  1835. PK0_IN, PK0_OUT ))
  1836. },
  1837. {}
  1838. };
  1839. static const struct pinmux_data_reg pinmux_data_regs[] = {
  1840. { PINMUX_DATA_REG("PADR1", 0xfffe3814, 16, GROUP(
  1841. 0, 0, 0, 0, 0, 0, 0, PA3_DATA,
  1842. 0, 0, 0, 0, 0, 0, 0, PA2_DATA ))
  1843. },
  1844. { PINMUX_DATA_REG("PADR0", 0xfffe3816, 16, GROUP(
  1845. 0, 0, 0, 0, 0, 0, 0, PA1_DATA,
  1846. 0, 0, 0, 0, 0, 0, 0, PA0_DATA ))
  1847. },
  1848. { PINMUX_DATA_REG("PBDR1", 0xfffe3834, 16, GROUP(
  1849. 0, 0, 0, 0, 0, 0, 0, 0,
  1850. 0, PB22_DATA, PB21_DATA, PB20_DATA,
  1851. PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA ))
  1852. },
  1853. { PINMUX_DATA_REG("PBDR0", 0xfffe3836, 16, GROUP(
  1854. PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
  1855. PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
  1856. PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
  1857. PB3_DATA, PB2_DATA, PB1_DATA, 0 ))
  1858. },
  1859. { PINMUX_DATA_REG("PCDR0", 0xfffe3856, 16, GROUP(
  1860. 0, 0, 0, 0,
  1861. 0, PC10_DATA, PC9_DATA, PC8_DATA,
  1862. PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
  1863. PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA ))
  1864. },
  1865. { PINMUX_DATA_REG("PDDR0", 0xfffe3876, 16, GROUP(
  1866. PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
  1867. PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
  1868. PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
  1869. PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA ))
  1870. },
  1871. { PINMUX_DATA_REG("PEDR0", 0xfffe3896, 16, GROUP(
  1872. 0, 0, 0, 0, 0, 0, 0, 0,
  1873. 0, 0, PE5_DATA, PE4_DATA,
  1874. PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA ))
  1875. },
  1876. { PINMUX_DATA_REG("PFDR0", 0xfffe38b6, 16, GROUP(
  1877. 0, 0, 0, PF12_DATA,
  1878. PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
  1879. PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
  1880. PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA ))
  1881. },
  1882. { PINMUX_DATA_REG("PGDR1", 0xfffe38d4, 16, GROUP(
  1883. 0, 0, 0, 0, 0, 0, 0, PG24_DATA,
  1884. PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
  1885. PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA ))
  1886. },
  1887. { PINMUX_DATA_REG("PGDR0", 0xfffe38d6, 16, GROUP(
  1888. PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
  1889. PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
  1890. PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
  1891. PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA ))
  1892. },
  1893. { PINMUX_DATA_REG("PJDR0", 0xfffe3916, 16, GROUP(
  1894. 0, 0, 0, PJ12_DATA,
  1895. PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
  1896. PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
  1897. PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA ))
  1898. },
  1899. { PINMUX_DATA_REG("PKDR0", 0xfffe3936, 16, GROUP(
  1900. 0, 0, 0, PK12_DATA,
  1901. PK11_DATA, PK10_DATA, PK9_DATA, PK8_DATA,
  1902. PK7_DATA, PK6_DATA, PK5_DATA, PK4_DATA,
  1903. PK3_DATA, PK2_DATA, PK1_DATA, PK0_DATA ))
  1904. },
  1905. { }
  1906. };
  1907. const struct sh_pfc_soc_info sh7264_pinmux_info = {
  1908. .name = "sh7264_pfc",
  1909. .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
  1910. .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
  1911. .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
  1912. .pins = pinmux_pins,
  1913. .nr_pins = ARRAY_SIZE(pinmux_pins),
  1914. .func_gpios = pinmux_func_gpios,
  1915. .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
  1916. .cfg_regs = pinmux_config_regs,
  1917. .data_regs = pinmux_data_regs,
  1918. .pinmux_data = pinmux_data,
  1919. .pinmux_data_size = ARRAY_SIZE(pinmux_data),
  1920. };