pinctrl-aspeed-g5.c 101 KB

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