pinctrl-aspeed-g6.c 91 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /* Copyright (C) 2019 IBM Corp. */
  3. #include <linux/bitops.h>
  4. #include <linux/init.h>
  5. #include <linux/io.h>
  6. #include <linux/kernel.h>
  7. #include <linux/mod_devicetable.h>
  8. #include <linux/platform_device.h>
  9. #include <linux/pinctrl/pinctrl.h>
  10. #include <linux/pinctrl/pinmux.h>
  11. #include <linux/types.h>
  12. #include "../core.h"
  13. #include "../pinctrl-utils.h"
  14. #include "pinctrl-aspeed.h"
  15. #define SCU040 0x040 /* Reset Control Set 1 */
  16. #define SCU400 0x400 /* Multi-function Pin Control #1 */
  17. #define SCU404 0x404 /* Multi-function Pin Control #2 */
  18. #define SCU40C 0x40C /* Multi-function Pin Control #3 */
  19. #define SCU410 0x410 /* Multi-function Pin Control #4 */
  20. #define SCU414 0x414 /* Multi-function Pin Control #5 */
  21. #define SCU418 0x418 /* Multi-function Pin Control #6 */
  22. #define SCU41C 0x41C /* Multi-function Pin Control #7 */
  23. #define SCU430 0x430 /* Multi-function Pin Control #8 */
  24. #define SCU434 0x434 /* Multi-function Pin Control #9 */
  25. #define SCU438 0x438 /* Multi-function Pin Control #10 */
  26. #define SCU440 0x440 /* USB Multi-function Pin Control #12 */
  27. #define SCU450 0x450 /* Multi-function Pin Control #14 */
  28. #define SCU454 0x454 /* Multi-function Pin Control #15 */
  29. #define SCU458 0x458 /* Multi-function Pin Control #16 */
  30. #define SCU4B0 0x4B0 /* Multi-function Pin Control #17 */
  31. #define SCU4B4 0x4B4 /* Multi-function Pin Control #18 */
  32. #define SCU4B8 0x4B8 /* Multi-function Pin Control #19 */
  33. #define SCU4BC 0x4BC /* Multi-function Pin Control #20 */
  34. #define SCU4D4 0x4D4 /* Multi-function Pin Control #22 */
  35. #define SCU4D8 0x4D8 /* Multi-function Pin Control #23 */
  36. #define SCU500 0x500 /* Hardware Strap 1 */
  37. #define SCU510 0x510 /* Hardware Strap 2 */
  38. #define SCU610 0x610 /* Disable GPIO Internal Pull-Down #0 */
  39. #define SCU614 0x614 /* Disable GPIO Internal Pull-Down #1 */
  40. #define SCU618 0x618 /* Disable GPIO Internal Pull-Down #2 */
  41. #define SCU61C 0x61c /* Disable GPIO Internal Pull-Down #3 */
  42. #define SCU630 0x630 /* Disable GPIO Internal Pull-Down #4 */
  43. #define SCU634 0x634 /* Disable GPIO Internal Pull-Down #5 */
  44. #define SCU638 0x638 /* Disable GPIO Internal Pull-Down #6 */
  45. #define SCU690 0x690 /* Multi-function Pin Control #24 */
  46. #define SCU694 0x694 /* Multi-function Pin Control #25 */
  47. #define SCU69C 0x69C /* Multi-function Pin Control #27 */
  48. #define SCU6D0 0x6D0 /* Multi-function Pin Control #29 */
  49. #define SCUC20 0xC20 /* PCIE configuration Setting Control */
  50. #define ASPEED_G6_NR_PINS 258
  51. #define M24 0
  52. SIG_EXPR_LIST_DECL_SESG(M24, MDC3, MDIO3, SIG_DESC_SET(SCU410, 0));
  53. SIG_EXPR_LIST_DECL_SESG(M24, SCL11, I2C11, SIG_DESC_SET(SCU4B0, 0));
  54. PIN_DECL_2(M24, GPIOA0, MDC3, SCL11);
  55. #define M25 1
  56. SIG_EXPR_LIST_DECL_SESG(M25, MDIO3, MDIO3, SIG_DESC_SET(SCU410, 1));
  57. SIG_EXPR_LIST_DECL_SESG(M25, SDA11, I2C11, SIG_DESC_SET(SCU4B0, 1));
  58. PIN_DECL_2(M25, GPIOA1, MDIO3, SDA11);
  59. FUNC_GROUP_DECL(MDIO3, M24, M25);
  60. FUNC_GROUP_DECL(I2C11, M24, M25);
  61. #define L26 2
  62. SIG_EXPR_LIST_DECL_SESG(L26, MDC4, MDIO4, SIG_DESC_SET(SCU410, 2));
  63. SIG_EXPR_LIST_DECL_SESG(L26, SCL12, I2C12, SIG_DESC_SET(SCU4B0, 2));
  64. PIN_DECL_2(L26, GPIOA2, MDC4, SCL12);
  65. #define K24 3
  66. SIG_EXPR_LIST_DECL_SESG(K24, MDIO4, MDIO4, SIG_DESC_SET(SCU410, 3));
  67. SIG_EXPR_LIST_DECL_SESG(K24, SDA12, I2C12, SIG_DESC_SET(SCU4B0, 3));
  68. PIN_DECL_2(K24, GPIOA3, MDIO4, SDA12);
  69. FUNC_GROUP_DECL(MDIO4, L26, K24);
  70. FUNC_GROUP_DECL(I2C12, L26, K24);
  71. #define K26 4
  72. SIG_EXPR_LIST_DECL_SESG(K26, MACLINK1, MACLINK1, SIG_DESC_SET(SCU410, 4));
  73. SIG_EXPR_LIST_DECL_SESG(K26, SCL13, I2C13, SIG_DESC_SET(SCU4B0, 4));
  74. SIG_EXPR_LIST_DECL_SESG(K26, SGPS2CK, SGPS2, SIG_DESC_SET(SCU690, 4));
  75. SIG_EXPR_LIST_DECL_SESG(K26, SGPM2CLK, SGPM2, SIG_DESC_SET(SCU6D0, 4));
  76. PIN_DECL_4(K26, GPIOA4, MACLINK1, SCL13, SGPS2CK, SGPM2CLK);
  77. FUNC_GROUP_DECL(MACLINK1, K26);
  78. #define L24 5
  79. SIG_EXPR_LIST_DECL_SESG(L24, MACLINK2, MACLINK2, SIG_DESC_SET(SCU410, 5));
  80. SIG_EXPR_LIST_DECL_SESG(L24, SDA13, I2C13, SIG_DESC_SET(SCU4B0, 5));
  81. SIG_EXPR_LIST_DECL_SESG(L24, SGPS2LD, SGPS2, SIG_DESC_SET(SCU690, 5));
  82. SIG_EXPR_LIST_DECL_SESG(L24, SGPM2LD, SGPM2, SIG_DESC_SET(SCU6D0, 5));
  83. PIN_DECL_4(L24, GPIOA5, MACLINK2, SDA13, SGPS2LD, SGPM2LD);
  84. FUNC_GROUP_DECL(MACLINK2, L24);
  85. FUNC_GROUP_DECL(I2C13, K26, L24);
  86. #define L23 6
  87. SIG_EXPR_LIST_DECL_SESG(L23, MACLINK3, MACLINK3, SIG_DESC_SET(SCU410, 6));
  88. SIG_EXPR_LIST_DECL_SESG(L23, SCL14, I2C14, SIG_DESC_SET(SCU4B0, 6));
  89. SIG_EXPR_LIST_DECL_SESG(L23, SGPS2O, SGPS2, SIG_DESC_SET(SCU690, 6));
  90. SIG_EXPR_LIST_DECL_SESG(L23, SGPM2O, SGPM2, SIG_DESC_SET(SCU6D0, 6));
  91. PIN_DECL_4(L23, GPIOA6, MACLINK3, SCL14, SGPS2O, SGPM2O);
  92. FUNC_GROUP_DECL(MACLINK3, L23);
  93. #define K25 7
  94. SIG_EXPR_LIST_DECL_SESG(K25, MACLINK4, MACLINK4, SIG_DESC_SET(SCU410, 7));
  95. SIG_EXPR_LIST_DECL_SESG(K25, SDA14, I2C14, SIG_DESC_SET(SCU4B0, 7));
  96. SIG_EXPR_LIST_DECL_SESG(K25, SGPS2I, SGPS2, SIG_DESC_SET(SCU690, 7));
  97. SIG_EXPR_LIST_DECL_SESG(K25, SGPM2I, SGPM2, SIG_DESC_SET(SCU6D0, 7));
  98. PIN_DECL_4(K25, GPIOA7, MACLINK4, SDA14, SGPS2I, SGPM2I);
  99. FUNC_GROUP_DECL(MACLINK4, K25);
  100. FUNC_GROUP_DECL(I2C14, L23, K25);
  101. FUNC_GROUP_DECL(SGPM2, K26, L24, L23, K25);
  102. FUNC_GROUP_DECL(SGPS2, K26, L24, L23, K25);
  103. #define J26 8
  104. SIG_EXPR_LIST_DECL_SESG(J26, SALT1, SALT1, SIG_DESC_SET(SCU410, 8));
  105. SIG_EXPR_LIST_DECL_SESG(J26, LHAD0, LPCHC, SIG_DESC_SET(SCU4B0, 8));
  106. PIN_DECL_2(J26, GPIOB0, SALT1, LHAD0);
  107. FUNC_GROUP_DECL(SALT1, J26);
  108. #define K23 9
  109. SIG_EXPR_LIST_DECL_SESG(K23, SALT2, SALT2, SIG_DESC_SET(SCU410, 9));
  110. SIG_EXPR_LIST_DECL_SESG(K23, LHAD1, LPCHC, SIG_DESC_SET(SCU4B0, 9));
  111. PIN_DECL_2(K23, GPIOB1, SALT2, LHAD1);
  112. FUNC_GROUP_DECL(SALT2, K23);
  113. #define H26 10
  114. SIG_EXPR_LIST_DECL_SESG(H26, SALT3, SALT3, SIG_DESC_SET(SCU410, 10));
  115. SIG_EXPR_LIST_DECL_SESG(H26, LHAD2, LPCHC, SIG_DESC_SET(SCU4B0, 10));
  116. PIN_DECL_2(H26, GPIOB2, SALT3, LHAD2);
  117. FUNC_GROUP_DECL(SALT3, H26);
  118. #define J25 11
  119. SIG_EXPR_LIST_DECL_SESG(J25, SALT4, SALT4, SIG_DESC_SET(SCU410, 11));
  120. SIG_EXPR_LIST_DECL_SESG(J25, LHAD3, LPCHC, SIG_DESC_SET(SCU4B0, 11));
  121. PIN_DECL_2(J25, GPIOB3, SALT4, LHAD3);
  122. FUNC_GROUP_DECL(SALT4, J25);
  123. #define J23 12
  124. SIG_EXPR_LIST_DECL_SESG(J23, MDC2, MDIO2, SIG_DESC_SET(SCU410, 12));
  125. SIG_EXPR_LIST_DECL_SESG(J23, LHCLK, LPCHC, SIG_DESC_SET(SCU4B0, 12));
  126. PIN_DECL_2(J23, GPIOB4, MDC2, LHCLK);
  127. #define G26 13
  128. SIG_EXPR_LIST_DECL_SESG(G26, MDIO2, MDIO2, SIG_DESC_SET(SCU410, 13));
  129. SIG_EXPR_LIST_DECL_SESG(G26, LHFRAME, LPCHC, SIG_DESC_SET(SCU4B0, 13));
  130. PIN_DECL_2(G26, GPIOB5, MDIO2, LHFRAME);
  131. FUNC_GROUP_DECL(MDIO2, J23, G26);
  132. #define H25 14
  133. SIG_EXPR_LIST_DECL_SESG(H25, TXD4, TXD4, SIG_DESC_SET(SCU410, 14));
  134. SIG_EXPR_LIST_DECL_SESG(H25, LHSIRQ, LHSIRQ, SIG_DESC_SET(SCU4B0, 14));
  135. PIN_DECL_2(H25, GPIOB6, TXD4, LHSIRQ);
  136. FUNC_GROUP_DECL(TXD4, H25);
  137. FUNC_GROUP_DECL(LHSIRQ, H25);
  138. #define J24 15
  139. SIG_EXPR_LIST_DECL_SESG(J24, RXD4, RXD4, SIG_DESC_SET(SCU410, 15));
  140. SIG_EXPR_LIST_DECL_SESG(J24, LHRST, LPCHC, SIG_DESC_SET(SCU4B0, 15));
  141. PIN_DECL_2(J24, GPIOB7, RXD4, LHRST);
  142. FUNC_GROUP_DECL(RXD4, J24);
  143. FUNC_GROUP_DECL(LPCHC, J26, K23, H26, J25, J23, G26, H25, J24);
  144. #define H24 16
  145. SIG_EXPR_LIST_DECL_SESG(H24, RGMII3TXCK, RGMII3, SIG_DESC_SET(SCU410, 16),
  146. SIG_DESC_SET(SCU510, 0));
  147. SIG_EXPR_LIST_DECL_SESG(H24, RMII3RCLKO, RMII3, SIG_DESC_SET(SCU410, 16),
  148. SIG_DESC_CLEAR(SCU510, 0));
  149. PIN_DECL_2(H24, GPIOC0, RGMII3TXCK, RMII3RCLKO);
  150. #define J22 17
  151. SIG_EXPR_LIST_DECL_SESG(J22, RGMII3TXCTL, RGMII3, SIG_DESC_SET(SCU410, 17),
  152. SIG_DESC_SET(SCU510, 0));
  153. SIG_EXPR_LIST_DECL_SESG(J22, RMII3TXEN, RMII3, SIG_DESC_SET(SCU410, 17),
  154. SIG_DESC_CLEAR(SCU510, 0));
  155. PIN_DECL_2(J22, GPIOC1, RGMII3TXCTL, RMII3TXEN);
  156. #define H22 18
  157. SIG_EXPR_LIST_DECL_SESG(H22, RGMII3TXD0, RGMII3, SIG_DESC_SET(SCU410, 18),
  158. SIG_DESC_SET(SCU510, 0));
  159. SIG_EXPR_LIST_DECL_SESG(H22, RMII3TXD0, RMII3, SIG_DESC_SET(SCU410, 18),
  160. SIG_DESC_CLEAR(SCU510, 0));
  161. PIN_DECL_2(H22, GPIOC2, RGMII3TXD0, RMII3TXD0);
  162. #define H23 19
  163. SIG_EXPR_LIST_DECL_SESG(H23, RGMII3TXD1, RGMII3, SIG_DESC_SET(SCU410, 19),
  164. SIG_DESC_SET(SCU510, 0));
  165. SIG_EXPR_LIST_DECL_SESG(H23, RMII3TXD1, RMII3, SIG_DESC_SET(SCU410, 19),
  166. SIG_DESC_CLEAR(SCU510, 0));
  167. PIN_DECL_2(H23, GPIOC3, RGMII3TXD1, RMII3TXD1);
  168. #define G22 20
  169. SIG_EXPR_LIST_DECL_SESG(G22, RGMII3TXD2, RGMII3, SIG_DESC_SET(SCU410, 20),
  170. SIG_DESC_SET(SCU510, 0));
  171. PIN_DECL_1(G22, GPIOC4, RGMII3TXD2);
  172. #define F22 21
  173. SIG_EXPR_LIST_DECL_SESG(F22, RGMII3TXD3, RGMII3, SIG_DESC_SET(SCU410, 21),
  174. SIG_DESC_SET(SCU510, 0));
  175. PIN_DECL_1(F22, GPIOC5, RGMII3TXD3);
  176. #define G23 22
  177. SIG_EXPR_LIST_DECL_SESG(G23, RGMII3RXCK, RGMII3, SIG_DESC_SET(SCU410, 22),
  178. SIG_DESC_SET(SCU510, 0));
  179. SIG_EXPR_LIST_DECL_SESG(G23, RMII3RCLKI, RMII3, SIG_DESC_SET(SCU410, 22),
  180. SIG_DESC_CLEAR(SCU510, 0));
  181. PIN_DECL_2(G23, GPIOC6, RGMII3RXCK, RMII3RCLKI);
  182. #define G24 23
  183. SIG_EXPR_LIST_DECL_SESG(G24, RGMII3RXCTL, RGMII3, SIG_DESC_SET(SCU410, 23),
  184. SIG_DESC_SET(SCU510, 0));
  185. PIN_DECL_1(G24, GPIOC7, RGMII3RXCTL);
  186. #define F23 24
  187. SIG_EXPR_LIST_DECL_SESG(F23, RGMII3RXD0, RGMII3, SIG_DESC_SET(SCU410, 24),
  188. SIG_DESC_SET(SCU510, 0));
  189. SIG_EXPR_LIST_DECL_SESG(F23, RMII3RXD0, RMII3, SIG_DESC_SET(SCU410, 24),
  190. SIG_DESC_CLEAR(SCU510, 0));
  191. PIN_DECL_2(F23, GPIOD0, RGMII3RXD0, RMII3RXD0);
  192. #define F26 25
  193. SIG_EXPR_LIST_DECL_SESG(F26, RGMII3RXD1, RGMII3, SIG_DESC_SET(SCU410, 25),
  194. SIG_DESC_SET(SCU510, 0));
  195. SIG_EXPR_LIST_DECL_SESG(F26, RMII3RXD1, RMII3, SIG_DESC_SET(SCU410, 25),
  196. SIG_DESC_CLEAR(SCU510, 0));
  197. PIN_DECL_2(F26, GPIOD1, RGMII3RXD1, RMII3RXD1);
  198. #define F25 26
  199. SIG_EXPR_LIST_DECL_SESG(F25, RGMII3RXD2, RGMII3, SIG_DESC_SET(SCU410, 26),
  200. SIG_DESC_SET(SCU510, 0));
  201. SIG_EXPR_LIST_DECL_SESG(F25, RMII3CRSDV, RMII3, SIG_DESC_SET(SCU410, 26),
  202. SIG_DESC_CLEAR(SCU510, 0));
  203. PIN_DECL_2(F25, GPIOD2, RGMII3RXD2, RMII3CRSDV);
  204. #define E26 27
  205. SIG_EXPR_LIST_DECL_SESG(E26, RGMII3RXD3, RGMII3, SIG_DESC_SET(SCU410, 27),
  206. SIG_DESC_SET(SCU510, 0));
  207. SIG_EXPR_LIST_DECL_SESG(E26, RMII3RXER, RMII3, SIG_DESC_SET(SCU410, 27),
  208. SIG_DESC_CLEAR(SCU510, 0));
  209. PIN_DECL_2(E26, GPIOD3, RGMII3RXD3, RMII3RXER);
  210. FUNC_GROUP_DECL(RGMII3, H24, J22, H22, H23, G22, F22, G23, G24, F23, F26, F25,
  211. E26);
  212. GROUP_DECL(RMII3, H24, J22, H22, H23, G23, F23, F26, F25, E26);
  213. GROUP_DECL(NCSI3, J22, H22, H23, G23, F23, F26, F25, E26);
  214. FUNC_DECL_2(RMII3, RMII3, NCSI3);
  215. #define F24 28
  216. SIG_EXPR_LIST_DECL_SESG(F24, NCTS3, NCTS3, SIG_DESC_SET(SCU410, 28));
  217. SIG_EXPR_LIST_DECL_SESG(F24, RGMII4TXCK, RGMII4, SIG_DESC_SET(SCU4B0, 28),
  218. SIG_DESC_SET(SCU510, 1));
  219. SIG_EXPR_LIST_DECL_SESG(F24, RMII4RCLKO, RMII4, SIG_DESC_SET(SCU4B0, 28),
  220. SIG_DESC_CLEAR(SCU510, 1));
  221. PIN_DECL_3(F24, GPIOD4, NCTS3, RGMII4TXCK, RMII4RCLKO);
  222. FUNC_GROUP_DECL(NCTS3, F24);
  223. #define E23 29
  224. SIG_EXPR_LIST_DECL_SESG(E23, NDCD3, NDCD3, SIG_DESC_SET(SCU410, 29));
  225. SIG_EXPR_LIST_DECL_SESG(E23, RGMII4TXCTL, RGMII4, SIG_DESC_SET(SCU4B0, 29),
  226. SIG_DESC_SET(SCU510, 1));
  227. SIG_EXPR_LIST_DECL_SESG(E23, RMII4TXEN, RMII4, SIG_DESC_SET(SCU4B0, 29),
  228. SIG_DESC_CLEAR(SCU510, 1));
  229. PIN_DECL_3(E23, GPIOD5, NDCD3, RGMII4TXCTL, RMII4TXEN);
  230. FUNC_GROUP_DECL(NDCD3, E23);
  231. #define E24 30
  232. SIG_EXPR_LIST_DECL_SESG(E24, NDSR3, NDSR3, SIG_DESC_SET(SCU410, 30));
  233. SIG_EXPR_LIST_DECL_SESG(E24, RGMII4TXD0, RGMII4, SIG_DESC_SET(SCU4B0, 30),
  234. SIG_DESC_SET(SCU510, 1));
  235. SIG_EXPR_LIST_DECL_SESG(E24, RMII4TXD0, RMII4, SIG_DESC_SET(SCU4B0, 30),
  236. SIG_DESC_CLEAR(SCU510, 1));
  237. PIN_DECL_3(E24, GPIOD6, NDSR3, RGMII4TXD0, RMII4TXD0);
  238. FUNC_GROUP_DECL(NDSR3, E24);
  239. #define E25 31
  240. SIG_EXPR_LIST_DECL_SESG(E25, NRI3, NRI3, SIG_DESC_SET(SCU410, 31));
  241. SIG_EXPR_LIST_DECL_SESG(E25, RGMII4TXD1, RGMII4, SIG_DESC_SET(SCU4B0, 31),
  242. SIG_DESC_SET(SCU510, 1));
  243. SIG_EXPR_LIST_DECL_SESG(E25, RMII4TXD1, RMII4, SIG_DESC_SET(SCU4B0, 31),
  244. SIG_DESC_CLEAR(SCU510, 1));
  245. PIN_DECL_3(E25, GPIOD7, NRI3, RGMII4TXD1, RMII4TXD1);
  246. FUNC_GROUP_DECL(NRI3, E25);
  247. #define D26 32
  248. SIG_EXPR_LIST_DECL_SESG(D26, NDTR3, NDTR3, SIG_DESC_SET(SCU414, 0));
  249. SIG_EXPR_LIST_DECL_SESG(D26, RGMII4TXD2, RGMII4, SIG_DESC_SET(SCU4B4, 0),
  250. SIG_DESC_SET(SCU510, 1));
  251. PIN_DECL_2(D26, GPIOE0, NDTR3, RGMII4TXD2);
  252. FUNC_GROUP_DECL(NDTR3, D26);
  253. #define D24 33
  254. SIG_EXPR_LIST_DECL_SESG(D24, NRTS3, NRTS3, SIG_DESC_SET(SCU414, 1));
  255. SIG_EXPR_LIST_DECL_SESG(D24, RGMII4TXD3, RGMII4, SIG_DESC_SET(SCU4B4, 1),
  256. SIG_DESC_SET(SCU510, 1));
  257. PIN_DECL_2(D24, GPIOE1, NRTS3, RGMII4TXD3);
  258. FUNC_GROUP_DECL(NRTS3, D24);
  259. #define C25 34
  260. SIG_EXPR_LIST_DECL_SESG(C25, NCTS4, NCTS4, SIG_DESC_SET(SCU414, 2));
  261. SIG_EXPR_LIST_DECL_SESG(C25, RGMII4RXCK, RGMII4, SIG_DESC_SET(SCU4B4, 2),
  262. SIG_DESC_SET(SCU510, 1));
  263. SIG_EXPR_LIST_DECL_SESG(C25, RMII4RCLKI, RMII4, SIG_DESC_SET(SCU4B4, 2),
  264. SIG_DESC_CLEAR(SCU510, 1));
  265. PIN_DECL_3(C25, GPIOE2, NCTS4, RGMII4RXCK, RMII4RCLKI);
  266. FUNC_GROUP_DECL(NCTS4, C25);
  267. #define C26 35
  268. SIG_EXPR_LIST_DECL_SESG(C26, NDCD4, NDCD4, SIG_DESC_SET(SCU414, 3));
  269. SIG_EXPR_LIST_DECL_SESG(C26, RGMII4RXCTL, RGMII4, SIG_DESC_SET(SCU4B4, 3),
  270. SIG_DESC_SET(SCU510, 1));
  271. PIN_DECL_2(C26, GPIOE3, NDCD4, RGMII4RXCTL);
  272. FUNC_GROUP_DECL(NDCD4, C26);
  273. #define C24 36
  274. SIG_EXPR_LIST_DECL_SESG(C24, NDSR4, NDSR4, SIG_DESC_SET(SCU414, 4));
  275. SIG_EXPR_LIST_DECL_SESG(C24, RGMII4RXD0, RGMII4, SIG_DESC_SET(SCU4B4, 4),
  276. SIG_DESC_SET(SCU510, 1));
  277. SIG_EXPR_LIST_DECL_SESG(C24, RMII4RXD0, RMII4, SIG_DESC_SET(SCU4B4, 4),
  278. SIG_DESC_CLEAR(SCU510, 1));
  279. PIN_DECL_3(C24, GPIOE4, NDSR4, RGMII4RXD0, RMII4RXD0);
  280. FUNC_GROUP_DECL(NDSR4, C24);
  281. #define B26 37
  282. SIG_EXPR_LIST_DECL_SESG(B26, NRI4, NRI4, SIG_DESC_SET(SCU414, 5));
  283. SIG_EXPR_LIST_DECL_SESG(B26, RGMII4RXD1, RGMII4, SIG_DESC_SET(SCU4B4, 5),
  284. SIG_DESC_SET(SCU510, 1));
  285. SIG_EXPR_LIST_DECL_SESG(B26, RMII4RXD1, RMII4, SIG_DESC_SET(SCU4B4, 5),
  286. SIG_DESC_CLEAR(SCU510, 1));
  287. PIN_DECL_3(B26, GPIOE5, NRI4, RGMII4RXD1, RMII4RXD1);
  288. FUNC_GROUP_DECL(NRI4, B26);
  289. #define B25 38
  290. SIG_EXPR_LIST_DECL_SESG(B25, NDTR4, NDTR4, SIG_DESC_SET(SCU414, 6));
  291. SIG_EXPR_LIST_DECL_SESG(B25, RGMII4RXD2, RGMII4, SIG_DESC_SET(SCU4B4, 6),
  292. SIG_DESC_SET(SCU510, 1));
  293. SIG_EXPR_LIST_DECL_SESG(B25, RMII4CRSDV, RMII4, SIG_DESC_SET(SCU4B4, 6),
  294. SIG_DESC_CLEAR(SCU510, 1));
  295. PIN_DECL_3(B25, GPIOE6, NDTR4, RGMII4RXD2, RMII4CRSDV);
  296. FUNC_GROUP_DECL(NDTR4, B25);
  297. #define B24 39
  298. SIG_EXPR_LIST_DECL_SESG(B24, NRTS4, NRTS4, SIG_DESC_SET(SCU414, 7));
  299. SIG_EXPR_LIST_DECL_SESG(B24, RGMII4RXD3, RGMII4, SIG_DESC_SET(SCU4B4, 7),
  300. SIG_DESC_SET(SCU510, 1));
  301. SIG_EXPR_LIST_DECL_SESG(B24, RMII4RXER, RMII4, SIG_DESC_SET(SCU4B4, 7),
  302. SIG_DESC_CLEAR(SCU510, 1));
  303. PIN_DECL_3(B24, GPIOE7, NRTS4, RGMII4RXD3, RMII4RXER);
  304. FUNC_GROUP_DECL(NRTS4, B24);
  305. FUNC_GROUP_DECL(RGMII4, F24, E23, E24, E25, D26, D24, C25, C26, C24, B26, B25,
  306. B24);
  307. GROUP_DECL(RMII4, F24, E23, E24, E25, C25, C24, B26, B25, B24);
  308. GROUP_DECL(NCSI4, E23, E24, E25, C25, C24, B26, B25, B24);
  309. FUNC_DECL_2(RMII4, RMII4, NCSI4);
  310. #define D22 40
  311. SIG_EXPR_LIST_DECL_SESG(D22, SD1CLK, SD1, SIG_DESC_SET(SCU414, 8));
  312. SIG_EXPR_LIST_DECL_SEMG(D22, PWM8, PWM8G0, PWM8, SIG_DESC_SET(SCU4B4, 8));
  313. PIN_DECL_2(D22, GPIOF0, SD1CLK, PWM8);
  314. GROUP_DECL(PWM8G0, D22);
  315. #define E22 41
  316. SIG_EXPR_LIST_DECL_SESG(E22, SD1CMD, SD1, SIG_DESC_SET(SCU414, 9));
  317. SIG_EXPR_LIST_DECL_SEMG(E22, PWM9, PWM9G0, PWM9, SIG_DESC_SET(SCU4B4, 9));
  318. PIN_DECL_2(E22, GPIOF1, SD1CMD, PWM9);
  319. GROUP_DECL(PWM9G0, E22);
  320. #define D23 42
  321. SIG_EXPR_LIST_DECL_SESG(D23, SD1DAT0, SD1, SIG_DESC_SET(SCU414, 10));
  322. SIG_EXPR_LIST_DECL_SEMG(D23, PWM10, PWM10G0, PWM10, SIG_DESC_SET(SCU4B4, 10));
  323. PIN_DECL_2(D23, GPIOF2, SD1DAT0, PWM10);
  324. GROUP_DECL(PWM10G0, D23);
  325. #define C23 43
  326. SIG_EXPR_LIST_DECL_SESG(C23, SD1DAT1, SD1, SIG_DESC_SET(SCU414, 11));
  327. SIG_EXPR_LIST_DECL_SEMG(C23, PWM11, PWM11G0, PWM11, SIG_DESC_SET(SCU4B4, 11));
  328. PIN_DECL_2(C23, GPIOF3, SD1DAT1, PWM11);
  329. GROUP_DECL(PWM11G0, C23);
  330. #define C22 44
  331. SIG_EXPR_LIST_DECL_SESG(C22, SD1DAT2, SD1, SIG_DESC_SET(SCU414, 12));
  332. SIG_EXPR_LIST_DECL_SEMG(C22, PWM12, PWM12G0, PWM12, SIG_DESC_SET(SCU4B4, 12));
  333. PIN_DECL_2(C22, GPIOF4, SD1DAT2, PWM12);
  334. GROUP_DECL(PWM12G0, C22);
  335. #define A25 45
  336. SIG_EXPR_LIST_DECL_SESG(A25, SD1DAT3, SD1, SIG_DESC_SET(SCU414, 13));
  337. SIG_EXPR_LIST_DECL_SEMG(A25, PWM13, PWM13G0, PWM13, SIG_DESC_SET(SCU4B4, 13));
  338. PIN_DECL_2(A25, GPIOF5, SD1DAT3, PWM13);
  339. GROUP_DECL(PWM13G0, A25);
  340. #define A24 46
  341. SIG_EXPR_LIST_DECL_SESG(A24, SD1CD, SD1, SIG_DESC_SET(SCU414, 14));
  342. SIG_EXPR_LIST_DECL_SEMG(A24, PWM14, PWM14G0, PWM14, SIG_DESC_SET(SCU4B4, 14));
  343. PIN_DECL_2(A24, GPIOF6, SD1CD, PWM14);
  344. GROUP_DECL(PWM14G0, A24);
  345. #define A23 47
  346. SIG_EXPR_LIST_DECL_SESG(A23, SD1WP, SD1, SIG_DESC_SET(SCU414, 15));
  347. SIG_EXPR_LIST_DECL_SEMG(A23, PWM15, PWM15G0, PWM15, SIG_DESC_SET(SCU4B4, 15));
  348. PIN_DECL_2(A23, GPIOF7, SD1WP, PWM15);
  349. GROUP_DECL(PWM15G0, A23);
  350. FUNC_GROUP_DECL(SD1, D22, E22, D23, C23, C22, A25, A24, A23);
  351. #define E21 48
  352. SIG_EXPR_LIST_DECL_SESG(E21, TXD6, UART6, SIG_DESC_SET(SCU414, 16));
  353. SIG_EXPR_LIST_DECL_SESG(E21, SD2CLK, SD2, SIG_DESC_SET(SCU4B4, 16),
  354. SIG_DESC_SET(SCU450, 1));
  355. SIG_EXPR_LIST_DECL_SEMG(E21, SALT9, SALT9G0, SALT9, SIG_DESC_SET(SCU694, 16));
  356. PIN_DECL_3(E21, GPIOG0, TXD6, SD2CLK, SALT9);
  357. GROUP_DECL(SALT9G0, E21);
  358. #define B22 49
  359. SIG_EXPR_LIST_DECL_SESG(B22, RXD6, UART6, SIG_DESC_SET(SCU414, 17));
  360. SIG_EXPR_LIST_DECL_SESG(B22, SD2CMD, SD2, SIG_DESC_SET(SCU4B4, 17),
  361. SIG_DESC_SET(SCU450, 1));
  362. SIG_EXPR_LIST_DECL_SEMG(B22, SALT10, SALT10G0, SALT10,
  363. SIG_DESC_SET(SCU694, 17));
  364. PIN_DECL_3(B22, GPIOG1, RXD6, SD2CMD, SALT10);
  365. GROUP_DECL(SALT10G0, B22);
  366. FUNC_GROUP_DECL(UART6, E21, B22);
  367. #define C21 50
  368. SIG_EXPR_LIST_DECL_SESG(C21, TXD7, UART7, SIG_DESC_SET(SCU414, 18));
  369. SIG_EXPR_LIST_DECL_SESG(C21, SD2DAT0, SD2, SIG_DESC_SET(SCU4B4, 18),
  370. SIG_DESC_SET(SCU450, 1));
  371. SIG_EXPR_LIST_DECL_SEMG(C21, SALT11, SALT11G0, SALT11,
  372. SIG_DESC_SET(SCU694, 18));
  373. PIN_DECL_3(C21, GPIOG2, TXD7, SD2DAT0, SALT11);
  374. GROUP_DECL(SALT11G0, C21);
  375. #define A22 51
  376. SIG_EXPR_LIST_DECL_SESG(A22, RXD7, UART7, SIG_DESC_SET(SCU414, 19));
  377. SIG_EXPR_LIST_DECL_SESG(A22, SD2DAT1, SD2, SIG_DESC_SET(SCU4B4, 19),
  378. SIG_DESC_SET(SCU450, 1));
  379. SIG_EXPR_LIST_DECL_SEMG(A22, SALT12, SALT12G0, SALT12,
  380. SIG_DESC_SET(SCU694, 19));
  381. PIN_DECL_3(A22, GPIOG3, RXD7, SD2DAT1, SALT12);
  382. GROUP_DECL(SALT12G0, A22);
  383. FUNC_GROUP_DECL(UART7, C21, A22);
  384. #define A21 52
  385. SIG_EXPR_LIST_DECL_SESG(A21, TXD8, UART8, SIG_DESC_SET(SCU414, 20));
  386. SIG_EXPR_LIST_DECL_SESG(A21, SD2DAT2, SD2, SIG_DESC_SET(SCU4B4, 20),
  387. SIG_DESC_SET(SCU450, 1));
  388. SIG_EXPR_LIST_DECL_SEMG(A21, SALT13, SALT13G0, SALT13,
  389. SIG_DESC_SET(SCU694, 20));
  390. PIN_DECL_3(A21, GPIOG4, TXD8, SD2DAT2, SALT13);
  391. GROUP_DECL(SALT13G0, A21);
  392. #define E20 53
  393. SIG_EXPR_LIST_DECL_SESG(E20, RXD8, UART8, SIG_DESC_SET(SCU414, 21));
  394. SIG_EXPR_LIST_DECL_SESG(E20, SD2DAT3, SD2, SIG_DESC_SET(SCU4B4, 21),
  395. SIG_DESC_SET(SCU450, 1));
  396. SIG_EXPR_LIST_DECL_SEMG(E20, SALT14, SALT14G0, SALT14,
  397. SIG_DESC_SET(SCU694, 21));
  398. PIN_DECL_3(E20, GPIOG5, RXD8, SD2DAT3, SALT14);
  399. GROUP_DECL(SALT14G0, E20);
  400. FUNC_GROUP_DECL(UART8, A21, E20);
  401. #define D21 54
  402. SIG_EXPR_LIST_DECL_SESG(D21, TXD9, UART9, SIG_DESC_SET(SCU414, 22));
  403. SIG_EXPR_LIST_DECL_SESG(D21, SD2CD, SD2, SIG_DESC_SET(SCU4B4, 22),
  404. SIG_DESC_SET(SCU450, 1));
  405. SIG_EXPR_LIST_DECL_SEMG(D21, SALT15, SALT15G0, SALT15,
  406. SIG_DESC_SET(SCU694, 22));
  407. PIN_DECL_3(D21, GPIOG6, TXD9, SD2CD, SALT15);
  408. GROUP_DECL(SALT15G0, D21);
  409. #define B21 55
  410. SIG_EXPR_LIST_DECL_SESG(B21, RXD9, UART9, SIG_DESC_SET(SCU414, 23));
  411. SIG_EXPR_LIST_DECL_SESG(B21, SD2WP, SD2, SIG_DESC_SET(SCU4B4, 23),
  412. SIG_DESC_SET(SCU450, 1));
  413. SIG_EXPR_LIST_DECL_SEMG(B21, SALT16, SALT16G0, SALT16,
  414. SIG_DESC_SET(SCU694, 23));
  415. PIN_DECL_3(B21, GPIOG7, RXD9, SD2WP, SALT16);
  416. GROUP_DECL(SALT16G0, B21);
  417. FUNC_GROUP_DECL(UART9, D21, B21);
  418. FUNC_GROUP_DECL(SD2, E21, B22, C21, A22, A21, E20, D21, B21);
  419. #define A18 56
  420. SIG_EXPR_LIST_DECL_SESG(A18, SGPM1CLK, SGPM1, SIG_DESC_SET(SCU414, 24));
  421. PIN_DECL_1(A18, GPIOH0, SGPM1CLK);
  422. #define B18 57
  423. SIG_EXPR_LIST_DECL_SESG(B18, SGPM1LD, SGPM1, SIG_DESC_SET(SCU414, 25));
  424. PIN_DECL_1(B18, GPIOH1, SGPM1LD);
  425. #define C18 58
  426. SIG_EXPR_LIST_DECL_SESG(C18, SGPM1O, SGPM1, SIG_DESC_SET(SCU414, 26));
  427. PIN_DECL_1(C18, GPIOH2, SGPM1O);
  428. #define A17 59
  429. SIG_EXPR_LIST_DECL_SESG(A17, SGPM1I, SGPM1, SIG_DESC_SET(SCU414, 27));
  430. PIN_DECL_1(A17, GPIOH3, SGPM1I);
  431. FUNC_GROUP_DECL(SGPM1, A18, B18, C18, A17);
  432. #define D18 60
  433. SIG_EXPR_LIST_DECL_SESG(D18, SGPS1CK, SGPS1, SIG_DESC_SET(SCU414, 28));
  434. SIG_EXPR_LIST_DECL_SESG(D18, SCL15, I2C15, SIG_DESC_SET(SCU4B4, 28));
  435. PIN_DECL_2(D18, GPIOH4, SGPS1CK, SCL15);
  436. #define B17 61
  437. SIG_EXPR_LIST_DECL_SESG(B17, SGPS1LD, SGPS1, SIG_DESC_SET(SCU414, 29));
  438. SIG_EXPR_LIST_DECL_SESG(B17, SDA15, I2C15, SIG_DESC_SET(SCU4B4, 29));
  439. PIN_DECL_2(B17, GPIOH5, SGPS1LD, SDA15);
  440. FUNC_GROUP_DECL(I2C15, D18, B17);
  441. #define C17 62
  442. SIG_EXPR_LIST_DECL_SESG(C17, SGPS1O, SGPS1, SIG_DESC_SET(SCU414, 30));
  443. SIG_EXPR_LIST_DECL_SESG(C17, SCL16, I2C16, SIG_DESC_SET(SCU4B4, 30));
  444. PIN_DECL_2(C17, GPIOH6, SGPS1O, SCL16);
  445. #define E18 63
  446. SIG_EXPR_LIST_DECL_SESG(E18, SGPS1I, SGPS1, SIG_DESC_SET(SCU414, 31));
  447. SIG_EXPR_LIST_DECL_SESG(E18, SDA16, I2C16, SIG_DESC_SET(SCU4B4, 31));
  448. PIN_DECL_2(E18, GPIOH7, SGPS1I, SDA16);
  449. FUNC_GROUP_DECL(I2C16, C17, E18);
  450. FUNC_GROUP_DECL(SGPS1, D18, B17, C17, E18);
  451. #define D17 64
  452. SIG_EXPR_LIST_DECL_SESG(D17, MTRSTN, JTAGM, SIG_DESC_SET(SCU418, 0));
  453. SIG_EXPR_LIST_DECL_SEMG(D17, TXD12, UART12G0, UART12, SIG_DESC_SET(SCU4B8, 0));
  454. PIN_DECL_2(D17, GPIOI0, MTRSTN, TXD12);
  455. #define A16 65
  456. SIG_EXPR_LIST_DECL_SESG(A16, MTDI, JTAGM, SIG_DESC_SET(SCU418, 1));
  457. SIG_EXPR_LIST_DECL_SEMG(A16, RXD12, UART12G0, UART12, SIG_DESC_SET(SCU4B8, 1));
  458. PIN_DECL_2(A16, GPIOI1, MTDI, RXD12);
  459. GROUP_DECL(UART12G0, D17, A16);
  460. #define E17 66
  461. SIG_EXPR_LIST_DECL_SESG(E17, MTCK, JTAGM, SIG_DESC_SET(SCU418, 2));
  462. SIG_EXPR_LIST_DECL_SEMG(E17, TXD13, UART13G0, UART13, SIG_DESC_SET(SCU4B8, 2));
  463. PIN_DECL_2(E17, GPIOI2, MTCK, TXD13);
  464. #define D16 67
  465. SIG_EXPR_LIST_DECL_SESG(D16, MTMS, JTAGM, SIG_DESC_SET(SCU418, 3));
  466. SIG_EXPR_LIST_DECL_SEMG(D16, RXD13, UART13G0, UART13, SIG_DESC_SET(SCU4B8, 3));
  467. PIN_DECL_2(D16, GPIOI3, MTMS, RXD13);
  468. GROUP_DECL(UART13G0, E17, D16);
  469. #define C16 68
  470. SIG_EXPR_LIST_DECL_SESG(C16, MTDO, JTAGM, SIG_DESC_SET(SCU418, 4));
  471. PIN_DECL_1(C16, GPIOI4, MTDO);
  472. FUNC_GROUP_DECL(JTAGM, D17, A16, E17, D16, C16);
  473. #define E16 69
  474. SIG_EXPR_LIST_DECL_SESG(E16, SIOPBO, SIOPBO, SIG_DESC_SET(SCU418, 5));
  475. PIN_DECL_1(E16, GPIOI5, SIOPBO);
  476. FUNC_GROUP_DECL(SIOPBO, E16);
  477. #define B16 70
  478. SIG_EXPR_LIST_DECL_SESG(B16, SIOPBI, SIOPBI, SIG_DESC_SET(SCU418, 6));
  479. PIN_DECL_1(B16, GPIOI6, SIOPBI);
  480. FUNC_GROUP_DECL(SIOPBI, B16);
  481. #define A15 71
  482. SIG_EXPR_LIST_DECL_SESG(A15, BMCINT, BMCINT, SIG_DESC_SET(SCU418, 7));
  483. SIG_EXPR_LIST_DECL_SESG(A15, SIOSCI, SIOSCI, SIG_DESC_SET(SCU4B8, 7));
  484. PIN_DECL_2(A15, GPIOI7, BMCINT, SIOSCI);
  485. FUNC_GROUP_DECL(BMCINT, A15);
  486. FUNC_GROUP_DECL(SIOSCI, A15);
  487. #define B20 72
  488. SIG_EXPR_LIST_DECL_SEMG(B20, I3C3SCL, HVI3C3, I3C3, SIG_DESC_SET(SCU418, 8));
  489. SIG_EXPR_LIST_DECL_SESG(B20, SCL1, I2C1, SIG_DESC_SET(SCU4B8, 8));
  490. PIN_DECL_2(B20, GPIOJ0, I3C3SCL, SCL1);
  491. #define A20 73
  492. SIG_EXPR_LIST_DECL_SEMG(A20, I3C3SDA, HVI3C3, I3C3, SIG_DESC_SET(SCU418, 9));
  493. SIG_EXPR_LIST_DECL_SESG(A20, SDA1, I2C1, SIG_DESC_SET(SCU4B8, 9));
  494. PIN_DECL_2(A20, GPIOJ1, I3C3SDA, SDA1);
  495. GROUP_DECL(HVI3C3, B20, A20);
  496. FUNC_GROUP_DECL(I2C1, B20, A20);
  497. #define E19 74
  498. SIG_EXPR_LIST_DECL_SEMG(E19, I3C4SCL, HVI3C4, I3C4, SIG_DESC_SET(SCU418, 10));
  499. SIG_EXPR_LIST_DECL_SESG(E19, SCL2, I2C2, SIG_DESC_SET(SCU4B8, 10));
  500. PIN_DECL_2(E19, GPIOJ2, I3C4SCL, SCL2);
  501. #define D20 75
  502. SIG_EXPR_LIST_DECL_SEMG(D20, I3C4SDA, HVI3C4, I3C4, SIG_DESC_SET(SCU418, 11));
  503. SIG_EXPR_LIST_DECL_SESG(D20, SDA2, I2C2, SIG_DESC_SET(SCU4B8, 11));
  504. PIN_DECL_2(D20, GPIOJ3, I3C4SDA, SDA2);
  505. GROUP_DECL(HVI3C4, E19, D20);
  506. FUNC_GROUP_DECL(I2C2, E19, D20);
  507. #define C19 76
  508. SIG_EXPR_LIST_DECL_SESG(C19, I3C5SCL, I3C5, SIG_DESC_SET(SCU418, 12));
  509. SIG_EXPR_LIST_DECL_SESG(C19, SCL3, I2C3, SIG_DESC_SET(SCU4B8, 12));
  510. PIN_DECL_2(C19, GPIOJ4, I3C5SCL, SCL3);
  511. #define A19 77
  512. SIG_EXPR_LIST_DECL_SESG(A19, I3C5SDA, I3C5, SIG_DESC_SET(SCU418, 13));
  513. SIG_EXPR_LIST_DECL_SESG(A19, SDA3, I2C3, SIG_DESC_SET(SCU4B8, 13));
  514. PIN_DECL_2(A19, GPIOJ5, I3C5SDA, SDA3);
  515. FUNC_GROUP_DECL(I3C5, C19, A19);
  516. FUNC_GROUP_DECL(I2C3, C19, A19);
  517. #define C20 78
  518. SIG_EXPR_LIST_DECL_SESG(C20, I3C6SCL, I3C6, SIG_DESC_SET(SCU418, 14));
  519. SIG_EXPR_LIST_DECL_SESG(C20, SCL4, I2C4, SIG_DESC_SET(SCU4B8, 14));
  520. PIN_DECL_2(C20, GPIOJ6, I3C6SCL, SCL4);
  521. #define D19 79
  522. SIG_EXPR_LIST_DECL_SESG(D19, I3C6SDA, I3C6, SIG_DESC_SET(SCU418, 15));
  523. SIG_EXPR_LIST_DECL_SESG(D19, SDA4, I2C4, SIG_DESC_SET(SCU4B8, 15));
  524. PIN_DECL_2(D19, GPIOJ7, I3C6SDA, SDA4);
  525. FUNC_GROUP_DECL(I3C6, C20, D19);
  526. FUNC_GROUP_DECL(I2C4, C20, D19);
  527. #define A11 80
  528. SIG_EXPR_LIST_DECL_SESG(A11, SCL5, I2C5, SIG_DESC_SET(SCU418, 16));
  529. PIN_DECL_1(A11, GPIOK0, SCL5);
  530. #define C11 81
  531. SIG_EXPR_LIST_DECL_SESG(C11, SDA5, I2C5, SIG_DESC_SET(SCU418, 17));
  532. PIN_DECL_1(C11, GPIOK1, SDA5);
  533. FUNC_GROUP_DECL(I2C5, A11, C11);
  534. #define D12 82
  535. SIG_EXPR_LIST_DECL_SESG(D12, SCL6, I2C6, SIG_DESC_SET(SCU418, 18));
  536. PIN_DECL_1(D12, GPIOK2, SCL6);
  537. #define E13 83
  538. SIG_EXPR_LIST_DECL_SESG(E13, SDA6, I2C6, SIG_DESC_SET(SCU418, 19));
  539. PIN_DECL_1(E13, GPIOK3, SDA6);
  540. FUNC_GROUP_DECL(I2C6, D12, E13);
  541. #define D11 84
  542. SIG_EXPR_LIST_DECL_SESG(D11, SCL7, I2C7, SIG_DESC_SET(SCU418, 20));
  543. PIN_DECL_1(D11, GPIOK4, SCL7);
  544. #define E11 85
  545. SIG_EXPR_LIST_DECL_SESG(E11, SDA7, I2C7, SIG_DESC_SET(SCU418, 21));
  546. PIN_DECL_1(E11, GPIOK5, SDA7);
  547. FUNC_GROUP_DECL(I2C7, D11, E11);
  548. #define F13 86
  549. SIG_EXPR_LIST_DECL_SESG(F13, SCL8, I2C8, SIG_DESC_SET(SCU418, 22));
  550. PIN_DECL_1(F13, GPIOK6, SCL8);
  551. #define E12 87
  552. SIG_EXPR_LIST_DECL_SESG(E12, SDA8, I2C8, SIG_DESC_SET(SCU418, 23));
  553. PIN_DECL_1(E12, GPIOK7, SDA8);
  554. FUNC_GROUP_DECL(I2C8, F13, E12);
  555. #define D15 88
  556. SIG_EXPR_LIST_DECL_SESG(D15, SCL9, I2C9, SIG_DESC_SET(SCU418, 24));
  557. PIN_DECL_1(D15, GPIOL0, SCL9);
  558. #define A14 89
  559. SIG_EXPR_LIST_DECL_SESG(A14, SDA9, I2C9, SIG_DESC_SET(SCU418, 25));
  560. PIN_DECL_1(A14, GPIOL1, SDA9);
  561. FUNC_GROUP_DECL(I2C9, D15, A14);
  562. #define E15 90
  563. SIG_EXPR_LIST_DECL_SESG(E15, SCL10, I2C10, SIG_DESC_SET(SCU418, 26));
  564. PIN_DECL_1(E15, GPIOL2, SCL10);
  565. #define A13 91
  566. SIG_EXPR_LIST_DECL_SESG(A13, SDA10, I2C10, SIG_DESC_SET(SCU418, 27));
  567. PIN_DECL_1(A13, GPIOL3, SDA10);
  568. FUNC_GROUP_DECL(I2C10, E15, A13);
  569. #define C15 92
  570. SSSF_PIN_DECL(C15, GPIOL4, TXD3, SIG_DESC_SET(SCU418, 28));
  571. #define F15 93
  572. SSSF_PIN_DECL(F15, GPIOL5, RXD3, SIG_DESC_SET(SCU418, 29));
  573. #define B14 94
  574. SSSF_PIN_DECL(B14, GPIOL6, VGAHS, SIG_DESC_SET(SCU418, 30));
  575. #define C14 95
  576. SSSF_PIN_DECL(C14, GPIOL7, VGAVS, SIG_DESC_SET(SCU418, 31));
  577. #define D14 96
  578. SSSF_PIN_DECL(D14, GPIOM0, NCTS1, SIG_DESC_SET(SCU41C, 0));
  579. #define B13 97
  580. SSSF_PIN_DECL(B13, GPIOM1, NDCD1, SIG_DESC_SET(SCU41C, 1));
  581. #define A12 98
  582. SSSF_PIN_DECL(A12, GPIOM2, NDSR1, SIG_DESC_SET(SCU41C, 2));
  583. #define E14 99
  584. SSSF_PIN_DECL(E14, GPIOM3, NRI1, SIG_DESC_SET(SCU41C, 3));
  585. #define B12 100
  586. SSSF_PIN_DECL(B12, GPIOM4, NDTR1, SIG_DESC_SET(SCU41C, 4));
  587. #define C12 101
  588. SSSF_PIN_DECL(C12, GPIOM5, NRTS1, SIG_DESC_SET(SCU41C, 5));
  589. #define C13 102
  590. SSSF_PIN_DECL(C13, GPIOM6, TXD1, SIG_DESC_SET(SCU41C, 6));
  591. #define D13 103
  592. SSSF_PIN_DECL(D13, GPIOM7, RXD1, SIG_DESC_SET(SCU41C, 7));
  593. #define P25 104
  594. SSSF_PIN_DECL(P25, GPION0, NCTS2, SIG_DESC_SET(SCU41C, 8));
  595. #define N23 105
  596. SSSF_PIN_DECL(N23, GPION1, NDCD2, SIG_DESC_SET(SCU41C, 9));
  597. #define N25 106
  598. SSSF_PIN_DECL(N25, GPION2, NDSR2, SIG_DESC_SET(SCU41C, 10));
  599. #define N24 107
  600. SSSF_PIN_DECL(N24, GPION3, NRI2, SIG_DESC_SET(SCU41C, 11));
  601. #define P26 108
  602. SSSF_PIN_DECL(P26, GPION4, NDTR2, SIG_DESC_SET(SCU41C, 12));
  603. #define M23 109
  604. SSSF_PIN_DECL(M23, GPION5, NRTS2, SIG_DESC_SET(SCU41C, 13));
  605. #define N26 110
  606. SSSF_PIN_DECL(N26, GPION6, TXD2, SIG_DESC_SET(SCU41C, 14));
  607. #define M26 111
  608. SSSF_PIN_DECL(M26, GPION7, RXD2, SIG_DESC_SET(SCU41C, 15));
  609. #define AD26 112
  610. SSSF_PIN_DECL(AD26, GPIOO0, PWM0, SIG_DESC_SET(SCU41C, 16));
  611. #define AD22 113
  612. SSSF_PIN_DECL(AD22, GPIOO1, PWM1, SIG_DESC_SET(SCU41C, 17));
  613. #define AD23 114
  614. SSSF_PIN_DECL(AD23, GPIOO2, PWM2, SIG_DESC_SET(SCU41C, 18));
  615. #define AD24 115
  616. SSSF_PIN_DECL(AD24, GPIOO3, PWM3, SIG_DESC_SET(SCU41C, 19));
  617. #define AD25 116
  618. SSSF_PIN_DECL(AD25, GPIOO4, PWM4, SIG_DESC_SET(SCU41C, 20));
  619. #define AC22 117
  620. SSSF_PIN_DECL(AC22, GPIOO5, PWM5, SIG_DESC_SET(SCU41C, 21));
  621. #define AC24 118
  622. SSSF_PIN_DECL(AC24, GPIOO6, PWM6, SIG_DESC_SET(SCU41C, 22));
  623. #define AC23 119
  624. SSSF_PIN_DECL(AC23, GPIOO7, PWM7, SIG_DESC_SET(SCU41C, 23));
  625. #define AB22 120
  626. SIG_EXPR_LIST_DECL_SEMG(AB22, PWM8, PWM8G1, PWM8, SIG_DESC_SET(SCU41C, 24));
  627. SIG_EXPR_LIST_DECL_SESG(AB22, THRUIN0, THRU0, SIG_DESC_SET(SCU4BC, 24));
  628. PIN_DECL_2(AB22, GPIOP0, PWM8, THRUIN0);
  629. GROUP_DECL(PWM8G1, AB22);
  630. FUNC_DECL_2(PWM8, PWM8G0, PWM8G1);
  631. #define W24 121
  632. SIG_EXPR_LIST_DECL_SEMG(W24, PWM9, PWM9G1, PWM9, SIG_DESC_SET(SCU41C, 25));
  633. SIG_EXPR_LIST_DECL_SESG(W24, THRUOUT0, THRU0, SIG_DESC_SET(SCU4BC, 25));
  634. PIN_DECL_2(W24, GPIOP1, PWM9, THRUOUT0);
  635. FUNC_GROUP_DECL(THRU0, AB22, W24);
  636. GROUP_DECL(PWM9G1, W24);
  637. FUNC_DECL_2(PWM9, PWM9G0, PWM9G1);
  638. #define AA23 122
  639. SIG_EXPR_LIST_DECL_SEMG(AA23, PWM10, PWM10G1, PWM10, SIG_DESC_SET(SCU41C, 26));
  640. SIG_EXPR_LIST_DECL_SESG(AA23, THRUIN1, THRU1, SIG_DESC_SET(SCU4BC, 26));
  641. PIN_DECL_2(AA23, GPIOP2, PWM10, THRUIN1);
  642. GROUP_DECL(PWM10G1, AA23);
  643. FUNC_DECL_2(PWM10, PWM10G0, PWM10G1);
  644. #define AA24 123
  645. SIG_EXPR_LIST_DECL_SEMG(AA24, PWM11, PWM11G1, PWM11, SIG_DESC_SET(SCU41C, 27));
  646. SIG_EXPR_LIST_DECL_SESG(AA24, THRUOUT1, THRU1, SIG_DESC_SET(SCU4BC, 27));
  647. PIN_DECL_2(AA24, GPIOP3, PWM11, THRUOUT1);
  648. GROUP_DECL(PWM11G1, AA24);
  649. FUNC_DECL_2(PWM11, PWM11G0, PWM11G1);
  650. FUNC_GROUP_DECL(THRU1, AA23, AA24);
  651. #define W23 124
  652. SIG_EXPR_LIST_DECL_SEMG(W23, PWM12, PWM12G1, PWM12, SIG_DESC_SET(SCU41C, 28));
  653. SIG_EXPR_LIST_DECL_SESG(W23, THRUIN2, THRU2, SIG_DESC_SET(SCU4BC, 28));
  654. PIN_DECL_2(W23, GPIOP4, PWM12, THRUIN2);
  655. GROUP_DECL(PWM12G1, W23);
  656. FUNC_DECL_2(PWM12, PWM12G0, PWM12G1);
  657. #define AB23 125
  658. SIG_EXPR_LIST_DECL_SEMG(AB23, PWM13, PWM13G1, PWM13, SIG_DESC_SET(SCU41C, 29));
  659. SIG_EXPR_LIST_DECL_SESG(AB23, THRUOUT2, THRU2, SIG_DESC_SET(SCU4BC, 29));
  660. PIN_DECL_2(AB23, GPIOP5, PWM13, THRUOUT2);
  661. GROUP_DECL(PWM13G1, AB23);
  662. FUNC_DECL_2(PWM13, PWM13G0, PWM13G1);
  663. FUNC_GROUP_DECL(THRU2, W23, AB23);
  664. #define AB24 126
  665. SIG_EXPR_LIST_DECL_SEMG(AB24, PWM14, PWM14G1, PWM14, SIG_DESC_SET(SCU41C, 30));
  666. SIG_EXPR_LIST_DECL_SESG(AB24, THRUIN3, THRU3, SIG_DESC_SET(SCU4BC, 30));
  667. PIN_DECL_2(AB24, GPIOP6, PWM14, THRUIN3);
  668. GROUP_DECL(PWM14G1, AB24);
  669. FUNC_DECL_2(PWM14, PWM14G0, PWM14G1);
  670. #define Y23 127
  671. SIG_EXPR_LIST_DECL_SEMG(Y23, PWM15, PWM15G1, PWM15, SIG_DESC_SET(SCU41C, 31));
  672. SIG_EXPR_LIST_DECL_SESG(Y23, THRUOUT3, THRU3, SIG_DESC_SET(SCU4BC, 31));
  673. SIG_EXPR_LIST_DECL_SESG(Y23, HEARTBEAT, HEARTBEAT, SIG_DESC_SET(SCU69C, 31));
  674. PIN_DECL_3(Y23, GPIOP7, PWM15, THRUOUT3, HEARTBEAT);
  675. GROUP_DECL(PWM15G1, Y23);
  676. FUNC_DECL_2(PWM15, PWM15G0, PWM15G1);
  677. FUNC_GROUP_DECL(THRU3, AB24, Y23);
  678. FUNC_GROUP_DECL(HEARTBEAT, Y23);
  679. #define AA25 128
  680. SSSF_PIN_DECL(AA25, GPIOQ0, TACH0, SIG_DESC_SET(SCU430, 0));
  681. #define AB25 129
  682. SSSF_PIN_DECL(AB25, GPIOQ1, TACH1, SIG_DESC_SET(SCU430, 1));
  683. #define Y24 130
  684. SSSF_PIN_DECL(Y24, GPIOQ2, TACH2, SIG_DESC_SET(SCU430, 2));
  685. #define AB26 131
  686. SSSF_PIN_DECL(AB26, GPIOQ3, TACH3, SIG_DESC_SET(SCU430, 3));
  687. #define Y26 132
  688. SSSF_PIN_DECL(Y26, GPIOQ4, TACH4, SIG_DESC_SET(SCU430, 4));
  689. #define AC26 133
  690. SSSF_PIN_DECL(AC26, GPIOQ5, TACH5, SIG_DESC_SET(SCU430, 5));
  691. #define Y25 134
  692. SSSF_PIN_DECL(Y25, GPIOQ6, TACH6, SIG_DESC_SET(SCU430, 6));
  693. #define AA26 135
  694. SSSF_PIN_DECL(AA26, GPIOQ7, TACH7, SIG_DESC_SET(SCU430, 7));
  695. #define V25 136
  696. SSSF_PIN_DECL(V25, GPIOR0, TACH8, SIG_DESC_SET(SCU430, 8));
  697. #define U24 137
  698. SSSF_PIN_DECL(U24, GPIOR1, TACH9, SIG_DESC_SET(SCU430, 9));
  699. #define V24 138
  700. SSSF_PIN_DECL(V24, GPIOR2, TACH10, SIG_DESC_SET(SCU430, 10));
  701. #define V26 139
  702. SSSF_PIN_DECL(V26, GPIOR3, TACH11, SIG_DESC_SET(SCU430, 11));
  703. #define U25 140
  704. SSSF_PIN_DECL(U25, GPIOR4, TACH12, SIG_DESC_SET(SCU430, 12));
  705. #define T23 141
  706. SSSF_PIN_DECL(T23, GPIOR5, TACH13, SIG_DESC_SET(SCU430, 13));
  707. #define W26 142
  708. SSSF_PIN_DECL(W26, GPIOR6, TACH14, SIG_DESC_SET(SCU430, 14));
  709. #define U26 143
  710. SSSF_PIN_DECL(U26, GPIOR7, TACH15, SIG_DESC_SET(SCU430, 15));
  711. #define R23 144
  712. SIG_EXPR_LIST_DECL_SESG(R23, MDC1, MDIO1, SIG_DESC_SET(SCU430, 16));
  713. PIN_DECL_1(R23, GPIOS0, MDC1);
  714. #define T25 145
  715. SIG_EXPR_LIST_DECL_SESG(T25, MDIO1, MDIO1, SIG_DESC_SET(SCU430, 17));
  716. PIN_DECL_1(T25, GPIOS1, MDIO1);
  717. FUNC_GROUP_DECL(MDIO1, R23, T25);
  718. #define T26 146
  719. SSSF_PIN_DECL(T26, GPIOS2, PEWAKE, SIG_DESC_SET(SCU430, 18));
  720. #define R24 147
  721. SSSF_PIN_DECL(R24, GPIOS3, OSCCLK, SIG_DESC_SET(SCU430, 19));
  722. #define R26 148
  723. SIG_EXPR_LIST_DECL_SESG(R26, TXD10, UART10, SIG_DESC_SET(SCU430, 20));
  724. PIN_DECL_1(R26, GPIOS4, TXD10);
  725. #define P24 149
  726. SIG_EXPR_LIST_DECL_SESG(P24, RXD10, UART10, SIG_DESC_SET(SCU430, 21));
  727. PIN_DECL_1(P24, GPIOS5, RXD10);
  728. FUNC_GROUP_DECL(UART10, R26, P24);
  729. #define P23 150
  730. SIG_EXPR_LIST_DECL_SESG(P23, TXD11, UART11, SIG_DESC_SET(SCU430, 22));
  731. PIN_DECL_1(P23, GPIOS6, TXD11);
  732. #define T24 151
  733. SIG_EXPR_LIST_DECL_SESG(T24, RXD11, UART11, SIG_DESC_SET(SCU430, 23));
  734. PIN_DECL_1(T24, GPIOS7, RXD11);
  735. FUNC_GROUP_DECL(UART11, P23, T24);
  736. #define AD20 152
  737. SIG_EXPR_LIST_DECL_SESG(AD20, GPIT0, GPIT0, SIG_DESC_SET(SCU430, 24));
  738. SIG_EXPR_LIST_DECL_SESG(AD20, ADC0, ADC0);
  739. PIN_DECL_(AD20, SIG_EXPR_LIST_PTR(AD20, GPIT0), SIG_EXPR_LIST_PTR(AD20, ADC0));
  740. FUNC_GROUP_DECL(GPIT0, AD20);
  741. FUNC_GROUP_DECL(ADC0, AD20);
  742. #define AC18 153
  743. SIG_EXPR_LIST_DECL_SESG(AC18, GPIT1, GPIT1, SIG_DESC_SET(SCU430, 25));
  744. SIG_EXPR_LIST_DECL_SESG(AC18, ADC1, ADC1);
  745. PIN_DECL_(AC18, SIG_EXPR_LIST_PTR(AC18, GPIT1), SIG_EXPR_LIST_PTR(AC18, ADC1));
  746. FUNC_GROUP_DECL(GPIT1, AC18);
  747. FUNC_GROUP_DECL(ADC1, AC18);
  748. #define AE19 154
  749. SIG_EXPR_LIST_DECL_SESG(AE19, GPIT2, GPIT2, SIG_DESC_SET(SCU430, 26));
  750. SIG_EXPR_LIST_DECL_SESG(AE19, ADC2, ADC2);
  751. PIN_DECL_(AE19, SIG_EXPR_LIST_PTR(AE19, GPIT2), SIG_EXPR_LIST_PTR(AE19, ADC2));
  752. FUNC_GROUP_DECL(GPIT2, AE19);
  753. FUNC_GROUP_DECL(ADC2, AE19);
  754. #define AD19 155
  755. SIG_EXPR_LIST_DECL_SESG(AD19, GPIT3, GPIT3, SIG_DESC_SET(SCU430, 27));
  756. SIG_EXPR_LIST_DECL_SESG(AD19, ADC3, ADC3);
  757. PIN_DECL_(AD19, SIG_EXPR_LIST_PTR(AD19, GPIT3), SIG_EXPR_LIST_PTR(AD19, ADC3));
  758. FUNC_GROUP_DECL(GPIT3, AD19);
  759. FUNC_GROUP_DECL(ADC3, AD19);
  760. #define AC19 156
  761. SIG_EXPR_LIST_DECL_SESG(AC19, GPIT4, GPIT4, SIG_DESC_SET(SCU430, 28));
  762. SIG_EXPR_LIST_DECL_SESG(AC19, ADC4, ADC4);
  763. PIN_DECL_(AC19, SIG_EXPR_LIST_PTR(AC19, GPIT4), SIG_EXPR_LIST_PTR(AC19, ADC4));
  764. FUNC_GROUP_DECL(GPIT4, AC19);
  765. FUNC_GROUP_DECL(ADC4, AC19);
  766. #define AB19 157
  767. SIG_EXPR_LIST_DECL_SESG(AB19, GPIT5, GPIT5, SIG_DESC_SET(SCU430, 29));
  768. SIG_EXPR_LIST_DECL_SESG(AB19, ADC5, ADC5);
  769. PIN_DECL_(AB19, SIG_EXPR_LIST_PTR(AB19, GPIT5), SIG_EXPR_LIST_PTR(AB19, ADC5));
  770. FUNC_GROUP_DECL(GPIT5, AB19);
  771. FUNC_GROUP_DECL(ADC5, AB19);
  772. #define AB18 158
  773. SIG_EXPR_LIST_DECL_SESG(AB18, GPIT6, GPIT6, SIG_DESC_SET(SCU430, 30));
  774. SIG_EXPR_LIST_DECL_SESG(AB18, ADC6, ADC6);
  775. PIN_DECL_(AB18, SIG_EXPR_LIST_PTR(AB18, GPIT6), SIG_EXPR_LIST_PTR(AB18, ADC6));
  776. FUNC_GROUP_DECL(GPIT6, AB18);
  777. FUNC_GROUP_DECL(ADC6, AB18);
  778. #define AE18 159
  779. SIG_EXPR_LIST_DECL_SESG(AE18, GPIT7, GPIT7, SIG_DESC_SET(SCU430, 31));
  780. SIG_EXPR_LIST_DECL_SESG(AE18, ADC7, ADC7);
  781. PIN_DECL_(AE18, SIG_EXPR_LIST_PTR(AE18, GPIT7), SIG_EXPR_LIST_PTR(AE18, ADC7));
  782. FUNC_GROUP_DECL(GPIT7, AE18);
  783. FUNC_GROUP_DECL(ADC7, AE18);
  784. #define AB16 160
  785. SIG_EXPR_LIST_DECL_SEMG(AB16, SALT9, SALT9G1, SALT9, SIG_DESC_SET(SCU434, 0),
  786. SIG_DESC_CLEAR(SCU694, 16));
  787. SIG_EXPR_LIST_DECL_SESG(AB16, GPIU0, GPIU0, SIG_DESC_SET(SCU434, 0),
  788. SIG_DESC_SET(SCU694, 16));
  789. SIG_EXPR_LIST_DECL_SESG(AB16, ADC8, ADC8);
  790. PIN_DECL_(AB16, SIG_EXPR_LIST_PTR(AB16, SALT9), SIG_EXPR_LIST_PTR(AB16, GPIU0),
  791. SIG_EXPR_LIST_PTR(AB16, ADC8));
  792. GROUP_DECL(SALT9G1, AB16);
  793. FUNC_DECL_2(SALT9, SALT9G0, SALT9G1);
  794. FUNC_GROUP_DECL(GPIU0, AB16);
  795. FUNC_GROUP_DECL(ADC8, AB16);
  796. #define AA17 161
  797. SIG_EXPR_LIST_DECL_SEMG(AA17, SALT10, SALT10G1, SALT10, SIG_DESC_SET(SCU434, 1),
  798. SIG_DESC_CLEAR(SCU694, 17));
  799. SIG_EXPR_LIST_DECL_SESG(AA17, GPIU1, GPIU1, SIG_DESC_SET(SCU434, 1),
  800. SIG_DESC_SET(SCU694, 17));
  801. SIG_EXPR_LIST_DECL_SESG(AA17, ADC9, ADC9);
  802. PIN_DECL_(AA17, SIG_EXPR_LIST_PTR(AA17, SALT10), SIG_EXPR_LIST_PTR(AA17, GPIU1),
  803. SIG_EXPR_LIST_PTR(AA17, ADC9));
  804. GROUP_DECL(SALT10G1, AA17);
  805. FUNC_DECL_2(SALT10, SALT10G0, SALT10G1);
  806. FUNC_GROUP_DECL(GPIU1, AA17);
  807. FUNC_GROUP_DECL(ADC9, AA17);
  808. #define AB17 162
  809. SIG_EXPR_LIST_DECL_SEMG(AB17, SALT11, SALT11G1, SALT11, SIG_DESC_SET(SCU434, 2),
  810. SIG_DESC_CLEAR(SCU694, 18));
  811. SIG_EXPR_LIST_DECL_SESG(AB17, GPIU2, GPIU2, SIG_DESC_SET(SCU434, 2),
  812. SIG_DESC_SET(SCU694, 18));
  813. SIG_EXPR_LIST_DECL_SESG(AB17, ADC10, ADC10);
  814. PIN_DECL_(AB17, SIG_EXPR_LIST_PTR(AB17, SALT11), SIG_EXPR_LIST_PTR(AB17, GPIU2),
  815. SIG_EXPR_LIST_PTR(AB17, ADC10));
  816. GROUP_DECL(SALT11G1, AB17);
  817. FUNC_DECL_2(SALT11, SALT11G0, SALT11G1);
  818. FUNC_GROUP_DECL(GPIU2, AB17);
  819. FUNC_GROUP_DECL(ADC10, AB17);
  820. #define AE16 163
  821. SIG_EXPR_LIST_DECL_SEMG(AE16, SALT12, SALT12G1, SALT12, SIG_DESC_SET(SCU434, 3),
  822. SIG_DESC_CLEAR(SCU694, 19));
  823. SIG_EXPR_LIST_DECL_SESG(AE16, GPIU3, GPIU3, SIG_DESC_SET(SCU434, 3),
  824. SIG_DESC_SET(SCU694, 19));
  825. SIG_EXPR_LIST_DECL_SESG(AE16, ADC11, ADC11);
  826. PIN_DECL_(AE16, SIG_EXPR_LIST_PTR(AE16, SALT12), SIG_EXPR_LIST_PTR(AE16, GPIU3),
  827. SIG_EXPR_LIST_PTR(AE16, ADC11));
  828. GROUP_DECL(SALT12G1, AE16);
  829. FUNC_DECL_2(SALT12, SALT12G0, SALT12G1);
  830. FUNC_GROUP_DECL(GPIU3, AE16);
  831. FUNC_GROUP_DECL(ADC11, AE16);
  832. #define AC16 164
  833. SIG_EXPR_LIST_DECL_SEMG(AC16, SALT13, SALT13G1, SALT13, SIG_DESC_SET(SCU434, 4),
  834. SIG_DESC_CLEAR(SCU694, 20));
  835. SIG_EXPR_LIST_DECL_SESG(AC16, GPIU4, GPIU4, SIG_DESC_SET(SCU434, 4),
  836. SIG_DESC_SET(SCU694, 20));
  837. SIG_EXPR_LIST_DECL_SESG(AC16, ADC12, ADC12);
  838. PIN_DECL_(AC16, SIG_EXPR_LIST_PTR(AC16, SALT13), SIG_EXPR_LIST_PTR(AC16, GPIU4),
  839. SIG_EXPR_LIST_PTR(AC16, ADC12));
  840. GROUP_DECL(SALT13G1, AC16);
  841. FUNC_DECL_2(SALT13, SALT13G0, SALT13G1);
  842. FUNC_GROUP_DECL(GPIU4, AC16);
  843. FUNC_GROUP_DECL(ADC12, AC16);
  844. #define AA16 165
  845. SIG_EXPR_LIST_DECL_SEMG(AA16, SALT14, SALT14G1, SALT14, SIG_DESC_SET(SCU434, 5),
  846. SIG_DESC_CLEAR(SCU694, 21));
  847. SIG_EXPR_LIST_DECL_SESG(AA16, GPIU5, GPIU5, SIG_DESC_SET(SCU434, 5),
  848. SIG_DESC_SET(SCU694, 21));
  849. SIG_EXPR_LIST_DECL_SESG(AA16, ADC13, ADC13);
  850. PIN_DECL_(AA16, SIG_EXPR_LIST_PTR(AA16, SALT14), SIG_EXPR_LIST_PTR(AA16, GPIU5),
  851. SIG_EXPR_LIST_PTR(AA16, ADC13));
  852. GROUP_DECL(SALT14G1, AA16);
  853. FUNC_DECL_2(SALT14, SALT14G0, SALT14G1);
  854. FUNC_GROUP_DECL(GPIU5, AA16);
  855. FUNC_GROUP_DECL(ADC13, AA16);
  856. #define AD16 166
  857. SIG_EXPR_LIST_DECL_SEMG(AD16, SALT15, SALT15G1, SALT15, SIG_DESC_SET(SCU434, 6),
  858. SIG_DESC_CLEAR(SCU694, 22));
  859. SIG_EXPR_LIST_DECL_SESG(AD16, GPIU6, GPIU6, SIG_DESC_SET(SCU434, 6),
  860. SIG_DESC_SET(SCU694, 22));
  861. SIG_EXPR_LIST_DECL_SESG(AD16, ADC14, ADC14);
  862. PIN_DECL_(AD16, SIG_EXPR_LIST_PTR(AD16, SALT15), SIG_EXPR_LIST_PTR(AD16, GPIU6),
  863. SIG_EXPR_LIST_PTR(AD16, ADC14));
  864. GROUP_DECL(SALT15G1, AD16);
  865. FUNC_DECL_2(SALT15, SALT15G0, SALT15G1);
  866. FUNC_GROUP_DECL(GPIU6, AD16);
  867. FUNC_GROUP_DECL(ADC14, AD16);
  868. #define AC17 167
  869. SIG_EXPR_LIST_DECL_SEMG(AC17, SALT16, SALT16G1, SALT16, SIG_DESC_SET(SCU434, 7),
  870. SIG_DESC_CLEAR(SCU694, 23));
  871. SIG_EXPR_LIST_DECL_SESG(AC17, GPIU7, GPIU7, SIG_DESC_SET(SCU434, 7),
  872. SIG_DESC_SET(SCU694, 23));
  873. SIG_EXPR_LIST_DECL_SESG(AC17, ADC15, ADC15);
  874. PIN_DECL_(AC17, SIG_EXPR_LIST_PTR(AC17, SALT16), SIG_EXPR_LIST_PTR(AC17, GPIU7),
  875. SIG_EXPR_LIST_PTR(AC17, ADC15));
  876. GROUP_DECL(SALT16G1, AC17);
  877. FUNC_DECL_2(SALT16, SALT16G0, SALT16G1);
  878. FUNC_GROUP_DECL(GPIU7, AC17);
  879. FUNC_GROUP_DECL(ADC15, AC17);
  880. #define AB15 168
  881. SSSF_PIN_DECL(AB15, GPIOV0, SIOS3, SIG_DESC_SET(SCU434, 8));
  882. #define AF14 169
  883. SSSF_PIN_DECL(AF14, GPIOV1, SIOS5, SIG_DESC_SET(SCU434, 9));
  884. #define AD14 170
  885. SSSF_PIN_DECL(AD14, GPIOV2, SIOPWREQ, SIG_DESC_SET(SCU434, 10));
  886. #define AC15 171
  887. SSSF_PIN_DECL(AC15, GPIOV3, SIOONCTRL, SIG_DESC_SET(SCU434, 11));
  888. #define AE15 172
  889. SSSF_PIN_DECL(AE15, GPIOV4, SIOPWRGD, SIG_DESC_SET(SCU434, 12));
  890. #define AE14 173
  891. SIG_EXPR_LIST_DECL_SESG(AE14, LPCPD, LPCPD, SIG_DESC_SET(SCU434, 13));
  892. SIG_EXPR_LIST_DECL_SESG(AE14, LHPD, LHPD, SIG_DESC_SET(SCU4D4, 13));
  893. PIN_DECL_2(AE14, GPIOV5, LPCPD, LHPD);
  894. FUNC_GROUP_DECL(LPCPD, AE14);
  895. FUNC_GROUP_DECL(LHPD, AE14);
  896. #define AD15 174
  897. SSSF_PIN_DECL(AD15, GPIOV6, LPCPME, SIG_DESC_SET(SCU434, 14));
  898. #define AF15 175
  899. SSSF_PIN_DECL(AF15, GPIOV7, LPCSMI, SIG_DESC_SET(SCU434, 15));
  900. #define AB7 176
  901. SIG_EXPR_LIST_DECL_SESG(AB7, LAD0, LPC, SIG_DESC_SET(SCU434, 16),
  902. SIG_DESC_SET(SCU510, 6));
  903. SIG_EXPR_LIST_DECL_SESG(AB7, ESPID0, ESPI, SIG_DESC_SET(SCU434, 16));
  904. PIN_DECL_2(AB7, GPIOW0, LAD0, ESPID0);
  905. #define AB8 177
  906. SIG_EXPR_LIST_DECL_SESG(AB8, LAD1, LPC, SIG_DESC_SET(SCU434, 17),
  907. SIG_DESC_SET(SCU510, 6));
  908. SIG_EXPR_LIST_DECL_SESG(AB8, ESPID1, ESPI, SIG_DESC_SET(SCU434, 17));
  909. PIN_DECL_2(AB8, GPIOW1, LAD1, ESPID1);
  910. #define AC8 178
  911. SIG_EXPR_LIST_DECL_SESG(AC8, LAD2, LPC, SIG_DESC_SET(SCU434, 18),
  912. SIG_DESC_SET(SCU510, 6));
  913. SIG_EXPR_LIST_DECL_SESG(AC8, ESPID2, ESPI, SIG_DESC_SET(SCU434, 18));
  914. PIN_DECL_2(AC8, GPIOW2, LAD2, ESPID2);
  915. #define AC7 179
  916. SIG_EXPR_LIST_DECL_SESG(AC7, LAD3, LPC, SIG_DESC_SET(SCU434, 19),
  917. SIG_DESC_SET(SCU510, 6));
  918. SIG_EXPR_LIST_DECL_SESG(AC7, ESPID3, ESPI, SIG_DESC_SET(SCU434, 19));
  919. PIN_DECL_2(AC7, GPIOW3, LAD3, ESPID3);
  920. #define AE7 180
  921. SIG_EXPR_LIST_DECL_SESG(AE7, LCLK, LPC, SIG_DESC_SET(SCU434, 20),
  922. SIG_DESC_SET(SCU510, 6));
  923. SIG_EXPR_LIST_DECL_SESG(AE7, ESPICK, ESPI, SIG_DESC_SET(SCU434, 20));
  924. PIN_DECL_2(AE7, GPIOW4, LCLK, ESPICK);
  925. #define AF7 181
  926. SIG_EXPR_LIST_DECL_SESG(AF7, LFRAME, LPC, SIG_DESC_SET(SCU434, 21),
  927. SIG_DESC_SET(SCU510, 6));
  928. SIG_EXPR_LIST_DECL_SESG(AF7, ESPICS, ESPI, SIG_DESC_SET(SCU434, 21));
  929. PIN_DECL_2(AF7, GPIOW5, LFRAME, ESPICS);
  930. #define AD7 182
  931. SIG_EXPR_LIST_DECL_SESG(AD7, LSIRQ, LSIRQ, SIG_DESC_SET(SCU434, 22),
  932. SIG_DESC_SET(SCU510, 6));
  933. SIG_EXPR_LIST_DECL_SESG(AD7, ESPIALT, ESPIALT, SIG_DESC_SET(SCU434, 22));
  934. PIN_DECL_2(AD7, GPIOW6, LSIRQ, ESPIALT);
  935. FUNC_GROUP_DECL(LSIRQ, AD7);
  936. FUNC_GROUP_DECL(ESPIALT, AD7);
  937. #define AD8 183
  938. SIG_EXPR_LIST_DECL_SESG(AD8, LPCRST, LPC, SIG_DESC_SET(SCU434, 23),
  939. SIG_DESC_SET(SCU510, 6));
  940. SIG_EXPR_LIST_DECL_SESG(AD8, ESPIRST, ESPI, SIG_DESC_SET(SCU434, 23));
  941. PIN_DECL_2(AD8, GPIOW7, LPCRST, ESPIRST);
  942. FUNC_GROUP_DECL(LPC, AB7, AB8, AC8, AC7, AE7, AF7, AD8);
  943. FUNC_GROUP_DECL(ESPI, AB7, AB8, AC8, AC7, AE7, AF7, AD8);
  944. #define AE8 184
  945. SIG_EXPR_LIST_DECL_SEMG(AE8, SPI2CS0, SPI2, SPI2, SIG_DESC_SET(SCU434, 24));
  946. PIN_DECL_1(AE8, GPIOX0, SPI2CS0);
  947. #define AA9 185
  948. SSSF_PIN_DECL(AA9, GPIOX1, SPI2CS1, SIG_DESC_SET(SCU434, 25));
  949. #define AC9 186
  950. SSSF_PIN_DECL(AC9, GPIOX2, SPI2CS2, SIG_DESC_SET(SCU434, 26));
  951. #define AF8 187
  952. SIG_EXPR_LIST_DECL_SEMG(AF8, SPI2CK, SPI2, SPI2, SIG_DESC_SET(SCU434, 27));
  953. PIN_DECL_1(AF8, GPIOX3, SPI2CK);
  954. #define AB9 188
  955. SIG_EXPR_LIST_DECL_SEMG(AB9, SPI2MOSI, SPI2, SPI2, SIG_DESC_SET(SCU434, 28));
  956. PIN_DECL_1(AB9, GPIOX4, SPI2MOSI);
  957. #define AD9 189
  958. SIG_EXPR_LIST_DECL_SEMG(AD9, SPI2MISO, SPI2, SPI2, SIG_DESC_SET(SCU434, 29));
  959. PIN_DECL_1(AD9, GPIOX5, SPI2MISO);
  960. GROUP_DECL(SPI2, AE8, AF8, AB9, AD9);
  961. #define AF9 190
  962. SIG_EXPR_LIST_DECL_SEMG(AF9, SPI2DQ2, QSPI2, SPI2, SIG_DESC_SET(SCU434, 30));
  963. SIG_EXPR_LIST_DECL_SEMG(AF9, TXD12, UART12G1, UART12, SIG_DESC_SET(SCU4D4, 30));
  964. PIN_DECL_2(AF9, GPIOX6, SPI2DQ2, TXD12);
  965. #define AB10 191
  966. SIG_EXPR_LIST_DECL_SEMG(AB10, SPI2DQ3, QSPI2, SPI2, SIG_DESC_SET(SCU434, 31));
  967. SIG_EXPR_LIST_DECL_SEMG(AB10, RXD12, UART12G1, UART12,
  968. SIG_DESC_SET(SCU4D4, 31));
  969. PIN_DECL_2(AB10, GPIOX7, SPI2DQ3, RXD12);
  970. GROUP_DECL(QSPI2, AE8, AF8, AB9, AD9, AF9, AB10);
  971. FUNC_DECL_2(SPI2, SPI2, QSPI2);
  972. GROUP_DECL(UART12G1, AF9, AB10);
  973. FUNC_DECL_2(UART12, UART12G0, UART12G1);
  974. #define AF11 192
  975. SIG_EXPR_LIST_DECL_SESG(AF11, SALT5, SALT5, SIG_DESC_SET(SCU438, 0));
  976. SIG_EXPR_LIST_DECL_SESG(AF11, WDTRST1, WDTRST1, SIG_DESC_SET(SCU4D8, 0));
  977. PIN_DECL_2(AF11, GPIOY0, SALT5, WDTRST1);
  978. FUNC_GROUP_DECL(SALT5, AF11);
  979. FUNC_GROUP_DECL(WDTRST1, AF11);
  980. #define AD12 193
  981. SIG_EXPR_LIST_DECL_SESG(AD12, SALT6, SALT6, SIG_DESC_SET(SCU438, 1));
  982. SIG_EXPR_LIST_DECL_SESG(AD12, WDTRST2, WDTRST2, SIG_DESC_SET(SCU4D8, 1));
  983. PIN_DECL_2(AD12, GPIOY1, SALT6, WDTRST2);
  984. FUNC_GROUP_DECL(SALT6, AD12);
  985. FUNC_GROUP_DECL(WDTRST2, AD12);
  986. #define AE11 194
  987. SIG_EXPR_LIST_DECL_SESG(AE11, SALT7, SALT7, SIG_DESC_SET(SCU438, 2));
  988. SIG_EXPR_LIST_DECL_SESG(AE11, WDTRST3, WDTRST3, SIG_DESC_SET(SCU4D8, 2));
  989. PIN_DECL_2(AE11, GPIOY2, SALT7, WDTRST3);
  990. FUNC_GROUP_DECL(SALT7, AE11);
  991. FUNC_GROUP_DECL(WDTRST3, AE11);
  992. #define AA12 195
  993. SIG_EXPR_LIST_DECL_SESG(AA12, SALT8, SALT8, SIG_DESC_SET(SCU438, 3));
  994. SIG_EXPR_LIST_DECL_SESG(AA12, WDTRST4, WDTRST4, SIG_DESC_SET(SCU4D8, 3));
  995. PIN_DECL_2(AA12, GPIOY3, SALT8, WDTRST4);
  996. FUNC_GROUP_DECL(SALT8, AA12);
  997. FUNC_GROUP_DECL(WDTRST4, AA12);
  998. #define AE12 196
  999. SIG_EXPR_LIST_DECL_SESG(AE12, FWSPIQ2, FWQSPI, SIG_DESC_SET(SCU438, 4));
  1000. SIG_EXPR_LIST_DECL_SESG(AE12, GPIOY4, GPIOY4);
  1001. PIN_DECL_(AE12, SIG_EXPR_LIST_PTR(AE12, FWSPIQ2),
  1002. SIG_EXPR_LIST_PTR(AE12, GPIOY4));
  1003. #define AF12 197
  1004. SIG_EXPR_LIST_DECL_SESG(AF12, FWSPIQ3, FWQSPI, SIG_DESC_SET(SCU438, 5));
  1005. SIG_EXPR_LIST_DECL_SESG(AF12, GPIOY5, GPIOY5);
  1006. PIN_DECL_(AF12, SIG_EXPR_LIST_PTR(AF12, FWSPIQ3),
  1007. SIG_EXPR_LIST_PTR(AF12, GPIOY5));
  1008. FUNC_GROUP_DECL(FWQSPI, AE12, AF12);
  1009. #define AC12 198
  1010. SSSF_PIN_DECL(AC12, GPIOY6, FWSPIABR, SIG_DESC_SET(SCU438, 6));
  1011. #define AB12 199
  1012. SSSF_PIN_DECL(AB12, GPIOY7, FWSPIWP, SIG_DESC_SET(SCU438, 7));
  1013. #define AC10 200
  1014. SSSF_PIN_DECL(AC10, GPIOZ0, SPI1CS1, SIG_DESC_SET(SCU438, 8));
  1015. #define AD10 201
  1016. SSSF_PIN_DECL(AD10, GPIOZ1, SPI1ABR, SIG_DESC_SET(SCU438, 9));
  1017. #define AE10 202
  1018. SSSF_PIN_DECL(AE10, GPIOZ2, SPI1WP, SIG_DESC_SET(SCU438, 10));
  1019. #define AB11 203
  1020. SIG_EXPR_LIST_DECL_SEMG(AB11, SPI1CK, SPI1, SPI1, SIG_DESC_SET(SCU438, 11));
  1021. PIN_DECL_1(AB11, GPIOZ3, SPI1CK);
  1022. #define AC11 204
  1023. SIG_EXPR_LIST_DECL_SEMG(AC11, SPI1MOSI, SPI1, SPI1, SIG_DESC_SET(SCU438, 12));
  1024. PIN_DECL_1(AC11, GPIOZ4, SPI1MOSI);
  1025. #define AA11 205
  1026. SIG_EXPR_LIST_DECL_SEMG(AA11, SPI1MISO, SPI1, SPI1, SIG_DESC_SET(SCU438, 13));
  1027. PIN_DECL_1(AA11, GPIOZ5, SPI1MISO);
  1028. GROUP_DECL(SPI1, AB11, AC11, AA11);
  1029. #define AD11 206
  1030. SIG_EXPR_LIST_DECL_SEMG(AD11, SPI1DQ2, QSPI1, SPI1, SIG_DESC_SET(SCU438, 14));
  1031. SIG_EXPR_LIST_DECL_SEMG(AD11, TXD13, UART13G1, UART13,
  1032. SIG_DESC_CLEAR(SCU4B8, 2), SIG_DESC_SET(SCU4D8, 14));
  1033. PIN_DECL_2(AD11, GPIOZ6, SPI1DQ2, TXD13);
  1034. #define AF10 207
  1035. SIG_EXPR_LIST_DECL_SEMG(AF10, SPI1DQ3, QSPI1, SPI1, SIG_DESC_SET(SCU438, 15));
  1036. SIG_EXPR_LIST_DECL_SEMG(AF10, RXD13, UART13G1, UART13,
  1037. SIG_DESC_CLEAR(SCU4B8, 3), SIG_DESC_SET(SCU4D8, 15));
  1038. PIN_DECL_2(AF10, GPIOZ7, SPI1DQ3, RXD13);
  1039. GROUP_DECL(QSPI1, AB11, AC11, AA11, AD11, AF10);
  1040. FUNC_DECL_2(SPI1, SPI1, QSPI1);
  1041. GROUP_DECL(UART13G1, AD11, AF10);
  1042. FUNC_DECL_2(UART13, UART13G0, UART13G1);
  1043. #define C6 208
  1044. SIG_EXPR_LIST_DECL_SESG(C6, RGMII1TXCK, RGMII1, SIG_DESC_SET(SCU400, 0),
  1045. SIG_DESC_SET(SCU500, 6));
  1046. SIG_EXPR_LIST_DECL_SESG(C6, RMII1RCLKO, RMII1, SIG_DESC_SET(SCU400, 0),
  1047. SIG_DESC_CLEAR(SCU500, 6));
  1048. PIN_DECL_2(C6, GPIO18A0, RGMII1TXCK, RMII1RCLKO);
  1049. #define D6 209
  1050. SIG_EXPR_LIST_DECL_SESG(D6, RGMII1TXCTL, RGMII1, SIG_DESC_SET(SCU400, 1),
  1051. SIG_DESC_SET(SCU500, 6));
  1052. SIG_EXPR_LIST_DECL_SESG(D6, RMII1TXEN, RMII1, SIG_DESC_SET(SCU400, 1),
  1053. SIG_DESC_CLEAR(SCU500, 6));
  1054. PIN_DECL_2(D6, GPIO18A1, RGMII1TXCTL, RMII1TXEN);
  1055. #define D5 210
  1056. SIG_EXPR_LIST_DECL_SESG(D5, RGMII1TXD0, RGMII1, SIG_DESC_SET(SCU400, 2),
  1057. SIG_DESC_SET(SCU500, 6));
  1058. SIG_EXPR_LIST_DECL_SESG(D5, RMII1TXD0, RMII1, SIG_DESC_SET(SCU400, 2),
  1059. SIG_DESC_CLEAR(SCU500, 6));
  1060. PIN_DECL_2(D5, GPIO18A2, RGMII1TXD0, RMII1TXD0);
  1061. #define A3 211
  1062. SIG_EXPR_LIST_DECL_SESG(A3, RGMII1TXD1, RGMII1, SIG_DESC_SET(SCU400, 3),
  1063. SIG_DESC_SET(SCU500, 6));
  1064. SIG_EXPR_LIST_DECL_SESG(A3, RMII1TXD1, RMII1, SIG_DESC_SET(SCU400, 3),
  1065. SIG_DESC_CLEAR(SCU500, 6));
  1066. PIN_DECL_2(A3, GPIO18A3, RGMII1TXD1, RMII1TXD1);
  1067. #define C5 212
  1068. SIG_EXPR_LIST_DECL_SESG(C5, RGMII1TXD2, RGMII1, SIG_DESC_SET(SCU400, 4),
  1069. SIG_DESC_SET(SCU500, 6));
  1070. PIN_DECL_1(C5, GPIO18A4, RGMII1TXD2);
  1071. #define E6 213
  1072. SIG_EXPR_LIST_DECL_SESG(E6, RGMII1TXD3, RGMII1, SIG_DESC_SET(SCU400, 5),
  1073. SIG_DESC_SET(SCU500, 6));
  1074. PIN_DECL_1(E6, GPIO18A5, RGMII1TXD3);
  1075. #define B3 214
  1076. SIG_EXPR_LIST_DECL_SESG(B3, RGMII1RXCK, RGMII1, SIG_DESC_SET(SCU400, 6),
  1077. SIG_DESC_SET(SCU500, 6));
  1078. SIG_EXPR_LIST_DECL_SESG(B3, RMII1RCLKI, RMII1, SIG_DESC_SET(SCU400, 6),
  1079. SIG_DESC_CLEAR(SCU500, 6));
  1080. PIN_DECL_2(B3, GPIO18A6, RGMII1RXCK, RMII1RCLKI);
  1081. #define A2 215
  1082. SIG_EXPR_LIST_DECL_SESG(A2, RGMII1RXCTL, RGMII1, SIG_DESC_SET(SCU400, 7),
  1083. SIG_DESC_SET(SCU500, 6));
  1084. PIN_DECL_1(A2, GPIO18A7, RGMII1RXCTL);
  1085. #define B2 216
  1086. SIG_EXPR_LIST_DECL_SESG(B2, RGMII1RXD0, RGMII1, SIG_DESC_SET(SCU400, 8),
  1087. SIG_DESC_SET(SCU500, 6));
  1088. SIG_EXPR_LIST_DECL_SESG(B2, RMII1RXD0, RMII1, SIG_DESC_SET(SCU400, 8),
  1089. SIG_DESC_CLEAR(SCU500, 6));
  1090. PIN_DECL_2(B2, GPIO18B0, RGMII1RXD0, RMII1RXD0);
  1091. #define B1 217
  1092. SIG_EXPR_LIST_DECL_SESG(B1, RGMII1RXD1, RGMII1, SIG_DESC_SET(SCU400, 9),
  1093. SIG_DESC_SET(SCU500, 6));
  1094. SIG_EXPR_LIST_DECL_SESG(B1, RMII1RXD1, RMII1, SIG_DESC_SET(SCU400, 9),
  1095. SIG_DESC_CLEAR(SCU500, 6));
  1096. PIN_DECL_2(B1, GPIO18B1, RGMII1RXD1, RMII1RXD1);
  1097. #define C4 218
  1098. SIG_EXPR_LIST_DECL_SESG(C4, RGMII1RXD2, RGMII1, SIG_DESC_SET(SCU400, 10),
  1099. SIG_DESC_SET(SCU500, 6));
  1100. SIG_EXPR_LIST_DECL_SESG(C4, RMII1CRSDV, RMII1, SIG_DESC_SET(SCU400, 10),
  1101. SIG_DESC_CLEAR(SCU500, 6));
  1102. PIN_DECL_2(C4, GPIO18B2, RGMII1RXD2, RMII1CRSDV);
  1103. #define E5 219
  1104. SIG_EXPR_LIST_DECL_SESG(E5, RGMII1RXD3, RGMII1, SIG_DESC_SET(SCU400, 11),
  1105. SIG_DESC_SET(SCU500, 6));
  1106. SIG_EXPR_LIST_DECL_SESG(E5, RMII1RXER, RMII1, SIG_DESC_SET(SCU400, 11),
  1107. SIG_DESC_CLEAR(SCU500, 6));
  1108. PIN_DECL_2(E5, GPIO18B3, RGMII1RXD3, RMII1RXER);
  1109. FUNC_GROUP_DECL(RGMII1, C6, D6, D5, A3, C5, E6, B3, A2, B2, B1, C4, E5);
  1110. FUNC_GROUP_DECL(RMII1, C6, D6, D5, A3, B3, B2, B1, C4, E5);
  1111. #define D4 220
  1112. SIG_EXPR_LIST_DECL_SESG(D4, RGMII2TXCK, RGMII2, SIG_DESC_SET(SCU400, 12),
  1113. SIG_DESC_SET(SCU500, 7));
  1114. SIG_EXPR_LIST_DECL_SESG(D4, RMII2RCLKO, RMII2, SIG_DESC_SET(SCU400, 12),
  1115. SIG_DESC_CLEAR(SCU500, 7));
  1116. PIN_DECL_2(D4, GPIO18B4, RGMII2TXCK, RMII2RCLKO);
  1117. #define C2 221
  1118. SIG_EXPR_LIST_DECL_SESG(C2, RGMII2TXCTL, RGMII2, SIG_DESC_SET(SCU400, 13),
  1119. SIG_DESC_SET(SCU500, 7));
  1120. SIG_EXPR_LIST_DECL_SESG(C2, RMII2TXEN, RMII2, SIG_DESC_SET(SCU400, 13),
  1121. SIG_DESC_CLEAR(SCU500, 7));
  1122. PIN_DECL_2(C2, GPIO18B5, RGMII2TXCTL, RMII2TXEN);
  1123. #define C1 222
  1124. SIG_EXPR_LIST_DECL_SESG(C1, RGMII2TXD0, RGMII2, SIG_DESC_SET(SCU400, 14),
  1125. SIG_DESC_SET(SCU500, 7));
  1126. SIG_EXPR_LIST_DECL_SESG(C1, RMII2TXD0, RMII2, SIG_DESC_SET(SCU400, 14),
  1127. SIG_DESC_CLEAR(SCU500, 7));
  1128. PIN_DECL_2(C1, GPIO18B6, RGMII2TXD0, RMII2TXD0);
  1129. #define D3 223
  1130. SIG_EXPR_LIST_DECL_SESG(D3, RGMII2TXD1, RGMII2, SIG_DESC_SET(SCU400, 15),
  1131. SIG_DESC_SET(SCU500, 7));
  1132. SIG_EXPR_LIST_DECL_SESG(D3, RMII2TXD1, RMII2, SIG_DESC_SET(SCU400, 15),
  1133. SIG_DESC_CLEAR(SCU500, 7));
  1134. PIN_DECL_2(D3, GPIO18B7, RGMII2TXD1, RMII2TXD1);
  1135. #define E4 224
  1136. SIG_EXPR_LIST_DECL_SESG(E4, RGMII2TXD2, RGMII2, SIG_DESC_SET(SCU400, 16),
  1137. SIG_DESC_SET(SCU500, 7));
  1138. PIN_DECL_1(E4, GPIO18C0, RGMII2TXD2);
  1139. #define F5 225
  1140. SIG_EXPR_LIST_DECL_SESG(F5, RGMII2TXD3, RGMII2, SIG_DESC_SET(SCU400, 17),
  1141. SIG_DESC_SET(SCU500, 7));
  1142. PIN_DECL_1(F5, GPIO18C1, RGMII2TXD3);
  1143. #define D2 226
  1144. SIG_EXPR_LIST_DECL_SESG(D2, RGMII2RXCK, RGMII2, SIG_DESC_SET(SCU400, 18),
  1145. SIG_DESC_SET(SCU500, 7));
  1146. SIG_EXPR_LIST_DECL_SESG(D2, RMII2RCLKI, RMII2, SIG_DESC_SET(SCU400, 18),
  1147. SIG_DESC_CLEAR(SCU500, 7));
  1148. PIN_DECL_2(D2, GPIO18C2, RGMII2RXCK, RMII2RCLKI);
  1149. #define E3 227
  1150. SIG_EXPR_LIST_DECL_SESG(E3, RGMII2RXCTL, RGMII2, SIG_DESC_SET(SCU400, 19),
  1151. SIG_DESC_SET(SCU500, 7));
  1152. PIN_DECL_1(E3, GPIO18C3, RGMII2RXCTL);
  1153. #define D1 228
  1154. SIG_EXPR_LIST_DECL_SESG(D1, RGMII2RXD0, RGMII2, SIG_DESC_SET(SCU400, 20),
  1155. SIG_DESC_SET(SCU500, 7));
  1156. SIG_EXPR_LIST_DECL_SESG(D1, RMII2RXD0, RMII2, SIG_DESC_SET(SCU400, 20),
  1157. SIG_DESC_CLEAR(SCU500, 7));
  1158. PIN_DECL_2(D1, GPIO18C4, RGMII2RXD0, RMII2RXD0);
  1159. #define F4 229
  1160. SIG_EXPR_LIST_DECL_SESG(F4, RGMII2RXD1, RGMII2, SIG_DESC_SET(SCU400, 21),
  1161. SIG_DESC_SET(SCU500, 7));
  1162. SIG_EXPR_LIST_DECL_SESG(F4, RMII2RXD1, RMII2, SIG_DESC_SET(SCU400, 21),
  1163. SIG_DESC_CLEAR(SCU500, 7));
  1164. PIN_DECL_2(F4, GPIO18C5, RGMII2RXD1, RMII2RXD1);
  1165. #define E2 230
  1166. SIG_EXPR_LIST_DECL_SESG(E2, RGMII2RXD2, RGMII2, SIG_DESC_SET(SCU400, 22),
  1167. SIG_DESC_SET(SCU500, 7));
  1168. SIG_EXPR_LIST_DECL_SESG(E2, RMII2CRSDV, RMII2, SIG_DESC_SET(SCU400, 22),
  1169. SIG_DESC_CLEAR(SCU500, 7));
  1170. PIN_DECL_2(E2, GPIO18C6, RGMII2RXD2, RMII2CRSDV);
  1171. #define E1 231
  1172. SIG_EXPR_LIST_DECL_SESG(E1, RGMII2RXD3, RGMII2, SIG_DESC_SET(SCU400, 23),
  1173. SIG_DESC_SET(SCU500, 7));
  1174. SIG_EXPR_LIST_DECL_SESG(E1, RMII2RXER, RMII2, SIG_DESC_SET(SCU400, 23),
  1175. SIG_DESC_CLEAR(SCU500, 7));
  1176. PIN_DECL_2(E1, GPIO18C7, RGMII2RXD3, RMII2RXER);
  1177. FUNC_GROUP_DECL(RGMII2, D4, C2, C1, D3, E4, F5, D2, E3, D1, F4, E2, E1);
  1178. FUNC_GROUP_DECL(RMII2, D4, C2, C1, D3, D2, D1, F4, E2, E1);
  1179. #define AB4 232
  1180. SIG_EXPR_LIST_DECL_SEMG(AB4, EMMCCLK, EMMCG1, EMMC, SIG_DESC_SET(SCU400, 24));
  1181. PIN_DECL_1(AB4, GPIO18D0, EMMCCLK);
  1182. #define AA4 233
  1183. SIG_EXPR_LIST_DECL_SEMG(AA4, EMMCCMD, EMMCG1, EMMC, SIG_DESC_SET(SCU400, 25));
  1184. PIN_DECL_1(AA4, GPIO18D1, EMMCCMD);
  1185. #define AC4 234
  1186. SIG_EXPR_LIST_DECL_SEMG(AC4, EMMCDAT0, EMMCG1, EMMC, SIG_DESC_SET(SCU400, 26));
  1187. PIN_DECL_1(AC4, GPIO18D2, EMMCDAT0);
  1188. #define AA5 235
  1189. SIG_EXPR_LIST_DECL_SEMG(AA5, EMMCDAT1, EMMCG4, EMMC, SIG_DESC_SET(SCU400, 27));
  1190. PIN_DECL_1(AA5, GPIO18D3, EMMCDAT1);
  1191. #define Y5 236
  1192. SIG_EXPR_LIST_DECL_SEMG(Y5, EMMCDAT2, EMMCG4, EMMC, SIG_DESC_SET(SCU400, 28));
  1193. PIN_DECL_1(Y5, GPIO18D4, EMMCDAT2);
  1194. #define AB5 237
  1195. SIG_EXPR_LIST_DECL_SEMG(AB5, EMMCDAT3, EMMCG4, EMMC, SIG_DESC_SET(SCU400, 29));
  1196. PIN_DECL_1(AB5, GPIO18D5, EMMCDAT3);
  1197. #define AB6 238
  1198. SIG_EXPR_LIST_DECL_SEMG(AB6, EMMCCD, EMMCG1, EMMC, SIG_DESC_SET(SCU400, 30));
  1199. PIN_DECL_1(AB6, GPIO18D6, EMMCCD);
  1200. #define AC5 239
  1201. SIG_EXPR_LIST_DECL_SEMG(AC5, EMMCWP, EMMCG1, EMMC, SIG_DESC_SET(SCU400, 31));
  1202. PIN_DECL_1(AC5, GPIO18D7, EMMCWP);
  1203. GROUP_DECL(EMMCG1, AB4, AA4, AC4, AB6, AC5);
  1204. GROUP_DECL(EMMCG4, AB4, AA4, AC4, AA5, Y5, AB5, AB6, AC5);
  1205. #define Y1 240
  1206. SIG_EXPR_LIST_DECL_SEMG(Y1, FWSPIDCS, FWSPID, FWSPID, SIG_DESC_SET(SCU500, 3));
  1207. SIG_EXPR_LIST_DECL_SESG(Y1, VBCS, VB, SIG_DESC_SET(SCU500, 5));
  1208. SIG_EXPR_LIST_DECL_SEMG(Y1, EMMCDAT4, EMMCG8, EMMC, SIG_DESC_SET(SCU404, 0));
  1209. PIN_DECL_3(Y1, GPIO18E0, FWSPIDCS, VBCS, EMMCDAT4);
  1210. #define Y2 241
  1211. SIG_EXPR_LIST_DECL_SEMG(Y2, FWSPIDCK, FWSPID, FWSPID, SIG_DESC_SET(SCU500, 3));
  1212. SIG_EXPR_LIST_DECL_SESG(Y2, VBCK, VB, SIG_DESC_SET(SCU500, 5));
  1213. SIG_EXPR_LIST_DECL_SEMG(Y2, EMMCDAT5, EMMCG8, EMMC, SIG_DESC_SET(SCU404, 1));
  1214. PIN_DECL_3(Y2, GPIO18E1, FWSPIDCK, VBCK, EMMCDAT5);
  1215. #define Y3 242
  1216. SIG_EXPR_LIST_DECL_SEMG(Y3, FWSPIDMOSI, FWSPID, FWSPID,
  1217. SIG_DESC_SET(SCU500, 3));
  1218. SIG_EXPR_LIST_DECL_SESG(Y3, VBMOSI, VB, SIG_DESC_SET(SCU500, 5));
  1219. SIG_EXPR_LIST_DECL_SEMG(Y3, EMMCDAT6, EMMCG8, EMMC, SIG_DESC_SET(SCU404, 2));
  1220. PIN_DECL_3(Y3, GPIO18E2, FWSPIDMOSI, VBMOSI, EMMCDAT6);
  1221. #define Y4 243
  1222. SIG_EXPR_LIST_DECL_SEMG(Y4, FWSPIDMISO, FWSPID, FWSPID,
  1223. SIG_DESC_SET(SCU500, 3));
  1224. SIG_EXPR_LIST_DECL_SESG(Y4, VBMISO, VB, SIG_DESC_SET(SCU500, 5));
  1225. SIG_EXPR_LIST_DECL_SEMG(Y4, EMMCDAT7, EMMCG8, EMMC, SIG_DESC_SET(SCU404, 3));
  1226. PIN_DECL_3(Y4, GPIO18E3, FWSPIDMISO, VBMISO, EMMCDAT7);
  1227. GROUP_DECL(FWSPID, Y1, Y2, Y3, Y4);
  1228. GROUP_DECL(EMMCG8, AB4, AA4, AC4, AA5, Y5, AB5, AB6, AC5, Y1, Y2, Y3, Y4);
  1229. FUNC_DECL_1(FWSPID, FWSPID);
  1230. FUNC_GROUP_DECL(VB, Y1, Y2, Y3, Y4);
  1231. FUNC_DECL_3(EMMC, EMMCG1, EMMCG4, EMMCG8);
  1232. /*
  1233. * FIXME: Confirm bits and priorities are the right way around for the
  1234. * following 4 pins
  1235. */
  1236. #define AF25 244
  1237. SIG_EXPR_LIST_DECL_SEMG(AF25, I3C3SCL, I3C3, I3C3, SIG_DESC_SET(SCU438, 20));
  1238. SIG_EXPR_LIST_DECL_SESG(AF25, FSI1CLK, FSI1, SIG_DESC_SET(SCU4D8, 20));
  1239. PIN_DECL_(AF25, SIG_EXPR_LIST_PTR(AF25, I3C3SCL),
  1240. SIG_EXPR_LIST_PTR(AF25, FSI1CLK));
  1241. #define AE26 245
  1242. SIG_EXPR_LIST_DECL_SEMG(AE26, I3C3SDA, I3C3, I3C3, SIG_DESC_SET(SCU438, 21));
  1243. SIG_EXPR_LIST_DECL_SESG(AE26, FSI1DATA, FSI1, SIG_DESC_SET(SCU4D8, 21));
  1244. PIN_DECL_(AE26, SIG_EXPR_LIST_PTR(AE26, I3C3SDA),
  1245. SIG_EXPR_LIST_PTR(AE26, FSI1DATA));
  1246. GROUP_DECL(I3C3, AF25, AE26);
  1247. FUNC_DECL_2(I3C3, HVI3C3, I3C3);
  1248. FUNC_GROUP_DECL(FSI1, AF25, AE26);
  1249. #define AE25 246
  1250. SIG_EXPR_LIST_DECL_SEMG(AE25, I3C4SCL, I3C4, I3C4, SIG_DESC_SET(SCU438, 22));
  1251. SIG_EXPR_LIST_DECL_SESG(AE25, FSI2CLK, FSI2, SIG_DESC_SET(SCU4D8, 22));
  1252. PIN_DECL_(AE25, SIG_EXPR_LIST_PTR(AE25, I3C4SCL),
  1253. SIG_EXPR_LIST_PTR(AE25, FSI2CLK));
  1254. #define AF24 247
  1255. SIG_EXPR_LIST_DECL_SEMG(AF24, I3C4SDA, I3C4, I3C4, SIG_DESC_SET(SCU438, 23));
  1256. SIG_EXPR_LIST_DECL_SESG(AF24, FSI2DATA, FSI2, SIG_DESC_SET(SCU4D8, 23));
  1257. PIN_DECL_(AF24, SIG_EXPR_LIST_PTR(AF24, I3C4SDA),
  1258. SIG_EXPR_LIST_PTR(AF24, FSI2DATA));
  1259. GROUP_DECL(I3C4, AE25, AF24);
  1260. FUNC_DECL_2(I3C4, HVI3C4, I3C4);
  1261. FUNC_GROUP_DECL(FSI2, AE25, AF24);
  1262. #define AF23 248
  1263. SIG_EXPR_LIST_DECL_SESG(AF23, I3C1SCL, I3C1, SIG_DESC_SET(SCU438, 16));
  1264. PIN_DECL_(AF23, SIG_EXPR_LIST_PTR(AF23, I3C1SCL));
  1265. #define AE24 249
  1266. SIG_EXPR_LIST_DECL_SESG(AE24, I3C1SDA, I3C1, SIG_DESC_SET(SCU438, 17));
  1267. PIN_DECL_(AE24, SIG_EXPR_LIST_PTR(AE24, I3C1SDA));
  1268. FUNC_GROUP_DECL(I3C1, AF23, AE24);
  1269. #define AF22 250
  1270. SIG_EXPR_LIST_DECL_SESG(AF22, I3C2SCL, I3C2, SIG_DESC_SET(SCU438, 18));
  1271. PIN_DECL_(AF22, SIG_EXPR_LIST_PTR(AF22, I3C2SCL));
  1272. #define AE22 251
  1273. SIG_EXPR_LIST_DECL_SESG(AE22, I3C2SDA, I3C2, SIG_DESC_SET(SCU438, 19));
  1274. PIN_DECL_(AE22, SIG_EXPR_LIST_PTR(AE22, I3C2SDA));
  1275. FUNC_GROUP_DECL(I3C2, AF22, AE22);
  1276. #define USB2ADP_DESC { ASPEED_IP_SCU, SCU440, GENMASK(25, 24), 0, 0 }
  1277. #define USB2AD_DESC { ASPEED_IP_SCU, SCU440, GENMASK(25, 24), 1, 0 }
  1278. #define USB2AH_DESC { ASPEED_IP_SCU, SCU440, GENMASK(25, 24), 2, 0 }
  1279. #define USB2AHP_DESC { ASPEED_IP_SCU, SCU440, GENMASK(25, 24), 3, 0 }
  1280. #define USB11BHID_DESC { ASPEED_IP_SCU, SCU440, GENMASK(29, 28), 0, 0 }
  1281. #define USB2BD_DESC { ASPEED_IP_SCU, SCU440, GENMASK(29, 28), 1, 0 }
  1282. #define USB2BH_DESC { ASPEED_IP_SCU, SCU440, GENMASK(29, 28), 2, 0 }
  1283. #define A4 252
  1284. SIG_EXPR_LIST_DECL_SEMG(A4, USB2ADPDP, USBA, USB2ADP, USB2ADP_DESC,
  1285. SIG_DESC_SET(SCUC20, 16));
  1286. SIG_EXPR_LIST_DECL_SEMG(A4, USB2ADDP, USBA, USB2AD, USB2AD_DESC);
  1287. SIG_EXPR_LIST_DECL_SEMG(A4, USB2AHDP, USBA, USB2AH, USB2AH_DESC);
  1288. SIG_EXPR_LIST_DECL_SEMG(A4, USB2AHPDP, USBA, USB2AHP, USB2AHP_DESC,
  1289. SIG_DESC_SET(SCUC20, 16));
  1290. PIN_DECL_(A4, SIG_EXPR_LIST_PTR(A4, USB2ADPDP), SIG_EXPR_LIST_PTR(A4, USB2ADDP),
  1291. SIG_EXPR_LIST_PTR(A4, USB2AHDP), SIG_EXPR_LIST_PTR(A4, USB2AHPDP));
  1292. #define B4 253
  1293. SIG_EXPR_LIST_DECL_SEMG(B4, USB2ADPDN, USBA, USB2ADP, USB2ADP_DESC);
  1294. SIG_EXPR_LIST_DECL_SEMG(B4, USB2ADDN, USBA, USB2AD, USB2AD_DESC);
  1295. SIG_EXPR_LIST_DECL_SEMG(B4, USB2AHDN, USBA, USB2AH, USB2AH_DESC);
  1296. SIG_EXPR_LIST_DECL_SEMG(B4, USB2AHPDN, USBA, USB2AHP, USB2AHP_DESC);
  1297. PIN_DECL_(B4, SIG_EXPR_LIST_PTR(B4, USB2ADPDN), SIG_EXPR_LIST_PTR(B4, USB2ADDN),
  1298. SIG_EXPR_LIST_PTR(B4, USB2AHDN), SIG_EXPR_LIST_PTR(B4, USB2AHPDN));
  1299. GROUP_DECL(USBA, A4, B4);
  1300. FUNC_DECL_1(USB2ADP, USBA);
  1301. FUNC_DECL_1(USB2AD, USBA);
  1302. FUNC_DECL_1(USB2AH, USBA);
  1303. FUNC_DECL_1(USB2AHP, USBA);
  1304. #define A6 254
  1305. SIG_EXPR_LIST_DECL_SEMG(A6, USB11BDP, USBB, USB11BHID, USB11BHID_DESC);
  1306. SIG_EXPR_LIST_DECL_SEMG(A6, USB2BDDP, USBB, USB2BD, USB2BD_DESC);
  1307. SIG_EXPR_LIST_DECL_SEMG(A6, USB2BHDP, USBB, USB2BH, USB2BH_DESC);
  1308. PIN_DECL_(A6, SIG_EXPR_LIST_PTR(A6, USB11BDP), SIG_EXPR_LIST_PTR(A6, USB2BDDP),
  1309. SIG_EXPR_LIST_PTR(A6, USB2BHDP));
  1310. #define B6 255
  1311. SIG_EXPR_LIST_DECL_SEMG(B6, USB11BDN, USBB, USB11BHID, USB11BHID_DESC);
  1312. SIG_EXPR_LIST_DECL_SEMG(B6, USB2BDDN, USBB, USB2BD, USB2BD_DESC);
  1313. SIG_EXPR_LIST_DECL_SEMG(B6, USB2BHDN, USBB, USB2BH, USB2BH_DESC);
  1314. PIN_DECL_(B6, SIG_EXPR_LIST_PTR(B6, USB11BDN), SIG_EXPR_LIST_PTR(B6, USB2BDDN),
  1315. SIG_EXPR_LIST_PTR(B6, USB2BHDN));
  1316. GROUP_DECL(USBB, A6, B6);
  1317. FUNC_DECL_1(USB11BHID, USBB);
  1318. FUNC_DECL_1(USB2BD, USBB);
  1319. FUNC_DECL_1(USB2BH, USBB);
  1320. #define D7 257
  1321. SIG_EXPR_LIST_DECL_SESG(D7, RCRST, PCIERC1, SIG_DESC_SET(SCU040, 19),
  1322. SIG_DESC_SET(SCU500, 24));
  1323. PIN_DECL_(D7, SIG_EXPR_LIST_PTR(D7, RCRST));
  1324. FUNC_GROUP_DECL(PCIERC1, D7);
  1325. /* Pins, groups and functions are sort(1):ed alphabetically for sanity */
  1326. static struct pinctrl_pin_desc aspeed_g6_pins[ASPEED_G6_NR_PINS] = {
  1327. ASPEED_PINCTRL_PIN(A11),
  1328. ASPEED_PINCTRL_PIN(A12),
  1329. ASPEED_PINCTRL_PIN(A13),
  1330. ASPEED_PINCTRL_PIN(A14),
  1331. ASPEED_PINCTRL_PIN(A15),
  1332. ASPEED_PINCTRL_PIN(A16),
  1333. ASPEED_PINCTRL_PIN(A17),
  1334. ASPEED_PINCTRL_PIN(A18),
  1335. ASPEED_PINCTRL_PIN(A19),
  1336. ASPEED_PINCTRL_PIN(A2),
  1337. ASPEED_PINCTRL_PIN(A20),
  1338. ASPEED_PINCTRL_PIN(A21),
  1339. ASPEED_PINCTRL_PIN(A22),
  1340. ASPEED_PINCTRL_PIN(A23),
  1341. ASPEED_PINCTRL_PIN(A24),
  1342. ASPEED_PINCTRL_PIN(A25),
  1343. ASPEED_PINCTRL_PIN(A3),
  1344. ASPEED_PINCTRL_PIN(A4),
  1345. ASPEED_PINCTRL_PIN(A6),
  1346. ASPEED_PINCTRL_PIN(AA11),
  1347. ASPEED_PINCTRL_PIN(AA12),
  1348. ASPEED_PINCTRL_PIN(AA16),
  1349. ASPEED_PINCTRL_PIN(AA17),
  1350. ASPEED_PINCTRL_PIN(AA23),
  1351. ASPEED_PINCTRL_PIN(AA24),
  1352. ASPEED_PINCTRL_PIN(AA25),
  1353. ASPEED_PINCTRL_PIN(AA26),
  1354. ASPEED_PINCTRL_PIN(AA4),
  1355. ASPEED_PINCTRL_PIN(AA5),
  1356. ASPEED_PINCTRL_PIN(AA9),
  1357. ASPEED_PINCTRL_PIN(AB10),
  1358. ASPEED_PINCTRL_PIN(AB11),
  1359. ASPEED_PINCTRL_PIN(AB12),
  1360. ASPEED_PINCTRL_PIN(AB15),
  1361. ASPEED_PINCTRL_PIN(AB16),
  1362. ASPEED_PINCTRL_PIN(AB17),
  1363. ASPEED_PINCTRL_PIN(AB18),
  1364. ASPEED_PINCTRL_PIN(AB19),
  1365. ASPEED_PINCTRL_PIN(AB22),
  1366. ASPEED_PINCTRL_PIN(AB23),
  1367. ASPEED_PINCTRL_PIN(AB24),
  1368. ASPEED_PINCTRL_PIN(AB25),
  1369. ASPEED_PINCTRL_PIN(AB26),
  1370. ASPEED_PINCTRL_PIN(AB4),
  1371. ASPEED_PINCTRL_PIN(AB5),
  1372. ASPEED_PINCTRL_PIN(AB6),
  1373. ASPEED_PINCTRL_PIN(AB7),
  1374. ASPEED_PINCTRL_PIN(AB8),
  1375. ASPEED_PINCTRL_PIN(AB9),
  1376. ASPEED_PINCTRL_PIN(AC10),
  1377. ASPEED_PINCTRL_PIN(AC11),
  1378. ASPEED_PINCTRL_PIN(AC12),
  1379. ASPEED_PINCTRL_PIN(AC15),
  1380. ASPEED_PINCTRL_PIN(AC16),
  1381. ASPEED_PINCTRL_PIN(AC17),
  1382. ASPEED_PINCTRL_PIN(AC18),
  1383. ASPEED_PINCTRL_PIN(AC19),
  1384. ASPEED_PINCTRL_PIN(AC22),
  1385. ASPEED_PINCTRL_PIN(AC23),
  1386. ASPEED_PINCTRL_PIN(AC24),
  1387. ASPEED_PINCTRL_PIN(AC26),
  1388. ASPEED_PINCTRL_PIN(AC4),
  1389. ASPEED_PINCTRL_PIN(AC5),
  1390. ASPEED_PINCTRL_PIN(AC7),
  1391. ASPEED_PINCTRL_PIN(AC8),
  1392. ASPEED_PINCTRL_PIN(AC9),
  1393. ASPEED_PINCTRL_PIN(AD10),
  1394. ASPEED_PINCTRL_PIN(AD11),
  1395. ASPEED_PINCTRL_PIN(AD12),
  1396. ASPEED_PINCTRL_PIN(AD14),
  1397. ASPEED_PINCTRL_PIN(AD15),
  1398. ASPEED_PINCTRL_PIN(AD16),
  1399. ASPEED_PINCTRL_PIN(AD19),
  1400. ASPEED_PINCTRL_PIN(AD20),
  1401. ASPEED_PINCTRL_PIN(AD22),
  1402. ASPEED_PINCTRL_PIN(AD23),
  1403. ASPEED_PINCTRL_PIN(AD24),
  1404. ASPEED_PINCTRL_PIN(AD25),
  1405. ASPEED_PINCTRL_PIN(AD26),
  1406. ASPEED_PINCTRL_PIN(AD7),
  1407. ASPEED_PINCTRL_PIN(AD8),
  1408. ASPEED_PINCTRL_PIN(AD9),
  1409. ASPEED_PINCTRL_PIN(AE10),
  1410. ASPEED_PINCTRL_PIN(AE11),
  1411. ASPEED_PINCTRL_PIN(AE12),
  1412. ASPEED_PINCTRL_PIN(AE14),
  1413. ASPEED_PINCTRL_PIN(AE15),
  1414. ASPEED_PINCTRL_PIN(AE16),
  1415. ASPEED_PINCTRL_PIN(AE18),
  1416. ASPEED_PINCTRL_PIN(AE19),
  1417. ASPEED_PINCTRL_PIN(AE22),
  1418. ASPEED_PINCTRL_PIN(AE24),
  1419. ASPEED_PINCTRL_PIN(AE25),
  1420. ASPEED_PINCTRL_PIN(AE26),
  1421. ASPEED_PINCTRL_PIN(AE7),
  1422. ASPEED_PINCTRL_PIN(AE8),
  1423. ASPEED_PINCTRL_PIN(AF10),
  1424. ASPEED_PINCTRL_PIN(AF11),
  1425. ASPEED_PINCTRL_PIN(AF12),
  1426. ASPEED_PINCTRL_PIN(AF14),
  1427. ASPEED_PINCTRL_PIN(AF15),
  1428. ASPEED_PINCTRL_PIN(AF22),
  1429. ASPEED_PINCTRL_PIN(AF23),
  1430. ASPEED_PINCTRL_PIN(AF24),
  1431. ASPEED_PINCTRL_PIN(AF25),
  1432. ASPEED_PINCTRL_PIN(AF7),
  1433. ASPEED_PINCTRL_PIN(AF8),
  1434. ASPEED_PINCTRL_PIN(AF9),
  1435. ASPEED_PINCTRL_PIN(B1),
  1436. ASPEED_PINCTRL_PIN(B12),
  1437. ASPEED_PINCTRL_PIN(B13),
  1438. ASPEED_PINCTRL_PIN(B14),
  1439. ASPEED_PINCTRL_PIN(B16),
  1440. ASPEED_PINCTRL_PIN(B17),
  1441. ASPEED_PINCTRL_PIN(B18),
  1442. ASPEED_PINCTRL_PIN(B2),
  1443. ASPEED_PINCTRL_PIN(B20),
  1444. ASPEED_PINCTRL_PIN(B21),
  1445. ASPEED_PINCTRL_PIN(B22),
  1446. ASPEED_PINCTRL_PIN(B24),
  1447. ASPEED_PINCTRL_PIN(B25),
  1448. ASPEED_PINCTRL_PIN(B26),
  1449. ASPEED_PINCTRL_PIN(B3),
  1450. ASPEED_PINCTRL_PIN(B4),
  1451. ASPEED_PINCTRL_PIN(B6),
  1452. ASPEED_PINCTRL_PIN(C1),
  1453. ASPEED_PINCTRL_PIN(C11),
  1454. ASPEED_PINCTRL_PIN(C12),
  1455. ASPEED_PINCTRL_PIN(C13),
  1456. ASPEED_PINCTRL_PIN(C14),
  1457. ASPEED_PINCTRL_PIN(C15),
  1458. ASPEED_PINCTRL_PIN(C16),
  1459. ASPEED_PINCTRL_PIN(C17),
  1460. ASPEED_PINCTRL_PIN(C18),
  1461. ASPEED_PINCTRL_PIN(C19),
  1462. ASPEED_PINCTRL_PIN(C2),
  1463. ASPEED_PINCTRL_PIN(C20),
  1464. ASPEED_PINCTRL_PIN(C21),
  1465. ASPEED_PINCTRL_PIN(C22),
  1466. ASPEED_PINCTRL_PIN(C23),
  1467. ASPEED_PINCTRL_PIN(C24),
  1468. ASPEED_PINCTRL_PIN(C25),
  1469. ASPEED_PINCTRL_PIN(C26),
  1470. ASPEED_PINCTRL_PIN(C4),
  1471. ASPEED_PINCTRL_PIN(C5),
  1472. ASPEED_PINCTRL_PIN(C6),
  1473. ASPEED_PINCTRL_PIN(D1),
  1474. ASPEED_PINCTRL_PIN(D11),
  1475. ASPEED_PINCTRL_PIN(D12),
  1476. ASPEED_PINCTRL_PIN(D13),
  1477. ASPEED_PINCTRL_PIN(D14),
  1478. ASPEED_PINCTRL_PIN(D15),
  1479. ASPEED_PINCTRL_PIN(D16),
  1480. ASPEED_PINCTRL_PIN(D17),
  1481. ASPEED_PINCTRL_PIN(D18),
  1482. ASPEED_PINCTRL_PIN(D19),
  1483. ASPEED_PINCTRL_PIN(D2),
  1484. ASPEED_PINCTRL_PIN(D20),
  1485. ASPEED_PINCTRL_PIN(D21),
  1486. ASPEED_PINCTRL_PIN(D22),
  1487. ASPEED_PINCTRL_PIN(D23),
  1488. ASPEED_PINCTRL_PIN(D24),
  1489. ASPEED_PINCTRL_PIN(D26),
  1490. ASPEED_PINCTRL_PIN(D3),
  1491. ASPEED_PINCTRL_PIN(D4),
  1492. ASPEED_PINCTRL_PIN(D5),
  1493. ASPEED_PINCTRL_PIN(D6),
  1494. ASPEED_PINCTRL_PIN(D7),
  1495. ASPEED_PINCTRL_PIN(E1),
  1496. ASPEED_PINCTRL_PIN(E11),
  1497. ASPEED_PINCTRL_PIN(E12),
  1498. ASPEED_PINCTRL_PIN(E13),
  1499. ASPEED_PINCTRL_PIN(E14),
  1500. ASPEED_PINCTRL_PIN(E15),
  1501. ASPEED_PINCTRL_PIN(E16),
  1502. ASPEED_PINCTRL_PIN(E17),
  1503. ASPEED_PINCTRL_PIN(E18),
  1504. ASPEED_PINCTRL_PIN(E19),
  1505. ASPEED_PINCTRL_PIN(E2),
  1506. ASPEED_PINCTRL_PIN(E20),
  1507. ASPEED_PINCTRL_PIN(E21),
  1508. ASPEED_PINCTRL_PIN(E22),
  1509. ASPEED_PINCTRL_PIN(E23),
  1510. ASPEED_PINCTRL_PIN(E24),
  1511. ASPEED_PINCTRL_PIN(E25),
  1512. ASPEED_PINCTRL_PIN(E26),
  1513. ASPEED_PINCTRL_PIN(E3),
  1514. ASPEED_PINCTRL_PIN(E4),
  1515. ASPEED_PINCTRL_PIN(E5),
  1516. ASPEED_PINCTRL_PIN(E6),
  1517. ASPEED_PINCTRL_PIN(F13),
  1518. ASPEED_PINCTRL_PIN(F15),
  1519. ASPEED_PINCTRL_PIN(F22),
  1520. ASPEED_PINCTRL_PIN(F23),
  1521. ASPEED_PINCTRL_PIN(F24),
  1522. ASPEED_PINCTRL_PIN(F25),
  1523. ASPEED_PINCTRL_PIN(F26),
  1524. ASPEED_PINCTRL_PIN(F4),
  1525. ASPEED_PINCTRL_PIN(F5),
  1526. ASPEED_PINCTRL_PIN(G22),
  1527. ASPEED_PINCTRL_PIN(G23),
  1528. ASPEED_PINCTRL_PIN(G24),
  1529. ASPEED_PINCTRL_PIN(G26),
  1530. ASPEED_PINCTRL_PIN(H22),
  1531. ASPEED_PINCTRL_PIN(H23),
  1532. ASPEED_PINCTRL_PIN(H24),
  1533. ASPEED_PINCTRL_PIN(H25),
  1534. ASPEED_PINCTRL_PIN(H26),
  1535. ASPEED_PINCTRL_PIN(J22),
  1536. ASPEED_PINCTRL_PIN(J23),
  1537. ASPEED_PINCTRL_PIN(J24),
  1538. ASPEED_PINCTRL_PIN(J25),
  1539. ASPEED_PINCTRL_PIN(J26),
  1540. ASPEED_PINCTRL_PIN(K23),
  1541. ASPEED_PINCTRL_PIN(K24),
  1542. ASPEED_PINCTRL_PIN(K25),
  1543. ASPEED_PINCTRL_PIN(K26),
  1544. ASPEED_PINCTRL_PIN(L23),
  1545. ASPEED_PINCTRL_PIN(L24),
  1546. ASPEED_PINCTRL_PIN(L26),
  1547. ASPEED_PINCTRL_PIN(M23),
  1548. ASPEED_PINCTRL_PIN(M24),
  1549. ASPEED_PINCTRL_PIN(M25),
  1550. ASPEED_PINCTRL_PIN(M26),
  1551. ASPEED_PINCTRL_PIN(N23),
  1552. ASPEED_PINCTRL_PIN(N24),
  1553. ASPEED_PINCTRL_PIN(N25),
  1554. ASPEED_PINCTRL_PIN(N26),
  1555. ASPEED_PINCTRL_PIN(P23),
  1556. ASPEED_PINCTRL_PIN(P24),
  1557. ASPEED_PINCTRL_PIN(P25),
  1558. ASPEED_PINCTRL_PIN(P26),
  1559. ASPEED_PINCTRL_PIN(R23),
  1560. ASPEED_PINCTRL_PIN(R24),
  1561. ASPEED_PINCTRL_PIN(R26),
  1562. ASPEED_PINCTRL_PIN(T23),
  1563. ASPEED_PINCTRL_PIN(T24),
  1564. ASPEED_PINCTRL_PIN(T25),
  1565. ASPEED_PINCTRL_PIN(T26),
  1566. ASPEED_PINCTRL_PIN(U24),
  1567. ASPEED_PINCTRL_PIN(U25),
  1568. ASPEED_PINCTRL_PIN(U26),
  1569. ASPEED_PINCTRL_PIN(V24),
  1570. ASPEED_PINCTRL_PIN(V25),
  1571. ASPEED_PINCTRL_PIN(V26),
  1572. ASPEED_PINCTRL_PIN(W23),
  1573. ASPEED_PINCTRL_PIN(W24),
  1574. ASPEED_PINCTRL_PIN(W26),
  1575. ASPEED_PINCTRL_PIN(Y1),
  1576. ASPEED_PINCTRL_PIN(Y2),
  1577. ASPEED_PINCTRL_PIN(Y23),
  1578. ASPEED_PINCTRL_PIN(Y24),
  1579. ASPEED_PINCTRL_PIN(Y25),
  1580. ASPEED_PINCTRL_PIN(Y26),
  1581. ASPEED_PINCTRL_PIN(Y3),
  1582. ASPEED_PINCTRL_PIN(Y4),
  1583. ASPEED_PINCTRL_PIN(Y5),
  1584. };
  1585. static const struct aspeed_pin_group aspeed_g6_groups[] = {
  1586. ASPEED_PINCTRL_GROUP(ADC0),
  1587. ASPEED_PINCTRL_GROUP(ADC1),
  1588. ASPEED_PINCTRL_GROUP(ADC10),
  1589. ASPEED_PINCTRL_GROUP(ADC11),
  1590. ASPEED_PINCTRL_GROUP(ADC12),
  1591. ASPEED_PINCTRL_GROUP(ADC13),
  1592. ASPEED_PINCTRL_GROUP(ADC14),
  1593. ASPEED_PINCTRL_GROUP(ADC15),
  1594. ASPEED_PINCTRL_GROUP(ADC2),
  1595. ASPEED_PINCTRL_GROUP(ADC3),
  1596. ASPEED_PINCTRL_GROUP(ADC4),
  1597. ASPEED_PINCTRL_GROUP(ADC5),
  1598. ASPEED_PINCTRL_GROUP(ADC6),
  1599. ASPEED_PINCTRL_GROUP(ADC7),
  1600. ASPEED_PINCTRL_GROUP(ADC8),
  1601. ASPEED_PINCTRL_GROUP(ADC9),
  1602. ASPEED_PINCTRL_GROUP(BMCINT),
  1603. ASPEED_PINCTRL_GROUP(ESPI),
  1604. ASPEED_PINCTRL_GROUP(ESPIALT),
  1605. ASPEED_PINCTRL_GROUP(FSI1),
  1606. ASPEED_PINCTRL_GROUP(FSI2),
  1607. ASPEED_PINCTRL_GROUP(FWSPIABR),
  1608. ASPEED_PINCTRL_GROUP(FWSPID),
  1609. ASPEED_PINCTRL_GROUP(FWQSPI),
  1610. ASPEED_PINCTRL_GROUP(FWSPIWP),
  1611. ASPEED_PINCTRL_GROUP(GPIT0),
  1612. ASPEED_PINCTRL_GROUP(GPIT1),
  1613. ASPEED_PINCTRL_GROUP(GPIT2),
  1614. ASPEED_PINCTRL_GROUP(GPIT3),
  1615. ASPEED_PINCTRL_GROUP(GPIT4),
  1616. ASPEED_PINCTRL_GROUP(GPIT5),
  1617. ASPEED_PINCTRL_GROUP(GPIT6),
  1618. ASPEED_PINCTRL_GROUP(GPIT7),
  1619. ASPEED_PINCTRL_GROUP(GPIU0),
  1620. ASPEED_PINCTRL_GROUP(GPIU1),
  1621. ASPEED_PINCTRL_GROUP(GPIU2),
  1622. ASPEED_PINCTRL_GROUP(GPIU3),
  1623. ASPEED_PINCTRL_GROUP(GPIU4),
  1624. ASPEED_PINCTRL_GROUP(GPIU5),
  1625. ASPEED_PINCTRL_GROUP(GPIU6),
  1626. ASPEED_PINCTRL_GROUP(GPIU7),
  1627. ASPEED_PINCTRL_GROUP(HEARTBEAT),
  1628. ASPEED_PINCTRL_GROUP(HVI3C3),
  1629. ASPEED_PINCTRL_GROUP(HVI3C4),
  1630. ASPEED_PINCTRL_GROUP(I2C1),
  1631. ASPEED_PINCTRL_GROUP(I2C10),
  1632. ASPEED_PINCTRL_GROUP(I2C11),
  1633. ASPEED_PINCTRL_GROUP(I2C12),
  1634. ASPEED_PINCTRL_GROUP(I2C13),
  1635. ASPEED_PINCTRL_GROUP(I2C14),
  1636. ASPEED_PINCTRL_GROUP(I2C15),
  1637. ASPEED_PINCTRL_GROUP(I2C16),
  1638. ASPEED_PINCTRL_GROUP(I2C2),
  1639. ASPEED_PINCTRL_GROUP(I2C3),
  1640. ASPEED_PINCTRL_GROUP(I2C4),
  1641. ASPEED_PINCTRL_GROUP(I2C5),
  1642. ASPEED_PINCTRL_GROUP(I2C6),
  1643. ASPEED_PINCTRL_GROUP(I2C7),
  1644. ASPEED_PINCTRL_GROUP(I2C8),
  1645. ASPEED_PINCTRL_GROUP(I2C9),
  1646. ASPEED_PINCTRL_GROUP(I3C1),
  1647. ASPEED_PINCTRL_GROUP(I3C2),
  1648. ASPEED_PINCTRL_GROUP(I3C3),
  1649. ASPEED_PINCTRL_GROUP(I3C4),
  1650. ASPEED_PINCTRL_GROUP(I3C5),
  1651. ASPEED_PINCTRL_GROUP(I3C6),
  1652. ASPEED_PINCTRL_GROUP(JTAGM),
  1653. ASPEED_PINCTRL_GROUP(LHPD),
  1654. ASPEED_PINCTRL_GROUP(LHSIRQ),
  1655. ASPEED_PINCTRL_GROUP(LPC),
  1656. ASPEED_PINCTRL_GROUP(LPCHC),
  1657. ASPEED_PINCTRL_GROUP(LPCPD),
  1658. ASPEED_PINCTRL_GROUP(LPCPME),
  1659. ASPEED_PINCTRL_GROUP(LPCSMI),
  1660. ASPEED_PINCTRL_GROUP(LSIRQ),
  1661. ASPEED_PINCTRL_GROUP(MACLINK1),
  1662. ASPEED_PINCTRL_GROUP(MACLINK2),
  1663. ASPEED_PINCTRL_GROUP(MACLINK3),
  1664. ASPEED_PINCTRL_GROUP(MACLINK4),
  1665. ASPEED_PINCTRL_GROUP(MDIO1),
  1666. ASPEED_PINCTRL_GROUP(MDIO2),
  1667. ASPEED_PINCTRL_GROUP(MDIO3),
  1668. ASPEED_PINCTRL_GROUP(MDIO4),
  1669. ASPEED_PINCTRL_GROUP(NCSI3),
  1670. ASPEED_PINCTRL_GROUP(NCSI4),
  1671. ASPEED_PINCTRL_GROUP(NCTS1),
  1672. ASPEED_PINCTRL_GROUP(NCTS2),
  1673. ASPEED_PINCTRL_GROUP(NCTS3),
  1674. ASPEED_PINCTRL_GROUP(NCTS4),
  1675. ASPEED_PINCTRL_GROUP(NDCD1),
  1676. ASPEED_PINCTRL_GROUP(NDCD2),
  1677. ASPEED_PINCTRL_GROUP(NDCD3),
  1678. ASPEED_PINCTRL_GROUP(NDCD4),
  1679. ASPEED_PINCTRL_GROUP(NDSR1),
  1680. ASPEED_PINCTRL_GROUP(NDSR2),
  1681. ASPEED_PINCTRL_GROUP(NDSR3),
  1682. ASPEED_PINCTRL_GROUP(NDSR4),
  1683. ASPEED_PINCTRL_GROUP(NDTR1),
  1684. ASPEED_PINCTRL_GROUP(NDTR2),
  1685. ASPEED_PINCTRL_GROUP(NDTR3),
  1686. ASPEED_PINCTRL_GROUP(NDTR4),
  1687. ASPEED_PINCTRL_GROUP(NRI1),
  1688. ASPEED_PINCTRL_GROUP(NRI2),
  1689. ASPEED_PINCTRL_GROUP(NRI3),
  1690. ASPEED_PINCTRL_GROUP(NRI4),
  1691. ASPEED_PINCTRL_GROUP(NRTS1),
  1692. ASPEED_PINCTRL_GROUP(NRTS2),
  1693. ASPEED_PINCTRL_GROUP(NRTS3),
  1694. ASPEED_PINCTRL_GROUP(NRTS4),
  1695. ASPEED_PINCTRL_GROUP(OSCCLK),
  1696. ASPEED_PINCTRL_GROUP(PEWAKE),
  1697. ASPEED_PINCTRL_GROUP(PWM0),
  1698. ASPEED_PINCTRL_GROUP(PWM1),
  1699. ASPEED_PINCTRL_GROUP(PWM10G0),
  1700. ASPEED_PINCTRL_GROUP(PWM10G1),
  1701. ASPEED_PINCTRL_GROUP(PWM11G0),
  1702. ASPEED_PINCTRL_GROUP(PWM11G1),
  1703. ASPEED_PINCTRL_GROUP(PWM12G0),
  1704. ASPEED_PINCTRL_GROUP(PWM12G1),
  1705. ASPEED_PINCTRL_GROUP(PWM13G0),
  1706. ASPEED_PINCTRL_GROUP(PWM13G1),
  1707. ASPEED_PINCTRL_GROUP(PWM14G0),
  1708. ASPEED_PINCTRL_GROUP(PWM14G1),
  1709. ASPEED_PINCTRL_GROUP(PWM15G0),
  1710. ASPEED_PINCTRL_GROUP(PWM15G1),
  1711. ASPEED_PINCTRL_GROUP(PWM2),
  1712. ASPEED_PINCTRL_GROUP(PWM3),
  1713. ASPEED_PINCTRL_GROUP(PWM4),
  1714. ASPEED_PINCTRL_GROUP(PWM5),
  1715. ASPEED_PINCTRL_GROUP(PWM6),
  1716. ASPEED_PINCTRL_GROUP(PWM7),
  1717. ASPEED_PINCTRL_GROUP(PWM8G0),
  1718. ASPEED_PINCTRL_GROUP(PWM8G1),
  1719. ASPEED_PINCTRL_GROUP(PWM9G0),
  1720. ASPEED_PINCTRL_GROUP(PWM9G1),
  1721. ASPEED_PINCTRL_GROUP(QSPI1),
  1722. ASPEED_PINCTRL_GROUP(QSPI2),
  1723. ASPEED_PINCTRL_GROUP(RGMII1),
  1724. ASPEED_PINCTRL_GROUP(RGMII2),
  1725. ASPEED_PINCTRL_GROUP(RGMII3),
  1726. ASPEED_PINCTRL_GROUP(RGMII4),
  1727. ASPEED_PINCTRL_GROUP(RMII1),
  1728. ASPEED_PINCTRL_GROUP(RMII2),
  1729. ASPEED_PINCTRL_GROUP(RMII3),
  1730. ASPEED_PINCTRL_GROUP(RMII4),
  1731. ASPEED_PINCTRL_GROUP(RXD1),
  1732. ASPEED_PINCTRL_GROUP(RXD2),
  1733. ASPEED_PINCTRL_GROUP(RXD3),
  1734. ASPEED_PINCTRL_GROUP(RXD4),
  1735. ASPEED_PINCTRL_GROUP(SALT1),
  1736. ASPEED_PINCTRL_GROUP(SALT10G0),
  1737. ASPEED_PINCTRL_GROUP(SALT10G1),
  1738. ASPEED_PINCTRL_GROUP(SALT11G0),
  1739. ASPEED_PINCTRL_GROUP(SALT11G1),
  1740. ASPEED_PINCTRL_GROUP(SALT12G0),
  1741. ASPEED_PINCTRL_GROUP(SALT12G1),
  1742. ASPEED_PINCTRL_GROUP(SALT13G0),
  1743. ASPEED_PINCTRL_GROUP(SALT13G1),
  1744. ASPEED_PINCTRL_GROUP(SALT14G0),
  1745. ASPEED_PINCTRL_GROUP(SALT14G1),
  1746. ASPEED_PINCTRL_GROUP(SALT15G0),
  1747. ASPEED_PINCTRL_GROUP(SALT15G1),
  1748. ASPEED_PINCTRL_GROUP(SALT16G0),
  1749. ASPEED_PINCTRL_GROUP(SALT16G1),
  1750. ASPEED_PINCTRL_GROUP(SALT2),
  1751. ASPEED_PINCTRL_GROUP(SALT3),
  1752. ASPEED_PINCTRL_GROUP(SALT4),
  1753. ASPEED_PINCTRL_GROUP(SALT5),
  1754. ASPEED_PINCTRL_GROUP(SALT6),
  1755. ASPEED_PINCTRL_GROUP(SALT7),
  1756. ASPEED_PINCTRL_GROUP(SALT8),
  1757. ASPEED_PINCTRL_GROUP(SALT9G0),
  1758. ASPEED_PINCTRL_GROUP(SALT9G1),
  1759. ASPEED_PINCTRL_GROUP(SD1),
  1760. ASPEED_PINCTRL_GROUP(SD2),
  1761. ASPEED_PINCTRL_GROUP(PCIERC1),
  1762. ASPEED_PINCTRL_GROUP(EMMCG1),
  1763. ASPEED_PINCTRL_GROUP(EMMCG4),
  1764. ASPEED_PINCTRL_GROUP(EMMCG8),
  1765. ASPEED_PINCTRL_GROUP(SGPM1),
  1766. ASPEED_PINCTRL_GROUP(SGPM2),
  1767. ASPEED_PINCTRL_GROUP(SGPS1),
  1768. ASPEED_PINCTRL_GROUP(SGPS2),
  1769. ASPEED_PINCTRL_GROUP(SIOONCTRL),
  1770. ASPEED_PINCTRL_GROUP(SIOPBI),
  1771. ASPEED_PINCTRL_GROUP(SIOPBO),
  1772. ASPEED_PINCTRL_GROUP(SIOPWREQ),
  1773. ASPEED_PINCTRL_GROUP(SIOPWRGD),
  1774. ASPEED_PINCTRL_GROUP(SIOS3),
  1775. ASPEED_PINCTRL_GROUP(SIOS5),
  1776. ASPEED_PINCTRL_GROUP(SIOSCI),
  1777. ASPEED_PINCTRL_GROUP(SPI1),
  1778. ASPEED_PINCTRL_GROUP(SPI1ABR),
  1779. ASPEED_PINCTRL_GROUP(SPI1CS1),
  1780. ASPEED_PINCTRL_GROUP(SPI1WP),
  1781. ASPEED_PINCTRL_GROUP(SPI2),
  1782. ASPEED_PINCTRL_GROUP(SPI2CS1),
  1783. ASPEED_PINCTRL_GROUP(SPI2CS2),
  1784. ASPEED_PINCTRL_GROUP(TACH0),
  1785. ASPEED_PINCTRL_GROUP(TACH1),
  1786. ASPEED_PINCTRL_GROUP(TACH10),
  1787. ASPEED_PINCTRL_GROUP(TACH11),
  1788. ASPEED_PINCTRL_GROUP(TACH12),
  1789. ASPEED_PINCTRL_GROUP(TACH13),
  1790. ASPEED_PINCTRL_GROUP(TACH14),
  1791. ASPEED_PINCTRL_GROUP(TACH15),
  1792. ASPEED_PINCTRL_GROUP(TACH2),
  1793. ASPEED_PINCTRL_GROUP(TACH3),
  1794. ASPEED_PINCTRL_GROUP(TACH4),
  1795. ASPEED_PINCTRL_GROUP(TACH5),
  1796. ASPEED_PINCTRL_GROUP(TACH6),
  1797. ASPEED_PINCTRL_GROUP(TACH7),
  1798. ASPEED_PINCTRL_GROUP(TACH8),
  1799. ASPEED_PINCTRL_GROUP(TACH9),
  1800. ASPEED_PINCTRL_GROUP(THRU0),
  1801. ASPEED_PINCTRL_GROUP(THRU1),
  1802. ASPEED_PINCTRL_GROUP(THRU2),
  1803. ASPEED_PINCTRL_GROUP(THRU3),
  1804. ASPEED_PINCTRL_GROUP(TXD1),
  1805. ASPEED_PINCTRL_GROUP(TXD2),
  1806. ASPEED_PINCTRL_GROUP(TXD3),
  1807. ASPEED_PINCTRL_GROUP(TXD4),
  1808. ASPEED_PINCTRL_GROUP(UART10),
  1809. ASPEED_PINCTRL_GROUP(UART11),
  1810. ASPEED_PINCTRL_GROUP(UART12G0),
  1811. ASPEED_PINCTRL_GROUP(UART12G1),
  1812. ASPEED_PINCTRL_GROUP(UART13G0),
  1813. ASPEED_PINCTRL_GROUP(UART13G1),
  1814. ASPEED_PINCTRL_GROUP(UART6),
  1815. ASPEED_PINCTRL_GROUP(UART7),
  1816. ASPEED_PINCTRL_GROUP(UART8),
  1817. ASPEED_PINCTRL_GROUP(UART9),
  1818. ASPEED_PINCTRL_GROUP(USBA),
  1819. ASPEED_PINCTRL_GROUP(USBB),
  1820. ASPEED_PINCTRL_GROUP(VB),
  1821. ASPEED_PINCTRL_GROUP(VGAHS),
  1822. ASPEED_PINCTRL_GROUP(VGAVS),
  1823. ASPEED_PINCTRL_GROUP(WDTRST1),
  1824. ASPEED_PINCTRL_GROUP(WDTRST2),
  1825. ASPEED_PINCTRL_GROUP(WDTRST3),
  1826. ASPEED_PINCTRL_GROUP(WDTRST4),
  1827. };
  1828. static const struct aspeed_pin_function aspeed_g6_functions[] = {
  1829. ASPEED_PINCTRL_FUNC(ADC0),
  1830. ASPEED_PINCTRL_FUNC(ADC1),
  1831. ASPEED_PINCTRL_FUNC(ADC10),
  1832. ASPEED_PINCTRL_FUNC(ADC11),
  1833. ASPEED_PINCTRL_FUNC(ADC12),
  1834. ASPEED_PINCTRL_FUNC(ADC13),
  1835. ASPEED_PINCTRL_FUNC(ADC14),
  1836. ASPEED_PINCTRL_FUNC(ADC15),
  1837. ASPEED_PINCTRL_FUNC(ADC2),
  1838. ASPEED_PINCTRL_FUNC(ADC3),
  1839. ASPEED_PINCTRL_FUNC(ADC4),
  1840. ASPEED_PINCTRL_FUNC(ADC5),
  1841. ASPEED_PINCTRL_FUNC(ADC6),
  1842. ASPEED_PINCTRL_FUNC(ADC7),
  1843. ASPEED_PINCTRL_FUNC(ADC8),
  1844. ASPEED_PINCTRL_FUNC(ADC9),
  1845. ASPEED_PINCTRL_FUNC(BMCINT),
  1846. ASPEED_PINCTRL_FUNC(EMMC),
  1847. ASPEED_PINCTRL_FUNC(ESPI),
  1848. ASPEED_PINCTRL_FUNC(ESPIALT),
  1849. ASPEED_PINCTRL_FUNC(FSI1),
  1850. ASPEED_PINCTRL_FUNC(FSI2),
  1851. ASPEED_PINCTRL_FUNC(FWSPIABR),
  1852. ASPEED_PINCTRL_FUNC(FWSPID),
  1853. ASPEED_PINCTRL_FUNC(FWQSPI),
  1854. ASPEED_PINCTRL_FUNC(FWSPIWP),
  1855. ASPEED_PINCTRL_FUNC(GPIT0),
  1856. ASPEED_PINCTRL_FUNC(GPIT1),
  1857. ASPEED_PINCTRL_FUNC(GPIT2),
  1858. ASPEED_PINCTRL_FUNC(GPIT3),
  1859. ASPEED_PINCTRL_FUNC(GPIT4),
  1860. ASPEED_PINCTRL_FUNC(GPIT5),
  1861. ASPEED_PINCTRL_FUNC(GPIT6),
  1862. ASPEED_PINCTRL_FUNC(GPIT7),
  1863. ASPEED_PINCTRL_FUNC(GPIU0),
  1864. ASPEED_PINCTRL_FUNC(GPIU1),
  1865. ASPEED_PINCTRL_FUNC(GPIU2),
  1866. ASPEED_PINCTRL_FUNC(GPIU3),
  1867. ASPEED_PINCTRL_FUNC(GPIU4),
  1868. ASPEED_PINCTRL_FUNC(GPIU5),
  1869. ASPEED_PINCTRL_FUNC(GPIU6),
  1870. ASPEED_PINCTRL_FUNC(GPIU7),
  1871. ASPEED_PINCTRL_FUNC(HEARTBEAT),
  1872. ASPEED_PINCTRL_FUNC(I2C1),
  1873. ASPEED_PINCTRL_FUNC(I2C10),
  1874. ASPEED_PINCTRL_FUNC(I2C11),
  1875. ASPEED_PINCTRL_FUNC(I2C12),
  1876. ASPEED_PINCTRL_FUNC(I2C13),
  1877. ASPEED_PINCTRL_FUNC(I2C14),
  1878. ASPEED_PINCTRL_FUNC(I2C15),
  1879. ASPEED_PINCTRL_FUNC(I2C16),
  1880. ASPEED_PINCTRL_FUNC(I2C2),
  1881. ASPEED_PINCTRL_FUNC(I2C3),
  1882. ASPEED_PINCTRL_FUNC(I2C4),
  1883. ASPEED_PINCTRL_FUNC(I2C5),
  1884. ASPEED_PINCTRL_FUNC(I2C6),
  1885. ASPEED_PINCTRL_FUNC(I2C7),
  1886. ASPEED_PINCTRL_FUNC(I2C8),
  1887. ASPEED_PINCTRL_FUNC(I2C9),
  1888. ASPEED_PINCTRL_FUNC(I3C1),
  1889. ASPEED_PINCTRL_FUNC(I3C2),
  1890. ASPEED_PINCTRL_FUNC(I3C3),
  1891. ASPEED_PINCTRL_FUNC(I3C4),
  1892. ASPEED_PINCTRL_FUNC(I3C5),
  1893. ASPEED_PINCTRL_FUNC(I3C6),
  1894. ASPEED_PINCTRL_FUNC(JTAGM),
  1895. ASPEED_PINCTRL_FUNC(LHPD),
  1896. ASPEED_PINCTRL_FUNC(LHSIRQ),
  1897. ASPEED_PINCTRL_FUNC(LPC),
  1898. ASPEED_PINCTRL_FUNC(LPCHC),
  1899. ASPEED_PINCTRL_FUNC(LPCPD),
  1900. ASPEED_PINCTRL_FUNC(LPCPME),
  1901. ASPEED_PINCTRL_FUNC(LPCSMI),
  1902. ASPEED_PINCTRL_FUNC(LSIRQ),
  1903. ASPEED_PINCTRL_FUNC(MACLINK1),
  1904. ASPEED_PINCTRL_FUNC(MACLINK2),
  1905. ASPEED_PINCTRL_FUNC(MACLINK3),
  1906. ASPEED_PINCTRL_FUNC(MACLINK4),
  1907. ASPEED_PINCTRL_FUNC(MDIO1),
  1908. ASPEED_PINCTRL_FUNC(MDIO2),
  1909. ASPEED_PINCTRL_FUNC(MDIO3),
  1910. ASPEED_PINCTRL_FUNC(MDIO4),
  1911. ASPEED_PINCTRL_FUNC(NCTS1),
  1912. ASPEED_PINCTRL_FUNC(NCTS2),
  1913. ASPEED_PINCTRL_FUNC(NCTS3),
  1914. ASPEED_PINCTRL_FUNC(NCTS4),
  1915. ASPEED_PINCTRL_FUNC(NDCD1),
  1916. ASPEED_PINCTRL_FUNC(NDCD2),
  1917. ASPEED_PINCTRL_FUNC(NDCD3),
  1918. ASPEED_PINCTRL_FUNC(NDCD4),
  1919. ASPEED_PINCTRL_FUNC(NDSR1),
  1920. ASPEED_PINCTRL_FUNC(NDSR2),
  1921. ASPEED_PINCTRL_FUNC(NDSR3),
  1922. ASPEED_PINCTRL_FUNC(NDSR4),
  1923. ASPEED_PINCTRL_FUNC(NDTR1),
  1924. ASPEED_PINCTRL_FUNC(NDTR2),
  1925. ASPEED_PINCTRL_FUNC(NDTR3),
  1926. ASPEED_PINCTRL_FUNC(NDTR4),
  1927. ASPEED_PINCTRL_FUNC(NRI1),
  1928. ASPEED_PINCTRL_FUNC(NRI2),
  1929. ASPEED_PINCTRL_FUNC(NRI3),
  1930. ASPEED_PINCTRL_FUNC(NRI4),
  1931. ASPEED_PINCTRL_FUNC(NRTS1),
  1932. ASPEED_PINCTRL_FUNC(NRTS2),
  1933. ASPEED_PINCTRL_FUNC(NRTS3),
  1934. ASPEED_PINCTRL_FUNC(NRTS4),
  1935. ASPEED_PINCTRL_FUNC(OSCCLK),
  1936. ASPEED_PINCTRL_FUNC(PEWAKE),
  1937. ASPEED_PINCTRL_FUNC(PWM0),
  1938. ASPEED_PINCTRL_FUNC(PWM1),
  1939. ASPEED_PINCTRL_FUNC(PWM10),
  1940. ASPEED_PINCTRL_FUNC(PWM11),
  1941. ASPEED_PINCTRL_FUNC(PWM12),
  1942. ASPEED_PINCTRL_FUNC(PWM13),
  1943. ASPEED_PINCTRL_FUNC(PWM14),
  1944. ASPEED_PINCTRL_FUNC(PWM15),
  1945. ASPEED_PINCTRL_FUNC(PWM2),
  1946. ASPEED_PINCTRL_FUNC(PWM3),
  1947. ASPEED_PINCTRL_FUNC(PWM4),
  1948. ASPEED_PINCTRL_FUNC(PWM5),
  1949. ASPEED_PINCTRL_FUNC(PWM6),
  1950. ASPEED_PINCTRL_FUNC(PWM7),
  1951. ASPEED_PINCTRL_FUNC(PWM8),
  1952. ASPEED_PINCTRL_FUNC(PWM9),
  1953. ASPEED_PINCTRL_FUNC(RGMII1),
  1954. ASPEED_PINCTRL_FUNC(RGMII2),
  1955. ASPEED_PINCTRL_FUNC(RGMII3),
  1956. ASPEED_PINCTRL_FUNC(RGMII4),
  1957. ASPEED_PINCTRL_FUNC(RMII1),
  1958. ASPEED_PINCTRL_FUNC(RMII2),
  1959. ASPEED_PINCTRL_FUNC(RMII3),
  1960. ASPEED_PINCTRL_FUNC(RMII4),
  1961. ASPEED_PINCTRL_FUNC(RXD1),
  1962. ASPEED_PINCTRL_FUNC(RXD2),
  1963. ASPEED_PINCTRL_FUNC(RXD3),
  1964. ASPEED_PINCTRL_FUNC(RXD4),
  1965. ASPEED_PINCTRL_FUNC(SALT1),
  1966. ASPEED_PINCTRL_FUNC(SALT10),
  1967. ASPEED_PINCTRL_FUNC(SALT11),
  1968. ASPEED_PINCTRL_FUNC(SALT12),
  1969. ASPEED_PINCTRL_FUNC(SALT13),
  1970. ASPEED_PINCTRL_FUNC(SALT14),
  1971. ASPEED_PINCTRL_FUNC(SALT15),
  1972. ASPEED_PINCTRL_FUNC(SALT16),
  1973. ASPEED_PINCTRL_FUNC(SALT2),
  1974. ASPEED_PINCTRL_FUNC(SALT3),
  1975. ASPEED_PINCTRL_FUNC(SALT4),
  1976. ASPEED_PINCTRL_FUNC(SALT5),
  1977. ASPEED_PINCTRL_FUNC(SALT6),
  1978. ASPEED_PINCTRL_FUNC(SALT7),
  1979. ASPEED_PINCTRL_FUNC(SALT8),
  1980. ASPEED_PINCTRL_FUNC(SALT9),
  1981. ASPEED_PINCTRL_FUNC(SD1),
  1982. ASPEED_PINCTRL_FUNC(SD2),
  1983. ASPEED_PINCTRL_FUNC(SGPM1),
  1984. ASPEED_PINCTRL_FUNC(SGPM2),
  1985. ASPEED_PINCTRL_FUNC(SGPS1),
  1986. ASPEED_PINCTRL_FUNC(SGPS2),
  1987. ASPEED_PINCTRL_FUNC(SIOONCTRL),
  1988. ASPEED_PINCTRL_FUNC(SIOPBI),
  1989. ASPEED_PINCTRL_FUNC(SIOPBO),
  1990. ASPEED_PINCTRL_FUNC(SIOPWREQ),
  1991. ASPEED_PINCTRL_FUNC(SIOPWRGD),
  1992. ASPEED_PINCTRL_FUNC(SIOS3),
  1993. ASPEED_PINCTRL_FUNC(SIOS5),
  1994. ASPEED_PINCTRL_FUNC(SIOSCI),
  1995. ASPEED_PINCTRL_FUNC(SPI1),
  1996. ASPEED_PINCTRL_FUNC(SPI1ABR),
  1997. ASPEED_PINCTRL_FUNC(SPI1CS1),
  1998. ASPEED_PINCTRL_FUNC(SPI1WP),
  1999. ASPEED_PINCTRL_FUNC(SPI2),
  2000. ASPEED_PINCTRL_FUNC(SPI2CS1),
  2001. ASPEED_PINCTRL_FUNC(SPI2CS2),
  2002. ASPEED_PINCTRL_FUNC(PCIERC1),
  2003. ASPEED_PINCTRL_FUNC(TACH0),
  2004. ASPEED_PINCTRL_FUNC(TACH1),
  2005. ASPEED_PINCTRL_FUNC(TACH10),
  2006. ASPEED_PINCTRL_FUNC(TACH11),
  2007. ASPEED_PINCTRL_FUNC(TACH12),
  2008. ASPEED_PINCTRL_FUNC(TACH13),
  2009. ASPEED_PINCTRL_FUNC(TACH14),
  2010. ASPEED_PINCTRL_FUNC(TACH15),
  2011. ASPEED_PINCTRL_FUNC(TACH2),
  2012. ASPEED_PINCTRL_FUNC(TACH3),
  2013. ASPEED_PINCTRL_FUNC(TACH4),
  2014. ASPEED_PINCTRL_FUNC(TACH5),
  2015. ASPEED_PINCTRL_FUNC(TACH6),
  2016. ASPEED_PINCTRL_FUNC(TACH7),
  2017. ASPEED_PINCTRL_FUNC(TACH8),
  2018. ASPEED_PINCTRL_FUNC(TACH9),
  2019. ASPEED_PINCTRL_FUNC(THRU0),
  2020. ASPEED_PINCTRL_FUNC(THRU1),
  2021. ASPEED_PINCTRL_FUNC(THRU2),
  2022. ASPEED_PINCTRL_FUNC(THRU3),
  2023. ASPEED_PINCTRL_FUNC(TXD1),
  2024. ASPEED_PINCTRL_FUNC(TXD2),
  2025. ASPEED_PINCTRL_FUNC(TXD3),
  2026. ASPEED_PINCTRL_FUNC(TXD4),
  2027. ASPEED_PINCTRL_FUNC(UART10),
  2028. ASPEED_PINCTRL_FUNC(UART11),
  2029. ASPEED_PINCTRL_FUNC(UART12),
  2030. ASPEED_PINCTRL_FUNC(UART13),
  2031. ASPEED_PINCTRL_FUNC(UART6),
  2032. ASPEED_PINCTRL_FUNC(UART7),
  2033. ASPEED_PINCTRL_FUNC(UART8),
  2034. ASPEED_PINCTRL_FUNC(UART9),
  2035. ASPEED_PINCTRL_FUNC(USB11BHID),
  2036. ASPEED_PINCTRL_FUNC(USB2AD),
  2037. ASPEED_PINCTRL_FUNC(USB2ADP),
  2038. ASPEED_PINCTRL_FUNC(USB2AH),
  2039. ASPEED_PINCTRL_FUNC(USB2AHP),
  2040. ASPEED_PINCTRL_FUNC(USB2BD),
  2041. ASPEED_PINCTRL_FUNC(USB2BH),
  2042. ASPEED_PINCTRL_FUNC(VB),
  2043. ASPEED_PINCTRL_FUNC(VGAHS),
  2044. ASPEED_PINCTRL_FUNC(VGAVS),
  2045. ASPEED_PINCTRL_FUNC(WDTRST1),
  2046. ASPEED_PINCTRL_FUNC(WDTRST2),
  2047. ASPEED_PINCTRL_FUNC(WDTRST3),
  2048. ASPEED_PINCTRL_FUNC(WDTRST4),
  2049. };
  2050. static struct aspeed_pin_config aspeed_g6_configs[] = {
  2051. /* GPIOB7 */
  2052. ASPEED_PULL_DOWN_PINCONF(J24, SCU610, 15),
  2053. /* GPIOB6 */
  2054. ASPEED_PULL_DOWN_PINCONF(H25, SCU610, 14),
  2055. /* GPIOB5 */
  2056. ASPEED_PULL_DOWN_PINCONF(G26, SCU610, 13),
  2057. /* GPIOB4 */
  2058. ASPEED_PULL_DOWN_PINCONF(J23, SCU610, 12),
  2059. /* GPIOB3 */
  2060. ASPEED_PULL_DOWN_PINCONF(J25, SCU610, 11),
  2061. /* GPIOB2 */
  2062. ASPEED_PULL_DOWN_PINCONF(H26, SCU610, 10),
  2063. /* GPIOB1 */
  2064. ASPEED_PULL_DOWN_PINCONF(K23, SCU610, 9),
  2065. /* GPIOB0 */
  2066. ASPEED_PULL_DOWN_PINCONF(J26, SCU610, 8),
  2067. /* GPIOH3 */
  2068. ASPEED_PULL_DOWN_PINCONF(A17, SCU614, 27),
  2069. /* GPIOH2 */
  2070. ASPEED_PULL_DOWN_PINCONF(C18, SCU614, 26),
  2071. /* GPIOH1 */
  2072. ASPEED_PULL_DOWN_PINCONF(B18, SCU614, 25),
  2073. /* GPIOH0 */
  2074. ASPEED_PULL_DOWN_PINCONF(A18, SCU614, 24),
  2075. /* GPIOL7 */
  2076. ASPEED_PULL_DOWN_PINCONF(C14, SCU618, 31),
  2077. /* GPIOL6 */
  2078. ASPEED_PULL_DOWN_PINCONF(B14, SCU618, 30),
  2079. /* GPIOL5 */
  2080. ASPEED_PULL_DOWN_PINCONF(F15, SCU618, 29),
  2081. /* GPIOL4 */
  2082. ASPEED_PULL_DOWN_PINCONF(C15, SCU618, 28),
  2083. /* GPIOJ7 */
  2084. ASPEED_PULL_UP_PINCONF(D19, SCU618, 15),
  2085. /* GPIOJ6 */
  2086. ASPEED_PULL_UP_PINCONF(C20, SCU618, 14),
  2087. /* GPIOJ5 */
  2088. ASPEED_PULL_UP_PINCONF(A19, SCU618, 13),
  2089. /* GPIOJ4 */
  2090. ASPEED_PULL_UP_PINCONF(C19, SCU618, 12),
  2091. /* GPIOJ3 */
  2092. ASPEED_PULL_UP_PINCONF(D20, SCU618, 11),
  2093. /* GPIOJ2 */
  2094. ASPEED_PULL_UP_PINCONF(E19, SCU618, 10),
  2095. /* GPIOJ1 */
  2096. ASPEED_PULL_UP_PINCONF(A20, SCU618, 9),
  2097. /* GPIOJ0 */
  2098. ASPEED_PULL_UP_PINCONF(B20, SCU618, 8),
  2099. /* GPIOI7 */
  2100. ASPEED_PULL_DOWN_PINCONF(A15, SCU618, 7),
  2101. /* GPIOI6 */
  2102. ASPEED_PULL_DOWN_PINCONF(B16, SCU618, 6),
  2103. /* GPIOI5 */
  2104. ASPEED_PULL_DOWN_PINCONF(E16, SCU618, 5),
  2105. /* GPIOI4 */
  2106. ASPEED_PULL_DOWN_PINCONF(C16, SCU618, 4),
  2107. /* GPIOI3 */
  2108. ASPEED_PULL_DOWN_PINCONF(D16, SCU618, 3),
  2109. /* GPIOI2 */
  2110. ASPEED_PULL_DOWN_PINCONF(E17, SCU618, 2),
  2111. /* GPIOI1 */
  2112. ASPEED_PULL_DOWN_PINCONF(A16, SCU618, 1),
  2113. /* GPIOI0 */
  2114. ASPEED_PULL_DOWN_PINCONF(D17, SCU618, 0),
  2115. /* GPIOP7 */
  2116. ASPEED_PULL_DOWN_PINCONF(Y23, SCU61C, 31),
  2117. /* GPIOP6 */
  2118. ASPEED_PULL_DOWN_PINCONF(AB24, SCU61C, 30),
  2119. /* GPIOP5 */
  2120. ASPEED_PULL_DOWN_PINCONF(AB23, SCU61C, 29),
  2121. /* GPIOP4 */
  2122. ASPEED_PULL_DOWN_PINCONF(W23, SCU61C, 28),
  2123. /* GPIOP3 */
  2124. ASPEED_PULL_DOWN_PINCONF(AA24, SCU61C, 27),
  2125. /* GPIOP2 */
  2126. ASPEED_PULL_DOWN_PINCONF(AA23, SCU61C, 26),
  2127. /* GPIOP1 */
  2128. ASPEED_PULL_DOWN_PINCONF(W24, SCU61C, 25),
  2129. /* GPIOP0 */
  2130. ASPEED_PULL_DOWN_PINCONF(AB22, SCU61C, 24),
  2131. /* GPIOO7 */
  2132. ASPEED_PULL_DOWN_PINCONF(AC23, SCU61C, 23),
  2133. /* GPIOO6 */
  2134. ASPEED_PULL_DOWN_PINCONF(AC24, SCU61C, 22),
  2135. /* GPIOO5 */
  2136. ASPEED_PULL_DOWN_PINCONF(AC22, SCU61C, 21),
  2137. /* GPIOO4 */
  2138. ASPEED_PULL_DOWN_PINCONF(AD25, SCU61C, 20),
  2139. /* GPIOO3 */
  2140. ASPEED_PULL_DOWN_PINCONF(AD24, SCU61C, 19),
  2141. /* GPIOO2 */
  2142. ASPEED_PULL_DOWN_PINCONF(AD23, SCU61C, 18),
  2143. /* GPIOO1 */
  2144. ASPEED_PULL_DOWN_PINCONF(AD22, SCU61C, 17),
  2145. /* GPIOO0 */
  2146. ASPEED_PULL_DOWN_PINCONF(AD26, SCU61C, 16),
  2147. /* GPION7 */
  2148. ASPEED_PULL_DOWN_PINCONF(M26, SCU61C, 15),
  2149. /* GPION6 */
  2150. ASPEED_PULL_DOWN_PINCONF(N26, SCU61C, 14),
  2151. /* GPION5 */
  2152. ASPEED_PULL_DOWN_PINCONF(M23, SCU61C, 13),
  2153. /* GPION4 */
  2154. ASPEED_PULL_DOWN_PINCONF(P26, SCU61C, 12),
  2155. /* GPION3 */
  2156. ASPEED_PULL_DOWN_PINCONF(N24, SCU61C, 11),
  2157. /* GPION2 */
  2158. ASPEED_PULL_DOWN_PINCONF(N25, SCU61C, 10),
  2159. /* GPION1 */
  2160. ASPEED_PULL_DOWN_PINCONF(N23, SCU61C, 9),
  2161. /* GPION0 */
  2162. ASPEED_PULL_DOWN_PINCONF(P25, SCU61C, 8),
  2163. /* GPIOM7 */
  2164. ASPEED_PULL_DOWN_PINCONF(D13, SCU61C, 7),
  2165. /* GPIOM6 */
  2166. ASPEED_PULL_DOWN_PINCONF(C13, SCU61C, 6),
  2167. /* GPIOM5 */
  2168. ASPEED_PULL_DOWN_PINCONF(C12, SCU61C, 5),
  2169. /* GPIOM4 */
  2170. ASPEED_PULL_DOWN_PINCONF(B12, SCU61C, 4),
  2171. /* GPIOM3 */
  2172. ASPEED_PULL_DOWN_PINCONF(E14, SCU61C, 3),
  2173. /* GPIOM2 */
  2174. ASPEED_PULL_DOWN_PINCONF(A12, SCU61C, 2),
  2175. /* GPIOM1 */
  2176. ASPEED_PULL_DOWN_PINCONF(B13, SCU61C, 1),
  2177. /* GPIOM0 */
  2178. ASPEED_PULL_DOWN_PINCONF(D14, SCU61C, 0),
  2179. /* GPIOS7 */
  2180. ASPEED_PULL_DOWN_PINCONF(T24, SCU630, 23),
  2181. /* GPIOS6 */
  2182. ASPEED_PULL_DOWN_PINCONF(P23, SCU630, 22),
  2183. /* GPIOS5 */
  2184. ASPEED_PULL_DOWN_PINCONF(P24, SCU630, 21),
  2185. /* GPIOS4 */
  2186. ASPEED_PULL_DOWN_PINCONF(R26, SCU630, 20),
  2187. /* GPIOS3*/
  2188. ASPEED_PULL_DOWN_PINCONF(R24, SCU630, 19),
  2189. /* GPIOS2 */
  2190. ASPEED_PULL_DOWN_PINCONF(T26, SCU630, 18),
  2191. /* GPIOS1 */
  2192. ASPEED_PULL_DOWN_PINCONF(T25, SCU630, 17),
  2193. /* GPIOS0 */
  2194. ASPEED_PULL_DOWN_PINCONF(R23, SCU630, 16),
  2195. /* GPIOR7 */
  2196. ASPEED_PULL_DOWN_PINCONF(U26, SCU630, 15),
  2197. /* GPIOR6 */
  2198. ASPEED_PULL_DOWN_PINCONF(W26, SCU630, 14),
  2199. /* GPIOR5 */
  2200. ASPEED_PULL_DOWN_PINCONF(T23, SCU630, 13),
  2201. /* GPIOR4 */
  2202. ASPEED_PULL_DOWN_PINCONF(U25, SCU630, 12),
  2203. /* GPIOR3*/
  2204. ASPEED_PULL_DOWN_PINCONF(V26, SCU630, 11),
  2205. /* GPIOR2 */
  2206. ASPEED_PULL_DOWN_PINCONF(V24, SCU630, 10),
  2207. /* GPIOR1 */
  2208. ASPEED_PULL_DOWN_PINCONF(U24, SCU630, 9),
  2209. /* GPIOR0 */
  2210. ASPEED_PULL_DOWN_PINCONF(V25, SCU630, 8),
  2211. /* GPIOX7 */
  2212. ASPEED_PULL_DOWN_PINCONF(AB10, SCU634, 31),
  2213. /* GPIOX6 */
  2214. ASPEED_PULL_DOWN_PINCONF(AF9, SCU634, 30),
  2215. /* GPIOX5 */
  2216. ASPEED_PULL_DOWN_PINCONF(AD9, SCU634, 29),
  2217. /* GPIOX4 */
  2218. ASPEED_PULL_DOWN_PINCONF(AB9, SCU634, 28),
  2219. /* GPIOX3*/
  2220. ASPEED_PULL_DOWN_PINCONF(AF8, SCU634, 27),
  2221. /* GPIOX2 */
  2222. ASPEED_PULL_DOWN_PINCONF(AC9, SCU634, 26),
  2223. /* GPIOX1 */
  2224. ASPEED_PULL_DOWN_PINCONF(AA9, SCU634, 25),
  2225. /* GPIOX0 */
  2226. ASPEED_PULL_DOWN_PINCONF(AE8, SCU634, 24),
  2227. /* GPIOV7 */
  2228. ASPEED_PULL_DOWN_PINCONF(AF15, SCU634, 15),
  2229. /* GPIOV6 */
  2230. ASPEED_PULL_DOWN_PINCONF(AD15, SCU634, 14),
  2231. /* GPIOV5 */
  2232. ASPEED_PULL_DOWN_PINCONF(AE14, SCU634, 13),
  2233. /* GPIOV4 */
  2234. ASPEED_PULL_DOWN_PINCONF(AE15, SCU634, 12),
  2235. /* GPIOV3*/
  2236. ASPEED_PULL_DOWN_PINCONF(AC15, SCU634, 11),
  2237. /* GPIOV2 */
  2238. ASPEED_PULL_DOWN_PINCONF(AD14, SCU634, 10),
  2239. /* GPIOV1 */
  2240. ASPEED_PULL_DOWN_PINCONF(AF14, SCU634, 9),
  2241. /* GPIOV0 */
  2242. ASPEED_PULL_DOWN_PINCONF(AB15, SCU634, 8),
  2243. /* GPIOZ7 */
  2244. ASPEED_PULL_DOWN_PINCONF(AF10, SCU638, 15),
  2245. /* GPIOZ6 */
  2246. ASPEED_PULL_DOWN_PINCONF(AD11, SCU638, 14),
  2247. /* GPIOZ5 */
  2248. ASPEED_PULL_DOWN_PINCONF(AA11, SCU638, 13),
  2249. /* GPIOZ4 */
  2250. ASPEED_PULL_DOWN_PINCONF(AC11, SCU638, 12),
  2251. /* GPIOZ3*/
  2252. ASPEED_PULL_DOWN_PINCONF(AB11, SCU638, 11),
  2253. /* GPIOZ1 */
  2254. ASPEED_PULL_DOWN_PINCONF(AD10, SCU638, 9),
  2255. /* GPIOZ0 */
  2256. ASPEED_PULL_DOWN_PINCONF(AC10, SCU638, 8),
  2257. /* GPIOY6 */
  2258. ASPEED_PULL_DOWN_PINCONF(AC12, SCU638, 6),
  2259. /* GPIOY5 */
  2260. ASPEED_PULL_DOWN_PINCONF(AF12, SCU638, 5),
  2261. /* GPIOY4 */
  2262. ASPEED_PULL_DOWN_PINCONF(AE12, SCU638, 4),
  2263. /* GPIOY3 */
  2264. ASPEED_PULL_DOWN_PINCONF(AA12, SCU638, 3),
  2265. /* GPIOY2 */
  2266. ASPEED_PULL_DOWN_PINCONF(AE11, SCU638, 2),
  2267. /* GPIOY1 */
  2268. ASPEED_PULL_DOWN_PINCONF(AD12, SCU638, 1),
  2269. /* GPIOY0 */
  2270. ASPEED_PULL_DOWN_PINCONF(AF11, SCU638, 0),
  2271. /* LAD3 */
  2272. { PIN_CONFIG_DRIVE_STRENGTH, { AC7, AC7 }, SCU454, GENMASK(31, 30)},
  2273. /* LAD2 */
  2274. { PIN_CONFIG_DRIVE_STRENGTH, { AC8, AC8 }, SCU454, GENMASK(29, 28)},
  2275. /* LAD1 */
  2276. { PIN_CONFIG_DRIVE_STRENGTH, { AB8, AB8 }, SCU454, GENMASK(27, 26)},
  2277. /* LAD0 */
  2278. { PIN_CONFIG_DRIVE_STRENGTH, { AB7, AB7 }, SCU454, GENMASK(25, 24)},
  2279. /* GPIOF */
  2280. { PIN_CONFIG_DRIVE_STRENGTH, { D22, A23 }, SCU458, GENMASK(9, 8)},
  2281. /* GPIOG */
  2282. { PIN_CONFIG_DRIVE_STRENGTH, { E21, B21 }, SCU458, GENMASK(11, 10)},
  2283. /* MAC3 */
  2284. { PIN_CONFIG_POWER_SOURCE, { H24, E26 }, SCU458, BIT_MASK(4)},
  2285. { PIN_CONFIG_DRIVE_STRENGTH, { H24, E26 }, SCU458, GENMASK(1, 0)},
  2286. /* MAC4 */
  2287. { PIN_CONFIG_POWER_SOURCE, { F24, B24 }, SCU458, BIT_MASK(5)},
  2288. { PIN_CONFIG_DRIVE_STRENGTH, { F24, B24 }, SCU458, GENMASK(3, 2)},
  2289. /* GPIO18E */
  2290. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, Y1, Y4, SCU40C, 4),
  2291. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, Y1, Y4, SCU40C, 4),
  2292. /* GPIO18D */
  2293. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, AB4, AC5, SCU40C, 3),
  2294. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, AB4, AC5, SCU40C, 3),
  2295. /* GPIO18C */
  2296. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, E4, E1, SCU40C, 2),
  2297. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, E4, E1, SCU40C, 2),
  2298. /* GPIO18B */
  2299. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, B2, D3, SCU40C, 1),
  2300. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, B2, D3, SCU40C, 1),
  2301. /* GPIO18A */
  2302. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, C6, A2, SCU40C, 0),
  2303. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, C6, A2, SCU40C, 0),
  2304. };
  2305. /**
  2306. * aspeed_g6_sig_expr_set() - Configure a pin's signal by applying an
  2307. * expression's descriptor state for all descriptors in the expression.
  2308. *
  2309. * @ctx: The pinmux context
  2310. * @expr: The expression associated with the function whose signal is to be
  2311. * configured
  2312. * @enable: true to enable an function's signal through a pin's signal
  2313. * expression, false to disable the function's signal
  2314. *
  2315. * Return: 0 if the expression is configured as requested and a negative error
  2316. * code otherwise
  2317. */
  2318. static int aspeed_g6_sig_expr_set(struct aspeed_pinmux_data *ctx,
  2319. const struct aspeed_sig_expr *expr,
  2320. bool enable)
  2321. {
  2322. int ret;
  2323. int i;
  2324. for (i = 0; i < expr->ndescs; i++) {
  2325. const struct aspeed_sig_desc *desc = &expr->descs[i];
  2326. u32 pattern = enable ? desc->enable : desc->disable;
  2327. u32 val = (pattern << __ffs(desc->mask));
  2328. bool is_strap;
  2329. if (!ctx->maps[desc->ip])
  2330. return -ENODEV;
  2331. WARN_ON(desc->ip != ASPEED_IP_SCU);
  2332. is_strap = desc->reg == SCU500 || desc->reg == SCU510;
  2333. if (is_strap) {
  2334. /*
  2335. * The AST2600 has write protection mask registers for
  2336. * the hardware strapping in SCU508 and SCU518. Assume
  2337. * that if the platform doesn't want the strapping
  2338. * values changed that it has set the write mask.
  2339. *
  2340. * The strapping registers implement write-1-clear
  2341. * behaviour. SCU500 is paired with clear writes on
  2342. * SCU504, likewise SCU510 is paired with SCU514.
  2343. */
  2344. u32 clear = ~val & desc->mask;
  2345. u32 w1c = desc->reg + 4;
  2346. if (clear)
  2347. ret = regmap_update_bits(ctx->maps[desc->ip],
  2348. w1c, desc->mask,
  2349. clear);
  2350. }
  2351. ret = regmap_update_bits(ctx->maps[desc->ip], desc->reg,
  2352. desc->mask, val);
  2353. if (ret)
  2354. return ret;
  2355. }
  2356. ret = aspeed_sig_expr_eval(ctx, expr, enable);
  2357. if (ret < 0)
  2358. return ret;
  2359. if (!ret)
  2360. return -EPERM;
  2361. return 0;
  2362. }
  2363. static const struct aspeed_pin_config_map aspeed_g6_pin_config_map[] = {
  2364. { PIN_CONFIG_BIAS_PULL_DOWN, 0, 1, BIT_MASK(0)},
  2365. { PIN_CONFIG_BIAS_PULL_DOWN, -1, 0, BIT_MASK(0)},
  2366. { PIN_CONFIG_BIAS_PULL_UP, 0, 1, BIT_MASK(0)},
  2367. { PIN_CONFIG_BIAS_PULL_UP, -1, 0, BIT_MASK(0)},
  2368. { PIN_CONFIG_BIAS_DISABLE, -1, 1, BIT_MASK(0)},
  2369. { PIN_CONFIG_DRIVE_STRENGTH, 4, 0, GENMASK(1, 0)},
  2370. { PIN_CONFIG_DRIVE_STRENGTH, 8, 1, GENMASK(1, 0)},
  2371. { PIN_CONFIG_DRIVE_STRENGTH, 12, 2, GENMASK(1, 0)},
  2372. { PIN_CONFIG_DRIVE_STRENGTH, 16, 3, GENMASK(1, 0)},
  2373. { PIN_CONFIG_POWER_SOURCE, 3300, 0, BIT_MASK(0)},
  2374. { PIN_CONFIG_POWER_SOURCE, 1800, 1, BIT_MASK(0)},
  2375. };
  2376. static const struct aspeed_pinmux_ops aspeed_g5_ops = {
  2377. .set = aspeed_g6_sig_expr_set,
  2378. };
  2379. static struct aspeed_pinctrl_data aspeed_g6_pinctrl_data = {
  2380. .pins = aspeed_g6_pins,
  2381. .npins = ARRAY_SIZE(aspeed_g6_pins),
  2382. .pinmux = {
  2383. .ops = &aspeed_g5_ops,
  2384. .groups = aspeed_g6_groups,
  2385. .ngroups = ARRAY_SIZE(aspeed_g6_groups),
  2386. .functions = aspeed_g6_functions,
  2387. .nfunctions = ARRAY_SIZE(aspeed_g6_functions),
  2388. },
  2389. .configs = aspeed_g6_configs,
  2390. .nconfigs = ARRAY_SIZE(aspeed_g6_configs),
  2391. .confmaps = aspeed_g6_pin_config_map,
  2392. .nconfmaps = ARRAY_SIZE(aspeed_g6_pin_config_map),
  2393. };
  2394. static const struct pinmux_ops aspeed_g6_pinmux_ops = {
  2395. .get_functions_count = aspeed_pinmux_get_fn_count,
  2396. .get_function_name = aspeed_pinmux_get_fn_name,
  2397. .get_function_groups = aspeed_pinmux_get_fn_groups,
  2398. .set_mux = aspeed_pinmux_set_mux,
  2399. .gpio_request_enable = aspeed_gpio_request_enable,
  2400. .strict = true,
  2401. };
  2402. static const struct pinctrl_ops aspeed_g6_pinctrl_ops = {
  2403. .get_groups_count = aspeed_pinctrl_get_groups_count,
  2404. .get_group_name = aspeed_pinctrl_get_group_name,
  2405. .get_group_pins = aspeed_pinctrl_get_group_pins,
  2406. .pin_dbg_show = aspeed_pinctrl_pin_dbg_show,
  2407. .dt_node_to_map = pinconf_generic_dt_node_to_map_all,
  2408. .dt_free_map = pinctrl_utils_free_map,
  2409. };
  2410. static const struct pinconf_ops aspeed_g6_conf_ops = {
  2411. .is_generic = true,
  2412. .pin_config_get = aspeed_pin_config_get,
  2413. .pin_config_set = aspeed_pin_config_set,
  2414. .pin_config_group_get = aspeed_pin_config_group_get,
  2415. .pin_config_group_set = aspeed_pin_config_group_set,
  2416. };
  2417. static const struct pinctrl_desc aspeed_g6_pinctrl_desc = {
  2418. .name = "aspeed-g6-pinctrl",
  2419. .pins = aspeed_g6_pins,
  2420. .npins = ARRAY_SIZE(aspeed_g6_pins),
  2421. .pctlops = &aspeed_g6_pinctrl_ops,
  2422. .pmxops = &aspeed_g6_pinmux_ops,
  2423. .confops = &aspeed_g6_conf_ops,
  2424. };
  2425. static int aspeed_g6_pinctrl_probe(struct platform_device *pdev)
  2426. {
  2427. int i;
  2428. for (i = 0; i < ARRAY_SIZE(aspeed_g6_pins); i++)
  2429. aspeed_g6_pins[i].number = i;
  2430. return aspeed_pinctrl_probe(pdev, &aspeed_g6_pinctrl_desc,
  2431. &aspeed_g6_pinctrl_data);
  2432. }
  2433. static const struct of_device_id aspeed_g6_pinctrl_of_match[] = {
  2434. { .compatible = "aspeed,ast2600-pinctrl", },
  2435. { },
  2436. };
  2437. static struct platform_driver aspeed_g6_pinctrl_driver = {
  2438. .probe = aspeed_g6_pinctrl_probe,
  2439. .driver = {
  2440. .name = "aspeed-g6-pinctrl",
  2441. .of_match_table = aspeed_g6_pinctrl_of_match,
  2442. },
  2443. };
  2444. static int aspeed_g6_pinctrl_init(void)
  2445. {
  2446. return platform_driver_register(&aspeed_g6_pinctrl_driver);
  2447. }
  2448. arch_initcall(aspeed_g6_pinctrl_init);