pinctrl-aspeed-g6.c 90 KB

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