pinctrl-sunxi-pins.h 148 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861
  1. /*
  2. * Allwinner A1X SoCs pinctrl driver.
  3. *
  4. * Copyright (C) 2012 Maxime Ripard
  5. *
  6. * Maxime Ripard <maxime.ripard@free-electrons.com>
  7. *
  8. * This file is licensed under the terms of the GNU General Public
  9. * License version 2. This program is licensed "as is" without any
  10. * warranty of any kind, whether express or implied.
  11. */
  12. #ifndef __PINCTRL_SUNXI_PINS_H
  13. #define __PINCTRL_SUNXI_PINS_H
  14. #include "pinctrl-sunxi.h"
  15. static const struct sunxi_desc_pin sun4i_a10_pins[] = {
  16. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA0,
  17. SUNXI_FUNCTION(0x0, "gpio_in"),
  18. SUNXI_FUNCTION(0x1, "gpio_out"),
  19. SUNXI_FUNCTION(0x2, "emac"), /* ERXD3 */
  20. SUNXI_FUNCTION(0x3, "spi1"), /* CS0 */
  21. SUNXI_FUNCTION(0x4, "uart2")), /* RTS */
  22. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA1,
  23. SUNXI_FUNCTION(0x0, "gpio_in"),
  24. SUNXI_FUNCTION(0x1, "gpio_out"),
  25. SUNXI_FUNCTION(0x2, "emac"), /* ERXD2 */
  26. SUNXI_FUNCTION(0x3, "spi1"), /* CLK */
  27. SUNXI_FUNCTION(0x4, "uart2")), /* CTS */
  28. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA2,
  29. SUNXI_FUNCTION(0x0, "gpio_in"),
  30. SUNXI_FUNCTION(0x1, "gpio_out"),
  31. SUNXI_FUNCTION(0x2, "emac"), /* ERXD1 */
  32. SUNXI_FUNCTION(0x3, "spi1"), /* MOSI */
  33. SUNXI_FUNCTION(0x4, "uart2")), /* TX */
  34. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA3,
  35. SUNXI_FUNCTION(0x0, "gpio_in"),
  36. SUNXI_FUNCTION(0x1, "gpio_out"),
  37. SUNXI_FUNCTION(0x2, "emac"), /* ERXD0 */
  38. SUNXI_FUNCTION(0x3, "spi1"), /* MISO */
  39. SUNXI_FUNCTION(0x4, "uart2")), /* RX */
  40. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA4,
  41. SUNXI_FUNCTION(0x0, "gpio_in"),
  42. SUNXI_FUNCTION(0x1, "gpio_out"),
  43. SUNXI_FUNCTION(0x2, "emac"), /* ETXD3 */
  44. SUNXI_FUNCTION(0x3, "spi1")), /* CS1 */
  45. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA5,
  46. SUNXI_FUNCTION(0x0, "gpio_in"),
  47. SUNXI_FUNCTION(0x1, "gpio_out"),
  48. SUNXI_FUNCTION(0x2, "emac"), /* ETXD2 */
  49. SUNXI_FUNCTION(0x3, "spi3")), /* CS0 */
  50. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA6,
  51. SUNXI_FUNCTION(0x0, "gpio_in"),
  52. SUNXI_FUNCTION(0x1, "gpio_out"),
  53. SUNXI_FUNCTION(0x2, "emac"), /* ETXD1 */
  54. SUNXI_FUNCTION(0x3, "spi3")), /* CLK */
  55. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA7,
  56. SUNXI_FUNCTION(0x0, "gpio_in"),
  57. SUNXI_FUNCTION(0x1, "gpio_out"),
  58. SUNXI_FUNCTION(0x2, "emac"), /* ETXD0 */
  59. SUNXI_FUNCTION(0x3, "spi3")), /* MOSI */
  60. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA8,
  61. SUNXI_FUNCTION(0x0, "gpio_in"),
  62. SUNXI_FUNCTION(0x1, "gpio_out"),
  63. SUNXI_FUNCTION(0x2, "emac"), /* ERXCK */
  64. SUNXI_FUNCTION(0x3, "spi3")), /* MISO */
  65. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA9,
  66. SUNXI_FUNCTION(0x0, "gpio_in"),
  67. SUNXI_FUNCTION(0x1, "gpio_out"),
  68. SUNXI_FUNCTION(0x2, "emac"), /* ERXERR */
  69. SUNXI_FUNCTION(0x3, "spi3")), /* CS1 */
  70. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA10,
  71. SUNXI_FUNCTION(0x0, "gpio_in"),
  72. SUNXI_FUNCTION(0x1, "gpio_out"),
  73. SUNXI_FUNCTION(0x2, "emac"), /* ERXDV */
  74. SUNXI_FUNCTION(0x4, "uart1")), /* TX */
  75. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA11,
  76. SUNXI_FUNCTION(0x0, "gpio_in"),
  77. SUNXI_FUNCTION(0x1, "gpio_out"),
  78. SUNXI_FUNCTION(0x2, "emac"), /* EMDC */
  79. SUNXI_FUNCTION(0x4, "uart1")), /* RX */
  80. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA12,
  81. SUNXI_FUNCTION(0x0, "gpio_in"),
  82. SUNXI_FUNCTION(0x1, "gpio_out"),
  83. SUNXI_FUNCTION(0x2, "emac"), /* EMDIO */
  84. SUNXI_FUNCTION(0x3, "uart6"), /* TX */
  85. SUNXI_FUNCTION(0x4, "uart1")), /* RTS */
  86. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA13,
  87. SUNXI_FUNCTION(0x0, "gpio_in"),
  88. SUNXI_FUNCTION(0x1, "gpio_out"),
  89. SUNXI_FUNCTION(0x2, "emac"), /* ETXEN */
  90. SUNXI_FUNCTION(0x3, "uart6"), /* RX */
  91. SUNXI_FUNCTION(0x4, "uart1")), /* CTS */
  92. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA14,
  93. SUNXI_FUNCTION(0x0, "gpio_in"),
  94. SUNXI_FUNCTION(0x1, "gpio_out"),
  95. SUNXI_FUNCTION(0x2, "emac"), /* ETXCK */
  96. SUNXI_FUNCTION(0x3, "uart7"), /* TX */
  97. SUNXI_FUNCTION(0x4, "uart1")), /* DTR */
  98. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA15,
  99. SUNXI_FUNCTION(0x0, "gpio_in"),
  100. SUNXI_FUNCTION(0x1, "gpio_out"),
  101. SUNXI_FUNCTION(0x2, "emac"), /* ECRS */
  102. SUNXI_FUNCTION(0x3, "uart7"), /* RX */
  103. SUNXI_FUNCTION(0x4, "uart1")), /* DSR */
  104. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA16,
  105. SUNXI_FUNCTION(0x0, "gpio_in"),
  106. SUNXI_FUNCTION(0x1, "gpio_out"),
  107. SUNXI_FUNCTION(0x2, "emac"), /* ECOL */
  108. SUNXI_FUNCTION(0x3, "can"), /* TX */
  109. SUNXI_FUNCTION(0x4, "uart1")), /* DCD */
  110. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA17,
  111. SUNXI_FUNCTION(0x0, "gpio_in"),
  112. SUNXI_FUNCTION(0x1, "gpio_out"),
  113. SUNXI_FUNCTION(0x2, "emac"), /* ETXERR */
  114. SUNXI_FUNCTION(0x3, "can"), /* RX */
  115. SUNXI_FUNCTION(0x4, "uart1")), /* RING */
  116. /* Hole */
  117. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB0,
  118. SUNXI_FUNCTION(0x0, "gpio_in"),
  119. SUNXI_FUNCTION(0x1, "gpio_out"),
  120. SUNXI_FUNCTION(0x2, "i2c0")), /* SCK */
  121. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB1,
  122. SUNXI_FUNCTION(0x0, "gpio_in"),
  123. SUNXI_FUNCTION(0x1, "gpio_out"),
  124. SUNXI_FUNCTION(0x2, "i2c0")), /* SDA */
  125. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB2,
  126. SUNXI_FUNCTION(0x0, "gpio_in"),
  127. SUNXI_FUNCTION(0x1, "gpio_out"),
  128. SUNXI_FUNCTION(0x2, "pwm")), /* PWM0 */
  129. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB3,
  130. SUNXI_FUNCTION(0x0, "gpio_in"),
  131. SUNXI_FUNCTION(0x1, "gpio_out"),
  132. SUNXI_FUNCTION(0x2, "ir0")), /* TX */
  133. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB4,
  134. SUNXI_FUNCTION(0x0, "gpio_in"),
  135. SUNXI_FUNCTION(0x1, "gpio_out"),
  136. SUNXI_FUNCTION(0x2, "ir0")), /* RX */
  137. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB5,
  138. SUNXI_FUNCTION(0x0, "gpio_in"),
  139. SUNXI_FUNCTION(0x1, "gpio_out"),
  140. SUNXI_FUNCTION(0x2, "i2s"), /* MCLK */
  141. SUNXI_FUNCTION(0x3, "ac97")), /* MCLK */
  142. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB6,
  143. SUNXI_FUNCTION(0x0, "gpio_in"),
  144. SUNXI_FUNCTION(0x1, "gpio_out"),
  145. SUNXI_FUNCTION(0x2, "i2s"), /* BCLK */
  146. SUNXI_FUNCTION(0x3, "ac97")), /* BCLK */
  147. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB7,
  148. SUNXI_FUNCTION(0x0, "gpio_in"),
  149. SUNXI_FUNCTION(0x1, "gpio_out"),
  150. SUNXI_FUNCTION(0x2, "i2s"), /* LRCK */
  151. SUNXI_FUNCTION(0x3, "ac97")), /* SYNC */
  152. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB8,
  153. SUNXI_FUNCTION(0x0, "gpio_in"),
  154. SUNXI_FUNCTION(0x1, "gpio_out"),
  155. SUNXI_FUNCTION(0x2, "i2s"), /* DO0 */
  156. SUNXI_FUNCTION(0x3, "ac97")), /* DO */
  157. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB9,
  158. SUNXI_FUNCTION(0x0, "gpio_in"),
  159. SUNXI_FUNCTION(0x1, "gpio_out"),
  160. SUNXI_FUNCTION(0x2, "i2s")), /* DO1 */
  161. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB10,
  162. SUNXI_FUNCTION(0x0, "gpio_in"),
  163. SUNXI_FUNCTION(0x1, "gpio_out"),
  164. SUNXI_FUNCTION(0x2, "i2s")), /* DO2 */
  165. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB11,
  166. SUNXI_FUNCTION(0x0, "gpio_in"),
  167. SUNXI_FUNCTION(0x1, "gpio_out"),
  168. SUNXI_FUNCTION(0x2, "i2s")), /* DO3 */
  169. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB12,
  170. SUNXI_FUNCTION(0x0, "gpio_in"),
  171. SUNXI_FUNCTION(0x1, "gpio_out"),
  172. SUNXI_FUNCTION(0x2, "i2s"), /* DI */
  173. SUNXI_FUNCTION(0x3, "ac97")), /* DI */
  174. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB13,
  175. SUNXI_FUNCTION(0x0, "gpio_in"),
  176. SUNXI_FUNCTION(0x1, "gpio_out"),
  177. SUNXI_FUNCTION(0x2, "spi2")), /* CS1 */
  178. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB14,
  179. SUNXI_FUNCTION(0x0, "gpio_in"),
  180. SUNXI_FUNCTION(0x1, "gpio_out"),
  181. SUNXI_FUNCTION(0x2, "spi2"), /* CS0 */
  182. SUNXI_FUNCTION(0x3, "jtag")), /* MS0 */
  183. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB15,
  184. SUNXI_FUNCTION(0x0, "gpio_in"),
  185. SUNXI_FUNCTION(0x1, "gpio_out"),
  186. SUNXI_FUNCTION(0x2, "spi2"), /* CLK */
  187. SUNXI_FUNCTION(0x3, "jtag")), /* CK0 */
  188. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB16,
  189. SUNXI_FUNCTION(0x0, "gpio_in"),
  190. SUNXI_FUNCTION(0x1, "gpio_out"),
  191. SUNXI_FUNCTION(0x2, "spi2"), /* MOSI */
  192. SUNXI_FUNCTION(0x3, "jtag")), /* DO0 */
  193. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB17,
  194. SUNXI_FUNCTION(0x0, "gpio_in"),
  195. SUNXI_FUNCTION(0x1, "gpio_out"),
  196. SUNXI_FUNCTION(0x2, "spi2"), /* MISO */
  197. SUNXI_FUNCTION(0x3, "jtag")), /* DI0 */
  198. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB18,
  199. SUNXI_FUNCTION(0x0, "gpio_in"),
  200. SUNXI_FUNCTION(0x1, "gpio_out"),
  201. SUNXI_FUNCTION(0x2, "i2c1")), /* SCK */
  202. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB19,
  203. SUNXI_FUNCTION(0x0, "gpio_in"),
  204. SUNXI_FUNCTION(0x1, "gpio_out"),
  205. SUNXI_FUNCTION(0x2, "i2c1")), /* SDA */
  206. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB20,
  207. SUNXI_FUNCTION(0x0, "gpio_in"),
  208. SUNXI_FUNCTION(0x1, "gpio_out"),
  209. SUNXI_FUNCTION(0x2, "i2c2")), /* SCK */
  210. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB21,
  211. SUNXI_FUNCTION(0x0, "gpio_in"),
  212. SUNXI_FUNCTION(0x1, "gpio_out"),
  213. SUNXI_FUNCTION(0x2, "i2c2")), /* SDA */
  214. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB22,
  215. SUNXI_FUNCTION(0x0, "gpio_in"),
  216. SUNXI_FUNCTION(0x1, "gpio_out"),
  217. SUNXI_FUNCTION(0x2, "uart0"), /* TX */
  218. SUNXI_FUNCTION(0x3, "ir1")), /* TX */
  219. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB23,
  220. SUNXI_FUNCTION(0x0, "gpio_in"),
  221. SUNXI_FUNCTION(0x1, "gpio_out"),
  222. SUNXI_FUNCTION(0x2, "uart0"), /* RX */
  223. SUNXI_FUNCTION(0x3, "ir1")), /* RX */
  224. /* Hole */
  225. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC0,
  226. SUNXI_FUNCTION(0x0, "gpio_in"),
  227. SUNXI_FUNCTION(0x1, "gpio_out"),
  228. SUNXI_FUNCTION(0x2, "nand0"), /* NWE */
  229. SUNXI_FUNCTION(0x3, "spi0")), /* MOSI */
  230. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC1,
  231. SUNXI_FUNCTION(0x0, "gpio_in"),
  232. SUNXI_FUNCTION(0x1, "gpio_out"),
  233. SUNXI_FUNCTION(0x2, "nand0"), /* NALE */
  234. SUNXI_FUNCTION(0x3, "spi0")), /* MISO */
  235. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC2,
  236. SUNXI_FUNCTION(0x0, "gpio_in"),
  237. SUNXI_FUNCTION(0x1, "gpio_out"),
  238. SUNXI_FUNCTION(0x2, "nand0"), /* NCLE */
  239. SUNXI_FUNCTION(0x3, "spi0")), /* SCK */
  240. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC3,
  241. SUNXI_FUNCTION(0x0, "gpio_in"),
  242. SUNXI_FUNCTION(0x1, "gpio_out"),
  243. SUNXI_FUNCTION(0x2, "nand0")), /* NCE1 */
  244. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC4,
  245. SUNXI_FUNCTION(0x0, "gpio_in"),
  246. SUNXI_FUNCTION(0x1, "gpio_out"),
  247. SUNXI_FUNCTION(0x2, "nand0")), /* NCE0 */
  248. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC5,
  249. SUNXI_FUNCTION(0x0, "gpio_in"),
  250. SUNXI_FUNCTION(0x1, "gpio_out"),
  251. SUNXI_FUNCTION(0x2, "nand0")), /* NRE# */
  252. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC6,
  253. SUNXI_FUNCTION(0x0, "gpio_in"),
  254. SUNXI_FUNCTION(0x1, "gpio_out"),
  255. SUNXI_FUNCTION(0x2, "nand0"), /* NRB0 */
  256. SUNXI_FUNCTION(0x3, "mmc2")), /* CMD */
  257. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC7,
  258. SUNXI_FUNCTION(0x0, "gpio_in"),
  259. SUNXI_FUNCTION(0x1, "gpio_out"),
  260. SUNXI_FUNCTION(0x2, "nand0"), /* NRB1 */
  261. SUNXI_FUNCTION(0x3, "mmc2")), /* CLK */
  262. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC8,
  263. SUNXI_FUNCTION(0x0, "gpio_in"),
  264. SUNXI_FUNCTION(0x1, "gpio_out"),
  265. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ0 */
  266. SUNXI_FUNCTION(0x3, "mmc2")), /* D0 */
  267. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC9,
  268. SUNXI_FUNCTION(0x0, "gpio_in"),
  269. SUNXI_FUNCTION(0x1, "gpio_out"),
  270. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ1 */
  271. SUNXI_FUNCTION(0x3, "mmc2")), /* D1 */
  272. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC10,
  273. SUNXI_FUNCTION(0x0, "gpio_in"),
  274. SUNXI_FUNCTION(0x1, "gpio_out"),
  275. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ2 */
  276. SUNXI_FUNCTION(0x3, "mmc2")), /* D2 */
  277. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC11,
  278. SUNXI_FUNCTION(0x0, "gpio_in"),
  279. SUNXI_FUNCTION(0x1, "gpio_out"),
  280. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ3 */
  281. SUNXI_FUNCTION(0x3, "mmc2")), /* D3 */
  282. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC12,
  283. SUNXI_FUNCTION(0x0, "gpio_in"),
  284. SUNXI_FUNCTION(0x1, "gpio_out"),
  285. SUNXI_FUNCTION(0x2, "nand0")), /* NDQ4 */
  286. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC13,
  287. SUNXI_FUNCTION(0x0, "gpio_in"),
  288. SUNXI_FUNCTION(0x1, "gpio_out"),
  289. SUNXI_FUNCTION(0x2, "nand0")), /* NDQ5 */
  290. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC14,
  291. SUNXI_FUNCTION(0x0, "gpio_in"),
  292. SUNXI_FUNCTION(0x1, "gpio_out"),
  293. SUNXI_FUNCTION(0x2, "nand0")), /* NDQ6 */
  294. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC15,
  295. SUNXI_FUNCTION(0x0, "gpio_in"),
  296. SUNXI_FUNCTION(0x1, "gpio_out"),
  297. SUNXI_FUNCTION(0x2, "nand0")), /* NDQ7 */
  298. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC16,
  299. SUNXI_FUNCTION(0x0, "gpio_in"),
  300. SUNXI_FUNCTION(0x1, "gpio_out"),
  301. SUNXI_FUNCTION(0x2, "nand0")), /* NWP */
  302. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC17,
  303. SUNXI_FUNCTION(0x0, "gpio_in"),
  304. SUNXI_FUNCTION(0x1, "gpio_out"),
  305. SUNXI_FUNCTION(0x2, "nand0")), /* NCE2 */
  306. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC18,
  307. SUNXI_FUNCTION(0x0, "gpio_in"),
  308. SUNXI_FUNCTION(0x1, "gpio_out"),
  309. SUNXI_FUNCTION(0x2, "nand0")), /* NCE3 */
  310. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC19,
  311. SUNXI_FUNCTION(0x0, "gpio_in"),
  312. SUNXI_FUNCTION(0x1, "gpio_out"),
  313. SUNXI_FUNCTION(0x2, "nand0"), /* NCE4 */
  314. SUNXI_FUNCTION(0x3, "spi2")), /* CS0 */
  315. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC20,
  316. SUNXI_FUNCTION(0x0, "gpio_in"),
  317. SUNXI_FUNCTION(0x1, "gpio_out"),
  318. SUNXI_FUNCTION(0x2, "nand0"), /* NCE5 */
  319. SUNXI_FUNCTION(0x3, "spi2")), /* CLK */
  320. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC21,
  321. SUNXI_FUNCTION(0x0, "gpio_in"),
  322. SUNXI_FUNCTION(0x1, "gpio_out"),
  323. SUNXI_FUNCTION(0x2, "nand0"), /* NCE6 */
  324. SUNXI_FUNCTION(0x3, "spi2")), /* MOSI */
  325. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC22,
  326. SUNXI_FUNCTION(0x0, "gpio_in"),
  327. SUNXI_FUNCTION(0x1, "gpio_out"),
  328. SUNXI_FUNCTION(0x2, "nand0"), /* NCE7 */
  329. SUNXI_FUNCTION(0x3, "spi2")), /* MISO */
  330. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC23,
  331. SUNXI_FUNCTION(0x0, "gpio_in"),
  332. SUNXI_FUNCTION(0x1, "gpio_out"),
  333. SUNXI_FUNCTION(0x3, "spi0")), /* CS0 */
  334. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC24,
  335. SUNXI_FUNCTION(0x0, "gpio_in"),
  336. SUNXI_FUNCTION(0x1, "gpio_out"),
  337. SUNXI_FUNCTION(0x2, "nand0")), /* NDQS */
  338. /* Hole */
  339. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD0,
  340. SUNXI_FUNCTION(0x0, "gpio_in"),
  341. SUNXI_FUNCTION(0x1, "gpio_out"),
  342. SUNXI_FUNCTION(0x2, "lcd0"), /* D0 */
  343. SUNXI_FUNCTION(0x3, "lvds0")), /* VP0 */
  344. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD1,
  345. SUNXI_FUNCTION(0x0, "gpio_in"),
  346. SUNXI_FUNCTION(0x1, "gpio_out"),
  347. SUNXI_FUNCTION(0x2, "lcd0"), /* D1 */
  348. SUNXI_FUNCTION(0x3, "lvds0")), /* VN0 */
  349. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD2,
  350. SUNXI_FUNCTION(0x0, "gpio_in"),
  351. SUNXI_FUNCTION(0x1, "gpio_out"),
  352. SUNXI_FUNCTION(0x2, "lcd0"), /* D2 */
  353. SUNXI_FUNCTION(0x3, "lvds0")), /* VP1 */
  354. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD3,
  355. SUNXI_FUNCTION(0x0, "gpio_in"),
  356. SUNXI_FUNCTION(0x1, "gpio_out"),
  357. SUNXI_FUNCTION(0x2, "lcd0"), /* D3 */
  358. SUNXI_FUNCTION(0x3, "lvds0")), /* VN1 */
  359. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD4,
  360. SUNXI_FUNCTION(0x0, "gpio_in"),
  361. SUNXI_FUNCTION(0x1, "gpio_out"),
  362. SUNXI_FUNCTION(0x2, "lcd0"), /* D4 */
  363. SUNXI_FUNCTION(0x3, "lvds0")), /* VP2 */
  364. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD5,
  365. SUNXI_FUNCTION(0x0, "gpio_in"),
  366. SUNXI_FUNCTION(0x1, "gpio_out"),
  367. SUNXI_FUNCTION(0x2, "lcd0"), /* D5 */
  368. SUNXI_FUNCTION(0x3, "lvds0")), /* VN2 */
  369. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD6,
  370. SUNXI_FUNCTION(0x0, "gpio_in"),
  371. SUNXI_FUNCTION(0x1, "gpio_out"),
  372. SUNXI_FUNCTION(0x2, "lcd0"), /* D6 */
  373. SUNXI_FUNCTION(0x3, "lvds0")), /* VPC */
  374. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD7,
  375. SUNXI_FUNCTION(0x0, "gpio_in"),
  376. SUNXI_FUNCTION(0x1, "gpio_out"),
  377. SUNXI_FUNCTION(0x2, "lcd0"), /* D7 */
  378. SUNXI_FUNCTION(0x3, "lvds0")), /* VNC */
  379. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD8,
  380. SUNXI_FUNCTION(0x0, "gpio_in"),
  381. SUNXI_FUNCTION(0x1, "gpio_out"),
  382. SUNXI_FUNCTION(0x2, "lcd0"), /* D8 */
  383. SUNXI_FUNCTION(0x3, "lvds0")), /* VP3 */
  384. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD9,
  385. SUNXI_FUNCTION(0x0, "gpio_in"),
  386. SUNXI_FUNCTION(0x1, "gpio_out"),
  387. SUNXI_FUNCTION(0x2, "lcd0"), /* D9 */
  388. SUNXI_FUNCTION(0x3, "lvds0")), /* VM3 */
  389. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD10,
  390. SUNXI_FUNCTION(0x0, "gpio_in"),
  391. SUNXI_FUNCTION(0x1, "gpio_out"),
  392. SUNXI_FUNCTION(0x2, "lcd0"), /* D10 */
  393. SUNXI_FUNCTION(0x3, "lvds1")), /* VP0 */
  394. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD11,
  395. SUNXI_FUNCTION(0x0, "gpio_in"),
  396. SUNXI_FUNCTION(0x1, "gpio_out"),
  397. SUNXI_FUNCTION(0x2, "lcd0"), /* D11 */
  398. SUNXI_FUNCTION(0x3, "lvds1")), /* VN0 */
  399. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD12,
  400. SUNXI_FUNCTION(0x0, "gpio_in"),
  401. SUNXI_FUNCTION(0x1, "gpio_out"),
  402. SUNXI_FUNCTION(0x2, "lcd0"), /* D12 */
  403. SUNXI_FUNCTION(0x3, "lvds1")), /* VP1 */
  404. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD13,
  405. SUNXI_FUNCTION(0x0, "gpio_in"),
  406. SUNXI_FUNCTION(0x1, "gpio_out"),
  407. SUNXI_FUNCTION(0x2, "lcd0"), /* D13 */
  408. SUNXI_FUNCTION(0x3, "lvds1")), /* VN1 */
  409. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD14,
  410. SUNXI_FUNCTION(0x0, "gpio_in"),
  411. SUNXI_FUNCTION(0x1, "gpio_out"),
  412. SUNXI_FUNCTION(0x2, "lcd0"), /* D14 */
  413. SUNXI_FUNCTION(0x3, "lvds1")), /* VP2 */
  414. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD15,
  415. SUNXI_FUNCTION(0x0, "gpio_in"),
  416. SUNXI_FUNCTION(0x1, "gpio_out"),
  417. SUNXI_FUNCTION(0x2, "lcd0"), /* D15 */
  418. SUNXI_FUNCTION(0x3, "lvds1")), /* VN2 */
  419. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD16,
  420. SUNXI_FUNCTION(0x0, "gpio_in"),
  421. SUNXI_FUNCTION(0x1, "gpio_out"),
  422. SUNXI_FUNCTION(0x2, "lcd0"), /* D16 */
  423. SUNXI_FUNCTION(0x3, "lvds1")), /* VPC */
  424. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD17,
  425. SUNXI_FUNCTION(0x0, "gpio_in"),
  426. SUNXI_FUNCTION(0x1, "gpio_out"),
  427. SUNXI_FUNCTION(0x2, "lcd0"), /* D17 */
  428. SUNXI_FUNCTION(0x3, "lvds1")), /* VNC */
  429. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD18,
  430. SUNXI_FUNCTION(0x0, "gpio_in"),
  431. SUNXI_FUNCTION(0x1, "gpio_out"),
  432. SUNXI_FUNCTION(0x2, "lcd0"), /* D18 */
  433. SUNXI_FUNCTION(0x3, "lvds1")), /* VP3 */
  434. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD19,
  435. SUNXI_FUNCTION(0x0, "gpio_in"),
  436. SUNXI_FUNCTION(0x1, "gpio_out"),
  437. SUNXI_FUNCTION(0x2, "lcd0"), /* D19 */
  438. SUNXI_FUNCTION(0x3, "lvds1")), /* VN3 */
  439. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD20,
  440. SUNXI_FUNCTION(0x0, "gpio_in"),
  441. SUNXI_FUNCTION(0x1, "gpio_out"),
  442. SUNXI_FUNCTION(0x2, "lcd0"), /* D20 */
  443. SUNXI_FUNCTION(0x3, "csi1")), /* MCLK */
  444. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD21,
  445. SUNXI_FUNCTION(0x0, "gpio_in"),
  446. SUNXI_FUNCTION(0x1, "gpio_out"),
  447. SUNXI_FUNCTION(0x2, "lcd0"), /* D21 */
  448. SUNXI_FUNCTION(0x3, "sim")), /* VPPEN */
  449. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD22,
  450. SUNXI_FUNCTION(0x0, "gpio_in"),
  451. SUNXI_FUNCTION(0x1, "gpio_out"),
  452. SUNXI_FUNCTION(0x2, "lcd0"), /* D22 */
  453. SUNXI_FUNCTION(0x3, "sim")), /* VPPPP */
  454. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD23,
  455. SUNXI_FUNCTION(0x0, "gpio_in"),
  456. SUNXI_FUNCTION(0x1, "gpio_out"),
  457. SUNXI_FUNCTION(0x2, "lcd0"), /* D23 */
  458. SUNXI_FUNCTION(0x3, "sim")), /* DET */
  459. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD24,
  460. SUNXI_FUNCTION(0x0, "gpio_in"),
  461. SUNXI_FUNCTION(0x1, "gpio_out"),
  462. SUNXI_FUNCTION(0x2, "lcd0"), /* CLK */
  463. SUNXI_FUNCTION(0x3, "sim")), /* VCCEN */
  464. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD25,
  465. SUNXI_FUNCTION(0x0, "gpio_in"),
  466. SUNXI_FUNCTION(0x1, "gpio_out"),
  467. SUNXI_FUNCTION(0x2, "lcd0"), /* DE */
  468. SUNXI_FUNCTION(0x3, "sim")), /* RST */
  469. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD26,
  470. SUNXI_FUNCTION(0x0, "gpio_in"),
  471. SUNXI_FUNCTION(0x1, "gpio_out"),
  472. SUNXI_FUNCTION(0x2, "lcd0"), /* HSYNC */
  473. SUNXI_FUNCTION(0x3, "sim")), /* SCK */
  474. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD27,
  475. SUNXI_FUNCTION(0x0, "gpio_in"),
  476. SUNXI_FUNCTION(0x1, "gpio_out"),
  477. SUNXI_FUNCTION(0x2, "lcd0"), /* VSYNC */
  478. SUNXI_FUNCTION(0x3, "sim")), /* SDA */
  479. /* Hole */
  480. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE0,
  481. SUNXI_FUNCTION(0x0, "gpio_in"),
  482. SUNXI_FUNCTION(0x1, "gpio_out"),
  483. SUNXI_FUNCTION(0x2, "ts0"), /* CLK */
  484. SUNXI_FUNCTION(0x3, "csi0")), /* PCK */
  485. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE1,
  486. SUNXI_FUNCTION(0x0, "gpio_in"),
  487. SUNXI_FUNCTION(0x1, "gpio_out"),
  488. SUNXI_FUNCTION(0x2, "ts0"), /* ERR */
  489. SUNXI_FUNCTION(0x3, "csi0")), /* CK */
  490. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE2,
  491. SUNXI_FUNCTION(0x0, "gpio_in"),
  492. SUNXI_FUNCTION(0x1, "gpio_out"),
  493. SUNXI_FUNCTION(0x2, "ts0"), /* SYNC */
  494. SUNXI_FUNCTION(0x3, "csi0")), /* HSYNC */
  495. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE3,
  496. SUNXI_FUNCTION(0x0, "gpio_in"),
  497. SUNXI_FUNCTION(0x1, "gpio_out"),
  498. SUNXI_FUNCTION(0x2, "ts0"), /* DVLD */
  499. SUNXI_FUNCTION(0x3, "csi0")), /* VSYNC */
  500. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE4,
  501. SUNXI_FUNCTION(0x0, "gpio_in"),
  502. SUNXI_FUNCTION(0x1, "gpio_out"),
  503. SUNXI_FUNCTION(0x2, "ts0"), /* D0 */
  504. SUNXI_FUNCTION(0x3, "csi0")), /* D0 */
  505. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE5,
  506. SUNXI_FUNCTION(0x0, "gpio_in"),
  507. SUNXI_FUNCTION(0x1, "gpio_out"),
  508. SUNXI_FUNCTION(0x2, "ts0"), /* D1 */
  509. SUNXI_FUNCTION(0x3, "csi0"), /* D1 */
  510. SUNXI_FUNCTION(0x4, "sim")), /* VPPEN */
  511. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE6,
  512. SUNXI_FUNCTION(0x0, "gpio_in"),
  513. SUNXI_FUNCTION(0x1, "gpio_out"),
  514. SUNXI_FUNCTION(0x2, "ts0"), /* D2 */
  515. SUNXI_FUNCTION(0x3, "csi0")), /* D2 */
  516. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE7,
  517. SUNXI_FUNCTION(0x0, "gpio_in"),
  518. SUNXI_FUNCTION(0x1, "gpio_out"),
  519. SUNXI_FUNCTION(0x2, "ts0"), /* D3 */
  520. SUNXI_FUNCTION(0x3, "csi0")), /* D3 */
  521. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE8,
  522. SUNXI_FUNCTION(0x0, "gpio_in"),
  523. SUNXI_FUNCTION(0x1, "gpio_out"),
  524. SUNXI_FUNCTION(0x2, "ts0"), /* D4 */
  525. SUNXI_FUNCTION(0x3, "csi0")), /* D4 */
  526. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE9,
  527. SUNXI_FUNCTION(0x0, "gpio_in"),
  528. SUNXI_FUNCTION(0x1, "gpio_out"),
  529. SUNXI_FUNCTION(0x2, "ts0"), /* D5 */
  530. SUNXI_FUNCTION(0x3, "csi0")), /* D5 */
  531. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE10,
  532. SUNXI_FUNCTION(0x0, "gpio_in"),
  533. SUNXI_FUNCTION(0x1, "gpio_out"),
  534. SUNXI_FUNCTION(0x2, "ts0"), /* D6 */
  535. SUNXI_FUNCTION(0x3, "csi0")), /* D6 */
  536. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE11,
  537. SUNXI_FUNCTION(0x0, "gpio_in"),
  538. SUNXI_FUNCTION(0x1, "gpio_out"),
  539. SUNXI_FUNCTION(0x2, "ts0"), /* D7 */
  540. SUNXI_FUNCTION(0x3, "csi0")), /* D7 */
  541. /* Hole */
  542. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF0,
  543. SUNXI_FUNCTION(0x0, "gpio_in"),
  544. SUNXI_FUNCTION(0x1, "gpio_out"),
  545. SUNXI_FUNCTION(0x2, "mmc0"), /* D1 */
  546. SUNXI_FUNCTION(0x4, "jtag")), /* MSI */
  547. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF1,
  548. SUNXI_FUNCTION(0x0, "gpio_in"),
  549. SUNXI_FUNCTION(0x1, "gpio_out"),
  550. SUNXI_FUNCTION(0x2, "mmc0"), /* D0 */
  551. SUNXI_FUNCTION(0x4, "jtag")), /* DI1 */
  552. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF2,
  553. SUNXI_FUNCTION(0x0, "gpio_in"),
  554. SUNXI_FUNCTION(0x1, "gpio_out"),
  555. SUNXI_FUNCTION(0x2, "mmc0"), /* CLK */
  556. SUNXI_FUNCTION(0x4, "uart0")), /* TX */
  557. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF3,
  558. SUNXI_FUNCTION(0x0, "gpio_in"),
  559. SUNXI_FUNCTION(0x1, "gpio_out"),
  560. SUNXI_FUNCTION(0x2, "mmc0"), /* CMD */
  561. SUNXI_FUNCTION(0x4, "jtag")), /* DO1 */
  562. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF4,
  563. SUNXI_FUNCTION(0x0, "gpio_in"),
  564. SUNXI_FUNCTION(0x1, "gpio_out"),
  565. SUNXI_FUNCTION(0x2, "mmc0"), /* D3 */
  566. SUNXI_FUNCTION(0x4, "uart0")), /* RX */
  567. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF5,
  568. SUNXI_FUNCTION(0x0, "gpio_in"),
  569. SUNXI_FUNCTION(0x1, "gpio_out"),
  570. SUNXI_FUNCTION(0x2, "mmc0"), /* D2 */
  571. SUNXI_FUNCTION(0x4, "jtag")), /* CK1 */
  572. /* Hole */
  573. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG0,
  574. SUNXI_FUNCTION(0x0, "gpio_in"),
  575. SUNXI_FUNCTION(0x1, "gpio_out"),
  576. SUNXI_FUNCTION(0x2, "ts1"), /* CLK */
  577. SUNXI_FUNCTION(0x3, "csi1"), /* PCK */
  578. SUNXI_FUNCTION(0x4, "mmc1")), /* CMD */
  579. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG1,
  580. SUNXI_FUNCTION(0x0, "gpio_in"),
  581. SUNXI_FUNCTION(0x1, "gpio_out"),
  582. SUNXI_FUNCTION(0x2, "ts1"), /* ERR */
  583. SUNXI_FUNCTION(0x3, "csi1"), /* CK */
  584. SUNXI_FUNCTION(0x4, "mmc1")), /* CLK */
  585. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG2,
  586. SUNXI_FUNCTION(0x0, "gpio_in"),
  587. SUNXI_FUNCTION(0x1, "gpio_out"),
  588. SUNXI_FUNCTION(0x2, "ts1"), /* SYNC */
  589. SUNXI_FUNCTION(0x3, "csi1"), /* HSYNC */
  590. SUNXI_FUNCTION(0x4, "mmc1")), /* D0 */
  591. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG3,
  592. SUNXI_FUNCTION(0x0, "gpio_in"),
  593. SUNXI_FUNCTION(0x1, "gpio_out"),
  594. SUNXI_FUNCTION(0x2, "ts1"), /* DVLD */
  595. SUNXI_FUNCTION(0x3, "csi1"), /* VSYNC */
  596. SUNXI_FUNCTION(0x4, "mmc1")), /* D1 */
  597. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG4,
  598. SUNXI_FUNCTION(0x0, "gpio_in"),
  599. SUNXI_FUNCTION(0x1, "gpio_out"),
  600. SUNXI_FUNCTION(0x2, "ts1"), /* D0 */
  601. SUNXI_FUNCTION(0x3, "csi1"), /* D0 */
  602. SUNXI_FUNCTION(0x4, "mmc1"), /* D2 */
  603. SUNXI_FUNCTION(0x5, "csi0")), /* D8 */
  604. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG5,
  605. SUNXI_FUNCTION(0x0, "gpio_in"),
  606. SUNXI_FUNCTION(0x1, "gpio_out"),
  607. SUNXI_FUNCTION(0x2, "ts1"), /* D1 */
  608. SUNXI_FUNCTION(0x3, "csi1"), /* D1 */
  609. SUNXI_FUNCTION(0x4, "mmc1"), /* D3 */
  610. SUNXI_FUNCTION(0x5, "csi0")), /* D9 */
  611. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG6,
  612. SUNXI_FUNCTION(0x0, "gpio_in"),
  613. SUNXI_FUNCTION(0x1, "gpio_out"),
  614. SUNXI_FUNCTION(0x2, "ts1"), /* D2 */
  615. SUNXI_FUNCTION(0x3, "csi1"), /* D2 */
  616. SUNXI_FUNCTION(0x4, "uart3"), /* TX */
  617. SUNXI_FUNCTION(0x5, "csi0")), /* D10 */
  618. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG7,
  619. SUNXI_FUNCTION(0x0, "gpio_in"),
  620. SUNXI_FUNCTION(0x1, "gpio_out"),
  621. SUNXI_FUNCTION(0x2, "ts1"), /* D3 */
  622. SUNXI_FUNCTION(0x3, "csi1"), /* D3 */
  623. SUNXI_FUNCTION(0x4, "uart3"), /* RX */
  624. SUNXI_FUNCTION(0x5, "csi0")), /* D11 */
  625. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG8,
  626. SUNXI_FUNCTION(0x0, "gpio_in"),
  627. SUNXI_FUNCTION(0x1, "gpio_out"),
  628. SUNXI_FUNCTION(0x2, "ts1"), /* D4 */
  629. SUNXI_FUNCTION(0x3, "csi1"), /* D4 */
  630. SUNXI_FUNCTION(0x4, "uart3"), /* RTS */
  631. SUNXI_FUNCTION(0x5, "csi0")), /* D12 */
  632. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG9,
  633. SUNXI_FUNCTION(0x0, "gpio_in"),
  634. SUNXI_FUNCTION(0x1, "gpio_out"),
  635. SUNXI_FUNCTION(0x2, "ts1"), /* D5 */
  636. SUNXI_FUNCTION(0x3, "csi1"), /* D5 */
  637. SUNXI_FUNCTION(0x4, "uart3"), /* CTS */
  638. SUNXI_FUNCTION(0x5, "csi0")), /* D13 */
  639. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG10,
  640. SUNXI_FUNCTION(0x0, "gpio_in"),
  641. SUNXI_FUNCTION(0x1, "gpio_out"),
  642. SUNXI_FUNCTION(0x2, "ts1"), /* D6 */
  643. SUNXI_FUNCTION(0x3, "csi1"), /* D6 */
  644. SUNXI_FUNCTION(0x4, "uart4"), /* TX */
  645. SUNXI_FUNCTION(0x5, "csi0")), /* D14 */
  646. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG11,
  647. SUNXI_FUNCTION(0x0, "gpio_in"),
  648. SUNXI_FUNCTION(0x1, "gpio_out"),
  649. SUNXI_FUNCTION(0x2, "ts1"), /* D7 */
  650. SUNXI_FUNCTION(0x3, "csi1"), /* D7 */
  651. SUNXI_FUNCTION(0x4, "uart4"), /* RX */
  652. SUNXI_FUNCTION(0x5, "csi0")), /* D15 */
  653. /* Hole */
  654. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH0,
  655. SUNXI_FUNCTION(0x0, "gpio_in"),
  656. SUNXI_FUNCTION(0x1, "gpio_out"),
  657. SUNXI_FUNCTION(0x2, "lcd1"), /* D0 */
  658. SUNXI_FUNCTION(0x3, "pata"), /* ATAA0 */
  659. SUNXI_FUNCTION(0x4, "uart3"), /* TX */
  660. SUNXI_FUNCTION_IRQ(0x6, 0), /* EINT0 */
  661. SUNXI_FUNCTION(0x7, "csi1")), /* D0 */
  662. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH1,
  663. SUNXI_FUNCTION(0x0, "gpio_in"),
  664. SUNXI_FUNCTION(0x1, "gpio_out"),
  665. SUNXI_FUNCTION(0x2, "lcd1"), /* D1 */
  666. SUNXI_FUNCTION(0x3, "pata"), /* ATAA1 */
  667. SUNXI_FUNCTION(0x4, "uart3"), /* RX */
  668. SUNXI_FUNCTION_IRQ(0x6, 1), /* EINT1 */
  669. SUNXI_FUNCTION(0x7, "csi1")), /* D1 */
  670. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH2,
  671. SUNXI_FUNCTION(0x0, "gpio_in"),
  672. SUNXI_FUNCTION(0x1, "gpio_out"),
  673. SUNXI_FUNCTION(0x2, "lcd1"), /* D2 */
  674. SUNXI_FUNCTION(0x3, "pata"), /* ATAA2 */
  675. SUNXI_FUNCTION(0x4, "uart3"), /* RTS */
  676. SUNXI_FUNCTION_IRQ(0x6, 2), /* EINT2 */
  677. SUNXI_FUNCTION(0x7, "csi1")), /* D2 */
  678. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH3,
  679. SUNXI_FUNCTION(0x0, "gpio_in"),
  680. SUNXI_FUNCTION(0x1, "gpio_out"),
  681. SUNXI_FUNCTION(0x2, "lcd1"), /* D3 */
  682. SUNXI_FUNCTION(0x3, "pata"), /* ATAIRQ */
  683. SUNXI_FUNCTION(0x4, "uart3"), /* CTS */
  684. SUNXI_FUNCTION_IRQ(0x6, 3), /* EINT3 */
  685. SUNXI_FUNCTION(0x7, "csi1")), /* D3 */
  686. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH4,
  687. SUNXI_FUNCTION(0x0, "gpio_in"),
  688. SUNXI_FUNCTION(0x1, "gpio_out"),
  689. SUNXI_FUNCTION(0x2, "lcd1"), /* D4 */
  690. SUNXI_FUNCTION(0x3, "pata"), /* ATAD0 */
  691. SUNXI_FUNCTION(0x4, "uart4"), /* TX */
  692. SUNXI_FUNCTION_IRQ(0x6, 4), /* EINT4 */
  693. SUNXI_FUNCTION(0x7, "csi1")), /* D4 */
  694. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH5,
  695. SUNXI_FUNCTION(0x0, "gpio_in"),
  696. SUNXI_FUNCTION(0x1, "gpio_out"),
  697. SUNXI_FUNCTION(0x2, "lcd1"), /* D5 */
  698. SUNXI_FUNCTION(0x3, "pata"), /* ATAD1 */
  699. SUNXI_FUNCTION(0x4, "uart4"), /* RX */
  700. SUNXI_FUNCTION_IRQ(0x6, 5), /* EINT5 */
  701. SUNXI_FUNCTION(0x7, "csi1")), /* D5 */
  702. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH6,
  703. SUNXI_FUNCTION(0x0, "gpio_in"),
  704. SUNXI_FUNCTION(0x1, "gpio_out"),
  705. SUNXI_FUNCTION(0x2, "lcd1"), /* D6 */
  706. SUNXI_FUNCTION(0x3, "pata"), /* ATAD2 */
  707. SUNXI_FUNCTION(0x4, "uart5"), /* TX */
  708. SUNXI_FUNCTION(0x5, "ms"), /* BS */
  709. SUNXI_FUNCTION_IRQ(0x6, 6), /* EINT6 */
  710. SUNXI_FUNCTION(0x7, "csi1")), /* D6 */
  711. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH7,
  712. SUNXI_FUNCTION(0x0, "gpio_in"),
  713. SUNXI_FUNCTION(0x1, "gpio_out"),
  714. SUNXI_FUNCTION(0x2, "lcd1"), /* D7 */
  715. SUNXI_FUNCTION(0x3, "pata"), /* ATAD3 */
  716. SUNXI_FUNCTION(0x4, "uart5"), /* RX */
  717. SUNXI_FUNCTION(0x5, "ms"), /* CLK */
  718. SUNXI_FUNCTION_IRQ(0x6, 7), /* EINT7 */
  719. SUNXI_FUNCTION(0x7, "csi1")), /* D7 */
  720. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH8,
  721. SUNXI_FUNCTION(0x0, "gpio_in"),
  722. SUNXI_FUNCTION(0x1, "gpio_out"),
  723. SUNXI_FUNCTION(0x2, "lcd1"), /* D8 */
  724. SUNXI_FUNCTION(0x3, "pata"), /* ATAD4 */
  725. SUNXI_FUNCTION(0x4, "keypad"), /* IN0 */
  726. SUNXI_FUNCTION(0x5, "ms"), /* D0 */
  727. SUNXI_FUNCTION_IRQ(0x6, 8), /* EINT8 */
  728. SUNXI_FUNCTION(0x7, "csi1")), /* D8 */
  729. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH9,
  730. SUNXI_FUNCTION(0x0, "gpio_in"),
  731. SUNXI_FUNCTION(0x1, "gpio_out"),
  732. SUNXI_FUNCTION(0x2, "lcd1"), /* D9 */
  733. SUNXI_FUNCTION(0x3, "pata"), /* ATAD5 */
  734. SUNXI_FUNCTION(0x4, "keypad"), /* IN1 */
  735. SUNXI_FUNCTION(0x5, "ms"), /* D1 */
  736. SUNXI_FUNCTION_IRQ(0x6, 9), /* EINT9 */
  737. SUNXI_FUNCTION(0x7, "csi1")), /* D9 */
  738. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH10,
  739. SUNXI_FUNCTION(0x0, "gpio_in"),
  740. SUNXI_FUNCTION(0x1, "gpio_out"),
  741. SUNXI_FUNCTION(0x2, "lcd1"), /* D10 */
  742. SUNXI_FUNCTION(0x3, "pata"), /* ATAD6 */
  743. SUNXI_FUNCTION(0x4, "keypad"), /* IN2 */
  744. SUNXI_FUNCTION(0x5, "ms"), /* D2 */
  745. SUNXI_FUNCTION_IRQ(0x6, 10), /* EINT10 */
  746. SUNXI_FUNCTION(0x7, "csi1")), /* D10 */
  747. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH11,
  748. SUNXI_FUNCTION(0x0, "gpio_in"),
  749. SUNXI_FUNCTION(0x1, "gpio_out"),
  750. SUNXI_FUNCTION(0x2, "lcd1"), /* D11 */
  751. SUNXI_FUNCTION(0x3, "pata"), /* ATAD7 */
  752. SUNXI_FUNCTION(0x4, "keypad"), /* IN3 */
  753. SUNXI_FUNCTION(0x5, "ms"), /* D3 */
  754. SUNXI_FUNCTION_IRQ(0x6, 11), /* EINT11 */
  755. SUNXI_FUNCTION(0x7, "csi1")), /* D11 */
  756. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH12,
  757. SUNXI_FUNCTION(0x0, "gpio_in"),
  758. SUNXI_FUNCTION(0x1, "gpio_out"),
  759. SUNXI_FUNCTION(0x2, "lcd1"), /* D12 */
  760. SUNXI_FUNCTION(0x3, "pata"), /* ATAD8 */
  761. SUNXI_FUNCTION(0x4, "ps2"), /* SCK1 */
  762. SUNXI_FUNCTION_IRQ(0x6, 12), /* EINT12 */
  763. SUNXI_FUNCTION(0x7, "csi1")), /* D12 */
  764. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH13,
  765. SUNXI_FUNCTION(0x0, "gpio_in"),
  766. SUNXI_FUNCTION(0x1, "gpio_out"),
  767. SUNXI_FUNCTION(0x2, "lcd1"), /* D13 */
  768. SUNXI_FUNCTION(0x3, "pata"), /* ATAD9 */
  769. SUNXI_FUNCTION(0x4, "ps2"), /* SDA1 */
  770. SUNXI_FUNCTION(0x5, "sim"), /* RST */
  771. SUNXI_FUNCTION_IRQ(0x6, 13), /* EINT13 */
  772. SUNXI_FUNCTION(0x7, "csi1")), /* D13 */
  773. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH14,
  774. SUNXI_FUNCTION(0x0, "gpio_in"),
  775. SUNXI_FUNCTION(0x1, "gpio_out"),
  776. SUNXI_FUNCTION(0x2, "lcd1"), /* D14 */
  777. SUNXI_FUNCTION(0x3, "pata"), /* ATAD10 */
  778. SUNXI_FUNCTION(0x4, "keypad"), /* IN4 */
  779. SUNXI_FUNCTION(0x5, "sim"), /* VPPEN */
  780. SUNXI_FUNCTION_IRQ(0x6, 14), /* EINT14 */
  781. SUNXI_FUNCTION(0x7, "csi1")), /* D14 */
  782. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH15,
  783. SUNXI_FUNCTION(0x0, "gpio_in"),
  784. SUNXI_FUNCTION(0x1, "gpio_out"),
  785. SUNXI_FUNCTION(0x2, "lcd1"), /* D15 */
  786. SUNXI_FUNCTION(0x3, "pata"), /* ATAD11 */
  787. SUNXI_FUNCTION(0x4, "keypad"), /* IN5 */
  788. SUNXI_FUNCTION(0x5, "sim"), /* VPPPP */
  789. SUNXI_FUNCTION_IRQ(0x6, 15), /* EINT15 */
  790. SUNXI_FUNCTION(0x7, "csi1")), /* D15 */
  791. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH16,
  792. SUNXI_FUNCTION(0x0, "gpio_in"),
  793. SUNXI_FUNCTION(0x1, "gpio_out"),
  794. SUNXI_FUNCTION(0x2, "lcd1"), /* D16 */
  795. SUNXI_FUNCTION(0x3, "pata"), /* ATAD12 */
  796. SUNXI_FUNCTION(0x4, "keypad"), /* IN6 */
  797. SUNXI_FUNCTION_IRQ(0x6, 16), /* EINT16 */
  798. SUNXI_FUNCTION(0x7, "csi1")), /* D16 */
  799. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH17,
  800. SUNXI_FUNCTION(0x0, "gpio_in"),
  801. SUNXI_FUNCTION(0x1, "gpio_out"),
  802. SUNXI_FUNCTION(0x2, "lcd1"), /* D17 */
  803. SUNXI_FUNCTION(0x3, "pata"), /* ATAD13 */
  804. SUNXI_FUNCTION(0x4, "keypad"), /* IN7 */
  805. SUNXI_FUNCTION(0x5, "sim"), /* VCCEN */
  806. SUNXI_FUNCTION_IRQ(0x6, 17), /* EINT17 */
  807. SUNXI_FUNCTION(0x7, "csi1")), /* D17 */
  808. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH18,
  809. SUNXI_FUNCTION(0x0, "gpio_in"),
  810. SUNXI_FUNCTION(0x1, "gpio_out"),
  811. SUNXI_FUNCTION(0x2, "lcd1"), /* D18 */
  812. SUNXI_FUNCTION(0x3, "pata"), /* ATAD14 */
  813. SUNXI_FUNCTION(0x4, "keypad"), /* OUT0 */
  814. SUNXI_FUNCTION(0x5, "sim"), /* SCK */
  815. SUNXI_FUNCTION_IRQ(0x6, 18), /* EINT18 */
  816. SUNXI_FUNCTION(0x7, "csi1")), /* D18 */
  817. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH19,
  818. SUNXI_FUNCTION(0x0, "gpio_in"),
  819. SUNXI_FUNCTION(0x1, "gpio_out"),
  820. SUNXI_FUNCTION(0x2, "lcd1"), /* D19 */
  821. SUNXI_FUNCTION(0x3, "pata"), /* ATAD15 */
  822. SUNXI_FUNCTION(0x4, "keypad"), /* OUT1 */
  823. SUNXI_FUNCTION(0x5, "sim"), /* SDA */
  824. SUNXI_FUNCTION_IRQ(0x6, 19), /* EINT19 */
  825. SUNXI_FUNCTION(0x7, "csi1")), /* D19 */
  826. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH20,
  827. SUNXI_FUNCTION(0x0, "gpio_in"),
  828. SUNXI_FUNCTION(0x1, "gpio_out"),
  829. SUNXI_FUNCTION(0x2, "lcd1"), /* D20 */
  830. SUNXI_FUNCTION(0x3, "pata"), /* ATAOE */
  831. SUNXI_FUNCTION(0x4, "can"), /* TX */
  832. SUNXI_FUNCTION_IRQ(0x6, 20), /* EINT20 */
  833. SUNXI_FUNCTION(0x7, "csi1")), /* D20 */
  834. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH21,
  835. SUNXI_FUNCTION(0x0, "gpio_in"),
  836. SUNXI_FUNCTION(0x1, "gpio_out"),
  837. SUNXI_FUNCTION(0x2, "lcd1"), /* D21 */
  838. SUNXI_FUNCTION(0x3, "pata"), /* ATADREQ */
  839. SUNXI_FUNCTION(0x4, "can"), /* RX */
  840. SUNXI_FUNCTION_IRQ(0x6, 21), /* EINT21 */
  841. SUNXI_FUNCTION(0x7, "csi1")), /* D21 */
  842. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH22,
  843. SUNXI_FUNCTION(0x0, "gpio_in"),
  844. SUNXI_FUNCTION(0x1, "gpio_out"),
  845. SUNXI_FUNCTION(0x2, "lcd1"), /* D22 */
  846. SUNXI_FUNCTION(0x3, "pata"), /* ATADACK */
  847. SUNXI_FUNCTION(0x4, "keypad"), /* OUT2 */
  848. SUNXI_FUNCTION(0x5, "mmc1"), /* CMD */
  849. SUNXI_FUNCTION(0x7, "csi1")), /* D22 */
  850. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH23,
  851. SUNXI_FUNCTION(0x0, "gpio_in"),
  852. SUNXI_FUNCTION(0x1, "gpio_out"),
  853. SUNXI_FUNCTION(0x2, "lcd1"), /* D23 */
  854. SUNXI_FUNCTION(0x3, "pata"), /* ATACS0 */
  855. SUNXI_FUNCTION(0x4, "keypad"), /* OUT3 */
  856. SUNXI_FUNCTION(0x5, "mmc1"), /* CLK */
  857. SUNXI_FUNCTION(0x7, "csi1")), /* D23 */
  858. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH24,
  859. SUNXI_FUNCTION(0x0, "gpio_in"),
  860. SUNXI_FUNCTION(0x1, "gpio_out"),
  861. SUNXI_FUNCTION(0x2, "lcd1"), /* CLK */
  862. SUNXI_FUNCTION(0x3, "pata"), /* ATACS1 */
  863. SUNXI_FUNCTION(0x4, "keypad"), /* OUT4 */
  864. SUNXI_FUNCTION(0x5, "mmc1"), /* D0 */
  865. SUNXI_FUNCTION(0x7, "csi1")), /* PCLK */
  866. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH25,
  867. SUNXI_FUNCTION(0x0, "gpio_in"),
  868. SUNXI_FUNCTION(0x1, "gpio_out"),
  869. SUNXI_FUNCTION(0x2, "lcd1"), /* DE */
  870. SUNXI_FUNCTION(0x3, "pata"), /* ATAIORDY */
  871. SUNXI_FUNCTION(0x4, "keypad"), /* OUT5 */
  872. SUNXI_FUNCTION(0x5, "mmc1"), /* D1 */
  873. SUNXI_FUNCTION(0x7, "csi1")), /* FIELD */
  874. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH26,
  875. SUNXI_FUNCTION(0x0, "gpio_in"),
  876. SUNXI_FUNCTION(0x1, "gpio_out"),
  877. SUNXI_FUNCTION(0x2, "lcd1"), /* HSYNC */
  878. SUNXI_FUNCTION(0x3, "pata"), /* ATAIOR */
  879. SUNXI_FUNCTION(0x4, "keypad"), /* OUT6 */
  880. SUNXI_FUNCTION(0x5, "mmc1"), /* D2 */
  881. SUNXI_FUNCTION(0x7, "csi1")), /* HSYNC */
  882. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH27,
  883. SUNXI_FUNCTION(0x0, "gpio_in"),
  884. SUNXI_FUNCTION(0x1, "gpio_out"),
  885. SUNXI_FUNCTION(0x2, "lcd1"), /* VSYNC */
  886. SUNXI_FUNCTION(0x3, "pata"), /* ATAIOW */
  887. SUNXI_FUNCTION(0x4, "keypad"), /* OUT7 */
  888. SUNXI_FUNCTION(0x5, "mmc1"), /* D3 */
  889. SUNXI_FUNCTION(0x7, "csi1")), /* VSYNC */
  890. /* Hole */
  891. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI0,
  892. SUNXI_FUNCTION(0x0, "gpio_in"),
  893. SUNXI_FUNCTION(0x1, "gpio_out")),
  894. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI1,
  895. SUNXI_FUNCTION(0x0, "gpio_in"),
  896. SUNXI_FUNCTION(0x1, "gpio_out")),
  897. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI2,
  898. SUNXI_FUNCTION(0x0, "gpio_in"),
  899. SUNXI_FUNCTION(0x1, "gpio_out")),
  900. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI3,
  901. SUNXI_FUNCTION(0x0, "gpio_in"),
  902. SUNXI_FUNCTION(0x1, "gpio_out"),
  903. SUNXI_FUNCTION(0x2, "pwm")), /* PWM1 */
  904. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI4,
  905. SUNXI_FUNCTION(0x0, "gpio_in"),
  906. SUNXI_FUNCTION(0x1, "gpio_out"),
  907. SUNXI_FUNCTION(0x2, "mmc3")), /* CMD */
  908. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI5,
  909. SUNXI_FUNCTION(0x0, "gpio_in"),
  910. SUNXI_FUNCTION(0x1, "gpio_out"),
  911. SUNXI_FUNCTION(0x2, "mmc3")), /* CLK */
  912. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI6,
  913. SUNXI_FUNCTION(0x0, "gpio_in"),
  914. SUNXI_FUNCTION(0x1, "gpio_out"),
  915. SUNXI_FUNCTION(0x2, "mmc3")), /* D0 */
  916. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI7,
  917. SUNXI_FUNCTION(0x0, "gpio_in"),
  918. SUNXI_FUNCTION(0x1, "gpio_out"),
  919. SUNXI_FUNCTION(0x2, "mmc3")), /* D1 */
  920. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI8,
  921. SUNXI_FUNCTION(0x0, "gpio_in"),
  922. SUNXI_FUNCTION(0x1, "gpio_out"),
  923. SUNXI_FUNCTION(0x2, "mmc3")), /* D2 */
  924. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI9,
  925. SUNXI_FUNCTION(0x0, "gpio_in"),
  926. SUNXI_FUNCTION(0x1, "gpio_out"),
  927. SUNXI_FUNCTION(0x2, "mmc3")), /* D3 */
  928. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI10,
  929. SUNXI_FUNCTION(0x0, "gpio_in"),
  930. SUNXI_FUNCTION(0x1, "gpio_out"),
  931. SUNXI_FUNCTION(0x2, "spi0"), /* CS0 */
  932. SUNXI_FUNCTION(0x3, "uart5"), /* TX */
  933. SUNXI_FUNCTION_IRQ(0x6, 22)), /* EINT22 */
  934. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI11,
  935. SUNXI_FUNCTION(0x0, "gpio_in"),
  936. SUNXI_FUNCTION(0x1, "gpio_out"),
  937. SUNXI_FUNCTION(0x2, "spi0"), /* CLK */
  938. SUNXI_FUNCTION(0x3, "uart5"), /* RX */
  939. SUNXI_FUNCTION_IRQ(0x6, 23)), /* EINT23 */
  940. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI12,
  941. SUNXI_FUNCTION(0x0, "gpio_in"),
  942. SUNXI_FUNCTION(0x1, "gpio_out"),
  943. SUNXI_FUNCTION(0x2, "spi0"), /* MOSI */
  944. SUNXI_FUNCTION(0x3, "uart6"), /* TX */
  945. SUNXI_FUNCTION_IRQ(0x6, 24)), /* EINT24 */
  946. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI13,
  947. SUNXI_FUNCTION(0x0, "gpio_in"),
  948. SUNXI_FUNCTION(0x1, "gpio_out"),
  949. SUNXI_FUNCTION(0x2, "spi0"), /* MISO */
  950. SUNXI_FUNCTION(0x3, "uart6"), /* RX */
  951. SUNXI_FUNCTION_IRQ(0x6, 25)), /* EINT25 */
  952. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI14,
  953. SUNXI_FUNCTION(0x0, "gpio_in"),
  954. SUNXI_FUNCTION(0x1, "gpio_out"),
  955. SUNXI_FUNCTION(0x2, "spi0"), /* CS1 */
  956. SUNXI_FUNCTION(0x3, "ps2"), /* SCK1 */
  957. SUNXI_FUNCTION(0x4, "timer4"), /* TCLKIN0 */
  958. SUNXI_FUNCTION_IRQ(0x6, 26)), /* EINT26 */
  959. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI15,
  960. SUNXI_FUNCTION(0x0, "gpio_in"),
  961. SUNXI_FUNCTION(0x1, "gpio_out"),
  962. SUNXI_FUNCTION(0x2, "spi1"), /* CS1 */
  963. SUNXI_FUNCTION(0x3, "ps2"), /* SDA1 */
  964. SUNXI_FUNCTION(0x4, "timer5"), /* TCLKIN1 */
  965. SUNXI_FUNCTION_IRQ(0x6, 27)), /* EINT27 */
  966. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI16,
  967. SUNXI_FUNCTION(0x0, "gpio_in"),
  968. SUNXI_FUNCTION(0x1, "gpio_out"),
  969. SUNXI_FUNCTION(0x2, "spi1"), /* CS0 */
  970. SUNXI_FUNCTION(0x3, "uart2"), /* RTS */
  971. SUNXI_FUNCTION_IRQ(0x6, 28)), /* EINT28 */
  972. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI17,
  973. SUNXI_FUNCTION(0x0, "gpio_in"),
  974. SUNXI_FUNCTION(0x1, "gpio_out"),
  975. SUNXI_FUNCTION(0x2, "spi1"), /* CLK */
  976. SUNXI_FUNCTION(0x3, "uart2"), /* CTS */
  977. SUNXI_FUNCTION_IRQ(0x6, 29)), /* EINT29 */
  978. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI18,
  979. SUNXI_FUNCTION(0x0, "gpio_in"),
  980. SUNXI_FUNCTION(0x1, "gpio_out"),
  981. SUNXI_FUNCTION(0x2, "spi1"), /* MOSI */
  982. SUNXI_FUNCTION(0x3, "uart2"), /* TX */
  983. SUNXI_FUNCTION_IRQ(0x6, 30)), /* EINT30 */
  984. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI19,
  985. SUNXI_FUNCTION(0x0, "gpio_in"),
  986. SUNXI_FUNCTION(0x1, "gpio_out"),
  987. SUNXI_FUNCTION(0x2, "spi1"), /* MISO */
  988. SUNXI_FUNCTION(0x3, "uart2"), /* RX */
  989. SUNXI_FUNCTION_IRQ(0x6, 31)), /* EINT31 */
  990. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI20,
  991. SUNXI_FUNCTION(0x0, "gpio_in"),
  992. SUNXI_FUNCTION(0x1, "gpio_out"),
  993. SUNXI_FUNCTION(0x2, "ps2"), /* SCK0 */
  994. SUNXI_FUNCTION(0x3, "uart7"), /* TX */
  995. SUNXI_FUNCTION(0x4, "hdmi")), /* HSCL */
  996. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI21,
  997. SUNXI_FUNCTION(0x0, "gpio_in"),
  998. SUNXI_FUNCTION(0x1, "gpio_out"),
  999. SUNXI_FUNCTION(0x2, "ps2"), /* SDA0 */
  1000. SUNXI_FUNCTION(0x3, "uart7"), /* RX */
  1001. SUNXI_FUNCTION(0x4, "hdmi")), /* HSDA */
  1002. };
  1003. static const struct sunxi_desc_pin sun5i_a10s_pins[] = {
  1004. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA0,
  1005. SUNXI_FUNCTION(0x0, "gpio_in"),
  1006. SUNXI_FUNCTION(0x1, "gpio_out"),
  1007. SUNXI_FUNCTION(0x2, "emac"), /* ERXD3 */
  1008. SUNXI_FUNCTION(0x3, "ts0"), /* CLK */
  1009. SUNXI_FUNCTION(0x5, "keypad")), /* IN0 */
  1010. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA1,
  1011. SUNXI_FUNCTION(0x0, "gpio_in"),
  1012. SUNXI_FUNCTION(0x1, "gpio_out"),
  1013. SUNXI_FUNCTION(0x2, "emac"), /* ERXD2 */
  1014. SUNXI_FUNCTION(0x3, "ts0"), /* ERR */
  1015. SUNXI_FUNCTION(0x5, "keypad")), /* IN1 */
  1016. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA2,
  1017. SUNXI_FUNCTION(0x0, "gpio_in"),
  1018. SUNXI_FUNCTION(0x1, "gpio_out"),
  1019. SUNXI_FUNCTION(0x2, "emac"), /* ERXD1 */
  1020. SUNXI_FUNCTION(0x3, "ts0"), /* SYNC */
  1021. SUNXI_FUNCTION(0x5, "keypad")), /* IN2 */
  1022. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA3,
  1023. SUNXI_FUNCTION(0x0, "gpio_in"),
  1024. SUNXI_FUNCTION(0x1, "gpio_out"),
  1025. SUNXI_FUNCTION(0x2, "emac"), /* ERXD0 */
  1026. SUNXI_FUNCTION(0x3, "ts0"), /* DLVD */
  1027. SUNXI_FUNCTION(0x5, "keypad")), /* IN3 */
  1028. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA4,
  1029. SUNXI_FUNCTION(0x0, "gpio_in"),
  1030. SUNXI_FUNCTION(0x1, "gpio_out"),
  1031. SUNXI_FUNCTION(0x2, "emac"), /* ETXD3 */
  1032. SUNXI_FUNCTION(0x3, "ts0"), /* D0 */
  1033. SUNXI_FUNCTION(0x5, "keypad")), /* IN4 */
  1034. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA5,
  1035. SUNXI_FUNCTION(0x0, "gpio_in"),
  1036. SUNXI_FUNCTION(0x1, "gpio_out"),
  1037. SUNXI_FUNCTION(0x2, "emac"), /* ETXD2 */
  1038. SUNXI_FUNCTION(0x3, "ts0"), /* D1 */
  1039. SUNXI_FUNCTION(0x5, "keypad")), /* IN5 */
  1040. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA6,
  1041. SUNXI_FUNCTION(0x0, "gpio_in"),
  1042. SUNXI_FUNCTION(0x1, "gpio_out"),
  1043. SUNXI_FUNCTION(0x2, "emac"), /* ETXD1 */
  1044. SUNXI_FUNCTION(0x3, "ts0"), /* D2 */
  1045. SUNXI_FUNCTION(0x5, "keypad")), /* IN6 */
  1046. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA7,
  1047. SUNXI_FUNCTION(0x0, "gpio_in"),
  1048. SUNXI_FUNCTION(0x1, "gpio_out"),
  1049. SUNXI_FUNCTION(0x2, "emac"), /* ETXD0 */
  1050. SUNXI_FUNCTION(0x3, "ts0"), /* D3 */
  1051. SUNXI_FUNCTION(0x5, "keypad")), /* IN7 */
  1052. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA8,
  1053. SUNXI_FUNCTION(0x0, "gpio_in"),
  1054. SUNXI_FUNCTION(0x1, "gpio_out"),
  1055. SUNXI_FUNCTION(0x2, "emac"), /* ERXCK */
  1056. SUNXI_FUNCTION(0x3, "ts0"), /* D4 */
  1057. SUNXI_FUNCTION(0x4, "uart1"), /* DTR */
  1058. SUNXI_FUNCTION(0x5, "keypad")), /* OUT0 */
  1059. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA9,
  1060. SUNXI_FUNCTION(0x0, "gpio_in"),
  1061. SUNXI_FUNCTION(0x1, "gpio_out"),
  1062. SUNXI_FUNCTION(0x2, "emac"), /* ERXERR */
  1063. SUNXI_FUNCTION(0x3, "ts0"), /* D5 */
  1064. SUNXI_FUNCTION(0x4, "uart1"), /* DSR */
  1065. SUNXI_FUNCTION(0x5, "keypad")), /* OUT1 */
  1066. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA10,
  1067. SUNXI_FUNCTION(0x0, "gpio_in"),
  1068. SUNXI_FUNCTION(0x1, "gpio_out"),
  1069. SUNXI_FUNCTION(0x2, "emac"), /* ERXDV */
  1070. SUNXI_FUNCTION(0x3, "ts0"), /* D6 */
  1071. SUNXI_FUNCTION(0x4, "uart1"), /* DCD */
  1072. SUNXI_FUNCTION(0x5, "keypad")), /* OUT2 */
  1073. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA11,
  1074. SUNXI_FUNCTION(0x0, "gpio_in"),
  1075. SUNXI_FUNCTION(0x1, "gpio_out"),
  1076. SUNXI_FUNCTION(0x2, "emac"), /* EMDC */
  1077. SUNXI_FUNCTION(0x3, "ts0"), /* D7 */
  1078. SUNXI_FUNCTION(0x4, "uart1"), /* RING */
  1079. SUNXI_FUNCTION(0x5, "keypad")), /* OUT3 */
  1080. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA12,
  1081. SUNXI_FUNCTION(0x0, "gpio_in"),
  1082. SUNXI_FUNCTION(0x1, "gpio_out"),
  1083. SUNXI_FUNCTION(0x2, "emac"), /* EMDIO */
  1084. SUNXI_FUNCTION(0x3, "uart1"), /* TX */
  1085. SUNXI_FUNCTION(0x5, "keypad")), /* OUT4 */
  1086. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA13,
  1087. SUNXI_FUNCTION(0x0, "gpio_in"),
  1088. SUNXI_FUNCTION(0x1, "gpio_out"),
  1089. SUNXI_FUNCTION(0x2, "emac"), /* ETXEN */
  1090. SUNXI_FUNCTION(0x3, "uart1"), /* RX */
  1091. SUNXI_FUNCTION(0x5, "keypad")), /* OUT5 */
  1092. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA14,
  1093. SUNXI_FUNCTION(0x0, "gpio_in"),
  1094. SUNXI_FUNCTION(0x1, "gpio_out"),
  1095. SUNXI_FUNCTION(0x2, "emac"), /* ETXCK */
  1096. SUNXI_FUNCTION(0x3, "uart1"), /* CTS */
  1097. SUNXI_FUNCTION(0x4, "uart3"), /* TX */
  1098. SUNXI_FUNCTION(0x5, "keypad")), /* OUT6 */
  1099. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA15,
  1100. SUNXI_FUNCTION(0x0, "gpio_in"),
  1101. SUNXI_FUNCTION(0x1, "gpio_out"),
  1102. SUNXI_FUNCTION(0x2, "emac"), /* ECRS */
  1103. SUNXI_FUNCTION(0x3, "uart1"), /* RTS */
  1104. SUNXI_FUNCTION(0x4, "uart3"), /* RX */
  1105. SUNXI_FUNCTION(0x5, "keypad")), /* OUT7 */
  1106. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA16,
  1107. SUNXI_FUNCTION(0x0, "gpio_in"),
  1108. SUNXI_FUNCTION(0x1, "gpio_out"),
  1109. SUNXI_FUNCTION(0x2, "emac"), /* ECOL */
  1110. SUNXI_FUNCTION(0x3, "uart2")), /* TX */
  1111. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA17,
  1112. SUNXI_FUNCTION(0x0, "gpio_in"),
  1113. SUNXI_FUNCTION(0x1, "gpio_out"),
  1114. SUNXI_FUNCTION(0x2, "emac"), /* ETXERR */
  1115. SUNXI_FUNCTION(0x3, "uart2"), /* RX */
  1116. SUNXI_FUNCTION_IRQ(0x6, 31)), /* EINT31 */
  1117. /* Hole */
  1118. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB0,
  1119. SUNXI_FUNCTION(0x0, "gpio_in"),
  1120. SUNXI_FUNCTION(0x1, "gpio_out"),
  1121. SUNXI_FUNCTION(0x2, "i2c0")), /* SCK */
  1122. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB1,
  1123. SUNXI_FUNCTION(0x0, "gpio_in"),
  1124. SUNXI_FUNCTION(0x1, "gpio_out"),
  1125. SUNXI_FUNCTION(0x2, "i2c0")), /* SDA */
  1126. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB2,
  1127. SUNXI_FUNCTION(0x0, "gpio_in"),
  1128. SUNXI_FUNCTION(0x1, "gpio_out"),
  1129. SUNXI_FUNCTION(0x2, "pwm"), /* PWM0 */
  1130. SUNXI_FUNCTION_IRQ(0x6, 16)), /* EINT16 */
  1131. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB3,
  1132. SUNXI_FUNCTION(0x0, "gpio_in"),
  1133. SUNXI_FUNCTION(0x1, "gpio_out"),
  1134. SUNXI_FUNCTION(0x2, "ir0"), /* TX */
  1135. SUNXI_FUNCTION_IRQ(0x6, 17)), /* EINT17 */
  1136. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB4,
  1137. SUNXI_FUNCTION(0x0, "gpio_in"),
  1138. SUNXI_FUNCTION(0x1, "gpio_out"),
  1139. SUNXI_FUNCTION(0x2, "ir0"), /* RX */
  1140. SUNXI_FUNCTION_IRQ(0x6, 18)), /* EINT18 */
  1141. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB5,
  1142. SUNXI_FUNCTION(0x0, "gpio_in"),
  1143. SUNXI_FUNCTION(0x1, "gpio_out"),
  1144. SUNXI_FUNCTION(0x2, "i2s"), /* MCLK */
  1145. SUNXI_FUNCTION_IRQ(0x6, 19)), /* EINT19 */
  1146. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB6,
  1147. SUNXI_FUNCTION(0x0, "gpio_in"),
  1148. SUNXI_FUNCTION(0x1, "gpio_out"),
  1149. SUNXI_FUNCTION(0x2, "i2s"), /* BCLK */
  1150. SUNXI_FUNCTION_IRQ(0x6, 20)), /* EINT20 */
  1151. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB7,
  1152. SUNXI_FUNCTION(0x0, "gpio_in"),
  1153. SUNXI_FUNCTION(0x1, "gpio_out"),
  1154. SUNXI_FUNCTION(0x2, "i2s"), /* LRCK */
  1155. SUNXI_FUNCTION_IRQ(0x6, 21)), /* EINT21 */
  1156. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB8,
  1157. SUNXI_FUNCTION(0x0, "gpio_in"),
  1158. SUNXI_FUNCTION(0x1, "gpio_out"),
  1159. SUNXI_FUNCTION(0x2, "i2s"), /* DO */
  1160. SUNXI_FUNCTION_IRQ(0x6, 22)), /* EINT22 */
  1161. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB9,
  1162. SUNXI_FUNCTION(0x0, "gpio_in"),
  1163. SUNXI_FUNCTION(0x1, "gpio_out"),
  1164. SUNXI_FUNCTION(0x2, "i2s"), /* DI */
  1165. SUNXI_FUNCTION_IRQ(0x6, 23)), /* EINT23 */
  1166. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB10,
  1167. SUNXI_FUNCTION(0x0, "gpio_in"),
  1168. SUNXI_FUNCTION(0x1, "gpio_out"),
  1169. SUNXI_FUNCTION(0x2, "spi2"), /* CS1 */
  1170. SUNXI_FUNCTION_IRQ(0x6, 24)), /* EINT24 */
  1171. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB11,
  1172. SUNXI_FUNCTION(0x0, "gpio_in"),
  1173. SUNXI_FUNCTION(0x1, "gpio_out"),
  1174. SUNXI_FUNCTION(0x2, "spi2"), /* CS0 */
  1175. SUNXI_FUNCTION(0x3, "jtag"), /* MS0 */
  1176. SUNXI_FUNCTION_IRQ(0x6, 25)), /* EINT25 */
  1177. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB12,
  1178. SUNXI_FUNCTION(0x0, "gpio_in"),
  1179. SUNXI_FUNCTION(0x1, "gpio_out"),
  1180. SUNXI_FUNCTION(0x2, "spi2"), /* CLK */
  1181. SUNXI_FUNCTION(0x3, "jtag"), /* CK0 */
  1182. SUNXI_FUNCTION_IRQ(0x6, 26)), /* EINT26 */
  1183. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB13,
  1184. SUNXI_FUNCTION(0x0, "gpio_in"),
  1185. SUNXI_FUNCTION(0x1, "gpio_out"),
  1186. SUNXI_FUNCTION(0x2, "spi2"), /* MOSI */
  1187. SUNXI_FUNCTION(0x3, "jtag"), /* DO0 */
  1188. SUNXI_FUNCTION_IRQ(0x6, 27)), /* EINT27 */
  1189. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB14,
  1190. SUNXI_FUNCTION(0x0, "gpio_in"),
  1191. SUNXI_FUNCTION(0x1, "gpio_out"),
  1192. SUNXI_FUNCTION(0x2, "spi2"), /* MISO */
  1193. SUNXI_FUNCTION(0x3, "jtag"), /* DI0 */
  1194. SUNXI_FUNCTION_IRQ(0x6, 28)), /* EINT28 */
  1195. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB15,
  1196. SUNXI_FUNCTION(0x0, "gpio_in"),
  1197. SUNXI_FUNCTION(0x1, "gpio_out"),
  1198. SUNXI_FUNCTION(0x2, "i2c1")), /* SCK */
  1199. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB16,
  1200. SUNXI_FUNCTION(0x0, "gpio_in"),
  1201. SUNXI_FUNCTION(0x1, "gpio_out"),
  1202. SUNXI_FUNCTION(0x2, "i2c1")), /* SDA */
  1203. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB17,
  1204. SUNXI_FUNCTION(0x0, "gpio_in"),
  1205. SUNXI_FUNCTION(0x1, "gpio_out"),
  1206. SUNXI_FUNCTION(0x2, "i2c2")), /* SCK */
  1207. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB18,
  1208. SUNXI_FUNCTION(0x0, "gpio_in"),
  1209. SUNXI_FUNCTION(0x1, "gpio_out"),
  1210. SUNXI_FUNCTION(0x2, "i2c2")), /* SDA */
  1211. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB19,
  1212. SUNXI_FUNCTION(0x0, "gpio_in"),
  1213. SUNXI_FUNCTION(0x1, "gpio_out"),
  1214. SUNXI_FUNCTION(0x2, "uart0"), /* TX */
  1215. SUNXI_FUNCTION_IRQ(0x6, 29)), /* EINT29 */
  1216. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB20,
  1217. SUNXI_FUNCTION(0x0, "gpio_in"),
  1218. SUNXI_FUNCTION(0x1, "gpio_out"),
  1219. SUNXI_FUNCTION(0x2, "uart0"), /* RX */
  1220. SUNXI_FUNCTION_IRQ(0x6, 30)), /* EINT30 */
  1221. /* Hole */
  1222. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC0,
  1223. SUNXI_FUNCTION(0x0, "gpio_in"),
  1224. SUNXI_FUNCTION(0x1, "gpio_out"),
  1225. SUNXI_FUNCTION(0x2, "nand0"), /* NWE */
  1226. SUNXI_FUNCTION(0x3, "spi0")), /* MOSI */
  1227. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC1,
  1228. SUNXI_FUNCTION(0x0, "gpio_in"),
  1229. SUNXI_FUNCTION(0x1, "gpio_out"),
  1230. SUNXI_FUNCTION(0x2, "nand0"), /* NALE */
  1231. SUNXI_FUNCTION(0x3, "spi0")), /* MISO */
  1232. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC2,
  1233. SUNXI_FUNCTION(0x0, "gpio_in"),
  1234. SUNXI_FUNCTION(0x1, "gpio_out"),
  1235. SUNXI_FUNCTION(0x2, "nand0"), /* NCLE */
  1236. SUNXI_FUNCTION(0x3, "spi0")), /* SCK */
  1237. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC3,
  1238. SUNXI_FUNCTION(0x0, "gpio_in"),
  1239. SUNXI_FUNCTION(0x1, "gpio_out"),
  1240. SUNXI_FUNCTION(0x2, "nand0"), /* NCE1 */
  1241. SUNXI_FUNCTION(0x3, "spi0")), /* CS0 */
  1242. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC4,
  1243. SUNXI_FUNCTION(0x0, "gpio_in"),
  1244. SUNXI_FUNCTION(0x1, "gpio_out"),
  1245. SUNXI_FUNCTION(0x2, "nand0")), /* NCE0 */
  1246. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC5,
  1247. SUNXI_FUNCTION(0x0, "gpio_in"),
  1248. SUNXI_FUNCTION(0x1, "gpio_out"),
  1249. SUNXI_FUNCTION(0x2, "nand0")), /* NRE */
  1250. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC6,
  1251. SUNXI_FUNCTION(0x0, "gpio_in"),
  1252. SUNXI_FUNCTION(0x1, "gpio_out"),
  1253. SUNXI_FUNCTION(0x2, "nand0"), /* NRB0 */
  1254. SUNXI_FUNCTION(0x3, "mmc2")), /* CMD */
  1255. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC7,
  1256. SUNXI_FUNCTION(0x0, "gpio_in"),
  1257. SUNXI_FUNCTION(0x1, "gpio_out"),
  1258. SUNXI_FUNCTION(0x2, "nand0"), /* NRB1 */
  1259. SUNXI_FUNCTION(0x3, "mmc2")), /* CLK */
  1260. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC8,
  1261. SUNXI_FUNCTION(0x0, "gpio_in"),
  1262. SUNXI_FUNCTION(0x1, "gpio_out"),
  1263. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ0 */
  1264. SUNXI_FUNCTION(0x3, "mmc2")), /* D0 */
  1265. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC9,
  1266. SUNXI_FUNCTION(0x0, "gpio_in"),
  1267. SUNXI_FUNCTION(0x1, "gpio_out"),
  1268. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ1 */
  1269. SUNXI_FUNCTION(0x3, "mmc2")), /* D1 */
  1270. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC10,
  1271. SUNXI_FUNCTION(0x0, "gpio_in"),
  1272. SUNXI_FUNCTION(0x1, "gpio_out"),
  1273. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ2 */
  1274. SUNXI_FUNCTION(0x3, "mmc2")), /* D2 */
  1275. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC11,
  1276. SUNXI_FUNCTION(0x0, "gpio_in"),
  1277. SUNXI_FUNCTION(0x1, "gpio_out"),
  1278. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ3 */
  1279. SUNXI_FUNCTION(0x3, "mmc2")), /* D3 */
  1280. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC12,
  1281. SUNXI_FUNCTION(0x0, "gpio_in"),
  1282. SUNXI_FUNCTION(0x1, "gpio_out"),
  1283. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ4 */
  1284. SUNXI_FUNCTION(0x3, "mmc2")), /* D4 */
  1285. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC13,
  1286. SUNXI_FUNCTION(0x0, "gpio_in"),
  1287. SUNXI_FUNCTION(0x1, "gpio_out"),
  1288. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ5 */
  1289. SUNXI_FUNCTION(0x3, "mmc2")), /* D5 */
  1290. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC14,
  1291. SUNXI_FUNCTION(0x0, "gpio_in"),
  1292. SUNXI_FUNCTION(0x1, "gpio_out"),
  1293. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ6 */
  1294. SUNXI_FUNCTION(0x3, "mmc2")), /* D6 */
  1295. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC15,
  1296. SUNXI_FUNCTION(0x0, "gpio_in"),
  1297. SUNXI_FUNCTION(0x1, "gpio_out"),
  1298. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ7 */
  1299. SUNXI_FUNCTION(0x3, "mmc2")), /* D7 */
  1300. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC16,
  1301. SUNXI_FUNCTION(0x0, "gpio_in"),
  1302. SUNXI_FUNCTION(0x1, "gpio_out"),
  1303. SUNXI_FUNCTION(0x2, "nand0"), /* NWP */
  1304. SUNXI_FUNCTION(0x4, "uart3")), /* TX */
  1305. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC17,
  1306. SUNXI_FUNCTION(0x0, "gpio_in"),
  1307. SUNXI_FUNCTION(0x1, "gpio_out"),
  1308. SUNXI_FUNCTION(0x2, "nand0"), /* NCE2 */
  1309. SUNXI_FUNCTION(0x4, "uart3")), /* RX */
  1310. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC18,
  1311. SUNXI_FUNCTION(0x0, "gpio_in"),
  1312. SUNXI_FUNCTION(0x1, "gpio_out"),
  1313. SUNXI_FUNCTION(0x2, "nand0"), /* NCE3 */
  1314. SUNXI_FUNCTION(0x3, "uart2"), /* TX */
  1315. SUNXI_FUNCTION(0x4, "uart3")), /* CTS */
  1316. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC19,
  1317. SUNXI_FUNCTION(0x0, "gpio_in"),
  1318. SUNXI_FUNCTION(0x1, "gpio_out"),
  1319. SUNXI_FUNCTION(0x2, "nand0"), /* NCE4 */
  1320. SUNXI_FUNCTION(0x3, "uart2"), /* RX */
  1321. SUNXI_FUNCTION(0x4, "uart3")), /* RTS */
  1322. /* Hole */
  1323. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD0,
  1324. SUNXI_FUNCTION(0x0, "gpio_in"),
  1325. SUNXI_FUNCTION(0x1, "gpio_out"),
  1326. SUNXI_FUNCTION(0x2, "lcd0")), /* D0 */
  1327. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD1,
  1328. SUNXI_FUNCTION(0x0, "gpio_in"),
  1329. SUNXI_FUNCTION(0x1, "gpio_out"),
  1330. SUNXI_FUNCTION(0x2, "lcd0")), /* D1 */
  1331. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD2,
  1332. SUNXI_FUNCTION(0x0, "gpio_in"),
  1333. SUNXI_FUNCTION(0x1, "gpio_out"),
  1334. SUNXI_FUNCTION(0x2, "lcd0"), /* D2 */
  1335. SUNXI_FUNCTION(0x3, "uart2")), /* TX */
  1336. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD3,
  1337. SUNXI_FUNCTION(0x0, "gpio_in"),
  1338. SUNXI_FUNCTION(0x1, "gpio_out"),
  1339. SUNXI_FUNCTION(0x2, "lcd0"), /* D3 */
  1340. SUNXI_FUNCTION(0x3, "uart2")), /* RX */
  1341. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD4,
  1342. SUNXI_FUNCTION(0x0, "gpio_in"),
  1343. SUNXI_FUNCTION(0x1, "gpio_out"),
  1344. SUNXI_FUNCTION(0x2, "lcd0"), /* D4 */
  1345. SUNXI_FUNCTION(0x3, "uart2")), /* CTS */
  1346. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD5,
  1347. SUNXI_FUNCTION(0x0, "gpio_in"),
  1348. SUNXI_FUNCTION(0x1, "gpio_out"),
  1349. SUNXI_FUNCTION(0x2, "lcd0"), /* D5 */
  1350. SUNXI_FUNCTION(0x3, "uart2")), /* RTS */
  1351. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD6,
  1352. SUNXI_FUNCTION(0x0, "gpio_in"),
  1353. SUNXI_FUNCTION(0x1, "gpio_out"),
  1354. SUNXI_FUNCTION(0x2, "lcd0"), /* D6 */
  1355. SUNXI_FUNCTION(0x3, "emac")), /* ECRS */
  1356. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD7,
  1357. SUNXI_FUNCTION(0x0, "gpio_in"),
  1358. SUNXI_FUNCTION(0x1, "gpio_out"),
  1359. SUNXI_FUNCTION(0x2, "lcd0"), /* D7 */
  1360. SUNXI_FUNCTION(0x3, "emac")), /* ECOL */
  1361. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD8,
  1362. SUNXI_FUNCTION(0x0, "gpio_in"),
  1363. SUNXI_FUNCTION(0x1, "gpio_out"),
  1364. SUNXI_FUNCTION(0x2, "lcd0")), /* D8 */
  1365. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD9,
  1366. SUNXI_FUNCTION(0x0, "gpio_in"),
  1367. SUNXI_FUNCTION(0x1, "gpio_out"),
  1368. SUNXI_FUNCTION(0x2, "lcd0")), /* D9 */
  1369. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD10,
  1370. SUNXI_FUNCTION(0x0, "gpio_in"),
  1371. SUNXI_FUNCTION(0x1, "gpio_out"),
  1372. SUNXI_FUNCTION(0x2, "lcd0"), /* D10 */
  1373. SUNXI_FUNCTION(0x3, "emac")), /* ERXD0 */
  1374. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD11,
  1375. SUNXI_FUNCTION(0x0, "gpio_in"),
  1376. SUNXI_FUNCTION(0x1, "gpio_out"),
  1377. SUNXI_FUNCTION(0x2, "lcd0"), /* D11 */
  1378. SUNXI_FUNCTION(0x3, "emac")), /* ERXD1 */
  1379. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD12,
  1380. SUNXI_FUNCTION(0x0, "gpio_in"),
  1381. SUNXI_FUNCTION(0x1, "gpio_out"),
  1382. SUNXI_FUNCTION(0x2, "lcd0"), /* D12 */
  1383. SUNXI_FUNCTION(0x3, "emac")), /* ERXD2 */
  1384. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD13,
  1385. SUNXI_FUNCTION(0x0, "gpio_in"),
  1386. SUNXI_FUNCTION(0x1, "gpio_out"),
  1387. SUNXI_FUNCTION(0x2, "lcd0"), /* D13 */
  1388. SUNXI_FUNCTION(0x3, "emac")), /* ERXD3 */
  1389. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD14,
  1390. SUNXI_FUNCTION(0x0, "gpio_in"),
  1391. SUNXI_FUNCTION(0x1, "gpio_out"),
  1392. SUNXI_FUNCTION(0x2, "lcd0"), /* D14 */
  1393. SUNXI_FUNCTION(0x3, "emac")), /* ERXCK */
  1394. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD15,
  1395. SUNXI_FUNCTION(0x0, "gpio_in"),
  1396. SUNXI_FUNCTION(0x1, "gpio_out"),
  1397. SUNXI_FUNCTION(0x2, "lcd0"), /* D15 */
  1398. SUNXI_FUNCTION(0x3, "emac")), /* ERXERR */
  1399. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD16,
  1400. SUNXI_FUNCTION(0x0, "gpio_in"),
  1401. SUNXI_FUNCTION(0x1, "gpio_out"),
  1402. SUNXI_FUNCTION(0x2, "lcd0")), /* D16 */
  1403. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD17,
  1404. SUNXI_FUNCTION(0x0, "gpio_in"),
  1405. SUNXI_FUNCTION(0x1, "gpio_out"),
  1406. SUNXI_FUNCTION(0x2, "lcd0")), /* D17 */
  1407. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD18,
  1408. SUNXI_FUNCTION(0x0, "gpio_in"),
  1409. SUNXI_FUNCTION(0x1, "gpio_out"),
  1410. SUNXI_FUNCTION(0x2, "lcd0"), /* D18 */
  1411. SUNXI_FUNCTION(0x3, "emac")), /* ERXDV */
  1412. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD19,
  1413. SUNXI_FUNCTION(0x0, "gpio_in"),
  1414. SUNXI_FUNCTION(0x1, "gpio_out"),
  1415. SUNXI_FUNCTION(0x2, "lcd0"), /* D19 */
  1416. SUNXI_FUNCTION(0x3, "emac")), /* ETXD0 */
  1417. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD20,
  1418. SUNXI_FUNCTION(0x0, "gpio_in"),
  1419. SUNXI_FUNCTION(0x1, "gpio_out"),
  1420. SUNXI_FUNCTION(0x2, "lcd0"), /* D20 */
  1421. SUNXI_FUNCTION(0x3, "emac")), /* ETXD1 */
  1422. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD21,
  1423. SUNXI_FUNCTION(0x0, "gpio_in"),
  1424. SUNXI_FUNCTION(0x1, "gpio_out"),
  1425. SUNXI_FUNCTION(0x2, "lcd0"), /* D21 */
  1426. SUNXI_FUNCTION(0x3, "emac")), /* ETXD2 */
  1427. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD22,
  1428. SUNXI_FUNCTION(0x0, "gpio_in"),
  1429. SUNXI_FUNCTION(0x1, "gpio_out"),
  1430. SUNXI_FUNCTION(0x2, "lcd0"), /* D22 */
  1431. SUNXI_FUNCTION(0x3, "emac")), /* ETXD3 */
  1432. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD23,
  1433. SUNXI_FUNCTION(0x0, "gpio_in"),
  1434. SUNXI_FUNCTION(0x1, "gpio_out"),
  1435. SUNXI_FUNCTION(0x2, "lcd0"), /* D23 */
  1436. SUNXI_FUNCTION(0x3, "emac")), /* ETXEN */
  1437. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD24,
  1438. SUNXI_FUNCTION(0x0, "gpio_in"),
  1439. SUNXI_FUNCTION(0x1, "gpio_out"),
  1440. SUNXI_FUNCTION(0x2, "lcd0"), /* CLK */
  1441. SUNXI_FUNCTION(0x3, "emac")), /* ETXCK */
  1442. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD25,
  1443. SUNXI_FUNCTION(0x0, "gpio_in"),
  1444. SUNXI_FUNCTION(0x1, "gpio_out"),
  1445. SUNXI_FUNCTION(0x2, "lcd0"), /* DE */
  1446. SUNXI_FUNCTION(0x3, "emac")), /* ETXERR */
  1447. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD26,
  1448. SUNXI_FUNCTION(0x0, "gpio_in"),
  1449. SUNXI_FUNCTION(0x1, "gpio_out"),
  1450. SUNXI_FUNCTION(0x2, "lcd0"), /* HSYNC */
  1451. SUNXI_FUNCTION(0x3, "emac")), /* EMDC */
  1452. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD27,
  1453. SUNXI_FUNCTION(0x0, "gpio_in"),
  1454. SUNXI_FUNCTION(0x1, "gpio_out"),
  1455. SUNXI_FUNCTION(0x2, "lcd0"), /* VSYNC */
  1456. SUNXI_FUNCTION(0x3, "emac")), /* EMDIO */
  1457. /* Hole */
  1458. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE0,
  1459. SUNXI_FUNCTION(0x0, "gpio_in"),
  1460. SUNXI_FUNCTION(0x2, "ts0"), /* CLK */
  1461. SUNXI_FUNCTION(0x3, "csi0"), /* PCK */
  1462. SUNXI_FUNCTION(0x4, "spi2"), /* CS0 */
  1463. SUNXI_FUNCTION_IRQ(0x6, 14)), /* EINT14 */
  1464. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE1,
  1465. SUNXI_FUNCTION(0x0, "gpio_in"),
  1466. SUNXI_FUNCTION(0x2, "ts0"), /* ERR */
  1467. SUNXI_FUNCTION(0x3, "csi0"), /* CK */
  1468. SUNXI_FUNCTION(0x4, "spi2"), /* CLK */
  1469. SUNXI_FUNCTION_IRQ(0x6, 15)), /* EINT15 */
  1470. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE2,
  1471. SUNXI_FUNCTION(0x0, "gpio_in"),
  1472. SUNXI_FUNCTION(0x2, "ts0"), /* SYNC */
  1473. SUNXI_FUNCTION(0x3, "csi0"), /* HSYNC */
  1474. SUNXI_FUNCTION(0x4, "spi2")), /* MOSI */
  1475. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE3,
  1476. SUNXI_FUNCTION(0x0, "gpio_in"),
  1477. SUNXI_FUNCTION(0x1, "gpio_out"),
  1478. SUNXI_FUNCTION(0x2, "ts0"), /* DVLD */
  1479. SUNXI_FUNCTION(0x3, "csi0"), /* VSYNC */
  1480. SUNXI_FUNCTION(0x4, "spi2")), /* MISO */
  1481. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE4,
  1482. SUNXI_FUNCTION(0x0, "gpio_in"),
  1483. SUNXI_FUNCTION(0x1, "gpio_out"),
  1484. SUNXI_FUNCTION(0x2, "ts0"), /* D0 */
  1485. SUNXI_FUNCTION(0x3, "csi0"), /* D0 */
  1486. SUNXI_FUNCTION(0x4, "mmc2")), /* D0 */
  1487. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE5,
  1488. SUNXI_FUNCTION(0x0, "gpio_in"),
  1489. SUNXI_FUNCTION(0x1, "gpio_out"),
  1490. SUNXI_FUNCTION(0x2, "ts0"), /* D1 */
  1491. SUNXI_FUNCTION(0x3, "csi0"), /* D1 */
  1492. SUNXI_FUNCTION(0x4, "mmc2")), /* D1 */
  1493. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE6,
  1494. SUNXI_FUNCTION(0x0, "gpio_in"),
  1495. SUNXI_FUNCTION(0x1, "gpio_out"),
  1496. SUNXI_FUNCTION(0x2, "ts0"), /* D2 */
  1497. SUNXI_FUNCTION(0x3, "csi0"), /* D2 */
  1498. SUNXI_FUNCTION(0x4, "mmc2")), /* D2 */
  1499. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE7,
  1500. SUNXI_FUNCTION(0x0, "gpio_in"),
  1501. SUNXI_FUNCTION(0x1, "gpio_out"),
  1502. SUNXI_FUNCTION(0x2, "ts0"), /* D3 */
  1503. SUNXI_FUNCTION(0x3, "csi0"), /* D3 */
  1504. SUNXI_FUNCTION(0x4, "mmc2")), /* D3 */
  1505. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE8,
  1506. SUNXI_FUNCTION(0x0, "gpio_in"),
  1507. SUNXI_FUNCTION(0x1, "gpio_out"),
  1508. SUNXI_FUNCTION(0x2, "ts0"), /* D4 */
  1509. SUNXI_FUNCTION(0x3, "csi0"), /* D4 */
  1510. SUNXI_FUNCTION(0x4, "mmc2")), /* CMD */
  1511. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE9,
  1512. SUNXI_FUNCTION(0x0, "gpio_in"),
  1513. SUNXI_FUNCTION(0x1, "gpio_out"),
  1514. SUNXI_FUNCTION(0x2, "ts0"), /* D5 */
  1515. SUNXI_FUNCTION(0x3, "csi0"), /* D5 */
  1516. SUNXI_FUNCTION(0x4, "mmc2")), /* CLK */
  1517. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE10,
  1518. SUNXI_FUNCTION(0x0, "gpio_in"),
  1519. SUNXI_FUNCTION(0x1, "gpio_out"),
  1520. SUNXI_FUNCTION(0x2, "ts0"), /* D6 */
  1521. SUNXI_FUNCTION(0x3, "csi0"), /* D6 */
  1522. SUNXI_FUNCTION(0x4, "uart1")), /* TX */
  1523. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE11,
  1524. SUNXI_FUNCTION(0x0, "gpio_in"),
  1525. SUNXI_FUNCTION(0x1, "gpio_out"),
  1526. SUNXI_FUNCTION(0x2, "ts0"), /* D7 */
  1527. SUNXI_FUNCTION(0x3, "csi0"), /* D7 */
  1528. SUNXI_FUNCTION(0x4, "uart1")), /* RX */
  1529. /* Hole */
  1530. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF0,
  1531. SUNXI_FUNCTION(0x0, "gpio_in"),
  1532. SUNXI_FUNCTION(0x1, "gpio_out"),
  1533. SUNXI_FUNCTION(0x2, "mmc0"), /* D1 */
  1534. SUNXI_FUNCTION(0x4, "jtag")), /* MS1 */
  1535. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF1,
  1536. SUNXI_FUNCTION(0x0, "gpio_in"),
  1537. SUNXI_FUNCTION(0x1, "gpio_out"),
  1538. SUNXI_FUNCTION(0x2, "mmc0"), /* D0 */
  1539. SUNXI_FUNCTION(0x4, "jtag")), /* DI1 */
  1540. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF2,
  1541. SUNXI_FUNCTION(0x0, "gpio_in"),
  1542. SUNXI_FUNCTION(0x1, "gpio_out"),
  1543. SUNXI_FUNCTION(0x2, "mmc0"), /* CLK */
  1544. SUNXI_FUNCTION(0x4, "uart0")), /* TX */
  1545. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF3,
  1546. SUNXI_FUNCTION(0x0, "gpio_in"),
  1547. SUNXI_FUNCTION(0x1, "gpio_out"),
  1548. SUNXI_FUNCTION(0x2, "mmc0"), /* CMD */
  1549. SUNXI_FUNCTION(0x4, "jtag")), /* DO1 */
  1550. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF4,
  1551. SUNXI_FUNCTION(0x0, "gpio_in"),
  1552. SUNXI_FUNCTION(0x1, "gpio_out"),
  1553. SUNXI_FUNCTION(0x2, "mmc0"), /* D3 */
  1554. SUNXI_FUNCTION(0x4, "uart0")), /* RX */
  1555. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF5,
  1556. SUNXI_FUNCTION(0x0, "gpio_in"),
  1557. SUNXI_FUNCTION(0x1, "gpio_out"),
  1558. SUNXI_FUNCTION(0x2, "mmc0"), /* D2 */
  1559. SUNXI_FUNCTION(0x4, "jtag")), /* CK1 */
  1560. /* Hole */
  1561. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG0,
  1562. SUNXI_FUNCTION(0x0, "gpio_in"),
  1563. SUNXI_FUNCTION(0x2, "gps"), /* CLK */
  1564. SUNXI_FUNCTION_IRQ(0x6, 0)), /* EINT0 */
  1565. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG1,
  1566. SUNXI_FUNCTION(0x0, "gpio_in"),
  1567. SUNXI_FUNCTION(0x2, "gps"), /* SIGN */
  1568. SUNXI_FUNCTION_IRQ(0x6, 1)), /* EINT1 */
  1569. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG2,
  1570. SUNXI_FUNCTION(0x0, "gpio_in"),
  1571. SUNXI_FUNCTION(0x2, "gps"), /* MAG */
  1572. SUNXI_FUNCTION_IRQ(0x6, 2)), /* EINT2 */
  1573. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG3,
  1574. SUNXI_FUNCTION(0x0, "gpio_in"),
  1575. SUNXI_FUNCTION(0x1, "gpio_out"),
  1576. SUNXI_FUNCTION(0x2, "mmc1"), /* CMD */
  1577. SUNXI_FUNCTION(0x4, "uart1"), /* TX */
  1578. SUNXI_FUNCTION_IRQ(0x6, 3)), /* EINT3 */
  1579. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG4,
  1580. SUNXI_FUNCTION(0x0, "gpio_in"),
  1581. SUNXI_FUNCTION(0x1, "gpio_out"),
  1582. SUNXI_FUNCTION(0x2, "mmc1"), /* CLK */
  1583. SUNXI_FUNCTION(0x4, "uart1"), /* RX */
  1584. SUNXI_FUNCTION_IRQ(0x6, 4)), /* EINT4 */
  1585. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG5,
  1586. SUNXI_FUNCTION(0x0, "gpio_in"),
  1587. SUNXI_FUNCTION(0x1, "gpio_out"),
  1588. SUNXI_FUNCTION(0x2, "mmc1"), /* DO */
  1589. SUNXI_FUNCTION(0x4, "uart1"), /* CTS */
  1590. SUNXI_FUNCTION_IRQ(0x6, 5)), /* EINT5 */
  1591. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG6,
  1592. SUNXI_FUNCTION(0x0, "gpio_in"),
  1593. SUNXI_FUNCTION(0x1, "gpio_out"),
  1594. SUNXI_FUNCTION(0x2, "mmc1"), /* D1 */
  1595. SUNXI_FUNCTION(0x4, "uart1"), /* RTS */
  1596. SUNXI_FUNCTION(0x5, "uart2"), /* RTS */
  1597. SUNXI_FUNCTION_IRQ(0x6, 6)), /* EINT6 */
  1598. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG7,
  1599. SUNXI_FUNCTION(0x0, "gpio_in"),
  1600. SUNXI_FUNCTION(0x1, "gpio_out"),
  1601. SUNXI_FUNCTION(0x2, "mmc1"), /* D2 */
  1602. SUNXI_FUNCTION(0x5, "uart2"), /* TX */
  1603. SUNXI_FUNCTION_IRQ(0x6, 7)), /* EINT7 */
  1604. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG8,
  1605. SUNXI_FUNCTION(0x0, "gpio_in"),
  1606. SUNXI_FUNCTION(0x1, "gpio_out"),
  1607. SUNXI_FUNCTION(0x2, "mmc1"), /* D3 */
  1608. SUNXI_FUNCTION(0x5, "uart2"), /* RX */
  1609. SUNXI_FUNCTION_IRQ(0x6, 8)), /* EINT8 */
  1610. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG9,
  1611. SUNXI_FUNCTION(0x0, "gpio_in"),
  1612. SUNXI_FUNCTION(0x1, "gpio_out"),
  1613. SUNXI_FUNCTION(0x2, "spi1"), /* CS0 */
  1614. SUNXI_FUNCTION(0x3, "uart3"), /* TX */
  1615. SUNXI_FUNCTION_IRQ(0x6, 9)), /* EINT9 */
  1616. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG10,
  1617. SUNXI_FUNCTION(0x0, "gpio_in"),
  1618. SUNXI_FUNCTION(0x1, "gpio_out"),
  1619. SUNXI_FUNCTION(0x2, "spi1"), /* CLK */
  1620. SUNXI_FUNCTION(0x3, "uart3"), /* RX */
  1621. SUNXI_FUNCTION_IRQ(0x6, 10)), /* EINT10 */
  1622. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG11,
  1623. SUNXI_FUNCTION(0x0, "gpio_in"),
  1624. SUNXI_FUNCTION(0x1, "gpio_out"),
  1625. SUNXI_FUNCTION(0x2, "spi1"), /* MOSI */
  1626. SUNXI_FUNCTION(0x3, "uart3"), /* CTS */
  1627. SUNXI_FUNCTION_IRQ(0x6, 11)), /* EINT11 */
  1628. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG12,
  1629. SUNXI_FUNCTION(0x0, "gpio_in"),
  1630. SUNXI_FUNCTION(0x1, "gpio_out"),
  1631. SUNXI_FUNCTION(0x2, "spi1"), /* MISO */
  1632. SUNXI_FUNCTION(0x3, "uart3"), /* RTS */
  1633. SUNXI_FUNCTION_IRQ(0x6, 12)), /* EINT12 */
  1634. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG13,
  1635. SUNXI_FUNCTION(0x0, "gpio_in"),
  1636. SUNXI_FUNCTION(0x1, "gpio_out"),
  1637. SUNXI_FUNCTION(0x2, "spi1"), /* CS1 */
  1638. SUNXI_FUNCTION(0x3, "uart3"), /* PWM1 */
  1639. SUNXI_FUNCTION(0x5, "uart2"), /* CTS */
  1640. SUNXI_FUNCTION_IRQ(0x6, 13)), /* EINT13 */
  1641. };
  1642. static const struct sunxi_desc_pin sun5i_a13_pins[] = {
  1643. /* Hole */
  1644. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB0,
  1645. SUNXI_FUNCTION(0x0, "gpio_in"),
  1646. SUNXI_FUNCTION(0x1, "gpio_out"),
  1647. SUNXI_FUNCTION(0x2, "i2c0")), /* SCK */
  1648. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB1,
  1649. SUNXI_FUNCTION(0x0, "gpio_in"),
  1650. SUNXI_FUNCTION(0x1, "gpio_out"),
  1651. SUNXI_FUNCTION(0x2, "i2c0")), /* SDA */
  1652. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB2,
  1653. SUNXI_FUNCTION(0x0, "gpio_in"),
  1654. SUNXI_FUNCTION(0x1, "gpio_out"),
  1655. SUNXI_FUNCTION(0x2, "pwm"),
  1656. SUNXI_FUNCTION_IRQ(0x6, 16)), /* EINT16 */
  1657. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB3,
  1658. SUNXI_FUNCTION(0x0, "gpio_in"),
  1659. SUNXI_FUNCTION(0x1, "gpio_out"),
  1660. SUNXI_FUNCTION(0x2, "ir0"), /* TX */
  1661. SUNXI_FUNCTION_IRQ(0x6, 17)), /* EINT17 */
  1662. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB4,
  1663. SUNXI_FUNCTION(0x0, "gpio_in"),
  1664. SUNXI_FUNCTION(0x1, "gpio_out"),
  1665. SUNXI_FUNCTION(0x2, "ir0"), /* RX */
  1666. SUNXI_FUNCTION_IRQ(0x6, 18)), /* EINT18 */
  1667. /* Hole */
  1668. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB10,
  1669. SUNXI_FUNCTION(0x0, "gpio_in"),
  1670. SUNXI_FUNCTION(0x1, "gpio_out"),
  1671. SUNXI_FUNCTION(0x2, "spi2"), /* CS1 */
  1672. SUNXI_FUNCTION_IRQ(0x6, 24)), /* EINT24 */
  1673. /* Hole */
  1674. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB15,
  1675. SUNXI_FUNCTION(0x0, "gpio_in"),
  1676. SUNXI_FUNCTION(0x1, "gpio_out"),
  1677. SUNXI_FUNCTION(0x2, "i2c1")), /* SCK */
  1678. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB16,
  1679. SUNXI_FUNCTION(0x0, "gpio_in"),
  1680. SUNXI_FUNCTION(0x1, "gpio_out"),
  1681. SUNXI_FUNCTION(0x2, "i2c1")), /* SDA */
  1682. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB17,
  1683. SUNXI_FUNCTION(0x0, "gpio_in"),
  1684. SUNXI_FUNCTION(0x1, "gpio_out"),
  1685. SUNXI_FUNCTION(0x2, "i2c2")), /* SCK */
  1686. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB18,
  1687. SUNXI_FUNCTION(0x0, "gpio_in"),
  1688. SUNXI_FUNCTION(0x1, "gpio_out"),
  1689. SUNXI_FUNCTION(0x2, "i2c2")), /* SDA */
  1690. /* Hole */
  1691. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC0,
  1692. SUNXI_FUNCTION(0x0, "gpio_in"),
  1693. SUNXI_FUNCTION(0x1, "gpio_out"),
  1694. SUNXI_FUNCTION(0x2, "nand0"), /* NWE */
  1695. SUNXI_FUNCTION(0x3, "spi0")), /* MOSI */
  1696. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC1,
  1697. SUNXI_FUNCTION(0x0, "gpio_in"),
  1698. SUNXI_FUNCTION(0x1, "gpio_out"),
  1699. SUNXI_FUNCTION(0x2, "nand0"), /* NALE */
  1700. SUNXI_FUNCTION(0x3, "spi0")), /* MISO */
  1701. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC2,
  1702. SUNXI_FUNCTION(0x0, "gpio_in"),
  1703. SUNXI_FUNCTION(0x1, "gpio_out"),
  1704. SUNXI_FUNCTION(0x2, "nand0"), /* NCLE */
  1705. SUNXI_FUNCTION(0x3, "spi0")), /* CLK */
  1706. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC3,
  1707. SUNXI_FUNCTION(0x0, "gpio_in"),
  1708. SUNXI_FUNCTION(0x1, "gpio_out"),
  1709. SUNXI_FUNCTION(0x2, "nand0"), /* NCE1 */
  1710. SUNXI_FUNCTION(0x3, "spi0")), /* CS0 */
  1711. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC4,
  1712. SUNXI_FUNCTION(0x0, "gpio_in"),
  1713. SUNXI_FUNCTION(0x1, "gpio_out"),
  1714. SUNXI_FUNCTION(0x2, "nand0")), /* NCE0 */
  1715. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC5,
  1716. SUNXI_FUNCTION(0x0, "gpio_in"),
  1717. SUNXI_FUNCTION(0x1, "gpio_out"),
  1718. SUNXI_FUNCTION(0x2, "nand0")), /* NRE */
  1719. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC6,
  1720. SUNXI_FUNCTION(0x0, "gpio_in"),
  1721. SUNXI_FUNCTION(0x1, "gpio_out"),
  1722. SUNXI_FUNCTION(0x2, "nand0"), /* NRB0 */
  1723. SUNXI_FUNCTION(0x3, "mmc2")), /* CMD */
  1724. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC7,
  1725. SUNXI_FUNCTION(0x0, "gpio_in"),
  1726. SUNXI_FUNCTION(0x1, "gpio_out"),
  1727. SUNXI_FUNCTION(0x2, "nand0"), /* NRB1 */
  1728. SUNXI_FUNCTION(0x3, "mmc2")), /* CLK */
  1729. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC8,
  1730. SUNXI_FUNCTION(0x0, "gpio_in"),
  1731. SUNXI_FUNCTION(0x1, "gpio_out"),
  1732. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ0 */
  1733. SUNXI_FUNCTION(0x3, "mmc2")), /* D0 */
  1734. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC9,
  1735. SUNXI_FUNCTION(0x0, "gpio_in"),
  1736. SUNXI_FUNCTION(0x1, "gpio_out"),
  1737. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ1 */
  1738. SUNXI_FUNCTION(0x3, "mmc2")), /* D1 */
  1739. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC10,
  1740. SUNXI_FUNCTION(0x0, "gpio_in"),
  1741. SUNXI_FUNCTION(0x1, "gpio_out"),
  1742. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ2 */
  1743. SUNXI_FUNCTION(0x3, "mmc2")), /* D2 */
  1744. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC11,
  1745. SUNXI_FUNCTION(0x0, "gpio_in"),
  1746. SUNXI_FUNCTION(0x1, "gpio_out"),
  1747. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ3 */
  1748. SUNXI_FUNCTION(0x3, "mmc2")), /* D3 */
  1749. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC12,
  1750. SUNXI_FUNCTION(0x0, "gpio_in"),
  1751. SUNXI_FUNCTION(0x1, "gpio_out"),
  1752. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ4 */
  1753. SUNXI_FUNCTION(0x3, "mmc2")), /* D4 */
  1754. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC13,
  1755. SUNXI_FUNCTION(0x0, "gpio_in"),
  1756. SUNXI_FUNCTION(0x1, "gpio_out"),
  1757. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ5 */
  1758. SUNXI_FUNCTION(0x3, "mmc2")), /* D5 */
  1759. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC14,
  1760. SUNXI_FUNCTION(0x0, "gpio_in"),
  1761. SUNXI_FUNCTION(0x1, "gpio_out"),
  1762. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ6 */
  1763. SUNXI_FUNCTION(0x3, "mmc2")), /* D6 */
  1764. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC15,
  1765. SUNXI_FUNCTION(0x0, "gpio_in"),
  1766. SUNXI_FUNCTION(0x1, "gpio_out"),
  1767. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ7 */
  1768. SUNXI_FUNCTION(0x3, "mmc2")), /* D7 */
  1769. /* Hole */
  1770. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC19,
  1771. SUNXI_FUNCTION(0x0, "gpio_in"),
  1772. SUNXI_FUNCTION(0x1, "gpio_out"),
  1773. SUNXI_FUNCTION(0x2, "nand0"), /* NDQS */
  1774. SUNXI_FUNCTION(0x4, "uart3")), /* RTS */
  1775. /* Hole */
  1776. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD2,
  1777. SUNXI_FUNCTION(0x0, "gpio_in"),
  1778. SUNXI_FUNCTION(0x1, "gpio_out"),
  1779. SUNXI_FUNCTION(0x2, "lcd0")), /* D2 */
  1780. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD3,
  1781. SUNXI_FUNCTION(0x0, "gpio_in"),
  1782. SUNXI_FUNCTION(0x1, "gpio_out"),
  1783. SUNXI_FUNCTION(0x2, "lcd0")), /* D3 */
  1784. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD4,
  1785. SUNXI_FUNCTION(0x0, "gpio_in"),
  1786. SUNXI_FUNCTION(0x1, "gpio_out"),
  1787. SUNXI_FUNCTION(0x2, "lcd0")), /* D4 */
  1788. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD5,
  1789. SUNXI_FUNCTION(0x0, "gpio_in"),
  1790. SUNXI_FUNCTION(0x1, "gpio_out"),
  1791. SUNXI_FUNCTION(0x2, "lcd0")), /* D5 */
  1792. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD6,
  1793. SUNXI_FUNCTION(0x0, "gpio_in"),
  1794. SUNXI_FUNCTION(0x1, "gpio_out"),
  1795. SUNXI_FUNCTION(0x2, "lcd0")), /* D6 */
  1796. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD7,
  1797. SUNXI_FUNCTION(0x0, "gpio_in"),
  1798. SUNXI_FUNCTION(0x1, "gpio_out"),
  1799. SUNXI_FUNCTION(0x2, "lcd0")), /* D7 */
  1800. /* Hole */
  1801. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD10,
  1802. SUNXI_FUNCTION(0x0, "gpio_in"),
  1803. SUNXI_FUNCTION(0x1, "gpio_out"),
  1804. SUNXI_FUNCTION(0x2, "lcd0")), /* D10 */
  1805. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD11,
  1806. SUNXI_FUNCTION(0x0, "gpio_in"),
  1807. SUNXI_FUNCTION(0x1, "gpio_out"),
  1808. SUNXI_FUNCTION(0x2, "lcd0")), /* D11 */
  1809. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD12,
  1810. SUNXI_FUNCTION(0x0, "gpio_in"),
  1811. SUNXI_FUNCTION(0x1, "gpio_out"),
  1812. SUNXI_FUNCTION(0x2, "lcd0")), /* D12 */
  1813. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD13,
  1814. SUNXI_FUNCTION(0x0, "gpio_in"),
  1815. SUNXI_FUNCTION(0x1, "gpio_out"),
  1816. SUNXI_FUNCTION(0x2, "lcd0")), /* D13 */
  1817. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD14,
  1818. SUNXI_FUNCTION(0x0, "gpio_in"),
  1819. SUNXI_FUNCTION(0x1, "gpio_out"),
  1820. SUNXI_FUNCTION(0x2, "lcd0")), /* D14 */
  1821. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD15,
  1822. SUNXI_FUNCTION(0x0, "gpio_in"),
  1823. SUNXI_FUNCTION(0x1, "gpio_out"),
  1824. SUNXI_FUNCTION(0x2, "lcd0")), /* D15 */
  1825. /* Hole */
  1826. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD18,
  1827. SUNXI_FUNCTION(0x0, "gpio_in"),
  1828. SUNXI_FUNCTION(0x1, "gpio_out"),
  1829. SUNXI_FUNCTION(0x2, "lcd0")), /* D18 */
  1830. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD19,
  1831. SUNXI_FUNCTION(0x0, "gpio_in"),
  1832. SUNXI_FUNCTION(0x1, "gpio_out"),
  1833. SUNXI_FUNCTION(0x2, "lcd0")), /* D19 */
  1834. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD20,
  1835. SUNXI_FUNCTION(0x0, "gpio_in"),
  1836. SUNXI_FUNCTION(0x1, "gpio_out"),
  1837. SUNXI_FUNCTION(0x2, "lcd0")), /* D20 */
  1838. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD21,
  1839. SUNXI_FUNCTION(0x0, "gpio_in"),
  1840. SUNXI_FUNCTION(0x1, "gpio_out"),
  1841. SUNXI_FUNCTION(0x2, "lcd0")), /* D21 */
  1842. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD22,
  1843. SUNXI_FUNCTION(0x0, "gpio_in"),
  1844. SUNXI_FUNCTION(0x1, "gpio_out"),
  1845. SUNXI_FUNCTION(0x2, "lcd0")), /* D22 */
  1846. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD23,
  1847. SUNXI_FUNCTION(0x0, "gpio_in"),
  1848. SUNXI_FUNCTION(0x1, "gpio_out"),
  1849. SUNXI_FUNCTION(0x2, "lcd0")), /* D23 */
  1850. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD24,
  1851. SUNXI_FUNCTION(0x0, "gpio_in"),
  1852. SUNXI_FUNCTION(0x1, "gpio_out"),
  1853. SUNXI_FUNCTION(0x2, "lcd0")), /* CLK */
  1854. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD25,
  1855. SUNXI_FUNCTION(0x0, "gpio_in"),
  1856. SUNXI_FUNCTION(0x1, "gpio_out"),
  1857. SUNXI_FUNCTION(0x2, "lcd0")), /* DE */
  1858. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD26,
  1859. SUNXI_FUNCTION(0x0, "gpio_in"),
  1860. SUNXI_FUNCTION(0x1, "gpio_out"),
  1861. SUNXI_FUNCTION(0x2, "lcd0")), /* HSYNC */
  1862. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD27,
  1863. SUNXI_FUNCTION(0x0, "gpio_in"),
  1864. SUNXI_FUNCTION(0x1, "gpio_out"),
  1865. SUNXI_FUNCTION(0x2, "lcd0")), /* VSYNC */
  1866. /* Hole */
  1867. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE0,
  1868. SUNXI_FUNCTION(0x0, "gpio_in"),
  1869. SUNXI_FUNCTION(0x3, "csi0"), /* PCLK */
  1870. SUNXI_FUNCTION(0x4, "spi2"), /* CS0 */
  1871. SUNXI_FUNCTION_IRQ(0x6, 14)), /* EINT14 */
  1872. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE1,
  1873. SUNXI_FUNCTION(0x0, "gpio_in"),
  1874. SUNXI_FUNCTION(0x3, "csi0"), /* MCLK */
  1875. SUNXI_FUNCTION(0x4, "spi2"), /* CLK */
  1876. SUNXI_FUNCTION_IRQ(0x6, 15)), /* EINT15 */
  1877. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE2,
  1878. SUNXI_FUNCTION(0x0, "gpio_in"),
  1879. SUNXI_FUNCTION(0x3, "csi0"), /* HSYNC */
  1880. SUNXI_FUNCTION(0x4, "spi2")), /* MOSI */
  1881. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE3,
  1882. SUNXI_FUNCTION(0x0, "gpio_in"),
  1883. SUNXI_FUNCTION(0x1, "gpio_out"),
  1884. SUNXI_FUNCTION(0x3, "csi0"), /* VSYNC */
  1885. SUNXI_FUNCTION(0x4, "spi2")), /* MISO */
  1886. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE4,
  1887. SUNXI_FUNCTION(0x0, "gpio_in"),
  1888. SUNXI_FUNCTION(0x1, "gpio_out"),
  1889. SUNXI_FUNCTION(0x3, "csi0"), /* D0 */
  1890. SUNXI_FUNCTION(0x4, "mmc2")), /* D0 */
  1891. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE5,
  1892. SUNXI_FUNCTION(0x0, "gpio_in"),
  1893. SUNXI_FUNCTION(0x1, "gpio_out"),
  1894. SUNXI_FUNCTION(0x3, "csi0"), /* D1 */
  1895. SUNXI_FUNCTION(0x4, "mmc2")), /* D1 */
  1896. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE6,
  1897. SUNXI_FUNCTION(0x0, "gpio_in"),
  1898. SUNXI_FUNCTION(0x1, "gpio_out"),
  1899. SUNXI_FUNCTION(0x3, "csi0"), /* D2 */
  1900. SUNXI_FUNCTION(0x4, "mmc2")), /* D2 */
  1901. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE7,
  1902. SUNXI_FUNCTION(0x0, "gpio_in"),
  1903. SUNXI_FUNCTION(0x1, "gpio_out"),
  1904. SUNXI_FUNCTION(0x3, "csi0"), /* D3 */
  1905. SUNXI_FUNCTION(0x4, "mmc2")), /* D3 */
  1906. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE8,
  1907. SUNXI_FUNCTION(0x0, "gpio_in"),
  1908. SUNXI_FUNCTION(0x1, "gpio_out"),
  1909. SUNXI_FUNCTION(0x3, "csi0"), /* D4 */
  1910. SUNXI_FUNCTION(0x4, "mmc2")), /* CMD */
  1911. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE9,
  1912. SUNXI_FUNCTION(0x0, "gpio_in"),
  1913. SUNXI_FUNCTION(0x1, "gpio_out"),
  1914. SUNXI_FUNCTION(0x3, "csi0"), /* D5 */
  1915. SUNXI_FUNCTION(0x4, "mmc2")), /* CLK */
  1916. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE10,
  1917. SUNXI_FUNCTION(0x0, "gpio_in"),
  1918. SUNXI_FUNCTION(0x1, "gpio_out"),
  1919. SUNXI_FUNCTION(0x3, "csi0"), /* D6 */
  1920. SUNXI_FUNCTION(0x4, "uart1")), /* TX */
  1921. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE11,
  1922. SUNXI_FUNCTION(0x0, "gpio_in"),
  1923. SUNXI_FUNCTION(0x1, "gpio_out"),
  1924. SUNXI_FUNCTION(0x3, "csi0"), /* D7 */
  1925. SUNXI_FUNCTION(0x4, "uart1")), /* RX */
  1926. /* Hole */
  1927. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF0,
  1928. SUNXI_FUNCTION(0x0, "gpio_in"),
  1929. SUNXI_FUNCTION(0x1, "gpio_out"),
  1930. SUNXI_FUNCTION(0x4, "mmc0")), /* D1 */
  1931. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF1,
  1932. SUNXI_FUNCTION(0x0, "gpio_in"),
  1933. SUNXI_FUNCTION(0x1, "gpio_out"),
  1934. SUNXI_FUNCTION(0x4, "mmc0")), /* D0 */
  1935. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF2,
  1936. SUNXI_FUNCTION(0x0, "gpio_in"),
  1937. SUNXI_FUNCTION(0x1, "gpio_out"),
  1938. SUNXI_FUNCTION(0x4, "mmc0")), /* CLK */
  1939. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF3,
  1940. SUNXI_FUNCTION(0x0, "gpio_in"),
  1941. SUNXI_FUNCTION(0x1, "gpio_out"),
  1942. SUNXI_FUNCTION(0x4, "mmc0")), /* CMD */
  1943. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF4,
  1944. SUNXI_FUNCTION(0x0, "gpio_in"),
  1945. SUNXI_FUNCTION(0x1, "gpio_out"),
  1946. SUNXI_FUNCTION(0x4, "mmc0")), /* D3 */
  1947. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF5,
  1948. SUNXI_FUNCTION(0x0, "gpio_in"),
  1949. SUNXI_FUNCTION(0x1, "gpio_out"),
  1950. SUNXI_FUNCTION(0x4, "mmc0")), /* D2 */
  1951. /* Hole */
  1952. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG0,
  1953. SUNXI_FUNCTION(0x0, "gpio_in"),
  1954. SUNXI_FUNCTION(0x1, "gpio_out"),
  1955. SUNXI_FUNCTION_IRQ(0x6, 0)), /* EINT0 */
  1956. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG1,
  1957. SUNXI_FUNCTION(0x0, "gpio_in"),
  1958. SUNXI_FUNCTION(0x1, "gpio_out"),
  1959. SUNXI_FUNCTION_IRQ(0x6, 1)), /* EINT1 */
  1960. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG2,
  1961. SUNXI_FUNCTION(0x0, "gpio_in"),
  1962. SUNXI_FUNCTION(0x1, "gpio_out"),
  1963. SUNXI_FUNCTION_IRQ(0x6, 2)), /* EINT2 */
  1964. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG3,
  1965. SUNXI_FUNCTION(0x0, "gpio_in"),
  1966. SUNXI_FUNCTION(0x1, "gpio_out"),
  1967. SUNXI_FUNCTION(0x2, "mmc1"), /* CMD */
  1968. SUNXI_FUNCTION(0x4, "uart1"), /* TX */
  1969. SUNXI_FUNCTION_IRQ(0x6, 3)), /* EINT3 */
  1970. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG4,
  1971. SUNXI_FUNCTION(0x0, "gpio_in"),
  1972. SUNXI_FUNCTION(0x1, "gpio_out"),
  1973. SUNXI_FUNCTION(0x2, "mmc1"), /* CLK */
  1974. SUNXI_FUNCTION(0x4, "uart1"), /* RX */
  1975. SUNXI_FUNCTION_IRQ(0x6, 4)), /* EINT4 */
  1976. /* Hole */
  1977. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG9,
  1978. SUNXI_FUNCTION(0x0, "gpio_in"),
  1979. SUNXI_FUNCTION(0x1, "gpio_out"),
  1980. SUNXI_FUNCTION(0x2, "spi1"), /* CS0 */
  1981. SUNXI_FUNCTION(0x3, "uart3"), /* TX */
  1982. SUNXI_FUNCTION_IRQ(0x6, 9)), /* EINT9 */
  1983. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG10,
  1984. SUNXI_FUNCTION(0x0, "gpio_in"),
  1985. SUNXI_FUNCTION(0x1, "gpio_out"),
  1986. SUNXI_FUNCTION(0x2, "spi1"), /* CLK */
  1987. SUNXI_FUNCTION(0x3, "uart3"), /* RX */
  1988. SUNXI_FUNCTION_IRQ(0x6, 10)), /* EINT10 */
  1989. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG11,
  1990. SUNXI_FUNCTION(0x0, "gpio_in"),
  1991. SUNXI_FUNCTION(0x1, "gpio_out"),
  1992. SUNXI_FUNCTION(0x2, "spi1"), /* MOSI */
  1993. SUNXI_FUNCTION(0x3, "uart3"), /* CTS */
  1994. SUNXI_FUNCTION_IRQ(0x6, 11)), /* EINT11 */
  1995. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG12,
  1996. SUNXI_FUNCTION(0x0, "gpio_in"),
  1997. SUNXI_FUNCTION(0x1, "gpio_out"),
  1998. SUNXI_FUNCTION(0x2, "spi1"), /* MISO */
  1999. SUNXI_FUNCTION(0x3, "uart3"), /* RTS */
  2000. SUNXI_FUNCTION_IRQ(0x6, 12)), /* EINT12 */
  2001. };
  2002. static const struct sunxi_desc_pin sun6i_a31_pins[] = {
  2003. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA0,
  2004. SUNXI_FUNCTION(0x0, "gpio_in"),
  2005. SUNXI_FUNCTION(0x1, "gpio_out"),
  2006. SUNXI_FUNCTION(0x2, "gmac"), /* TXD0 */
  2007. SUNXI_FUNCTION(0x3, "lcd1"), /* D0 */
  2008. SUNXI_FUNCTION(0x4, "uart1")), /* DTR */
  2009. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA1,
  2010. SUNXI_FUNCTION(0x0, "gpio_in"),
  2011. SUNXI_FUNCTION(0x1, "gpio_out"),
  2012. SUNXI_FUNCTION(0x2, "gmac"), /* TXD1 */
  2013. SUNXI_FUNCTION(0x3, "lcd1"), /* D1 */
  2014. SUNXI_FUNCTION(0x4, "uart1")), /* DSR */
  2015. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA2,
  2016. SUNXI_FUNCTION(0x0, "gpio_in"),
  2017. SUNXI_FUNCTION(0x1, "gpio_out"),
  2018. SUNXI_FUNCTION(0x2, "gmac"), /* TXD2 */
  2019. SUNXI_FUNCTION(0x3, "lcd1"), /* D2 */
  2020. SUNXI_FUNCTION(0x4, "uart1")), /* DCD */
  2021. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA3,
  2022. SUNXI_FUNCTION(0x0, "gpio_in"),
  2023. SUNXI_FUNCTION(0x1, "gpio_out"),
  2024. SUNXI_FUNCTION(0x2, "gmac"), /* TXD3 */
  2025. SUNXI_FUNCTION(0x3, "lcd1"), /* D3 */
  2026. SUNXI_FUNCTION(0x4, "uart1")), /* RING */
  2027. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA4,
  2028. SUNXI_FUNCTION(0x0, "gpio_in"),
  2029. SUNXI_FUNCTION(0x1, "gpio_out"),
  2030. SUNXI_FUNCTION(0x2, "gmac"), /* TXD4 */
  2031. SUNXI_FUNCTION(0x3, "lcd1"), /* D4 */
  2032. SUNXI_FUNCTION(0x4, "uart1")), /* TX */
  2033. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA5,
  2034. SUNXI_FUNCTION(0x0, "gpio_in"),
  2035. SUNXI_FUNCTION(0x1, "gpio_out"),
  2036. SUNXI_FUNCTION(0x2, "gmac"), /* TXD5 */
  2037. SUNXI_FUNCTION(0x3, "lcd1"), /* D5 */
  2038. SUNXI_FUNCTION(0x4, "uart1")), /* RX */
  2039. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA6,
  2040. SUNXI_FUNCTION(0x0, "gpio_in"),
  2041. SUNXI_FUNCTION(0x1, "gpio_out"),
  2042. SUNXI_FUNCTION(0x2, "gmac"), /* TXD6 */
  2043. SUNXI_FUNCTION(0x3, "lcd1"), /* D6 */
  2044. SUNXI_FUNCTION(0x4, "uart1")), /* RTS */
  2045. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA7,
  2046. SUNXI_FUNCTION(0x0, "gpio_in"),
  2047. SUNXI_FUNCTION(0x1, "gpio_out"),
  2048. SUNXI_FUNCTION(0x2, "gmac"), /* TXD7 */
  2049. SUNXI_FUNCTION(0x3, "lcd1"), /* D7 */
  2050. SUNXI_FUNCTION(0x4, "uart1")), /* CTS */
  2051. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA8,
  2052. SUNXI_FUNCTION(0x0, "gpio_in"),
  2053. SUNXI_FUNCTION(0x1, "gpio_out"),
  2054. SUNXI_FUNCTION(0x2, "gmac"), /* TXCLK */
  2055. SUNXI_FUNCTION(0x3, "lcd1")), /* D8 */
  2056. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA9,
  2057. SUNXI_FUNCTION(0x0, "gpio_in"),
  2058. SUNXI_FUNCTION(0x1, "gpio_out"),
  2059. SUNXI_FUNCTION(0x2, "gmac"), /* TXEN */
  2060. SUNXI_FUNCTION(0x3, "lcd1"), /* D9 */
  2061. SUNXI_FUNCTION(0x4, "mmc3"), /* CMD */
  2062. SUNXI_FUNCTION(0x5, "mmc2")), /* CMD */
  2063. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA10,
  2064. SUNXI_FUNCTION(0x0, "gpio_in"),
  2065. SUNXI_FUNCTION(0x1, "gpio_out"),
  2066. SUNXI_FUNCTION(0x2, "gmac"), /* GTXCLK */
  2067. SUNXI_FUNCTION(0x3, "lcd1"), /* D10 */
  2068. SUNXI_FUNCTION(0x4, "mmc3"), /* CLK */
  2069. SUNXI_FUNCTION(0x5, "mmc2")), /* CLK */
  2070. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA11,
  2071. SUNXI_FUNCTION(0x0, "gpio_in"),
  2072. SUNXI_FUNCTION(0x1, "gpio_out"),
  2073. SUNXI_FUNCTION(0x2, "gmac"), /* RXD0 */
  2074. SUNXI_FUNCTION(0x3, "lcd1"), /* D11 */
  2075. SUNXI_FUNCTION(0x4, "mmc3"), /* D0 */
  2076. SUNXI_FUNCTION(0x5, "mmc2")), /* D0 */
  2077. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA12,
  2078. SUNXI_FUNCTION(0x0, "gpio_in"),
  2079. SUNXI_FUNCTION(0x1, "gpio_out"),
  2080. SUNXI_FUNCTION(0x2, "gmac"), /* RXD1 */
  2081. SUNXI_FUNCTION(0x3, "lcd1"), /* D12 */
  2082. SUNXI_FUNCTION(0x4, "mmc3"), /* D1 */
  2083. SUNXI_FUNCTION(0x5, "mmc2")), /* D1 */
  2084. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA13,
  2085. SUNXI_FUNCTION(0x0, "gpio_in"),
  2086. SUNXI_FUNCTION(0x1, "gpio_out"),
  2087. SUNXI_FUNCTION(0x2, "gmac"), /* RXD2 */
  2088. SUNXI_FUNCTION(0x3, "lcd1"), /* D13 */
  2089. SUNXI_FUNCTION(0x4, "mmc3"), /* D2 */
  2090. SUNXI_FUNCTION(0x5, "mmc2")), /* D2 */
  2091. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA14,
  2092. SUNXI_FUNCTION(0x0, "gpio_in"),
  2093. SUNXI_FUNCTION(0x1, "gpio_out"),
  2094. SUNXI_FUNCTION(0x2, "gmac"), /* RXD3 */
  2095. SUNXI_FUNCTION(0x3, "lcd1"), /* D14 */
  2096. SUNXI_FUNCTION(0x4, "mmc3"), /* D3 */
  2097. SUNXI_FUNCTION(0x5, "mmc2")), /* D3 */
  2098. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA15,
  2099. SUNXI_FUNCTION(0x0, "gpio_in"),
  2100. SUNXI_FUNCTION(0x1, "gpio_out"),
  2101. SUNXI_FUNCTION(0x2, "gmac"), /* RXD4 */
  2102. SUNXI_FUNCTION(0x3, "lcd1")), /* D15 */
  2103. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA16,
  2104. SUNXI_FUNCTION(0x0, "gpio_in"),
  2105. SUNXI_FUNCTION(0x1, "gpio_out"),
  2106. SUNXI_FUNCTION(0x2, "gmac"), /* RXD5 */
  2107. SUNXI_FUNCTION(0x3, "lcd1")), /* D16 */
  2108. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA17,
  2109. SUNXI_FUNCTION(0x0, "gpio_in"),
  2110. SUNXI_FUNCTION(0x1, "gpio_out"),
  2111. SUNXI_FUNCTION(0x2, "gmac"), /* RXD6 */
  2112. SUNXI_FUNCTION(0x3, "lcd1")), /* D17 */
  2113. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA18,
  2114. SUNXI_FUNCTION(0x0, "gpio_in"),
  2115. SUNXI_FUNCTION(0x1, "gpio_out"),
  2116. SUNXI_FUNCTION(0x2, "gmac"), /* RXD7 */
  2117. SUNXI_FUNCTION(0x3, "lcd1")), /* D18 */
  2118. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA19,
  2119. SUNXI_FUNCTION(0x0, "gpio_in"),
  2120. SUNXI_FUNCTION(0x1, "gpio_out"),
  2121. SUNXI_FUNCTION(0x2, "gmac"), /* RXDV */
  2122. SUNXI_FUNCTION(0x3, "lcd1"), /* D19 */
  2123. SUNXI_FUNCTION(0x4, "pwm3")), /* Positive */
  2124. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA20,
  2125. SUNXI_FUNCTION(0x0, "gpio_in"),
  2126. SUNXI_FUNCTION(0x1, "gpio_out"),
  2127. SUNXI_FUNCTION(0x2, "gmac"), /* RXCLK */
  2128. SUNXI_FUNCTION(0x3, "lcd1"), /* D20 */
  2129. SUNXI_FUNCTION(0x4, "pwm3")), /* Negative */
  2130. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA21,
  2131. SUNXI_FUNCTION(0x0, "gpio_in"),
  2132. SUNXI_FUNCTION(0x1, "gpio_out"),
  2133. SUNXI_FUNCTION(0x2, "gmac"), /* TXERR */
  2134. SUNXI_FUNCTION(0x3, "lcd1"), /* D21 */
  2135. SUNXI_FUNCTION(0x4, "spi3")), /* CS0 */
  2136. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA22,
  2137. SUNXI_FUNCTION(0x0, "gpio_in"),
  2138. SUNXI_FUNCTION(0x1, "gpio_out"),
  2139. SUNXI_FUNCTION(0x2, "gmac"), /* RXERR */
  2140. SUNXI_FUNCTION(0x3, "lcd1"), /* D22 */
  2141. SUNXI_FUNCTION(0x4, "spi3")), /* CLK */
  2142. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA23,
  2143. SUNXI_FUNCTION(0x0, "gpio_in"),
  2144. SUNXI_FUNCTION(0x1, "gpio_out"),
  2145. SUNXI_FUNCTION(0x2, "gmac"), /* COL */
  2146. SUNXI_FUNCTION(0x3, "lcd1"), /* D23 */
  2147. SUNXI_FUNCTION(0x4, "spi3")), /* MOSI */
  2148. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA24,
  2149. SUNXI_FUNCTION(0x0, "gpio_in"),
  2150. SUNXI_FUNCTION(0x1, "gpio_out"),
  2151. SUNXI_FUNCTION(0x2, "gmac"), /* CRS */
  2152. SUNXI_FUNCTION(0x3, "lcd1"), /* CLK */
  2153. SUNXI_FUNCTION(0x4, "spi3")), /* MISO */
  2154. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA25,
  2155. SUNXI_FUNCTION(0x0, "gpio_in"),
  2156. SUNXI_FUNCTION(0x1, "gpio_out"),
  2157. SUNXI_FUNCTION(0x2, "gmac"), /* CLKIN */
  2158. SUNXI_FUNCTION(0x3, "lcd1"), /* DE */
  2159. SUNXI_FUNCTION(0x4, "spi3")), /* CS1 */
  2160. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA26,
  2161. SUNXI_FUNCTION(0x0, "gpio_in"),
  2162. SUNXI_FUNCTION(0x1, "gpio_out"),
  2163. SUNXI_FUNCTION(0x2, "gmac"), /* MDC */
  2164. SUNXI_FUNCTION(0x3, "lcd1")), /* HSYNC */
  2165. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA27,
  2166. SUNXI_FUNCTION(0x0, "gpio_in"),
  2167. SUNXI_FUNCTION(0x1, "gpio_out"),
  2168. SUNXI_FUNCTION(0x2, "gmac"), /* MDIO */
  2169. SUNXI_FUNCTION(0x3, "lcd1")), /* VSYNC */
  2170. /* Hole */
  2171. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB0,
  2172. SUNXI_FUNCTION(0x0, "gpio_in"),
  2173. SUNXI_FUNCTION(0x1, "gpio_out"),
  2174. SUNXI_FUNCTION(0x2, "i2s0"), /* MCLK */
  2175. SUNXI_FUNCTION(0x3, "uart3"), /* CTS */
  2176. SUNXI_FUNCTION(0x4, "csi")), /* MCLK1 */
  2177. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB1,
  2178. SUNXI_FUNCTION(0x0, "gpio_in"),
  2179. SUNXI_FUNCTION(0x1, "gpio_out"),
  2180. SUNXI_FUNCTION(0x2, "i2s0")), /* BCLK */
  2181. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB2,
  2182. SUNXI_FUNCTION(0x0, "gpio_in"),
  2183. SUNXI_FUNCTION(0x1, "gpio_out"),
  2184. SUNXI_FUNCTION(0x2, "i2s0")), /* LRCK */
  2185. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB3,
  2186. SUNXI_FUNCTION(0x0, "gpio_in"),
  2187. SUNXI_FUNCTION(0x1, "gpio_out"),
  2188. SUNXI_FUNCTION(0x2, "i2s0")), /* DO0 */
  2189. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB4,
  2190. SUNXI_FUNCTION(0x0, "gpio_in"),
  2191. SUNXI_FUNCTION(0x1, "gpio_out"),
  2192. SUNXI_FUNCTION(0x2, "i2s0"), /* DO1 */
  2193. SUNXI_FUNCTION(0x3, "uart3")), /* RTS */
  2194. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB5,
  2195. SUNXI_FUNCTION(0x0, "gpio_in"),
  2196. SUNXI_FUNCTION(0x1, "gpio_out"),
  2197. SUNXI_FUNCTION(0x2, "i2s0"), /* DO2 */
  2198. SUNXI_FUNCTION(0x3, "uart3"), /* TX */
  2199. SUNXI_FUNCTION(0x4, "i2c3")), /* SCK */
  2200. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB6,
  2201. SUNXI_FUNCTION(0x0, "gpio_in"),
  2202. SUNXI_FUNCTION(0x1, "gpio_out"),
  2203. SUNXI_FUNCTION(0x2, "i2s0"), /* DO3 */
  2204. SUNXI_FUNCTION(0x3, "uart3"), /* RX */
  2205. SUNXI_FUNCTION(0x4, "i2c3")), /* SDA */
  2206. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB7,
  2207. SUNXI_FUNCTION(0x0, "gpio_in"),
  2208. SUNXI_FUNCTION(0x1, "gpio_out"),
  2209. SUNXI_FUNCTION(0x3, "i2s0")), /* DI */
  2210. /* Hole */
  2211. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC0,
  2212. SUNXI_FUNCTION(0x0, "gpio_in"),
  2213. SUNXI_FUNCTION(0x1, "gpio_out"),
  2214. SUNXI_FUNCTION(0x2, "nand0"), /* WE */
  2215. SUNXI_FUNCTION(0x3, "spi0")), /* MOSI */
  2216. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC1,
  2217. SUNXI_FUNCTION(0x0, "gpio_in"),
  2218. SUNXI_FUNCTION(0x1, "gpio_out"),
  2219. SUNXI_FUNCTION(0x2, "nand0"), /* ALE */
  2220. SUNXI_FUNCTION(0x3, "spi0")), /* MISO */
  2221. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC2,
  2222. SUNXI_FUNCTION(0x0, "gpio_in"),
  2223. SUNXI_FUNCTION(0x1, "gpio_out"),
  2224. SUNXI_FUNCTION(0x2, "nand0"), /* CLE */
  2225. SUNXI_FUNCTION(0x3, "spi0")), /* CLK */
  2226. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC3,
  2227. SUNXI_FUNCTION(0x0, "gpio_in"),
  2228. SUNXI_FUNCTION(0x1, "gpio_out"),
  2229. SUNXI_FUNCTION(0x2, "nand0")), /* CE1 */
  2230. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC4,
  2231. SUNXI_FUNCTION(0x0, "gpio_in"),
  2232. SUNXI_FUNCTION(0x1, "gpio_out"),
  2233. SUNXI_FUNCTION(0x2, "nand0")), /* CE0 */
  2234. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC5,
  2235. SUNXI_FUNCTION(0x0, "gpio_in"),
  2236. SUNXI_FUNCTION(0x1, "gpio_out"),
  2237. SUNXI_FUNCTION(0x2, "nand0")), /* RE */
  2238. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC6,
  2239. SUNXI_FUNCTION(0x0, "gpio_in"),
  2240. SUNXI_FUNCTION(0x1, "gpio_out"),
  2241. SUNXI_FUNCTION(0x2, "nand0"), /* RB0 */
  2242. SUNXI_FUNCTION(0x3, "mmc2"), /* CMD */
  2243. SUNXI_FUNCTION(0x4, "mmc3")), /* CMD */
  2244. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC7,
  2245. SUNXI_FUNCTION(0x0, "gpio_in"),
  2246. SUNXI_FUNCTION(0x1, "gpio_out"),
  2247. SUNXI_FUNCTION(0x2, "nand0"), /* RB1 */
  2248. SUNXI_FUNCTION(0x3, "mmc2"), /* CLK */
  2249. SUNXI_FUNCTION(0x4, "mmc3")), /* CLK */
  2250. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC8,
  2251. SUNXI_FUNCTION(0x0, "gpio_in"),
  2252. SUNXI_FUNCTION(0x1, "gpio_out"),
  2253. SUNXI_FUNCTION(0x2, "nand0"), /* DQ0 */
  2254. SUNXI_FUNCTION(0x3, "mmc2"), /* D0 */
  2255. SUNXI_FUNCTION(0x4, "mmc3")), /* D0 */
  2256. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC9,
  2257. SUNXI_FUNCTION(0x0, "gpio_in"),
  2258. SUNXI_FUNCTION(0x1, "gpio_out"),
  2259. SUNXI_FUNCTION(0x2, "nand0"), /* DQ1 */
  2260. SUNXI_FUNCTION(0x3, "mmc2"), /* D1 */
  2261. SUNXI_FUNCTION(0x4, "mmc3")), /* D1 */
  2262. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC10,
  2263. SUNXI_FUNCTION(0x0, "gpio_in"),
  2264. SUNXI_FUNCTION(0x1, "gpio_out"),
  2265. SUNXI_FUNCTION(0x2, "nand0"), /* DQ2 */
  2266. SUNXI_FUNCTION(0x3, "mmc2"), /* D2 */
  2267. SUNXI_FUNCTION(0x4, "mmc3")), /* D2 */
  2268. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC11,
  2269. SUNXI_FUNCTION(0x0, "gpio_in"),
  2270. SUNXI_FUNCTION(0x1, "gpio_out"),
  2271. SUNXI_FUNCTION(0x2, "nand0"), /* DQ3 */
  2272. SUNXI_FUNCTION(0x3, "mmc2"), /* D3 */
  2273. SUNXI_FUNCTION(0x4, "mmc3")), /* D3 */
  2274. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC12,
  2275. SUNXI_FUNCTION(0x0, "gpio_in"),
  2276. SUNXI_FUNCTION(0x1, "gpio_out"),
  2277. SUNXI_FUNCTION(0x2, "nand0"), /* DQ4 */
  2278. SUNXI_FUNCTION(0x3, "mmc2"), /* D4 */
  2279. SUNXI_FUNCTION(0x4, "mmc3")), /* D4 */
  2280. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC13,
  2281. SUNXI_FUNCTION(0x0, "gpio_in"),
  2282. SUNXI_FUNCTION(0x1, "gpio_out"),
  2283. SUNXI_FUNCTION(0x2, "nand0"), /* DQ5 */
  2284. SUNXI_FUNCTION(0x3, "mmc2"), /* D5 */
  2285. SUNXI_FUNCTION(0x4, "mmc3")), /* D5 */
  2286. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC14,
  2287. SUNXI_FUNCTION(0x0, "gpio_in"),
  2288. SUNXI_FUNCTION(0x1, "gpio_out"),
  2289. SUNXI_FUNCTION(0x2, "nand0"), /* DQ6 */
  2290. SUNXI_FUNCTION(0x3, "mmc2"), /* D6 */
  2291. SUNXI_FUNCTION(0x4, "mmc3")), /* D6 */
  2292. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC15,
  2293. SUNXI_FUNCTION(0x0, "gpio_in"),
  2294. SUNXI_FUNCTION(0x1, "gpio_out"),
  2295. SUNXI_FUNCTION(0x2, "nand0"), /* DQ7 */
  2296. SUNXI_FUNCTION(0x3, "mmc2"), /* D7 */
  2297. SUNXI_FUNCTION(0x4, "mmc3")), /* D7 */
  2298. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC16,
  2299. SUNXI_FUNCTION(0x0, "gpio_in"),
  2300. SUNXI_FUNCTION(0x1, "gpio_out"),
  2301. SUNXI_FUNCTION(0x2, "nand0"), /* DQ8 */
  2302. SUNXI_FUNCTION(0x3, "nand1")), /* DQ0 */
  2303. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC17,
  2304. SUNXI_FUNCTION(0x0, "gpio_in"),
  2305. SUNXI_FUNCTION(0x1, "gpio_out"),
  2306. SUNXI_FUNCTION(0x2, "nand0"), /* DQ9 */
  2307. SUNXI_FUNCTION(0x3, "nand1")), /* DQ1 */
  2308. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC18,
  2309. SUNXI_FUNCTION(0x0, "gpio_in"),
  2310. SUNXI_FUNCTION(0x1, "gpio_out"),
  2311. SUNXI_FUNCTION(0x2, "nand0"), /* DQ10 */
  2312. SUNXI_FUNCTION(0x3, "nand1")), /* DQ2 */
  2313. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC19,
  2314. SUNXI_FUNCTION(0x0, "gpio_in"),
  2315. SUNXI_FUNCTION(0x1, "gpio_out"),
  2316. SUNXI_FUNCTION(0x2, "nand0"), /* DQ11 */
  2317. SUNXI_FUNCTION(0x3, "nand1")), /* DQ3 */
  2318. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC20,
  2319. SUNXI_FUNCTION(0x0, "gpio_in"),
  2320. SUNXI_FUNCTION(0x1, "gpio_out"),
  2321. SUNXI_FUNCTION(0x2, "nand0"), /* DQ12 */
  2322. SUNXI_FUNCTION(0x3, "nand1")), /* DQ4 */
  2323. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC21,
  2324. SUNXI_FUNCTION(0x0, "gpio_in"),
  2325. SUNXI_FUNCTION(0x1, "gpio_out"),
  2326. SUNXI_FUNCTION(0x2, "nand0"), /* DQ13 */
  2327. SUNXI_FUNCTION(0x3, "nand1")), /* DQ5 */
  2328. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC22,
  2329. SUNXI_FUNCTION(0x0, "gpio_in"),
  2330. SUNXI_FUNCTION(0x1, "gpio_out"),
  2331. SUNXI_FUNCTION(0x2, "nand0"), /* DQ14 */
  2332. SUNXI_FUNCTION(0x3, "nand1")), /* DQ6 */
  2333. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC23,
  2334. SUNXI_FUNCTION(0x0, "gpio_in"),
  2335. SUNXI_FUNCTION(0x1, "gpio_out"),
  2336. SUNXI_FUNCTION(0x2, "nand0"), /* DQ15 */
  2337. SUNXI_FUNCTION(0x3, "nand1")), /* DQ7 */
  2338. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC24,
  2339. SUNXI_FUNCTION(0x0, "gpio_in"),
  2340. SUNXI_FUNCTION(0x1, "gpio_out"),
  2341. SUNXI_FUNCTION(0x2, "nand0"), /* DQS */
  2342. SUNXI_FUNCTION(0x3, "mmc2"), /* RST */
  2343. SUNXI_FUNCTION(0x4, "mmc3")), /* RST */
  2344. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC25,
  2345. SUNXI_FUNCTION(0x0, "gpio_in"),
  2346. SUNXI_FUNCTION(0x1, "gpio_out"),
  2347. SUNXI_FUNCTION(0x2, "nand0")), /* CE2 */
  2348. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC26,
  2349. SUNXI_FUNCTION(0x0, "gpio_in"),
  2350. SUNXI_FUNCTION(0x1, "gpio_out"),
  2351. SUNXI_FUNCTION(0x2, "nand0")), /* CE3 */
  2352. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC27,
  2353. SUNXI_FUNCTION(0x0, "gpio_in"),
  2354. SUNXI_FUNCTION(0x1, "gpio_out"),
  2355. SUNXI_FUNCTION(0x3, "spi0")), /* CS0 */
  2356. /* Hole */
  2357. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD0,
  2358. SUNXI_FUNCTION(0x0, "gpio_in"),
  2359. SUNXI_FUNCTION(0x1, "gpio_out"),
  2360. SUNXI_FUNCTION(0x2, "lcd0"), /* D0 */
  2361. SUNXI_FUNCTION(0x3, "lvds0")), /* VP0 */
  2362. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD1,
  2363. SUNXI_FUNCTION(0x0, "gpio_in"),
  2364. SUNXI_FUNCTION(0x1, "gpio_out"),
  2365. SUNXI_FUNCTION(0x2, "lcd0"), /* D1 */
  2366. SUNXI_FUNCTION(0x3, "lvds0")), /* VN0 */
  2367. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD2,
  2368. SUNXI_FUNCTION(0x0, "gpio_in"),
  2369. SUNXI_FUNCTION(0x1, "gpio_out"),
  2370. SUNXI_FUNCTION(0x2, "lcd0"), /* D2 */
  2371. SUNXI_FUNCTION(0x3, "lvds0")), /* VP1 */
  2372. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD3,
  2373. SUNXI_FUNCTION(0x0, "gpio_in"),
  2374. SUNXI_FUNCTION(0x1, "gpio_out"),
  2375. SUNXI_FUNCTION(0x2, "lcd0"), /* D3 */
  2376. SUNXI_FUNCTION(0x3, "lvds0")), /* VN1 */
  2377. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD4,
  2378. SUNXI_FUNCTION(0x0, "gpio_in"),
  2379. SUNXI_FUNCTION(0x1, "gpio_out"),
  2380. SUNXI_FUNCTION(0x2, "lcd0"), /* D4 */
  2381. SUNXI_FUNCTION(0x3, "lvds0")), /* VP2 */
  2382. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD5,
  2383. SUNXI_FUNCTION(0x0, "gpio_in"),
  2384. SUNXI_FUNCTION(0x1, "gpio_out"),
  2385. SUNXI_FUNCTION(0x2, "lcd0"), /* D5 */
  2386. SUNXI_FUNCTION(0x3, "lvds0")), /* VN2 */
  2387. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD6,
  2388. SUNXI_FUNCTION(0x0, "gpio_in"),
  2389. SUNXI_FUNCTION(0x1, "gpio_out"),
  2390. SUNXI_FUNCTION(0x2, "lcd0"), /* D6 */
  2391. SUNXI_FUNCTION(0x3, "lvds0")), /* VPC */
  2392. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD7,
  2393. SUNXI_FUNCTION(0x0, "gpio_in"),
  2394. SUNXI_FUNCTION(0x1, "gpio_out"),
  2395. SUNXI_FUNCTION(0x2, "lcd0"), /* D7 */
  2396. SUNXI_FUNCTION(0x3, "lvds0")), /* VNC */
  2397. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD8,
  2398. SUNXI_FUNCTION(0x0, "gpio_in"),
  2399. SUNXI_FUNCTION(0x1, "gpio_out"),
  2400. SUNXI_FUNCTION(0x2, "lcd0"), /* D8 */
  2401. SUNXI_FUNCTION(0x3, "lvds0")), /* VP3 */
  2402. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD9,
  2403. SUNXI_FUNCTION(0x0, "gpio_in"),
  2404. SUNXI_FUNCTION(0x1, "gpio_out"),
  2405. SUNXI_FUNCTION(0x2, "lcd0"), /* D9 */
  2406. SUNXI_FUNCTION(0x3, "lvds0")), /* VN3 */
  2407. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD10,
  2408. SUNXI_FUNCTION(0x0, "gpio_in"),
  2409. SUNXI_FUNCTION(0x1, "gpio_out"),
  2410. SUNXI_FUNCTION(0x2, "lcd0"), /* D10 */
  2411. SUNXI_FUNCTION(0x3, "lvds1")), /* VP0 */
  2412. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD11,
  2413. SUNXI_FUNCTION(0x0, "gpio_in"),
  2414. SUNXI_FUNCTION(0x1, "gpio_out"),
  2415. SUNXI_FUNCTION(0x2, "lcd0"), /* D11 */
  2416. SUNXI_FUNCTION(0x3, "lvds1")), /* VN0 */
  2417. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD12,
  2418. SUNXI_FUNCTION(0x0, "gpio_in"),
  2419. SUNXI_FUNCTION(0x1, "gpio_out"),
  2420. SUNXI_FUNCTION(0x2, "lcd0"), /* D12 */
  2421. SUNXI_FUNCTION(0x3, "lvds1")), /* VP1 */
  2422. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD13,
  2423. SUNXI_FUNCTION(0x0, "gpio_in"),
  2424. SUNXI_FUNCTION(0x1, "gpio_out"),
  2425. SUNXI_FUNCTION(0x2, "lcd0"), /* D13 */
  2426. SUNXI_FUNCTION(0x3, "lvds1")), /* VN1 */
  2427. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD14,
  2428. SUNXI_FUNCTION(0x0, "gpio_in"),
  2429. SUNXI_FUNCTION(0x1, "gpio_out"),
  2430. SUNXI_FUNCTION(0x2, "lcd0"), /* D14 */
  2431. SUNXI_FUNCTION(0x3, "lvds1")), /* VP2 */
  2432. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD15,
  2433. SUNXI_FUNCTION(0x0, "gpio_in"),
  2434. SUNXI_FUNCTION(0x1, "gpio_out"),
  2435. SUNXI_FUNCTION(0x2, "lcd0"), /* D15 */
  2436. SUNXI_FUNCTION(0x3, "lvds1")), /* VN2 */
  2437. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD16,
  2438. SUNXI_FUNCTION(0x0, "gpio_in"),
  2439. SUNXI_FUNCTION(0x1, "gpio_out"),
  2440. SUNXI_FUNCTION(0x2, "lcd0"), /* D16 */
  2441. SUNXI_FUNCTION(0x3, "lvds1")), /* VPC */
  2442. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD17,
  2443. SUNXI_FUNCTION(0x0, "gpio_in"),
  2444. SUNXI_FUNCTION(0x1, "gpio_out"),
  2445. SUNXI_FUNCTION(0x2, "lcd0"), /* D17 */
  2446. SUNXI_FUNCTION(0x3, "lvds1")), /* VNC */
  2447. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD18,
  2448. SUNXI_FUNCTION(0x0, "gpio_in"),
  2449. SUNXI_FUNCTION(0x1, "gpio_out"),
  2450. SUNXI_FUNCTION(0x2, "lcd0"), /* D18 */
  2451. SUNXI_FUNCTION(0x3, "lvds1")), /* VP3 */
  2452. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD19,
  2453. SUNXI_FUNCTION(0x0, "gpio_in"),
  2454. SUNXI_FUNCTION(0x1, "gpio_out"),
  2455. SUNXI_FUNCTION(0x2, "lcd0"), /* D19 */
  2456. SUNXI_FUNCTION(0x3, "lvds1")), /* VN3 */
  2457. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD20,
  2458. SUNXI_FUNCTION(0x0, "gpio_in"),
  2459. SUNXI_FUNCTION(0x1, "gpio_out"),
  2460. SUNXI_FUNCTION(0x2, "lcd0")), /* D20 */
  2461. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD21,
  2462. SUNXI_FUNCTION(0x0, "gpio_in"),
  2463. SUNXI_FUNCTION(0x1, "gpio_out"),
  2464. SUNXI_FUNCTION(0x2, "lcd0")), /* D21 */
  2465. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD22,
  2466. SUNXI_FUNCTION(0x0, "gpio_in"),
  2467. SUNXI_FUNCTION(0x1, "gpio_out"),
  2468. SUNXI_FUNCTION(0x2, "lcd0")), /* D22 */
  2469. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD23,
  2470. SUNXI_FUNCTION(0x0, "gpio_in"),
  2471. SUNXI_FUNCTION(0x1, "gpio_out"),
  2472. SUNXI_FUNCTION(0x2, "lcd0")), /* D23 */
  2473. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD24,
  2474. SUNXI_FUNCTION(0x0, "gpio_in"),
  2475. SUNXI_FUNCTION(0x1, "gpio_out"),
  2476. SUNXI_FUNCTION(0x2, "lcd0")), /* CLK */
  2477. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD25,
  2478. SUNXI_FUNCTION(0x0, "gpio_in"),
  2479. SUNXI_FUNCTION(0x1, "gpio_out"),
  2480. SUNXI_FUNCTION(0x2, "lcd0")), /* DE */
  2481. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD26,
  2482. SUNXI_FUNCTION(0x0, "gpio_in"),
  2483. SUNXI_FUNCTION(0x1, "gpio_out"),
  2484. SUNXI_FUNCTION(0x2, "lcd0")), /* HSYNC */
  2485. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD27,
  2486. SUNXI_FUNCTION(0x0, "gpio_in"),
  2487. SUNXI_FUNCTION(0x1, "gpio_out"),
  2488. SUNXI_FUNCTION(0x2, "lcd0")), /* VSYNC */
  2489. /* Hole */
  2490. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE0,
  2491. SUNXI_FUNCTION(0x0, "gpio_in"),
  2492. SUNXI_FUNCTION(0x1, "gpio_out"),
  2493. SUNXI_FUNCTION(0x2, "csi"), /* PCLK */
  2494. SUNXI_FUNCTION(0x3, "ts")), /* CLK */
  2495. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE1,
  2496. SUNXI_FUNCTION(0x0, "gpio_in"),
  2497. SUNXI_FUNCTION(0x1, "gpio_out"),
  2498. SUNXI_FUNCTION(0x2, "csi"), /* MCLK */
  2499. SUNXI_FUNCTION(0x3, "ts")), /* ERR */
  2500. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE2,
  2501. SUNXI_FUNCTION(0x0, "gpio_in"),
  2502. SUNXI_FUNCTION(0x1, "gpio_out"),
  2503. SUNXI_FUNCTION(0x2, "csi"), /* HSYNC */
  2504. SUNXI_FUNCTION(0x3, "ts")), /* SYNC */
  2505. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE3,
  2506. SUNXI_FUNCTION(0x0, "gpio_in"),
  2507. SUNXI_FUNCTION(0x1, "gpio_out"),
  2508. SUNXI_FUNCTION(0x2, "csi"), /* VSYNC */
  2509. SUNXI_FUNCTION(0x3, "ts")), /* DVLD */
  2510. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE4,
  2511. SUNXI_FUNCTION(0x0, "gpio_in"),
  2512. SUNXI_FUNCTION(0x1, "gpio_out"),
  2513. SUNXI_FUNCTION(0x2, "csi"), /* D0 */
  2514. SUNXI_FUNCTION(0x3, "uart5")), /* TX */
  2515. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE5,
  2516. SUNXI_FUNCTION(0x0, "gpio_in"),
  2517. SUNXI_FUNCTION(0x1, "gpio_out"),
  2518. SUNXI_FUNCTION(0x2, "csi"), /* D1 */
  2519. SUNXI_FUNCTION(0x3, "uart5")), /* RX */
  2520. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE6,
  2521. SUNXI_FUNCTION(0x0, "gpio_in"),
  2522. SUNXI_FUNCTION(0x1, "gpio_out"),
  2523. SUNXI_FUNCTION(0x2, "csi"), /* D2 */
  2524. SUNXI_FUNCTION(0x3, "uart5")), /* RTS */
  2525. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE7,
  2526. SUNXI_FUNCTION(0x0, "gpio_in"),
  2527. SUNXI_FUNCTION(0x1, "gpio_out"),
  2528. SUNXI_FUNCTION(0x2, "csi"), /* D3 */
  2529. SUNXI_FUNCTION(0x3, "uart5")), /* CTS */
  2530. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE8,
  2531. SUNXI_FUNCTION(0x0, "gpio_in"),
  2532. SUNXI_FUNCTION(0x1, "gpio_out"),
  2533. SUNXI_FUNCTION(0x2, "csi"), /* D4 */
  2534. SUNXI_FUNCTION(0x3, "ts")), /* D0 */
  2535. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE9,
  2536. SUNXI_FUNCTION(0x0, "gpio_in"),
  2537. SUNXI_FUNCTION(0x1, "gpio_out"),
  2538. SUNXI_FUNCTION(0x2, "csi"), /* D5 */
  2539. SUNXI_FUNCTION(0x3, "ts")), /* D1 */
  2540. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE10,
  2541. SUNXI_FUNCTION(0x0, "gpio_in"),
  2542. SUNXI_FUNCTION(0x1, "gpio_out"),
  2543. SUNXI_FUNCTION(0x2, "csi"), /* D6 */
  2544. SUNXI_FUNCTION(0x3, "ts")), /* D2 */
  2545. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE11,
  2546. SUNXI_FUNCTION(0x0, "gpio_in"),
  2547. SUNXI_FUNCTION(0x1, "gpio_out"),
  2548. SUNXI_FUNCTION(0x2, "csi"), /* D7 */
  2549. SUNXI_FUNCTION(0x3, "ts")), /* D3 */
  2550. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE12,
  2551. SUNXI_FUNCTION(0x0, "gpio_in"),
  2552. SUNXI_FUNCTION(0x1, "gpio_out"),
  2553. SUNXI_FUNCTION(0x2, "csi"), /* D8 */
  2554. SUNXI_FUNCTION(0x3, "ts")), /* D4 */
  2555. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE13,
  2556. SUNXI_FUNCTION(0x0, "gpio_in"),
  2557. SUNXI_FUNCTION(0x1, "gpio_out"),
  2558. SUNXI_FUNCTION(0x2, "csi"), /* D9 */
  2559. SUNXI_FUNCTION(0x3, "ts")), /* D5 */
  2560. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE14,
  2561. SUNXI_FUNCTION(0x0, "gpio_in"),
  2562. SUNXI_FUNCTION(0x1, "gpio_out"),
  2563. SUNXI_FUNCTION(0x2, "csi"), /* D10 */
  2564. SUNXI_FUNCTION(0x3, "ts")), /* D6 */
  2565. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE15,
  2566. SUNXI_FUNCTION(0x0, "gpio_in"),
  2567. SUNXI_FUNCTION(0x1, "gpio_out"),
  2568. SUNXI_FUNCTION(0x2, "csi"), /* D11 */
  2569. SUNXI_FUNCTION(0x3, "ts")), /* D7 */
  2570. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE16,
  2571. SUNXI_FUNCTION(0x0, "gpio_in"),
  2572. SUNXI_FUNCTION(0x1, "gpio_out"),
  2573. SUNXI_FUNCTION(0x2, "csi")), /* MIPI CSI MCLK */
  2574. /* Hole */
  2575. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF0,
  2576. SUNXI_FUNCTION(0x0, "gpio_in"),
  2577. SUNXI_FUNCTION(0x1, "gpio_out"),
  2578. SUNXI_FUNCTION(0x2, "mmc0"), /* D1 */
  2579. SUNXI_FUNCTION(0x4, "jtag")), /* MS1 */
  2580. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF1,
  2581. SUNXI_FUNCTION(0x0, "gpio_in"),
  2582. SUNXI_FUNCTION(0x1, "gpio_out"),
  2583. SUNXI_FUNCTION(0x2, "mmc0"), /* D0 */
  2584. SUNXI_FUNCTION(0x4, "jtag")), /* DI1 */
  2585. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF2,
  2586. SUNXI_FUNCTION(0x0, "gpio_in"),
  2587. SUNXI_FUNCTION(0x1, "gpio_out"),
  2588. SUNXI_FUNCTION(0x2, "mmc0"), /* CLK */
  2589. SUNXI_FUNCTION(0x4, "uart0")), /* TX */
  2590. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF3,
  2591. SUNXI_FUNCTION(0x0, "gpio_in"),
  2592. SUNXI_FUNCTION(0x1, "gpio_out"),
  2593. SUNXI_FUNCTION(0x2, "mmc0"), /* CMD */
  2594. SUNXI_FUNCTION(0x4, "jtag")), /* DO1 */
  2595. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF4,
  2596. SUNXI_FUNCTION(0x0, "gpio_in"),
  2597. SUNXI_FUNCTION(0x1, "gpio_out"),
  2598. SUNXI_FUNCTION(0x2, "mmc0"), /* D3 */
  2599. SUNXI_FUNCTION(0x4, "uart0")), /* RX */
  2600. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF5,
  2601. SUNXI_FUNCTION(0x0, "gpio_in"),
  2602. SUNXI_FUNCTION(0x1, "gpio_out"),
  2603. SUNXI_FUNCTION(0x2, "mmc0"), /* D2 */
  2604. SUNXI_FUNCTION(0x4, "jtag")), /* CK1 */
  2605. /* Hole */
  2606. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG0,
  2607. SUNXI_FUNCTION(0x0, "gpio_in"),
  2608. SUNXI_FUNCTION(0x1, "gpio_out"),
  2609. SUNXI_FUNCTION(0x2, "mmc1")), /* CLK */
  2610. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG1,
  2611. SUNXI_FUNCTION(0x0, "gpio_in"),
  2612. SUNXI_FUNCTION(0x1, "gpio_out"),
  2613. SUNXI_FUNCTION(0x2, "mmc1")), /* CMD */
  2614. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG2,
  2615. SUNXI_FUNCTION(0x0, "gpio_in"),
  2616. SUNXI_FUNCTION(0x1, "gpio_out"),
  2617. SUNXI_FUNCTION(0x2, "mmc1")), /* D0 */
  2618. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG3,
  2619. SUNXI_FUNCTION(0x0, "gpio_in"),
  2620. SUNXI_FUNCTION(0x1, "gpio_out"),
  2621. SUNXI_FUNCTION(0x2, "mmc1")), /* D1 */
  2622. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG4,
  2623. SUNXI_FUNCTION(0x0, "gpio_in"),
  2624. SUNXI_FUNCTION(0x1, "gpio_out"),
  2625. SUNXI_FUNCTION(0x2, "mmc1")), /* D2 */
  2626. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG5,
  2627. SUNXI_FUNCTION(0x0, "gpio_in"),
  2628. SUNXI_FUNCTION(0x1, "gpio_out"),
  2629. SUNXI_FUNCTION(0x2, "mmc1")), /* D3 */
  2630. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG6,
  2631. SUNXI_FUNCTION(0x0, "gpio_in"),
  2632. SUNXI_FUNCTION(0x1, "gpio_out"),
  2633. SUNXI_FUNCTION(0x2, "uart2")), /* TX */
  2634. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG7,
  2635. SUNXI_FUNCTION(0x0, "gpio_in"),
  2636. SUNXI_FUNCTION(0x1, "gpio_out"),
  2637. SUNXI_FUNCTION(0x2, "uart2")), /* RX */
  2638. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG8,
  2639. SUNXI_FUNCTION(0x0, "gpio_in"),
  2640. SUNXI_FUNCTION(0x1, "gpio_out"),
  2641. SUNXI_FUNCTION(0x2, "uart2")), /* RTS */
  2642. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG9,
  2643. SUNXI_FUNCTION(0x0, "gpio_in"),
  2644. SUNXI_FUNCTION(0x1, "gpio_out"),
  2645. SUNXI_FUNCTION(0x2, "uart2")), /* CTS */
  2646. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG10,
  2647. SUNXI_FUNCTION(0x0, "gpio_in"),
  2648. SUNXI_FUNCTION(0x1, "gpio_out"),
  2649. SUNXI_FUNCTION(0x2, "i2c3"), /* SCK */
  2650. SUNXI_FUNCTION(0x3, "usb")), /* DP3 */
  2651. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG11,
  2652. SUNXI_FUNCTION(0x0, "gpio_in"),
  2653. SUNXI_FUNCTION(0x1, "gpio_out"),
  2654. SUNXI_FUNCTION(0x2, "i2c3"), /* SDA */
  2655. SUNXI_FUNCTION(0x3, "usb")), /* DM3 */
  2656. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG12,
  2657. SUNXI_FUNCTION(0x0, "gpio_in"),
  2658. SUNXI_FUNCTION(0x1, "gpio_out"),
  2659. SUNXI_FUNCTION(0x2, "spi1"), /* CS1 */
  2660. SUNXI_FUNCTION(0x3, "i2s1")), /* MCLK */
  2661. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG13,
  2662. SUNXI_FUNCTION(0x0, "gpio_in"),
  2663. SUNXI_FUNCTION(0x1, "gpio_out"),
  2664. SUNXI_FUNCTION(0x2, "spi1"), /* CS0 */
  2665. SUNXI_FUNCTION(0x3, "i2s1")), /* BCLK */
  2666. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG14,
  2667. SUNXI_FUNCTION(0x0, "gpio_in"),
  2668. SUNXI_FUNCTION(0x1, "gpio_out"),
  2669. SUNXI_FUNCTION(0x2, "spi1"), /* CLK */
  2670. SUNXI_FUNCTION(0x3, "i2s1")), /* LRCK */
  2671. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG15,
  2672. SUNXI_FUNCTION(0x0, "gpio_in"),
  2673. SUNXI_FUNCTION(0x1, "gpio_out"),
  2674. SUNXI_FUNCTION(0x2, "spi1"), /* MOSI */
  2675. SUNXI_FUNCTION(0x3, "i2s1")), /* DIN */
  2676. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG16,
  2677. SUNXI_FUNCTION(0x0, "gpio_in"),
  2678. SUNXI_FUNCTION(0x1, "gpio_out"),
  2679. SUNXI_FUNCTION(0x2, "spi1"), /* MISO */
  2680. SUNXI_FUNCTION(0x3, "i2s1")), /* DOUT */
  2681. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG17,
  2682. SUNXI_FUNCTION(0x0, "gpio_in"),
  2683. SUNXI_FUNCTION(0x1, "gpio_out"),
  2684. SUNXI_FUNCTION(0x2, "uart4")), /* TX */
  2685. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG18,
  2686. SUNXI_FUNCTION(0x0, "gpio_in"),
  2687. SUNXI_FUNCTION(0x1, "gpio_out"),
  2688. SUNXI_FUNCTION(0x2, "uart4")), /* RX */
  2689. /* Hole */
  2690. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH0,
  2691. SUNXI_FUNCTION(0x0, "gpio_in"),
  2692. SUNXI_FUNCTION(0x1, "gpio_out"),
  2693. SUNXI_FUNCTION(0x2, "nand1")), /* WE */
  2694. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH1,
  2695. SUNXI_FUNCTION(0x0, "gpio_in"),
  2696. SUNXI_FUNCTION(0x1, "gpio_out"),
  2697. SUNXI_FUNCTION(0x2, "nand1")), /* ALE */
  2698. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH2,
  2699. SUNXI_FUNCTION(0x0, "gpio_in"),
  2700. SUNXI_FUNCTION(0x1, "gpio_out"),
  2701. SUNXI_FUNCTION(0x2, "nand1")), /* CLE */
  2702. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH3,
  2703. SUNXI_FUNCTION(0x0, "gpio_in"),
  2704. SUNXI_FUNCTION(0x1, "gpio_out"),
  2705. SUNXI_FUNCTION(0x2, "nand1")), /* CE1 */
  2706. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH4,
  2707. SUNXI_FUNCTION(0x0, "gpio_in"),
  2708. SUNXI_FUNCTION(0x1, "gpio_out"),
  2709. SUNXI_FUNCTION(0x2, "nand1")), /* CE0 */
  2710. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH5,
  2711. SUNXI_FUNCTION(0x0, "gpio_in"),
  2712. SUNXI_FUNCTION(0x1, "gpio_out"),
  2713. SUNXI_FUNCTION(0x2, "nand1")), /* RE */
  2714. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH6,
  2715. SUNXI_FUNCTION(0x0, "gpio_in"),
  2716. SUNXI_FUNCTION(0x1, "gpio_out"),
  2717. SUNXI_FUNCTION(0x2, "nand1")), /* RB0 */
  2718. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH7,
  2719. SUNXI_FUNCTION(0x0, "gpio_in"),
  2720. SUNXI_FUNCTION(0x1, "gpio_out"),
  2721. SUNXI_FUNCTION(0x2, "nand1")), /* RB1 */
  2722. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH8,
  2723. SUNXI_FUNCTION(0x0, "gpio_in"),
  2724. SUNXI_FUNCTION(0x1, "gpio_out"),
  2725. SUNXI_FUNCTION(0x2, "nand1")), /* DQS */
  2726. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH9,
  2727. SUNXI_FUNCTION(0x0, "gpio_in"),
  2728. SUNXI_FUNCTION(0x1, "gpio_out"),
  2729. SUNXI_FUNCTION(0x2, "spi2"), /* CS0 */
  2730. SUNXI_FUNCTION(0x3, "jtag"), /* MS0 */
  2731. SUNXI_FUNCTION(0x4, "pwm1")), /* Positive */
  2732. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH10,
  2733. SUNXI_FUNCTION(0x0, "gpio_in"),
  2734. SUNXI_FUNCTION(0x1, "gpio_out"),
  2735. SUNXI_FUNCTION(0x2, "spi2"), /* CLK */
  2736. SUNXI_FUNCTION(0x3, "jtag"), /* CK0 */
  2737. SUNXI_FUNCTION(0x4, "pwm1")), /* Negative */
  2738. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH11,
  2739. SUNXI_FUNCTION(0x0, "gpio_in"),
  2740. SUNXI_FUNCTION(0x1, "gpio_out"),
  2741. SUNXI_FUNCTION(0x2, "spi2"), /* MOSI */
  2742. SUNXI_FUNCTION(0x3, "jtag"), /* DO0 */
  2743. SUNXI_FUNCTION(0x4, "pwm2")), /* Positive */
  2744. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH12,
  2745. SUNXI_FUNCTION(0x0, "gpio_in"),
  2746. SUNXI_FUNCTION(0x1, "gpio_out"),
  2747. SUNXI_FUNCTION(0x2, "spi2"), /* MISO */
  2748. SUNXI_FUNCTION(0x3, "jtag"), /* DI0 */
  2749. SUNXI_FUNCTION(0x4, "pwm2")), /* Negative */
  2750. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH13,
  2751. SUNXI_FUNCTION(0x0, "gpio_in"),
  2752. SUNXI_FUNCTION(0x1, "gpio_out"),
  2753. SUNXI_FUNCTION(0x2, "pwm0")),
  2754. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH14,
  2755. SUNXI_FUNCTION(0x0, "gpio_in"),
  2756. SUNXI_FUNCTION(0x1, "gpio_out"),
  2757. SUNXI_FUNCTION(0x2, "i2c0")), /* SCK */
  2758. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH15,
  2759. SUNXI_FUNCTION(0x0, "gpio_in"),
  2760. SUNXI_FUNCTION(0x1, "gpio_out"),
  2761. SUNXI_FUNCTION(0x2, "i2c0")), /* SDA */
  2762. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH16,
  2763. SUNXI_FUNCTION(0x0, "gpio_in"),
  2764. SUNXI_FUNCTION(0x1, "gpio_out"),
  2765. SUNXI_FUNCTION(0x2, "i2c1")), /* SCK */
  2766. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH17,
  2767. SUNXI_FUNCTION(0x0, "gpio_in"),
  2768. SUNXI_FUNCTION(0x1, "gpio_out"),
  2769. SUNXI_FUNCTION(0x2, "i2c1")), /* SDA */
  2770. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH18,
  2771. SUNXI_FUNCTION(0x0, "gpio_in"),
  2772. SUNXI_FUNCTION(0x1, "gpio_out"),
  2773. SUNXI_FUNCTION(0x2, "i2c2")), /* SCK */
  2774. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH19,
  2775. SUNXI_FUNCTION(0x0, "gpio_in"),
  2776. SUNXI_FUNCTION(0x1, "gpio_out"),
  2777. SUNXI_FUNCTION(0x2, "i2c2")), /* SDA */
  2778. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH20,
  2779. SUNXI_FUNCTION(0x0, "gpio_in"),
  2780. SUNXI_FUNCTION(0x1, "gpio_out"),
  2781. SUNXI_FUNCTION(0x2, "uart0")), /* TX */
  2782. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH21,
  2783. SUNXI_FUNCTION(0x0, "gpio_in"),
  2784. SUNXI_FUNCTION(0x1, "gpio_out"),
  2785. SUNXI_FUNCTION(0x2, "uart0")), /* RX */
  2786. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH22,
  2787. SUNXI_FUNCTION(0x0, "gpio_in"),
  2788. SUNXI_FUNCTION(0x1, "gpio_out")),
  2789. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH23,
  2790. SUNXI_FUNCTION(0x0, "gpio_in"),
  2791. SUNXI_FUNCTION(0x1, "gpio_out")),
  2792. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH24,
  2793. SUNXI_FUNCTION(0x0, "gpio_in"),
  2794. SUNXI_FUNCTION(0x1, "gpio_out")),
  2795. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH25,
  2796. SUNXI_FUNCTION(0x0, "gpio_in"),
  2797. SUNXI_FUNCTION(0x1, "gpio_out")),
  2798. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH26,
  2799. SUNXI_FUNCTION(0x0, "gpio_in"),
  2800. SUNXI_FUNCTION(0x1, "gpio_out")),
  2801. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH27,
  2802. SUNXI_FUNCTION(0x0, "gpio_in"),
  2803. SUNXI_FUNCTION(0x1, "gpio_out")),
  2804. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH28,
  2805. SUNXI_FUNCTION(0x0, "gpio_in"),
  2806. SUNXI_FUNCTION(0x1, "gpio_out")),
  2807. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH29,
  2808. SUNXI_FUNCTION(0x0, "gpio_in"),
  2809. SUNXI_FUNCTION(0x1, "gpio_out"),
  2810. SUNXI_FUNCTION(0x2, "nand1")), /* CE2 */
  2811. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH30,
  2812. SUNXI_FUNCTION(0x0, "gpio_in"),
  2813. SUNXI_FUNCTION(0x1, "gpio_out"),
  2814. SUNXI_FUNCTION(0x2, "nand1")), /* CE3 */
  2815. };
  2816. static const struct sunxi_desc_pin sun7i_a20_pins[] = {
  2817. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA0,
  2818. SUNXI_FUNCTION(0x0, "gpio_in"),
  2819. SUNXI_FUNCTION(0x1, "gpio_out"),
  2820. SUNXI_FUNCTION(0x2, "emac"), /* ERXD3 */
  2821. SUNXI_FUNCTION(0x3, "spi1"), /* CS0 */
  2822. SUNXI_FUNCTION(0x4, "uart2"), /* RTS */
  2823. SUNXI_FUNCTION(0x5, "gmac")), /* GRXD3 */
  2824. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA1,
  2825. SUNXI_FUNCTION(0x0, "gpio_in"),
  2826. SUNXI_FUNCTION(0x1, "gpio_out"),
  2827. SUNXI_FUNCTION(0x2, "emac"), /* ERXD2 */
  2828. SUNXI_FUNCTION(0x3, "spi1"), /* CLK */
  2829. SUNXI_FUNCTION(0x4, "uart2"), /* CTS */
  2830. SUNXI_FUNCTION(0x5, "gmac")), /* GRXD2 */
  2831. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA2,
  2832. SUNXI_FUNCTION(0x0, "gpio_in"),
  2833. SUNXI_FUNCTION(0x1, "gpio_out"),
  2834. SUNXI_FUNCTION(0x2, "emac"), /* ERXD1 */
  2835. SUNXI_FUNCTION(0x3, "spi1"), /* MOSI */
  2836. SUNXI_FUNCTION(0x4, "uart2"), /* TX */
  2837. SUNXI_FUNCTION(0x5, "gmac")), /* GRXD1 */
  2838. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA3,
  2839. SUNXI_FUNCTION(0x0, "gpio_in"),
  2840. SUNXI_FUNCTION(0x1, "gpio_out"),
  2841. SUNXI_FUNCTION(0x2, "emac"), /* ERXD0 */
  2842. SUNXI_FUNCTION(0x3, "spi1"), /* MISO */
  2843. SUNXI_FUNCTION(0x4, "uart2"), /* RX */
  2844. SUNXI_FUNCTION(0x5, "gmac")), /* GRXD0 */
  2845. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA4,
  2846. SUNXI_FUNCTION(0x0, "gpio_in"),
  2847. SUNXI_FUNCTION(0x1, "gpio_out"),
  2848. SUNXI_FUNCTION(0x2, "emac"), /* ETXD3 */
  2849. SUNXI_FUNCTION(0x3, "spi1"), /* CS1 */
  2850. SUNXI_FUNCTION(0x5, "gmac")), /* GTXD3 */
  2851. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA5,
  2852. SUNXI_FUNCTION(0x0, "gpio_in"),
  2853. SUNXI_FUNCTION(0x1, "gpio_out"),
  2854. SUNXI_FUNCTION(0x2, "emac"), /* ETXD2 */
  2855. SUNXI_FUNCTION(0x3, "spi3"), /* CS0 */
  2856. SUNXI_FUNCTION(0x5, "gmac")), /* GTXD2 */
  2857. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA6,
  2858. SUNXI_FUNCTION(0x0, "gpio_in"),
  2859. SUNXI_FUNCTION(0x1, "gpio_out"),
  2860. SUNXI_FUNCTION(0x2, "emac"), /* ETXD1 */
  2861. SUNXI_FUNCTION(0x3, "spi3"), /* CLK */
  2862. SUNXI_FUNCTION(0x5, "gmac")), /* GTXD1 */
  2863. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA7,
  2864. SUNXI_FUNCTION(0x0, "gpio_in"),
  2865. SUNXI_FUNCTION(0x1, "gpio_out"),
  2866. SUNXI_FUNCTION(0x2, "emac"), /* ETXD0 */
  2867. SUNXI_FUNCTION(0x3, "spi3"), /* MOSI */
  2868. SUNXI_FUNCTION(0x5, "gmac")), /* GTXD0 */
  2869. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA8,
  2870. SUNXI_FUNCTION(0x0, "gpio_in"),
  2871. SUNXI_FUNCTION(0x1, "gpio_out"),
  2872. SUNXI_FUNCTION(0x2, "emac"), /* ERXCK */
  2873. SUNXI_FUNCTION(0x3, "spi3"), /* MISO */
  2874. SUNXI_FUNCTION(0x5, "gmac")), /* GRXCK */
  2875. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA9,
  2876. SUNXI_FUNCTION(0x0, "gpio_in"),
  2877. SUNXI_FUNCTION(0x1, "gpio_out"),
  2878. SUNXI_FUNCTION(0x2, "emac"), /* ERXERR */
  2879. SUNXI_FUNCTION(0x3, "spi3"), /* CS1 */
  2880. SUNXI_FUNCTION(0x5, "gmac"), /* GNULL / ERXERR */
  2881. SUNXI_FUNCTION(0x6, "i2s1")), /* MCLK */
  2882. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA10,
  2883. SUNXI_FUNCTION(0x0, "gpio_in"),
  2884. SUNXI_FUNCTION(0x1, "gpio_out"),
  2885. SUNXI_FUNCTION(0x2, "emac"), /* ERXDV */
  2886. SUNXI_FUNCTION(0x4, "uart1"), /* TX */
  2887. SUNXI_FUNCTION(0x5, "gmac")), /* GRXCTL / ERXDV */
  2888. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA11,
  2889. SUNXI_FUNCTION(0x0, "gpio_in"),
  2890. SUNXI_FUNCTION(0x1, "gpio_out"),
  2891. SUNXI_FUNCTION(0x2, "emac"), /* EMDC */
  2892. SUNXI_FUNCTION(0x4, "uart1"), /* RX */
  2893. SUNXI_FUNCTION(0x5, "gmac")), /* EMDC */
  2894. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA12,
  2895. SUNXI_FUNCTION(0x0, "gpio_in"),
  2896. SUNXI_FUNCTION(0x1, "gpio_out"),
  2897. SUNXI_FUNCTION(0x2, "emac"), /* EMDIO */
  2898. SUNXI_FUNCTION(0x3, "uart6"), /* TX */
  2899. SUNXI_FUNCTION(0x4, "uart1"), /* RTS */
  2900. SUNXI_FUNCTION(0x5, "gmac")), /* EMDIO */
  2901. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA13,
  2902. SUNXI_FUNCTION(0x0, "gpio_in"),
  2903. SUNXI_FUNCTION(0x1, "gpio_out"),
  2904. SUNXI_FUNCTION(0x2, "emac"), /* ETXEN */
  2905. SUNXI_FUNCTION(0x3, "uart6"), /* RX */
  2906. SUNXI_FUNCTION(0x4, "uart1"), /* CTS */
  2907. SUNXI_FUNCTION(0x5, "gmac")), /* GTXCTL / ETXEN */
  2908. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA14,
  2909. SUNXI_FUNCTION(0x0, "gpio_in"),
  2910. SUNXI_FUNCTION(0x1, "gpio_out"),
  2911. SUNXI_FUNCTION(0x2, "emac"), /* ETXCK */
  2912. SUNXI_FUNCTION(0x3, "uart7"), /* TX */
  2913. SUNXI_FUNCTION(0x4, "uart1"), /* DTR */
  2914. SUNXI_FUNCTION(0x5, "gmac"), /* GNULL / ETXCK */
  2915. SUNXI_FUNCTION(0x6, "i2s1")), /* BCLK */
  2916. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA15,
  2917. SUNXI_FUNCTION(0x0, "gpio_in"),
  2918. SUNXI_FUNCTION(0x1, "gpio_out"),
  2919. SUNXI_FUNCTION(0x2, "emac"), /* ECRS */
  2920. SUNXI_FUNCTION(0x3, "uart7"), /* RX */
  2921. SUNXI_FUNCTION(0x4, "uart1"), /* DSR */
  2922. SUNXI_FUNCTION(0x5, "gmac"), /* GTXCK / ECRS */
  2923. SUNXI_FUNCTION(0x6, "i2s1")), /* LRCK */
  2924. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA16,
  2925. SUNXI_FUNCTION(0x0, "gpio_in"),
  2926. SUNXI_FUNCTION(0x1, "gpio_out"),
  2927. SUNXI_FUNCTION(0x2, "emac"), /* ECOL */
  2928. SUNXI_FUNCTION(0x3, "can"), /* TX */
  2929. SUNXI_FUNCTION(0x4, "uart1"), /* DCD */
  2930. SUNXI_FUNCTION(0x5, "gmac"), /* GCLKIN / ECOL */
  2931. SUNXI_FUNCTION(0x6, "i2s1")), /* DO */
  2932. SUNXI_PIN(SUNXI_PINCTRL_PIN_PA17,
  2933. SUNXI_FUNCTION(0x0, "gpio_in"),
  2934. SUNXI_FUNCTION(0x1, "gpio_out"),
  2935. SUNXI_FUNCTION(0x2, "emac"), /* ETXERR */
  2936. SUNXI_FUNCTION(0x3, "can"), /* RX */
  2937. SUNXI_FUNCTION(0x4, "uart1"), /* RING */
  2938. SUNXI_FUNCTION(0x5, "gmac"), /* GNULL / ETXERR */
  2939. SUNXI_FUNCTION(0x6, "i2s1")), /* LRCK */
  2940. /* Hole */
  2941. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB0,
  2942. SUNXI_FUNCTION(0x0, "gpio_in"),
  2943. SUNXI_FUNCTION(0x1, "gpio_out"),
  2944. SUNXI_FUNCTION(0x2, "i2c0")), /* SCK */
  2945. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB1,
  2946. SUNXI_FUNCTION(0x0, "gpio_in"),
  2947. SUNXI_FUNCTION(0x1, "gpio_out"),
  2948. SUNXI_FUNCTION(0x2, "i2c0")), /* SDA */
  2949. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB2,
  2950. SUNXI_FUNCTION(0x0, "gpio_in"),
  2951. SUNXI_FUNCTION(0x1, "gpio_out"),
  2952. SUNXI_FUNCTION(0x2, "pwm")), /* PWM0 */
  2953. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB3,
  2954. SUNXI_FUNCTION(0x0, "gpio_in"),
  2955. SUNXI_FUNCTION(0x1, "gpio_out"),
  2956. SUNXI_FUNCTION(0x2, "ir0"), /* TX */
  2957. SUNXI_FUNCTION(0x4, "spdif")), /* MCLK */
  2958. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB4,
  2959. SUNXI_FUNCTION(0x0, "gpio_in"),
  2960. SUNXI_FUNCTION(0x1, "gpio_out"),
  2961. SUNXI_FUNCTION(0x2, "ir0")), /* RX */
  2962. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB5,
  2963. SUNXI_FUNCTION(0x0, "gpio_in"),
  2964. SUNXI_FUNCTION(0x1, "gpio_out"),
  2965. SUNXI_FUNCTION(0x2, "i2s0"), /* MCLK */
  2966. SUNXI_FUNCTION(0x3, "ac97")), /* MCLK */
  2967. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB6,
  2968. SUNXI_FUNCTION(0x0, "gpio_in"),
  2969. SUNXI_FUNCTION(0x1, "gpio_out"),
  2970. SUNXI_FUNCTION(0x2, "i2s0"), /* BCLK */
  2971. SUNXI_FUNCTION(0x3, "ac97")), /* BCLK */
  2972. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB7,
  2973. SUNXI_FUNCTION(0x0, "gpio_in"),
  2974. SUNXI_FUNCTION(0x1, "gpio_out"),
  2975. SUNXI_FUNCTION(0x2, "i2s0"), /* LRCK */
  2976. SUNXI_FUNCTION(0x3, "ac97")), /* SYNC */
  2977. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB8,
  2978. SUNXI_FUNCTION(0x0, "gpio_in"),
  2979. SUNXI_FUNCTION(0x1, "gpio_out"),
  2980. SUNXI_FUNCTION(0x2, "i2s0"), /* DO0 */
  2981. SUNXI_FUNCTION(0x3, "ac97")), /* DO */
  2982. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB9,
  2983. SUNXI_FUNCTION(0x0, "gpio_in"),
  2984. SUNXI_FUNCTION(0x1, "gpio_out"),
  2985. SUNXI_FUNCTION(0x2, "i2s0")), /* DO1 */
  2986. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB10,
  2987. SUNXI_FUNCTION(0x0, "gpio_in"),
  2988. SUNXI_FUNCTION(0x1, "gpio_out"),
  2989. SUNXI_FUNCTION(0x2, "i2s0")), /* DO2 */
  2990. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB11,
  2991. SUNXI_FUNCTION(0x0, "gpio_in"),
  2992. SUNXI_FUNCTION(0x1, "gpio_out"),
  2993. SUNXI_FUNCTION(0x2, "i2s0")), /* DO3 */
  2994. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB12,
  2995. SUNXI_FUNCTION(0x0, "gpio_in"),
  2996. SUNXI_FUNCTION(0x1, "gpio_out"),
  2997. SUNXI_FUNCTION(0x2, "i2s0"), /* DI */
  2998. SUNXI_FUNCTION(0x3, "ac97"), /* DI */
  2999. SUNXI_FUNCTION(0x4, "spdif")), /* DI */
  3000. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB13,
  3001. SUNXI_FUNCTION(0x0, "gpio_in"),
  3002. SUNXI_FUNCTION(0x1, "gpio_out"),
  3003. SUNXI_FUNCTION(0x2, "spi2"), /* CS1 */
  3004. SUNXI_FUNCTION(0x4, "spdif")), /* DO */
  3005. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB14,
  3006. SUNXI_FUNCTION(0x0, "gpio_in"),
  3007. SUNXI_FUNCTION(0x1, "gpio_out"),
  3008. SUNXI_FUNCTION(0x2, "spi2"), /* CS0 */
  3009. SUNXI_FUNCTION(0x3, "jtag")), /* MS0 */
  3010. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB15,
  3011. SUNXI_FUNCTION(0x0, "gpio_in"),
  3012. SUNXI_FUNCTION(0x1, "gpio_out"),
  3013. SUNXI_FUNCTION(0x2, "spi2"), /* CLK */
  3014. SUNXI_FUNCTION(0x3, "jtag")), /* CK0 */
  3015. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB16,
  3016. SUNXI_FUNCTION(0x0, "gpio_in"),
  3017. SUNXI_FUNCTION(0x1, "gpio_out"),
  3018. SUNXI_FUNCTION(0x2, "spi2"), /* MOSI */
  3019. SUNXI_FUNCTION(0x3, "jtag")), /* DO0 */
  3020. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB17,
  3021. SUNXI_FUNCTION(0x0, "gpio_in"),
  3022. SUNXI_FUNCTION(0x1, "gpio_out"),
  3023. SUNXI_FUNCTION(0x2, "spi2"), /* MISO */
  3024. SUNXI_FUNCTION(0x3, "jtag")), /* DI0 */
  3025. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB18,
  3026. SUNXI_FUNCTION(0x0, "gpio_in"),
  3027. SUNXI_FUNCTION(0x1, "gpio_out"),
  3028. SUNXI_FUNCTION(0x2, "i2c1")), /* SCK */
  3029. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB19,
  3030. SUNXI_FUNCTION(0x0, "gpio_in"),
  3031. SUNXI_FUNCTION(0x1, "gpio_out"),
  3032. SUNXI_FUNCTION(0x2, "i2c1")), /* SDA */
  3033. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB20,
  3034. SUNXI_FUNCTION(0x0, "gpio_in"),
  3035. SUNXI_FUNCTION(0x1, "gpio_out"),
  3036. SUNXI_FUNCTION(0x2, "i2c2")), /* SCK */
  3037. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB21,
  3038. SUNXI_FUNCTION(0x0, "gpio_in"),
  3039. SUNXI_FUNCTION(0x1, "gpio_out"),
  3040. SUNXI_FUNCTION(0x2, "i2c2")), /* SDA */
  3041. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB22,
  3042. SUNXI_FUNCTION(0x0, "gpio_in"),
  3043. SUNXI_FUNCTION(0x1, "gpio_out"),
  3044. SUNXI_FUNCTION(0x2, "uart0"), /* TX */
  3045. SUNXI_FUNCTION(0x3, "ir1")), /* TX */
  3046. SUNXI_PIN(SUNXI_PINCTRL_PIN_PB23,
  3047. SUNXI_FUNCTION(0x0, "gpio_in"),
  3048. SUNXI_FUNCTION(0x1, "gpio_out"),
  3049. SUNXI_FUNCTION(0x2, "uart0"), /* RX */
  3050. SUNXI_FUNCTION(0x3, "ir1")), /* RX */
  3051. /* Hole */
  3052. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC0,
  3053. SUNXI_FUNCTION(0x0, "gpio_in"),
  3054. SUNXI_FUNCTION(0x1, "gpio_out"),
  3055. SUNXI_FUNCTION(0x2, "nand0"), /* NWE */
  3056. SUNXI_FUNCTION(0x3, "spi0")), /* MOSI */
  3057. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC1,
  3058. SUNXI_FUNCTION(0x0, "gpio_in"),
  3059. SUNXI_FUNCTION(0x1, "gpio_out"),
  3060. SUNXI_FUNCTION(0x2, "nand0"), /* NALE */
  3061. SUNXI_FUNCTION(0x3, "spi0")), /* MISO */
  3062. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC2,
  3063. SUNXI_FUNCTION(0x0, "gpio_in"),
  3064. SUNXI_FUNCTION(0x1, "gpio_out"),
  3065. SUNXI_FUNCTION(0x2, "nand0"), /* NCLE */
  3066. SUNXI_FUNCTION(0x3, "spi0")), /* SCK */
  3067. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC3,
  3068. SUNXI_FUNCTION(0x0, "gpio_in"),
  3069. SUNXI_FUNCTION(0x1, "gpio_out"),
  3070. SUNXI_FUNCTION(0x2, "nand0")), /* NCE1 */
  3071. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC4,
  3072. SUNXI_FUNCTION(0x0, "gpio_in"),
  3073. SUNXI_FUNCTION(0x1, "gpio_out"),
  3074. SUNXI_FUNCTION(0x2, "nand0")), /* NCE0 */
  3075. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC5,
  3076. SUNXI_FUNCTION(0x0, "gpio_in"),
  3077. SUNXI_FUNCTION(0x1, "gpio_out"),
  3078. SUNXI_FUNCTION(0x2, "nand0")), /* NRE# */
  3079. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC6,
  3080. SUNXI_FUNCTION(0x0, "gpio_in"),
  3081. SUNXI_FUNCTION(0x1, "gpio_out"),
  3082. SUNXI_FUNCTION(0x2, "nand0"), /* NRB0 */
  3083. SUNXI_FUNCTION(0x3, "mmc2")), /* CMD */
  3084. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC7,
  3085. SUNXI_FUNCTION(0x0, "gpio_in"),
  3086. SUNXI_FUNCTION(0x1, "gpio_out"),
  3087. SUNXI_FUNCTION(0x2, "nand0"), /* NRB1 */
  3088. SUNXI_FUNCTION(0x3, "mmc2")), /* CLK */
  3089. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC8,
  3090. SUNXI_FUNCTION(0x0, "gpio_in"),
  3091. SUNXI_FUNCTION(0x1, "gpio_out"),
  3092. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ0 */
  3093. SUNXI_FUNCTION(0x3, "mmc2")), /* D0 */
  3094. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC9,
  3095. SUNXI_FUNCTION(0x0, "gpio_in"),
  3096. SUNXI_FUNCTION(0x1, "gpio_out"),
  3097. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ1 */
  3098. SUNXI_FUNCTION(0x3, "mmc2")), /* D1 */
  3099. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC10,
  3100. SUNXI_FUNCTION(0x0, "gpio_in"),
  3101. SUNXI_FUNCTION(0x1, "gpio_out"),
  3102. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ2 */
  3103. SUNXI_FUNCTION(0x3, "mmc2")), /* D2 */
  3104. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC11,
  3105. SUNXI_FUNCTION(0x0, "gpio_in"),
  3106. SUNXI_FUNCTION(0x1, "gpio_out"),
  3107. SUNXI_FUNCTION(0x2, "nand0"), /* NDQ3 */
  3108. SUNXI_FUNCTION(0x3, "mmc2")), /* D3 */
  3109. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC12,
  3110. SUNXI_FUNCTION(0x0, "gpio_in"),
  3111. SUNXI_FUNCTION(0x1, "gpio_out"),
  3112. SUNXI_FUNCTION(0x2, "nand0")), /* NDQ4 */
  3113. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC13,
  3114. SUNXI_FUNCTION(0x0, "gpio_in"),
  3115. SUNXI_FUNCTION(0x1, "gpio_out"),
  3116. SUNXI_FUNCTION(0x2, "nand0")), /* NDQ5 */
  3117. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC14,
  3118. SUNXI_FUNCTION(0x0, "gpio_in"),
  3119. SUNXI_FUNCTION(0x1, "gpio_out"),
  3120. SUNXI_FUNCTION(0x2, "nand0")), /* NDQ6 */
  3121. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC15,
  3122. SUNXI_FUNCTION(0x0, "gpio_in"),
  3123. SUNXI_FUNCTION(0x1, "gpio_out"),
  3124. SUNXI_FUNCTION(0x2, "nand0")), /* NDQ7 */
  3125. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC16,
  3126. SUNXI_FUNCTION(0x0, "gpio_in"),
  3127. SUNXI_FUNCTION(0x1, "gpio_out"),
  3128. SUNXI_FUNCTION(0x2, "nand0")), /* NWP */
  3129. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC17,
  3130. SUNXI_FUNCTION(0x0, "gpio_in"),
  3131. SUNXI_FUNCTION(0x1, "gpio_out"),
  3132. SUNXI_FUNCTION(0x2, "nand0")), /* NCE2 */
  3133. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC18,
  3134. SUNXI_FUNCTION(0x0, "gpio_in"),
  3135. SUNXI_FUNCTION(0x1, "gpio_out"),
  3136. SUNXI_FUNCTION(0x2, "nand0")), /* NCE3 */
  3137. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC19,
  3138. SUNXI_FUNCTION(0x0, "gpio_in"),
  3139. SUNXI_FUNCTION(0x1, "gpio_out"),
  3140. SUNXI_FUNCTION(0x2, "nand0"), /* NCE4 */
  3141. SUNXI_FUNCTION(0x3, "spi2"), /* CS0 */
  3142. SUNXI_FUNCTION_IRQ(0x6, 12)), /* EINT12 */
  3143. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC20,
  3144. SUNXI_FUNCTION(0x0, "gpio_in"),
  3145. SUNXI_FUNCTION(0x1, "gpio_out"),
  3146. SUNXI_FUNCTION(0x2, "nand0"), /* NCE5 */
  3147. SUNXI_FUNCTION(0x3, "spi2"), /* CLK */
  3148. SUNXI_FUNCTION_IRQ(0x6, 13)), /* EINT13 */
  3149. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC21,
  3150. SUNXI_FUNCTION(0x0, "gpio_in"),
  3151. SUNXI_FUNCTION(0x1, "gpio_out"),
  3152. SUNXI_FUNCTION(0x2, "nand0"), /* NCE6 */
  3153. SUNXI_FUNCTION(0x3, "spi2"), /* MOSI */
  3154. SUNXI_FUNCTION_IRQ(0x6, 14)), /* EINT14 */
  3155. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC22,
  3156. SUNXI_FUNCTION(0x0, "gpio_in"),
  3157. SUNXI_FUNCTION(0x1, "gpio_out"),
  3158. SUNXI_FUNCTION(0x2, "nand0"), /* NCE7 */
  3159. SUNXI_FUNCTION(0x3, "spi2"), /* MISO */
  3160. SUNXI_FUNCTION_IRQ(0x6, 15)), /* EINT15 */
  3161. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC23,
  3162. SUNXI_FUNCTION(0x0, "gpio_in"),
  3163. SUNXI_FUNCTION(0x1, "gpio_out"),
  3164. SUNXI_FUNCTION(0x3, "spi0")), /* CS0 */
  3165. SUNXI_PIN(SUNXI_PINCTRL_PIN_PC24,
  3166. SUNXI_FUNCTION(0x0, "gpio_in"),
  3167. SUNXI_FUNCTION(0x1, "gpio_out"),
  3168. SUNXI_FUNCTION(0x2, "nand0")), /* NDQS */
  3169. /* Hole */
  3170. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD0,
  3171. SUNXI_FUNCTION(0x0, "gpio_in"),
  3172. SUNXI_FUNCTION(0x1, "gpio_out"),
  3173. SUNXI_FUNCTION(0x2, "lcd0"), /* D0 */
  3174. SUNXI_FUNCTION(0x3, "lvds0")), /* VP0 */
  3175. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD1,
  3176. SUNXI_FUNCTION(0x0, "gpio_in"),
  3177. SUNXI_FUNCTION(0x1, "gpio_out"),
  3178. SUNXI_FUNCTION(0x2, "lcd0"), /* D1 */
  3179. SUNXI_FUNCTION(0x3, "lvds0")), /* VN0 */
  3180. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD2,
  3181. SUNXI_FUNCTION(0x0, "gpio_in"),
  3182. SUNXI_FUNCTION(0x1, "gpio_out"),
  3183. SUNXI_FUNCTION(0x2, "lcd0"), /* D2 */
  3184. SUNXI_FUNCTION(0x3, "lvds0")), /* VP1 */
  3185. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD3,
  3186. SUNXI_FUNCTION(0x0, "gpio_in"),
  3187. SUNXI_FUNCTION(0x1, "gpio_out"),
  3188. SUNXI_FUNCTION(0x2, "lcd0"), /* D3 */
  3189. SUNXI_FUNCTION(0x3, "lvds0")), /* VN1 */
  3190. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD4,
  3191. SUNXI_FUNCTION(0x0, "gpio_in"),
  3192. SUNXI_FUNCTION(0x1, "gpio_out"),
  3193. SUNXI_FUNCTION(0x2, "lcd0"), /* D4 */
  3194. SUNXI_FUNCTION(0x3, "lvds0")), /* VP2 */
  3195. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD5,
  3196. SUNXI_FUNCTION(0x0, "gpio_in"),
  3197. SUNXI_FUNCTION(0x1, "gpio_out"),
  3198. SUNXI_FUNCTION(0x2, "lcd0"), /* D5 */
  3199. SUNXI_FUNCTION(0x3, "lvds0")), /* VN2 */
  3200. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD6,
  3201. SUNXI_FUNCTION(0x0, "gpio_in"),
  3202. SUNXI_FUNCTION(0x1, "gpio_out"),
  3203. SUNXI_FUNCTION(0x2, "lcd0"), /* D6 */
  3204. SUNXI_FUNCTION(0x3, "lvds0")), /* VPC */
  3205. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD7,
  3206. SUNXI_FUNCTION(0x0, "gpio_in"),
  3207. SUNXI_FUNCTION(0x1, "gpio_out"),
  3208. SUNXI_FUNCTION(0x2, "lcd0"), /* D7 */
  3209. SUNXI_FUNCTION(0x3, "lvds0")), /* VNC */
  3210. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD8,
  3211. SUNXI_FUNCTION(0x0, "gpio_in"),
  3212. SUNXI_FUNCTION(0x1, "gpio_out"),
  3213. SUNXI_FUNCTION(0x2, "lcd0"), /* D8 */
  3214. SUNXI_FUNCTION(0x3, "lvds0")), /* VP3 */
  3215. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD9,
  3216. SUNXI_FUNCTION(0x0, "gpio_in"),
  3217. SUNXI_FUNCTION(0x1, "gpio_out"),
  3218. SUNXI_FUNCTION(0x2, "lcd0"), /* D9 */
  3219. SUNXI_FUNCTION(0x3, "lvds0")), /* VM3 */
  3220. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD10,
  3221. SUNXI_FUNCTION(0x0, "gpio_in"),
  3222. SUNXI_FUNCTION(0x1, "gpio_out"),
  3223. SUNXI_FUNCTION(0x2, "lcd0"), /* D10 */
  3224. SUNXI_FUNCTION(0x3, "lvds1")), /* VP0 */
  3225. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD11,
  3226. SUNXI_FUNCTION(0x0, "gpio_in"),
  3227. SUNXI_FUNCTION(0x1, "gpio_out"),
  3228. SUNXI_FUNCTION(0x2, "lcd0"), /* D11 */
  3229. SUNXI_FUNCTION(0x3, "lvds1")), /* VN0 */
  3230. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD12,
  3231. SUNXI_FUNCTION(0x0, "gpio_in"),
  3232. SUNXI_FUNCTION(0x1, "gpio_out"),
  3233. SUNXI_FUNCTION(0x2, "lcd0"), /* D12 */
  3234. SUNXI_FUNCTION(0x3, "lvds1")), /* VP1 */
  3235. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD13,
  3236. SUNXI_FUNCTION(0x0, "gpio_in"),
  3237. SUNXI_FUNCTION(0x1, "gpio_out"),
  3238. SUNXI_FUNCTION(0x2, "lcd0"), /* D13 */
  3239. SUNXI_FUNCTION(0x3, "lvds1")), /* VN1 */
  3240. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD14,
  3241. SUNXI_FUNCTION(0x0, "gpio_in"),
  3242. SUNXI_FUNCTION(0x1, "gpio_out"),
  3243. SUNXI_FUNCTION(0x2, "lcd0"), /* D14 */
  3244. SUNXI_FUNCTION(0x3, "lvds1")), /* VP2 */
  3245. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD15,
  3246. SUNXI_FUNCTION(0x0, "gpio_in"),
  3247. SUNXI_FUNCTION(0x1, "gpio_out"),
  3248. SUNXI_FUNCTION(0x2, "lcd0"), /* D15 */
  3249. SUNXI_FUNCTION(0x3, "lvds1")), /* VN2 */
  3250. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD16,
  3251. SUNXI_FUNCTION(0x0, "gpio_in"),
  3252. SUNXI_FUNCTION(0x1, "gpio_out"),
  3253. SUNXI_FUNCTION(0x2, "lcd0"), /* D16 */
  3254. SUNXI_FUNCTION(0x3, "lvds1")), /* VPC */
  3255. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD17,
  3256. SUNXI_FUNCTION(0x0, "gpio_in"),
  3257. SUNXI_FUNCTION(0x1, "gpio_out"),
  3258. SUNXI_FUNCTION(0x2, "lcd0"), /* D17 */
  3259. SUNXI_FUNCTION(0x3, "lvds1")), /* VNC */
  3260. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD18,
  3261. SUNXI_FUNCTION(0x0, "gpio_in"),
  3262. SUNXI_FUNCTION(0x1, "gpio_out"),
  3263. SUNXI_FUNCTION(0x2, "lcd0"), /* D18 */
  3264. SUNXI_FUNCTION(0x3, "lvds1")), /* VP3 */
  3265. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD19,
  3266. SUNXI_FUNCTION(0x0, "gpio_in"),
  3267. SUNXI_FUNCTION(0x1, "gpio_out"),
  3268. SUNXI_FUNCTION(0x2, "lcd0"), /* D19 */
  3269. SUNXI_FUNCTION(0x3, "lvds1")), /* VN3 */
  3270. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD20,
  3271. SUNXI_FUNCTION(0x0, "gpio_in"),
  3272. SUNXI_FUNCTION(0x1, "gpio_out"),
  3273. SUNXI_FUNCTION(0x2, "lcd0"), /* D20 */
  3274. SUNXI_FUNCTION(0x3, "csi1")), /* MCLK */
  3275. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD21,
  3276. SUNXI_FUNCTION(0x0, "gpio_in"),
  3277. SUNXI_FUNCTION(0x1, "gpio_out"),
  3278. SUNXI_FUNCTION(0x2, "lcd0"), /* D21 */
  3279. SUNXI_FUNCTION(0x3, "sim")), /* VPPEN */
  3280. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD22,
  3281. SUNXI_FUNCTION(0x0, "gpio_in"),
  3282. SUNXI_FUNCTION(0x1, "gpio_out"),
  3283. SUNXI_FUNCTION(0x2, "lcd0"), /* D22 */
  3284. SUNXI_FUNCTION(0x3, "sim")), /* VPPPP */
  3285. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD23,
  3286. SUNXI_FUNCTION(0x0, "gpio_in"),
  3287. SUNXI_FUNCTION(0x1, "gpio_out"),
  3288. SUNXI_FUNCTION(0x2, "lcd0"), /* D23 */
  3289. SUNXI_FUNCTION(0x3, "sim")), /* DET */
  3290. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD24,
  3291. SUNXI_FUNCTION(0x0, "gpio_in"),
  3292. SUNXI_FUNCTION(0x1, "gpio_out"),
  3293. SUNXI_FUNCTION(0x2, "lcd0"), /* CLK */
  3294. SUNXI_FUNCTION(0x3, "sim")), /* VCCEN */
  3295. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD25,
  3296. SUNXI_FUNCTION(0x0, "gpio_in"),
  3297. SUNXI_FUNCTION(0x1, "gpio_out"),
  3298. SUNXI_FUNCTION(0x2, "lcd0"), /* DE */
  3299. SUNXI_FUNCTION(0x3, "sim")), /* RST */
  3300. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD26,
  3301. SUNXI_FUNCTION(0x0, "gpio_in"),
  3302. SUNXI_FUNCTION(0x1, "gpio_out"),
  3303. SUNXI_FUNCTION(0x2, "lcd0"), /* HSYNC */
  3304. SUNXI_FUNCTION(0x3, "sim")), /* SCK */
  3305. SUNXI_PIN(SUNXI_PINCTRL_PIN_PD27,
  3306. SUNXI_FUNCTION(0x0, "gpio_in"),
  3307. SUNXI_FUNCTION(0x1, "gpio_out"),
  3308. SUNXI_FUNCTION(0x2, "lcd0"), /* VSYNC */
  3309. SUNXI_FUNCTION(0x3, "sim")), /* SDA */
  3310. /* Hole */
  3311. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE0,
  3312. SUNXI_FUNCTION(0x0, "gpio_in"),
  3313. SUNXI_FUNCTION(0x1, "gpio_out"),
  3314. SUNXI_FUNCTION(0x2, "ts0"), /* CLK */
  3315. SUNXI_FUNCTION(0x3, "csi0")), /* PCK */
  3316. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE1,
  3317. SUNXI_FUNCTION(0x0, "gpio_in"),
  3318. SUNXI_FUNCTION(0x1, "gpio_out"),
  3319. SUNXI_FUNCTION(0x2, "ts0"), /* ERR */
  3320. SUNXI_FUNCTION(0x3, "csi0")), /* CK */
  3321. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE2,
  3322. SUNXI_FUNCTION(0x0, "gpio_in"),
  3323. SUNXI_FUNCTION(0x1, "gpio_out"),
  3324. SUNXI_FUNCTION(0x2, "ts0"), /* SYNC */
  3325. SUNXI_FUNCTION(0x3, "csi0")), /* HSYNC */
  3326. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE3,
  3327. SUNXI_FUNCTION(0x0, "gpio_in"),
  3328. SUNXI_FUNCTION(0x1, "gpio_out"),
  3329. SUNXI_FUNCTION(0x2, "ts0"), /* DVLD */
  3330. SUNXI_FUNCTION(0x3, "csi0")), /* VSYNC */
  3331. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE4,
  3332. SUNXI_FUNCTION(0x0, "gpio_in"),
  3333. SUNXI_FUNCTION(0x1, "gpio_out"),
  3334. SUNXI_FUNCTION(0x2, "ts0"), /* D0 */
  3335. SUNXI_FUNCTION(0x3, "csi0")), /* D0 */
  3336. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE5,
  3337. SUNXI_FUNCTION(0x0, "gpio_in"),
  3338. SUNXI_FUNCTION(0x1, "gpio_out"),
  3339. SUNXI_FUNCTION(0x2, "ts0"), /* D1 */
  3340. SUNXI_FUNCTION(0x3, "csi0"), /* D1 */
  3341. SUNXI_FUNCTION(0x4, "sim")), /* VPPEN */
  3342. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE6,
  3343. SUNXI_FUNCTION(0x0, "gpio_in"),
  3344. SUNXI_FUNCTION(0x1, "gpio_out"),
  3345. SUNXI_FUNCTION(0x2, "ts0"), /* D2 */
  3346. SUNXI_FUNCTION(0x3, "csi0")), /* D2 */
  3347. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE7,
  3348. SUNXI_FUNCTION(0x0, "gpio_in"),
  3349. SUNXI_FUNCTION(0x1, "gpio_out"),
  3350. SUNXI_FUNCTION(0x2, "ts0"), /* D3 */
  3351. SUNXI_FUNCTION(0x3, "csi0")), /* D3 */
  3352. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE8,
  3353. SUNXI_FUNCTION(0x0, "gpio_in"),
  3354. SUNXI_FUNCTION(0x1, "gpio_out"),
  3355. SUNXI_FUNCTION(0x2, "ts0"), /* D4 */
  3356. SUNXI_FUNCTION(0x3, "csi0")), /* D4 */
  3357. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE9,
  3358. SUNXI_FUNCTION(0x0, "gpio_in"),
  3359. SUNXI_FUNCTION(0x1, "gpio_out"),
  3360. SUNXI_FUNCTION(0x2, "ts0"), /* D5 */
  3361. SUNXI_FUNCTION(0x3, "csi0")), /* D5 */
  3362. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE10,
  3363. SUNXI_FUNCTION(0x0, "gpio_in"),
  3364. SUNXI_FUNCTION(0x1, "gpio_out"),
  3365. SUNXI_FUNCTION(0x2, "ts0"), /* D6 */
  3366. SUNXI_FUNCTION(0x3, "csi0")), /* D6 */
  3367. SUNXI_PIN(SUNXI_PINCTRL_PIN_PE11,
  3368. SUNXI_FUNCTION(0x0, "gpio_in"),
  3369. SUNXI_FUNCTION(0x1, "gpio_out"),
  3370. SUNXI_FUNCTION(0x2, "ts0"), /* D7 */
  3371. SUNXI_FUNCTION(0x3, "csi0")), /* D7 */
  3372. /* Hole */
  3373. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF0,
  3374. SUNXI_FUNCTION(0x0, "gpio_in"),
  3375. SUNXI_FUNCTION(0x1, "gpio_out"),
  3376. SUNXI_FUNCTION(0x2, "mmc0"), /* D1 */
  3377. SUNXI_FUNCTION(0x4, "jtag")), /* MSI */
  3378. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF1,
  3379. SUNXI_FUNCTION(0x0, "gpio_in"),
  3380. SUNXI_FUNCTION(0x1, "gpio_out"),
  3381. SUNXI_FUNCTION(0x2, "mmc0"), /* D0 */
  3382. SUNXI_FUNCTION(0x4, "jtag")), /* DI1 */
  3383. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF2,
  3384. SUNXI_FUNCTION(0x0, "gpio_in"),
  3385. SUNXI_FUNCTION(0x1, "gpio_out"),
  3386. SUNXI_FUNCTION(0x2, "mmc0"), /* CLK */
  3387. SUNXI_FUNCTION(0x4, "uart0")), /* TX */
  3388. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF3,
  3389. SUNXI_FUNCTION(0x0, "gpio_in"),
  3390. SUNXI_FUNCTION(0x1, "gpio_out"),
  3391. SUNXI_FUNCTION(0x2, "mmc0"), /* CMD */
  3392. SUNXI_FUNCTION(0x4, "jtag")), /* DO1 */
  3393. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF4,
  3394. SUNXI_FUNCTION(0x0, "gpio_in"),
  3395. SUNXI_FUNCTION(0x1, "gpio_out"),
  3396. SUNXI_FUNCTION(0x2, "mmc0"), /* D3 */
  3397. SUNXI_FUNCTION(0x4, "uart0")), /* RX */
  3398. SUNXI_PIN(SUNXI_PINCTRL_PIN_PF5,
  3399. SUNXI_FUNCTION(0x0, "gpio_in"),
  3400. SUNXI_FUNCTION(0x1, "gpio_out"),
  3401. SUNXI_FUNCTION(0x2, "mmc0"), /* D2 */
  3402. SUNXI_FUNCTION(0x4, "jtag")), /* CK1 */
  3403. /* Hole */
  3404. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG0,
  3405. SUNXI_FUNCTION(0x0, "gpio_in"),
  3406. SUNXI_FUNCTION(0x1, "gpio_out"),
  3407. SUNXI_FUNCTION(0x2, "ts1"), /* CLK */
  3408. SUNXI_FUNCTION(0x3, "csi1"), /* PCK */
  3409. SUNXI_FUNCTION(0x4, "mmc1")), /* CMD */
  3410. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG1,
  3411. SUNXI_FUNCTION(0x0, "gpio_in"),
  3412. SUNXI_FUNCTION(0x1, "gpio_out"),
  3413. SUNXI_FUNCTION(0x2, "ts1"), /* ERR */
  3414. SUNXI_FUNCTION(0x3, "csi1"), /* CK */
  3415. SUNXI_FUNCTION(0x4, "mmc1")), /* CLK */
  3416. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG2,
  3417. SUNXI_FUNCTION(0x0, "gpio_in"),
  3418. SUNXI_FUNCTION(0x1, "gpio_out"),
  3419. SUNXI_FUNCTION(0x2, "ts1"), /* SYNC */
  3420. SUNXI_FUNCTION(0x3, "csi1"), /* HSYNC */
  3421. SUNXI_FUNCTION(0x4, "mmc1")), /* D0 */
  3422. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG3,
  3423. SUNXI_FUNCTION(0x0, "gpio_in"),
  3424. SUNXI_FUNCTION(0x1, "gpio_out"),
  3425. SUNXI_FUNCTION(0x2, "ts1"), /* DVLD */
  3426. SUNXI_FUNCTION(0x3, "csi1"), /* VSYNC */
  3427. SUNXI_FUNCTION(0x4, "mmc1")), /* D1 */
  3428. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG4,
  3429. SUNXI_FUNCTION(0x0, "gpio_in"),
  3430. SUNXI_FUNCTION(0x1, "gpio_out"),
  3431. SUNXI_FUNCTION(0x2, "ts1"), /* D0 */
  3432. SUNXI_FUNCTION(0x3, "csi1"), /* D0 */
  3433. SUNXI_FUNCTION(0x4, "mmc1"), /* D2 */
  3434. SUNXI_FUNCTION(0x5, "csi0")), /* D8 */
  3435. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG5,
  3436. SUNXI_FUNCTION(0x0, "gpio_in"),
  3437. SUNXI_FUNCTION(0x1, "gpio_out"),
  3438. SUNXI_FUNCTION(0x2, "ts1"), /* D1 */
  3439. SUNXI_FUNCTION(0x3, "csi1"), /* D1 */
  3440. SUNXI_FUNCTION(0x4, "mmc1"), /* D3 */
  3441. SUNXI_FUNCTION(0x5, "csi0")), /* D9 */
  3442. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG6,
  3443. SUNXI_FUNCTION(0x0, "gpio_in"),
  3444. SUNXI_FUNCTION(0x1, "gpio_out"),
  3445. SUNXI_FUNCTION(0x2, "ts1"), /* D2 */
  3446. SUNXI_FUNCTION(0x3, "csi1"), /* D2 */
  3447. SUNXI_FUNCTION(0x4, "uart3"), /* TX */
  3448. SUNXI_FUNCTION(0x5, "csi0")), /* D10 */
  3449. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG7,
  3450. SUNXI_FUNCTION(0x0, "gpio_in"),
  3451. SUNXI_FUNCTION(0x1, "gpio_out"),
  3452. SUNXI_FUNCTION(0x2, "ts1"), /* D3 */
  3453. SUNXI_FUNCTION(0x3, "csi1"), /* D3 */
  3454. SUNXI_FUNCTION(0x4, "uart3"), /* RX */
  3455. SUNXI_FUNCTION(0x5, "csi0")), /* D11 */
  3456. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG8,
  3457. SUNXI_FUNCTION(0x0, "gpio_in"),
  3458. SUNXI_FUNCTION(0x1, "gpio_out"),
  3459. SUNXI_FUNCTION(0x2, "ts1"), /* D4 */
  3460. SUNXI_FUNCTION(0x3, "csi1"), /* D4 */
  3461. SUNXI_FUNCTION(0x4, "uart3"), /* RTS */
  3462. SUNXI_FUNCTION(0x5, "csi0")), /* D12 */
  3463. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG9,
  3464. SUNXI_FUNCTION(0x0, "gpio_in"),
  3465. SUNXI_FUNCTION(0x1, "gpio_out"),
  3466. SUNXI_FUNCTION(0x2, "ts1"), /* D5 */
  3467. SUNXI_FUNCTION(0x3, "csi1"), /* D5 */
  3468. SUNXI_FUNCTION(0x4, "uart3"), /* CTS */
  3469. SUNXI_FUNCTION(0x5, "csi0")), /* D13 */
  3470. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG10,
  3471. SUNXI_FUNCTION(0x0, "gpio_in"),
  3472. SUNXI_FUNCTION(0x1, "gpio_out"),
  3473. SUNXI_FUNCTION(0x2, "ts1"), /* D6 */
  3474. SUNXI_FUNCTION(0x3, "csi1"), /* D6 */
  3475. SUNXI_FUNCTION(0x4, "uart4"), /* TX */
  3476. SUNXI_FUNCTION(0x5, "csi0")), /* D14 */
  3477. SUNXI_PIN(SUNXI_PINCTRL_PIN_PG11,
  3478. SUNXI_FUNCTION(0x0, "gpio_in"),
  3479. SUNXI_FUNCTION(0x1, "gpio_out"),
  3480. SUNXI_FUNCTION(0x2, "ts1"), /* D7 */
  3481. SUNXI_FUNCTION(0x3, "csi1"), /* D7 */
  3482. SUNXI_FUNCTION(0x4, "uart4"), /* RX */
  3483. SUNXI_FUNCTION(0x5, "csi0")), /* D15 */
  3484. /* Hole */
  3485. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH0,
  3486. SUNXI_FUNCTION(0x0, "gpio_in"),
  3487. SUNXI_FUNCTION(0x1, "gpio_out"),
  3488. SUNXI_FUNCTION(0x2, "lcd1"), /* D0 */
  3489. SUNXI_FUNCTION(0x4, "uart3"), /* TX */
  3490. SUNXI_FUNCTION_IRQ(0x6, 0), /* EINT0 */
  3491. SUNXI_FUNCTION(0x7, "csi1")), /* D0 */
  3492. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH1,
  3493. SUNXI_FUNCTION(0x0, "gpio_in"),
  3494. SUNXI_FUNCTION(0x1, "gpio_out"),
  3495. SUNXI_FUNCTION(0x2, "lcd1"), /* D1 */
  3496. SUNXI_FUNCTION(0x4, "uart3"), /* RX */
  3497. SUNXI_FUNCTION_IRQ(0x6, 1), /* EINT1 */
  3498. SUNXI_FUNCTION(0x7, "csi1")), /* D1 */
  3499. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH2,
  3500. SUNXI_FUNCTION(0x0, "gpio_in"),
  3501. SUNXI_FUNCTION(0x1, "gpio_out"),
  3502. SUNXI_FUNCTION(0x2, "lcd1"), /* D2 */
  3503. SUNXI_FUNCTION(0x4, "uart3"), /* RTS */
  3504. SUNXI_FUNCTION_IRQ(0x6, 2), /* EINT2 */
  3505. SUNXI_FUNCTION(0x7, "csi1")), /* D2 */
  3506. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH3,
  3507. SUNXI_FUNCTION(0x0, "gpio_in"),
  3508. SUNXI_FUNCTION(0x1, "gpio_out"),
  3509. SUNXI_FUNCTION(0x2, "lcd1"), /* D3 */
  3510. SUNXI_FUNCTION(0x4, "uart3"), /* CTS */
  3511. SUNXI_FUNCTION_IRQ(0x6, 3), /* EINT3 */
  3512. SUNXI_FUNCTION(0x7, "csi1")), /* D3 */
  3513. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH4,
  3514. SUNXI_FUNCTION(0x0, "gpio_in"),
  3515. SUNXI_FUNCTION(0x1, "gpio_out"),
  3516. SUNXI_FUNCTION(0x2, "lcd1"), /* D4 */
  3517. SUNXI_FUNCTION(0x4, "uart4"), /* TX */
  3518. SUNXI_FUNCTION_IRQ(0x6, 4), /* EINT4 */
  3519. SUNXI_FUNCTION(0x7, "csi1")), /* D4 */
  3520. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH5,
  3521. SUNXI_FUNCTION(0x0, "gpio_in"),
  3522. SUNXI_FUNCTION(0x1, "gpio_out"),
  3523. SUNXI_FUNCTION(0x2, "lcd1"), /* D5 */
  3524. SUNXI_FUNCTION(0x4, "uart4"), /* RX */
  3525. SUNXI_FUNCTION_IRQ(0x6, 5), /* EINT5 */
  3526. SUNXI_FUNCTION(0x7, "csi1")), /* D5 */
  3527. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH6,
  3528. SUNXI_FUNCTION(0x0, "gpio_in"),
  3529. SUNXI_FUNCTION(0x1, "gpio_out"),
  3530. SUNXI_FUNCTION(0x2, "lcd1"), /* D6 */
  3531. SUNXI_FUNCTION(0x4, "uart5"), /* TX */
  3532. SUNXI_FUNCTION(0x5, "ms"), /* BS */
  3533. SUNXI_FUNCTION_IRQ(0x6, 6), /* EINT6 */
  3534. SUNXI_FUNCTION(0x7, "csi1")), /* D6 */
  3535. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH7,
  3536. SUNXI_FUNCTION(0x0, "gpio_in"),
  3537. SUNXI_FUNCTION(0x1, "gpio_out"),
  3538. SUNXI_FUNCTION(0x2, "lcd1"), /* D7 */
  3539. SUNXI_FUNCTION(0x4, "uart5"), /* RX */
  3540. SUNXI_FUNCTION(0x5, "ms"), /* CLK */
  3541. SUNXI_FUNCTION_IRQ(0x6, 7), /* EINT7 */
  3542. SUNXI_FUNCTION(0x7, "csi1")), /* D7 */
  3543. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH8,
  3544. SUNXI_FUNCTION(0x0, "gpio_in"),
  3545. SUNXI_FUNCTION(0x1, "gpio_out"),
  3546. SUNXI_FUNCTION(0x2, "lcd1"), /* D8 */
  3547. SUNXI_FUNCTION(0x3, "emac"), /* ERXD3 */
  3548. SUNXI_FUNCTION(0x4, "keypad"), /* IN0 */
  3549. SUNXI_FUNCTION(0x5, "ms"), /* D0 */
  3550. SUNXI_FUNCTION_IRQ(0x6, 8), /* EINT8 */
  3551. SUNXI_FUNCTION(0x7, "csi1")), /* D8 */
  3552. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH9,
  3553. SUNXI_FUNCTION(0x0, "gpio_in"),
  3554. SUNXI_FUNCTION(0x1, "gpio_out"),
  3555. SUNXI_FUNCTION(0x2, "lcd1"), /* D9 */
  3556. SUNXI_FUNCTION(0x3, "emac"), /* ERXD2 */
  3557. SUNXI_FUNCTION(0x4, "keypad"), /* IN1 */
  3558. SUNXI_FUNCTION(0x5, "ms"), /* D1 */
  3559. SUNXI_FUNCTION_IRQ(0x6, 9), /* EINT9 */
  3560. SUNXI_FUNCTION(0x7, "csi1")), /* D9 */
  3561. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH10,
  3562. SUNXI_FUNCTION(0x0, "gpio_in"),
  3563. SUNXI_FUNCTION(0x1, "gpio_out"),
  3564. SUNXI_FUNCTION(0x2, "lcd1"), /* D10 */
  3565. SUNXI_FUNCTION(0x3, "emac"), /* ERXD1 */
  3566. SUNXI_FUNCTION(0x4, "keypad"), /* IN2 */
  3567. SUNXI_FUNCTION(0x5, "ms"), /* D2 */
  3568. SUNXI_FUNCTION_IRQ(0x6, 10), /* EINT10 */
  3569. SUNXI_FUNCTION(0x7, "csi1")), /* D10 */
  3570. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH11,
  3571. SUNXI_FUNCTION(0x0, "gpio_in"),
  3572. SUNXI_FUNCTION(0x1, "gpio_out"),
  3573. SUNXI_FUNCTION(0x2, "lcd1"), /* D11 */
  3574. SUNXI_FUNCTION(0x3, "emac"), /* ERXD0 */
  3575. SUNXI_FUNCTION(0x4, "keypad"), /* IN3 */
  3576. SUNXI_FUNCTION(0x5, "ms"), /* D3 */
  3577. SUNXI_FUNCTION_IRQ(0x6, 11), /* EINT11 */
  3578. SUNXI_FUNCTION(0x7, "csi1")), /* D11 */
  3579. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH12,
  3580. SUNXI_FUNCTION(0x0, "gpio_in"),
  3581. SUNXI_FUNCTION(0x1, "gpio_out"),
  3582. SUNXI_FUNCTION(0x2, "lcd1"), /* D12 */
  3583. SUNXI_FUNCTION(0x4, "ps2"), /* SCK1 */
  3584. SUNXI_FUNCTION_IRQ(0x6, 12), /* EINT12 */
  3585. SUNXI_FUNCTION(0x7, "csi1")), /* D12 */
  3586. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH13,
  3587. SUNXI_FUNCTION(0x0, "gpio_in"),
  3588. SUNXI_FUNCTION(0x1, "gpio_out"),
  3589. SUNXI_FUNCTION(0x2, "lcd1"), /* D13 */
  3590. SUNXI_FUNCTION(0x4, "ps2"), /* SDA1 */
  3591. SUNXI_FUNCTION(0x5, "sim"), /* RST */
  3592. SUNXI_FUNCTION_IRQ(0x6, 13), /* EINT13 */
  3593. SUNXI_FUNCTION(0x7, "csi1")), /* D13 */
  3594. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH14,
  3595. SUNXI_FUNCTION(0x0, "gpio_in"),
  3596. SUNXI_FUNCTION(0x1, "gpio_out"),
  3597. SUNXI_FUNCTION(0x2, "lcd1"), /* D14 */
  3598. SUNXI_FUNCTION(0x3, "emac"), /* ETXD3 */
  3599. SUNXI_FUNCTION(0x4, "keypad"), /* IN4 */
  3600. SUNXI_FUNCTION(0x5, "sim"), /* VPPEN */
  3601. SUNXI_FUNCTION_IRQ(0x6, 14), /* EINT14 */
  3602. SUNXI_FUNCTION(0x7, "csi1")), /* D14 */
  3603. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH15,
  3604. SUNXI_FUNCTION(0x0, "gpio_in"),
  3605. SUNXI_FUNCTION(0x1, "gpio_out"),
  3606. SUNXI_FUNCTION(0x2, "lcd1"), /* D15 */
  3607. SUNXI_FUNCTION(0x3, "emac"), /* ETXD3 */
  3608. SUNXI_FUNCTION(0x4, "keypad"), /* IN5 */
  3609. SUNXI_FUNCTION(0x5, "sim"), /* VPPPP */
  3610. SUNXI_FUNCTION_IRQ(0x6, 15), /* EINT15 */
  3611. SUNXI_FUNCTION(0x7, "csi1")), /* D15 */
  3612. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH16,
  3613. SUNXI_FUNCTION(0x0, "gpio_in"),
  3614. SUNXI_FUNCTION(0x1, "gpio_out"),
  3615. SUNXI_FUNCTION(0x2, "lcd1"), /* D16 */
  3616. SUNXI_FUNCTION(0x3, "emac"), /* ETXD2 */
  3617. SUNXI_FUNCTION(0x4, "keypad"), /* IN6 */
  3618. SUNXI_FUNCTION_IRQ(0x6, 16), /* EINT16 */
  3619. SUNXI_FUNCTION(0x7, "csi1")), /* D16 */
  3620. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH17,
  3621. SUNXI_FUNCTION(0x0, "gpio_in"),
  3622. SUNXI_FUNCTION(0x1, "gpio_out"),
  3623. SUNXI_FUNCTION(0x2, "lcd1"), /* D17 */
  3624. SUNXI_FUNCTION(0x3, "emac"), /* ETXD1 */
  3625. SUNXI_FUNCTION(0x4, "keypad"), /* IN7 */
  3626. SUNXI_FUNCTION(0x5, "sim"), /* VCCEN */
  3627. SUNXI_FUNCTION_IRQ(0x6, 17), /* EINT17 */
  3628. SUNXI_FUNCTION(0x7, "csi1")), /* D17 */
  3629. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH18,
  3630. SUNXI_FUNCTION(0x0, "gpio_in"),
  3631. SUNXI_FUNCTION(0x1, "gpio_out"),
  3632. SUNXI_FUNCTION(0x2, "lcd1"), /* D18 */
  3633. SUNXI_FUNCTION(0x3, "emac"), /* ETXD0 */
  3634. SUNXI_FUNCTION(0x4, "keypad"), /* OUT0 */
  3635. SUNXI_FUNCTION(0x5, "sim"), /* SCK */
  3636. SUNXI_FUNCTION_IRQ(0x6, 18), /* EINT18 */
  3637. SUNXI_FUNCTION(0x7, "csi1")), /* D18 */
  3638. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH19,
  3639. SUNXI_FUNCTION(0x0, "gpio_in"),
  3640. SUNXI_FUNCTION(0x1, "gpio_out"),
  3641. SUNXI_FUNCTION(0x2, "lcd1"), /* D19 */
  3642. SUNXI_FUNCTION(0x3, "emac"), /* ERXERR */
  3643. SUNXI_FUNCTION(0x4, "keypad"), /* OUT1 */
  3644. SUNXI_FUNCTION(0x5, "sim"), /* SDA */
  3645. SUNXI_FUNCTION_IRQ(0x6, 19), /* EINT19 */
  3646. SUNXI_FUNCTION(0x7, "csi1")), /* D19 */
  3647. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH20,
  3648. SUNXI_FUNCTION(0x0, "gpio_in"),
  3649. SUNXI_FUNCTION(0x1, "gpio_out"),
  3650. SUNXI_FUNCTION(0x2, "lcd1"), /* D20 */
  3651. SUNXI_FUNCTION(0x3, "emac"), /* ERXDV */
  3652. SUNXI_FUNCTION(0x4, "can"), /* TX */
  3653. SUNXI_FUNCTION_IRQ(0x6, 20), /* EINT20 */
  3654. SUNXI_FUNCTION(0x7, "csi1")), /* D20 */
  3655. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH21,
  3656. SUNXI_FUNCTION(0x0, "gpio_in"),
  3657. SUNXI_FUNCTION(0x1, "gpio_out"),
  3658. SUNXI_FUNCTION(0x2, "lcd1"), /* D21 */
  3659. SUNXI_FUNCTION(0x3, "emac"), /* EMDC */
  3660. SUNXI_FUNCTION(0x4, "can"), /* RX */
  3661. SUNXI_FUNCTION_IRQ(0x6, 21), /* EINT21 */
  3662. SUNXI_FUNCTION(0x7, "csi1")), /* D21 */
  3663. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH22,
  3664. SUNXI_FUNCTION(0x0, "gpio_in"),
  3665. SUNXI_FUNCTION(0x1, "gpio_out"),
  3666. SUNXI_FUNCTION(0x2, "lcd1"), /* D22 */
  3667. SUNXI_FUNCTION(0x3, "emac"), /* EMDIO */
  3668. SUNXI_FUNCTION(0x4, "keypad"), /* OUT2 */
  3669. SUNXI_FUNCTION(0x5, "mmc1"), /* CMD */
  3670. SUNXI_FUNCTION(0x7, "csi1")), /* D22 */
  3671. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH23,
  3672. SUNXI_FUNCTION(0x0, "gpio_in"),
  3673. SUNXI_FUNCTION(0x1, "gpio_out"),
  3674. SUNXI_FUNCTION(0x2, "lcd1"), /* D23 */
  3675. SUNXI_FUNCTION(0x3, "emac"), /* ETXEN */
  3676. SUNXI_FUNCTION(0x4, "keypad"), /* OUT3 */
  3677. SUNXI_FUNCTION(0x5, "mmc1"), /* CLK */
  3678. SUNXI_FUNCTION(0x7, "csi1")), /* D23 */
  3679. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH24,
  3680. SUNXI_FUNCTION(0x0, "gpio_in"),
  3681. SUNXI_FUNCTION(0x1, "gpio_out"),
  3682. SUNXI_FUNCTION(0x2, "lcd1"), /* CLK */
  3683. SUNXI_FUNCTION(0x3, "emac"), /* ETXCK */
  3684. SUNXI_FUNCTION(0x4, "keypad"), /* OUT4 */
  3685. SUNXI_FUNCTION(0x5, "mmc1"), /* D0 */
  3686. SUNXI_FUNCTION(0x7, "csi1")), /* PCLK */
  3687. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH25,
  3688. SUNXI_FUNCTION(0x0, "gpio_in"),
  3689. SUNXI_FUNCTION(0x1, "gpio_out"),
  3690. SUNXI_FUNCTION(0x2, "lcd1"), /* DE */
  3691. SUNXI_FUNCTION(0x3, "emac"), /* ECRS */
  3692. SUNXI_FUNCTION(0x4, "keypad"), /* OUT5 */
  3693. SUNXI_FUNCTION(0x5, "mmc1"), /* D1 */
  3694. SUNXI_FUNCTION(0x7, "csi1")), /* FIELD */
  3695. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH26,
  3696. SUNXI_FUNCTION(0x0, "gpio_in"),
  3697. SUNXI_FUNCTION(0x1, "gpio_out"),
  3698. SUNXI_FUNCTION(0x2, "lcd1"), /* HSYNC */
  3699. SUNXI_FUNCTION(0x3, "emac"), /* ECOL */
  3700. SUNXI_FUNCTION(0x4, "keypad"), /* OUT6 */
  3701. SUNXI_FUNCTION(0x5, "mmc1"), /* D2 */
  3702. SUNXI_FUNCTION(0x7, "csi1")), /* HSYNC */
  3703. SUNXI_PIN(SUNXI_PINCTRL_PIN_PH27,
  3704. SUNXI_FUNCTION(0x0, "gpio_in"),
  3705. SUNXI_FUNCTION(0x1, "gpio_out"),
  3706. SUNXI_FUNCTION(0x2, "lcd1"), /* VSYNC */
  3707. SUNXI_FUNCTION(0x3, "emac"), /* ETXERR */
  3708. SUNXI_FUNCTION(0x4, "keypad"), /* OUT7 */
  3709. SUNXI_FUNCTION(0x5, "mmc1"), /* D3 */
  3710. SUNXI_FUNCTION(0x7, "csi1")), /* VSYNC */
  3711. /* Hole */
  3712. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI0,
  3713. SUNXI_FUNCTION(0x0, "gpio_in"),
  3714. SUNXI_FUNCTION(0x1, "gpio_out"),
  3715. SUNXI_FUNCTION(0x3, "i2c3")), /* SCK */
  3716. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI1,
  3717. SUNXI_FUNCTION(0x0, "gpio_in"),
  3718. SUNXI_FUNCTION(0x1, "gpio_out"),
  3719. SUNXI_FUNCTION(0x3, "i2c3")), /* SDA */
  3720. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI2,
  3721. SUNXI_FUNCTION(0x0, "gpio_in"),
  3722. SUNXI_FUNCTION(0x1, "gpio_out"),
  3723. SUNXI_FUNCTION(0x3, "i2c4")), /* SCK */
  3724. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI3,
  3725. SUNXI_FUNCTION(0x0, "gpio_in"),
  3726. SUNXI_FUNCTION(0x1, "gpio_out"),
  3727. SUNXI_FUNCTION(0x2, "pwm"), /* PWM1 */
  3728. SUNXI_FUNCTION(0x3, "i2c4")), /* SDA */
  3729. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI4,
  3730. SUNXI_FUNCTION(0x0, "gpio_in"),
  3731. SUNXI_FUNCTION(0x1, "gpio_out"),
  3732. SUNXI_FUNCTION(0x2, "mmc3")), /* CMD */
  3733. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI5,
  3734. SUNXI_FUNCTION(0x0, "gpio_in"),
  3735. SUNXI_FUNCTION(0x1, "gpio_out"),
  3736. SUNXI_FUNCTION(0x2, "mmc3")), /* CLK */
  3737. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI6,
  3738. SUNXI_FUNCTION(0x0, "gpio_in"),
  3739. SUNXI_FUNCTION(0x1, "gpio_out"),
  3740. SUNXI_FUNCTION(0x2, "mmc3")), /* D0 */
  3741. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI7,
  3742. SUNXI_FUNCTION(0x0, "gpio_in"),
  3743. SUNXI_FUNCTION(0x1, "gpio_out"),
  3744. SUNXI_FUNCTION(0x2, "mmc3")), /* D1 */
  3745. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI8,
  3746. SUNXI_FUNCTION(0x0, "gpio_in"),
  3747. SUNXI_FUNCTION(0x1, "gpio_out"),
  3748. SUNXI_FUNCTION(0x2, "mmc3")), /* D2 */
  3749. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI9,
  3750. SUNXI_FUNCTION(0x0, "gpio_in"),
  3751. SUNXI_FUNCTION(0x1, "gpio_out"),
  3752. SUNXI_FUNCTION(0x2, "mmc3")), /* D3 */
  3753. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI10,
  3754. SUNXI_FUNCTION(0x0, "gpio_in"),
  3755. SUNXI_FUNCTION(0x1, "gpio_out"),
  3756. SUNXI_FUNCTION(0x2, "spi0"), /* CS0 */
  3757. SUNXI_FUNCTION(0x3, "uart5"), /* TX */
  3758. SUNXI_FUNCTION_IRQ(0x5, 22)), /* EINT22 */
  3759. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI11,
  3760. SUNXI_FUNCTION(0x0, "gpio_in"),
  3761. SUNXI_FUNCTION(0x1, "gpio_out"),
  3762. SUNXI_FUNCTION(0x2, "spi0"), /* CLK */
  3763. SUNXI_FUNCTION(0x3, "uart5"), /* RX */
  3764. SUNXI_FUNCTION_IRQ(0x5, 23)), /* EINT23 */
  3765. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI12,
  3766. SUNXI_FUNCTION(0x0, "gpio_in"),
  3767. SUNXI_FUNCTION(0x1, "gpio_out"),
  3768. SUNXI_FUNCTION(0x2, "spi0"), /* MOSI */
  3769. SUNXI_FUNCTION(0x3, "uart6"), /* TX */
  3770. SUNXI_FUNCTION_IRQ(0x5, 24)), /* EINT24 */
  3771. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI13,
  3772. SUNXI_FUNCTION(0x0, "gpio_in"),
  3773. SUNXI_FUNCTION(0x1, "gpio_out"),
  3774. SUNXI_FUNCTION(0x2, "spi0"), /* MISO */
  3775. SUNXI_FUNCTION(0x3, "uart6"), /* RX */
  3776. SUNXI_FUNCTION_IRQ(0x5, 25)), /* EINT25 */
  3777. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI14,
  3778. SUNXI_FUNCTION(0x0, "gpio_in"),
  3779. SUNXI_FUNCTION(0x1, "gpio_out"),
  3780. SUNXI_FUNCTION(0x2, "spi0"), /* CS1 */
  3781. SUNXI_FUNCTION(0x3, "ps2"), /* SCK1 */
  3782. SUNXI_FUNCTION(0x4, "timer4"), /* TCLKIN0 */
  3783. SUNXI_FUNCTION_IRQ(0x5, 26)), /* EINT26 */
  3784. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI15,
  3785. SUNXI_FUNCTION(0x0, "gpio_in"),
  3786. SUNXI_FUNCTION(0x1, "gpio_out"),
  3787. SUNXI_FUNCTION(0x2, "spi1"), /* CS1 */
  3788. SUNXI_FUNCTION(0x3, "ps2"), /* SDA1 */
  3789. SUNXI_FUNCTION(0x4, "timer5"), /* TCLKIN1 */
  3790. SUNXI_FUNCTION_IRQ(0x5, 27)), /* EINT27 */
  3791. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI16,
  3792. SUNXI_FUNCTION(0x0, "gpio_in"),
  3793. SUNXI_FUNCTION(0x1, "gpio_out"),
  3794. SUNXI_FUNCTION(0x2, "spi1"), /* CS0 */
  3795. SUNXI_FUNCTION(0x3, "uart2"), /* RTS */
  3796. SUNXI_FUNCTION_IRQ(0x5, 28)), /* EINT28 */
  3797. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI17,
  3798. SUNXI_FUNCTION(0x0, "gpio_in"),
  3799. SUNXI_FUNCTION(0x1, "gpio_out"),
  3800. SUNXI_FUNCTION(0x2, "spi1"), /* CLK */
  3801. SUNXI_FUNCTION(0x3, "uart2"), /* CTS */
  3802. SUNXI_FUNCTION_IRQ(0x5, 29)), /* EINT29 */
  3803. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI18,
  3804. SUNXI_FUNCTION(0x0, "gpio_in"),
  3805. SUNXI_FUNCTION(0x1, "gpio_out"),
  3806. SUNXI_FUNCTION(0x2, "spi1"), /* MOSI */
  3807. SUNXI_FUNCTION(0x3, "uart2"), /* TX */
  3808. SUNXI_FUNCTION_IRQ(0x5, 30)), /* EINT30 */
  3809. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI19,
  3810. SUNXI_FUNCTION(0x0, "gpio_in"),
  3811. SUNXI_FUNCTION(0x1, "gpio_out"),
  3812. SUNXI_FUNCTION(0x2, "spi1"), /* MISO */
  3813. SUNXI_FUNCTION(0x3, "uart2"), /* RX */
  3814. SUNXI_FUNCTION_IRQ(0x5, 31)), /* EINT31 */
  3815. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI20,
  3816. SUNXI_FUNCTION(0x0, "gpio_in"),
  3817. SUNXI_FUNCTION(0x1, "gpio_out"),
  3818. SUNXI_FUNCTION(0x2, "ps2"), /* SCK0 */
  3819. SUNXI_FUNCTION(0x3, "uart7"), /* TX */
  3820. SUNXI_FUNCTION(0x4, "hdmi")), /* HSCL */
  3821. SUNXI_PIN(SUNXI_PINCTRL_PIN_PI21,
  3822. SUNXI_FUNCTION(0x0, "gpio_in"),
  3823. SUNXI_FUNCTION(0x1, "gpio_out"),
  3824. SUNXI_FUNCTION(0x2, "ps2"), /* SDA0 */
  3825. SUNXI_FUNCTION(0x3, "uart7"), /* RX */
  3826. SUNXI_FUNCTION(0x4, "hdmi")), /* HSDA */
  3827. };
  3828. static const struct sunxi_pinctrl_desc sun4i_a10_pinctrl_data = {
  3829. .pins = sun4i_a10_pins,
  3830. .npins = ARRAY_SIZE(sun4i_a10_pins),
  3831. };
  3832. static const struct sunxi_pinctrl_desc sun5i_a10s_pinctrl_data = {
  3833. .pins = sun5i_a10s_pins,
  3834. .npins = ARRAY_SIZE(sun5i_a10s_pins),
  3835. };
  3836. static const struct sunxi_pinctrl_desc sun5i_a13_pinctrl_data = {
  3837. .pins = sun5i_a13_pins,
  3838. .npins = ARRAY_SIZE(sun5i_a13_pins),
  3839. };
  3840. static const struct sunxi_pinctrl_desc sun6i_a31_pinctrl_data = {
  3841. .pins = sun6i_a31_pins,
  3842. .npins = ARRAY_SIZE(sun6i_a31_pins),
  3843. };
  3844. static const struct sunxi_pinctrl_desc sun7i_a20_pinctrl_data = {
  3845. .pins = sun7i_a20_pins,
  3846. .npins = ARRAY_SIZE(sun7i_a20_pins),
  3847. };
  3848. #endif /* __PINCTRL_SUNXI_PINS_H */