pinctrl-aspeed-g5.c 101 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Copyright (C) 2016 IBM Corp.
  4. */
  5. #include <linux/bitops.h>
  6. #include <linux/init.h>
  7. #include <linux/io.h>
  8. #include <linux/kernel.h>
  9. #include <linux/mfd/syscon.h>
  10. #include <linux/mutex.h>
  11. #include <linux/of.h>
  12. #include <linux/platform_device.h>
  13. #include <linux/pinctrl/pinctrl.h>
  14. #include <linux/pinctrl/pinmux.h>
  15. #include <linux/pinctrl/pinconf.h>
  16. #include <linux/pinctrl/pinconf-generic.h>
  17. #include <linux/string.h>
  18. #include <linux/types.h>
  19. #include "../core.h"
  20. #include "../pinctrl-utils.h"
  21. #include "pinctrl-aspeed.h"
  22. /* Wrap some of the common macros for clarity */
  23. #define SIG_EXPR_DECL_SINGLE(sig, func, ...) \
  24. SIG_EXPR_DECL(sig, func, func, __VA_ARGS__)
  25. #define SIG_EXPR_LIST_DECL_SINGLE SIG_EXPR_LIST_DECL_SESG
  26. #define SIG_EXPR_LIST_DECL_DUAL SIG_EXPR_LIST_DECL_DESG
  27. /*
  28. * The "Multi-function Pins Mapping and Control" table in the SoC datasheet
  29. * references registers by the device/offset mnemonic. The register macros
  30. * below are named the same way to ease transcription and verification (as
  31. * opposed to naming them e.g. PINMUX_CTRL_[0-9]). Further, signal expressions
  32. * reference registers beyond those dedicated to pinmux, such as the system
  33. * reset control and MAC clock configuration registers. The AST2500 goes a step
  34. * further and references registers in the graphics IP block.
  35. */
  36. #define SCU2C 0x2C /* Misc. Control Register */
  37. #define SCU3C 0x3C /* System Reset Control/Status Register */
  38. #define SCU48 0x48 /* MAC Interface Clock Delay Setting */
  39. #define HW_STRAP1 0x70 /* AST2400 strapping is 33 bits, is split */
  40. #define HW_REVISION_ID 0x7C /* Silicon revision ID register */
  41. #define SCU80 0x80 /* Multi-function Pin Control #1 */
  42. #define SCU84 0x84 /* Multi-function Pin Control #2 */
  43. #define SCU88 0x88 /* Multi-function Pin Control #3 */
  44. #define SCU8C 0x8C /* Multi-function Pin Control #4 */
  45. #define SCU90 0x90 /* Multi-function Pin Control #5 */
  46. #define SCU94 0x94 /* Multi-function Pin Control #6 */
  47. #define SCUA0 0xA0 /* Multi-function Pin Control #7 */
  48. #define SCUA4 0xA4 /* Multi-function Pin Control #8 */
  49. #define SCUA8 0xA8 /* Multi-function Pin Control #9 */
  50. #define SCUAC 0xAC /* Multi-function Pin Control #10 */
  51. #define HW_STRAP2 0xD0 /* Strapping */
  52. #define ASPEED_G5_NR_PINS 236
  53. #define COND1 { ASPEED_IP_SCU, SCU90, BIT(6), 0, 0 }
  54. #define COND2 { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 0, 0 }
  55. /* LHCR0 is offset from the end of the H8S/2168-compatible registers */
  56. #define LHCR0 0xa0
  57. #define GFX064 0x64
  58. #define B14 0
  59. SSSF_PIN_DECL(B14, GPIOA0, MAC1LINK, SIG_DESC_SET(SCU80, 0));
  60. #define D14 1
  61. SSSF_PIN_DECL(D14, GPIOA1, MAC2LINK, SIG_DESC_SET(SCU80, 1));
  62. #define D13 2
  63. SIG_EXPR_LIST_DECL_SINGLE(D13, SPI1CS1, SPI1CS1, SIG_DESC_SET(SCU80, 15));
  64. SIG_EXPR_LIST_DECL_SINGLE(D13, TIMER3, TIMER3, SIG_DESC_SET(SCU80, 2));
  65. PIN_DECL_2(D13, GPIOA2, SPI1CS1, TIMER3);
  66. FUNC_GROUP_DECL(SPI1CS1, D13);
  67. FUNC_GROUP_DECL(TIMER3, D13);
  68. #define E13 3
  69. SSSF_PIN_DECL(E13, GPIOA3, TIMER4, SIG_DESC_SET(SCU80, 3));
  70. #define I2C9_DESC SIG_DESC_SET(SCU90, 22)
  71. #define C14 4
  72. SIG_EXPR_LIST_DECL_SINGLE(C14, SCL9, I2C9, I2C9_DESC, COND1);
  73. SIG_EXPR_LIST_DECL_SINGLE(C14, TIMER5, TIMER5, SIG_DESC_SET(SCU80, 4), COND1);
  74. PIN_DECL_2(C14, GPIOA4, SCL9, TIMER5);
  75. FUNC_GROUP_DECL(TIMER5, C14);
  76. #define A13 5
  77. SIG_EXPR_LIST_DECL_SINGLE(A13, SDA9, I2C9, I2C9_DESC, COND1);
  78. SIG_EXPR_LIST_DECL_SINGLE(A13, TIMER6, TIMER6, SIG_DESC_SET(SCU80, 5), COND1);
  79. PIN_DECL_2(A13, GPIOA5, SDA9, TIMER6);
  80. FUNC_GROUP_DECL(TIMER6, A13);
  81. FUNC_GROUP_DECL(I2C9, C14, A13);
  82. #define MDIO2_DESC SIG_DESC_SET(SCU90, 2)
  83. #define C13 6
  84. SIG_EXPR_LIST_DECL_SINGLE(C13, MDC2, MDIO2, MDIO2_DESC, COND1);
  85. SIG_EXPR_LIST_DECL_SINGLE(C13, TIMER7, TIMER7, SIG_DESC_SET(SCU80, 6), COND1);
  86. PIN_DECL_2(C13, GPIOA6, MDC2, TIMER7);
  87. FUNC_GROUP_DECL(TIMER7, C13);
  88. #define B13 7
  89. SIG_EXPR_LIST_DECL_SINGLE(B13, MDIO2, MDIO2, MDIO2_DESC, COND1);
  90. SIG_EXPR_LIST_DECL_SINGLE(B13, TIMER8, TIMER8, SIG_DESC_SET(SCU80, 7), COND1);
  91. PIN_DECL_2(B13, GPIOA7, MDIO2, TIMER8);
  92. FUNC_GROUP_DECL(TIMER8, B13);
  93. FUNC_GROUP_DECL(MDIO2, C13, B13);
  94. #define K19 8
  95. GPIO_PIN_DECL(K19, GPIOB0);
  96. #define L19 9
  97. GPIO_PIN_DECL(L19, GPIOB1);
  98. #define L18 10
  99. GPIO_PIN_DECL(L18, GPIOB2);
  100. #define K18 11
  101. GPIO_PIN_DECL(K18, GPIOB3);
  102. #define J20 12
  103. SSSF_PIN_DECL(J20, GPIOB4, USBCKI, SIG_DESC_SET(HW_STRAP1, 23));
  104. #define H21 13
  105. #define H21_DESC SIG_DESC_SET(SCU80, 13)
  106. SIG_EXPR_LIST_DECL_SINGLE(H21, LPCPD, LPCPD, H21_DESC);
  107. SIG_EXPR_LIST_DECL_SINGLE(H21, LPCSMI, LPCSMI, H21_DESC);
  108. PIN_DECL_2(H21, GPIOB5, LPCPD, LPCSMI);
  109. FUNC_GROUP_DECL(LPCPD, H21);
  110. FUNC_GROUP_DECL(LPCSMI, H21);
  111. #define H22 14
  112. SSSF_PIN_DECL(H22, GPIOB6, LPCPME, SIG_DESC_SET(SCU80, 14));
  113. #define H20 15
  114. GPIO_PIN_DECL(H20, GPIOB7);
  115. #define SD1_DESC SIG_DESC_SET(SCU90, 0)
  116. #define C12 16
  117. #define I2C10_DESC SIG_DESC_SET(SCU90, 23)
  118. SIG_EXPR_LIST_DECL_SINGLE(C12, SD1CLK, SD1, SD1_DESC);
  119. SIG_EXPR_LIST_DECL_SINGLE(C12, SCL10, I2C10, I2C10_DESC);
  120. PIN_DECL_2(C12, GPIOC0, SD1CLK, SCL10);
  121. #define A12 17
  122. SIG_EXPR_LIST_DECL_SINGLE(A12, SD1CMD, SD1, SD1_DESC);
  123. SIG_EXPR_LIST_DECL_SINGLE(A12, SDA10, I2C10, I2C10_DESC);
  124. PIN_DECL_2(A12, GPIOC1, SD1CMD, SDA10);
  125. FUNC_GROUP_DECL(I2C10, C12, A12);
  126. #define B12 18
  127. #define I2C11_DESC SIG_DESC_SET(SCU90, 24)
  128. SIG_EXPR_LIST_DECL_SINGLE(B12, SD1DAT0, SD1, SD1_DESC);
  129. SIG_EXPR_LIST_DECL_SINGLE(B12, SCL11, I2C11, I2C11_DESC);
  130. PIN_DECL_2(B12, GPIOC2, SD1DAT0, SCL11);
  131. #define D9 19
  132. SIG_EXPR_LIST_DECL_SINGLE(D9, SD1DAT1, SD1, SD1_DESC);
  133. SIG_EXPR_LIST_DECL_SINGLE(D9, SDA11, I2C11, I2C11_DESC);
  134. PIN_DECL_2(D9, GPIOC3, SD1DAT1, SDA11);
  135. FUNC_GROUP_DECL(I2C11, B12, D9);
  136. #define D10 20
  137. #define I2C12_DESC SIG_DESC_SET(SCU90, 25)
  138. SIG_EXPR_LIST_DECL_SINGLE(D10, SD1DAT2, SD1, SD1_DESC);
  139. SIG_EXPR_LIST_DECL_SINGLE(D10, SCL12, I2C12, I2C12_DESC);
  140. PIN_DECL_2(D10, GPIOC4, SD1DAT2, SCL12);
  141. #define E12 21
  142. SIG_EXPR_LIST_DECL_SINGLE(E12, SD1DAT3, SD1, SD1_DESC);
  143. SIG_EXPR_LIST_DECL_SINGLE(E12, SDA12, I2C12, I2C12_DESC);
  144. PIN_DECL_2(E12, GPIOC5, SD1DAT3, SDA12);
  145. FUNC_GROUP_DECL(I2C12, D10, E12);
  146. #define C11 22
  147. #define I2C13_DESC SIG_DESC_SET(SCU90, 26)
  148. SIG_EXPR_LIST_DECL_SINGLE(C11, SD1CD, SD1, SD1_DESC);
  149. SIG_EXPR_LIST_DECL_SINGLE(C11, SCL13, I2C13, I2C13_DESC);
  150. PIN_DECL_2(C11, GPIOC6, SD1CD, SCL13);
  151. #define B11 23
  152. SIG_EXPR_LIST_DECL_SINGLE(B11, SD1WP, SD1, SD1_DESC);
  153. SIG_EXPR_LIST_DECL_SINGLE(B11, SDA13, I2C13, I2C13_DESC);
  154. PIN_DECL_2(B11, GPIOC7, SD1WP, SDA13);
  155. FUNC_GROUP_DECL(I2C13, C11, B11);
  156. FUNC_GROUP_DECL(SD1, C12, A12, B12, D9, D10, E12, C11, B11);
  157. #define SD2_DESC SIG_DESC_SET(SCU90, 1)
  158. #define GPID0_DESC SIG_DESC_SET(SCU8C, 8)
  159. #define GPID_DESC SIG_DESC_SET(HW_STRAP1, 21)
  160. #define F19 24
  161. SIG_EXPR_LIST_DECL_SINGLE(F19, SD2CLK, SD2, SD2_DESC);
  162. SIG_EXPR_DECL_SINGLE(GPID0IN, GPID0, GPID0_DESC);
  163. SIG_EXPR_DECL_SINGLE(GPID0IN, GPID, GPID_DESC);
  164. SIG_EXPR_LIST_DECL_DUAL(F19, GPID0IN, GPID0, GPID);
  165. PIN_DECL_2(F19, GPIOD0, SD2CLK, GPID0IN);
  166. #define E21 25
  167. SIG_EXPR_LIST_DECL_SINGLE(E21, SD2CMD, SD2, SD2_DESC);
  168. SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID0, GPID0_DESC);
  169. SIG_EXPR_DECL_SINGLE(GPID0OUT, GPID, GPID_DESC);
  170. SIG_EXPR_LIST_DECL_DUAL(E21, GPID0OUT, GPID0, GPID);
  171. PIN_DECL_2(E21, GPIOD1, SD2CMD, GPID0OUT);
  172. FUNC_GROUP_DECL(GPID0, F19, E21);
  173. #define GPID2_DESC SIG_DESC_SET(SCU8C, 9)
  174. #define F20 26
  175. SIG_EXPR_LIST_DECL_SINGLE(F20, SD2DAT0, SD2, SD2_DESC);
  176. SIG_EXPR_DECL_SINGLE(GPID2IN, GPID2, GPID2_DESC);
  177. SIG_EXPR_DECL_SINGLE(GPID2IN, GPID, GPID_DESC);
  178. SIG_EXPR_LIST_DECL_DUAL(F20, GPID2IN, GPID2, GPID);
  179. PIN_DECL_2(F20, GPIOD2, SD2DAT0, GPID2IN);
  180. #define D20 27
  181. SIG_EXPR_LIST_DECL_SINGLE(D20, SD2DAT1, SD2, SD2_DESC);
  182. SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID2, GPID2_DESC);
  183. SIG_EXPR_DECL_SINGLE(GPID2OUT, GPID, GPID_DESC);
  184. SIG_EXPR_LIST_DECL_DUAL(D20, GPID2OUT, GPID2, GPID);
  185. PIN_DECL_2(D20, GPIOD3, SD2DAT1, GPID2OUT);
  186. FUNC_GROUP_DECL(GPID2, F20, D20);
  187. #define GPID4_DESC SIG_DESC_SET(SCU8C, 10)
  188. #define D21 28
  189. SIG_EXPR_LIST_DECL_SINGLE(D21, SD2DAT2, SD2, SD2_DESC);
  190. SIG_EXPR_DECL_SINGLE(GPID4IN, GPID4, GPID4_DESC);
  191. SIG_EXPR_DECL_SINGLE(GPID4IN, GPID, GPID_DESC);
  192. SIG_EXPR_LIST_DECL_DUAL(D21, GPID4IN, GPID4, GPID);
  193. PIN_DECL_2(D21, GPIOD4, SD2DAT2, GPID4IN);
  194. #define E20 29
  195. SIG_EXPR_LIST_DECL_SINGLE(E20, SD2DAT3, SD2, SD2_DESC);
  196. SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID4, GPID4_DESC);
  197. SIG_EXPR_DECL_SINGLE(GPID4OUT, GPID, GPID_DESC);
  198. SIG_EXPR_LIST_DECL_DUAL(E20, GPID4OUT, GPID4, GPID);
  199. PIN_DECL_2(E20, GPIOD5, SD2DAT3, GPID4OUT);
  200. FUNC_GROUP_DECL(GPID4, D21, E20);
  201. #define GPID6_DESC SIG_DESC_SET(SCU8C, 11)
  202. #define G18 30
  203. SIG_EXPR_LIST_DECL_SINGLE(G18, SD2CD, SD2, SD2_DESC);
  204. SIG_EXPR_DECL_SINGLE(GPID6IN, GPID6, GPID6_DESC);
  205. SIG_EXPR_DECL_SINGLE(GPID6IN, GPID, GPID_DESC);
  206. SIG_EXPR_LIST_DECL_DUAL(G18, GPID6IN, GPID6, GPID);
  207. PIN_DECL_2(G18, GPIOD6, SD2CD, GPID6IN);
  208. #define C21 31
  209. SIG_EXPR_LIST_DECL_SINGLE(C21, SD2WP, SD2, SD2_DESC);
  210. SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID6, GPID6_DESC);
  211. SIG_EXPR_DECL_SINGLE(GPID6OUT, GPID, GPID_DESC);
  212. SIG_EXPR_LIST_DECL_DUAL(C21, GPID6OUT, GPID6, GPID);
  213. PIN_DECL_2(C21, GPIOD7, SD2WP, GPID6OUT);
  214. FUNC_GROUP_DECL(GPID6, G18, C21);
  215. FUNC_GROUP_DECL(SD2, F19, E21, F20, D20, D21, E20, G18, C21);
  216. #define GPIE_DESC SIG_DESC_SET(HW_STRAP1, 22)
  217. #define GPIE0_DESC SIG_DESC_SET(SCU8C, 12)
  218. #define B20 32
  219. SIG_EXPR_LIST_DECL_SINGLE(B20, NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16));
  220. SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE0, GPIE0_DESC);
  221. SIG_EXPR_DECL_SINGLE(GPIE0IN, GPIE, GPIE_DESC);
  222. SIG_EXPR_LIST_DECL_DUAL(B20, GPIE0IN, GPIE0, GPIE);
  223. PIN_DECL_2(B20, GPIOE0, NCTS3, GPIE0IN);
  224. FUNC_GROUP_DECL(NCTS3, B20);
  225. #define C20 33
  226. SIG_EXPR_LIST_DECL_SINGLE(C20, NDCD3, NDCD3, SIG_DESC_SET(SCU80, 17));
  227. SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE0, GPIE0_DESC);
  228. SIG_EXPR_DECL_SINGLE(GPIE0OUT, GPIE, GPIE_DESC);
  229. SIG_EXPR_LIST_DECL_DUAL(C20, GPIE0OUT, GPIE0, GPIE);
  230. PIN_DECL_2(C20, GPIOE1, NDCD3, GPIE0OUT);
  231. FUNC_GROUP_DECL(NDCD3, C20);
  232. FUNC_GROUP_DECL(GPIE0, B20, C20);
  233. #define GPIE2_DESC SIG_DESC_SET(SCU8C, 13)
  234. #define F18 34
  235. SIG_EXPR_LIST_DECL_SINGLE(F18, NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18));
  236. SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE2, GPIE2_DESC);
  237. SIG_EXPR_DECL_SINGLE(GPIE2IN, GPIE, GPIE_DESC);
  238. SIG_EXPR_LIST_DECL_DUAL(F18, GPIE2IN, GPIE2, GPIE);
  239. PIN_DECL_2(F18, GPIOE2, NDSR3, GPIE2IN);
  240. FUNC_GROUP_DECL(NDSR3, F18);
  241. #define F17 35
  242. SIG_EXPR_LIST_DECL_SINGLE(F17, NRI3, NRI3, SIG_DESC_SET(SCU80, 19));
  243. SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE2, GPIE2_DESC);
  244. SIG_EXPR_DECL_SINGLE(GPIE2OUT, GPIE, GPIE_DESC);
  245. SIG_EXPR_LIST_DECL_DUAL(F17, GPIE2OUT, GPIE2, GPIE);
  246. PIN_DECL_2(F17, GPIOE3, NRI3, GPIE2OUT);
  247. FUNC_GROUP_DECL(NRI3, F17);
  248. FUNC_GROUP_DECL(GPIE2, F18, F17);
  249. #define GPIE4_DESC SIG_DESC_SET(SCU8C, 14)
  250. #define E18 36
  251. SIG_EXPR_LIST_DECL_SINGLE(E18, NDTR3, NDTR3, SIG_DESC_SET(SCU80, 20));
  252. SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE4, GPIE4_DESC);
  253. SIG_EXPR_DECL_SINGLE(GPIE4IN, GPIE, GPIE_DESC);
  254. SIG_EXPR_LIST_DECL_DUAL(E18, GPIE4IN, GPIE4, GPIE);
  255. PIN_DECL_2(E18, GPIOE4, NDTR3, GPIE4IN);
  256. FUNC_GROUP_DECL(NDTR3, E18);
  257. #define D19 37
  258. SIG_EXPR_LIST_DECL_SINGLE(D19, NRTS3, NRTS3, SIG_DESC_SET(SCU80, 21));
  259. SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE4, GPIE4_DESC);
  260. SIG_EXPR_DECL_SINGLE(GPIE4OUT, GPIE, GPIE_DESC);
  261. SIG_EXPR_LIST_DECL_DUAL(D19, GPIE4OUT, GPIE4, GPIE);
  262. PIN_DECL_2(D19, GPIOE5, NRTS3, GPIE4OUT);
  263. FUNC_GROUP_DECL(NRTS3, D19);
  264. FUNC_GROUP_DECL(GPIE4, E18, D19);
  265. #define GPIE6_DESC SIG_DESC_SET(SCU8C, 15)
  266. #define A20 38
  267. SIG_EXPR_LIST_DECL_SINGLE(A20, TXD3, TXD3, SIG_DESC_SET(SCU80, 22));
  268. SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE6, GPIE6_DESC);
  269. SIG_EXPR_DECL_SINGLE(GPIE6IN, GPIE, GPIE_DESC);
  270. SIG_EXPR_LIST_DECL_DUAL(A20, GPIE6IN, GPIE6, GPIE);
  271. PIN_DECL_2(A20, GPIOE6, TXD3, GPIE6IN);
  272. FUNC_GROUP_DECL(TXD3, A20);
  273. #define B19 39
  274. SIG_EXPR_LIST_DECL_SINGLE(B19, RXD3, RXD3, SIG_DESC_SET(SCU80, 23));
  275. SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE6, GPIE6_DESC);
  276. SIG_EXPR_DECL_SINGLE(GPIE6OUT, GPIE, GPIE_DESC);
  277. SIG_EXPR_LIST_DECL_DUAL(B19, GPIE6OUT, GPIE6, GPIE);
  278. PIN_DECL_2(B19, GPIOE7, RXD3, GPIE6OUT);
  279. FUNC_GROUP_DECL(RXD3, B19);
  280. FUNC_GROUP_DECL(GPIE6, A20, B19);
  281. #define LPCHC_DESC SIG_DESC_IP_SET(ASPEED_IP_LPC, LHCR0, 0)
  282. #define LPCPLUS_DESC SIG_DESC_SET(SCU90, 30)
  283. #define J19 40
  284. SIG_EXPR_DECL_SINGLE(LHAD0, LPCHC, LPCHC_DESC);
  285. SIG_EXPR_DECL_SINGLE(LHAD0, LPCPLUS, LPCPLUS_DESC);
  286. SIG_EXPR_LIST_DECL_DUAL(J19, LHAD0, LPCHC, LPCPLUS);
  287. SIG_EXPR_LIST_DECL_SINGLE(J19, NCTS4, NCTS4, SIG_DESC_SET(SCU80, 24));
  288. PIN_DECL_2(J19, GPIOF0, LHAD0, NCTS4);
  289. FUNC_GROUP_DECL(NCTS4, J19);
  290. #define J18 41
  291. SIG_EXPR_DECL_SINGLE(LHAD1, LPCHC, LPCHC_DESC);
  292. SIG_EXPR_DECL_SINGLE(LHAD1, LPCPLUS, LPCPLUS_DESC);
  293. SIG_EXPR_LIST_DECL_DUAL(J18, LHAD1, LPCHC, LPCPLUS);
  294. SIG_EXPR_LIST_DECL_SINGLE(J18, NDCD4, NDCD4, SIG_DESC_SET(SCU80, 25));
  295. PIN_DECL_2(J18, GPIOF1, LHAD1, NDCD4);
  296. FUNC_GROUP_DECL(NDCD4, J18);
  297. #define B22 42
  298. SIG_EXPR_DECL_SINGLE(LHAD2, LPCHC, LPCHC_DESC);
  299. SIG_EXPR_DECL_SINGLE(LHAD2, LPCPLUS, LPCPLUS_DESC);
  300. SIG_EXPR_LIST_DECL_DUAL(B22, LHAD2, LPCHC, LPCPLUS);
  301. SIG_EXPR_LIST_DECL_SINGLE(B22, NDSR4, NDSR4, SIG_DESC_SET(SCU80, 26));
  302. PIN_DECL_2(B22, GPIOF2, LHAD2, NDSR4);
  303. FUNC_GROUP_DECL(NDSR4, B22);
  304. #define B21 43
  305. SIG_EXPR_DECL_SINGLE(LHAD3, LPCHC, LPCHC_DESC);
  306. SIG_EXPR_DECL_SINGLE(LHAD3, LPCPLUS, LPCPLUS_DESC);
  307. SIG_EXPR_LIST_DECL_DUAL(B21, LHAD3, LPCHC, LPCPLUS);
  308. SIG_EXPR_LIST_DECL_SINGLE(B21, NRI4, NRI4, SIG_DESC_SET(SCU80, 27));
  309. PIN_DECL_2(B21, GPIOF3, LHAD3, NRI4);
  310. FUNC_GROUP_DECL(NRI4, B21);
  311. #define A21 44
  312. SIG_EXPR_DECL_SINGLE(LHCLK, LPCHC, LPCHC_DESC);
  313. SIG_EXPR_DECL_SINGLE(LHCLK, LPCPLUS, LPCPLUS_DESC);
  314. SIG_EXPR_LIST_DECL_DUAL(A21, LHCLK, LPCHC, LPCPLUS);
  315. SIG_EXPR_LIST_DECL_SINGLE(A21, NDTR4, NDTR4, SIG_DESC_SET(SCU80, 28));
  316. PIN_DECL_2(A21, GPIOF4, LHCLK, NDTR4);
  317. FUNC_GROUP_DECL(NDTR4, A21);
  318. #define H19 45
  319. SIG_EXPR_DECL_SINGLE(LHFRAME, LPCHC, LPCHC_DESC);
  320. SIG_EXPR_DECL_SINGLE(LHFRAME, LPCPLUS, LPCPLUS_DESC);
  321. SIG_EXPR_LIST_DECL_DUAL(H19, LHFRAME, LPCHC, LPCPLUS);
  322. SIG_EXPR_LIST_DECL_SINGLE(H19, NRTS4, NRTS4, SIG_DESC_SET(SCU80, 29));
  323. PIN_DECL_2(H19, GPIOF5, LHFRAME, NRTS4);
  324. FUNC_GROUP_DECL(NRTS4, H19);
  325. #define G17 46
  326. SIG_EXPR_LIST_DECL_SINGLE(G17, LHSIRQ, LPCHC, LPCHC_DESC);
  327. SIG_EXPR_LIST_DECL_SINGLE(G17, TXD4, TXD4, SIG_DESC_SET(SCU80, 30));
  328. PIN_DECL_2(G17, GPIOF6, LHSIRQ, TXD4);
  329. FUNC_GROUP_DECL(TXD4, G17);
  330. #define H18 47
  331. SIG_EXPR_DECL_SINGLE(LHRST, LPCHC, LPCHC_DESC);
  332. SIG_EXPR_DECL_SINGLE(LHRST, LPCPLUS, LPCPLUS_DESC);
  333. SIG_EXPR_LIST_DECL_DUAL(H18, LHRST, LPCHC, LPCPLUS);
  334. SIG_EXPR_LIST_DECL_SINGLE(H18, RXD4, RXD4, SIG_DESC_SET(SCU80, 31));
  335. PIN_DECL_2(H18, GPIOF7, LHRST, RXD4);
  336. FUNC_GROUP_DECL(RXD4, H18);
  337. FUNC_GROUP_DECL(LPCHC, J19, J18, B22, B21, A21, H19, G17, H18);
  338. FUNC_GROUP_DECL(LPCPLUS, J19, J18, B22, B21, A21, H19, H18);
  339. #define A19 48
  340. SIG_EXPR_LIST_DECL_SINGLE(A19, SGPS1CK, SGPS1, COND1, SIG_DESC_SET(SCU84, 0));
  341. PIN_DECL_1(A19, GPIOG0, SGPS1CK);
  342. #define E19 49
  343. SIG_EXPR_LIST_DECL_SINGLE(E19, SGPS1LD, SGPS1, COND1, SIG_DESC_SET(SCU84, 1));
  344. PIN_DECL_1(E19, GPIOG1, SGPS1LD);
  345. #define C19 50
  346. SIG_EXPR_LIST_DECL_SINGLE(C19, SGPS1I0, SGPS1, COND1, SIG_DESC_SET(SCU84, 2));
  347. PIN_DECL_1(C19, GPIOG2, SGPS1I0);
  348. #define E16 51
  349. SIG_EXPR_LIST_DECL_SINGLE(E16, SGPS1I1, SGPS1, COND1, SIG_DESC_SET(SCU84, 3));
  350. PIN_DECL_1(E16, GPIOG3, SGPS1I1);
  351. FUNC_GROUP_DECL(SGPS1, A19, E19, C19, E16);
  352. #define SGPS2_DESC SIG_DESC_SET(SCU94, 12)
  353. #define E17 52
  354. SIG_EXPR_LIST_DECL_SINGLE(E17, SGPS2CK, SGPS2, COND1, SGPS2_DESC);
  355. SIG_EXPR_LIST_DECL_SINGLE(E17, SALT1, SALT1, COND1, SIG_DESC_SET(SCU84, 4));
  356. PIN_DECL_2(E17, GPIOG4, SGPS2CK, SALT1);
  357. FUNC_GROUP_DECL(SALT1, E17);
  358. #define D16 53
  359. SIG_EXPR_LIST_DECL_SINGLE(D16, SGPS2LD, SGPS2, COND1, SGPS2_DESC);
  360. SIG_EXPR_LIST_DECL_SINGLE(D16, SALT2, SALT2, COND1, SIG_DESC_SET(SCU84, 5));
  361. PIN_DECL_2(D16, GPIOG5, SGPS2LD, SALT2);
  362. FUNC_GROUP_DECL(SALT2, D16);
  363. #define D15 54
  364. SIG_EXPR_LIST_DECL_SINGLE(D15, SGPS2I0, SGPS2, COND1, SGPS2_DESC);
  365. SIG_EXPR_LIST_DECL_SINGLE(D15, SALT3, SALT3, COND1, SIG_DESC_SET(SCU84, 6));
  366. PIN_DECL_2(D15, GPIOG6, SGPS2I0, SALT3);
  367. FUNC_GROUP_DECL(SALT3, D15);
  368. #define E14 55
  369. SIG_EXPR_LIST_DECL_SINGLE(E14, SGPS2I1, SGPS2, COND1, SGPS2_DESC);
  370. SIG_EXPR_LIST_DECL_SINGLE(E14, SALT4, SALT4, COND1, SIG_DESC_SET(SCU84, 7));
  371. PIN_DECL_2(E14, GPIOG7, SGPS2I1, SALT4);
  372. FUNC_GROUP_DECL(SALT4, E14);
  373. FUNC_GROUP_DECL(SGPS2, E17, D16, D15, E14);
  374. #define UART6_DESC SIG_DESC_SET(SCU90, 7)
  375. #define A18 56
  376. SIG_EXPR_LIST_DECL_SINGLE(A18, DASHA18, DASHA18, COND1, SIG_DESC_SET(SCU94, 5));
  377. SIG_EXPR_LIST_DECL_SINGLE(A18, NCTS6, UART6, COND1, UART6_DESC);
  378. PIN_DECL_2(A18, GPIOH0, DASHA18, NCTS6);
  379. #define B18 57
  380. SIG_EXPR_LIST_DECL_SINGLE(B18, DASHB18, DASHB18, COND1, SIG_DESC_SET(SCU94, 5));
  381. SIG_EXPR_LIST_DECL_SINGLE(B18, NDCD6, UART6, COND1, UART6_DESC);
  382. PIN_DECL_2(B18, GPIOH1, DASHB18, NDCD6);
  383. #define D17 58
  384. SIG_EXPR_LIST_DECL_SINGLE(D17, DASHD17, DASHD17, COND1, SIG_DESC_SET(SCU94, 6));
  385. SIG_EXPR_LIST_DECL_SINGLE(D17, NDSR6, UART6, COND1, UART6_DESC);
  386. PIN_DECL_2(D17, GPIOH2, DASHD17, NDSR6);
  387. #define C17 59
  388. SIG_EXPR_LIST_DECL_SINGLE(C17, DASHC17, DASHC17, COND1, SIG_DESC_SET(SCU94, 6));
  389. SIG_EXPR_LIST_DECL_SINGLE(C17, NRI6, UART6, COND1, UART6_DESC);
  390. PIN_DECL_2(C17, GPIOH3, DASHC17, NRI6);
  391. #define A17 60
  392. SIG_EXPR_LIST_DECL_SINGLE(A17, DASHA17, DASHA17, COND1, SIG_DESC_SET(SCU94, 7));
  393. SIG_EXPR_LIST_DECL_SINGLE(A17, NDTR6, UART6, COND1, UART6_DESC);
  394. PIN_DECL_2(A17, GPIOH4, DASHA17, NDTR6);
  395. #define B17 61
  396. SIG_EXPR_LIST_DECL_SINGLE(B17, DASHB17, DASHB17, COND1, SIG_DESC_SET(SCU94, 7));
  397. SIG_EXPR_LIST_DECL_SINGLE(B17, NRTS6, UART6, COND1, UART6_DESC);
  398. PIN_DECL_2(B17, GPIOH5, DASHB17, NRTS6);
  399. #define A16 62
  400. SIG_EXPR_LIST_DECL_SINGLE(A16, TXD6, UART6, COND1, UART6_DESC);
  401. PIN_DECL_1(A16, GPIOH6, TXD6);
  402. #define D18 63
  403. SIG_EXPR_LIST_DECL_SINGLE(D18, RXD6, UART6, COND1, UART6_DESC);
  404. PIN_DECL_1(D18, GPIOH7, RXD6);
  405. FUNC_GROUP_DECL(UART6, A18, B18, D17, C17, A17, B17, A16, D18);
  406. #define SPI1_DESC \
  407. { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 1, 0 }
  408. #define SPI1DEBUG_DESC \
  409. { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 2, 0 }
  410. #define SPI1PASSTHRU_DESC \
  411. { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 3, 0 }
  412. #define C18 64
  413. SIG_EXPR_DECL_SINGLE(SYSCS, SPI1DEBUG, COND1, SPI1DEBUG_DESC);
  414. SIG_EXPR_DECL_SINGLE(SYSCS, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC);
  415. SIG_EXPR_LIST_DECL_DUAL(C18, SYSCS, SPI1DEBUG, SPI1PASSTHRU);
  416. PIN_DECL_1(C18, GPIOI0, SYSCS);
  417. #define E15 65
  418. SIG_EXPR_DECL_SINGLE(SYSCK, SPI1DEBUG, COND1, SPI1DEBUG_DESC);
  419. SIG_EXPR_DECL_SINGLE(SYSCK, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC);
  420. SIG_EXPR_LIST_DECL_DUAL(E15, SYSCK, SPI1DEBUG, SPI1PASSTHRU);
  421. PIN_DECL_1(E15, GPIOI1, SYSCK);
  422. #define B16 66
  423. SIG_EXPR_DECL_SINGLE(SYSMOSI, SPI1DEBUG, COND1, SPI1DEBUG_DESC);
  424. SIG_EXPR_DECL_SINGLE(SYSMOSI, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC);
  425. SIG_EXPR_LIST_DECL_DUAL(B16, SYSMOSI, SPI1DEBUG, SPI1PASSTHRU);
  426. PIN_DECL_1(B16, GPIOI2, SYSMOSI);
  427. #define C16 67
  428. SIG_EXPR_DECL_SINGLE(SYSMISO, SPI1DEBUG, COND1, SPI1DEBUG_DESC);
  429. SIG_EXPR_DECL_SINGLE(SYSMISO, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC);
  430. SIG_EXPR_LIST_DECL_DUAL(C16, SYSMISO, SPI1DEBUG, SPI1PASSTHRU);
  431. PIN_DECL_1(C16, GPIOI3, SYSMISO);
  432. #define VB_DESC SIG_DESC_SET(HW_STRAP1, 5)
  433. #define B15 68
  434. SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1, COND1, SPI1_DESC);
  435. SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1DEBUG, COND1, SPI1DEBUG_DESC);
  436. SIG_EXPR_DECL_SINGLE(SPI1CS0, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC);
  437. SIG_EXPR_LIST_DECL(SPI1CS0, SPI1,
  438. SIG_EXPR_PTR(SPI1CS0, SPI1),
  439. SIG_EXPR_PTR(SPI1CS0, SPI1DEBUG),
  440. SIG_EXPR_PTR(SPI1CS0, SPI1PASSTHRU));
  441. SIG_EXPR_LIST_ALIAS(B15, SPI1CS0, SPI1);
  442. SIG_EXPR_LIST_DECL_SINGLE(B15, VBCS, VGABIOSROM, COND1, VB_DESC);
  443. PIN_DECL_2(B15, GPIOI4, SPI1CS0, VBCS);
  444. #define C15 69
  445. SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1, COND1, SPI1_DESC);
  446. SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1DEBUG, COND1, SPI1DEBUG_DESC);
  447. SIG_EXPR_DECL_SINGLE(SPI1CK, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC);
  448. SIG_EXPR_LIST_DECL(SPI1CK, SPI1,
  449. SIG_EXPR_PTR(SPI1CK, SPI1),
  450. SIG_EXPR_PTR(SPI1CK, SPI1DEBUG),
  451. SIG_EXPR_PTR(SPI1CK, SPI1PASSTHRU));
  452. SIG_EXPR_LIST_ALIAS(C15, SPI1CK, SPI1);
  453. SIG_EXPR_LIST_DECL_SINGLE(C15, VBCK, VGABIOSROM, COND1, VB_DESC);
  454. PIN_DECL_2(C15, GPIOI5, SPI1CK, VBCK);
  455. #define A14 70
  456. SIG_EXPR_DECL_SINGLE(SPI1MOSI, SPI1, COND1, SPI1_DESC);
  457. SIG_EXPR_DECL_SINGLE(SPI1MOSI, SPI1DEBUG, COND1, SPI1DEBUG_DESC);
  458. SIG_EXPR_DECL_SINGLE(SPI1MOSI, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC);
  459. SIG_EXPR_LIST_DECL(SPI1MOSI, SPI1,
  460. SIG_EXPR_PTR(SPI1MOSI, SPI1),
  461. SIG_EXPR_PTR(SPI1MOSI, SPI1DEBUG),
  462. SIG_EXPR_PTR(SPI1MOSI, SPI1PASSTHRU));
  463. SIG_EXPR_LIST_ALIAS(A14, SPI1MOSI, SPI1);
  464. SIG_EXPR_LIST_DECL_SINGLE(A14, VBMOSI, VGABIOSROM, COND1, VB_DESC);
  465. PIN_DECL_2(A14, GPIOI6, SPI1MOSI, VBMOSI);
  466. #define A15 71
  467. SIG_EXPR_DECL_SINGLE(SPI1MISO, SPI1, COND1, SPI1_DESC);
  468. SIG_EXPR_DECL_SINGLE(SPI1MISO, SPI1DEBUG, COND1, SPI1DEBUG_DESC);
  469. SIG_EXPR_DECL_SINGLE(SPI1MISO, SPI1PASSTHRU, COND1, SPI1PASSTHRU_DESC);
  470. SIG_EXPR_LIST_DECL(SPI1MISO, SPI1,
  471. SIG_EXPR_PTR(SPI1MISO, SPI1),
  472. SIG_EXPR_PTR(SPI1MISO, SPI1DEBUG),
  473. SIG_EXPR_PTR(SPI1MISO, SPI1PASSTHRU));
  474. SIG_EXPR_LIST_ALIAS(A15, SPI1MISO, SPI1);
  475. SIG_EXPR_LIST_DECL_SINGLE(A15, VBMISO, VGABIOSROM, COND1, VB_DESC);
  476. PIN_DECL_2(A15, GPIOI7, SPI1MISO, VBMISO);
  477. FUNC_GROUP_DECL(SPI1, B15, C15, A14, A15);
  478. FUNC_GROUP_DECL(SPI1DEBUG, C18, E15, B16, C16, B15, C15, A14, A15);
  479. FUNC_GROUP_DECL(SPI1PASSTHRU, C18, E15, B16, C16, B15, C15, A14, A15);
  480. FUNC_GROUP_DECL(VGABIOSROM, B15, C15, A14, A15);
  481. #define R2 72
  482. SIG_EXPR_LIST_DECL_SINGLE(R2, SGPMCK, SGPM, SIG_DESC_SET(SCU84, 8));
  483. PIN_DECL_1(R2, GPIOJ0, SGPMCK);
  484. #define L2 73
  485. SIG_EXPR_LIST_DECL_SINGLE(L2, SGPMLD, SGPM, SIG_DESC_SET(SCU84, 9));
  486. PIN_DECL_1(L2, GPIOJ1, SGPMLD);
  487. #define N3 74
  488. SIG_EXPR_LIST_DECL_SINGLE(N3, SGPMO, SGPM, SIG_DESC_SET(SCU84, 10));
  489. PIN_DECL_1(N3, GPIOJ2, SGPMO);
  490. #define N4 75
  491. SIG_EXPR_LIST_DECL_SINGLE(N4, SGPMI, SGPM, SIG_DESC_SET(SCU84, 11));
  492. PIN_DECL_1(N4, GPIOJ3, SGPMI);
  493. FUNC_GROUP_DECL(SGPM, R2, L2, N3, N4);
  494. #define N5 76
  495. SIG_EXPR_LIST_DECL_SINGLE(N5, VGAHS, VGAHS, SIG_DESC_SET(SCU84, 12));
  496. SIG_EXPR_LIST_DECL_SINGLE(N5, DASHN5, DASHN5, SIG_DESC_SET(SCU94, 8));
  497. PIN_DECL_2(N5, GPIOJ4, VGAHS, DASHN5);
  498. FUNC_GROUP_DECL(VGAHS, N5);
  499. #define R4 77
  500. SIG_EXPR_LIST_DECL_SINGLE(R4, VGAVS, VGAVS, SIG_DESC_SET(SCU84, 13));
  501. SIG_EXPR_LIST_DECL_SINGLE(R4, DASHR4, DASHR4, SIG_DESC_SET(SCU94, 8));
  502. PIN_DECL_2(R4, GPIOJ5, VGAVS, DASHR4);
  503. FUNC_GROUP_DECL(VGAVS, R4);
  504. #define R3 78
  505. SIG_EXPR_LIST_DECL_SINGLE(R3, DDCCLK, DDCCLK, SIG_DESC_SET(SCU84, 14));
  506. SIG_EXPR_LIST_DECL_SINGLE(R3, DASHR3, DASHR3, SIG_DESC_SET(SCU94, 9));
  507. PIN_DECL_2(R3, GPIOJ6, DDCCLK, DASHR3);
  508. FUNC_GROUP_DECL(DDCCLK, R3);
  509. #define T3 79
  510. SIG_EXPR_LIST_DECL_SINGLE(T3, DDCDAT, DDCDAT, SIG_DESC_SET(SCU84, 15));
  511. SIG_EXPR_LIST_DECL_SINGLE(T3, DASHT3, DASHT3, SIG_DESC_SET(SCU94, 9));
  512. PIN_DECL_2(T3, GPIOJ7, DDCDAT, DASHT3);
  513. FUNC_GROUP_DECL(DDCDAT, T3);
  514. #define I2C5_DESC SIG_DESC_SET(SCU90, 18)
  515. #define L3 80
  516. SIG_EXPR_LIST_DECL_SINGLE(L3, SCL5, I2C5, I2C5_DESC);
  517. PIN_DECL_1(L3, GPIOK0, SCL5);
  518. #define L4 81
  519. SIG_EXPR_LIST_DECL_SINGLE(L4, SDA5, I2C5, I2C5_DESC);
  520. PIN_DECL_1(L4, GPIOK1, SDA5);
  521. FUNC_GROUP_DECL(I2C5, L3, L4);
  522. #define I2C6_DESC SIG_DESC_SET(SCU90, 19)
  523. #define L1 82
  524. SIG_EXPR_LIST_DECL_SINGLE(L1, SCL6, I2C6, I2C6_DESC);
  525. PIN_DECL_1(L1, GPIOK2, SCL6);
  526. #define N2 83
  527. SIG_EXPR_LIST_DECL_SINGLE(N2, SDA6, I2C6, I2C6_DESC);
  528. PIN_DECL_1(N2, GPIOK3, SDA6);
  529. FUNC_GROUP_DECL(I2C6, L1, N2);
  530. #define I2C7_DESC SIG_DESC_SET(SCU90, 20)
  531. #define N1 84
  532. SIG_EXPR_LIST_DECL_SINGLE(N1, SCL7, I2C7, I2C7_DESC);
  533. PIN_DECL_1(N1, GPIOK4, SCL7);
  534. #define P1 85
  535. SIG_EXPR_LIST_DECL_SINGLE(P1, SDA7, I2C7, I2C7_DESC);
  536. PIN_DECL_1(P1, GPIOK5, SDA7);
  537. FUNC_GROUP_DECL(I2C7, N1, P1);
  538. #define I2C8_DESC SIG_DESC_SET(SCU90, 21)
  539. #define P2 86
  540. SIG_EXPR_LIST_DECL_SINGLE(P2, SCL8, I2C8, I2C8_DESC);
  541. PIN_DECL_1(P2, GPIOK6, SCL8);
  542. #define R1 87
  543. SIG_EXPR_LIST_DECL_SINGLE(R1, SDA8, I2C8, I2C8_DESC);
  544. PIN_DECL_1(R1, GPIOK7, SDA8);
  545. FUNC_GROUP_DECL(I2C8, P2, R1);
  546. #define T2 88
  547. SSSF_PIN_DECL(T2, GPIOL0, NCTS1, SIG_DESC_SET(SCU84, 16));
  548. #define VPIOFF0_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 0, 0 }
  549. #define VPIOFF1_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 1, 0 }
  550. #define VPI24_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 2, 0 }
  551. #define VPIRSVD_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 3, 0 }
  552. #define VPI_24_RSVD_DESC SIG_DESC_SET(SCU90, 5)
  553. #define T1 89
  554. #define T1_DESC SIG_DESC_SET(SCU84, 17)
  555. SIG_EXPR_LIST_DECL_SINGLE(T1, VPIDE, VPI24, VPI_24_RSVD_DESC, T1_DESC, COND2);
  556. SIG_EXPR_LIST_DECL_SINGLE(T1, NDCD1, NDCD1, T1_DESC, COND2);
  557. PIN_DECL_2(T1, GPIOL1, VPIDE, NDCD1);
  558. FUNC_GROUP_DECL(NDCD1, T1);
  559. #define U1 90
  560. #define U1_DESC SIG_DESC_SET(SCU84, 18)
  561. SIG_EXPR_LIST_DECL_SINGLE(U1, DASHU1, VPI24, VPI_24_RSVD_DESC, U1_DESC);
  562. SIG_EXPR_LIST_DECL_SINGLE(U1, NDSR1, NDSR1, U1_DESC);
  563. PIN_DECL_2(U1, GPIOL2, DASHU1, NDSR1);
  564. FUNC_GROUP_DECL(NDSR1, U1);
  565. #define U2 91
  566. #define U2_DESC SIG_DESC_SET(SCU84, 19)
  567. SIG_EXPR_LIST_DECL_SINGLE(U2, VPIHS, VPI24, VPI_24_RSVD_DESC, U2_DESC, COND2);
  568. SIG_EXPR_LIST_DECL_SINGLE(U2, NRI1, NRI1, U2_DESC, COND2);
  569. PIN_DECL_2(U2, GPIOL3, VPIHS, NRI1);
  570. FUNC_GROUP_DECL(NRI1, U2);
  571. #define P4 92
  572. #define P4_DESC SIG_DESC_SET(SCU84, 20)
  573. SIG_EXPR_LIST_DECL_SINGLE(P4, VPIVS, VPI24, VPI_24_RSVD_DESC, P4_DESC, COND2);
  574. SIG_EXPR_LIST_DECL_SINGLE(P4, NDTR1, NDTR1, P4_DESC, COND2);
  575. PIN_DECL_2(P4, GPIOL4, VPIVS, NDTR1);
  576. FUNC_GROUP_DECL(NDTR1, P4);
  577. #define P3 93
  578. #define P3_DESC SIG_DESC_SET(SCU84, 21)
  579. SIG_EXPR_LIST_DECL_SINGLE(P3, VPICLK, VPI24, VPI_24_RSVD_DESC, P3_DESC, COND2);
  580. SIG_EXPR_LIST_DECL_SINGLE(P3, NRTS1, NRTS1, P3_DESC, COND2);
  581. PIN_DECL_2(P3, GPIOL5, VPICLK, NRTS1);
  582. FUNC_GROUP_DECL(NRTS1, P3);
  583. #define V1 94
  584. #define V1_DESC SIG_DESC_SET(SCU84, 22)
  585. SIG_EXPR_LIST_DECL_SINGLE(V1, DASHV1, DASHV1, VPIRSVD_DESC, V1_DESC);
  586. SIG_EXPR_LIST_DECL_SINGLE(V1, TXD1, TXD1, V1_DESC, COND2);
  587. PIN_DECL_2(V1, GPIOL6, DASHV1, TXD1);
  588. FUNC_GROUP_DECL(TXD1, V1);
  589. #define W1 95
  590. #define W1_DESC SIG_DESC_SET(SCU84, 23)
  591. SIG_EXPR_LIST_DECL_SINGLE(W1, DASHW1, DASHW1, VPIRSVD_DESC, W1_DESC);
  592. SIG_EXPR_LIST_DECL_SINGLE(W1, RXD1, RXD1, W1_DESC, COND2);
  593. PIN_DECL_2(W1, GPIOL7, DASHW1, RXD1);
  594. FUNC_GROUP_DECL(RXD1, W1);
  595. #define Y1 96
  596. #define Y1_DESC SIG_DESC_SET(SCU84, 24)
  597. SIG_EXPR_LIST_DECL_SINGLE(Y1, VPIB2, VPI24, VPI_24_RSVD_DESC, Y1_DESC, COND2);
  598. SIG_EXPR_LIST_DECL_SINGLE(Y1, NCTS2, NCTS2, Y1_DESC, COND2);
  599. PIN_DECL_2(Y1, GPIOM0, VPIB2, NCTS2);
  600. FUNC_GROUP_DECL(NCTS2, Y1);
  601. #define AB2 97
  602. #define AB2_DESC SIG_DESC_SET(SCU84, 25)
  603. SIG_EXPR_LIST_DECL_SINGLE(AB2, VPIB3, VPI24, VPI_24_RSVD_DESC, AB2_DESC, COND2);
  604. SIG_EXPR_LIST_DECL_SINGLE(AB2, NDCD2, NDCD2, AB2_DESC, COND2);
  605. PIN_DECL_2(AB2, GPIOM1, VPIB3, NDCD2);
  606. FUNC_GROUP_DECL(NDCD2, AB2);
  607. #define AA1 98
  608. #define AA1_DESC SIG_DESC_SET(SCU84, 26)
  609. SIG_EXPR_LIST_DECL_SINGLE(AA1, VPIB4, VPI24, VPI_24_RSVD_DESC, AA1_DESC, COND2);
  610. SIG_EXPR_LIST_DECL_SINGLE(AA1, NDSR2, NDSR2, AA1_DESC, COND2);
  611. PIN_DECL_2(AA1, GPIOM2, VPIB4, NDSR2);
  612. FUNC_GROUP_DECL(NDSR2, AA1);
  613. #define Y2 99
  614. #define Y2_DESC SIG_DESC_SET(SCU84, 27)
  615. SIG_EXPR_LIST_DECL_SINGLE(Y2, VPIB5, VPI24, VPI_24_RSVD_DESC, Y2_DESC, COND2);
  616. SIG_EXPR_LIST_DECL_SINGLE(Y2, NRI2, NRI2, Y2_DESC, COND2);
  617. PIN_DECL_2(Y2, GPIOM3, VPIB5, NRI2);
  618. FUNC_GROUP_DECL(NRI2, Y2);
  619. #define AA2 100
  620. #define AA2_DESC SIG_DESC_SET(SCU84, 28)
  621. SIG_EXPR_LIST_DECL_SINGLE(AA2, VPIB6, VPI24, VPI_24_RSVD_DESC, AA2_DESC, COND2);
  622. SIG_EXPR_LIST_DECL_SINGLE(AA2, NDTR2, NDTR2, AA2_DESC, COND2);
  623. PIN_DECL_2(AA2, GPIOM4, VPIB6, NDTR2);
  624. FUNC_GROUP_DECL(NDTR2, AA2);
  625. #define P5 101
  626. #define P5_DESC SIG_DESC_SET(SCU84, 29)
  627. SIG_EXPR_LIST_DECL_SINGLE(P5, VPIB7, VPI24, VPI_24_RSVD_DESC, P5_DESC, COND2);
  628. SIG_EXPR_LIST_DECL_SINGLE(P5, NRTS2, NRTS2, P5_DESC, COND2);
  629. PIN_DECL_2(P5, GPIOM5, VPIB7, NRTS2);
  630. FUNC_GROUP_DECL(NRTS2, P5);
  631. #define R5 102
  632. #define R5_DESC SIG_DESC_SET(SCU84, 30)
  633. SIG_EXPR_LIST_DECL_SINGLE(R5, VPIB8, VPI24, VPI_24_RSVD_DESC, R5_DESC, COND2);
  634. SIG_EXPR_LIST_DECL_SINGLE(R5, TXD2, TXD2, R5_DESC, COND2);
  635. PIN_DECL_2(R5, GPIOM6, VPIB8, TXD2);
  636. FUNC_GROUP_DECL(TXD2, R5);
  637. #define T5 103
  638. #define T5_DESC SIG_DESC_SET(SCU84, 31)
  639. SIG_EXPR_LIST_DECL_SINGLE(T5, VPIB9, VPI24, VPI_24_RSVD_DESC, T5_DESC, COND2);
  640. SIG_EXPR_LIST_DECL_SINGLE(T5, RXD2, RXD2, T5_DESC, COND2);
  641. PIN_DECL_2(T5, GPIOM7, VPIB9, RXD2);
  642. FUNC_GROUP_DECL(RXD2, T5);
  643. #define V2 104
  644. #define V2_DESC SIG_DESC_SET(SCU88, 0)
  645. SIG_EXPR_LIST_DECL_SINGLE(V2, DASHN0, DASHN0, VPIRSVD_DESC, V2_DESC);
  646. SIG_EXPR_LIST_DECL_SINGLE(V2, PWM0, PWM0, V2_DESC, COND2);
  647. PIN_DECL_2(V2, GPION0, DASHN0, PWM0);
  648. FUNC_GROUP_DECL(PWM0, V2);
  649. #define W2 105
  650. #define W2_DESC SIG_DESC_SET(SCU88, 1)
  651. SIG_EXPR_LIST_DECL_SINGLE(W2, DASHN1, DASHN1, VPIRSVD_DESC, W2_DESC);
  652. SIG_EXPR_LIST_DECL_SINGLE(W2, PWM1, PWM1, W2_DESC, COND2);
  653. PIN_DECL_2(W2, GPION1, DASHN1, PWM1);
  654. FUNC_GROUP_DECL(PWM1, W2);
  655. #define V3 106
  656. #define V3_DESC SIG_DESC_SET(SCU88, 2)
  657. SIG_EXPR_DECL_SINGLE(VPIG2, VPI24, VPI24_DESC, V3_DESC, COND2);
  658. SIG_EXPR_DECL_SINGLE(VPIG2, VPIRSVD, VPIRSVD_DESC, V3_DESC, COND2);
  659. SIG_EXPR_LIST_DECL_DUAL(V3, VPIG2, VPI24, VPIRSVD);
  660. SIG_EXPR_LIST_DECL_SINGLE(V3, PWM2, PWM2, V3_DESC, COND2);
  661. PIN_DECL_2(V3, GPION2, VPIG2, PWM2);
  662. FUNC_GROUP_DECL(PWM2, V3);
  663. #define U3 107
  664. #define U3_DESC SIG_DESC_SET(SCU88, 3)
  665. SIG_EXPR_DECL_SINGLE(VPIG3, VPI24, VPI24_DESC, U3_DESC, COND2);
  666. SIG_EXPR_DECL_SINGLE(VPIG3, VPIRSVD, VPIRSVD_DESC, U3_DESC, COND2);
  667. SIG_EXPR_LIST_DECL_DUAL(U3, VPIG3, VPI24, VPIRSVD);
  668. SIG_EXPR_LIST_DECL_SINGLE(U3, PWM3, PWM3, U3_DESC, COND2);
  669. PIN_DECL_2(U3, GPION3, VPIG3, PWM3);
  670. FUNC_GROUP_DECL(PWM3, U3);
  671. #define W3 108
  672. #define W3_DESC SIG_DESC_SET(SCU88, 4)
  673. SIG_EXPR_DECL_SINGLE(VPIG4, VPI24, VPI24_DESC, W3_DESC, COND2);
  674. SIG_EXPR_DECL_SINGLE(VPIG4, VPIRSVD, VPIRSVD_DESC, W3_DESC, COND2);
  675. SIG_EXPR_LIST_DECL_DUAL(W3, VPIG4, VPI24, VPIRSVD);
  676. SIG_EXPR_LIST_DECL_SINGLE(W3, PWM4, PWM4, W3_DESC, COND2);
  677. PIN_DECL_2(W3, GPION4, VPIG4, PWM4);
  678. FUNC_GROUP_DECL(PWM4, W3);
  679. #define AA3 109
  680. #define AA3_DESC SIG_DESC_SET(SCU88, 5)
  681. SIG_EXPR_DECL_SINGLE(VPIG5, VPI24, VPI24_DESC, AA3_DESC, COND2);
  682. SIG_EXPR_DECL_SINGLE(VPIG5, VPIRSVD, VPIRSVD_DESC, AA3_DESC, COND2);
  683. SIG_EXPR_LIST_DECL_DUAL(AA3, VPIG5, VPI24, VPIRSVD);
  684. SIG_EXPR_LIST_DECL_SINGLE(AA3, PWM5, PWM5, AA3_DESC, COND2);
  685. PIN_DECL_2(AA3, GPION5, VPIG5, PWM5);
  686. FUNC_GROUP_DECL(PWM5, AA3);
  687. #define Y3 110
  688. #define Y3_DESC SIG_DESC_SET(SCU88, 6)
  689. SIG_EXPR_LIST_DECL_SINGLE(Y3, VPIG6, VPI24, VPI24_DESC, Y3_DESC);
  690. SIG_EXPR_LIST_DECL_SINGLE(Y3, PWM6, PWM6, Y3_DESC, COND2);
  691. PIN_DECL_2(Y3, GPION6, VPIG6, PWM6);
  692. FUNC_GROUP_DECL(PWM6, Y3);
  693. #define T4 111
  694. #define T4_DESC SIG_DESC_SET(SCU88, 7)
  695. SIG_EXPR_LIST_DECL_SINGLE(T4, VPIG7, VPI24, VPI24_DESC, T4_DESC);
  696. SIG_EXPR_LIST_DECL_SINGLE(T4, PWM7, PWM7, T4_DESC, COND2);
  697. PIN_DECL_2(T4, GPION7, VPIG7, PWM7);
  698. FUNC_GROUP_DECL(PWM7, T4);
  699. #define U5 112
  700. SIG_EXPR_LIST_DECL_SINGLE(U5, VPIG8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 8),
  701. COND2);
  702. PIN_DECL_1(U5, GPIOO0, VPIG8);
  703. #define U4 113
  704. SIG_EXPR_LIST_DECL_SINGLE(U4, VPIG9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 9),
  705. COND2);
  706. PIN_DECL_1(U4, GPIOO1, VPIG9);
  707. #define V5 114
  708. SIG_EXPR_LIST_DECL_SINGLE(V5, DASHV5, DASHV5, VPI_24_RSVD_DESC,
  709. SIG_DESC_SET(SCU88, 10));
  710. PIN_DECL_1(V5, GPIOO2, DASHV5);
  711. #define AB4 115
  712. SIG_EXPR_LIST_DECL_SINGLE(AB4, DASHAB4, DASHAB4, VPI_24_RSVD_DESC,
  713. SIG_DESC_SET(SCU88, 11));
  714. PIN_DECL_1(AB4, GPIOO3, DASHAB4);
  715. #define AB3 116
  716. SIG_EXPR_LIST_DECL_SINGLE(AB3, VPIR2, VPI24, VPI24_DESC,
  717. SIG_DESC_SET(SCU88, 12), COND2);
  718. PIN_DECL_1(AB3, GPIOO4, VPIR2);
  719. #define Y4 117
  720. SIG_EXPR_LIST_DECL_SINGLE(Y4, VPIR3, VPI24, VPI24_DESC,
  721. SIG_DESC_SET(SCU88, 13), COND2);
  722. PIN_DECL_1(Y4, GPIOO5, VPIR3);
  723. #define AA4 118
  724. SIG_EXPR_LIST_DECL_SINGLE(AA4, VPIR4, VPI24, VPI24_DESC,
  725. SIG_DESC_SET(SCU88, 14), COND2);
  726. PIN_DECL_1(AA4, GPIOO6, VPIR4);
  727. #define W4 119
  728. SIG_EXPR_LIST_DECL_SINGLE(W4, VPIR5, VPI24, VPI24_DESC,
  729. SIG_DESC_SET(SCU88, 15), COND2);
  730. PIN_DECL_1(W4, GPIOO7, VPIR5);
  731. #define V4 120
  732. SIG_EXPR_LIST_DECL_SINGLE(V4, VPIR6, VPI24, VPI24_DESC,
  733. SIG_DESC_SET(SCU88, 16), COND2);
  734. PIN_DECL_1(V4, GPIOP0, VPIR6);
  735. #define W5 121
  736. SIG_EXPR_LIST_DECL_SINGLE(W5, VPIR7, VPI24, VPI24_DESC,
  737. SIG_DESC_SET(SCU88, 17), COND2);
  738. PIN_DECL_1(W5, GPIOP1, VPIR7);
  739. #define AA5 122
  740. SIG_EXPR_LIST_DECL_SINGLE(AA5, VPIR8, VPI24, VPI24_DESC,
  741. SIG_DESC_SET(SCU88, 18), COND2);
  742. PIN_DECL_1(AA5, GPIOP2, VPIR8);
  743. #define AB5 123
  744. SIG_EXPR_LIST_DECL_SINGLE(AB5, VPIR9, VPI24, VPI24_DESC,
  745. SIG_DESC_SET(SCU88, 19), COND2);
  746. PIN_DECL_1(AB5, GPIOP3, VPIR9);
  747. FUNC_GROUP_DECL(VPI24, T1, U2, P4, P3, Y1, AB2, AA1, Y2, AA2, P5, R5, T5, V3,
  748. U3, W3, AA3, Y3, T4, U5, U4, AB3, Y4, AA4, W4, V4, W5, AA5,
  749. AB5);
  750. #define Y6 124
  751. SIG_EXPR_LIST_DECL_SINGLE(Y6, DASHY6, DASHY6, SIG_DESC_SET(SCU90, 28),
  752. SIG_DESC_SET(SCU88, 20));
  753. PIN_DECL_1(Y6, GPIOP4, DASHY6);
  754. #define Y5 125
  755. SIG_EXPR_LIST_DECL_SINGLE(Y5, DASHY5, DASHY5, SIG_DESC_SET(SCU90, 28),
  756. SIG_DESC_SET(SCU88, 21));
  757. PIN_DECL_1(Y5, GPIOP5, DASHY5);
  758. #define W6 126
  759. SIG_EXPR_LIST_DECL_SINGLE(W6, DASHW6, DASHW6, SIG_DESC_SET(SCU90, 28),
  760. SIG_DESC_SET(SCU88, 22));
  761. PIN_DECL_1(W6, GPIOP6, DASHW6);
  762. #define V6 127
  763. SIG_EXPR_LIST_DECL_SINGLE(V6, DASHV6, DASHV6, SIG_DESC_SET(SCU90, 28),
  764. SIG_DESC_SET(SCU88, 23));
  765. PIN_DECL_1(V6, GPIOP7, DASHV6);
  766. #define I2C3_DESC SIG_DESC_SET(SCU90, 16)
  767. #define A11 128
  768. SIG_EXPR_LIST_DECL_SINGLE(A11, SCL3, I2C3, I2C3_DESC);
  769. PIN_DECL_1(A11, GPIOQ0, SCL3);
  770. #define A10 129
  771. SIG_EXPR_LIST_DECL_SINGLE(A10, SDA3, I2C3, I2C3_DESC);
  772. PIN_DECL_1(A10, GPIOQ1, SDA3);
  773. FUNC_GROUP_DECL(I2C3, A11, A10);
  774. #define I2C4_DESC SIG_DESC_SET(SCU90, 17)
  775. #define A9 130
  776. SIG_EXPR_LIST_DECL_SINGLE(A9, SCL4, I2C4, I2C4_DESC);
  777. PIN_DECL_1(A9, GPIOQ2, SCL4);
  778. #define B9 131
  779. SIG_EXPR_LIST_DECL_SINGLE(B9, SDA4, I2C4, I2C4_DESC);
  780. PIN_DECL_1(B9, GPIOQ3, SDA4);
  781. FUNC_GROUP_DECL(I2C4, A9, B9);
  782. #define I2C14_DESC SIG_DESC_SET(SCU90, 27)
  783. #define N21 132
  784. SIG_EXPR_LIST_DECL_SINGLE(N21, SCL14, I2C14, I2C14_DESC);
  785. PIN_DECL_1(N21, GPIOQ4, SCL14);
  786. #define N22 133
  787. SIG_EXPR_LIST_DECL_SINGLE(N22, SDA14, I2C14, I2C14_DESC);
  788. PIN_DECL_1(N22, GPIOQ5, SDA14);
  789. FUNC_GROUP_DECL(I2C14, N21, N22);
  790. #define B10 134
  791. SSSF_PIN_DECL(B10, GPIOQ6, OSCCLK, SIG_DESC_SET(SCU2C, 1));
  792. #define N20 135
  793. SSSF_PIN_DECL(N20, GPIOQ7, PEWAKE, SIG_DESC_SET(SCU2C, 29));
  794. #define AA19 136
  795. SSSF_PIN_DECL(AA19, GPIOR0, FWSPICS1, SIG_DESC_SET(SCU88, 24), COND2);
  796. #define T19 137
  797. SSSF_PIN_DECL(T19, GPIOR1, FWSPICS2, SIG_DESC_SET(SCU88, 25), COND2);
  798. #define T17 138
  799. SSSF_PIN_DECL(T17, GPIOR2, SPI2CS0, SIG_DESC_SET(SCU88, 26), COND2);
  800. #define Y19 139
  801. SSSF_PIN_DECL(Y19, GPIOR3, SPI2CK, SIG_DESC_SET(SCU88, 27), COND2);
  802. #define W19 140
  803. SSSF_PIN_DECL(W19, GPIOR4, SPI2MOSI, SIG_DESC_SET(SCU88, 28), COND2);
  804. #define V19 141
  805. SSSF_PIN_DECL(V19, GPIOR5, SPI2MISO, SIG_DESC_SET(SCU88, 29), COND2);
  806. #define D8 142
  807. SIG_EXPR_LIST_DECL_SINGLE(D8, MDC1, MDIO1, SIG_DESC_SET(SCU88, 30));
  808. PIN_DECL_1(D8, GPIOR6, MDC1);
  809. #define E10 143
  810. SIG_EXPR_LIST_DECL_SINGLE(E10, MDIO1, MDIO1, SIG_DESC_SET(SCU88, 31));
  811. PIN_DECL_1(E10, GPIOR7, MDIO1);
  812. FUNC_GROUP_DECL(MDIO1, D8, E10);
  813. #define VPOOFF0_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 0, 0 }
  814. #define VPO_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 1, 0 }
  815. #define VPOOFF1_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 2, 0 }
  816. #define VPOOFF2_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 3, 0 }
  817. #define CRT_DVO_EN_DESC SIG_DESC_IP_SET(ASPEED_IP_GFX, GFX064, 7)
  818. #define V20 144
  819. #define V20_DESC SIG_DESC_SET(SCU8C, 0)
  820. SIG_EXPR_DECL_SINGLE(VPOB2, VPO, V20_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  821. SIG_EXPR_DECL_SINGLE(VPOB2, VPOOFF1, V20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  822. SIG_EXPR_DECL_SINGLE(VPOB2, VPOOFF2, V20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  823. SIG_EXPR_LIST_DECL(VPOB2, VPO,
  824. SIG_EXPR_PTR(VPOB2, VPO),
  825. SIG_EXPR_PTR(VPOB2, VPOOFF1),
  826. SIG_EXPR_PTR(VPOB2, VPOOFF2));
  827. SIG_EXPR_LIST_ALIAS(V20, VPOB2, VPO);
  828. SIG_EXPR_LIST_DECL_SINGLE(V20, SPI2CS1, SPI2CS1, V20_DESC);
  829. PIN_DECL_2(V20, GPIOS0, VPOB2, SPI2CS1);
  830. FUNC_GROUP_DECL(SPI2CS1, V20);
  831. #define U19 145
  832. #define U19_DESC SIG_DESC_SET(SCU8C, 1)
  833. SIG_EXPR_DECL_SINGLE(VPOB3, VPO, U19_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  834. SIG_EXPR_DECL_SINGLE(VPOB3, VPOOFF1, U19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  835. SIG_EXPR_DECL_SINGLE(VPOB3, VPOOFF2, U19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  836. SIG_EXPR_LIST_DECL(VPOB3, VPO,
  837. SIG_EXPR_PTR(VPOB3, VPO),
  838. SIG_EXPR_PTR(VPOB3, VPOOFF1),
  839. SIG_EXPR_PTR(VPOB3, VPOOFF2));
  840. SIG_EXPR_LIST_ALIAS(U19, VPOB3, VPO);
  841. SIG_EXPR_LIST_DECL_SINGLE(U19, BMCINT, BMCINT, U19_DESC);
  842. PIN_DECL_2(U19, GPIOS1, VPOB3, BMCINT);
  843. FUNC_GROUP_DECL(BMCINT, U19);
  844. #define R18 146
  845. #define R18_DESC SIG_DESC_SET(SCU8C, 2)
  846. SIG_EXPR_DECL_SINGLE(VPOB4, VPO, R18_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  847. SIG_EXPR_DECL_SINGLE(VPOB4, VPOOFF1, R18_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  848. SIG_EXPR_DECL_SINGLE(VPOB4, VPOOFF2, R18_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  849. SIG_EXPR_LIST_DECL(VPOB4, VPO,
  850. SIG_EXPR_PTR(VPOB4, VPO),
  851. SIG_EXPR_PTR(VPOB4, VPOOFF1),
  852. SIG_EXPR_PTR(VPOB4, VPOOFF2));
  853. SIG_EXPR_LIST_ALIAS(R18, VPOB4, VPO);
  854. SIG_EXPR_LIST_DECL_SINGLE(R18, SALT5, SALT5, R18_DESC);
  855. PIN_DECL_2(R18, GPIOS2, VPOB4, SALT5);
  856. FUNC_GROUP_DECL(SALT5, R18);
  857. #define P18 147
  858. #define P18_DESC SIG_DESC_SET(SCU8C, 3)
  859. SIG_EXPR_DECL_SINGLE(VPOB5, VPO, P18_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  860. SIG_EXPR_DECL_SINGLE(VPOB5, VPOOFF1, P18_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  861. SIG_EXPR_DECL_SINGLE(VPOB5, VPOOFF2, P18_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  862. SIG_EXPR_LIST_DECL(VPOB5, VPO,
  863. SIG_EXPR_PTR(VPOB5, VPO),
  864. SIG_EXPR_PTR(VPOB5, VPOOFF1),
  865. SIG_EXPR_PTR(VPOB5, VPOOFF2));
  866. SIG_EXPR_LIST_ALIAS(P18, VPOB5, VPO);
  867. SIG_EXPR_LIST_DECL_SINGLE(P18, SALT6, SALT6, P18_DESC);
  868. PIN_DECL_2(P18, GPIOS3, VPOB5, SALT6);
  869. FUNC_GROUP_DECL(SALT6, P18);
  870. #define R19 148
  871. #define R19_DESC SIG_DESC_SET(SCU8C, 4)
  872. SIG_EXPR_DECL_SINGLE(VPOB6, VPO, R19_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  873. SIG_EXPR_DECL_SINGLE(VPOB6, VPOOFF1, R19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  874. SIG_EXPR_DECL_SINGLE(VPOB6, VPOOFF2, R19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  875. SIG_EXPR_LIST_DECL(VPOB6, VPO,
  876. SIG_EXPR_PTR(VPOB6, VPO),
  877. SIG_EXPR_PTR(VPOB6, VPOOFF1),
  878. SIG_EXPR_PTR(VPOB6, VPOOFF2));
  879. SIG_EXPR_LIST_ALIAS(R19, VPOB6, VPO);
  880. PIN_DECL_1(R19, GPIOS4, VPOB6);
  881. #define W20 149
  882. #define W20_DESC SIG_DESC_SET(SCU8C, 5)
  883. SIG_EXPR_DECL_SINGLE(VPOB7, VPO, W20_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  884. SIG_EXPR_DECL_SINGLE(VPOB7, VPOOFF1, W20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  885. SIG_EXPR_DECL_SINGLE(VPOB7, VPOOFF2, W20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  886. SIG_EXPR_LIST_DECL(VPOB7, VPO,
  887. SIG_EXPR_PTR(VPOB7, VPO),
  888. SIG_EXPR_PTR(VPOB7, VPOOFF1),
  889. SIG_EXPR_PTR(VPOB7, VPOOFF2));
  890. SIG_EXPR_LIST_ALIAS(W20, VPOB7, VPO);
  891. PIN_DECL_1(W20, GPIOS5, VPOB7);
  892. #define U20 150
  893. #define U20_DESC SIG_DESC_SET(SCU8C, 6)
  894. SIG_EXPR_DECL_SINGLE(VPOB8, VPO, U20_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  895. SIG_EXPR_DECL_SINGLE(VPOB8, VPOOFF1, U20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  896. SIG_EXPR_DECL_SINGLE(VPOB8, VPOOFF2, U20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  897. SIG_EXPR_LIST_DECL(VPOB8, VPO,
  898. SIG_EXPR_PTR(VPOB8, VPO),
  899. SIG_EXPR_PTR(VPOB8, VPOOFF1),
  900. SIG_EXPR_PTR(VPOB8, VPOOFF2));
  901. SIG_EXPR_LIST_ALIAS(U20, VPOB8, VPO);
  902. PIN_DECL_1(U20, GPIOS6, VPOB8);
  903. #define AA20 151
  904. #define AA20_DESC SIG_DESC_SET(SCU8C, 7)
  905. SIG_EXPR_DECL_SINGLE(VPOB9, VPO, AA20_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  906. SIG_EXPR_DECL_SINGLE(VPOB9, VPOOFF1, AA20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  907. SIG_EXPR_DECL_SINGLE(VPOB9, VPOOFF2, AA20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  908. SIG_EXPR_LIST_DECL(VPOB9, VPO,
  909. SIG_EXPR_PTR(VPOB9, VPO),
  910. SIG_EXPR_PTR(VPOB9, VPOOFF1),
  911. SIG_EXPR_PTR(VPOB9, VPOOFF2));
  912. SIG_EXPR_LIST_ALIAS(AA20, VPOB9, VPO);
  913. PIN_DECL_1(AA20, GPIOS7, VPOB9);
  914. /* RGMII1/RMII1 */
  915. #define RMII1_DESC SIG_DESC_BIT(HW_STRAP1, 6, 0)
  916. #define RMII2_DESC SIG_DESC_BIT(HW_STRAP1, 7, 0)
  917. #define B5 152
  918. SIG_EXPR_LIST_DECL_SINGLE(B5, GPIOT0, GPIOT0, SIG_DESC_SET(SCUA0, 0));
  919. SIG_EXPR_LIST_DECL_SINGLE(B5, RMII1RCLKO, RMII1, RMII1_DESC,
  920. SIG_DESC_SET(SCU48, 29));
  921. SIG_EXPR_LIST_DECL_SINGLE(B5, RGMII1TXCK, RGMII1);
  922. PIN_DECL_(B5, SIG_EXPR_LIST_PTR(B5, GPIOT0), SIG_EXPR_LIST_PTR(B5, RMII1RCLKO),
  923. SIG_EXPR_LIST_PTR(B5, RGMII1TXCK));
  924. #define E9 153
  925. SIG_EXPR_LIST_DECL_SINGLE(E9, GPIOT1, GPIOT1, SIG_DESC_SET(SCUA0, 1));
  926. SIG_EXPR_LIST_DECL_SINGLE(E9, RMII1TXEN, RMII1, RMII1_DESC);
  927. SIG_EXPR_LIST_DECL_SINGLE(E9, RGMII1TXCTL, RGMII1);
  928. PIN_DECL_(E9, SIG_EXPR_LIST_PTR(E9, GPIOT1), SIG_EXPR_LIST_PTR(E9, RMII1TXEN),
  929. SIG_EXPR_LIST_PTR(E9, RGMII1TXCTL));
  930. #define F9 154
  931. SIG_EXPR_LIST_DECL_SINGLE(F9, GPIOT2, GPIOT2, SIG_DESC_SET(SCUA0, 2));
  932. SIG_EXPR_LIST_DECL_SINGLE(F9, RMII1TXD0, RMII1, RMII1_DESC);
  933. SIG_EXPR_LIST_DECL_SINGLE(F9, RGMII1TXD0, RGMII1);
  934. PIN_DECL_(F9, SIG_EXPR_LIST_PTR(F9, GPIOT2), SIG_EXPR_LIST_PTR(F9, RMII1TXD0),
  935. SIG_EXPR_LIST_PTR(F9, RGMII1TXD0));
  936. #define A5 155
  937. SIG_EXPR_LIST_DECL_SINGLE(A5, GPIOT3, GPIOT3, SIG_DESC_SET(SCUA0, 3));
  938. SIG_EXPR_LIST_DECL_SINGLE(A5, RMII1TXD1, RMII1, RMII1_DESC);
  939. SIG_EXPR_LIST_DECL_SINGLE(A5, RGMII1TXD1, RGMII1);
  940. PIN_DECL_(A5, SIG_EXPR_LIST_PTR(A5, GPIOT3), SIG_EXPR_LIST_PTR(A5, RMII1TXD1),
  941. SIG_EXPR_LIST_PTR(A5, RGMII1TXD1));
  942. #define E7 156
  943. SIG_EXPR_LIST_DECL_SINGLE(E7, GPIOT4, GPIOT4, SIG_DESC_SET(SCUA0, 4));
  944. SIG_EXPR_LIST_DECL_SINGLE(E7, RMII1DASH0, RMII1, RMII1_DESC);
  945. SIG_EXPR_LIST_DECL_SINGLE(E7, RGMII1TXD2, RGMII1);
  946. PIN_DECL_(E7, SIG_EXPR_LIST_PTR(E7, GPIOT4), SIG_EXPR_LIST_PTR(E7, RMII1DASH0),
  947. SIG_EXPR_LIST_PTR(E7, RGMII1TXD2));
  948. #define D7 157
  949. SIG_EXPR_LIST_DECL_SINGLE(D7, GPIOT5, GPIOT5, SIG_DESC_SET(SCUA0, 5));
  950. SIG_EXPR_LIST_DECL_SINGLE(D7, RMII1DASH1, RMII1, RMII1_DESC);
  951. SIG_EXPR_LIST_DECL_SINGLE(D7, RGMII1TXD3, RGMII1);
  952. PIN_DECL_(D7, SIG_EXPR_LIST_PTR(D7, GPIOT5), SIG_EXPR_LIST_PTR(D7, RMII1DASH1),
  953. SIG_EXPR_LIST_PTR(D7, RGMII1TXD3));
  954. #define B2 158
  955. SIG_EXPR_LIST_DECL_SINGLE(B2, GPIOT6, GPIOT6, SIG_DESC_SET(SCUA0, 6));
  956. SIG_EXPR_LIST_DECL_SINGLE(B2, RMII2RCLKO, RMII2, RMII2_DESC,
  957. SIG_DESC_SET(SCU48, 30));
  958. SIG_EXPR_LIST_DECL_SINGLE(B2, RGMII2TXCK, RGMII2);
  959. PIN_DECL_(B2, SIG_EXPR_LIST_PTR(B2, GPIOT6), SIG_EXPR_LIST_PTR(B2, RMII2RCLKO),
  960. SIG_EXPR_LIST_PTR(B2, RGMII2TXCK));
  961. #define B1 159
  962. SIG_EXPR_LIST_DECL_SINGLE(B1, GPIOT7, GPIOT7, SIG_DESC_SET(SCUA0, 7));
  963. SIG_EXPR_LIST_DECL_SINGLE(B1, RMII2TXEN, RMII2, RMII2_DESC);
  964. SIG_EXPR_LIST_DECL_SINGLE(B1, RGMII2TXCTL, RGMII2);
  965. PIN_DECL_(B1, SIG_EXPR_LIST_PTR(B1, GPIOT7), SIG_EXPR_LIST_PTR(B1, RMII2TXEN),
  966. SIG_EXPR_LIST_PTR(B1, RGMII2TXCTL));
  967. #define A2 160
  968. SIG_EXPR_LIST_DECL_SINGLE(A2, GPIOU0, GPIOU0, SIG_DESC_SET(SCUA0, 8));
  969. SIG_EXPR_LIST_DECL_SINGLE(A2, RMII2TXD0, RMII2, RMII2_DESC);
  970. SIG_EXPR_LIST_DECL_SINGLE(A2, RGMII2TXD0, RGMII2);
  971. PIN_DECL_(A2, SIG_EXPR_LIST_PTR(A2, GPIOU0), SIG_EXPR_LIST_PTR(A2, RMII2TXD0),
  972. SIG_EXPR_LIST_PTR(A2, RGMII2TXD0));
  973. #define B3 161
  974. SIG_EXPR_LIST_DECL_SINGLE(B3, GPIOU1, GPIOU1, SIG_DESC_SET(SCUA0, 9));
  975. SIG_EXPR_LIST_DECL_SINGLE(B3, RMII2TXD1, RMII2, RMII2_DESC);
  976. SIG_EXPR_LIST_DECL_SINGLE(B3, RGMII2TXD1, RGMII2);
  977. PIN_DECL_(B3, SIG_EXPR_LIST_PTR(B3, GPIOU1), SIG_EXPR_LIST_PTR(B3, RMII2TXD1),
  978. SIG_EXPR_LIST_PTR(B3, RGMII2TXD1));
  979. #define D5 162
  980. SIG_EXPR_LIST_DECL_SINGLE(D5, GPIOU2, GPIOU2, SIG_DESC_SET(SCUA0, 10));
  981. SIG_EXPR_LIST_DECL_SINGLE(D5, RMII2DASH0, RMII2, RMII2_DESC);
  982. SIG_EXPR_LIST_DECL_SINGLE(D5, RGMII2TXD2, RGMII2);
  983. PIN_DECL_(D5, SIG_EXPR_LIST_PTR(D5, GPIOU2), SIG_EXPR_LIST_PTR(D5, RMII2DASH0),
  984. SIG_EXPR_LIST_PTR(D5, RGMII2TXD2));
  985. #define D4 163
  986. SIG_EXPR_LIST_DECL_SINGLE(D4, GPIOU3, GPIOU3, SIG_DESC_SET(SCUA0, 11));
  987. SIG_EXPR_LIST_DECL_SINGLE(D4, RMII2DASH1, RMII2, RMII2_DESC);
  988. SIG_EXPR_LIST_DECL_SINGLE(D4, RGMII2TXD3, RGMII2);
  989. PIN_DECL_(D4, SIG_EXPR_LIST_PTR(D4, GPIOU3), SIG_EXPR_LIST_PTR(D4, RMII2DASH1),
  990. SIG_EXPR_LIST_PTR(D4, RGMII2TXD3));
  991. #define B4 164
  992. SIG_EXPR_LIST_DECL_SINGLE(B4, GPIOU4, GPIOU4, SIG_DESC_SET(SCUA0, 12));
  993. SIG_EXPR_LIST_DECL_SINGLE(B4, RMII1RCLKI, RMII1, RMII1_DESC);
  994. SIG_EXPR_LIST_DECL_SINGLE(B4, RGMII1RXCK, RGMII1);
  995. PIN_DECL_(B4, SIG_EXPR_LIST_PTR(B4, GPIOU4), SIG_EXPR_LIST_PTR(B4, RMII1RCLKI),
  996. SIG_EXPR_LIST_PTR(B4, RGMII1RXCK));
  997. #define A4 165
  998. SIG_EXPR_LIST_DECL_SINGLE(A4, GPIOU5, GPIOU5, SIG_DESC_SET(SCUA0, 13));
  999. SIG_EXPR_LIST_DECL_SINGLE(A4, RMII1DASH2, RMII1, RMII1_DESC);
  1000. SIG_EXPR_LIST_DECL_SINGLE(A4, RGMII1RXCTL, RGMII1);
  1001. PIN_DECL_(A4, SIG_EXPR_LIST_PTR(A4, GPIOU5), SIG_EXPR_LIST_PTR(A4, RMII1DASH2),
  1002. SIG_EXPR_LIST_PTR(A4, RGMII1RXCTL));
  1003. #define A3 166
  1004. SIG_EXPR_LIST_DECL_SINGLE(A3, GPIOU6, GPIOU6, SIG_DESC_SET(SCUA0, 14));
  1005. SIG_EXPR_LIST_DECL_SINGLE(A3, RMII1RXD0, RMII1, RMII1_DESC);
  1006. SIG_EXPR_LIST_DECL_SINGLE(A3, RGMII1RXD0, RGMII1);
  1007. PIN_DECL_(A3, SIG_EXPR_LIST_PTR(A3, GPIOU6), SIG_EXPR_LIST_PTR(A3, RMII1RXD0),
  1008. SIG_EXPR_LIST_PTR(A3, RGMII1RXD0));
  1009. #define D6 167
  1010. SIG_EXPR_LIST_DECL_SINGLE(D6, GPIOU7, GPIOU7, SIG_DESC_SET(SCUA0, 15));
  1011. SIG_EXPR_LIST_DECL_SINGLE(D6, RMII1RXD1, RMII1, RMII1_DESC);
  1012. SIG_EXPR_LIST_DECL_SINGLE(D6, RGMII1RXD1, RGMII1);
  1013. PIN_DECL_(D6, SIG_EXPR_LIST_PTR(D6, GPIOU7), SIG_EXPR_LIST_PTR(D6, RMII1RXD1),
  1014. SIG_EXPR_LIST_PTR(D6, RGMII1RXD1));
  1015. #define C5 168
  1016. SIG_EXPR_LIST_DECL_SINGLE(C5, GPIOV0, GPIOV0, SIG_DESC_SET(SCUA0, 16));
  1017. SIG_EXPR_LIST_DECL_SINGLE(C5, RMII1CRSDV, RMII1, RMII1_DESC);
  1018. SIG_EXPR_LIST_DECL_SINGLE(C5, RGMII1RXD2, RGMII1);
  1019. PIN_DECL_(C5, SIG_EXPR_LIST_PTR(C5, GPIOV0), SIG_EXPR_LIST_PTR(C5, RMII1CRSDV),
  1020. SIG_EXPR_LIST_PTR(C5, RGMII1RXD2));
  1021. #define C4 169
  1022. SIG_EXPR_LIST_DECL_SINGLE(C4, GPIOV1, GPIOV1, SIG_DESC_SET(SCUA0, 17));
  1023. SIG_EXPR_LIST_DECL_SINGLE(C4, RMII1RXER, RMII1, RMII1_DESC);
  1024. SIG_EXPR_LIST_DECL_SINGLE(C4, RGMII1RXD3, RGMII1);
  1025. PIN_DECL_(C4, SIG_EXPR_LIST_PTR(C4, GPIOV1), SIG_EXPR_LIST_PTR(C4, RMII1RXER),
  1026. SIG_EXPR_LIST_PTR(C4, RGMII1RXD3));
  1027. FUNC_GROUP_DECL(RGMII1, B4, A4, A3, D6, C5, C4, B5, E9, F9, A5, E7, D7);
  1028. FUNC_GROUP_DECL(RMII1, B4, A3, D6, C5, C4, B5, E9, F9, A5);
  1029. #define C2 170
  1030. SIG_EXPR_LIST_DECL_SINGLE(C2, GPIOV2, GPIOV2, SIG_DESC_SET(SCUA0, 18));
  1031. SIG_EXPR_LIST_DECL_SINGLE(C2, RMII2RCLKI, RMII2, RMII2_DESC);
  1032. SIG_EXPR_LIST_DECL_SINGLE(C2, RGMII2RXCK, RGMII2);
  1033. PIN_DECL_(C2, SIG_EXPR_LIST_PTR(C2, GPIOV2), SIG_EXPR_LIST_PTR(C2, RMII2RCLKI),
  1034. SIG_EXPR_LIST_PTR(C2, RGMII2RXCK));
  1035. #define C1 171
  1036. SIG_EXPR_LIST_DECL_SINGLE(C1, GPIOV3, GPIOV3, SIG_DESC_SET(SCUA0, 19));
  1037. SIG_EXPR_LIST_DECL_SINGLE(C1, RMII2DASH2, RMII2, RMII2_DESC);
  1038. SIG_EXPR_LIST_DECL_SINGLE(C1, RGMII2RXCTL, RGMII2);
  1039. PIN_DECL_(C1, SIG_EXPR_LIST_PTR(C1, GPIOV3), SIG_EXPR_LIST_PTR(C1, RMII2DASH2),
  1040. SIG_EXPR_LIST_PTR(C1, RGMII2RXCTL));
  1041. #define C3 172
  1042. SIG_EXPR_LIST_DECL_SINGLE(C3, GPIOV4, GPIOV4, SIG_DESC_SET(SCUA0, 20));
  1043. SIG_EXPR_LIST_DECL_SINGLE(C3, RMII2RXD0, RMII2, RMII2_DESC);
  1044. SIG_EXPR_LIST_DECL_SINGLE(C3, RGMII2RXD0, RGMII2);
  1045. PIN_DECL_(C3, SIG_EXPR_LIST_PTR(C3, GPIOV4), SIG_EXPR_LIST_PTR(C3, RMII2RXD0),
  1046. SIG_EXPR_LIST_PTR(C3, RGMII2RXD0));
  1047. #define D1 173
  1048. SIG_EXPR_LIST_DECL_SINGLE(D1, GPIOV5, GPIOV5, SIG_DESC_SET(SCUA0, 21));
  1049. SIG_EXPR_LIST_DECL_SINGLE(D1, RMII2RXD1, RMII2, RMII2_DESC);
  1050. SIG_EXPR_LIST_DECL_SINGLE(D1, RGMII2RXD1, RGMII2);
  1051. PIN_DECL_(D1, SIG_EXPR_LIST_PTR(D1, GPIOV5), SIG_EXPR_LIST_PTR(D1, RMII2RXD1),
  1052. SIG_EXPR_LIST_PTR(D1, RGMII2RXD1));
  1053. #define D2 174
  1054. SIG_EXPR_LIST_DECL_SINGLE(D2, GPIOV6, GPIOV6, SIG_DESC_SET(SCUA0, 22));
  1055. SIG_EXPR_LIST_DECL_SINGLE(D2, RMII2CRSDV, RMII2, RMII2_DESC);
  1056. SIG_EXPR_LIST_DECL_SINGLE(D2, RGMII2RXD2, RGMII2);
  1057. PIN_DECL_(D2, SIG_EXPR_LIST_PTR(D2, GPIOV6), SIG_EXPR_LIST_PTR(D2, RMII2CRSDV),
  1058. SIG_EXPR_LIST_PTR(D2, RGMII2RXD2));
  1059. #define E6 175
  1060. SIG_EXPR_LIST_DECL_SINGLE(E6, GPIOV7, GPIOV7, SIG_DESC_SET(SCUA0, 23));
  1061. SIG_EXPR_LIST_DECL_SINGLE(E6, RMII2RXER, RMII2, RMII2_DESC);
  1062. SIG_EXPR_LIST_DECL_SINGLE(E6, RGMII2RXD3, RGMII2);
  1063. PIN_DECL_(E6, SIG_EXPR_LIST_PTR(E6, GPIOV7), SIG_EXPR_LIST_PTR(E6, RMII2RXER),
  1064. SIG_EXPR_LIST_PTR(E6, RGMII2RXD3));
  1065. FUNC_GROUP_DECL(RGMII2, B2, B1, A2, B3, D5, D4, C2, C1, C3, D1, D2, E6);
  1066. FUNC_GROUP_DECL(RMII2, B2, B1, A2, B3, C2, C3, D1, D2, E6);
  1067. #define F4 176
  1068. SIG_EXPR_LIST_DECL_SINGLE(F4, GPIOW0, GPIOW0, SIG_DESC_SET(SCUA0, 24));
  1069. SIG_EXPR_LIST_DECL_SINGLE(F4, ADC0, ADC0);
  1070. PIN_DECL_(F4, SIG_EXPR_LIST_PTR(F4, GPIOW0), SIG_EXPR_LIST_PTR(F4, ADC0));
  1071. FUNC_GROUP_DECL(ADC0, F4);
  1072. #define F5 177
  1073. SIG_EXPR_LIST_DECL_SINGLE(F5, GPIOW1, GPIOW1, SIG_DESC_SET(SCUA0, 25));
  1074. SIG_EXPR_LIST_DECL_SINGLE(F5, ADC1, ADC1);
  1075. PIN_DECL_(F5, SIG_EXPR_LIST_PTR(F5, GPIOW1), SIG_EXPR_LIST_PTR(F5, ADC1));
  1076. FUNC_GROUP_DECL(ADC1, F5);
  1077. #define E2 178
  1078. SIG_EXPR_LIST_DECL_SINGLE(E2, GPIOW2, GPIOW2, SIG_DESC_SET(SCUA0, 26));
  1079. SIG_EXPR_LIST_DECL_SINGLE(E2, ADC2, ADC2);
  1080. PIN_DECL_(E2, SIG_EXPR_LIST_PTR(E2, GPIOW2), SIG_EXPR_LIST_PTR(E2, ADC2));
  1081. FUNC_GROUP_DECL(ADC2, E2);
  1082. #define E1 179
  1083. SIG_EXPR_LIST_DECL_SINGLE(E1, GPIOW3, GPIOW3, SIG_DESC_SET(SCUA0, 27));
  1084. SIG_EXPR_LIST_DECL_SINGLE(E1, ADC3, ADC3);
  1085. PIN_DECL_(E1, SIG_EXPR_LIST_PTR(E1, GPIOW3), SIG_EXPR_LIST_PTR(E1, ADC3));
  1086. FUNC_GROUP_DECL(ADC3, E1);
  1087. #define F3 180
  1088. SIG_EXPR_LIST_DECL_SINGLE(F3, GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28));
  1089. SIG_EXPR_LIST_DECL_SINGLE(F3, ADC4, ADC4);
  1090. PIN_DECL_(F3, SIG_EXPR_LIST_PTR(F3, GPIOW4), SIG_EXPR_LIST_PTR(F3, ADC4));
  1091. FUNC_GROUP_DECL(ADC4, F3);
  1092. #define E3 181
  1093. SIG_EXPR_LIST_DECL_SINGLE(E3, GPIOW5, GPIOW5, SIG_DESC_SET(SCUA0, 29));
  1094. SIG_EXPR_LIST_DECL_SINGLE(E3, ADC5, ADC5);
  1095. PIN_DECL_(E3, SIG_EXPR_LIST_PTR(E3, GPIOW5), SIG_EXPR_LIST_PTR(E3, ADC5));
  1096. FUNC_GROUP_DECL(ADC5, E3);
  1097. #define G5 182
  1098. SIG_EXPR_LIST_DECL_SINGLE(G5, GPIOW6, GPIOW6, SIG_DESC_SET(SCUA0, 30));
  1099. SIG_EXPR_LIST_DECL_SINGLE(G5, ADC6, ADC6);
  1100. PIN_DECL_(G5, SIG_EXPR_LIST_PTR(G5, GPIOW6), SIG_EXPR_LIST_PTR(G5, ADC6));
  1101. FUNC_GROUP_DECL(ADC6, G5);
  1102. #define G4 183
  1103. SIG_EXPR_LIST_DECL_SINGLE(G4, GPIOW7, GPIOW7, SIG_DESC_SET(SCUA0, 31));
  1104. SIG_EXPR_LIST_DECL_SINGLE(G4, ADC7, ADC7);
  1105. PIN_DECL_(G4, SIG_EXPR_LIST_PTR(G4, GPIOW7), SIG_EXPR_LIST_PTR(G4, ADC7));
  1106. FUNC_GROUP_DECL(ADC7, G4);
  1107. #define F2 184
  1108. SIG_EXPR_LIST_DECL_SINGLE(F2, GPIOX0, GPIOX0, SIG_DESC_SET(SCUA4, 0));
  1109. SIG_EXPR_LIST_DECL_SINGLE(F2, ADC8, ADC8);
  1110. PIN_DECL_(F2, SIG_EXPR_LIST_PTR(F2, GPIOX0), SIG_EXPR_LIST_PTR(F2, ADC8));
  1111. FUNC_GROUP_DECL(ADC8, F2);
  1112. #define G3 185
  1113. SIG_EXPR_LIST_DECL_SINGLE(G3, GPIOX1, GPIOX1, SIG_DESC_SET(SCUA4, 1));
  1114. SIG_EXPR_LIST_DECL_SINGLE(G3, ADC9, ADC9);
  1115. PIN_DECL_(G3, SIG_EXPR_LIST_PTR(G3, GPIOX1), SIG_EXPR_LIST_PTR(G3, ADC9));
  1116. FUNC_GROUP_DECL(ADC9, G3);
  1117. #define G2 186
  1118. SIG_EXPR_LIST_DECL_SINGLE(G2, GPIOX2, GPIOX2, SIG_DESC_SET(SCUA4, 2));
  1119. SIG_EXPR_LIST_DECL_SINGLE(G2, ADC10, ADC10);
  1120. PIN_DECL_(G2, SIG_EXPR_LIST_PTR(G2, GPIOX2), SIG_EXPR_LIST_PTR(G2, ADC10));
  1121. FUNC_GROUP_DECL(ADC10, G2);
  1122. #define F1 187
  1123. SIG_EXPR_LIST_DECL_SINGLE(F1, GPIOX3, GPIOX3, SIG_DESC_SET(SCUA4, 3));
  1124. SIG_EXPR_LIST_DECL_SINGLE(F1, ADC11, ADC11);
  1125. PIN_DECL_(F1, SIG_EXPR_LIST_PTR(F1, GPIOX3), SIG_EXPR_LIST_PTR(F1, ADC11));
  1126. FUNC_GROUP_DECL(ADC11, F1);
  1127. #define H5 188
  1128. SIG_EXPR_LIST_DECL_SINGLE(H5, GPIOX4, GPIOX4, SIG_DESC_SET(SCUA4, 4));
  1129. SIG_EXPR_LIST_DECL_SINGLE(H5, ADC12, ADC12);
  1130. PIN_DECL_(H5, SIG_EXPR_LIST_PTR(H5, GPIOX4), SIG_EXPR_LIST_PTR(H5, ADC12));
  1131. FUNC_GROUP_DECL(ADC12, H5);
  1132. #define G1 189
  1133. SIG_EXPR_LIST_DECL_SINGLE(G1, GPIOX5, GPIOX5, SIG_DESC_SET(SCUA4, 5));
  1134. SIG_EXPR_LIST_DECL_SINGLE(G1, ADC13, ADC13);
  1135. PIN_DECL_(G1, SIG_EXPR_LIST_PTR(G1, GPIOX5), SIG_EXPR_LIST_PTR(G1, ADC13));
  1136. FUNC_GROUP_DECL(ADC13, G1);
  1137. #define H3 190
  1138. SIG_EXPR_LIST_DECL_SINGLE(H3, GPIOX6, GPIOX6, SIG_DESC_SET(SCUA4, 6));
  1139. SIG_EXPR_LIST_DECL_SINGLE(H3, ADC14, ADC14);
  1140. PIN_DECL_(H3, SIG_EXPR_LIST_PTR(H3, GPIOX6), SIG_EXPR_LIST_PTR(H3, ADC14));
  1141. FUNC_GROUP_DECL(ADC14, H3);
  1142. #define H4 191
  1143. SIG_EXPR_LIST_DECL_SINGLE(H4, GPIOX7, GPIOX7, SIG_DESC_SET(SCUA4, 7));
  1144. SIG_EXPR_LIST_DECL_SINGLE(H4, ADC15, ADC15);
  1145. PIN_DECL_(H4, SIG_EXPR_LIST_PTR(H4, GPIOX7), SIG_EXPR_LIST_PTR(H4, ADC15));
  1146. FUNC_GROUP_DECL(ADC15, H4);
  1147. #define ACPI_DESC SIG_DESC_SET(HW_STRAP1, 19)
  1148. #define R22 192
  1149. SIG_EXPR_DECL_SINGLE(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8));
  1150. SIG_EXPR_DECL_SINGLE(SIOS3, ACPI, ACPI_DESC);
  1151. SIG_EXPR_LIST_DECL_DUAL(R22, SIOS3, SIOS3, ACPI);
  1152. SIG_EXPR_LIST_DECL_SINGLE(R22, DASHR22, DASHR22, SIG_DESC_SET(SCU94, 10));
  1153. PIN_DECL_2(R22, GPIOY0, SIOS3, DASHR22);
  1154. FUNC_GROUP_DECL(SIOS3, R22);
  1155. #define R21 193
  1156. SIG_EXPR_DECL_SINGLE(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9));
  1157. SIG_EXPR_DECL_SINGLE(SIOS5, ACPI, ACPI_DESC);
  1158. SIG_EXPR_LIST_DECL_DUAL(R21, SIOS5, SIOS5, ACPI);
  1159. SIG_EXPR_LIST_DECL_SINGLE(R21, DASHR21, DASHR21, SIG_DESC_SET(SCU94, 10));
  1160. PIN_DECL_2(R21, GPIOY1, SIOS5, DASHR21);
  1161. FUNC_GROUP_DECL(SIOS5, R21);
  1162. #define P22 194
  1163. SIG_EXPR_DECL_SINGLE(SIOPWREQ, SIOPWREQ, SIG_DESC_SET(SCUA4, 10));
  1164. SIG_EXPR_DECL_SINGLE(SIOPWREQ, ACPI, ACPI_DESC);
  1165. SIG_EXPR_LIST_DECL_DUAL(P22, SIOPWREQ, SIOPWREQ, ACPI);
  1166. SIG_EXPR_LIST_DECL_SINGLE(P22, DASHP22, DASHP22, SIG_DESC_SET(SCU94, 11));
  1167. PIN_DECL_2(P22, GPIOY2, SIOPWREQ, DASHP22);
  1168. FUNC_GROUP_DECL(SIOPWREQ, P22);
  1169. #define P21 195
  1170. SIG_EXPR_DECL_SINGLE(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11));
  1171. SIG_EXPR_DECL_SINGLE(SIOONCTRL, ACPI, ACPI_DESC);
  1172. SIG_EXPR_LIST_DECL_DUAL(P21, SIOONCTRL, SIOONCTRL, ACPI);
  1173. SIG_EXPR_LIST_DECL_SINGLE(P21, DASHP21, DASHP21, SIG_DESC_SET(SCU94, 11));
  1174. PIN_DECL_2(P21, GPIOY3, SIOONCTRL, DASHP21);
  1175. FUNC_GROUP_DECL(SIOONCTRL, P21);
  1176. #define M18 196
  1177. SSSF_PIN_DECL(M18, GPIOY4, SCL1, SIG_DESC_SET(SCUA4, 12));
  1178. #define M19 197
  1179. SSSF_PIN_DECL(M19, GPIOY5, SDA1, SIG_DESC_SET(SCUA4, 13));
  1180. #define M20 198
  1181. SSSF_PIN_DECL(M20, GPIOY6, SCL2, SIG_DESC_SET(SCUA4, 14));
  1182. #define P20 199
  1183. SSSF_PIN_DECL(P20, GPIOY7, SDA2, SIG_DESC_SET(SCUA4, 15));
  1184. #define PNOR_DESC SIG_DESC_SET(SCU90, 31)
  1185. #define Y20 200
  1186. #define Y20_DESC SIG_DESC_SET(SCUA4, 16)
  1187. SIG_EXPR_DECL_SINGLE(VPOG2, VPO, Y20_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  1188. SIG_EXPR_DECL_SINGLE(VPOG2, VPOOFF1, Y20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  1189. SIG_EXPR_DECL_SINGLE(VPOG2, VPOOFF2, Y20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  1190. SIG_EXPR_LIST_DECL(VPOG2, VPO,
  1191. SIG_EXPR_PTR(VPOG2, VPO),
  1192. SIG_EXPR_PTR(VPOG2, VPOOFF1),
  1193. SIG_EXPR_PTR(VPOG2, VPOOFF2));
  1194. SIG_EXPR_LIST_ALIAS(Y20, VPOG2, VPO);
  1195. SIG_EXPR_DECL_SINGLE(SIOPBI, SIOPBI, Y20_DESC);
  1196. SIG_EXPR_DECL_SINGLE(SIOPBI, ACPI, Y20_DESC);
  1197. SIG_EXPR_LIST_DECL_DUAL(Y20, SIOPBI, SIOPBI, ACPI);
  1198. SIG_EXPR_LIST_DECL_SINGLE(Y20, NORA0, PNOR, PNOR_DESC);
  1199. SIG_EXPR_LIST_DECL_SINGLE(Y20, GPIOZ0, GPIOZ0);
  1200. PIN_DECL_(Y20, SIG_EXPR_LIST_PTR(Y20, VPOG2), SIG_EXPR_LIST_PTR(Y20, SIOPBI),
  1201. SIG_EXPR_LIST_PTR(Y20, NORA0), SIG_EXPR_LIST_PTR(Y20, GPIOZ0));
  1202. FUNC_GROUP_DECL(SIOPBI, Y20);
  1203. #define AB20 201
  1204. #define AB20_DESC SIG_DESC_SET(SCUA4, 17)
  1205. SIG_EXPR_DECL_SINGLE(VPOG3, VPO, AB20_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  1206. SIG_EXPR_DECL_SINGLE(VPOG3, VPOOFF1, AB20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  1207. SIG_EXPR_DECL_SINGLE(VPOG3, VPOOFF2, AB20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  1208. SIG_EXPR_LIST_DECL(VPOG3, VPO,
  1209. SIG_EXPR_PTR(VPOG3, VPO),
  1210. SIG_EXPR_PTR(VPOG3, VPOOFF1),
  1211. SIG_EXPR_PTR(VPOG3, VPOOFF2));
  1212. SIG_EXPR_LIST_ALIAS(AB20, VPOG3, VPO);
  1213. SIG_EXPR_DECL_SINGLE(SIOPWRGD, SIOPWRGD, AB20_DESC);
  1214. SIG_EXPR_DECL_SINGLE(SIOPWRGD, ACPI, AB20_DESC);
  1215. SIG_EXPR_LIST_DECL_DUAL(AB20, SIOPWRGD, SIOPWRGD, ACPI);
  1216. SIG_EXPR_LIST_DECL_SINGLE(AB20, NORA1, PNOR, PNOR_DESC);
  1217. SIG_EXPR_LIST_DECL_SINGLE(AB20, GPIOZ1, GPIOZ1);
  1218. PIN_DECL_(AB20, SIG_EXPR_LIST_PTR(AB20, VPOG3),
  1219. SIG_EXPR_LIST_PTR(AB20, SIOPWRGD), SIG_EXPR_LIST_PTR(AB20, NORA1),
  1220. SIG_EXPR_LIST_PTR(AB20, GPIOZ1));
  1221. FUNC_GROUP_DECL(SIOPWRGD, AB20);
  1222. #define AB21 202
  1223. #define AB21_DESC SIG_DESC_SET(SCUA4, 18)
  1224. SIG_EXPR_DECL_SINGLE(VPOG4, VPO, AB21_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  1225. SIG_EXPR_DECL_SINGLE(VPOG4, VPOOFF1, AB21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  1226. SIG_EXPR_DECL_SINGLE(VPOG4, VPOOFF2, AB21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  1227. SIG_EXPR_LIST_DECL(VPOG4, VPO,
  1228. SIG_EXPR_PTR(VPOG4, VPO),
  1229. SIG_EXPR_PTR(VPOG4, VPOOFF1),
  1230. SIG_EXPR_PTR(VPOG4, VPOOFF2));
  1231. SIG_EXPR_LIST_ALIAS(AB21, VPOG4, VPO);
  1232. SIG_EXPR_DECL_SINGLE(SIOPBO, SIOPBO, AB21_DESC);
  1233. SIG_EXPR_DECL_SINGLE(SIOPBO, ACPI, AB21_DESC);
  1234. SIG_EXPR_LIST_DECL_DUAL(AB21, SIOPBO, SIOPBO, ACPI);
  1235. SIG_EXPR_LIST_DECL_SINGLE(AB21, NORA2, PNOR, PNOR_DESC);
  1236. SIG_EXPR_LIST_DECL_SINGLE(AB21, GPIOZ2, GPIOZ2);
  1237. PIN_DECL_(AB21, SIG_EXPR_LIST_PTR(AB21, VPOG4),
  1238. SIG_EXPR_LIST_PTR(AB21, SIOPBO), SIG_EXPR_LIST_PTR(AB21, NORA2),
  1239. SIG_EXPR_LIST_PTR(AB21, GPIOZ2));
  1240. FUNC_GROUP_DECL(SIOPBO, AB21);
  1241. #define AA21 203
  1242. #define AA21_DESC SIG_DESC_SET(SCUA4, 19)
  1243. SIG_EXPR_DECL_SINGLE(VPOG5, VPO, AA21_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  1244. SIG_EXPR_DECL_SINGLE(VPOG5, VPOOFF1, AA21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  1245. SIG_EXPR_DECL_SINGLE(VPOG5, VPOOFF2, AA21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  1246. SIG_EXPR_LIST_DECL(VPOG5, VPO,
  1247. SIG_EXPR_PTR(VPOG5, VPO),
  1248. SIG_EXPR_PTR(VPOG5, VPOOFF1),
  1249. SIG_EXPR_PTR(VPOG5, VPOOFF2));
  1250. SIG_EXPR_LIST_ALIAS(AA21, VPOG5, VPO);
  1251. SIG_EXPR_DECL_SINGLE(SIOSCI, SIOSCI, AA21_DESC);
  1252. SIG_EXPR_DECL_SINGLE(SIOSCI, ACPI, AA21_DESC);
  1253. SIG_EXPR_LIST_DECL_DUAL(AA21, SIOSCI, SIOSCI, ACPI);
  1254. SIG_EXPR_LIST_DECL_SINGLE(AA21, NORA3, PNOR, PNOR_DESC);
  1255. SIG_EXPR_LIST_DECL_SINGLE(AA21, GPIOZ3, GPIOZ3);
  1256. PIN_DECL_(AA21, SIG_EXPR_LIST_PTR(AA21, VPOG5),
  1257. SIG_EXPR_LIST_PTR(AA21, SIOSCI), SIG_EXPR_LIST_PTR(AA21, NORA3),
  1258. SIG_EXPR_LIST_PTR(AA21, GPIOZ3));
  1259. FUNC_GROUP_DECL(SIOSCI, AA21);
  1260. FUNC_GROUP_DECL(ACPI, R22, R21, P22, P21, Y20, AB20, AB21, AA21);
  1261. /* CRT DVO disabled, configured for single-edge mode */
  1262. #define CRT_DVO_DS_DESC { ASPEED_IP_GFX, GFX064, GENMASK(7, 6), 0, 0 }
  1263. /* CRT DVO disabled, configured for dual-edge mode */
  1264. #define CRT_DVO_DD_DESC { ASPEED_IP_GFX, GFX064, GENMASK(7, 6), 1, 1 }
  1265. /* CRT DVO enabled, configured for single-edge mode */
  1266. #define CRT_DVO_ES_DESC { ASPEED_IP_GFX, GFX064, GENMASK(7, 6), 2, 2 }
  1267. /* CRT DVO enabled, configured for dual-edge mode */
  1268. #define CRT_DVO_ED_DESC { ASPEED_IP_GFX, GFX064, GENMASK(7, 6), 3, 3 }
  1269. #define U21 204
  1270. #define U21_DESC SIG_DESC_SET(SCUA4, 20)
  1271. SIG_EXPR_DECL_SINGLE(VPOG6, VPO, U21_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1272. SIG_EXPR_DECL_SINGLE(VPOG6, VPOOFF1, U21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1273. SIG_EXPR_DECL_SINGLE(VPOG6, VPOOFF2, U21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1274. SIG_EXPR_LIST_DECL(VPOG6, VPO,
  1275. SIG_EXPR_PTR(VPOG6, VPO),
  1276. SIG_EXPR_PTR(VPOG6, VPOOFF1),
  1277. SIG_EXPR_PTR(VPOG6, VPOOFF2));
  1278. SIG_EXPR_LIST_ALIAS(U21, VPOG6, VPO);
  1279. SIG_EXPR_LIST_DECL_SINGLE(U21, NORA4, PNOR, PNOR_DESC);
  1280. PIN_DECL_2(U21, GPIOZ4, VPOG6, NORA4);
  1281. #define W22 205
  1282. #define W22_DESC SIG_DESC_SET(SCUA4, 21)
  1283. SIG_EXPR_DECL_SINGLE(VPOG7, VPO, W22_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1284. SIG_EXPR_DECL_SINGLE(VPOG7, VPOOFF1, W22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1285. SIG_EXPR_DECL_SINGLE(VPOG7, VPOOFF2, W22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1286. SIG_EXPR_LIST_DECL(VPOG7, VPO,
  1287. SIG_EXPR_PTR(VPOG7, VPO),
  1288. SIG_EXPR_PTR(VPOG7, VPOOFF1),
  1289. SIG_EXPR_PTR(VPOG7, VPOOFF2));
  1290. SIG_EXPR_LIST_ALIAS(W22, VPOG7, VPO);
  1291. SIG_EXPR_LIST_DECL_SINGLE(W22, NORA5, PNOR, PNOR_DESC);
  1292. PIN_DECL_2(W22, GPIOZ5, VPOG7, NORA5);
  1293. #define V22 206
  1294. #define V22_DESC SIG_DESC_SET(SCUA4, 22)
  1295. SIG_EXPR_DECL_SINGLE(VPOG8, VPO, V22_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1296. SIG_EXPR_DECL_SINGLE(VPOG8, VPOOFF1, V22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1297. SIG_EXPR_DECL_SINGLE(VPOG8, VPOOFF2, V22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1298. SIG_EXPR_LIST_DECL(VPOG8, VPO,
  1299. SIG_EXPR_PTR(VPOG8, VPO),
  1300. SIG_EXPR_PTR(VPOG8, VPOOFF1),
  1301. SIG_EXPR_PTR(VPOG8, VPOOFF2));
  1302. SIG_EXPR_LIST_ALIAS(V22, VPOG8, VPO);
  1303. SIG_EXPR_LIST_DECL_SINGLE(V22, NORA6, PNOR, PNOR_DESC);
  1304. PIN_DECL_2(V22, GPIOZ6, VPOG8, NORA6);
  1305. #define W21 207
  1306. #define W21_DESC SIG_DESC_SET(SCUA4, 23)
  1307. SIG_EXPR_DECL_SINGLE(VPOG9, VPO, W21_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1308. SIG_EXPR_DECL_SINGLE(VPOG9, VPOOFF1, W21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1309. SIG_EXPR_DECL_SINGLE(VPOG9, VPOOFF2, W21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1310. SIG_EXPR_LIST_DECL(VPOG9, VPO,
  1311. SIG_EXPR_PTR(VPOG9, VPO),
  1312. SIG_EXPR_PTR(VPOG9, VPOOFF1),
  1313. SIG_EXPR_PTR(VPOG9, VPOOFF2));
  1314. SIG_EXPR_LIST_ALIAS(W21, VPOG9, VPO);
  1315. SIG_EXPR_LIST_DECL_SINGLE(W21, NORA7, PNOR, PNOR_DESC);
  1316. PIN_DECL_2(W21, GPIOZ7, VPOG9, NORA7);
  1317. #define Y21 208
  1318. #define Y21_DESC SIG_DESC_SET(SCUA4, 24)
  1319. SIG_EXPR_DECL_SINGLE(VPOR2, VPO, Y21_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1320. SIG_EXPR_DECL_SINGLE(VPOR2, VPOOFF1, Y21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1321. SIG_EXPR_DECL_SINGLE(VPOR2, VPOOFF2, Y21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1322. SIG_EXPR_LIST_DECL(VPOR2, VPO,
  1323. SIG_EXPR_PTR(VPOR2, VPO),
  1324. SIG_EXPR_PTR(VPOR2, VPOOFF1),
  1325. SIG_EXPR_PTR(VPOR2, VPOOFF2));
  1326. SIG_EXPR_LIST_ALIAS(Y21, VPOR2, VPO);
  1327. SIG_EXPR_LIST_DECL_SINGLE(Y21, SALT7, SALT7, Y21_DESC);
  1328. SIG_EXPR_LIST_DECL_SINGLE(Y21, NORD0, PNOR, PNOR_DESC);
  1329. SIG_EXPR_LIST_DECL_SINGLE(Y21, GPIOAA0, GPIOAA0);
  1330. PIN_DECL_(Y21, SIG_EXPR_LIST_PTR(Y21, VPOR2), SIG_EXPR_LIST_PTR(Y21, SALT7),
  1331. SIG_EXPR_LIST_PTR(Y21, NORD0), SIG_EXPR_LIST_PTR(Y21, GPIOAA0));
  1332. FUNC_GROUP_DECL(SALT7, Y21);
  1333. #define V21 209
  1334. #define V21_DESC SIG_DESC_SET(SCUA4, 25)
  1335. SIG_EXPR_DECL_SINGLE(VPOR3, VPO, V21_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1336. SIG_EXPR_DECL_SINGLE(VPOR3, VPOOFF1, V21_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1337. SIG_EXPR_DECL_SINGLE(VPOR3, VPOOFF2, V21_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1338. SIG_EXPR_LIST_DECL(VPOR3, VPO,
  1339. SIG_EXPR_PTR(VPOR3, VPO),
  1340. SIG_EXPR_PTR(VPOR3, VPOOFF1),
  1341. SIG_EXPR_PTR(VPOR3, VPOOFF2));
  1342. SIG_EXPR_LIST_ALIAS(V21, VPOR3, VPO);
  1343. SIG_EXPR_LIST_DECL_SINGLE(V21, SALT8, SALT8, V21_DESC);
  1344. SIG_EXPR_LIST_DECL_SINGLE(V21, NORD1, PNOR, PNOR_DESC);
  1345. SIG_EXPR_LIST_DECL_SINGLE(V21, GPIOAA1, GPIOAA1);
  1346. PIN_DECL_(V21, SIG_EXPR_LIST_PTR(V21, VPOR3), SIG_EXPR_LIST_PTR(V21, SALT8),
  1347. SIG_EXPR_LIST_PTR(V21, NORD1), SIG_EXPR_LIST_PTR(V21, GPIOAA1));
  1348. FUNC_GROUP_DECL(SALT8, V21);
  1349. #define Y22 210
  1350. #define Y22_DESC SIG_DESC_SET(SCUA4, 26)
  1351. SIG_EXPR_DECL_SINGLE(VPOR4, VPO, Y22_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1352. SIG_EXPR_DECL_SINGLE(VPOR4, VPOOFF1, Y22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1353. SIG_EXPR_DECL_SINGLE(VPOR4, VPOOFF2, Y22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1354. SIG_EXPR_LIST_DECL(VPOR4, VPO,
  1355. SIG_EXPR_PTR(VPOR4, VPO),
  1356. SIG_EXPR_PTR(VPOR4, VPOOFF1),
  1357. SIG_EXPR_PTR(VPOR4, VPOOFF2));
  1358. SIG_EXPR_LIST_ALIAS(Y22, VPOR4, VPO);
  1359. SIG_EXPR_LIST_DECL_SINGLE(Y22, SALT9, SALT9, Y22_DESC);
  1360. SIG_EXPR_LIST_DECL_SINGLE(Y22, NORD2, PNOR, PNOR_DESC);
  1361. SIG_EXPR_LIST_DECL_SINGLE(Y22, GPIOAA2, GPIOAA2);
  1362. PIN_DECL_(Y22, SIG_EXPR_LIST_PTR(Y22, VPOR4), SIG_EXPR_LIST_PTR(Y22, SALT9),
  1363. SIG_EXPR_LIST_PTR(Y22, NORD2), SIG_EXPR_LIST_PTR(Y22, GPIOAA2));
  1364. FUNC_GROUP_DECL(SALT9, Y22);
  1365. #define AA22 211
  1366. #define AA22_DESC SIG_DESC_SET(SCUA4, 27)
  1367. SIG_EXPR_DECL_SINGLE(VPOR5, VPO, AA22_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1368. SIG_EXPR_DECL_SINGLE(VPOR5, VPOOFF1, AA22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1369. SIG_EXPR_DECL_SINGLE(VPOR5, VPOOFF2, AA22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1370. SIG_EXPR_LIST_DECL(VPOR5, VPO,
  1371. SIG_EXPR_PTR(VPOR5, VPO),
  1372. SIG_EXPR_PTR(VPOR5, VPOOFF1),
  1373. SIG_EXPR_PTR(VPOR5, VPOOFF2));
  1374. SIG_EXPR_LIST_ALIAS(AA22, VPOR5, VPO);
  1375. SIG_EXPR_LIST_DECL_SINGLE(AA22, SALT10, SALT10, AA22_DESC);
  1376. SIG_EXPR_LIST_DECL_SINGLE(AA22, NORD3, PNOR, PNOR_DESC);
  1377. SIG_EXPR_LIST_DECL_SINGLE(AA22, GPIOAA3, GPIOAA3);
  1378. PIN_DECL_(AA22, SIG_EXPR_LIST_PTR(AA22, VPOR5),
  1379. SIG_EXPR_LIST_PTR(AA22, SALT10), SIG_EXPR_LIST_PTR(AA22, NORD3),
  1380. SIG_EXPR_LIST_PTR(AA22, GPIOAA3));
  1381. FUNC_GROUP_DECL(SALT10, AA22);
  1382. #define U22 212
  1383. #define U22_DESC SIG_DESC_SET(SCUA4, 28)
  1384. SIG_EXPR_DECL_SINGLE(VPOR6, VPO, U22_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1385. SIG_EXPR_DECL_SINGLE(VPOR6, VPOOFF1, U22_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1386. SIG_EXPR_DECL_SINGLE(VPOR6, VPOOFF2, U22_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1387. SIG_EXPR_LIST_DECL(VPOR6, VPO,
  1388. SIG_EXPR_PTR(VPOR6, VPO),
  1389. SIG_EXPR_PTR(VPOR6, VPOOFF1),
  1390. SIG_EXPR_PTR(VPOR6, VPOOFF2));
  1391. SIG_EXPR_LIST_ALIAS(U22, VPOR6, VPO);
  1392. SIG_EXPR_LIST_DECL_SINGLE(U22, SALT11, SALT11, U22_DESC);
  1393. SIG_EXPR_LIST_DECL_SINGLE(U22, NORD4, PNOR, PNOR_DESC);
  1394. SIG_EXPR_LIST_DECL_SINGLE(U22, GPIOAA4, GPIOAA4);
  1395. PIN_DECL_(U22, SIG_EXPR_LIST_PTR(U22, VPOR6), SIG_EXPR_LIST_PTR(U22, SALT11),
  1396. SIG_EXPR_LIST_PTR(U22, NORD4), SIG_EXPR_LIST_PTR(U22, GPIOAA4));
  1397. FUNC_GROUP_DECL(SALT11, U22);
  1398. #define T20 213
  1399. #define T20_DESC SIG_DESC_SET(SCUA4, 29)
  1400. SIG_EXPR_DECL_SINGLE(VPOR7, VPO, T20_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1401. SIG_EXPR_DECL_SINGLE(VPOR7, VPOOFF1, T20_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1402. SIG_EXPR_DECL_SINGLE(VPOR7, VPOOFF2, T20_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1403. SIG_EXPR_LIST_DECL(VPOR7, VPO,
  1404. SIG_EXPR_PTR(VPOR7, VPO),
  1405. SIG_EXPR_PTR(VPOR7, VPOOFF1),
  1406. SIG_EXPR_PTR(VPOR7, VPOOFF2));
  1407. SIG_EXPR_LIST_ALIAS(T20, VPOR7, VPO);
  1408. SIG_EXPR_LIST_DECL_SINGLE(T20, SALT12, SALT12, T20_DESC);
  1409. SIG_EXPR_LIST_DECL_SINGLE(T20, NORD5, PNOR, PNOR_DESC);
  1410. SIG_EXPR_LIST_DECL_SINGLE(T20, GPIOAA5, GPIOAA5);
  1411. PIN_DECL_(T20, SIG_EXPR_LIST_PTR(T20, VPOR7), SIG_EXPR_LIST_PTR(T20, SALT12),
  1412. SIG_EXPR_LIST_PTR(T20, NORD5), SIG_EXPR_LIST_PTR(T20, GPIOAA5));
  1413. FUNC_GROUP_DECL(SALT12, T20);
  1414. #define N18 214
  1415. #define N18_DESC SIG_DESC_SET(SCUA4, 30)
  1416. SIG_EXPR_DECL_SINGLE(VPOR8, VPO, N18_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1417. SIG_EXPR_DECL_SINGLE(VPOR8, VPOOFF1, N18_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1418. SIG_EXPR_DECL_SINGLE(VPOR8, VPOOFF2, N18_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1419. SIG_EXPR_LIST_DECL(VPOR8, VPO,
  1420. SIG_EXPR_PTR(VPOR8, VPO),
  1421. SIG_EXPR_PTR(VPOR8, VPOOFF1),
  1422. SIG_EXPR_PTR(VPOR8, VPOOFF2));
  1423. SIG_EXPR_LIST_ALIAS(N18, VPOR8, VPO);
  1424. SIG_EXPR_LIST_DECL_SINGLE(N18, SALT13, SALT13, N18_DESC);
  1425. SIG_EXPR_LIST_DECL_SINGLE(N18, NORD6, PNOR, PNOR_DESC);
  1426. SIG_EXPR_LIST_DECL_SINGLE(N18, GPIOAA6, GPIOAA6);
  1427. PIN_DECL_(N18, SIG_EXPR_LIST_PTR(N18, VPOR8), SIG_EXPR_LIST_PTR(N18, SALT13),
  1428. SIG_EXPR_LIST_PTR(N18, NORD6), SIG_EXPR_LIST_PTR(N18, GPIOAA6));
  1429. FUNC_GROUP_DECL(SALT13, N18);
  1430. #define P19 215
  1431. #define P19_DESC SIG_DESC_SET(SCUA4, 31)
  1432. SIG_EXPR_DECL_SINGLE(VPOR9, VPO, P19_DESC, VPO_DESC, CRT_DVO_ES_DESC);
  1433. SIG_EXPR_DECL_SINGLE(VPOR9, VPOOFF1, P19_DESC, VPOOFF1_DESC, CRT_DVO_ES_DESC);
  1434. SIG_EXPR_DECL_SINGLE(VPOR9, VPOOFF2, P19_DESC, VPOOFF2_DESC, CRT_DVO_ES_DESC);
  1435. SIG_EXPR_LIST_DECL(VPOR9, VPO,
  1436. SIG_EXPR_PTR(VPOR9, VPO),
  1437. SIG_EXPR_PTR(VPOR9, VPOOFF1),
  1438. SIG_EXPR_PTR(VPOR9, VPOOFF2));
  1439. SIG_EXPR_LIST_ALIAS(P19, VPOR9, VPO);
  1440. SIG_EXPR_LIST_DECL_SINGLE(P19, SALT14, SALT14, P19_DESC);
  1441. SIG_EXPR_LIST_DECL_SINGLE(P19, NORD7, PNOR, PNOR_DESC);
  1442. SIG_EXPR_LIST_DECL_SINGLE(P19, GPIOAA7, GPIOAA7);
  1443. PIN_DECL_(P19, SIG_EXPR_LIST_PTR(P19, VPOR9), SIG_EXPR_LIST_PTR(P19, SALT14),
  1444. SIG_EXPR_LIST_PTR(P19, NORD7), SIG_EXPR_LIST_PTR(P19, GPIOAA7));
  1445. FUNC_GROUP_DECL(SALT14, P19);
  1446. #define N19 216
  1447. #define N19_DESC SIG_DESC_SET(SCUA8, 0)
  1448. SIG_EXPR_DECL_SINGLE(VPODE, VPO, N19_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  1449. SIG_EXPR_DECL_SINGLE(VPODE, VPOOFF1, N19_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  1450. SIG_EXPR_DECL_SINGLE(VPODE, VPOOFF2, N19_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  1451. SIG_EXPR_LIST_DECL(VPODE, VPO,
  1452. SIG_EXPR_PTR(VPODE, VPO),
  1453. SIG_EXPR_PTR(VPODE, VPOOFF1),
  1454. SIG_EXPR_PTR(VPODE, VPOOFF2));
  1455. SIG_EXPR_LIST_ALIAS(N19, VPODE, VPO);
  1456. SIG_EXPR_LIST_DECL_SINGLE(N19, NOROE, PNOR, PNOR_DESC);
  1457. PIN_DECL_2(N19, GPIOAB0, VPODE, NOROE);
  1458. #define T21 217
  1459. #define T21_DESC SIG_DESC_SET(SCUA8, 1)
  1460. SIG_EXPR_DECL_SINGLE(VPOHS, VPO, T21_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  1461. SIG_EXPR_DECL_SINGLE(VPOHS, VPOOFF1, T21_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  1462. SIG_EXPR_DECL_SINGLE(VPOHS, VPOOFF2, T21_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  1463. SIG_EXPR_LIST_DECL(VPOHS, VPO,
  1464. SIG_EXPR_PTR(VPOHS, VPO),
  1465. SIG_EXPR_PTR(VPOHS, VPOOFF1),
  1466. SIG_EXPR_PTR(VPOHS, VPOOFF2));
  1467. SIG_EXPR_LIST_ALIAS(T21, VPOHS, VPO);
  1468. SIG_EXPR_LIST_DECL_SINGLE(T21, NORWE, PNOR, PNOR_DESC);
  1469. PIN_DECL_2(T21, GPIOAB1, VPOHS, NORWE);
  1470. FUNC_GROUP_DECL(PNOR, Y20, AB20, AB21, AA21, U21, W22, V22, W21, Y21, V21, Y22,
  1471. AA22, U22, T20, N18, P19, N19, T21);
  1472. #define T22 218
  1473. #define T22_DESC SIG_DESC_SET(SCUA8, 2)
  1474. SIG_EXPR_DECL_SINGLE(VPOVS, VPO, T22_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  1475. SIG_EXPR_DECL_SINGLE(VPOVS, VPOOFF1, T22_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  1476. SIG_EXPR_DECL_SINGLE(VPOVS, VPOOFF2, T22_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  1477. SIG_EXPR_LIST_DECL(VPOVS, VPO,
  1478. SIG_EXPR_PTR(VPOVS, VPO),
  1479. SIG_EXPR_PTR(VPOVS, VPOOFF1),
  1480. SIG_EXPR_PTR(VPOVS, VPOOFF2));
  1481. SIG_EXPR_LIST_ALIAS(T22, VPOVS, VPO);
  1482. SIG_EXPR_LIST_DECL_SINGLE(T22, WDTRST1, WDTRST1, T22_DESC);
  1483. PIN_DECL_2(T22, GPIOAB2, VPOVS, WDTRST1);
  1484. FUNC_GROUP_DECL(WDTRST1, T22);
  1485. #define R20 219
  1486. #define R20_DESC SIG_DESC_SET(SCUA8, 3)
  1487. SIG_EXPR_DECL_SINGLE(VPOCLK, VPO, R20_DESC, VPO_DESC, CRT_DVO_EN_DESC);
  1488. SIG_EXPR_DECL_SINGLE(VPOCLK, VPOOFF1, R20_DESC, VPOOFF1_DESC, CRT_DVO_EN_DESC);
  1489. SIG_EXPR_DECL_SINGLE(VPOCLK, VPOOFF2, R20_DESC, VPOOFF2_DESC, CRT_DVO_EN_DESC);
  1490. SIG_EXPR_LIST_DECL(VPOCLK, VPO,
  1491. SIG_EXPR_PTR(VPOCLK, VPO),
  1492. SIG_EXPR_PTR(VPOCLK, VPOOFF1),
  1493. SIG_EXPR_PTR(VPOCLK, VPOOFF2));
  1494. SIG_EXPR_LIST_ALIAS(R20, VPOCLK, VPO);
  1495. SIG_EXPR_LIST_DECL_SINGLE(R20, WDTRST2, WDTRST2, R20_DESC);
  1496. PIN_DECL_2(R20, GPIOAB3, VPOCLK, WDTRST2);
  1497. FUNC_GROUP_DECL(WDTRST2, R20);
  1498. FUNC_GROUP_DECL(VPO, V20, U19, R18, P18, R19, W20, U20, AA20, Y20, AB20,
  1499. AB21, AA21, U21, W22, V22, W21, Y21, V21, Y22, AA22, U22, T20,
  1500. N18, P19, N19, T21, T22, R20);
  1501. #define ESPI_DESC SIG_DESC_SET(HW_STRAP1, 25)
  1502. #define G21 224
  1503. SIG_EXPR_LIST_DECL_SINGLE(G21, ESPID0, ESPI, ESPI_DESC);
  1504. SIG_EXPR_LIST_DECL_SINGLE(G21, LAD0, LAD0, SIG_DESC_SET(SCUAC, 0));
  1505. PIN_DECL_2(G21, GPIOAC0, ESPID0, LAD0);
  1506. FUNC_GROUP_DECL(LAD0, G21);
  1507. #define G20 225
  1508. SIG_EXPR_LIST_DECL_SINGLE(G20, ESPID1, ESPI, ESPI_DESC);
  1509. SIG_EXPR_LIST_DECL_SINGLE(G20, LAD1, LAD1, SIG_DESC_SET(SCUAC, 1));
  1510. PIN_DECL_2(G20, GPIOAC1, ESPID1, LAD1);
  1511. FUNC_GROUP_DECL(LAD1, G20);
  1512. #define D22 226
  1513. SIG_EXPR_LIST_DECL_SINGLE(D22, ESPID2, ESPI, ESPI_DESC);
  1514. SIG_EXPR_LIST_DECL_SINGLE(D22, LAD2, LAD2, SIG_DESC_SET(SCUAC, 2));
  1515. PIN_DECL_2(D22, GPIOAC2, ESPID2, LAD2);
  1516. FUNC_GROUP_DECL(LAD2, D22);
  1517. #define E22 227
  1518. SIG_EXPR_LIST_DECL_SINGLE(E22, ESPID3, ESPI, ESPI_DESC);
  1519. SIG_EXPR_LIST_DECL_SINGLE(E22, LAD3, LAD3, SIG_DESC_SET(SCUAC, 3));
  1520. PIN_DECL_2(E22, GPIOAC3, ESPID3, LAD3);
  1521. FUNC_GROUP_DECL(LAD3, E22);
  1522. #define C22 228
  1523. SIG_EXPR_LIST_DECL_SINGLE(C22, ESPICK, ESPI, ESPI_DESC);
  1524. SIG_EXPR_LIST_DECL_SINGLE(C22, LCLK, LCLK, SIG_DESC_SET(SCUAC, 4));
  1525. PIN_DECL_2(C22, GPIOAC4, ESPICK, LCLK);
  1526. FUNC_GROUP_DECL(LCLK, C22);
  1527. #define F21 229
  1528. SIG_EXPR_LIST_DECL_SINGLE(F21, ESPICS, ESPI, ESPI_DESC);
  1529. SIG_EXPR_LIST_DECL_SINGLE(F21, LFRAME, LFRAME, SIG_DESC_SET(SCUAC, 5));
  1530. PIN_DECL_2(F21, GPIOAC5, ESPICS, LFRAME);
  1531. FUNC_GROUP_DECL(LFRAME, F21);
  1532. #define F22 230
  1533. SIG_EXPR_LIST_DECL_SINGLE(F22, ESPIALT, ESPI, ESPI_DESC);
  1534. SIG_EXPR_LIST_DECL_SINGLE(F22, LSIRQ, LSIRQ, SIG_DESC_SET(SCUAC, 6));
  1535. PIN_DECL_2(F22, GPIOAC6, ESPIALT, LSIRQ);
  1536. FUNC_GROUP_DECL(LSIRQ, F22);
  1537. #define G22 231
  1538. SIG_EXPR_LIST_DECL_SINGLE(G22, ESPIRST, ESPI, ESPI_DESC);
  1539. SIG_EXPR_LIST_DECL_SINGLE(G22, LPCRST, LPCRST, SIG_DESC_SET(SCUAC, 7));
  1540. PIN_DECL_2(G22, GPIOAC7, ESPIRST, LPCRST);
  1541. FUNC_GROUP_DECL(LPCRST, G22);
  1542. FUNC_GROUP_DECL(ESPI, G21, G20, D22, E22, C22, F21, F22, G22);
  1543. #define A7 232
  1544. SIG_EXPR_LIST_DECL_SINGLE(A7, USB2AHDP, USB2AH, SIG_DESC_SET(SCU90, 29));
  1545. SIG_EXPR_LIST_DECL_SINGLE(A7, USB2ADDP, USB2AD, SIG_DESC_BIT(SCU90, 29, 0));
  1546. PIN_DECL_(A7, SIG_EXPR_LIST_PTR(A7, USB2AHDP), SIG_EXPR_LIST_PTR(A7, USB2ADDP));
  1547. #define A8 233
  1548. SIG_EXPR_LIST_DECL_SINGLE(A8, USB2AHDN, USB2AH, SIG_DESC_SET(SCU90, 29));
  1549. SIG_EXPR_LIST_DECL_SINGLE(A8, USB2ADDN, USB2AD, SIG_DESC_BIT(SCU90, 29, 0));
  1550. PIN_DECL_(A8, SIG_EXPR_LIST_PTR(A8, USB2AHDN), SIG_EXPR_LIST_PTR(A8, USB2ADDN));
  1551. FUNC_GROUP_DECL(USB2AH, A7, A8);
  1552. FUNC_GROUP_DECL(USB2AD, A7, A8);
  1553. #define USB11BHID_DESC { ASPEED_IP_SCU, SCU94, GENMASK(14, 13), 0, 0 }
  1554. #define USB2BD_DESC { ASPEED_IP_SCU, SCU94, GENMASK(14, 13), 1, 0 }
  1555. #define USB2BH1_DESC { ASPEED_IP_SCU, SCU94, GENMASK(14, 13), 2, 0 }
  1556. #define USB2BH2_DESC { ASPEED_IP_SCU, SCU94, GENMASK(14, 13), 3, 0 }
  1557. #define B6 234
  1558. SIG_EXPR_LIST_DECL_SINGLE(B6, USB11BDP, USB11BHID, USB11BHID_DESC);
  1559. SIG_EXPR_LIST_DECL_SINGLE(B6, USB2BDDP, USB2BD, USB2BD_DESC);
  1560. SIG_EXPR_DECL_SINGLE(USB2BHDP1, USB2BH, USB2BH1_DESC);
  1561. SIG_EXPR_DECL_SINGLE(USB2BHDP2, USB2BH, USB2BH2_DESC);
  1562. SIG_EXPR_LIST_DECL(USB2BHDP, USB2BH,
  1563. SIG_EXPR_PTR(USB2BHDP1, USB2BH),
  1564. SIG_EXPR_PTR(USB2BHDP2, USB2BH));
  1565. SIG_EXPR_LIST_ALIAS(B6, USB2BHDP, USB2BH);
  1566. PIN_DECL_(B6, SIG_EXPR_LIST_PTR(B6, USB11BDP), SIG_EXPR_LIST_PTR(B6, USB2BDDP),
  1567. SIG_EXPR_LIST_PTR(B6, USB2BHDP));
  1568. #define A6 235
  1569. SIG_EXPR_LIST_DECL_SINGLE(A6, USB11BDN, USB11BHID, USB11BHID_DESC);
  1570. SIG_EXPR_LIST_DECL_SINGLE(A6, USB2BDN, USB2BD, USB2BD_DESC);
  1571. SIG_EXPR_DECL_SINGLE(USB2BHDN1, USB2BH, USB2BH1_DESC);
  1572. SIG_EXPR_DECL_SINGLE(USB2BHDN2, USB2BH, USB2BH2_DESC);
  1573. SIG_EXPR_LIST_DECL(USB2BHDN, USB2BH,
  1574. SIG_EXPR_PTR(USB2BHDN1, USB2BH),
  1575. SIG_EXPR_PTR(USB2BHDN2, USB2BH));
  1576. SIG_EXPR_LIST_ALIAS(A6, USB2BHDN, USB2BH);
  1577. PIN_DECL_(A6, SIG_EXPR_LIST_PTR(A6, USB11BDN), SIG_EXPR_LIST_PTR(A6, USB2BDN),
  1578. SIG_EXPR_LIST_PTR(A6, USB2BHDN));
  1579. FUNC_GROUP_DECL(USB11BHID, B6, A6);
  1580. FUNC_GROUP_DECL(USB2BD, B6, A6);
  1581. FUNC_GROUP_DECL(USB2BH, B6, A6);
  1582. /* Pins, groups and functions are sort(1):ed alphabetically for sanity */
  1583. static struct pinctrl_pin_desc aspeed_g5_pins[ASPEED_G5_NR_PINS] = {
  1584. ASPEED_PINCTRL_PIN(A10),
  1585. ASPEED_PINCTRL_PIN(A11),
  1586. ASPEED_PINCTRL_PIN(A12),
  1587. ASPEED_PINCTRL_PIN(A13),
  1588. ASPEED_PINCTRL_PIN(A14),
  1589. ASPEED_PINCTRL_PIN(A15),
  1590. ASPEED_PINCTRL_PIN(A16),
  1591. ASPEED_PINCTRL_PIN(A17),
  1592. ASPEED_PINCTRL_PIN(A18),
  1593. ASPEED_PINCTRL_PIN(A19),
  1594. ASPEED_PINCTRL_PIN(A2),
  1595. ASPEED_PINCTRL_PIN(A20),
  1596. ASPEED_PINCTRL_PIN(A21),
  1597. ASPEED_PINCTRL_PIN(A3),
  1598. ASPEED_PINCTRL_PIN(A4),
  1599. ASPEED_PINCTRL_PIN(A5),
  1600. ASPEED_PINCTRL_PIN(A6),
  1601. ASPEED_PINCTRL_PIN(A7),
  1602. ASPEED_PINCTRL_PIN(A8),
  1603. ASPEED_PINCTRL_PIN(A9),
  1604. ASPEED_PINCTRL_PIN(AA1),
  1605. ASPEED_PINCTRL_PIN(AA19),
  1606. ASPEED_PINCTRL_PIN(AA2),
  1607. ASPEED_PINCTRL_PIN(AA20),
  1608. ASPEED_PINCTRL_PIN(AA21),
  1609. ASPEED_PINCTRL_PIN(AA22),
  1610. ASPEED_PINCTRL_PIN(AA3),
  1611. ASPEED_PINCTRL_PIN(AA4),
  1612. ASPEED_PINCTRL_PIN(AA5),
  1613. ASPEED_PINCTRL_PIN(AB2),
  1614. ASPEED_PINCTRL_PIN(AB20),
  1615. ASPEED_PINCTRL_PIN(AB21),
  1616. ASPEED_PINCTRL_PIN(AB3),
  1617. ASPEED_PINCTRL_PIN(AB4),
  1618. ASPEED_PINCTRL_PIN(AB5),
  1619. ASPEED_PINCTRL_PIN(B1),
  1620. ASPEED_PINCTRL_PIN(B10),
  1621. ASPEED_PINCTRL_PIN(B11),
  1622. ASPEED_PINCTRL_PIN(B12),
  1623. ASPEED_PINCTRL_PIN(B13),
  1624. ASPEED_PINCTRL_PIN(B14),
  1625. ASPEED_PINCTRL_PIN(B15),
  1626. ASPEED_PINCTRL_PIN(B16),
  1627. ASPEED_PINCTRL_PIN(B17),
  1628. ASPEED_PINCTRL_PIN(B18),
  1629. ASPEED_PINCTRL_PIN(B19),
  1630. ASPEED_PINCTRL_PIN(B2),
  1631. ASPEED_PINCTRL_PIN(B20),
  1632. ASPEED_PINCTRL_PIN(B21),
  1633. ASPEED_PINCTRL_PIN(B22),
  1634. ASPEED_PINCTRL_PIN(B3),
  1635. ASPEED_PINCTRL_PIN(B4),
  1636. ASPEED_PINCTRL_PIN(B5),
  1637. ASPEED_PINCTRL_PIN(B6),
  1638. ASPEED_PINCTRL_PIN(B9),
  1639. ASPEED_PINCTRL_PIN(C1),
  1640. ASPEED_PINCTRL_PIN(C11),
  1641. ASPEED_PINCTRL_PIN(C12),
  1642. ASPEED_PINCTRL_PIN(C13),
  1643. ASPEED_PINCTRL_PIN(C14),
  1644. ASPEED_PINCTRL_PIN(C15),
  1645. ASPEED_PINCTRL_PIN(C16),
  1646. ASPEED_PINCTRL_PIN(C17),
  1647. ASPEED_PINCTRL_PIN(C18),
  1648. ASPEED_PINCTRL_PIN(C19),
  1649. ASPEED_PINCTRL_PIN(C2),
  1650. ASPEED_PINCTRL_PIN(C20),
  1651. ASPEED_PINCTRL_PIN(C21),
  1652. ASPEED_PINCTRL_PIN(C22),
  1653. ASPEED_PINCTRL_PIN(C3),
  1654. ASPEED_PINCTRL_PIN(C4),
  1655. ASPEED_PINCTRL_PIN(C5),
  1656. ASPEED_PINCTRL_PIN(D1),
  1657. ASPEED_PINCTRL_PIN(D10),
  1658. ASPEED_PINCTRL_PIN(D13),
  1659. ASPEED_PINCTRL_PIN(D14),
  1660. ASPEED_PINCTRL_PIN(D15),
  1661. ASPEED_PINCTRL_PIN(D16),
  1662. ASPEED_PINCTRL_PIN(D17),
  1663. ASPEED_PINCTRL_PIN(D18),
  1664. ASPEED_PINCTRL_PIN(D19),
  1665. ASPEED_PINCTRL_PIN(D2),
  1666. ASPEED_PINCTRL_PIN(D20),
  1667. ASPEED_PINCTRL_PIN(D21),
  1668. ASPEED_PINCTRL_PIN(D22),
  1669. ASPEED_PINCTRL_PIN(D4),
  1670. ASPEED_PINCTRL_PIN(D5),
  1671. ASPEED_PINCTRL_PIN(D6),
  1672. ASPEED_PINCTRL_PIN(D7),
  1673. ASPEED_PINCTRL_PIN(D8),
  1674. ASPEED_PINCTRL_PIN(D9),
  1675. ASPEED_PINCTRL_PIN(E1),
  1676. ASPEED_PINCTRL_PIN(E10),
  1677. ASPEED_PINCTRL_PIN(E12),
  1678. ASPEED_PINCTRL_PIN(E13),
  1679. ASPEED_PINCTRL_PIN(E14),
  1680. ASPEED_PINCTRL_PIN(E15),
  1681. ASPEED_PINCTRL_PIN(E16),
  1682. ASPEED_PINCTRL_PIN(E17),
  1683. ASPEED_PINCTRL_PIN(E18),
  1684. ASPEED_PINCTRL_PIN(E19),
  1685. ASPEED_PINCTRL_PIN(E2),
  1686. ASPEED_PINCTRL_PIN(E20),
  1687. ASPEED_PINCTRL_PIN(E21),
  1688. ASPEED_PINCTRL_PIN(E22),
  1689. ASPEED_PINCTRL_PIN(E3),
  1690. ASPEED_PINCTRL_PIN(E6),
  1691. ASPEED_PINCTRL_PIN(E7),
  1692. ASPEED_PINCTRL_PIN(E9),
  1693. ASPEED_PINCTRL_PIN(F1),
  1694. ASPEED_PINCTRL_PIN(F17),
  1695. ASPEED_PINCTRL_PIN(F18),
  1696. ASPEED_PINCTRL_PIN(F19),
  1697. ASPEED_PINCTRL_PIN(F2),
  1698. ASPEED_PINCTRL_PIN(F20),
  1699. ASPEED_PINCTRL_PIN(F21),
  1700. ASPEED_PINCTRL_PIN(F22),
  1701. ASPEED_PINCTRL_PIN(F3),
  1702. ASPEED_PINCTRL_PIN(F4),
  1703. ASPEED_PINCTRL_PIN(F5),
  1704. ASPEED_PINCTRL_PIN(F9),
  1705. ASPEED_PINCTRL_PIN(G1),
  1706. ASPEED_PINCTRL_PIN(G17),
  1707. ASPEED_PINCTRL_PIN(G18),
  1708. ASPEED_PINCTRL_PIN(G2),
  1709. ASPEED_PINCTRL_PIN(G20),
  1710. ASPEED_PINCTRL_PIN(G21),
  1711. ASPEED_PINCTRL_PIN(G22),
  1712. ASPEED_PINCTRL_PIN(G3),
  1713. ASPEED_PINCTRL_PIN(G4),
  1714. ASPEED_PINCTRL_PIN(G5),
  1715. ASPEED_PINCTRL_PIN(H18),
  1716. ASPEED_PINCTRL_PIN(H19),
  1717. ASPEED_PINCTRL_PIN(H20),
  1718. ASPEED_PINCTRL_PIN(H21),
  1719. ASPEED_PINCTRL_PIN(H22),
  1720. ASPEED_PINCTRL_PIN(H3),
  1721. ASPEED_PINCTRL_PIN(H4),
  1722. ASPEED_PINCTRL_PIN(H5),
  1723. ASPEED_PINCTRL_PIN(J18),
  1724. ASPEED_PINCTRL_PIN(J19),
  1725. ASPEED_PINCTRL_PIN(J20),
  1726. ASPEED_PINCTRL_PIN(K18),
  1727. ASPEED_PINCTRL_PIN(K19),
  1728. ASPEED_PINCTRL_PIN(L1),
  1729. ASPEED_PINCTRL_PIN(L18),
  1730. ASPEED_PINCTRL_PIN(L19),
  1731. ASPEED_PINCTRL_PIN(L2),
  1732. ASPEED_PINCTRL_PIN(L3),
  1733. ASPEED_PINCTRL_PIN(L4),
  1734. ASPEED_PINCTRL_PIN(M18),
  1735. ASPEED_PINCTRL_PIN(M19),
  1736. ASPEED_PINCTRL_PIN(M20),
  1737. ASPEED_PINCTRL_PIN(N1),
  1738. ASPEED_PINCTRL_PIN(N18),
  1739. ASPEED_PINCTRL_PIN(N19),
  1740. ASPEED_PINCTRL_PIN(N2),
  1741. ASPEED_PINCTRL_PIN(N20),
  1742. ASPEED_PINCTRL_PIN(N21),
  1743. ASPEED_PINCTRL_PIN(N22),
  1744. ASPEED_PINCTRL_PIN(N3),
  1745. ASPEED_PINCTRL_PIN(N4),
  1746. ASPEED_PINCTRL_PIN(N5),
  1747. ASPEED_PINCTRL_PIN(P1),
  1748. ASPEED_PINCTRL_PIN(P18),
  1749. ASPEED_PINCTRL_PIN(P19),
  1750. ASPEED_PINCTRL_PIN(P2),
  1751. ASPEED_PINCTRL_PIN(P20),
  1752. ASPEED_PINCTRL_PIN(P21),
  1753. ASPEED_PINCTRL_PIN(P22),
  1754. ASPEED_PINCTRL_PIN(P3),
  1755. ASPEED_PINCTRL_PIN(P4),
  1756. ASPEED_PINCTRL_PIN(P5),
  1757. ASPEED_PINCTRL_PIN(R1),
  1758. ASPEED_PINCTRL_PIN(R18),
  1759. ASPEED_PINCTRL_PIN(R19),
  1760. ASPEED_PINCTRL_PIN(R2),
  1761. ASPEED_PINCTRL_PIN(R20),
  1762. ASPEED_PINCTRL_PIN(R21),
  1763. ASPEED_PINCTRL_PIN(R22),
  1764. ASPEED_PINCTRL_PIN(R3),
  1765. ASPEED_PINCTRL_PIN(R4),
  1766. ASPEED_PINCTRL_PIN(R5),
  1767. ASPEED_PINCTRL_PIN(T1),
  1768. ASPEED_PINCTRL_PIN(T17),
  1769. ASPEED_PINCTRL_PIN(T19),
  1770. ASPEED_PINCTRL_PIN(T2),
  1771. ASPEED_PINCTRL_PIN(T20),
  1772. ASPEED_PINCTRL_PIN(T21),
  1773. ASPEED_PINCTRL_PIN(T22),
  1774. ASPEED_PINCTRL_PIN(T3),
  1775. ASPEED_PINCTRL_PIN(T4),
  1776. ASPEED_PINCTRL_PIN(T5),
  1777. ASPEED_PINCTRL_PIN(U1),
  1778. ASPEED_PINCTRL_PIN(U19),
  1779. ASPEED_PINCTRL_PIN(U2),
  1780. ASPEED_PINCTRL_PIN(U20),
  1781. ASPEED_PINCTRL_PIN(U21),
  1782. ASPEED_PINCTRL_PIN(U22),
  1783. ASPEED_PINCTRL_PIN(U3),
  1784. ASPEED_PINCTRL_PIN(U4),
  1785. ASPEED_PINCTRL_PIN(U5),
  1786. ASPEED_PINCTRL_PIN(V1),
  1787. ASPEED_PINCTRL_PIN(V19),
  1788. ASPEED_PINCTRL_PIN(V2),
  1789. ASPEED_PINCTRL_PIN(V20),
  1790. ASPEED_PINCTRL_PIN(V21),
  1791. ASPEED_PINCTRL_PIN(V22),
  1792. ASPEED_PINCTRL_PIN(V3),
  1793. ASPEED_PINCTRL_PIN(V4),
  1794. ASPEED_PINCTRL_PIN(V5),
  1795. ASPEED_PINCTRL_PIN(V6),
  1796. ASPEED_PINCTRL_PIN(W1),
  1797. ASPEED_PINCTRL_PIN(W19),
  1798. ASPEED_PINCTRL_PIN(W2),
  1799. ASPEED_PINCTRL_PIN(W20),
  1800. ASPEED_PINCTRL_PIN(W21),
  1801. ASPEED_PINCTRL_PIN(W22),
  1802. ASPEED_PINCTRL_PIN(W3),
  1803. ASPEED_PINCTRL_PIN(W4),
  1804. ASPEED_PINCTRL_PIN(W5),
  1805. ASPEED_PINCTRL_PIN(W6),
  1806. ASPEED_PINCTRL_PIN(Y1),
  1807. ASPEED_PINCTRL_PIN(Y19),
  1808. ASPEED_PINCTRL_PIN(Y2),
  1809. ASPEED_PINCTRL_PIN(Y20),
  1810. ASPEED_PINCTRL_PIN(Y21),
  1811. ASPEED_PINCTRL_PIN(Y22),
  1812. ASPEED_PINCTRL_PIN(Y3),
  1813. ASPEED_PINCTRL_PIN(Y4),
  1814. ASPEED_PINCTRL_PIN(Y5),
  1815. ASPEED_PINCTRL_PIN(Y6),
  1816. };
  1817. static const struct aspeed_pin_group aspeed_g5_groups[] = {
  1818. ASPEED_PINCTRL_GROUP(ACPI),
  1819. ASPEED_PINCTRL_GROUP(ADC0),
  1820. ASPEED_PINCTRL_GROUP(ADC1),
  1821. ASPEED_PINCTRL_GROUP(ADC10),
  1822. ASPEED_PINCTRL_GROUP(ADC11),
  1823. ASPEED_PINCTRL_GROUP(ADC12),
  1824. ASPEED_PINCTRL_GROUP(ADC13),
  1825. ASPEED_PINCTRL_GROUP(ADC14),
  1826. ASPEED_PINCTRL_GROUP(ADC15),
  1827. ASPEED_PINCTRL_GROUP(ADC2),
  1828. ASPEED_PINCTRL_GROUP(ADC3),
  1829. ASPEED_PINCTRL_GROUP(ADC4),
  1830. ASPEED_PINCTRL_GROUP(ADC5),
  1831. ASPEED_PINCTRL_GROUP(ADC6),
  1832. ASPEED_PINCTRL_GROUP(ADC7),
  1833. ASPEED_PINCTRL_GROUP(ADC8),
  1834. ASPEED_PINCTRL_GROUP(ADC9),
  1835. ASPEED_PINCTRL_GROUP(BMCINT),
  1836. ASPEED_PINCTRL_GROUP(DDCCLK),
  1837. ASPEED_PINCTRL_GROUP(DDCDAT),
  1838. ASPEED_PINCTRL_GROUP(ESPI),
  1839. ASPEED_PINCTRL_GROUP(FWSPICS1),
  1840. ASPEED_PINCTRL_GROUP(FWSPICS2),
  1841. ASPEED_PINCTRL_GROUP(GPID0),
  1842. ASPEED_PINCTRL_GROUP(GPID2),
  1843. ASPEED_PINCTRL_GROUP(GPID4),
  1844. ASPEED_PINCTRL_GROUP(GPID6),
  1845. ASPEED_PINCTRL_GROUP(GPIE0),
  1846. ASPEED_PINCTRL_GROUP(GPIE2),
  1847. ASPEED_PINCTRL_GROUP(GPIE4),
  1848. ASPEED_PINCTRL_GROUP(GPIE6),
  1849. ASPEED_PINCTRL_GROUP(I2C10),
  1850. ASPEED_PINCTRL_GROUP(I2C11),
  1851. ASPEED_PINCTRL_GROUP(I2C12),
  1852. ASPEED_PINCTRL_GROUP(I2C13),
  1853. ASPEED_PINCTRL_GROUP(I2C14),
  1854. ASPEED_PINCTRL_GROUP(I2C3),
  1855. ASPEED_PINCTRL_GROUP(I2C4),
  1856. ASPEED_PINCTRL_GROUP(I2C5),
  1857. ASPEED_PINCTRL_GROUP(I2C6),
  1858. ASPEED_PINCTRL_GROUP(I2C7),
  1859. ASPEED_PINCTRL_GROUP(I2C8),
  1860. ASPEED_PINCTRL_GROUP(I2C9),
  1861. ASPEED_PINCTRL_GROUP(LAD0),
  1862. ASPEED_PINCTRL_GROUP(LAD1),
  1863. ASPEED_PINCTRL_GROUP(LAD2),
  1864. ASPEED_PINCTRL_GROUP(LAD3),
  1865. ASPEED_PINCTRL_GROUP(LCLK),
  1866. ASPEED_PINCTRL_GROUP(LFRAME),
  1867. ASPEED_PINCTRL_GROUP(LPCHC),
  1868. ASPEED_PINCTRL_GROUP(LPCPD),
  1869. ASPEED_PINCTRL_GROUP(LPCPLUS),
  1870. ASPEED_PINCTRL_GROUP(LPCPME),
  1871. ASPEED_PINCTRL_GROUP(LPCRST),
  1872. ASPEED_PINCTRL_GROUP(LPCSMI),
  1873. ASPEED_PINCTRL_GROUP(LSIRQ),
  1874. ASPEED_PINCTRL_GROUP(MAC1LINK),
  1875. ASPEED_PINCTRL_GROUP(MAC2LINK),
  1876. ASPEED_PINCTRL_GROUP(MDIO1),
  1877. ASPEED_PINCTRL_GROUP(MDIO2),
  1878. ASPEED_PINCTRL_GROUP(NCTS1),
  1879. ASPEED_PINCTRL_GROUP(NCTS2),
  1880. ASPEED_PINCTRL_GROUP(NCTS3),
  1881. ASPEED_PINCTRL_GROUP(NCTS4),
  1882. ASPEED_PINCTRL_GROUP(NDCD1),
  1883. ASPEED_PINCTRL_GROUP(NDCD2),
  1884. ASPEED_PINCTRL_GROUP(NDCD3),
  1885. ASPEED_PINCTRL_GROUP(NDCD4),
  1886. ASPEED_PINCTRL_GROUP(NDSR1),
  1887. ASPEED_PINCTRL_GROUP(NDSR2),
  1888. ASPEED_PINCTRL_GROUP(NDSR3),
  1889. ASPEED_PINCTRL_GROUP(NDSR4),
  1890. ASPEED_PINCTRL_GROUP(NDTR1),
  1891. ASPEED_PINCTRL_GROUP(NDTR2),
  1892. ASPEED_PINCTRL_GROUP(NDTR3),
  1893. ASPEED_PINCTRL_GROUP(NDTR4),
  1894. ASPEED_PINCTRL_GROUP(NRI1),
  1895. ASPEED_PINCTRL_GROUP(NRI2),
  1896. ASPEED_PINCTRL_GROUP(NRI3),
  1897. ASPEED_PINCTRL_GROUP(NRI4),
  1898. ASPEED_PINCTRL_GROUP(NRTS1),
  1899. ASPEED_PINCTRL_GROUP(NRTS2),
  1900. ASPEED_PINCTRL_GROUP(NRTS3),
  1901. ASPEED_PINCTRL_GROUP(NRTS4),
  1902. ASPEED_PINCTRL_GROUP(OSCCLK),
  1903. ASPEED_PINCTRL_GROUP(PEWAKE),
  1904. ASPEED_PINCTRL_GROUP(PNOR),
  1905. ASPEED_PINCTRL_GROUP(PWM0),
  1906. ASPEED_PINCTRL_GROUP(PWM1),
  1907. ASPEED_PINCTRL_GROUP(PWM2),
  1908. ASPEED_PINCTRL_GROUP(PWM3),
  1909. ASPEED_PINCTRL_GROUP(PWM4),
  1910. ASPEED_PINCTRL_GROUP(PWM5),
  1911. ASPEED_PINCTRL_GROUP(PWM6),
  1912. ASPEED_PINCTRL_GROUP(PWM7),
  1913. ASPEED_PINCTRL_GROUP(RGMII1),
  1914. ASPEED_PINCTRL_GROUP(RGMII2),
  1915. ASPEED_PINCTRL_GROUP(RMII1),
  1916. ASPEED_PINCTRL_GROUP(RMII2),
  1917. ASPEED_PINCTRL_GROUP(RXD1),
  1918. ASPEED_PINCTRL_GROUP(RXD2),
  1919. ASPEED_PINCTRL_GROUP(RXD3),
  1920. ASPEED_PINCTRL_GROUP(RXD4),
  1921. ASPEED_PINCTRL_GROUP(SALT1),
  1922. ASPEED_PINCTRL_GROUP(SALT10),
  1923. ASPEED_PINCTRL_GROUP(SALT11),
  1924. ASPEED_PINCTRL_GROUP(SALT12),
  1925. ASPEED_PINCTRL_GROUP(SALT13),
  1926. ASPEED_PINCTRL_GROUP(SALT14),
  1927. ASPEED_PINCTRL_GROUP(SALT2),
  1928. ASPEED_PINCTRL_GROUP(SALT3),
  1929. ASPEED_PINCTRL_GROUP(SALT4),
  1930. ASPEED_PINCTRL_GROUP(SALT5),
  1931. ASPEED_PINCTRL_GROUP(SALT6),
  1932. ASPEED_PINCTRL_GROUP(SALT7),
  1933. ASPEED_PINCTRL_GROUP(SALT8),
  1934. ASPEED_PINCTRL_GROUP(SALT9),
  1935. ASPEED_PINCTRL_GROUP(SCL1),
  1936. ASPEED_PINCTRL_GROUP(SCL2),
  1937. ASPEED_PINCTRL_GROUP(SD1),
  1938. ASPEED_PINCTRL_GROUP(SD2),
  1939. ASPEED_PINCTRL_GROUP(SDA1),
  1940. ASPEED_PINCTRL_GROUP(SDA2),
  1941. ASPEED_PINCTRL_GROUP(SGPM),
  1942. ASPEED_PINCTRL_GROUP(SGPS1),
  1943. ASPEED_PINCTRL_GROUP(SGPS2),
  1944. ASPEED_PINCTRL_GROUP(SIOONCTRL),
  1945. ASPEED_PINCTRL_GROUP(SIOPBI),
  1946. ASPEED_PINCTRL_GROUP(SIOPBO),
  1947. ASPEED_PINCTRL_GROUP(SIOPWREQ),
  1948. ASPEED_PINCTRL_GROUP(SIOPWRGD),
  1949. ASPEED_PINCTRL_GROUP(SIOS3),
  1950. ASPEED_PINCTRL_GROUP(SIOS5),
  1951. ASPEED_PINCTRL_GROUP(SIOSCI),
  1952. ASPEED_PINCTRL_GROUP(SPI1),
  1953. ASPEED_PINCTRL_GROUP(SPI1CS1),
  1954. ASPEED_PINCTRL_GROUP(SPI1DEBUG),
  1955. ASPEED_PINCTRL_GROUP(SPI1PASSTHRU),
  1956. ASPEED_PINCTRL_GROUP(SPI2CK),
  1957. ASPEED_PINCTRL_GROUP(SPI2CS0),
  1958. ASPEED_PINCTRL_GROUP(SPI2CS1),
  1959. ASPEED_PINCTRL_GROUP(SPI2MISO),
  1960. ASPEED_PINCTRL_GROUP(SPI2MOSI),
  1961. ASPEED_PINCTRL_GROUP(TIMER3),
  1962. ASPEED_PINCTRL_GROUP(TIMER4),
  1963. ASPEED_PINCTRL_GROUP(TIMER5),
  1964. ASPEED_PINCTRL_GROUP(TIMER6),
  1965. ASPEED_PINCTRL_GROUP(TIMER7),
  1966. ASPEED_PINCTRL_GROUP(TIMER8),
  1967. ASPEED_PINCTRL_GROUP(TXD1),
  1968. ASPEED_PINCTRL_GROUP(TXD2),
  1969. ASPEED_PINCTRL_GROUP(TXD3),
  1970. ASPEED_PINCTRL_GROUP(TXD4),
  1971. ASPEED_PINCTRL_GROUP(UART6),
  1972. ASPEED_PINCTRL_GROUP(USB11BHID),
  1973. ASPEED_PINCTRL_GROUP(USB2AD),
  1974. ASPEED_PINCTRL_GROUP(USB2AH),
  1975. ASPEED_PINCTRL_GROUP(USB2BD),
  1976. ASPEED_PINCTRL_GROUP(USB2BH),
  1977. ASPEED_PINCTRL_GROUP(USBCKI),
  1978. ASPEED_PINCTRL_GROUP(VGABIOSROM),
  1979. ASPEED_PINCTRL_GROUP(VGAHS),
  1980. ASPEED_PINCTRL_GROUP(VGAVS),
  1981. ASPEED_PINCTRL_GROUP(VPI24),
  1982. ASPEED_PINCTRL_GROUP(VPO),
  1983. ASPEED_PINCTRL_GROUP(WDTRST1),
  1984. ASPEED_PINCTRL_GROUP(WDTRST2),
  1985. };
  1986. static const struct aspeed_pin_function aspeed_g5_functions[] = {
  1987. ASPEED_PINCTRL_FUNC(ACPI),
  1988. ASPEED_PINCTRL_FUNC(ADC0),
  1989. ASPEED_PINCTRL_FUNC(ADC1),
  1990. ASPEED_PINCTRL_FUNC(ADC10),
  1991. ASPEED_PINCTRL_FUNC(ADC11),
  1992. ASPEED_PINCTRL_FUNC(ADC12),
  1993. ASPEED_PINCTRL_FUNC(ADC13),
  1994. ASPEED_PINCTRL_FUNC(ADC14),
  1995. ASPEED_PINCTRL_FUNC(ADC15),
  1996. ASPEED_PINCTRL_FUNC(ADC2),
  1997. ASPEED_PINCTRL_FUNC(ADC3),
  1998. ASPEED_PINCTRL_FUNC(ADC4),
  1999. ASPEED_PINCTRL_FUNC(ADC5),
  2000. ASPEED_PINCTRL_FUNC(ADC6),
  2001. ASPEED_PINCTRL_FUNC(ADC7),
  2002. ASPEED_PINCTRL_FUNC(ADC8),
  2003. ASPEED_PINCTRL_FUNC(ADC9),
  2004. ASPEED_PINCTRL_FUNC(BMCINT),
  2005. ASPEED_PINCTRL_FUNC(DDCCLK),
  2006. ASPEED_PINCTRL_FUNC(DDCDAT),
  2007. ASPEED_PINCTRL_FUNC(ESPI),
  2008. ASPEED_PINCTRL_FUNC(FWSPICS1),
  2009. ASPEED_PINCTRL_FUNC(FWSPICS2),
  2010. ASPEED_PINCTRL_FUNC(GPID0),
  2011. ASPEED_PINCTRL_FUNC(GPID2),
  2012. ASPEED_PINCTRL_FUNC(GPID4),
  2013. ASPEED_PINCTRL_FUNC(GPID6),
  2014. ASPEED_PINCTRL_FUNC(GPIE0),
  2015. ASPEED_PINCTRL_FUNC(GPIE2),
  2016. ASPEED_PINCTRL_FUNC(GPIE4),
  2017. ASPEED_PINCTRL_FUNC(GPIE6),
  2018. ASPEED_PINCTRL_FUNC(I2C10),
  2019. ASPEED_PINCTRL_FUNC(I2C11),
  2020. ASPEED_PINCTRL_FUNC(I2C12),
  2021. ASPEED_PINCTRL_FUNC(I2C13),
  2022. ASPEED_PINCTRL_FUNC(I2C14),
  2023. ASPEED_PINCTRL_FUNC(I2C3),
  2024. ASPEED_PINCTRL_FUNC(I2C4),
  2025. ASPEED_PINCTRL_FUNC(I2C5),
  2026. ASPEED_PINCTRL_FUNC(I2C6),
  2027. ASPEED_PINCTRL_FUNC(I2C7),
  2028. ASPEED_PINCTRL_FUNC(I2C8),
  2029. ASPEED_PINCTRL_FUNC(I2C9),
  2030. ASPEED_PINCTRL_FUNC(LAD0),
  2031. ASPEED_PINCTRL_FUNC(LAD1),
  2032. ASPEED_PINCTRL_FUNC(LAD2),
  2033. ASPEED_PINCTRL_FUNC(LAD3),
  2034. ASPEED_PINCTRL_FUNC(LCLK),
  2035. ASPEED_PINCTRL_FUNC(LFRAME),
  2036. ASPEED_PINCTRL_FUNC(LPCHC),
  2037. ASPEED_PINCTRL_FUNC(LPCPD),
  2038. ASPEED_PINCTRL_FUNC(LPCPLUS),
  2039. ASPEED_PINCTRL_FUNC(LPCPME),
  2040. ASPEED_PINCTRL_FUNC(LPCRST),
  2041. ASPEED_PINCTRL_FUNC(LPCSMI),
  2042. ASPEED_PINCTRL_FUNC(LSIRQ),
  2043. ASPEED_PINCTRL_FUNC(MAC1LINK),
  2044. ASPEED_PINCTRL_FUNC(MAC2LINK),
  2045. ASPEED_PINCTRL_FUNC(MDIO1),
  2046. ASPEED_PINCTRL_FUNC(MDIO2),
  2047. ASPEED_PINCTRL_FUNC(NCTS1),
  2048. ASPEED_PINCTRL_FUNC(NCTS2),
  2049. ASPEED_PINCTRL_FUNC(NCTS3),
  2050. ASPEED_PINCTRL_FUNC(NCTS4),
  2051. ASPEED_PINCTRL_FUNC(NDCD1),
  2052. ASPEED_PINCTRL_FUNC(NDCD2),
  2053. ASPEED_PINCTRL_FUNC(NDCD3),
  2054. ASPEED_PINCTRL_FUNC(NDCD4),
  2055. ASPEED_PINCTRL_FUNC(NDSR1),
  2056. ASPEED_PINCTRL_FUNC(NDSR2),
  2057. ASPEED_PINCTRL_FUNC(NDSR3),
  2058. ASPEED_PINCTRL_FUNC(NDSR4),
  2059. ASPEED_PINCTRL_FUNC(NDTR1),
  2060. ASPEED_PINCTRL_FUNC(NDTR2),
  2061. ASPEED_PINCTRL_FUNC(NDTR3),
  2062. ASPEED_PINCTRL_FUNC(NDTR4),
  2063. ASPEED_PINCTRL_FUNC(NRI1),
  2064. ASPEED_PINCTRL_FUNC(NRI2),
  2065. ASPEED_PINCTRL_FUNC(NRI3),
  2066. ASPEED_PINCTRL_FUNC(NRI4),
  2067. ASPEED_PINCTRL_FUNC(NRTS1),
  2068. ASPEED_PINCTRL_FUNC(NRTS2),
  2069. ASPEED_PINCTRL_FUNC(NRTS3),
  2070. ASPEED_PINCTRL_FUNC(NRTS4),
  2071. ASPEED_PINCTRL_FUNC(OSCCLK),
  2072. ASPEED_PINCTRL_FUNC(PEWAKE),
  2073. ASPEED_PINCTRL_FUNC(PNOR),
  2074. ASPEED_PINCTRL_FUNC(PWM0),
  2075. ASPEED_PINCTRL_FUNC(PWM1),
  2076. ASPEED_PINCTRL_FUNC(PWM2),
  2077. ASPEED_PINCTRL_FUNC(PWM3),
  2078. ASPEED_PINCTRL_FUNC(PWM4),
  2079. ASPEED_PINCTRL_FUNC(PWM5),
  2080. ASPEED_PINCTRL_FUNC(PWM6),
  2081. ASPEED_PINCTRL_FUNC(PWM7),
  2082. ASPEED_PINCTRL_FUNC(RGMII1),
  2083. ASPEED_PINCTRL_FUNC(RGMII2),
  2084. ASPEED_PINCTRL_FUNC(RMII1),
  2085. ASPEED_PINCTRL_FUNC(RMII2),
  2086. ASPEED_PINCTRL_FUNC(RXD1),
  2087. ASPEED_PINCTRL_FUNC(RXD2),
  2088. ASPEED_PINCTRL_FUNC(RXD3),
  2089. ASPEED_PINCTRL_FUNC(RXD4),
  2090. ASPEED_PINCTRL_FUNC(SALT1),
  2091. ASPEED_PINCTRL_FUNC(SALT10),
  2092. ASPEED_PINCTRL_FUNC(SALT11),
  2093. ASPEED_PINCTRL_FUNC(SALT12),
  2094. ASPEED_PINCTRL_FUNC(SALT13),
  2095. ASPEED_PINCTRL_FUNC(SALT14),
  2096. ASPEED_PINCTRL_FUNC(SALT2),
  2097. ASPEED_PINCTRL_FUNC(SALT3),
  2098. ASPEED_PINCTRL_FUNC(SALT4),
  2099. ASPEED_PINCTRL_FUNC(SALT5),
  2100. ASPEED_PINCTRL_FUNC(SALT6),
  2101. ASPEED_PINCTRL_FUNC(SALT7),
  2102. ASPEED_PINCTRL_FUNC(SALT8),
  2103. ASPEED_PINCTRL_FUNC(SALT9),
  2104. ASPEED_PINCTRL_FUNC(SCL1),
  2105. ASPEED_PINCTRL_FUNC(SCL2),
  2106. ASPEED_PINCTRL_FUNC(SD1),
  2107. ASPEED_PINCTRL_FUNC(SD2),
  2108. ASPEED_PINCTRL_FUNC(SDA1),
  2109. ASPEED_PINCTRL_FUNC(SDA2),
  2110. ASPEED_PINCTRL_FUNC(SGPM),
  2111. ASPEED_PINCTRL_FUNC(SGPS1),
  2112. ASPEED_PINCTRL_FUNC(SGPS2),
  2113. ASPEED_PINCTRL_FUNC(SIOONCTRL),
  2114. ASPEED_PINCTRL_FUNC(SIOPBI),
  2115. ASPEED_PINCTRL_FUNC(SIOPBO),
  2116. ASPEED_PINCTRL_FUNC(SIOPWREQ),
  2117. ASPEED_PINCTRL_FUNC(SIOPWRGD),
  2118. ASPEED_PINCTRL_FUNC(SIOS3),
  2119. ASPEED_PINCTRL_FUNC(SIOS5),
  2120. ASPEED_PINCTRL_FUNC(SIOSCI),
  2121. ASPEED_PINCTRL_FUNC(SPI1),
  2122. ASPEED_PINCTRL_FUNC(SPI1CS1),
  2123. ASPEED_PINCTRL_FUNC(SPI1DEBUG),
  2124. ASPEED_PINCTRL_FUNC(SPI1PASSTHRU),
  2125. ASPEED_PINCTRL_FUNC(SPI2CK),
  2126. ASPEED_PINCTRL_FUNC(SPI2CS0),
  2127. ASPEED_PINCTRL_FUNC(SPI2CS1),
  2128. ASPEED_PINCTRL_FUNC(SPI2MISO),
  2129. ASPEED_PINCTRL_FUNC(SPI2MOSI),
  2130. ASPEED_PINCTRL_FUNC(TIMER3),
  2131. ASPEED_PINCTRL_FUNC(TIMER4),
  2132. ASPEED_PINCTRL_FUNC(TIMER5),
  2133. ASPEED_PINCTRL_FUNC(TIMER6),
  2134. ASPEED_PINCTRL_FUNC(TIMER7),
  2135. ASPEED_PINCTRL_FUNC(TIMER8),
  2136. ASPEED_PINCTRL_FUNC(TXD1),
  2137. ASPEED_PINCTRL_FUNC(TXD2),
  2138. ASPEED_PINCTRL_FUNC(TXD3),
  2139. ASPEED_PINCTRL_FUNC(TXD4),
  2140. ASPEED_PINCTRL_FUNC(UART6),
  2141. ASPEED_PINCTRL_FUNC(USB11BHID),
  2142. ASPEED_PINCTRL_FUNC(USB2AD),
  2143. ASPEED_PINCTRL_FUNC(USB2AH),
  2144. ASPEED_PINCTRL_FUNC(USB2BD),
  2145. ASPEED_PINCTRL_FUNC(USB2BH),
  2146. ASPEED_PINCTRL_FUNC(USBCKI),
  2147. ASPEED_PINCTRL_FUNC(VGABIOSROM),
  2148. ASPEED_PINCTRL_FUNC(VGAHS),
  2149. ASPEED_PINCTRL_FUNC(VGAVS),
  2150. ASPEED_PINCTRL_FUNC(VPI24),
  2151. ASPEED_PINCTRL_FUNC(VPO),
  2152. ASPEED_PINCTRL_FUNC(WDTRST1),
  2153. ASPEED_PINCTRL_FUNC(WDTRST2),
  2154. };
  2155. static struct aspeed_pin_config aspeed_g5_configs[] = {
  2156. /* GPIOA, GPIOQ */
  2157. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, B14, B13, SCU8C, 16),
  2158. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, B14, B13, SCU8C, 16),
  2159. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A11, N20, SCU8C, 16),
  2160. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, A11, N20, SCU8C, 16),
  2161. /* GPIOB, GPIOR */
  2162. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, K19, H20, SCU8C, 17),
  2163. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, K19, H20, SCU8C, 17),
  2164. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, AA19, E10, SCU8C, 17),
  2165. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, AA19, E10, SCU8C, 17),
  2166. /* GPIOC, GPIOS*/
  2167. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, C12, B11, SCU8C, 18),
  2168. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, C12, B11, SCU8C, 18),
  2169. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V20, AA20, SCU8C, 18),
  2170. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, V20, AA20, SCU8C, 18),
  2171. /* GPIOD, GPIOY */
  2172. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, F19, C21, SCU8C, 19),
  2173. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, F19, C21, SCU8C, 19),
  2174. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, R22, P20, SCU8C, 19),
  2175. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, R22, P20, SCU8C, 19),
  2176. /* GPIOE, GPIOZ */
  2177. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, B20, B19, SCU8C, 20),
  2178. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, B20, B19, SCU8C, 20),
  2179. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, Y20, W21, SCU8C, 20),
  2180. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, Y20, W21, SCU8C, 20),
  2181. /* GPIOF, GPIOAA */
  2182. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, J19, H18, SCU8C, 21),
  2183. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, J19, H18, SCU8C, 21),
  2184. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, Y21, P19, SCU8C, 21),
  2185. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, Y21, P19, SCU8C, 21),
  2186. /* GPIOG, GPIOAB */
  2187. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A19, E14, SCU8C, 22),
  2188. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, A19, E14, SCU8C, 22),
  2189. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, N19, R20, SCU8C, 22),
  2190. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, N19, R20, SCU8C, 22),
  2191. /* GPIOH, GPIOAC */
  2192. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, A18, D18, SCU8C, 23),
  2193. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, A18, D18, SCU8C, 23),
  2194. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, G21, G22, SCU8C, 23),
  2195. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, G21, G22, SCU8C, 23),
  2196. /* GPIOs [I, P] */
  2197. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, C18, A15, SCU8C, 24),
  2198. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, C18, A15, SCU8C, 24),
  2199. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, R2, T3, SCU8C, 25),
  2200. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, R2, T3, SCU8C, 25),
  2201. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, L3, R1, SCU8C, 26),
  2202. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, L3, R1, SCU8C, 26),
  2203. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, T2, W1, SCU8C, 27),
  2204. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, T2, W1, SCU8C, 27),
  2205. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, Y1, T5, SCU8C, 28),
  2206. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, Y1, T5, SCU8C, 28),
  2207. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V2, T4, SCU8C, 29),
  2208. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, V2, T4, SCU8C, 29),
  2209. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, U5, W4, SCU8C, 30),
  2210. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, U5, W4, SCU8C, 30),
  2211. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, V4, V6, SCU8C, 31),
  2212. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, V4, V6, SCU8C, 31),
  2213. /* GPIOs T[0-5] (RGMII1 Tx pins) */
  2214. ASPEED_SB_PINCONF(PIN_CONFIG_DRIVE_STRENGTH, B5, B5, SCU90, 8),
  2215. ASPEED_SB_PINCONF(PIN_CONFIG_DRIVE_STRENGTH, E9, A5, SCU90, 9),
  2216. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, B5, D7, SCU90, 12),
  2217. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, B5, D7, SCU90, 12),
  2218. /* GPIOs T[6-7], U[0-3] (RGMII2 TX pins) */
  2219. ASPEED_SB_PINCONF(PIN_CONFIG_DRIVE_STRENGTH, B2, B2, SCU90, 10),
  2220. ASPEED_SB_PINCONF(PIN_CONFIG_DRIVE_STRENGTH, B1, B3, SCU90, 11),
  2221. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, B2, D4, SCU90, 14),
  2222. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, B2, D4, SCU90, 14),
  2223. /* GPIOs U[4-7], V[0-1] (RGMII1 Rx pins) */
  2224. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, B4, C4, SCU90, 13),
  2225. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, B4, C4, SCU90, 13),
  2226. /* GPIOs V[2-7] (RGMII2 Rx pins) */
  2227. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, C2, E6, SCU90, 15),
  2228. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, C2, E6, SCU90, 15),
  2229. /* ADC pull-downs (SCUA8[19:4]) */
  2230. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, F4, F4, SCUA8, 4),
  2231. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, F4, F4, SCUA8, 4),
  2232. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, F5, F5, SCUA8, 5),
  2233. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, F5, F5, SCUA8, 5),
  2234. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, E2, E2, SCUA8, 6),
  2235. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, E2, E2, SCUA8, 6),
  2236. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, E1, E1, SCUA8, 7),
  2237. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, E1, E1, SCUA8, 7),
  2238. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, F3, F3, SCUA8, 8),
  2239. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, F3, F3, SCUA8, 8),
  2240. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, E3, E3, SCUA8, 9),
  2241. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, E3, E3, SCUA8, 9),
  2242. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, G5, G5, SCUA8, 10),
  2243. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, G5, G5, SCUA8, 10),
  2244. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, G4, G4, SCUA8, 11),
  2245. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, G4, G4, SCUA8, 11),
  2246. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, F2, F2, SCUA8, 12),
  2247. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, F2, F2, SCUA8, 12),
  2248. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, G3, G3, SCUA8, 13),
  2249. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, G3, G3, SCUA8, 13),
  2250. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, G2, G2, SCUA8, 14),
  2251. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, G2, G2, SCUA8, 14),
  2252. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, F1, F1, SCUA8, 15),
  2253. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, F1, F1, SCUA8, 15),
  2254. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, H5, H5, SCUA8, 16),
  2255. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, H5, H5, SCUA8, 16),
  2256. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, G1, G1, SCUA8, 17),
  2257. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, G1, G1, SCUA8, 17),
  2258. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, H3, H3, SCUA8, 18),
  2259. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, H3, H3, SCUA8, 18),
  2260. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, H4, H4, SCUA8, 19),
  2261. ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, H4, H4, SCUA8, 19),
  2262. /*
  2263. * Debounce settings for GPIOs D and E passthrough mode are in
  2264. * SCUA8[27:20] and so are managed by pinctrl. Normal GPIO debounce for
  2265. * banks D and E is handled by the GPIO driver - GPIO passthrough is
  2266. * treated like any other non-GPIO mux function. There is a catch
  2267. * however, in that the debounce period is configured in the GPIO
  2268. * controller. Due to this tangle between GPIO and pinctrl we don't yet
  2269. * fully support pass-through debounce.
  2270. */
  2271. ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, F19, E21, SCUA8, 20),
  2272. ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, F20, D20, SCUA8, 21),
  2273. ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, D21, E20, SCUA8, 22),
  2274. ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, G18, C21, SCUA8, 23),
  2275. ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, B20, C20, SCUA8, 24),
  2276. ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, F18, F17, SCUA8, 25),
  2277. ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, E18, D19, SCUA8, 26),
  2278. ASPEED_SB_PINCONF(PIN_CONFIG_INPUT_DEBOUNCE, A20, B19, SCUA8, 27),
  2279. };
  2280. static struct regmap *aspeed_g5_acquire_regmap(struct aspeed_pinmux_data *ctx,
  2281. int ip)
  2282. {
  2283. if (ip == ASPEED_IP_SCU) {
  2284. WARN(!ctx->maps[ip], "Missing SCU syscon!");
  2285. return ctx->maps[ip];
  2286. }
  2287. if (ip >= ASPEED_NR_PINMUX_IPS)
  2288. return ERR_PTR(-EINVAL);
  2289. if (likely(ctx->maps[ip]))
  2290. return ctx->maps[ip];
  2291. if (ip == ASPEED_IP_GFX) {
  2292. struct device_node *node;
  2293. struct regmap *map;
  2294. node = of_parse_phandle(ctx->dev->of_node,
  2295. "aspeed,external-nodes", 0);
  2296. if (node) {
  2297. map = syscon_node_to_regmap(node);
  2298. of_node_put(node);
  2299. if (IS_ERR(map))
  2300. return map;
  2301. } else
  2302. return ERR_PTR(-ENODEV);
  2303. ctx->maps[ASPEED_IP_GFX] = map;
  2304. dev_dbg(ctx->dev, "Acquired GFX regmap");
  2305. return map;
  2306. }
  2307. if (ip == ASPEED_IP_LPC) {
  2308. struct device_node *np;
  2309. struct regmap *map;
  2310. np = of_parse_phandle(ctx->dev->of_node,
  2311. "aspeed,external-nodes", 1);
  2312. if (np) {
  2313. if (!of_device_is_compatible(np->parent, "aspeed,ast2400-lpc-v2") &&
  2314. !of_device_is_compatible(np->parent, "aspeed,ast2500-lpc-v2") &&
  2315. !of_device_is_compatible(np->parent, "aspeed,ast2600-lpc-v2"))
  2316. return ERR_PTR(-ENODEV);
  2317. map = syscon_node_to_regmap(np->parent);
  2318. of_node_put(np);
  2319. if (IS_ERR(map))
  2320. return map;
  2321. } else
  2322. return ERR_PTR(-ENODEV);
  2323. ctx->maps[ASPEED_IP_LPC] = map;
  2324. dev_dbg(ctx->dev, "Acquired LPC regmap");
  2325. return map;
  2326. }
  2327. return ERR_PTR(-EINVAL);
  2328. }
  2329. static int aspeed_g5_sig_expr_eval(struct aspeed_pinmux_data *ctx,
  2330. const struct aspeed_sig_expr *expr,
  2331. bool enabled)
  2332. {
  2333. int ret;
  2334. int i;
  2335. for (i = 0; i < expr->ndescs; i++) {
  2336. const struct aspeed_sig_desc *desc = &expr->descs[i];
  2337. struct regmap *map;
  2338. map = aspeed_g5_acquire_regmap(ctx, desc->ip);
  2339. if (IS_ERR(map)) {
  2340. dev_err(ctx->dev,
  2341. "Failed to acquire regmap for IP block %d\n",
  2342. desc->ip);
  2343. return PTR_ERR(map);
  2344. }
  2345. ret = aspeed_sig_desc_eval(desc, enabled, ctx->maps[desc->ip]);
  2346. if (ret <= 0)
  2347. return ret;
  2348. }
  2349. return 1;
  2350. }
  2351. /**
  2352. * aspeed_g5_sig_expr_set() - Configure a pin's signal by applying an
  2353. * expression's descriptor state for all descriptors in the expression.
  2354. *
  2355. * @ctx: The pinmux context
  2356. * @expr: The expression associated with the function whose signal is to be
  2357. * configured
  2358. * @enable: true to enable an function's signal through a pin's signal
  2359. * expression, false to disable the function's signal
  2360. *
  2361. * Return: 0 if the expression is configured as requested and a negative error
  2362. * code otherwise
  2363. */
  2364. static int aspeed_g5_sig_expr_set(struct aspeed_pinmux_data *ctx,
  2365. const struct aspeed_sig_expr *expr,
  2366. bool enable)
  2367. {
  2368. int ret;
  2369. int i;
  2370. for (i = 0; i < expr->ndescs; i++) {
  2371. const struct aspeed_sig_desc *desc = &expr->descs[i];
  2372. u32 pattern = enable ? desc->enable : desc->disable;
  2373. u32 val = (pattern << __ffs(desc->mask));
  2374. struct regmap *map;
  2375. map = aspeed_g5_acquire_regmap(ctx, desc->ip);
  2376. if (IS_ERR(map)) {
  2377. dev_err(ctx->dev,
  2378. "Failed to acquire regmap for IP block %d\n",
  2379. desc->ip);
  2380. return PTR_ERR(map);
  2381. }
  2382. /*
  2383. * Strap registers are configured in hardware or by early-boot
  2384. * firmware. Treat them as read-only despite that we can write
  2385. * them. This may mean that certain functions cannot be
  2386. * deconfigured and is the reason we re-evaluate after writing
  2387. * all descriptor bits.
  2388. *
  2389. * Port D and port E GPIO loopback modes are the only exception
  2390. * as those are commonly used with front-panel buttons to allow
  2391. * normal operation of the host when the BMC is powered off or
  2392. * fails to boot. Once the BMC has booted, the loopback mode
  2393. * must be disabled for the BMC to control host power-on and
  2394. * reset.
  2395. */
  2396. if (desc->ip == ASPEED_IP_SCU && desc->reg == HW_STRAP1 &&
  2397. !(desc->mask & (BIT(21) | BIT(22))))
  2398. continue;
  2399. if (desc->ip == ASPEED_IP_SCU && desc->reg == HW_STRAP2)
  2400. continue;
  2401. /* On AST2500, Set bits in SCU70 are cleared from SCU7C */
  2402. if (desc->ip == ASPEED_IP_SCU && desc->reg == HW_STRAP1) {
  2403. u32 value = ~val & desc->mask;
  2404. if (value) {
  2405. ret = regmap_write(ctx->maps[desc->ip],
  2406. HW_REVISION_ID, value);
  2407. if (ret < 0)
  2408. return ret;
  2409. }
  2410. }
  2411. ret = regmap_update_bits(ctx->maps[desc->ip], desc->reg,
  2412. desc->mask, val);
  2413. if (ret)
  2414. return ret;
  2415. }
  2416. ret = aspeed_sig_expr_eval(ctx, expr, enable);
  2417. if (ret < 0)
  2418. return ret;
  2419. if (!ret)
  2420. return -EPERM;
  2421. return 0;
  2422. }
  2423. static const struct aspeed_pin_config_map aspeed_g5_pin_config_map[] = {
  2424. { PIN_CONFIG_BIAS_PULL_DOWN, 0, 1, BIT_MASK(0)},
  2425. { PIN_CONFIG_BIAS_PULL_DOWN, -1, 0, BIT_MASK(0)},
  2426. { PIN_CONFIG_BIAS_DISABLE, -1, 1, BIT_MASK(0)},
  2427. { PIN_CONFIG_DRIVE_STRENGTH, 8, 0, BIT_MASK(0)},
  2428. { PIN_CONFIG_DRIVE_STRENGTH, 16, 1, BIT_MASK(0)},
  2429. };
  2430. static const struct aspeed_pinmux_ops aspeed_g5_ops = {
  2431. .eval = aspeed_g5_sig_expr_eval,
  2432. .set = aspeed_g5_sig_expr_set,
  2433. };
  2434. static struct aspeed_pinctrl_data aspeed_g5_pinctrl_data = {
  2435. .pins = aspeed_g5_pins,
  2436. .npins = ARRAY_SIZE(aspeed_g5_pins),
  2437. .pinmux = {
  2438. .ops = &aspeed_g5_ops,
  2439. .groups = aspeed_g5_groups,
  2440. .ngroups = ARRAY_SIZE(aspeed_g5_groups),
  2441. .functions = aspeed_g5_functions,
  2442. .nfunctions = ARRAY_SIZE(aspeed_g5_functions),
  2443. },
  2444. .configs = aspeed_g5_configs,
  2445. .nconfigs = ARRAY_SIZE(aspeed_g5_configs),
  2446. .confmaps = aspeed_g5_pin_config_map,
  2447. .nconfmaps = ARRAY_SIZE(aspeed_g5_pin_config_map),
  2448. };
  2449. static const struct pinmux_ops aspeed_g5_pinmux_ops = {
  2450. .get_functions_count = aspeed_pinmux_get_fn_count,
  2451. .get_function_name = aspeed_pinmux_get_fn_name,
  2452. .get_function_groups = aspeed_pinmux_get_fn_groups,
  2453. .set_mux = aspeed_pinmux_set_mux,
  2454. .gpio_request_enable = aspeed_gpio_request_enable,
  2455. .strict = true,
  2456. };
  2457. static const struct pinctrl_ops aspeed_g5_pinctrl_ops = {
  2458. .get_groups_count = aspeed_pinctrl_get_groups_count,
  2459. .get_group_name = aspeed_pinctrl_get_group_name,
  2460. .get_group_pins = aspeed_pinctrl_get_group_pins,
  2461. .pin_dbg_show = aspeed_pinctrl_pin_dbg_show,
  2462. .dt_node_to_map = pinconf_generic_dt_node_to_map_all,
  2463. .dt_free_map = pinctrl_utils_free_map,
  2464. };
  2465. static const struct pinconf_ops aspeed_g5_conf_ops = {
  2466. .is_generic = true,
  2467. .pin_config_get = aspeed_pin_config_get,
  2468. .pin_config_set = aspeed_pin_config_set,
  2469. .pin_config_group_get = aspeed_pin_config_group_get,
  2470. .pin_config_group_set = aspeed_pin_config_group_set,
  2471. };
  2472. static struct pinctrl_desc aspeed_g5_pinctrl_desc = {
  2473. .name = "aspeed-g5-pinctrl",
  2474. .pins = aspeed_g5_pins,
  2475. .npins = ARRAY_SIZE(aspeed_g5_pins),
  2476. .pctlops = &aspeed_g5_pinctrl_ops,
  2477. .pmxops = &aspeed_g5_pinmux_ops,
  2478. .confops = &aspeed_g5_conf_ops,
  2479. };
  2480. static int aspeed_g5_pinctrl_probe(struct platform_device *pdev)
  2481. {
  2482. int i;
  2483. for (i = 0; i < ARRAY_SIZE(aspeed_g5_pins); i++)
  2484. aspeed_g5_pins[i].number = i;
  2485. aspeed_g5_pinctrl_data.pinmux.dev = &pdev->dev;
  2486. return aspeed_pinctrl_probe(pdev, &aspeed_g5_pinctrl_desc,
  2487. &aspeed_g5_pinctrl_data);
  2488. }
  2489. static const struct of_device_id aspeed_g5_pinctrl_of_match[] = {
  2490. { .compatible = "aspeed,ast2500-pinctrl", },
  2491. /*
  2492. * The aspeed,g5-pinctrl compatible has been removed the from the
  2493. * bindings, but keep the match in case of old devicetrees.
  2494. */
  2495. { .compatible = "aspeed,g5-pinctrl", },
  2496. { },
  2497. };
  2498. static struct platform_driver aspeed_g5_pinctrl_driver = {
  2499. .probe = aspeed_g5_pinctrl_probe,
  2500. .driver = {
  2501. .name = "aspeed-g5-pinctrl",
  2502. .of_match_table = aspeed_g5_pinctrl_of_match,
  2503. },
  2504. };
  2505. static int aspeed_g5_pinctrl_init(void)
  2506. {
  2507. return platform_driver_register(&aspeed_g5_pinctrl_driver);
  2508. }
  2509. arch_initcall(aspeed_g5_pinctrl_init);