pinctrl-aspeed-g4.c 83 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470
  1. /*
  2. * Copyright (C) 2016 IBM Corp.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. */
  9. #include <linux/bitops.h>
  10. #include <linux/init.h>
  11. #include <linux/io.h>
  12. #include <linux/kernel.h>
  13. #include <linux/mutex.h>
  14. #include <linux/of.h>
  15. #include <linux/platform_device.h>
  16. #include <linux/pinctrl/pinctrl.h>
  17. #include <linux/pinctrl/pinmux.h>
  18. #include <linux/pinctrl/pinconf.h>
  19. #include <linux/pinctrl/pinconf-generic.h>
  20. #include <linux/string.h>
  21. #include <linux/types.h>
  22. #include "../core.h"
  23. #include "../pinctrl-utils.h"
  24. #include "pinctrl-aspeed.h"
  25. /*
  26. * Uses undefined macros for symbol naming and references, eg GPIOA0, MAC1LINK,
  27. * TIMER3 etc.
  28. *
  29. * Pins are defined in GPIO bank order:
  30. *
  31. * GPIOA0: 0
  32. * ...
  33. * GPIOA7: 7
  34. * GPIOB0: 8
  35. * ...
  36. * GPIOZ7: 207
  37. * GPIOAA0: 208
  38. * ...
  39. * GPIOAB3: 219
  40. *
  41. * Not all pins have their signals defined (yet).
  42. */
  43. #define D6 0
  44. SSSF_PIN_DECL(D6, GPIOA0, MAC1LINK, SIG_DESC_SET(SCU80, 0));
  45. #define B5 1
  46. SSSF_PIN_DECL(B5, GPIOA1, MAC2LINK, SIG_DESC_SET(SCU80, 1));
  47. #define A4 2
  48. SSSF_PIN_DECL(A4, GPIOA2, TIMER3, SIG_DESC_SET(SCU80, 2));
  49. #define E6 3
  50. SSSF_PIN_DECL(E6, GPIOA3, TIMER4, SIG_DESC_SET(SCU80, 3));
  51. #define I2C9_DESC SIG_DESC_SET(SCU90, 22)
  52. #define C5 4
  53. SIG_EXPR_LIST_DECL_SINGLE(SCL9, I2C9, I2C9_DESC);
  54. SIG_EXPR_LIST_DECL_SINGLE(TIMER5, TIMER5, SIG_DESC_SET(SCU80, 4));
  55. MS_PIN_DECL(C5, GPIOA4, SCL9, TIMER5);
  56. FUNC_GROUP_DECL(TIMER5, C5);
  57. #define B4 5
  58. SIG_EXPR_LIST_DECL_SINGLE(SDA9, I2C9, I2C9_DESC);
  59. SIG_EXPR_LIST_DECL_SINGLE(TIMER6, TIMER6, SIG_DESC_SET(SCU80, 5));
  60. MS_PIN_DECL(B4, GPIOA5, SDA9, TIMER6);
  61. FUNC_GROUP_DECL(TIMER6, B4);
  62. FUNC_GROUP_DECL(I2C9, C5, B4);
  63. #define MDIO2_DESC SIG_DESC_SET(SCU90, 2)
  64. #define A3 6
  65. SIG_EXPR_LIST_DECL_SINGLE(MDC2, MDIO2, MDIO2_DESC);
  66. SIG_EXPR_LIST_DECL_SINGLE(TIMER7, TIMER7, SIG_DESC_SET(SCU80, 6));
  67. MS_PIN_DECL(A3, GPIOA6, MDC2, TIMER7);
  68. FUNC_GROUP_DECL(TIMER7, A3);
  69. #define D5 7
  70. SIG_EXPR_LIST_DECL_SINGLE(MDIO2, MDIO2, MDIO2_DESC);
  71. SIG_EXPR_LIST_DECL_SINGLE(TIMER8, TIMER8, SIG_DESC_SET(SCU80, 7));
  72. MS_PIN_DECL(D5, GPIOA7, MDIO2, TIMER8);
  73. FUNC_GROUP_DECL(TIMER8, D5);
  74. FUNC_GROUP_DECL(MDIO2, A3, D5);
  75. #define J21 8
  76. SSSF_PIN_DECL(J21, GPIOB0, SALT1, SIG_DESC_SET(SCU80, 8));
  77. #define J20 9
  78. SSSF_PIN_DECL(J20, GPIOB1, SALT2, SIG_DESC_SET(SCU80, 9));
  79. #define H18 10
  80. SSSF_PIN_DECL(H18, GPIOB2, SALT3, SIG_DESC_SET(SCU80, 10));
  81. #define F18 11
  82. SSSF_PIN_DECL(F18, GPIOB3, SALT4, SIG_DESC_SET(SCU80, 11));
  83. #define E19 12
  84. SIG_EXPR_DECL(LPCRST, LPCRST, SIG_DESC_SET(SCU80, 12));
  85. SIG_EXPR_DECL(LPCRST, LPCRSTS, SIG_DESC_SET(HW_STRAP1, 14));
  86. SIG_EXPR_LIST_DECL_DUAL(LPCRST, LPCRST, LPCRSTS);
  87. SS_PIN_DECL(E19, GPIOB4, LPCRST);
  88. FUNC_GROUP_DECL(LPCRST, E19);
  89. #define H19 13
  90. #define H19_DESC SIG_DESC_SET(SCU80, 13)
  91. SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC);
  92. SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC);
  93. MS_PIN_DECL(H19, GPIOB5, LPCPD, LPCSMI);
  94. FUNC_GROUP_DECL(LPCPD, H19);
  95. FUNC_GROUP_DECL(LPCSMI, H19);
  96. #define H20 14
  97. SSSF_PIN_DECL(H20, GPIOB6, LPCPME, SIG_DESC_SET(SCU80, 14));
  98. #define E18 15
  99. SIG_EXPR_LIST_DECL_SINGLE(EXTRST, EXTRST,
  100. SIG_DESC_SET(SCU80, 15),
  101. SIG_DESC_BIT(SCU90, 31, 0),
  102. SIG_DESC_SET(SCU3C, 3));
  103. SIG_EXPR_LIST_DECL_SINGLE(SPICS1, SPICS1,
  104. SIG_DESC_SET(SCU80, 15),
  105. SIG_DESC_SET(SCU90, 31));
  106. MS_PIN_DECL(E18, GPIOB7, EXTRST, SPICS1);
  107. FUNC_GROUP_DECL(EXTRST, E18);
  108. FUNC_GROUP_DECL(SPICS1, E18);
  109. #define SD1_DESC SIG_DESC_SET(SCU90, 0)
  110. #define I2C10_DESC SIG_DESC_SET(SCU90, 23)
  111. #define C4 16
  112. SIG_EXPR_LIST_DECL_SINGLE(SD1CLK, SD1, SD1_DESC);
  113. SIG_EXPR_LIST_DECL_SINGLE(SCL10, I2C10, I2C10_DESC);
  114. MS_PIN_DECL(C4, GPIOC0, SD1CLK, SCL10);
  115. #define B3 17
  116. SIG_EXPR_LIST_DECL_SINGLE(SD1CMD, SD1, SD1_DESC);
  117. SIG_EXPR_LIST_DECL_SINGLE(SDA10, I2C10, I2C10_DESC);
  118. MS_PIN_DECL(B3, GPIOC1, SD1CMD, SDA10);
  119. FUNC_GROUP_DECL(I2C10, C4, B3);
  120. #define I2C11_DESC SIG_DESC_SET(SCU90, 24)
  121. #define A2 18
  122. SIG_EXPR_LIST_DECL_SINGLE(SD1DAT0, SD1, SD1_DESC);
  123. SIG_EXPR_LIST_DECL_SINGLE(SCL11, I2C11, I2C11_DESC);
  124. MS_PIN_DECL(A2, GPIOC2, SD1DAT0, SCL11);
  125. #define E5 19
  126. SIG_EXPR_LIST_DECL_SINGLE(SD1DAT1, SD1, SD1_DESC);
  127. SIG_EXPR_LIST_DECL_SINGLE(SDA11, I2C11, I2C11_DESC);
  128. MS_PIN_DECL(E5, GPIOC3, SD1DAT1, SDA11);
  129. FUNC_GROUP_DECL(I2C11, A2, E5);
  130. #define I2C12_DESC SIG_DESC_SET(SCU90, 25)
  131. #define D4 20
  132. SIG_EXPR_LIST_DECL_SINGLE(SD1DAT2, SD1, SD1_DESC);
  133. SIG_EXPR_LIST_DECL_SINGLE(SCL12, I2C12, I2C12_DESC);
  134. MS_PIN_DECL(D4, GPIOC4, SD1DAT2, SCL12);
  135. #define C3 21
  136. SIG_EXPR_LIST_DECL_SINGLE(SD1DAT3, SD1, SD1_DESC);
  137. SIG_EXPR_LIST_DECL_SINGLE(SDA12, I2C12, I2C12_DESC);
  138. MS_PIN_DECL(C3, GPIOC5, SD1DAT3, SDA12);
  139. FUNC_GROUP_DECL(I2C12, D4, C3);
  140. #define I2C13_DESC SIG_DESC_SET(SCU90, 26)
  141. #define B2 22
  142. SIG_EXPR_LIST_DECL_SINGLE(SD1CD, SD1, SD1_DESC);
  143. SIG_EXPR_LIST_DECL_SINGLE(SCL13, I2C13, I2C13_DESC);
  144. MS_PIN_DECL(B2, GPIOC6, SD1CD, SCL13);
  145. #define A1 23
  146. SIG_EXPR_LIST_DECL_SINGLE(SD1WP, SD1, SD1_DESC);
  147. SIG_EXPR_LIST_DECL_SINGLE(SDA13, I2C13, I2C13_DESC);
  148. MS_PIN_DECL(A1, GPIOC7, SD1WP, SDA13);
  149. FUNC_GROUP_DECL(I2C13, B2, A1);
  150. FUNC_GROUP_DECL(SD1, C4, B3, A2, E5, D4, C3, B2, A1);
  151. #define SD2_DESC SIG_DESC_SET(SCU90, 1)
  152. #define GPID_DESC SIG_DESC_SET(HW_STRAP1, 21)
  153. #define GPID0_DESC SIG_DESC_SET(SCU8C, 8)
  154. #define A18 24
  155. SIG_EXPR_LIST_DECL_SINGLE(SD2CLK, SD2, SD2_DESC);
  156. SIG_EXPR_DECL(GPID0IN, GPID0, GPID0_DESC);
  157. SIG_EXPR_DECL(GPID0IN, GPID, GPID_DESC);
  158. SIG_EXPR_LIST_DECL_DUAL(GPID0IN, GPID0, GPID);
  159. MS_PIN_DECL(A18, GPIOD0, SD2CLK, GPID0IN);
  160. #define D16 25
  161. SIG_EXPR_LIST_DECL_SINGLE(SD2CMD, SD2, SD2_DESC);
  162. SIG_EXPR_DECL(GPID0OUT, GPID0, GPID0_DESC);
  163. SIG_EXPR_DECL(GPID0OUT, GPID, GPID_DESC);
  164. SIG_EXPR_LIST_DECL_DUAL(GPID0OUT, GPID0, GPID);
  165. MS_PIN_DECL(D16, GPIOD1, SD2CMD, GPID0OUT);
  166. FUNC_GROUP_DECL(GPID0, A18, D16);
  167. #define GPID2_DESC SIG_DESC_SET(SCU8C, 9)
  168. #define B17 26
  169. SIG_EXPR_LIST_DECL_SINGLE(SD2DAT0, SD2, SD2_DESC);
  170. SIG_EXPR_DECL(GPID2IN, GPID2, GPID2_DESC);
  171. SIG_EXPR_DECL(GPID2IN, GPID, GPID_DESC);
  172. SIG_EXPR_LIST_DECL_DUAL(GPID2IN, GPID2, GPID);
  173. MS_PIN_DECL(B17, GPIOD2, SD2DAT0, GPID2IN);
  174. #define A17 27
  175. SIG_EXPR_LIST_DECL_SINGLE(SD2DAT1, SD2, SD2_DESC);
  176. SIG_EXPR_DECL(GPID2OUT, GPID2, GPID2_DESC);
  177. SIG_EXPR_DECL(GPID2OUT, GPID, GPID_DESC);
  178. SIG_EXPR_LIST_DECL_DUAL(GPID2OUT, GPID2, GPID);
  179. MS_PIN_DECL(A17, GPIOD3, SD2DAT1, GPID2OUT);
  180. FUNC_GROUP_DECL(GPID2, B17, A17);
  181. #define GPID4_DESC SIG_DESC_SET(SCU8C, 10)
  182. #define C16 28
  183. SIG_EXPR_LIST_DECL_SINGLE(SD2DAT2, SD2, SD2_DESC);
  184. SIG_EXPR_DECL(GPID4IN, GPID4, GPID4_DESC);
  185. SIG_EXPR_DECL(GPID4IN, GPID, GPID_DESC);
  186. SIG_EXPR_LIST_DECL_DUAL(GPID4IN, GPID4, GPID);
  187. MS_PIN_DECL(C16, GPIOD4, SD2DAT2, GPID4IN);
  188. #define B16 29
  189. SIG_EXPR_LIST_DECL_SINGLE(SD2DAT3, SD2, SD2_DESC);
  190. SIG_EXPR_DECL(GPID4OUT, GPID4, GPID4_DESC);
  191. SIG_EXPR_DECL(GPID4OUT, GPID, GPID_DESC);
  192. SIG_EXPR_LIST_DECL_DUAL(GPID4OUT, GPID4, GPID);
  193. MS_PIN_DECL(B16, GPIOD5, SD2DAT3, GPID4OUT);
  194. FUNC_GROUP_DECL(GPID4, C16, B16);
  195. #define GPID6_DESC SIG_DESC_SET(SCU8C, 11)
  196. #define A16 30
  197. SIG_EXPR_LIST_DECL_SINGLE(SD2CD, SD2, SD2_DESC);
  198. SIG_EXPR_DECL(GPID6IN, GPID6, GPID6_DESC);
  199. SIG_EXPR_DECL(GPID6IN, GPID, GPID_DESC);
  200. SIG_EXPR_LIST_DECL_DUAL(GPID6IN, GPID6, GPID);
  201. MS_PIN_DECL(A16, GPIOD6, SD2CD, GPID6IN);
  202. #define E15 31
  203. SIG_EXPR_LIST_DECL_SINGLE(SD2WP, SD2, SD2_DESC);
  204. SIG_EXPR_DECL(GPID6OUT, GPID6, GPID6_DESC);
  205. SIG_EXPR_DECL(GPID6OUT, GPID, GPID_DESC);
  206. SIG_EXPR_LIST_DECL_DUAL(GPID6OUT, GPID6, GPID);
  207. MS_PIN_DECL(E15, GPIOD7, SD2WP, GPID6OUT);
  208. FUNC_GROUP_DECL(GPID6, A16, E15);
  209. FUNC_GROUP_DECL(SD2, A18, D16, B17, A17, C16, B16, A16, E15);
  210. FUNC_GROUP_DECL(GPID, A18, D16, B17, A17, C16, B16, A16, E15);
  211. #define GPIE_DESC SIG_DESC_SET(HW_STRAP1, 22)
  212. #define GPIE0_DESC SIG_DESC_SET(SCU8C, 12)
  213. #define GPIE2_DESC SIG_DESC_SET(SCU8C, 13)
  214. #define GPIE4_DESC SIG_DESC_SET(SCU8C, 14)
  215. #define GPIE6_DESC SIG_DESC_SET(SCU8C, 15)
  216. #define D15 32
  217. SIG_EXPR_LIST_DECL_SINGLE(NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16));
  218. SIG_EXPR_DECL(GPIE0IN, GPIE0, GPIE0_DESC);
  219. SIG_EXPR_DECL(GPIE0IN, GPIE, GPIE_DESC);
  220. SIG_EXPR_LIST_DECL_DUAL(GPIE0IN, GPIE0, GPIE);
  221. MS_PIN_DECL(D15, GPIOE0, NCTS3, GPIE0IN);
  222. FUNC_GROUP_DECL(NCTS3, D15);
  223. #define C15 33
  224. SIG_EXPR_LIST_DECL_SINGLE(NDCD3, NDCD3, SIG_DESC_SET(SCU80, 17));
  225. SIG_EXPR_DECL(GPIE0OUT, GPIE0, GPIE0_DESC);
  226. SIG_EXPR_DECL(GPIE0OUT, GPIE, GPIE_DESC);
  227. SIG_EXPR_LIST_DECL_DUAL(GPIE0OUT, GPIE0, GPIE);
  228. MS_PIN_DECL(C15, GPIOE1, NDCD3, GPIE0OUT);
  229. FUNC_GROUP_DECL(NDCD3, C15);
  230. FUNC_GROUP_DECL(GPIE0, D15, C15);
  231. #define B15 34
  232. SIG_EXPR_LIST_DECL_SINGLE(NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18));
  233. SIG_EXPR_DECL(GPIE2IN, GPIE2, GPIE2_DESC);
  234. SIG_EXPR_DECL(GPIE2IN, GPIE, GPIE_DESC);
  235. SIG_EXPR_LIST_DECL_DUAL(GPIE2IN, GPIE2, GPIE);
  236. MS_PIN_DECL(B15, GPIOE2, NDSR3, GPIE2IN);
  237. FUNC_GROUP_DECL(NDSR3, B15);
  238. #define A15 35
  239. SIG_EXPR_LIST_DECL_SINGLE(NRI3, NRI3, SIG_DESC_SET(SCU80, 19));
  240. SIG_EXPR_DECL(GPIE2OUT, GPIE2, GPIE2_DESC);
  241. SIG_EXPR_DECL(GPIE2OUT, GPIE, GPIE_DESC);
  242. SIG_EXPR_LIST_DECL_DUAL(GPIE2OUT, GPIE2, GPIE);
  243. MS_PIN_DECL(A15, GPIOE3, NRI3, GPIE2OUT);
  244. FUNC_GROUP_DECL(NRI3, A15);
  245. FUNC_GROUP_DECL(GPIE2, B15, A15);
  246. #define E14 36
  247. SIG_EXPR_LIST_DECL_SINGLE(NDTR3, NDTR3, SIG_DESC_SET(SCU80, 20));
  248. SIG_EXPR_DECL(GPIE4IN, GPIE4, GPIE4_DESC);
  249. SIG_EXPR_DECL(GPIE4IN, GPIE, GPIE_DESC);
  250. SIG_EXPR_LIST_DECL_DUAL(GPIE4IN, GPIE4, GPIE);
  251. MS_PIN_DECL(E14, GPIOE4, NDTR3, GPIE4IN);
  252. FUNC_GROUP_DECL(NDTR3, E14);
  253. #define D14 37
  254. SIG_EXPR_LIST_DECL_SINGLE(NRTS3, NRTS3, SIG_DESC_SET(SCU80, 21));
  255. SIG_EXPR_DECL(GPIE4OUT, GPIE4, GPIE4_DESC);
  256. SIG_EXPR_DECL(GPIE4OUT, GPIE, GPIE_DESC);
  257. SIG_EXPR_LIST_DECL_DUAL(GPIE4OUT, GPIE4, GPIE);
  258. MS_PIN_DECL(D14, GPIOE5, NRTS3, GPIE4OUT);
  259. FUNC_GROUP_DECL(NRTS3, D14);
  260. FUNC_GROUP_DECL(GPIE4, E14, D14);
  261. #define C14 38
  262. SIG_EXPR_LIST_DECL_SINGLE(TXD3, TXD3, SIG_DESC_SET(SCU80, 22));
  263. SIG_EXPR_DECL(GPIE6IN, GPIE6, GPIE6_DESC);
  264. SIG_EXPR_DECL(GPIE6IN, GPIE, GPIE_DESC);
  265. SIG_EXPR_LIST_DECL_DUAL(GPIE6IN, GPIE6, GPIE);
  266. MS_PIN_DECL(C14, GPIOE6, TXD3, GPIE6IN);
  267. FUNC_GROUP_DECL(TXD3, C14);
  268. #define B14 39
  269. SIG_EXPR_LIST_DECL_SINGLE(RXD3, RXD3, SIG_DESC_SET(SCU80, 23));
  270. SIG_EXPR_DECL(GPIE6OUT, GPIE6, GPIE6_DESC);
  271. SIG_EXPR_DECL(GPIE6OUT, GPIE, GPIE_DESC);
  272. SIG_EXPR_LIST_DECL_DUAL(GPIE6OUT, GPIE6, GPIE);
  273. MS_PIN_DECL(B14, GPIOE7, RXD3, GPIE6OUT);
  274. FUNC_GROUP_DECL(RXD3, B14);
  275. FUNC_GROUP_DECL(GPIE6, C14, B14);
  276. #define D18 40
  277. SSSF_PIN_DECL(D18, GPIOF0, NCTS4, SIG_DESC_SET(SCU80, 24));
  278. #define ACPI_DESC SIG_DESC_BIT(HW_STRAP1, 19, 0)
  279. #define B19 41
  280. SIG_EXPR_LIST_DECL_SINGLE(NDCD4, NDCD4, SIG_DESC_SET(SCU80, 25));
  281. SIG_EXPR_DECL(SIOPBI, SIOPBI, SIG_DESC_SET(SCUA4, 12));
  282. SIG_EXPR_DECL(SIOPBI, ACPI, ACPI_DESC);
  283. SIG_EXPR_LIST_DECL_DUAL(SIOPBI, SIOPBI, ACPI);
  284. MS_PIN_DECL(B19, GPIOF1, NDCD4, SIOPBI);
  285. FUNC_GROUP_DECL(NDCD4, B19);
  286. FUNC_GROUP_DECL(SIOPBI, B19);
  287. #define A20 42
  288. SIG_EXPR_LIST_DECL_SINGLE(NDSR4, NDSR4, SIG_DESC_SET(SCU80, 26));
  289. SIG_EXPR_DECL(SIOPWRGD, SIOPWRGD, SIG_DESC_SET(SCUA4, 12));
  290. SIG_EXPR_DECL(SIOPWRGD, ACPI, ACPI_DESC);
  291. SIG_EXPR_LIST_DECL_DUAL(SIOPWRGD, SIOPWRGD, ACPI);
  292. MS_PIN_DECL(A20, GPIOF2, NDSR4, SIOPWRGD);
  293. FUNC_GROUP_DECL(NDSR4, A20);
  294. FUNC_GROUP_DECL(SIOPWRGD, A20);
  295. #define D17 43
  296. SIG_EXPR_LIST_DECL_SINGLE(NRI4, NRI4, SIG_DESC_SET(SCU80, 27));
  297. SIG_EXPR_DECL(SIOPBO, SIOPBO, SIG_DESC_SET(SCUA4, 14));
  298. SIG_EXPR_DECL(SIOPBO, ACPI, ACPI_DESC);
  299. SIG_EXPR_LIST_DECL_DUAL(SIOPBO, SIOPBO, ACPI);
  300. MS_PIN_DECL(D17, GPIOF3, NRI4, SIOPBO);
  301. FUNC_GROUP_DECL(NRI4, D17);
  302. FUNC_GROUP_DECL(SIOPBO, D17);
  303. #define B18 44
  304. SSSF_PIN_DECL(B18, GPIOF4, NDTR4, SIG_DESC_SET(SCU80, 28));
  305. #define A19 45
  306. SIG_EXPR_LIST_DECL_SINGLE(NDTS4, NDTS4, SIG_DESC_SET(SCU80, 29));
  307. SIG_EXPR_DECL(SIOSCI, SIOSCI, SIG_DESC_SET(SCUA4, 15));
  308. SIG_EXPR_DECL(SIOSCI, ACPI, ACPI_DESC);
  309. SIG_EXPR_LIST_DECL_DUAL(SIOSCI, SIOSCI, ACPI);
  310. MS_PIN_DECL(A19, GPIOF5, NDTS4, SIOSCI);
  311. FUNC_GROUP_DECL(NDTS4, A19);
  312. FUNC_GROUP_DECL(SIOSCI, A19);
  313. #define E16 46
  314. SSSF_PIN_DECL(E16, GPIOF6, TXD4, SIG_DESC_SET(SCU80, 30));
  315. #define C17 47
  316. SSSF_PIN_DECL(C17, GPIOF7, RXD4, SIG_DESC_SET(SCU80, 31));
  317. #define A14 48
  318. SSSF_PIN_DECL(A14, GPIOG0, SGPSCK, SIG_DESC_SET(SCU84, 0));
  319. #define E13 49
  320. SSSF_PIN_DECL(E13, GPIOG1, SGPSLD, SIG_DESC_SET(SCU84, 1));
  321. #define D13 50
  322. SSSF_PIN_DECL(D13, GPIOG2, SGPSI0, SIG_DESC_SET(SCU84, 2));
  323. #define C13 51
  324. SSSF_PIN_DECL(C13, GPIOG3, SGPSI1, SIG_DESC_SET(SCU84, 3));
  325. #define B13 52
  326. SIG_EXPR_LIST_DECL_SINGLE(OSCCLK, OSCCLK, SIG_DESC_SET(SCU2C, 1));
  327. SIG_EXPR_LIST_DECL_SINGLE(WDTRST1, WDTRST1, SIG_DESC_SET(SCU84, 4));
  328. MS_PIN_DECL(B13, GPIOG4, OSCCLK, WDTRST1);
  329. FUNC_GROUP_DECL(OSCCLK, B13);
  330. FUNC_GROUP_DECL(WDTRST1, B13);
  331. #define Y21 53
  332. SIG_EXPR_LIST_DECL_SINGLE(USBCKI, USBCKI, SIG_DESC_SET(HW_STRAP1, 23));
  333. SIG_EXPR_LIST_DECL_SINGLE(WDTRST2, WDTRST2, SIG_DESC_SET(SCU84, 5));
  334. MS_PIN_DECL(Y21, GPIOG5, USBCKI, WDTRST2);
  335. FUNC_GROUP_DECL(USBCKI, Y21);
  336. FUNC_GROUP_DECL(WDTRST2, Y21);
  337. #define AA22 54
  338. SSSF_PIN_DECL(AA22, GPIOG6, FLBUSY, SIG_DESC_SET(SCU84, 6));
  339. #define U18 55
  340. SSSF_PIN_DECL(U18, GPIOG7, FLWP, SIG_DESC_SET(SCU84, 7));
  341. #define UART6_DESC SIG_DESC_SET(SCU90, 7)
  342. #define ROM16_DESC SIG_DESC_SET(SCU90, 6)
  343. #define FLASH_WIDE SIG_DESC_SET(HW_STRAP1, 4)
  344. #define BOOT_SRC_NOR { ASPEED_IP_SCU, HW_STRAP1, GENMASK(1, 0), 0, 0 }
  345. #define A8 56
  346. SIG_EXPR_DECL(ROMD8, ROM16, ROM16_DESC);
  347. SIG_EXPR_DECL(ROMD8, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
  348. SIG_EXPR_LIST_DECL_DUAL(ROMD8, ROM16, ROM16S);
  349. SIG_EXPR_LIST_DECL_SINGLE(NCTS6, NCTS6, UART6_DESC);
  350. MS_PIN_DECL(A8, GPIOH0, ROMD8, NCTS6);
  351. #define C7 57
  352. SIG_EXPR_DECL(ROMD9, ROM16, ROM16_DESC);
  353. SIG_EXPR_DECL(ROMD9, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
  354. SIG_EXPR_LIST_DECL_DUAL(ROMD9, ROM16, ROM16S);
  355. SIG_EXPR_LIST_DECL_SINGLE(NDCD6, NDCD6, UART6_DESC);
  356. MS_PIN_DECL(C7, GPIOH1, ROMD9, NDCD6);
  357. #define B7 58
  358. SIG_EXPR_DECL(ROMD10, ROM16, ROM16_DESC);
  359. SIG_EXPR_DECL(ROMD10, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
  360. SIG_EXPR_LIST_DECL_DUAL(ROMD10, ROM16, ROM16S);
  361. SIG_EXPR_LIST_DECL_SINGLE(NDSR6, NDSR6, UART6_DESC);
  362. MS_PIN_DECL(B7, GPIOH2, ROMD10, NDSR6);
  363. #define A7 59
  364. SIG_EXPR_DECL(ROMD11, ROM16, ROM16_DESC);
  365. SIG_EXPR_DECL(ROMD11, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
  366. SIG_EXPR_LIST_DECL_DUAL(ROMD11, ROM16, ROM16S);
  367. SIG_EXPR_LIST_DECL_SINGLE(NRI6, NRI6, UART6_DESC);
  368. MS_PIN_DECL(A7, GPIOH3, ROMD11, NRI6);
  369. #define D7 60
  370. SIG_EXPR_DECL(ROMD12, ROM16, ROM16_DESC);
  371. SIG_EXPR_DECL(ROMD12, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
  372. SIG_EXPR_LIST_DECL_DUAL(ROMD12, ROM16, ROM16S);
  373. SIG_EXPR_LIST_DECL_SINGLE(NDTR6, NDTR6, UART6_DESC);
  374. MS_PIN_DECL(D7, GPIOH4, ROMD12, NDTR6);
  375. #define B6 61
  376. SIG_EXPR_DECL(ROMD13, ROM16, ROM16_DESC);
  377. SIG_EXPR_DECL(ROMD13, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
  378. SIG_EXPR_LIST_DECL_DUAL(ROMD13, ROM16, ROM16S);
  379. SIG_EXPR_LIST_DECL_SINGLE(NRTS6, NRTS6, UART6_DESC);
  380. MS_PIN_DECL(B6, GPIOH5, ROMD13, NRTS6);
  381. #define A6 62
  382. SIG_EXPR_DECL(ROMD14, ROM16, ROM16_DESC);
  383. SIG_EXPR_DECL(ROMD14, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
  384. SIG_EXPR_LIST_DECL_DUAL(ROMD14, ROM16, ROM16S);
  385. SIG_EXPR_LIST_DECL_SINGLE(TXD6, TXD6, UART6_DESC);
  386. MS_PIN_DECL(A6, GPIOH6, ROMD14, TXD6);
  387. #define E7 63
  388. SIG_EXPR_DECL(ROMD15, ROM16, ROM16_DESC);
  389. SIG_EXPR_DECL(ROMD15, ROM16S, FLASH_WIDE, BOOT_SRC_NOR);
  390. SIG_EXPR_LIST_DECL_DUAL(ROMD15, ROM16, ROM16S);
  391. SIG_EXPR_LIST_DECL_SINGLE(RXD6, RXD6, UART6_DESC);
  392. MS_PIN_DECL(E7, GPIOH7, ROMD15, RXD6);
  393. FUNC_GROUP_DECL(UART6, A8, C7, B7, A7, D7, B6, A6, E7);
  394. #define SPI1_DESC \
  395. { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 1, 0 }
  396. #define SPI1DEBUG_DESC \
  397. { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 2, 0 }
  398. #define SPI1PASSTHRU_DESC \
  399. { ASPEED_IP_SCU, HW_STRAP1, GENMASK(13, 12), 3, 0 }
  400. #define C22 64
  401. SIG_EXPR_DECL(SYSCS, SPI1DEBUG, SPI1DEBUG_DESC);
  402. SIG_EXPR_DECL(SYSCS, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
  403. SIG_EXPR_LIST_DECL_DUAL(SYSCS, SPI1DEBUG, SPI1PASSTHRU);
  404. SS_PIN_DECL(C22, GPIOI0, SYSCS);
  405. #define G18 65
  406. SIG_EXPR_DECL(SYSCK, SPI1DEBUG, SPI1DEBUG_DESC);
  407. SIG_EXPR_DECL(SYSCK, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
  408. SIG_EXPR_LIST_DECL_DUAL(SYSCK, SPI1DEBUG, SPI1PASSTHRU);
  409. SS_PIN_DECL(G18, GPIOI1, SYSCK);
  410. #define D19 66
  411. SIG_EXPR_DECL(SYSDO, SPI1DEBUG, SPI1DEBUG_DESC);
  412. SIG_EXPR_DECL(SYSDO, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
  413. SIG_EXPR_LIST_DECL_DUAL(SYSDO, SPI1DEBUG, SPI1PASSTHRU);
  414. SS_PIN_DECL(D19, GPIOI2, SYSDO);
  415. #define C20 67
  416. SIG_EXPR_DECL(SYSDI, SPI1DEBUG, SPI1DEBUG_DESC);
  417. SIG_EXPR_DECL(SYSDI, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
  418. SIG_EXPR_LIST_DECL_DUAL(SYSDI, SPI1DEBUG, SPI1PASSTHRU);
  419. SS_PIN_DECL(C20, GPIOI3, SYSDI);
  420. #define VB_DESC SIG_DESC_SET(HW_STRAP1, 5)
  421. #define B22 68
  422. SIG_EXPR_DECL(SPI1CS0, SPI1, SPI1_DESC);
  423. SIG_EXPR_DECL(SPI1CS0, SPI1DEBUG, SPI1DEBUG_DESC);
  424. SIG_EXPR_DECL(SPI1CS0, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
  425. SIG_EXPR_LIST_DECL(SPI1CS0, SIG_EXPR_PTR(SPI1CS0, SPI1),
  426. SIG_EXPR_PTR(SPI1CS0, SPI1DEBUG),
  427. SIG_EXPR_PTR(SPI1CS0, SPI1PASSTHRU));
  428. SIG_EXPR_LIST_DECL_SINGLE(VBCS, VGABIOS_ROM, VB_DESC);
  429. MS_PIN_DECL(B22, GPIOI4, SPI1CS0, VBCS);
  430. #define G19 69
  431. SIG_EXPR_DECL(SPI1CK, SPI1, SPI1_DESC);
  432. SIG_EXPR_DECL(SPI1CK, SPI1DEBUG, SPI1DEBUG_DESC);
  433. SIG_EXPR_DECL(SPI1CK, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
  434. SIG_EXPR_LIST_DECL(SPI1CK, SIG_EXPR_PTR(SPI1CK, SPI1),
  435. SIG_EXPR_PTR(SPI1CK, SPI1DEBUG),
  436. SIG_EXPR_PTR(SPI1CK, SPI1PASSTHRU));
  437. SIG_EXPR_LIST_DECL_SINGLE(VBCK, VGABIOS_ROM, VB_DESC);
  438. MS_PIN_DECL(G19, GPIOI5, SPI1CK, VBCK);
  439. #define C18 70
  440. SIG_EXPR_DECL(SPI1DO, SPI1, SPI1_DESC);
  441. SIG_EXPR_DECL(SPI1DO, SPI1DEBUG, SPI1DEBUG_DESC);
  442. SIG_EXPR_DECL(SPI1DO, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
  443. SIG_EXPR_LIST_DECL(SPI1DO, SIG_EXPR_PTR(SPI1DO, SPI1),
  444. SIG_EXPR_PTR(SPI1DO, SPI1DEBUG),
  445. SIG_EXPR_PTR(SPI1DO, SPI1PASSTHRU));
  446. SIG_EXPR_LIST_DECL_SINGLE(VBDO, VGABIOS_ROM, VB_DESC);
  447. MS_PIN_DECL(C18, GPIOI6, SPI1DO, VBDO);
  448. #define E20 71
  449. SIG_EXPR_DECL(SPI1DI, SPI1, SPI1_DESC);
  450. SIG_EXPR_DECL(SPI1DI, SPI1DEBUG, SPI1DEBUG_DESC);
  451. SIG_EXPR_DECL(SPI1DI, SPI1PASSTHRU, SPI1PASSTHRU_DESC);
  452. SIG_EXPR_LIST_DECL(SPI1DI, SIG_EXPR_PTR(SPI1DI, SPI1),
  453. SIG_EXPR_PTR(SPI1DI, SPI1DEBUG),
  454. SIG_EXPR_PTR(SPI1DI, SPI1PASSTHRU));
  455. SIG_EXPR_LIST_DECL_SINGLE(VBDI, VGABIOS_ROM, VB_DESC);
  456. MS_PIN_DECL(E20, GPIOI7, SPI1DI, VBDI);
  457. FUNC_GROUP_DECL(SPI1, B22, G19, C18, E20);
  458. FUNC_GROUP_DECL(SPI1DEBUG, C22, G18, D19, C20, B22, G19, C18, E20);
  459. FUNC_GROUP_DECL(SPI1PASSTHRU, C22, G18, D19, C20, B22, G19, C18, E20);
  460. FUNC_GROUP_DECL(VGABIOS_ROM, B22, G19, C18, E20);
  461. #define J5 72
  462. SSSF_PIN_DECL(J5, GPIOJ0, SGPMCK, SIG_DESC_SET(SCU84, 8));
  463. #define J4 73
  464. SSSF_PIN_DECL(J4, GPIOJ1, SGPMLD, SIG_DESC_SET(SCU84, 9));
  465. #define K5 74
  466. SSSF_PIN_DECL(K5, GPIOJ2, SGPMO, SIG_DESC_SET(SCU84, 10));
  467. #define J3 75
  468. SSSF_PIN_DECL(J3, GPIOJ3, SGPMI, SIG_DESC_SET(SCU84, 11));
  469. #define T4 76
  470. SSSF_PIN_DECL(T4, GPIOJ4, VGAHS, SIG_DESC_SET(SCU84, 12));
  471. #define U2 77
  472. SSSF_PIN_DECL(U2, GPIOJ5, VGAVS, SIG_DESC_SET(SCU84, 13));
  473. #define T2 78
  474. SSSF_PIN_DECL(T2, GPIOJ6, DDCCLK, SIG_DESC_SET(SCU84, 14));
  475. #define T1 79
  476. SSSF_PIN_DECL(T1, GPIOJ7, DDCDAT, SIG_DESC_SET(SCU84, 15));
  477. #define I2C5_DESC SIG_DESC_SET(SCU90, 18)
  478. #define E3 80
  479. SIG_EXPR_LIST_DECL_SINGLE(SCL5, I2C5, I2C5_DESC);
  480. SS_PIN_DECL(E3, GPIOK0, SCL5);
  481. #define D2 81
  482. SIG_EXPR_LIST_DECL_SINGLE(SDA5, I2C5, I2C5_DESC);
  483. SS_PIN_DECL(D2, GPIOK1, SDA5);
  484. FUNC_GROUP_DECL(I2C5, E3, D2);
  485. #define I2C6_DESC SIG_DESC_SET(SCU90, 19)
  486. #define C1 82
  487. SIG_EXPR_LIST_DECL_SINGLE(SCL6, I2C6, I2C6_DESC);
  488. SS_PIN_DECL(C1, GPIOK2, SCL6);
  489. #define F4 83
  490. SIG_EXPR_LIST_DECL_SINGLE(SDA6, I2C6, I2C6_DESC);
  491. SS_PIN_DECL(F4, GPIOK3, SDA6);
  492. FUNC_GROUP_DECL(I2C6, C1, F4);
  493. #define I2C7_DESC SIG_DESC_SET(SCU90, 20)
  494. #define E2 84
  495. SIG_EXPR_LIST_DECL_SINGLE(SCL7, I2C7, I2C7_DESC);
  496. SS_PIN_DECL(E2, GPIOK4, SCL7);
  497. #define D1 85
  498. SIG_EXPR_LIST_DECL_SINGLE(SDA7, I2C7, I2C7_DESC);
  499. SS_PIN_DECL(D1, GPIOK5, SDA7);
  500. FUNC_GROUP_DECL(I2C7, E2, D1);
  501. #define I2C8_DESC SIG_DESC_SET(SCU90, 21)
  502. #define G5 86
  503. SIG_EXPR_LIST_DECL_SINGLE(SCL8, I2C8, I2C8_DESC);
  504. SS_PIN_DECL(G5, GPIOK6, SCL8);
  505. #define F3 87
  506. SIG_EXPR_LIST_DECL_SINGLE(SDA8, I2C8, I2C8_DESC);
  507. SS_PIN_DECL(F3, GPIOK7, SDA8);
  508. FUNC_GROUP_DECL(I2C8, G5, F3);
  509. #define U1 88
  510. SSSF_PIN_DECL(U1, GPIOL0, NCTS1, SIG_DESC_SET(SCU84, 16));
  511. #define VPI18_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 1, 0 }
  512. #define VPI24_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 2, 0 }
  513. #define VPI30_DESC { ASPEED_IP_SCU, SCU90, GENMASK(5, 4), 3, 0 }
  514. #define T5 89
  515. #define T5_DESC SIG_DESC_SET(SCU84, 17)
  516. SIG_EXPR_DECL(VPIDE, VPI18, VPI18_DESC, T5_DESC);
  517. SIG_EXPR_DECL(VPIDE, VPI24, VPI24_DESC, T5_DESC);
  518. SIG_EXPR_DECL(VPIDE, VPI30, VPI30_DESC, T5_DESC);
  519. SIG_EXPR_LIST_DECL(VPIDE, SIG_EXPR_PTR(VPIDE, VPI18),
  520. SIG_EXPR_PTR(VPIDE, VPI24),
  521. SIG_EXPR_PTR(VPIDE, VPI30));
  522. SIG_EXPR_LIST_DECL_SINGLE(NDCD1, NDCD1, T5_DESC);
  523. MS_PIN_DECL(T5, GPIOL1, VPIDE, NDCD1);
  524. FUNC_GROUP_DECL(NDCD1, T5);
  525. #define U3 90
  526. #define U3_DESC SIG_DESC_SET(SCU84, 18)
  527. SIG_EXPR_DECL(VPIODD, VPI18, VPI18_DESC, U3_DESC);
  528. SIG_EXPR_DECL(VPIODD, VPI24, VPI24_DESC, U3_DESC);
  529. SIG_EXPR_DECL(VPIODD, VPI30, VPI30_DESC, U3_DESC);
  530. SIG_EXPR_LIST_DECL(VPIODD, SIG_EXPR_PTR(VPIODD, VPI18),
  531. SIG_EXPR_PTR(VPIODD, VPI24),
  532. SIG_EXPR_PTR(VPIODD, VPI30));
  533. SIG_EXPR_LIST_DECL_SINGLE(NDSR1, NDSR1, U3_DESC);
  534. MS_PIN_DECL(U3, GPIOL2, VPIODD, NDSR1);
  535. FUNC_GROUP_DECL(NDSR1, U3);
  536. #define V1 91
  537. #define V1_DESC SIG_DESC_SET(SCU84, 19)
  538. SIG_EXPR_DECL(VPIHS, VPI18, VPI18_DESC, V1_DESC);
  539. SIG_EXPR_DECL(VPIHS, VPI24, VPI24_DESC, V1_DESC);
  540. SIG_EXPR_DECL(VPIHS, VPI30, VPI30_DESC, V1_DESC);
  541. SIG_EXPR_LIST_DECL(VPIHS, SIG_EXPR_PTR(VPIHS, VPI18),
  542. SIG_EXPR_PTR(VPIHS, VPI24),
  543. SIG_EXPR_PTR(VPIHS, VPI30));
  544. SIG_EXPR_LIST_DECL_SINGLE(NRI1, NRI1, V1_DESC);
  545. MS_PIN_DECL(V1, GPIOL3, VPIHS, NRI1);
  546. FUNC_GROUP_DECL(NRI1, V1);
  547. #define U4 92
  548. #define U4_DESC SIG_DESC_SET(SCU84, 20)
  549. SIG_EXPR_DECL(VPIVS, VPI18, VPI18_DESC, U4_DESC);
  550. SIG_EXPR_DECL(VPIVS, VPI24, VPI24_DESC, U4_DESC);
  551. SIG_EXPR_DECL(VPIVS, VPI30, VPI30_DESC, U4_DESC);
  552. SIG_EXPR_LIST_DECL(VPIVS, SIG_EXPR_PTR(VPIVS, VPI18),
  553. SIG_EXPR_PTR(VPIVS, VPI24),
  554. SIG_EXPR_PTR(VPIVS, VPI30));
  555. SIG_EXPR_LIST_DECL_SINGLE(NDTR1, NDTR1, U4_DESC);
  556. MS_PIN_DECL(U4, GPIOL4, VPIVS, NDTR1);
  557. FUNC_GROUP_DECL(NDTR1, U4);
  558. #define V2 93
  559. #define V2_DESC SIG_DESC_SET(SCU84, 21)
  560. SIG_EXPR_DECL(VPICLK, VPI18, VPI18_DESC, V2_DESC);
  561. SIG_EXPR_DECL(VPICLK, VPI24, VPI24_DESC, V2_DESC);
  562. SIG_EXPR_DECL(VPICLK, VPI30, VPI30_DESC, V2_DESC);
  563. SIG_EXPR_LIST_DECL(VPICLK, SIG_EXPR_PTR(VPICLK, VPI18),
  564. SIG_EXPR_PTR(VPICLK, VPI24),
  565. SIG_EXPR_PTR(VPICLK, VPI30));
  566. SIG_EXPR_LIST_DECL_SINGLE(NRTS1, NRTS1, V2_DESC);
  567. MS_PIN_DECL(V2, GPIOL5, VPICLK, NRTS1);
  568. FUNC_GROUP_DECL(NRTS1, V2);
  569. #define W1 94
  570. #define W1_DESC SIG_DESC_SET(SCU84, 22)
  571. SIG_EXPR_LIST_DECL_SINGLE(VPIB0, VPI30, VPI30_DESC, W1_DESC);
  572. SIG_EXPR_LIST_DECL_SINGLE(TXD1, TXD1, W1_DESC);
  573. MS_PIN_DECL(W1, GPIOL6, VPIB0, TXD1);
  574. FUNC_GROUP_DECL(TXD1, W1);
  575. #define U5 95
  576. #define U5_DESC SIG_DESC_SET(SCU84, 23)
  577. SIG_EXPR_LIST_DECL_SINGLE(VPIB1, VPI30, VPI30_DESC, U5_DESC);
  578. SIG_EXPR_LIST_DECL_SINGLE(RXD1, RXD1, U5_DESC);
  579. MS_PIN_DECL(U5, GPIOL7, VPIB1, RXD1);
  580. FUNC_GROUP_DECL(RXD1, U5);
  581. #define V3 96
  582. #define V3_DESC SIG_DESC_SET(SCU84, 24)
  583. SIG_EXPR_DECL(VPIOB2, VPI18, VPI18_DESC, V3_DESC);
  584. SIG_EXPR_DECL(VPIOB2, VPI24, VPI24_DESC, V3_DESC);
  585. SIG_EXPR_DECL(VPIOB2, VPI30, VPI30_DESC, V3_DESC);
  586. SIG_EXPR_LIST_DECL(VPIOB2, SIG_EXPR_PTR(VPIOB2, VPI18),
  587. SIG_EXPR_PTR(VPIOB2, VPI24),
  588. SIG_EXPR_PTR(VPIOB2, VPI30));
  589. SIG_EXPR_LIST_DECL_SINGLE(NCTS2, NCTS2, V3_DESC);
  590. MS_PIN_DECL(V3, GPIOM0, VPIOB2, NCTS2);
  591. FUNC_GROUP_DECL(NCTS2, V3);
  592. #define W2 97
  593. #define W2_DESC SIG_DESC_SET(SCU84, 25)
  594. SIG_EXPR_DECL(VPIOB3, VPI18, VPI18_DESC, W2_DESC);
  595. SIG_EXPR_DECL(VPIOB3, VPI24, VPI24_DESC, W2_DESC);
  596. SIG_EXPR_DECL(VPIOB3, VPI30, VPI30_DESC, W2_DESC);
  597. SIG_EXPR_LIST_DECL(VPIOB3, SIG_EXPR_PTR(VPIOB3, VPI18),
  598. SIG_EXPR_PTR(VPIOB3, VPI24),
  599. SIG_EXPR_PTR(VPIOB3, VPI30));
  600. SIG_EXPR_LIST_DECL_SINGLE(NDCD2, NDCD2, W2_DESC);
  601. MS_PIN_DECL(W2, GPIOM1, VPIOB3, NDCD2);
  602. FUNC_GROUP_DECL(NDCD2, W2);
  603. #define Y1 98
  604. #define Y1_DESC SIG_DESC_SET(SCU84, 26)
  605. SIG_EXPR_DECL(VPIOB4, VPI18, VPI18_DESC, Y1_DESC);
  606. SIG_EXPR_DECL(VPIOB4, VPI24, VPI24_DESC, Y1_DESC);
  607. SIG_EXPR_DECL(VPIOB4, VPI30, VPI30_DESC, Y1_DESC);
  608. SIG_EXPR_LIST_DECL(VPIOB4, SIG_EXPR_PTR(VPIOB4, VPI18),
  609. SIG_EXPR_PTR(VPIOB4, VPI24),
  610. SIG_EXPR_PTR(VPIOB4, VPI30));
  611. SIG_EXPR_LIST_DECL_SINGLE(NDSR2, NDSR2, Y1_DESC);
  612. MS_PIN_DECL(Y1, GPIOM2, VPIOB4, NDSR2);
  613. FUNC_GROUP_DECL(NDSR2, Y1);
  614. #define V4 99
  615. #define V4_DESC SIG_DESC_SET(SCU84, 27)
  616. SIG_EXPR_DECL(VPIOB5, VPI18, VPI18_DESC, V4_DESC);
  617. SIG_EXPR_DECL(VPIOB5, VPI24, VPI24_DESC, V4_DESC);
  618. SIG_EXPR_DECL(VPIOB5, VPI30, VPI30_DESC, V4_DESC);
  619. SIG_EXPR_LIST_DECL(VPIOB5, SIG_EXPR_PTR(VPIOB5, VPI18),
  620. SIG_EXPR_PTR(VPIOB5, VPI24),
  621. SIG_EXPR_PTR(VPIOB5, VPI30));
  622. SIG_EXPR_LIST_DECL_SINGLE(NRI2, NRI2, V4_DESC);
  623. MS_PIN_DECL(V4, GPIOM3, VPIOB5, NRI2);
  624. FUNC_GROUP_DECL(NRI2, V4);
  625. #define W3 100
  626. #define W3_DESC SIG_DESC_SET(SCU84, 28)
  627. SIG_EXPR_DECL(VPIOB6, VPI18, VPI18_DESC, W3_DESC);
  628. SIG_EXPR_DECL(VPIOB6, VPI24, VPI24_DESC, W3_DESC);
  629. SIG_EXPR_DECL(VPIOB6, VPI30, VPI30_DESC, W3_DESC);
  630. SIG_EXPR_LIST_DECL(VPIOB6, SIG_EXPR_PTR(VPIOB6, VPI18),
  631. SIG_EXPR_PTR(VPIOB6, VPI24),
  632. SIG_EXPR_PTR(VPIOB6, VPI30));
  633. SIG_EXPR_LIST_DECL_SINGLE(NDTR2, NDTR2, W3_DESC);
  634. MS_PIN_DECL(W3, GPIOM4, VPIOB6, NDTR2);
  635. FUNC_GROUP_DECL(NDTR2, W3);
  636. #define Y2 101
  637. #define Y2_DESC SIG_DESC_SET(SCU84, 29)
  638. SIG_EXPR_DECL(VPIOB7, VPI18, VPI18_DESC, Y2_DESC);
  639. SIG_EXPR_DECL(VPIOB7, VPI24, VPI24_DESC, Y2_DESC);
  640. SIG_EXPR_DECL(VPIOB7, VPI30, VPI30_DESC, Y2_DESC);
  641. SIG_EXPR_LIST_DECL(VPIOB7, SIG_EXPR_PTR(VPIOB7, VPI18),
  642. SIG_EXPR_PTR(VPIOB7, VPI24),
  643. SIG_EXPR_PTR(VPIOB7, VPI30));
  644. SIG_EXPR_LIST_DECL_SINGLE(NRTS2, NRTS2, Y2_DESC);
  645. MS_PIN_DECL(Y2, GPIOM5, VPIOB7, NRTS2);
  646. FUNC_GROUP_DECL(NRTS2, Y2);
  647. #define AA1 102
  648. #define AA1_DESC SIG_DESC_SET(SCU84, 30)
  649. SIG_EXPR_DECL(VPIOB8, VPI18, VPI18_DESC, AA1_DESC);
  650. SIG_EXPR_DECL(VPIOB8, VPI24, VPI24_DESC, AA1_DESC);
  651. SIG_EXPR_DECL(VPIOB8, VPI30, VPI30_DESC, AA1_DESC);
  652. SIG_EXPR_LIST_DECL(VPIOB8, SIG_EXPR_PTR(VPIOB8, VPI18),
  653. SIG_EXPR_PTR(VPIOB8, VPI24),
  654. SIG_EXPR_PTR(VPIOB8, VPI30));
  655. SIG_EXPR_LIST_DECL_SINGLE(TXD2, TXD2, AA1_DESC);
  656. MS_PIN_DECL(AA1, GPIOM6, VPIOB8, TXD2);
  657. FUNC_GROUP_DECL(TXD2, AA1);
  658. #define V5 103
  659. #define V5_DESC SIG_DESC_SET(SCU84, 31)
  660. SIG_EXPR_DECL(VPIOB9, VPI18, VPI18_DESC, V5_DESC);
  661. SIG_EXPR_DECL(VPIOB9, VPI24, VPI24_DESC, V5_DESC);
  662. SIG_EXPR_DECL(VPIOB9, VPI30, VPI30_DESC, V5_DESC);
  663. SIG_EXPR_LIST_DECL(VPIOB9, SIG_EXPR_PTR(VPIOB9, VPI18),
  664. SIG_EXPR_PTR(VPIOB9, VPI24),
  665. SIG_EXPR_PTR(VPIOB9, VPI30));
  666. SIG_EXPR_LIST_DECL_SINGLE(RXD2, RXD2, V5_DESC);
  667. MS_PIN_DECL(V5, GPIOM7, VPIOB9, RXD2);
  668. FUNC_GROUP_DECL(RXD2, V5);
  669. #define W4 104
  670. #define W4_DESC SIG_DESC_SET(SCU88, 0)
  671. SIG_EXPR_LIST_DECL_SINGLE(VPIG0, VPI30, VPI30_DESC, W4_DESC);
  672. SIG_EXPR_LIST_DECL_SINGLE(PWM0, PWM0, W4_DESC);
  673. MS_PIN_DECL(W4, GPION0, VPIG0, PWM0);
  674. FUNC_GROUP_DECL(PWM0, W4);
  675. #define Y3 105
  676. #define Y3_DESC SIG_DESC_SET(SCU88, 1)
  677. SIG_EXPR_LIST_DECL_SINGLE(VPIG1, VPI30, VPI30_DESC, Y3_DESC);
  678. SIG_EXPR_LIST_DECL_SINGLE(PWM1, PWM1, Y3_DESC);
  679. MS_PIN_DECL(Y3, GPION1, VPIG1, PWM1);
  680. FUNC_GROUP_DECL(PWM1, Y3);
  681. #define AA2 106
  682. #define AA2_DESC SIG_DESC_SET(SCU88, 2)
  683. SIG_EXPR_DECL(VPIG2, VPI18, VPI18_DESC, AA2_DESC);
  684. SIG_EXPR_DECL(VPIG2, VPI24, VPI24_DESC, AA2_DESC);
  685. SIG_EXPR_DECL(VPIG2, VPI30, VPI30_DESC, AA2_DESC);
  686. SIG_EXPR_LIST_DECL(VPIG2, SIG_EXPR_PTR(VPIG2, VPI18),
  687. SIG_EXPR_PTR(VPIG2, VPI24),
  688. SIG_EXPR_PTR(VPIG2, VPI30));
  689. SIG_EXPR_LIST_DECL_SINGLE(PWM2, PWM2, AA2_DESC);
  690. MS_PIN_DECL(AA2, GPION2, VPIG2, PWM2);
  691. FUNC_GROUP_DECL(PWM2, AA2);
  692. #define AB1 107
  693. #define AB1_DESC SIG_DESC_SET(SCU88, 3)
  694. SIG_EXPR_DECL(VPIG3, VPI18, VPI18_DESC, AB1_DESC);
  695. SIG_EXPR_DECL(VPIG3, VPI24, VPI24_DESC, AB1_DESC);
  696. SIG_EXPR_DECL(VPIG3, VPI30, VPI30_DESC, AB1_DESC);
  697. SIG_EXPR_LIST_DECL(VPIG3, SIG_EXPR_PTR(VPIG3, VPI18),
  698. SIG_EXPR_PTR(VPIG3, VPI24),
  699. SIG_EXPR_PTR(VPIG3, VPI30));
  700. SIG_EXPR_LIST_DECL_SINGLE(PWM3, PWM3, AB1_DESC);
  701. MS_PIN_DECL(AB1, GPION3, VPIG3, PWM3);
  702. FUNC_GROUP_DECL(PWM3, AB1);
  703. #define W5 108
  704. #define W5_DESC SIG_DESC_SET(SCU88, 4)
  705. SIG_EXPR_DECL(VPIG4, VPI18, VPI18_DESC, W5_DESC);
  706. SIG_EXPR_DECL(VPIG4, VPI24, VPI24_DESC, W5_DESC);
  707. SIG_EXPR_DECL(VPIG4, VPI30, VPI30_DESC, W5_DESC);
  708. SIG_EXPR_LIST_DECL(VPIG4, SIG_EXPR_PTR(VPIG4, VPI18),
  709. SIG_EXPR_PTR(VPIG4, VPI24),
  710. SIG_EXPR_PTR(VPIG4, VPI30));
  711. SIG_EXPR_LIST_DECL_SINGLE(PWM4, PWM4, W5_DESC);
  712. MS_PIN_DECL(W5, GPION4, VPIG4, PWM4);
  713. FUNC_GROUP_DECL(PWM4, W5);
  714. #define Y4 109
  715. #define Y4_DESC SIG_DESC_SET(SCU88, 5)
  716. SIG_EXPR_DECL(VPIG5, VPI18, VPI18_DESC, Y4_DESC);
  717. SIG_EXPR_DECL(VPIG5, VPI24, VPI24_DESC, Y4_DESC);
  718. SIG_EXPR_DECL(VPIG5, VPI30, VPI30_DESC, Y4_DESC);
  719. SIG_EXPR_LIST_DECL(VPIG5, SIG_EXPR_PTR(VPIG5, VPI18),
  720. SIG_EXPR_PTR(VPIG5, VPI24),
  721. SIG_EXPR_PTR(VPIG5, VPI30));
  722. SIG_EXPR_LIST_DECL_SINGLE(PWM5, PWM5, Y4_DESC);
  723. MS_PIN_DECL(Y4, GPION5, VPIG5, PWM5);
  724. FUNC_GROUP_DECL(PWM5, Y4);
  725. #define AA3 110
  726. #define AA3_DESC SIG_DESC_SET(SCU88, 6)
  727. SIG_EXPR_LIST_DECL_SINGLE(VPIG6, VPI30, VPI30_DESC, AA3_DESC);
  728. SIG_EXPR_LIST_DECL_SINGLE(PWM6, PWM6, AA3_DESC);
  729. MS_PIN_DECL(AA3, GPION6, VPIG6, PWM6);
  730. FUNC_GROUP_DECL(PWM6, AA3);
  731. #define AB2 111
  732. #define AB2_DESC SIG_DESC_SET(SCU88, 7)
  733. SIG_EXPR_LIST_DECL_SINGLE(VPIG7, VPI30, VPI30_DESC, AB2_DESC);
  734. SIG_EXPR_LIST_DECL_SINGLE(PWM7, PWM7, AB2_DESC);
  735. MS_PIN_DECL(AB2, GPION7, VPIG7, PWM7);
  736. FUNC_GROUP_DECL(PWM7, AB2);
  737. #define V6 112
  738. SIG_EXPR_LIST_DECL_SINGLE(VPIG8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 8));
  739. SS_PIN_DECL(V6, GPIOO0, VPIG8);
  740. #define Y5 113
  741. SIG_EXPR_LIST_DECL_SINGLE(VPIG9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 9));
  742. SS_PIN_DECL(Y5, GPIOO1, VPIG9);
  743. #define AA4 114
  744. SIG_EXPR_LIST_DECL_SINGLE(VPIR0, VPI30, VPI30_DESC, SIG_DESC_SET(SCU88, 10));
  745. SS_PIN_DECL(AA4, GPIOO2, VPIR0);
  746. #define AB3 115
  747. SIG_EXPR_LIST_DECL_SINGLE(VPIR1, VPI30, VPI30_DESC, SIG_DESC_SET(SCU88, 11));
  748. SS_PIN_DECL(AB3, GPIOO3, VPIR1);
  749. #define W6 116
  750. SIG_EXPR_LIST_DECL_SINGLE(VPIR2, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 12));
  751. SS_PIN_DECL(W6, GPIOO4, VPIR2);
  752. #define AA5 117
  753. SIG_EXPR_LIST_DECL_SINGLE(VPIR3, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 13));
  754. SS_PIN_DECL(AA5, GPIOO5, VPIR3);
  755. #define AB4 118
  756. SIG_EXPR_LIST_DECL_SINGLE(VPIR4, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 14));
  757. SS_PIN_DECL(AB4, GPIOO6, VPIR4);
  758. #define V7 119
  759. SIG_EXPR_LIST_DECL_SINGLE(VPIR5, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 15));
  760. SS_PIN_DECL(V7, GPIOO7, VPIR5);
  761. #define Y6 120
  762. SIG_EXPR_LIST_DECL_SINGLE(VPIR6, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 16));
  763. SS_PIN_DECL(Y6, GPIOP0, VPIR6);
  764. #define AB5 121
  765. SIG_EXPR_LIST_DECL_SINGLE(VPIR7, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 17));
  766. SS_PIN_DECL(AB5, GPIOP1, VPIR7);
  767. #define W7 122
  768. SIG_EXPR_LIST_DECL_SINGLE(VPIR8, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 18));
  769. SS_PIN_DECL(W7, GPIOP2, VPIR8);
  770. #define AA6 123
  771. SIG_EXPR_LIST_DECL_SINGLE(VPIR9, VPI24, VPI24_DESC, SIG_DESC_SET(SCU88, 19));
  772. SS_PIN_DECL(AA6, GPIOP3, VPIR9);
  773. FUNC_GROUP_DECL(VPI18, T5, U3, V1, U4, V2, V3, W2, Y1, V4, W3, Y2, AA1, V5,
  774. AA22, W5, Y4, AA3, AB2);
  775. FUNC_GROUP_DECL(VPI24, T5, U3, V1, U4, V2, V3, W2, Y1, V4, W3, Y2, AA1, V5,
  776. AA22, W5, Y4, AA3, AB2, V6, Y5, W6, AA5, AB4, V7, Y6, AB5, W7,
  777. AA6);
  778. FUNC_GROUP_DECL(VPI30, T5, U3, V1, U4, V2, W1, U5, V3, W2, Y1, V4, W3, Y2, AA1,
  779. V5, W4, Y3, AA22, W5, Y4, AA3, AB2, AA4, AB3);
  780. #define AB6 124
  781. SIG_EXPR_LIST_DECL_SINGLE(GPIOP4, GPIOP4);
  782. MS_PIN_DECL_(AB6, SIG_EXPR_LIST_PTR(GPIOP4));
  783. #define Y7 125
  784. SIG_EXPR_LIST_DECL_SINGLE(GPIOP5, GPIOP5);
  785. MS_PIN_DECL_(Y7, SIG_EXPR_LIST_PTR(GPIOP5));
  786. #define AA7 126
  787. SSSF_PIN_DECL(AA7, GPIOP6, BMCINT, SIG_DESC_SET(SCU88, 22));
  788. #define AB7 127
  789. SSSF_PIN_DECL(AB7, GPIOP7, FLACK, SIG_DESC_SET(SCU88, 23));
  790. #define I2C3_DESC SIG_DESC_SET(SCU90, 16)
  791. #define D3 128
  792. SIG_EXPR_LIST_DECL_SINGLE(SCL3, I2C3, I2C3_DESC);
  793. SS_PIN_DECL(D3, GPIOQ0, SCL3);
  794. #define C2 129
  795. SIG_EXPR_LIST_DECL_SINGLE(SDA3, I2C3, I2C3_DESC);
  796. SS_PIN_DECL(C2, GPIOQ1, SDA3);
  797. FUNC_GROUP_DECL(I2C3, D3, C2);
  798. #define I2C4_DESC SIG_DESC_SET(SCU90, 17)
  799. #define B1 130
  800. SIG_EXPR_LIST_DECL_SINGLE(SCL4, I2C4, I2C4_DESC);
  801. SS_PIN_DECL(B1, GPIOQ2, SCL4);
  802. #define F5 131
  803. SIG_EXPR_LIST_DECL_SINGLE(SDA4, I2C4, I2C4_DESC);
  804. SS_PIN_DECL(F5, GPIOQ3, SDA4);
  805. FUNC_GROUP_DECL(I2C4, B1, F5);
  806. #define I2C14_DESC SIG_DESC_SET(SCU90, 27)
  807. #define H4 132
  808. SIG_EXPR_LIST_DECL_SINGLE(SCL14, I2C14, I2C14_DESC);
  809. SS_PIN_DECL(H4, GPIOQ4, SCL14);
  810. #define H3 133
  811. SIG_EXPR_LIST_DECL_SINGLE(SDA14, I2C14, I2C14_DESC);
  812. SS_PIN_DECL(H3, GPIOQ5, SDA14);
  813. FUNC_GROUP_DECL(I2C14, H4, H3);
  814. /*
  815. * There are several opportunities to document USB port 4 in the datasheet, but
  816. * it is only mentioned in one location. Particularly, the Multi-function Pins
  817. * Mapping and Control table in the datasheet elides the signal names,
  818. * suggesting that port 4 may not actually be functional. As such we define the
  819. * signal names and control bit, but don't export the capability's function or
  820. * group.
  821. */
  822. #define USB11H3_DESC SIG_DESC_SET(SCU90, 28)
  823. #define H2 134
  824. SIG_EXPR_LIST_DECL_SINGLE(USB11HDP3, USB11H3, USB11H3_DESC);
  825. SS_PIN_DECL(H2, GPIOQ6, USB11HDP3);
  826. #define H1 135
  827. SIG_EXPR_LIST_DECL_SINGLE(USB11HDN3, USB11H3, USB11H3_DESC);
  828. SS_PIN_DECL(H1, GPIOQ7, USB11HDN3);
  829. #define V20 136
  830. SSSF_PIN_DECL(V20, GPIOR0, ROMCS1, SIG_DESC_SET(SCU88, 24));
  831. #define W21 137
  832. SSSF_PIN_DECL(W21, GPIOR1, ROMCS2, SIG_DESC_SET(SCU88, 25));
  833. #define Y22 138
  834. SSSF_PIN_DECL(Y22, GPIOR2, ROMCS3, SIG_DESC_SET(SCU88, 26));
  835. #define U19 139
  836. SSSF_PIN_DECL(U19, GPIOR3, ROMCS4, SIG_DESC_SET(SCU88, 27));
  837. #define VPOOFF0_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 0, 0 }
  838. #define VPO12_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 1, 0 }
  839. #define VPO24_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 2, 0 }
  840. #define VPOOFF1_DESC { ASPEED_IP_SCU, SCU94, GENMASK(1, 0), 3, 0 }
  841. #define VPO_OFF_12 { ASPEED_IP_SCU, SCU94, 0x2, 0, 0 }
  842. #define VPO_24_OFF SIG_DESC_SET(SCU94, 1)
  843. #define V21 140
  844. #define V21_DESC SIG_DESC_SET(SCU88, 28)
  845. SIG_EXPR_DECL(ROMA24, ROM8, V21_DESC, VPO_OFF_12);
  846. SIG_EXPR_DECL(ROMA24, ROM16, V21_DESC, VPO_OFF_12);
  847. SIG_EXPR_DECL(ROMA24, ROM16S, V21_DESC, VPO_OFF_12);
  848. SIG_EXPR_LIST_DECL(ROMA24, SIG_EXPR_PTR(ROMA24, ROM8),
  849. SIG_EXPR_PTR(ROMA24, ROM16),
  850. SIG_EXPR_PTR(ROMA24, ROM16S));
  851. SIG_EXPR_LIST_DECL_SINGLE(VPOR6, VPO24, V21_DESC, VPO_24_OFF);
  852. MS_PIN_DECL(V21, GPIOR4, ROMA24, VPOR6);
  853. #define W22 141
  854. #define W22_DESC SIG_DESC_SET(SCU88, 29)
  855. SIG_EXPR_DECL(ROMA25, ROM8, W22_DESC, VPO_OFF_12);
  856. SIG_EXPR_DECL(ROMA25, ROM16, W22_DESC, VPO_OFF_12);
  857. SIG_EXPR_DECL(ROMA25, ROM16S, W22_DESC, VPO_OFF_12);
  858. SIG_EXPR_LIST_DECL(ROMA25, SIG_EXPR_PTR(ROMA25, ROM8),
  859. SIG_EXPR_PTR(ROMA25, ROM16),
  860. SIG_EXPR_PTR(ROMA25, ROM16S));
  861. SIG_EXPR_LIST_DECL_SINGLE(VPOR7, VPO24, W22_DESC, VPO_24_OFF);
  862. MS_PIN_DECL(W22, GPIOR5, ROMA25, VPOR7);
  863. #define C6 142
  864. SIG_EXPR_LIST_DECL_SINGLE(MDC1, MDIO1, SIG_DESC_SET(SCU88, 30));
  865. SS_PIN_DECL(C6, GPIOR6, MDC1);
  866. #define A5 143
  867. SIG_EXPR_LIST_DECL_SINGLE(MDIO1, MDIO1, SIG_DESC_SET(SCU88, 31));
  868. SS_PIN_DECL(A5, GPIOR7, MDIO1);
  869. FUNC_GROUP_DECL(MDIO1, C6, A5);
  870. #define U21 144
  871. #define U21_DESC SIG_DESC_SET(SCU8C, 0)
  872. SIG_EXPR_DECL(ROMD4, ROM8, U21_DESC, VPOOFF0_DESC);
  873. SIG_EXPR_DECL(ROMD4, ROM16, U21_DESC, VPOOFF0_DESC);
  874. SIG_EXPR_DECL(ROMD4, ROM16S, U21_DESC, VPOOFF0_DESC);
  875. SIG_EXPR_LIST_DECL(ROMD4, SIG_EXPR_PTR(ROMD4, ROM8),
  876. SIG_EXPR_PTR(ROMD4, ROM16),
  877. SIG_EXPR_PTR(ROMD4, ROM16S));
  878. SIG_EXPR_DECL(VPODE, VPO12, U21_DESC, VPO12_DESC);
  879. SIG_EXPR_DECL(VPODE, VPO24, U21_DESC, VPO12_DESC);
  880. SIG_EXPR_LIST_DECL_DUAL(VPODE, VPO12, VPO24);
  881. MS_PIN_DECL(U21, GPIOS0, ROMD4, VPODE);
  882. #define T19 145
  883. #define T19_DESC SIG_DESC_SET(SCU8C, 1)
  884. SIG_EXPR_DECL(ROMD5, ROM8, T19_DESC, VPOOFF0_DESC);
  885. SIG_EXPR_DECL(ROMD5, ROM16, T19_DESC, VPOOFF0_DESC);
  886. SIG_EXPR_DECL(ROMD5, ROM16S, T19_DESC, VPOOFF0_DESC);
  887. SIG_EXPR_LIST_DECL(ROMD5, SIG_EXPR_PTR(ROMD5, ROM8),
  888. SIG_EXPR_PTR(ROMD5, ROM16),
  889. SIG_EXPR_PTR(ROMD5, ROM16S));
  890. SIG_EXPR_DECL(VPOHS, VPO12, T19_DESC, VPO12_DESC);
  891. SIG_EXPR_DECL(VPOHS, VPO24, T19_DESC, VPO24_DESC);
  892. SIG_EXPR_LIST_DECL_DUAL(VPOHS, VPO12, VPO24);
  893. MS_PIN_DECL(T19, GPIOS1, ROMD5, VPOHS);
  894. #define V22 146
  895. #define V22_DESC SIG_DESC_SET(SCU8C, 2)
  896. SIG_EXPR_DECL(ROMD6, ROM8, V22_DESC, VPOOFF0_DESC);
  897. SIG_EXPR_DECL(ROMD6, ROM16, V22_DESC, VPOOFF0_DESC);
  898. SIG_EXPR_DECL(ROMD6, ROM16S, V22_DESC, VPOOFF0_DESC);
  899. SIG_EXPR_LIST_DECL(ROMD6, SIG_EXPR_PTR(ROMD6, ROM8),
  900. SIG_EXPR_PTR(ROMD6, ROM16),
  901. SIG_EXPR_PTR(ROMD6, ROM16S));
  902. SIG_EXPR_DECL(VPOVS, VPO12, V22_DESC, VPO12_DESC);
  903. SIG_EXPR_DECL(VPOVS, VPO24, V22_DESC, VPO24_DESC);
  904. SIG_EXPR_LIST_DECL_DUAL(VPOVS, VPO12, VPO24);
  905. MS_PIN_DECL(V22, GPIOS2, ROMD6, VPOVS);
  906. #define U20 147
  907. #define U20_DESC SIG_DESC_SET(SCU8C, 3)
  908. SIG_EXPR_DECL(ROMD7, ROM8, U20_DESC, VPOOFF0_DESC);
  909. SIG_EXPR_DECL(ROMD7, ROM16, U20_DESC, VPOOFF0_DESC);
  910. SIG_EXPR_DECL(ROMD7, ROM16S, U20_DESC, VPOOFF0_DESC);
  911. SIG_EXPR_LIST_DECL(ROMD7, SIG_EXPR_PTR(ROMD7, ROM8),
  912. SIG_EXPR_PTR(ROMD7, ROM16),
  913. SIG_EXPR_PTR(ROMD7, ROM16S));
  914. SIG_EXPR_DECL(VPOCLK, VPO12, U20_DESC, VPO12_DESC);
  915. SIG_EXPR_DECL(VPOCLK, VPO24, U20_DESC, VPO24_DESC);
  916. SIG_EXPR_LIST_DECL_DUAL(VPOCLK, VPO12, VPO24);
  917. MS_PIN_DECL(U20, GPIOS3, ROMD7, VPOCLK);
  918. #define R18 148
  919. #define ROMOE_DESC SIG_DESC_SET(SCU8C, 4)
  920. SIG_EXPR_LIST_DECL_SINGLE(GPIOS4, GPIOS4);
  921. SIG_EXPR_DECL(ROMOE, ROM8, ROMOE_DESC);
  922. SIG_EXPR_DECL(ROMOE, ROM16, ROMOE_DESC);
  923. SIG_EXPR_DECL(ROMOE, ROM16S, ROMOE_DESC);
  924. SIG_EXPR_LIST_DECL(ROMOE, SIG_EXPR_PTR(ROMOE, ROM8),
  925. SIG_EXPR_PTR(ROMOE, ROM16),
  926. SIG_EXPR_PTR(ROMOE, ROM16S));
  927. MS_PIN_DECL_(R18, SIG_EXPR_LIST_PTR(ROMOE), SIG_EXPR_LIST_PTR(GPIOS4));
  928. #define N21 149
  929. #define ROMWE_DESC SIG_DESC_SET(SCU8C, 5)
  930. SIG_EXPR_LIST_DECL_SINGLE(GPIOS5, GPIOS5);
  931. SIG_EXPR_DECL(ROMWE, ROM8, ROMWE_DESC);
  932. SIG_EXPR_DECL(ROMWE, ROM16, ROMWE_DESC);
  933. SIG_EXPR_DECL(ROMWE, ROM16S, ROMWE_DESC);
  934. SIG_EXPR_LIST_DECL(ROMWE, SIG_EXPR_PTR(ROMWE, ROM8),
  935. SIG_EXPR_PTR(ROMWE, ROM16),
  936. SIG_EXPR_PTR(ROMWE, ROM16S));
  937. MS_PIN_DECL_(N21, SIG_EXPR_LIST_PTR(ROMWE), SIG_EXPR_LIST_PTR(GPIOS5));
  938. #define L22 150
  939. #define L22_DESC SIG_DESC_SET(SCU8C, 6)
  940. SIG_EXPR_DECL(ROMA22, ROM8, L22_DESC, VPO_OFF_12);
  941. SIG_EXPR_DECL(ROMA22, ROM16, L22_DESC, VPO_OFF_12);
  942. SIG_EXPR_DECL(ROMA22, ROM16S, L22_DESC, VPO_OFF_12);
  943. SIG_EXPR_LIST_DECL(ROMA22, SIG_EXPR_PTR(ROMA22, ROM8),
  944. SIG_EXPR_PTR(ROMA22, ROM16),
  945. SIG_EXPR_PTR(ROMA22, ROM16S));
  946. SIG_EXPR_LIST_DECL_SINGLE(VPOR4, VPO24, L22_DESC, VPO_24_OFF);
  947. MS_PIN_DECL(L22, GPIOS6, ROMA22, VPOR4);
  948. #define K18 151
  949. #define K18_DESC SIG_DESC_SET(SCU8C, 7)
  950. SIG_EXPR_DECL(ROMA23, ROM8, K18_DESC, VPO_OFF_12);
  951. SIG_EXPR_DECL(ROMA23, ROM16, K18_DESC, VPO_OFF_12);
  952. SIG_EXPR_DECL(ROMA23, ROM16S, K18_DESC, VPO_OFF_12);
  953. SIG_EXPR_LIST_DECL(ROMA23, SIG_EXPR_PTR(ROMA23, ROM8),
  954. SIG_EXPR_PTR(ROMA23, ROM16),
  955. SIG_EXPR_PTR(ROMA23, ROM16S));
  956. SIG_EXPR_LIST_DECL_SINGLE(VPOR5, VPO24, K18_DESC, VPO_24_OFF);
  957. MS_PIN_DECL(K18, GPIOS7, ROMA23, VPOR5);
  958. #define RMII1_DESC SIG_DESC_BIT(HW_STRAP1, 6, 0)
  959. #define A12 152
  960. SIG_EXPR_LIST_DECL_SINGLE(GPIOT0, GPIOT0, SIG_DESC_SET(SCUA0, 0));
  961. SIG_EXPR_LIST_DECL_SINGLE(RMII1TXEN, RMII1, RMII1_DESC);
  962. SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXCK, RGMII1);
  963. MS_PIN_DECL_(A12, SIG_EXPR_LIST_PTR(GPIOT0), SIG_EXPR_LIST_PTR(RMII1TXEN),
  964. SIG_EXPR_LIST_PTR(RGMII1TXCK));
  965. #define B12 153
  966. SIG_EXPR_LIST_DECL_SINGLE(GPIOT1, GPIOT1, SIG_DESC_SET(SCUA0, 1));
  967. SIG_EXPR_LIST_DECL_SINGLE(DASHB12, RMII1, RMII1_DESC);
  968. SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXCTL, RGMII1);
  969. MS_PIN_DECL_(B12, SIG_EXPR_LIST_PTR(GPIOT1), SIG_EXPR_LIST_PTR(DASHB12),
  970. SIG_EXPR_LIST_PTR(RGMII1TXCTL));
  971. #define C12 154
  972. SIG_EXPR_LIST_DECL_SINGLE(GPIOT2, GPIOT2, SIG_DESC_SET(SCUA0, 2));
  973. SIG_EXPR_LIST_DECL_SINGLE(RMII1TXD0, RMII1, RMII1_DESC);
  974. SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD0, RGMII1);
  975. MS_PIN_DECL_(C12, SIG_EXPR_LIST_PTR(GPIOT2), SIG_EXPR_LIST_PTR(RMII1TXD0),
  976. SIG_EXPR_LIST_PTR(RGMII1TXD0));
  977. #define D12 155
  978. SIG_EXPR_LIST_DECL_SINGLE(GPIOT3, GPIOT3, SIG_DESC_SET(SCUA0, 3));
  979. SIG_EXPR_LIST_DECL_SINGLE(RMII1TXD1, RMII1, RMII1_DESC);
  980. SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD1, RGMII1);
  981. MS_PIN_DECL_(D12, SIG_EXPR_LIST_PTR(GPIOT3), SIG_EXPR_LIST_PTR(RMII1TXD1),
  982. SIG_EXPR_LIST_PTR(RGMII1TXD1));
  983. #define E12 156
  984. SIG_EXPR_LIST_DECL_SINGLE(GPIOT4, GPIOT4, SIG_DESC_SET(SCUA0, 4));
  985. SIG_EXPR_LIST_DECL_SINGLE(DASHE12, RMII1, RMII1_DESC);
  986. SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD2, RGMII1);
  987. MS_PIN_DECL_(E12, SIG_EXPR_LIST_PTR(GPIOT4), SIG_EXPR_LIST_PTR(DASHE12),
  988. SIG_EXPR_LIST_PTR(RGMII1TXD2));
  989. #define A13 157
  990. SIG_EXPR_LIST_DECL_SINGLE(GPIOT5, GPIOT5, SIG_DESC_SET(SCUA0, 5));
  991. SIG_EXPR_LIST_DECL_SINGLE(DASHA13, RMII1, RMII1_DESC);
  992. SIG_EXPR_LIST_DECL_SINGLE(RGMII1TXD3, RGMII1);
  993. MS_PIN_DECL_(A13, SIG_EXPR_LIST_PTR(GPIOT5), SIG_EXPR_LIST_PTR(DASHA13),
  994. SIG_EXPR_LIST_PTR(RGMII1TXD3));
  995. #define RMII2_DESC SIG_DESC_BIT(HW_STRAP1, 7, 0)
  996. #define D9 158
  997. SIG_EXPR_LIST_DECL_SINGLE(GPIOT6, GPIOT6, SIG_DESC_SET(SCUA0, 6));
  998. SIG_EXPR_LIST_DECL_SINGLE(RMII2TXEN, RMII2, RMII2_DESC);
  999. SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXCK, RGMII2);
  1000. MS_PIN_DECL_(D9, SIG_EXPR_LIST_PTR(GPIOT6), SIG_EXPR_LIST_PTR(RMII2TXEN),
  1001. SIG_EXPR_LIST_PTR(RGMII2TXCK));
  1002. #define E9 159
  1003. SIG_EXPR_LIST_DECL_SINGLE(GPIOT7, GPIOT7, SIG_DESC_SET(SCUA0, 7));
  1004. SIG_EXPR_LIST_DECL_SINGLE(DASHE9, RMII2, RMII2_DESC);
  1005. SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXCTL, RGMII2);
  1006. MS_PIN_DECL_(E9, SIG_EXPR_LIST_PTR(GPIOT7), SIG_EXPR_LIST_PTR(DASHE9),
  1007. SIG_EXPR_LIST_PTR(RGMII2TXCTL));
  1008. #define A10 160
  1009. SIG_EXPR_LIST_DECL_SINGLE(GPIOU0, GPIOU0, SIG_DESC_SET(SCUA0, 8));
  1010. SIG_EXPR_LIST_DECL_SINGLE(RMII2TXD0, RMII2, RMII2_DESC);
  1011. SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD0, RGMII2);
  1012. MS_PIN_DECL_(A10, SIG_EXPR_LIST_PTR(GPIOU0), SIG_EXPR_LIST_PTR(RMII2TXD0),
  1013. SIG_EXPR_LIST_PTR(RGMII2TXD0));
  1014. #define B10 161
  1015. SIG_EXPR_LIST_DECL_SINGLE(GPIOU1, GPIOU1, SIG_DESC_SET(SCUA0, 9));
  1016. SIG_EXPR_LIST_DECL_SINGLE(RMII2TXD1, RMII2, RMII2_DESC);
  1017. SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD1, RGMII2);
  1018. MS_PIN_DECL_(B10, SIG_EXPR_LIST_PTR(GPIOU1), SIG_EXPR_LIST_PTR(RMII2TXD1),
  1019. SIG_EXPR_LIST_PTR(RGMII2TXD1));
  1020. #define C10 162
  1021. SIG_EXPR_LIST_DECL_SINGLE(GPIOU2, GPIOU2, SIG_DESC_SET(SCUA0, 10));
  1022. SIG_EXPR_LIST_DECL_SINGLE(DASHC10, RMII2, RMII2_DESC);
  1023. SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD2, RGMII2);
  1024. MS_PIN_DECL_(C10, SIG_EXPR_LIST_PTR(GPIOU2), SIG_EXPR_LIST_PTR(DASHC10),
  1025. SIG_EXPR_LIST_PTR(RGMII2TXD2));
  1026. #define D10 163
  1027. SIG_EXPR_LIST_DECL_SINGLE(GPIOU3, GPIOU3, SIG_DESC_SET(SCUA0, 11));
  1028. SIG_EXPR_LIST_DECL_SINGLE(DASHD10, RMII2, RMII2_DESC);
  1029. SIG_EXPR_LIST_DECL_SINGLE(RGMII2TXD3, RGMII2);
  1030. MS_PIN_DECL_(D10, SIG_EXPR_LIST_PTR(GPIOU3), SIG_EXPR_LIST_PTR(DASHD10),
  1031. SIG_EXPR_LIST_PTR(RGMII2TXD3));
  1032. #define E11 164
  1033. SIG_EXPR_LIST_DECL_SINGLE(GPIOU4, GPIOU4, SIG_DESC_SET(SCUA0, 12));
  1034. SIG_EXPR_LIST_DECL_SINGLE(RMII1RCLK, RMII1, RMII1_DESC);
  1035. SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXCK, RGMII1);
  1036. MS_PIN_DECL_(E11, SIG_EXPR_LIST_PTR(GPIOU4), SIG_EXPR_LIST_PTR(RMII1RCLK),
  1037. SIG_EXPR_LIST_PTR(RGMII1RXCK));
  1038. #define D11 165
  1039. SIG_EXPR_LIST_DECL_SINGLE(GPIOU5, GPIOU5, SIG_DESC_SET(SCUA0, 13));
  1040. SIG_EXPR_LIST_DECL_SINGLE(DASHD11, RMII1, RMII1_DESC);
  1041. SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXCTL, RGMII1);
  1042. MS_PIN_DECL_(D11, SIG_EXPR_LIST_PTR(GPIOU5), SIG_EXPR_LIST_PTR(DASHD11),
  1043. SIG_EXPR_LIST_PTR(RGMII1RXCTL));
  1044. #define C11 166
  1045. SIG_EXPR_LIST_DECL_SINGLE(GPIOU6, GPIOU6, SIG_DESC_SET(SCUA0, 14));
  1046. SIG_EXPR_LIST_DECL_SINGLE(RMII1RXD0, RMII1, RMII1_DESC);
  1047. SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD0, RGMII1);
  1048. MS_PIN_DECL_(C11, SIG_EXPR_LIST_PTR(GPIOU6), SIG_EXPR_LIST_PTR(RMII1RXD0),
  1049. SIG_EXPR_LIST_PTR(RGMII1RXD0));
  1050. #define B11 167
  1051. SIG_EXPR_LIST_DECL_SINGLE(GPIOU7, GPIOU7, SIG_DESC_SET(SCUA0, 15));
  1052. SIG_EXPR_LIST_DECL_SINGLE(RMII1RXD1, RMII1, RMII1_DESC);
  1053. SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD1, RGMII1);
  1054. MS_PIN_DECL_(B11, SIG_EXPR_LIST_PTR(GPIOU7), SIG_EXPR_LIST_PTR(RMII1RXD1),
  1055. SIG_EXPR_LIST_PTR(RGMII1RXD1));
  1056. #define A11 168
  1057. SIG_EXPR_LIST_DECL_SINGLE(GPIOV0, GPIOV0, SIG_DESC_SET(SCUA0, 16));
  1058. SIG_EXPR_LIST_DECL_SINGLE(RMII1CRSDV, RMII1, RMII1_DESC);
  1059. SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD2, RGMII1);
  1060. MS_PIN_DECL_(A11, SIG_EXPR_LIST_PTR(GPIOV0), SIG_EXPR_LIST_PTR(RMII1CRSDV),
  1061. SIG_EXPR_LIST_PTR(RGMII1RXD2));
  1062. #define E10 169
  1063. SIG_EXPR_LIST_DECL_SINGLE(GPIOV1, GPIOV1, SIG_DESC_SET(SCUA0, 17));
  1064. SIG_EXPR_LIST_DECL_SINGLE(RMII1RXER, RMII1, RMII1_DESC);
  1065. SIG_EXPR_LIST_DECL_SINGLE(RGMII1RXD3, RGMII1);
  1066. MS_PIN_DECL_(E10, SIG_EXPR_LIST_PTR(GPIOV1), SIG_EXPR_LIST_PTR(RMII1RXER),
  1067. SIG_EXPR_LIST_PTR(RGMII1RXD3));
  1068. #define C9 170
  1069. SIG_EXPR_LIST_DECL_SINGLE(GPIOV2, GPIOV2, SIG_DESC_SET(SCUA0, 18));
  1070. SIG_EXPR_LIST_DECL_SINGLE(RMII2RCLK, RMII2, RMII2_DESC);
  1071. SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXCK, RGMII2);
  1072. MS_PIN_DECL_(C9, SIG_EXPR_LIST_PTR(GPIOV2), SIG_EXPR_LIST_PTR(RMII2RCLK),
  1073. SIG_EXPR_LIST_PTR(RGMII2RXCK));
  1074. #define B9 171
  1075. SIG_EXPR_LIST_DECL_SINGLE(GPIOV3, GPIOV3, SIG_DESC_SET(SCUA0, 19));
  1076. SIG_EXPR_LIST_DECL_SINGLE(DASHB9, RMII2, RMII2_DESC);
  1077. SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXCTL, RGMII2);
  1078. MS_PIN_DECL_(B9, SIG_EXPR_LIST_PTR(GPIOV3), SIG_EXPR_LIST_PTR(DASHB9),
  1079. SIG_EXPR_LIST_PTR(RGMII2RXCTL));
  1080. #define A9 172
  1081. SIG_EXPR_LIST_DECL_SINGLE(GPIOV4, GPIOV4, SIG_DESC_SET(SCUA0, 20));
  1082. SIG_EXPR_LIST_DECL_SINGLE(RMII2RXD0, RMII2, RMII2_DESC);
  1083. SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD0, RGMII2);
  1084. MS_PIN_DECL_(A9, SIG_EXPR_LIST_PTR(GPIOV4), SIG_EXPR_LIST_PTR(RMII2RXD0),
  1085. SIG_EXPR_LIST_PTR(RGMII2RXD0));
  1086. #define E8 173
  1087. SIG_EXPR_LIST_DECL_SINGLE(GPIOV5, GPIOV5, SIG_DESC_SET(SCUA0, 21));
  1088. SIG_EXPR_LIST_DECL_SINGLE(RMII2RXD1, RMII2, RMII2_DESC);
  1089. SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD1, RGMII2);
  1090. MS_PIN_DECL_(E8, SIG_EXPR_LIST_PTR(GPIOV5), SIG_EXPR_LIST_PTR(RMII2RXD1),
  1091. SIG_EXPR_LIST_PTR(RGMII2RXD1));
  1092. #define D8 174
  1093. SIG_EXPR_LIST_DECL_SINGLE(GPIOV6, GPIOV6, SIG_DESC_SET(SCUA0, 22));
  1094. SIG_EXPR_LIST_DECL_SINGLE(RMII2CRSDV, RMII2, RMII2_DESC);
  1095. SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD2, RGMII2);
  1096. MS_PIN_DECL_(D8, SIG_EXPR_LIST_PTR(GPIOV6), SIG_EXPR_LIST_PTR(RMII2CRSDV),
  1097. SIG_EXPR_LIST_PTR(RGMII2RXD2));
  1098. #define C8 175
  1099. SIG_EXPR_LIST_DECL_SINGLE(GPIOV7, GPIOV7, SIG_DESC_SET(SCUA0, 23));
  1100. SIG_EXPR_LIST_DECL_SINGLE(RMII2RXER, RMII2, RMII2_DESC);
  1101. SIG_EXPR_LIST_DECL_SINGLE(RGMII2RXD3, RGMII2);
  1102. MS_PIN_DECL_(C8, SIG_EXPR_LIST_PTR(GPIOV7), SIG_EXPR_LIST_PTR(RMII2RXER),
  1103. SIG_EXPR_LIST_PTR(RGMII2RXD3));
  1104. FUNC_GROUP_DECL(RMII1, A12, B12, C12, D12, E12, A13, E11, D11, C11, B11, A11,
  1105. E10);
  1106. FUNC_GROUP_DECL(RGMII1, A12, B12, C12, D12, E12, A13, E11, D11, C11, B11, A11,
  1107. E10);
  1108. FUNC_GROUP_DECL(RMII2, D9, E9, A10, B10, C10, D10, C9, B9, A9, E8, D8, C8);
  1109. FUNC_GROUP_DECL(RGMII2, D9, E9, A10, B10, C10, D10, C9, B9, A9, E8, D8, C8);
  1110. #define L5 176
  1111. SIG_EXPR_LIST_DECL_SINGLE(GPIOW0, GPIOW0, SIG_DESC_SET(SCUA0, 24));
  1112. SIG_EXPR_LIST_DECL_SINGLE(ADC0, ADC0);
  1113. MS_PIN_DECL_(L5, SIG_EXPR_LIST_PTR(GPIOW0), SIG_EXPR_LIST_PTR(ADC0));
  1114. FUNC_GROUP_DECL(ADC0, L5);
  1115. #define L4 177
  1116. SIG_EXPR_LIST_DECL_SINGLE(GPIOW1, GPIOW1, SIG_DESC_SET(SCUA0, 25));
  1117. SIG_EXPR_LIST_DECL_SINGLE(ADC1, ADC1);
  1118. MS_PIN_DECL_(L4, SIG_EXPR_LIST_PTR(GPIOW1), SIG_EXPR_LIST_PTR(ADC1));
  1119. FUNC_GROUP_DECL(ADC1, L4);
  1120. #define L3 178
  1121. SIG_EXPR_LIST_DECL_SINGLE(GPIOW2, GPIOW2, SIG_DESC_SET(SCUA0, 26));
  1122. SIG_EXPR_LIST_DECL_SINGLE(ADC2, ADC2);
  1123. MS_PIN_DECL_(L3, SIG_EXPR_LIST_PTR(GPIOW2), SIG_EXPR_LIST_PTR(ADC2));
  1124. FUNC_GROUP_DECL(ADC2, L3);
  1125. #define L2 179
  1126. SIG_EXPR_LIST_DECL_SINGLE(GPIOW3, GPIOW3, SIG_DESC_SET(SCUA0, 27));
  1127. SIG_EXPR_LIST_DECL_SINGLE(ADC3, ADC3);
  1128. MS_PIN_DECL_(L2, SIG_EXPR_LIST_PTR(GPIOW3), SIG_EXPR_LIST_PTR(ADC3));
  1129. FUNC_GROUP_DECL(ADC3, L2);
  1130. #define L1 180
  1131. SIG_EXPR_LIST_DECL_SINGLE(GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28));
  1132. SIG_EXPR_LIST_DECL_SINGLE(ADC4, ADC4);
  1133. MS_PIN_DECL_(L1, SIG_EXPR_LIST_PTR(GPIOW4), SIG_EXPR_LIST_PTR(ADC4));
  1134. FUNC_GROUP_DECL(ADC4, L1);
  1135. #define M5 181
  1136. SIG_EXPR_LIST_DECL_SINGLE(GPIOW5, GPIOW5, SIG_DESC_SET(SCUA0, 29));
  1137. SIG_EXPR_LIST_DECL_SINGLE(ADC5, ADC5);
  1138. MS_PIN_DECL_(M5, SIG_EXPR_LIST_PTR(GPIOW5), SIG_EXPR_LIST_PTR(ADC5));
  1139. FUNC_GROUP_DECL(ADC5, M5);
  1140. #define M4 182
  1141. SIG_EXPR_LIST_DECL_SINGLE(GPIOW6, GPIOW6, SIG_DESC_SET(SCUA0, 30));
  1142. SIG_EXPR_LIST_DECL_SINGLE(ADC6, ADC6);
  1143. MS_PIN_DECL_(M4, SIG_EXPR_LIST_PTR(GPIOW6), SIG_EXPR_LIST_PTR(ADC6));
  1144. FUNC_GROUP_DECL(ADC6, M4);
  1145. #define M3 183
  1146. SIG_EXPR_LIST_DECL_SINGLE(GPIOW7, GPIOW7, SIG_DESC_SET(SCUA0, 31));
  1147. SIG_EXPR_LIST_DECL_SINGLE(ADC7, ADC7);
  1148. MS_PIN_DECL_(M3, SIG_EXPR_LIST_PTR(GPIOW7), SIG_EXPR_LIST_PTR(ADC7));
  1149. FUNC_GROUP_DECL(ADC7, M3);
  1150. #define M2 184
  1151. SIG_EXPR_LIST_DECL_SINGLE(GPIOX0, GPIOX0, SIG_DESC_SET(SCUA4, 0));
  1152. SIG_EXPR_LIST_DECL_SINGLE(ADC8, ADC8);
  1153. MS_PIN_DECL_(M2, SIG_EXPR_LIST_PTR(GPIOX0), SIG_EXPR_LIST_PTR(ADC8));
  1154. FUNC_GROUP_DECL(ADC8, M2);
  1155. #define M1 185
  1156. SIG_EXPR_LIST_DECL_SINGLE(GPIOX1, GPIOX1, SIG_DESC_SET(SCUA4, 1));
  1157. SIG_EXPR_LIST_DECL_SINGLE(ADC9, ADC9);
  1158. MS_PIN_DECL_(M1, SIG_EXPR_LIST_PTR(GPIOX1), SIG_EXPR_LIST_PTR(ADC9));
  1159. FUNC_GROUP_DECL(ADC9, M1);
  1160. #define N5 186
  1161. SIG_EXPR_LIST_DECL_SINGLE(GPIOX2, GPIOX2, SIG_DESC_SET(SCUA4, 2));
  1162. SIG_EXPR_LIST_DECL_SINGLE(ADC10, ADC10);
  1163. MS_PIN_DECL_(N5, SIG_EXPR_LIST_PTR(GPIOX2), SIG_EXPR_LIST_PTR(ADC10));
  1164. FUNC_GROUP_DECL(ADC10, N5);
  1165. #define N4 187
  1166. SIG_EXPR_LIST_DECL_SINGLE(GPIOX3, GPIOX3, SIG_DESC_SET(SCUA4, 3));
  1167. SIG_EXPR_LIST_DECL_SINGLE(ADC11, ADC11);
  1168. MS_PIN_DECL_(N4, SIG_EXPR_LIST_PTR(GPIOX3), SIG_EXPR_LIST_PTR(ADC11));
  1169. FUNC_GROUP_DECL(ADC11, N4);
  1170. #define N3 188
  1171. SIG_EXPR_LIST_DECL_SINGLE(GPIOX4, GPIOX4, SIG_DESC_SET(SCUA4, 4));
  1172. SIG_EXPR_LIST_DECL_SINGLE(ADC12, ADC12);
  1173. MS_PIN_DECL_(N3, SIG_EXPR_LIST_PTR(GPIOX4), SIG_EXPR_LIST_PTR(ADC12));
  1174. FUNC_GROUP_DECL(ADC12, N3);
  1175. #define N2 189
  1176. SIG_EXPR_LIST_DECL_SINGLE(GPIOX5, GPIOX5, SIG_DESC_SET(SCUA4, 5));
  1177. SIG_EXPR_LIST_DECL_SINGLE(ADC13, ADC13);
  1178. MS_PIN_DECL_(N2, SIG_EXPR_LIST_PTR(GPIOX5), SIG_EXPR_LIST_PTR(ADC13));
  1179. FUNC_GROUP_DECL(ADC13, N2);
  1180. #define N1 190
  1181. SIG_EXPR_LIST_DECL_SINGLE(GPIOX6, GPIOX6, SIG_DESC_SET(SCUA4, 6));
  1182. SIG_EXPR_LIST_DECL_SINGLE(ADC14, ADC14);
  1183. MS_PIN_DECL_(N1, SIG_EXPR_LIST_PTR(GPIOX6), SIG_EXPR_LIST_PTR(ADC14));
  1184. FUNC_GROUP_DECL(ADC14, N1);
  1185. #define P5 191
  1186. SIG_EXPR_LIST_DECL_SINGLE(GPIOX7, GPIOX7, SIG_DESC_SET(SCUA4, 7));
  1187. SIG_EXPR_LIST_DECL_SINGLE(ADC15, ADC15);
  1188. MS_PIN_DECL_(P5, SIG_EXPR_LIST_PTR(GPIOX7), SIG_EXPR_LIST_PTR(ADC15));
  1189. FUNC_GROUP_DECL(ADC15, P5);
  1190. #define C21 192
  1191. SIG_EXPR_DECL(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8));
  1192. SIG_EXPR_DECL(SIOS3, ACPI, ACPI_DESC);
  1193. SIG_EXPR_LIST_DECL_DUAL(SIOS3, SIOS3, ACPI);
  1194. SS_PIN_DECL(C21, GPIOY0, SIOS3);
  1195. FUNC_GROUP_DECL(SIOS3, C21);
  1196. #define F20 193
  1197. SIG_EXPR_DECL(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9));
  1198. SIG_EXPR_DECL(SIOS5, ACPI, ACPI_DESC);
  1199. SIG_EXPR_LIST_DECL_DUAL(SIOS5, SIOS5, ACPI);
  1200. SS_PIN_DECL(F20, GPIOY1, SIOS5);
  1201. FUNC_GROUP_DECL(SIOS5, F20);
  1202. #define G20 194
  1203. SIG_EXPR_DECL(SIOPWREQ, SIOPWREQ, SIG_DESC_SET(SCUA4, 10));
  1204. SIG_EXPR_DECL(SIOPWREQ, ACPI, ACPI_DESC);
  1205. SIG_EXPR_LIST_DECL_DUAL(SIOPWREQ, SIOPWREQ, ACPI);
  1206. SS_PIN_DECL(G20, GPIOY2, SIOPWREQ);
  1207. FUNC_GROUP_DECL(SIOPWREQ, G20);
  1208. #define K20 195
  1209. SIG_EXPR_DECL(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11));
  1210. SIG_EXPR_DECL(SIOONCTRL, ACPI, ACPI_DESC);
  1211. SIG_EXPR_LIST_DECL_DUAL(SIOONCTRL, SIOONCTRL, ACPI);
  1212. SS_PIN_DECL(K20, GPIOY3, SIOONCTRL);
  1213. FUNC_GROUP_DECL(SIOONCTRL, K20);
  1214. FUNC_GROUP_DECL(ACPI, B19, A20, D17, A19, C21, F20, G20, K20);
  1215. #define R22 200
  1216. #define R22_DESC SIG_DESC_SET(SCUA4, 16)
  1217. SIG_EXPR_DECL(ROMA2, ROM8, R22_DESC, VPOOFF0_DESC);
  1218. SIG_EXPR_DECL(ROMA2, ROM16, R22_DESC, VPOOFF0_DESC);
  1219. SIG_EXPR_LIST_DECL_DUAL(ROMA2, ROM8, ROM16);
  1220. SIG_EXPR_DECL(VPOB0, VPO12, R22_DESC, VPO12_DESC);
  1221. SIG_EXPR_DECL(VPOB0, VPO24, R22_DESC, VPO24_DESC);
  1222. SIG_EXPR_DECL(VPOB0, VPOOFF1, R22_DESC, VPOOFF1_DESC);
  1223. SIG_EXPR_LIST_DECL(VPOB0, SIG_EXPR_PTR(VPOB0, VPO12),
  1224. SIG_EXPR_PTR(VPOB0, VPO24), SIG_EXPR_PTR(VPOB0, VPOOFF1));
  1225. MS_PIN_DECL(R22, GPIOZ0, ROMA2, VPOB0);
  1226. #define P18 201
  1227. #define P18_DESC SIG_DESC_SET(SCUA4, 17)
  1228. SIG_EXPR_DECL(ROMA3, ROM8, P18_DESC, VPOOFF0_DESC);
  1229. SIG_EXPR_DECL(ROMA3, ROM16, P18_DESC, VPOOFF0_DESC);
  1230. SIG_EXPR_LIST_DECL_DUAL(ROMA3, ROM8, ROM16);
  1231. SIG_EXPR_DECL(VPOB1, VPO12, P18_DESC, VPO12_DESC);
  1232. SIG_EXPR_DECL(VPOB1, VPO24, P18_DESC, VPO24_DESC);
  1233. SIG_EXPR_DECL(VPOB1, VPOOFF1, P18_DESC, VPOOFF1_DESC);
  1234. SIG_EXPR_LIST_DECL(VPOB1, SIG_EXPR_PTR(VPOB1, VPO12),
  1235. SIG_EXPR_PTR(VPOB1, VPO24), SIG_EXPR_PTR(VPOB1, VPOOFF1));
  1236. MS_PIN_DECL(P18, GPIOZ1, ROMA3, VPOB1);
  1237. #define P19 202
  1238. #define P19_DESC SIG_DESC_SET(SCUA4, 18)
  1239. SIG_EXPR_DECL(ROMA4, ROM8, P19_DESC, VPOOFF0_DESC);
  1240. SIG_EXPR_DECL(ROMA4, ROM16, P19_DESC, VPOOFF0_DESC);
  1241. SIG_EXPR_LIST_DECL_DUAL(ROMA4, ROM8, ROM16);
  1242. SIG_EXPR_DECL(VPOB2, VPO12, P19_DESC, VPO12_DESC);
  1243. SIG_EXPR_DECL(VPOB2, VPO24, P19_DESC, VPO24_DESC);
  1244. SIG_EXPR_DECL(VPOB2, VPOOFF1, P19_DESC, VPOOFF1_DESC);
  1245. SIG_EXPR_LIST_DECL(VPOB2, SIG_EXPR_PTR(VPOB2, VPO12),
  1246. SIG_EXPR_PTR(VPOB2, VPO24), SIG_EXPR_PTR(VPOB2, VPOOFF1));
  1247. MS_PIN_DECL(P19, GPIOZ2, ROMA4, VPOB2);
  1248. #define P20 203
  1249. #define P20_DESC SIG_DESC_SET(SCUA4, 19)
  1250. SIG_EXPR_DECL(ROMA5, ROM8, P20_DESC, VPOOFF0_DESC);
  1251. SIG_EXPR_DECL(ROMA5, ROM16, P20_DESC, VPOOFF0_DESC);
  1252. SIG_EXPR_LIST_DECL_DUAL(ROMA5, ROM8, ROM16);
  1253. SIG_EXPR_DECL(VPOB3, VPO12, P20_DESC, VPO12_DESC);
  1254. SIG_EXPR_DECL(VPOB3, VPO24, P20_DESC, VPO24_DESC);
  1255. SIG_EXPR_DECL(VPOB3, VPOOFF1, P20_DESC, VPOOFF1_DESC);
  1256. SIG_EXPR_LIST_DECL(VPOB3, SIG_EXPR_PTR(VPOB3, VPO12),
  1257. SIG_EXPR_PTR(VPOB3, VPO24), SIG_EXPR_PTR(VPOB3, VPOOFF1));
  1258. MS_PIN_DECL(P20, GPIOZ3, ROMA5, VPOB3);
  1259. #define P21 204
  1260. #define P21_DESC SIG_DESC_SET(SCUA4, 20)
  1261. SIG_EXPR_DECL(ROMA6, ROM8, P21_DESC, VPOOFF0_DESC);
  1262. SIG_EXPR_DECL(ROMA6, ROM16, P21_DESC, VPOOFF0_DESC);
  1263. SIG_EXPR_LIST_DECL_DUAL(ROMA6, ROM8, ROM16);
  1264. SIG_EXPR_DECL(VPOB4, VPO12, P21_DESC, VPO12_DESC);
  1265. SIG_EXPR_DECL(VPOB4, VPO24, P21_DESC, VPO24_DESC);
  1266. SIG_EXPR_DECL(VPOB4, VPOOFF1, P21_DESC, VPOOFF1_DESC);
  1267. SIG_EXPR_LIST_DECL(VPOB4, SIG_EXPR_PTR(VPOB4, VPO12),
  1268. SIG_EXPR_PTR(VPOB4, VPO24), SIG_EXPR_PTR(VPOB4, VPOOFF1));
  1269. MS_PIN_DECL(P21, GPIOZ4, ROMA6, VPOB4);
  1270. #define P22 205
  1271. #define P22_DESC SIG_DESC_SET(SCUA4, 21)
  1272. SIG_EXPR_DECL(ROMA7, ROM8, P22_DESC, VPOOFF0_DESC);
  1273. SIG_EXPR_DECL(ROMA7, ROM16, P22_DESC, VPOOFF0_DESC);
  1274. SIG_EXPR_LIST_DECL_DUAL(ROMA7, ROM8, ROM16);
  1275. SIG_EXPR_DECL(VPOB5, VPO12, P22_DESC, VPO12_DESC);
  1276. SIG_EXPR_DECL(VPOB5, VPO24, P22_DESC, VPO24_DESC);
  1277. SIG_EXPR_DECL(VPOB5, VPOOFF1, P22_DESC, VPOOFF1_DESC);
  1278. SIG_EXPR_LIST_DECL(VPOB5, SIG_EXPR_PTR(VPOB5, VPO12),
  1279. SIG_EXPR_PTR(VPOB5, VPO24), SIG_EXPR_PTR(VPOB5, VPOOFF1));
  1280. MS_PIN_DECL(P22, GPIOZ5, ROMA7, VPOB5);
  1281. #define M19 206
  1282. #define M19_DESC SIG_DESC_SET(SCUA4, 22)
  1283. SIG_EXPR_DECL(ROMA8, ROM8, M19_DESC, VPOOFF0_DESC);
  1284. SIG_EXPR_DECL(ROMA8, ROM16, M19_DESC, VPOOFF0_DESC);
  1285. SIG_EXPR_LIST_DECL_DUAL(ROMA8, ROM8, ROM16);
  1286. SIG_EXPR_DECL(VPOB6, VPO12, M19_DESC, VPO12_DESC);
  1287. SIG_EXPR_DECL(VPOB6, VPO24, M19_DESC, VPO24_DESC);
  1288. SIG_EXPR_DECL(VPOB6, VPOOFF1, M19_DESC, VPOOFF1_DESC);
  1289. SIG_EXPR_LIST_DECL(VPOB6, SIG_EXPR_PTR(VPOB6, VPO12),
  1290. SIG_EXPR_PTR(VPOB6, VPO24), SIG_EXPR_PTR(VPOB6, VPOOFF1));
  1291. MS_PIN_DECL(M19, GPIOZ6, ROMA8, VPOB6);
  1292. #define M20 207
  1293. #define M20_DESC SIG_DESC_SET(SCUA4, 23)
  1294. SIG_EXPR_DECL(ROMA9, ROM8, M20_DESC, VPOOFF0_DESC);
  1295. SIG_EXPR_DECL(ROMA9, ROM16, M20_DESC, VPOOFF0_DESC);
  1296. SIG_EXPR_LIST_DECL_DUAL(ROMA9, ROM8, ROM16);
  1297. SIG_EXPR_DECL(VPOB7, VPO12, M20_DESC, VPO12_DESC);
  1298. SIG_EXPR_DECL(VPOB7, VPO24, M20_DESC, VPO24_DESC);
  1299. SIG_EXPR_DECL(VPOB7, VPOOFF1, M20_DESC, VPOOFF1_DESC);
  1300. SIG_EXPR_LIST_DECL(VPOB7, SIG_EXPR_PTR(VPOB7, VPO12),
  1301. SIG_EXPR_PTR(VPOB7, VPO24), SIG_EXPR_PTR(VPOB7, VPOOFF1));
  1302. MS_PIN_DECL(M20, GPIOZ7, ROMA9, VPOB7);
  1303. #define M21 208
  1304. #define M21_DESC SIG_DESC_SET(SCUA4, 24)
  1305. SIG_EXPR_DECL(ROMA10, ROM8, M21_DESC, VPOOFF0_DESC);
  1306. SIG_EXPR_DECL(ROMA10, ROM16, M21_DESC, VPOOFF0_DESC);
  1307. SIG_EXPR_LIST_DECL_DUAL(ROMA10, ROM8, ROM16);
  1308. SIG_EXPR_DECL(VPOG0, VPO12, M21_DESC, VPO12_DESC);
  1309. SIG_EXPR_DECL(VPOG0, VPO24, M21_DESC, VPO24_DESC);
  1310. SIG_EXPR_DECL(VPOG0, VPOOFF1, M21_DESC, VPOOFF1_DESC);
  1311. SIG_EXPR_LIST_DECL(VPOG0, SIG_EXPR_PTR(VPOG0, VPO12),
  1312. SIG_EXPR_PTR(VPOG0, VPO24), SIG_EXPR_PTR(VPOG0, VPOOFF1));
  1313. MS_PIN_DECL(M21, GPIOAA0, ROMA10, VPOG0);
  1314. #define M22 209
  1315. #define M22_DESC SIG_DESC_SET(SCUA4, 25)
  1316. SIG_EXPR_DECL(ROMA11, ROM8, M22_DESC, VPOOFF0_DESC);
  1317. SIG_EXPR_DECL(ROMA11, ROM16, M22_DESC, VPOOFF0_DESC);
  1318. SIG_EXPR_LIST_DECL_DUAL(ROMA11, ROM8, ROM16);
  1319. SIG_EXPR_DECL(VPOG1, VPO12, M22_DESC, VPO12_DESC);
  1320. SIG_EXPR_DECL(VPOG1, VPO24, M22_DESC, VPO24_DESC);
  1321. SIG_EXPR_DECL(VPOG1, VPOOFF1, M22_DESC, VPOOFF1_DESC);
  1322. SIG_EXPR_LIST_DECL(VPOG1, SIG_EXPR_PTR(VPOG1, VPO12),
  1323. SIG_EXPR_PTR(VPOG1, VPO24), SIG_EXPR_PTR(VPOG1, VPOOFF1));
  1324. MS_PIN_DECL(M22, GPIOAA1, ROMA11, VPOG1);
  1325. #define L18 210
  1326. #define L18_DESC SIG_DESC_SET(SCUA4, 26)
  1327. SIG_EXPR_DECL(ROMA12, ROM8, L18_DESC, VPOOFF0_DESC);
  1328. SIG_EXPR_DECL(ROMA12, ROM16, L18_DESC, VPOOFF0_DESC);
  1329. SIG_EXPR_LIST_DECL_DUAL(ROMA12, ROM8, ROM16);
  1330. SIG_EXPR_DECL(VPOG2, VPO12, L18_DESC, VPO12_DESC);
  1331. SIG_EXPR_DECL(VPOG2, VPO24, L18_DESC, VPO24_DESC);
  1332. SIG_EXPR_DECL(VPOG2, VPOOFF1, L18_DESC, VPOOFF1_DESC);
  1333. SIG_EXPR_LIST_DECL(VPOG2, SIG_EXPR_PTR(VPOG2, VPO12),
  1334. SIG_EXPR_PTR(VPOG2, VPO24), SIG_EXPR_PTR(VPOG2, VPOOFF1));
  1335. MS_PIN_DECL(L18, GPIOAA2, ROMA12, VPOG2);
  1336. #define L19 211
  1337. #define L19_DESC SIG_DESC_SET(SCUA4, 27)
  1338. SIG_EXPR_DECL(ROMA13, ROM8, L19_DESC, VPOOFF0_DESC);
  1339. SIG_EXPR_DECL(ROMA13, ROM16, L19_DESC, VPOOFF0_DESC);
  1340. SIG_EXPR_LIST_DECL_DUAL(ROMA13, ROM8, ROM16);
  1341. SIG_EXPR_DECL(VPOG3, VPO12, L19_DESC, VPO12_DESC);
  1342. SIG_EXPR_DECL(VPOG3, VPO24, L19_DESC, VPO24_DESC);
  1343. SIG_EXPR_DECL(VPOG3, VPOOFF1, L19_DESC, VPOOFF1_DESC);
  1344. SIG_EXPR_LIST_DECL(VPOG3, SIG_EXPR_PTR(VPOG3, VPO12),
  1345. SIG_EXPR_PTR(VPOG3, VPO24), SIG_EXPR_PTR(VPOG3, VPOOFF1));
  1346. MS_PIN_DECL(L19, GPIOAA3, ROMA13, VPOG3);
  1347. #define L20 212
  1348. #define L20_DESC SIG_DESC_SET(SCUA4, 28)
  1349. SIG_EXPR_DECL(ROMA14, ROM8, L20_DESC, VPO_OFF_12);
  1350. SIG_EXPR_DECL(ROMA14, ROM16, L20_DESC, VPO_OFF_12);
  1351. SIG_EXPR_LIST_DECL_DUAL(ROMA14, ROM8, ROM16);
  1352. SIG_EXPR_DECL(VPOG4, VPO24, L20_DESC, VPO24_DESC);
  1353. SIG_EXPR_DECL(VPOG4, VPOOFF1, L20_DESC, VPOOFF1_DESC);
  1354. SIG_EXPR_LIST_DECL_DUAL(VPOG4, VPO24, VPOOFF1);
  1355. MS_PIN_DECL(L20, GPIOAA4, ROMA14, VPOG4);
  1356. #define L21 213
  1357. #define L21_DESC SIG_DESC_SET(SCUA4, 29)
  1358. SIG_EXPR_DECL(ROMA15, ROM8, L21_DESC, VPO_OFF_12);
  1359. SIG_EXPR_DECL(ROMA15, ROM16, L21_DESC, VPO_OFF_12);
  1360. SIG_EXPR_LIST_DECL_DUAL(ROMA15, ROM8, ROM16);
  1361. SIG_EXPR_DECL(VPOG5, VPO24, L21_DESC, VPO24_DESC);
  1362. SIG_EXPR_DECL(VPOG5, VPOOFF1, L21_DESC, VPOOFF1_DESC);
  1363. SIG_EXPR_LIST_DECL_DUAL(VPOG5, VPO24, VPOOFF1);
  1364. MS_PIN_DECL(L21, GPIOAA5, ROMA15, VPOG5);
  1365. #define T18 214
  1366. #define T18_DESC SIG_DESC_SET(SCUA4, 30)
  1367. SIG_EXPR_DECL(ROMA16, ROM8, T18_DESC, VPO_OFF_12);
  1368. SIG_EXPR_DECL(ROMA16, ROM16, T18_DESC, VPO_OFF_12);
  1369. SIG_EXPR_LIST_DECL_DUAL(ROMA16, ROM8, ROM16);
  1370. SIG_EXPR_DECL(VPOG6, VPO24, T18_DESC, VPO24_DESC);
  1371. SIG_EXPR_DECL(VPOG6, VPOOFF1, T18_DESC, VPOOFF1_DESC);
  1372. SIG_EXPR_LIST_DECL_DUAL(VPOG6, VPO24, VPOOFF1);
  1373. MS_PIN_DECL(T18, GPIOAA6, ROMA16, VPOG6);
  1374. #define N18 215
  1375. #define N18_DESC SIG_DESC_SET(SCUA4, 31)
  1376. SIG_EXPR_DECL(ROMA17, ROM8, N18_DESC, VPO_OFF_12);
  1377. SIG_EXPR_DECL(ROMA17, ROM16, N18_DESC, VPO_OFF_12);
  1378. SIG_EXPR_LIST_DECL_DUAL(ROMA17, ROM8, ROM16);
  1379. SIG_EXPR_DECL(VPOG7, VPO24, N18_DESC, VPO24_DESC);
  1380. SIG_EXPR_DECL(VPOG7, VPOOFF1, N18_DESC, VPOOFF1_DESC);
  1381. SIG_EXPR_LIST_DECL_DUAL(VPOG7, VPO24, VPOOFF1);
  1382. MS_PIN_DECL(N18, GPIOAA7, ROMA17, VPOG7);
  1383. #define N19 216
  1384. #define N19_DESC SIG_DESC_SET(SCUA8, 0)
  1385. SIG_EXPR_DECL(ROMA18, ROM8, N19_DESC, VPO_OFF_12);
  1386. SIG_EXPR_DECL(ROMA18, ROM16, N19_DESC, VPO_OFF_12);
  1387. SIG_EXPR_LIST_DECL_DUAL(ROMA18, ROM8, ROM16);
  1388. SIG_EXPR_DECL(VPOR0, VPO24, N19_DESC, VPO24_DESC);
  1389. SIG_EXPR_DECL(VPOR0, VPOOFF1, N19_DESC, VPOOFF1_DESC);
  1390. SIG_EXPR_LIST_DECL_DUAL(VPOR0, VPO24, VPOOFF1);
  1391. MS_PIN_DECL(N19, GPIOAB0, ROMA18, VPOR0);
  1392. #define M18 217
  1393. #define M18_DESC SIG_DESC_SET(SCUA8, 1)
  1394. SIG_EXPR_DECL(ROMA19, ROM8, M18_DESC, VPO_OFF_12);
  1395. SIG_EXPR_DECL(ROMA19, ROM16, M18_DESC, VPO_OFF_12);
  1396. SIG_EXPR_LIST_DECL_DUAL(ROMA19, ROM8, ROM16);
  1397. SIG_EXPR_DECL(VPOR1, VPO24, M18_DESC, VPO24_DESC);
  1398. SIG_EXPR_DECL(VPOR1, VPOOFF1, M18_DESC, VPOOFF1_DESC);
  1399. SIG_EXPR_LIST_DECL_DUAL(VPOR1, VPO24, VPOOFF1);
  1400. MS_PIN_DECL(M18, GPIOAB1, ROMA19, VPOR1);
  1401. #define N22 218
  1402. #define N22_DESC SIG_DESC_SET(SCUA8, 2)
  1403. SIG_EXPR_DECL(ROMA20, ROM8, N22_DESC, VPO_OFF_12);
  1404. SIG_EXPR_DECL(ROMA20, ROM16, N22_DESC, VPO_OFF_12);
  1405. SIG_EXPR_LIST_DECL_DUAL(ROMA20, ROM8, ROM16);
  1406. SIG_EXPR_DECL(VPOR2, VPO24, N22_DESC, VPO24_DESC);
  1407. SIG_EXPR_DECL(VPOR2, VPOOFF1, N22_DESC, VPOOFF1_DESC);
  1408. SIG_EXPR_LIST_DECL_DUAL(VPOR2, VPO24, VPOOFF1);
  1409. MS_PIN_DECL(N22, GPIOAB2, ROMA20, VPOR2);
  1410. #define N20 219
  1411. #define N20_DESC SIG_DESC_SET(SCUA8, 3)
  1412. SIG_EXPR_DECL(ROMA21, ROM8, N20_DESC, VPO_OFF_12);
  1413. SIG_EXPR_DECL(ROMA21, ROM16, N20_DESC, VPO_OFF_12);
  1414. SIG_EXPR_LIST_DECL_DUAL(ROMA21, ROM8, ROM16);
  1415. SIG_EXPR_DECL(VPOR3, VPO24, N20_DESC, VPO24_DESC);
  1416. SIG_EXPR_DECL(VPOR3, VPOOFF1, N20_DESC, VPOOFF1_DESC);
  1417. SIG_EXPR_LIST_DECL_DUAL(VPOR3, VPO24, VPOOFF1);
  1418. MS_PIN_DECL(N20, GPIOAB3, ROMA21, VPOR3);
  1419. FUNC_GROUP_DECL(ROM8, V20, U21, T19, V22, U20, R18, N21, L22, K18, W21, Y22,
  1420. U19, R22, P18, P19, P20, P21, P22, M19, M20, M21, M22, L18,
  1421. L19, L20, L21, T18, N18, N19, M18, N22, N20);
  1422. FUNC_GROUP_DECL(ROM16, V20, U21, T19, V22, U20, R18, N21, L22, K18,
  1423. A8, C7, B7, A7, D7, B6, A6, E7, W21, Y22, U19, R22, P18, P19,
  1424. P20, P21, P22, M19, M20, M21, M22, L18, L19, L20, L21, T18,
  1425. N18, N19, M18, N22, N20);
  1426. FUNC_GROUP_DECL(VPO12, U21, T19, V22, U20, R22, P18, P19, P20, P21, P22, M19,
  1427. M20, M21, M22, L18, L19, L20, L21, T18, N18, N19, M18, N22,
  1428. N20);
  1429. FUNC_GROUP_DECL(VPO24, U21, T19, V22, U20, L22, K18, V21, W22, R22, P18, P19,
  1430. P20, P21, P22, M19, M20, M21, M22, L18, L19);
  1431. #define USB11H2_DESC SIG_DESC_SET(SCU90, 3)
  1432. #define USB11D1_DESC SIG_DESC_BIT(SCU90, 3, 0)
  1433. #define K4 220
  1434. SIG_EXPR_LIST_DECL_SINGLE(USB11HDP2, USB11H2, USB11H2_DESC);
  1435. SIG_EXPR_LIST_DECL_SINGLE(USB11DP1, USB11D1, USB11D1_DESC);
  1436. MS_PIN_DECL_(K4, SIG_EXPR_LIST_PTR(USB11HDP2), SIG_EXPR_LIST_PTR(USB11DP1));
  1437. #define K3 221
  1438. SIG_EXPR_LIST_DECL_SINGLE(USB11HDN1, USB11H2, USB11H2_DESC);
  1439. SIG_EXPR_LIST_DECL_SINGLE(USB11DDN1, USB11D1, USB11D1_DESC);
  1440. MS_PIN_DECL_(K3, SIG_EXPR_LIST_PTR(USB11HDN1), SIG_EXPR_LIST_PTR(USB11DDN1));
  1441. FUNC_GROUP_DECL(USB11H2, K4, K3);
  1442. FUNC_GROUP_DECL(USB11D1, K4, K3);
  1443. #define USB2H1_DESC SIG_DESC_SET(SCU90, 29)
  1444. #define USB2D1_DESC SIG_DESC_BIT(SCU90, 29, 0)
  1445. #define AB21 222
  1446. SIG_EXPR_LIST_DECL_SINGLE(USB2HDP1, USB2H1, USB2H1_DESC);
  1447. SIG_EXPR_LIST_DECL_SINGLE(USB2DDP1, USB2D1, USB2D1_DESC);
  1448. MS_PIN_DECL_(AB21, SIG_EXPR_LIST_PTR(USB2HDP1), SIG_EXPR_LIST_PTR(USB2DDP1));
  1449. #define AB20 223
  1450. SIG_EXPR_LIST_DECL_SINGLE(USB2HDN1, USB2H1, USB2H1_DESC);
  1451. SIG_EXPR_LIST_DECL_SINGLE(USB2DDN1, USB2D1, USB2D1_DESC);
  1452. MS_PIN_DECL_(AB20, SIG_EXPR_LIST_PTR(USB2HDN1), SIG_EXPR_LIST_PTR(USB2DDN1));
  1453. FUNC_GROUP_DECL(USB2H1, AB21, AB20);
  1454. FUNC_GROUP_DECL(USB2D1, AB21, AB20);
  1455. /* Note we account for GPIOY4-GPIOY7 even though they're not valid, thus 216
  1456. * pins becomes 220. Four additional non-GPIO-capable pins are present for USB.
  1457. */
  1458. #define ASPEED_G4_NR_PINS 224
  1459. /* Pins, groups and functions are sort(1):ed alphabetically for sanity */
  1460. static struct pinctrl_pin_desc aspeed_g4_pins[ASPEED_G4_NR_PINS] = {
  1461. ASPEED_PINCTRL_PIN(A1),
  1462. ASPEED_PINCTRL_PIN(A10),
  1463. ASPEED_PINCTRL_PIN(A11),
  1464. ASPEED_PINCTRL_PIN(A12),
  1465. ASPEED_PINCTRL_PIN(A13),
  1466. ASPEED_PINCTRL_PIN(A14),
  1467. ASPEED_PINCTRL_PIN(A15),
  1468. ASPEED_PINCTRL_PIN(A16),
  1469. ASPEED_PINCTRL_PIN(A17),
  1470. ASPEED_PINCTRL_PIN(A18),
  1471. ASPEED_PINCTRL_PIN(A19),
  1472. ASPEED_PINCTRL_PIN(A2),
  1473. ASPEED_PINCTRL_PIN(A20),
  1474. ASPEED_PINCTRL_PIN(A3),
  1475. ASPEED_PINCTRL_PIN(A4),
  1476. ASPEED_PINCTRL_PIN(A5),
  1477. ASPEED_PINCTRL_PIN(A6),
  1478. ASPEED_PINCTRL_PIN(A7),
  1479. ASPEED_PINCTRL_PIN(A8),
  1480. ASPEED_PINCTRL_PIN(A9),
  1481. ASPEED_PINCTRL_PIN(AA1),
  1482. ASPEED_PINCTRL_PIN(AA2),
  1483. ASPEED_PINCTRL_PIN(AA22),
  1484. ASPEED_PINCTRL_PIN(AA3),
  1485. ASPEED_PINCTRL_PIN(AA4),
  1486. ASPEED_PINCTRL_PIN(AA5),
  1487. ASPEED_PINCTRL_PIN(AA6),
  1488. ASPEED_PINCTRL_PIN(AA7),
  1489. ASPEED_PINCTRL_PIN(AB1),
  1490. ASPEED_PINCTRL_PIN(AB2),
  1491. ASPEED_PINCTRL_PIN(AB3),
  1492. ASPEED_PINCTRL_PIN(AB4),
  1493. ASPEED_PINCTRL_PIN(AB5),
  1494. ASPEED_PINCTRL_PIN(AB6),
  1495. ASPEED_PINCTRL_PIN(AB7),
  1496. ASPEED_PINCTRL_PIN(AB20),
  1497. ASPEED_PINCTRL_PIN(AB21),
  1498. ASPEED_PINCTRL_PIN(B1),
  1499. ASPEED_PINCTRL_PIN(B10),
  1500. ASPEED_PINCTRL_PIN(B11),
  1501. ASPEED_PINCTRL_PIN(B12),
  1502. ASPEED_PINCTRL_PIN(B13),
  1503. ASPEED_PINCTRL_PIN(B14),
  1504. ASPEED_PINCTRL_PIN(B15),
  1505. ASPEED_PINCTRL_PIN(B16),
  1506. ASPEED_PINCTRL_PIN(B17),
  1507. ASPEED_PINCTRL_PIN(B18),
  1508. ASPEED_PINCTRL_PIN(B19),
  1509. ASPEED_PINCTRL_PIN(B2),
  1510. ASPEED_PINCTRL_PIN(B22),
  1511. ASPEED_PINCTRL_PIN(B3),
  1512. ASPEED_PINCTRL_PIN(B4),
  1513. ASPEED_PINCTRL_PIN(B5),
  1514. ASPEED_PINCTRL_PIN(B6),
  1515. ASPEED_PINCTRL_PIN(B7),
  1516. ASPEED_PINCTRL_PIN(B9),
  1517. ASPEED_PINCTRL_PIN(C1),
  1518. ASPEED_PINCTRL_PIN(C10),
  1519. ASPEED_PINCTRL_PIN(C11),
  1520. ASPEED_PINCTRL_PIN(C12),
  1521. ASPEED_PINCTRL_PIN(C13),
  1522. ASPEED_PINCTRL_PIN(C14),
  1523. ASPEED_PINCTRL_PIN(C15),
  1524. ASPEED_PINCTRL_PIN(C16),
  1525. ASPEED_PINCTRL_PIN(C17),
  1526. ASPEED_PINCTRL_PIN(C18),
  1527. ASPEED_PINCTRL_PIN(C2),
  1528. ASPEED_PINCTRL_PIN(C20),
  1529. ASPEED_PINCTRL_PIN(C21),
  1530. ASPEED_PINCTRL_PIN(C22),
  1531. ASPEED_PINCTRL_PIN(C3),
  1532. ASPEED_PINCTRL_PIN(C4),
  1533. ASPEED_PINCTRL_PIN(C5),
  1534. ASPEED_PINCTRL_PIN(C6),
  1535. ASPEED_PINCTRL_PIN(C7),
  1536. ASPEED_PINCTRL_PIN(C8),
  1537. ASPEED_PINCTRL_PIN(C9),
  1538. ASPEED_PINCTRL_PIN(D1),
  1539. ASPEED_PINCTRL_PIN(D10),
  1540. ASPEED_PINCTRL_PIN(D11),
  1541. ASPEED_PINCTRL_PIN(D12),
  1542. ASPEED_PINCTRL_PIN(D13),
  1543. ASPEED_PINCTRL_PIN(D14),
  1544. ASPEED_PINCTRL_PIN(D15),
  1545. ASPEED_PINCTRL_PIN(D16),
  1546. ASPEED_PINCTRL_PIN(D17),
  1547. ASPEED_PINCTRL_PIN(D18),
  1548. ASPEED_PINCTRL_PIN(D19),
  1549. ASPEED_PINCTRL_PIN(D2),
  1550. ASPEED_PINCTRL_PIN(D3),
  1551. ASPEED_PINCTRL_PIN(D4),
  1552. ASPEED_PINCTRL_PIN(D5),
  1553. ASPEED_PINCTRL_PIN(D6),
  1554. ASPEED_PINCTRL_PIN(D7),
  1555. ASPEED_PINCTRL_PIN(D8),
  1556. ASPEED_PINCTRL_PIN(D9),
  1557. ASPEED_PINCTRL_PIN(E10),
  1558. ASPEED_PINCTRL_PIN(E11),
  1559. ASPEED_PINCTRL_PIN(E12),
  1560. ASPEED_PINCTRL_PIN(E13),
  1561. ASPEED_PINCTRL_PIN(E14),
  1562. ASPEED_PINCTRL_PIN(E15),
  1563. ASPEED_PINCTRL_PIN(E16),
  1564. ASPEED_PINCTRL_PIN(E18),
  1565. ASPEED_PINCTRL_PIN(E19),
  1566. ASPEED_PINCTRL_PIN(E2),
  1567. ASPEED_PINCTRL_PIN(E20),
  1568. ASPEED_PINCTRL_PIN(E3),
  1569. ASPEED_PINCTRL_PIN(E5),
  1570. ASPEED_PINCTRL_PIN(E6),
  1571. ASPEED_PINCTRL_PIN(E7),
  1572. ASPEED_PINCTRL_PIN(E8),
  1573. ASPEED_PINCTRL_PIN(E9),
  1574. ASPEED_PINCTRL_PIN(F18),
  1575. ASPEED_PINCTRL_PIN(F20),
  1576. ASPEED_PINCTRL_PIN(F3),
  1577. ASPEED_PINCTRL_PIN(F4),
  1578. ASPEED_PINCTRL_PIN(F5),
  1579. ASPEED_PINCTRL_PIN(G18),
  1580. ASPEED_PINCTRL_PIN(G19),
  1581. ASPEED_PINCTRL_PIN(G20),
  1582. ASPEED_PINCTRL_PIN(G5),
  1583. ASPEED_PINCTRL_PIN(H1),
  1584. ASPEED_PINCTRL_PIN(H18),
  1585. ASPEED_PINCTRL_PIN(H19),
  1586. ASPEED_PINCTRL_PIN(H2),
  1587. ASPEED_PINCTRL_PIN(H20),
  1588. ASPEED_PINCTRL_PIN(H3),
  1589. ASPEED_PINCTRL_PIN(H4),
  1590. ASPEED_PINCTRL_PIN(J20),
  1591. ASPEED_PINCTRL_PIN(J21),
  1592. ASPEED_PINCTRL_PIN(J3),
  1593. ASPEED_PINCTRL_PIN(J4),
  1594. ASPEED_PINCTRL_PIN(J5),
  1595. ASPEED_PINCTRL_PIN(K18),
  1596. ASPEED_PINCTRL_PIN(K20),
  1597. ASPEED_PINCTRL_PIN(K3),
  1598. ASPEED_PINCTRL_PIN(K4),
  1599. ASPEED_PINCTRL_PIN(K5),
  1600. ASPEED_PINCTRL_PIN(L1),
  1601. ASPEED_PINCTRL_PIN(L18),
  1602. ASPEED_PINCTRL_PIN(L19),
  1603. ASPEED_PINCTRL_PIN(L2),
  1604. ASPEED_PINCTRL_PIN(L20),
  1605. ASPEED_PINCTRL_PIN(L21),
  1606. ASPEED_PINCTRL_PIN(L22),
  1607. ASPEED_PINCTRL_PIN(L3),
  1608. ASPEED_PINCTRL_PIN(L4),
  1609. ASPEED_PINCTRL_PIN(L5),
  1610. ASPEED_PINCTRL_PIN(M1),
  1611. ASPEED_PINCTRL_PIN(M18),
  1612. ASPEED_PINCTRL_PIN(M19),
  1613. ASPEED_PINCTRL_PIN(M2),
  1614. ASPEED_PINCTRL_PIN(M20),
  1615. ASPEED_PINCTRL_PIN(M21),
  1616. ASPEED_PINCTRL_PIN(M22),
  1617. ASPEED_PINCTRL_PIN(M3),
  1618. ASPEED_PINCTRL_PIN(M4),
  1619. ASPEED_PINCTRL_PIN(M5),
  1620. ASPEED_PINCTRL_PIN(N1),
  1621. ASPEED_PINCTRL_PIN(N18),
  1622. ASPEED_PINCTRL_PIN(N19),
  1623. ASPEED_PINCTRL_PIN(N2),
  1624. ASPEED_PINCTRL_PIN(N20),
  1625. ASPEED_PINCTRL_PIN(N21),
  1626. ASPEED_PINCTRL_PIN(N22),
  1627. ASPEED_PINCTRL_PIN(N3),
  1628. ASPEED_PINCTRL_PIN(N4),
  1629. ASPEED_PINCTRL_PIN(N5),
  1630. ASPEED_PINCTRL_PIN(P18),
  1631. ASPEED_PINCTRL_PIN(P19),
  1632. ASPEED_PINCTRL_PIN(P20),
  1633. ASPEED_PINCTRL_PIN(P21),
  1634. ASPEED_PINCTRL_PIN(P22),
  1635. ASPEED_PINCTRL_PIN(P5),
  1636. ASPEED_PINCTRL_PIN(R18),
  1637. ASPEED_PINCTRL_PIN(R22),
  1638. ASPEED_PINCTRL_PIN(T1),
  1639. ASPEED_PINCTRL_PIN(T18),
  1640. ASPEED_PINCTRL_PIN(T19),
  1641. ASPEED_PINCTRL_PIN(T2),
  1642. ASPEED_PINCTRL_PIN(T4),
  1643. ASPEED_PINCTRL_PIN(T5),
  1644. ASPEED_PINCTRL_PIN(U1),
  1645. ASPEED_PINCTRL_PIN(U18),
  1646. ASPEED_PINCTRL_PIN(U19),
  1647. ASPEED_PINCTRL_PIN(U2),
  1648. ASPEED_PINCTRL_PIN(U20),
  1649. ASPEED_PINCTRL_PIN(U21),
  1650. ASPEED_PINCTRL_PIN(U3),
  1651. ASPEED_PINCTRL_PIN(U4),
  1652. ASPEED_PINCTRL_PIN(U5),
  1653. ASPEED_PINCTRL_PIN(V1),
  1654. ASPEED_PINCTRL_PIN(V2),
  1655. ASPEED_PINCTRL_PIN(V20),
  1656. ASPEED_PINCTRL_PIN(V21),
  1657. ASPEED_PINCTRL_PIN(V22),
  1658. ASPEED_PINCTRL_PIN(V3),
  1659. ASPEED_PINCTRL_PIN(V4),
  1660. ASPEED_PINCTRL_PIN(V5),
  1661. ASPEED_PINCTRL_PIN(V6),
  1662. ASPEED_PINCTRL_PIN(V7),
  1663. ASPEED_PINCTRL_PIN(W1),
  1664. ASPEED_PINCTRL_PIN(W2),
  1665. ASPEED_PINCTRL_PIN(W21),
  1666. ASPEED_PINCTRL_PIN(W22),
  1667. ASPEED_PINCTRL_PIN(W3),
  1668. ASPEED_PINCTRL_PIN(W4),
  1669. ASPEED_PINCTRL_PIN(W5),
  1670. ASPEED_PINCTRL_PIN(W6),
  1671. ASPEED_PINCTRL_PIN(W7),
  1672. ASPEED_PINCTRL_PIN(Y1),
  1673. ASPEED_PINCTRL_PIN(Y2),
  1674. ASPEED_PINCTRL_PIN(Y21),
  1675. ASPEED_PINCTRL_PIN(Y22),
  1676. ASPEED_PINCTRL_PIN(Y3),
  1677. ASPEED_PINCTRL_PIN(Y4),
  1678. ASPEED_PINCTRL_PIN(Y5),
  1679. ASPEED_PINCTRL_PIN(Y6),
  1680. ASPEED_PINCTRL_PIN(Y7),
  1681. };
  1682. static const struct aspeed_pin_group aspeed_g4_groups[] = {
  1683. ASPEED_PINCTRL_GROUP(ACPI),
  1684. ASPEED_PINCTRL_GROUP(ADC0),
  1685. ASPEED_PINCTRL_GROUP(ADC1),
  1686. ASPEED_PINCTRL_GROUP(ADC10),
  1687. ASPEED_PINCTRL_GROUP(ADC11),
  1688. ASPEED_PINCTRL_GROUP(ADC12),
  1689. ASPEED_PINCTRL_GROUP(ADC13),
  1690. ASPEED_PINCTRL_GROUP(ADC14),
  1691. ASPEED_PINCTRL_GROUP(ADC15),
  1692. ASPEED_PINCTRL_GROUP(ADC2),
  1693. ASPEED_PINCTRL_GROUP(ADC3),
  1694. ASPEED_PINCTRL_GROUP(ADC4),
  1695. ASPEED_PINCTRL_GROUP(ADC5),
  1696. ASPEED_PINCTRL_GROUP(ADC6),
  1697. ASPEED_PINCTRL_GROUP(ADC7),
  1698. ASPEED_PINCTRL_GROUP(ADC8),
  1699. ASPEED_PINCTRL_GROUP(ADC9),
  1700. ASPEED_PINCTRL_GROUP(BMCINT),
  1701. ASPEED_PINCTRL_GROUP(DDCCLK),
  1702. ASPEED_PINCTRL_GROUP(DDCDAT),
  1703. ASPEED_PINCTRL_GROUP(EXTRST),
  1704. ASPEED_PINCTRL_GROUP(FLACK),
  1705. ASPEED_PINCTRL_GROUP(FLBUSY),
  1706. ASPEED_PINCTRL_GROUP(FLWP),
  1707. ASPEED_PINCTRL_GROUP(GPID),
  1708. ASPEED_PINCTRL_GROUP(GPID0),
  1709. ASPEED_PINCTRL_GROUP(GPID2),
  1710. ASPEED_PINCTRL_GROUP(GPID4),
  1711. ASPEED_PINCTRL_GROUP(GPID6),
  1712. ASPEED_PINCTRL_GROUP(GPIE0),
  1713. ASPEED_PINCTRL_GROUP(GPIE2),
  1714. ASPEED_PINCTRL_GROUP(GPIE4),
  1715. ASPEED_PINCTRL_GROUP(GPIE6),
  1716. ASPEED_PINCTRL_GROUP(I2C10),
  1717. ASPEED_PINCTRL_GROUP(I2C11),
  1718. ASPEED_PINCTRL_GROUP(I2C12),
  1719. ASPEED_PINCTRL_GROUP(I2C13),
  1720. ASPEED_PINCTRL_GROUP(I2C14),
  1721. ASPEED_PINCTRL_GROUP(I2C3),
  1722. ASPEED_PINCTRL_GROUP(I2C4),
  1723. ASPEED_PINCTRL_GROUP(I2C5),
  1724. ASPEED_PINCTRL_GROUP(I2C6),
  1725. ASPEED_PINCTRL_GROUP(I2C7),
  1726. ASPEED_PINCTRL_GROUP(I2C8),
  1727. ASPEED_PINCTRL_GROUP(I2C9),
  1728. ASPEED_PINCTRL_GROUP(LPCPD),
  1729. ASPEED_PINCTRL_GROUP(LPCPME),
  1730. ASPEED_PINCTRL_GROUP(LPCRST),
  1731. ASPEED_PINCTRL_GROUP(LPCSMI),
  1732. ASPEED_PINCTRL_GROUP(MAC1LINK),
  1733. ASPEED_PINCTRL_GROUP(MAC2LINK),
  1734. ASPEED_PINCTRL_GROUP(MDIO1),
  1735. ASPEED_PINCTRL_GROUP(MDIO2),
  1736. ASPEED_PINCTRL_GROUP(NCTS1),
  1737. ASPEED_PINCTRL_GROUP(NCTS2),
  1738. ASPEED_PINCTRL_GROUP(NCTS3),
  1739. ASPEED_PINCTRL_GROUP(NCTS4),
  1740. ASPEED_PINCTRL_GROUP(NDCD1),
  1741. ASPEED_PINCTRL_GROUP(NDCD2),
  1742. ASPEED_PINCTRL_GROUP(NDCD3),
  1743. ASPEED_PINCTRL_GROUP(NDCD4),
  1744. ASPEED_PINCTRL_GROUP(NDSR1),
  1745. ASPEED_PINCTRL_GROUP(NDSR2),
  1746. ASPEED_PINCTRL_GROUP(NDSR3),
  1747. ASPEED_PINCTRL_GROUP(NDSR4),
  1748. ASPEED_PINCTRL_GROUP(NDTR1),
  1749. ASPEED_PINCTRL_GROUP(NDTR2),
  1750. ASPEED_PINCTRL_GROUP(NDTR3),
  1751. ASPEED_PINCTRL_GROUP(NDTR4),
  1752. ASPEED_PINCTRL_GROUP(NDTS4),
  1753. ASPEED_PINCTRL_GROUP(NRI1),
  1754. ASPEED_PINCTRL_GROUP(NRI2),
  1755. ASPEED_PINCTRL_GROUP(NRI3),
  1756. ASPEED_PINCTRL_GROUP(NRI4),
  1757. ASPEED_PINCTRL_GROUP(NRTS1),
  1758. ASPEED_PINCTRL_GROUP(NRTS2),
  1759. ASPEED_PINCTRL_GROUP(NRTS3),
  1760. ASPEED_PINCTRL_GROUP(OSCCLK),
  1761. ASPEED_PINCTRL_GROUP(PWM0),
  1762. ASPEED_PINCTRL_GROUP(PWM1),
  1763. ASPEED_PINCTRL_GROUP(PWM2),
  1764. ASPEED_PINCTRL_GROUP(PWM3),
  1765. ASPEED_PINCTRL_GROUP(PWM4),
  1766. ASPEED_PINCTRL_GROUP(PWM5),
  1767. ASPEED_PINCTRL_GROUP(PWM6),
  1768. ASPEED_PINCTRL_GROUP(PWM7),
  1769. ASPEED_PINCTRL_GROUP(RGMII1),
  1770. ASPEED_PINCTRL_GROUP(RGMII2),
  1771. ASPEED_PINCTRL_GROUP(RMII1),
  1772. ASPEED_PINCTRL_GROUP(RMII2),
  1773. ASPEED_PINCTRL_GROUP(ROM16),
  1774. ASPEED_PINCTRL_GROUP(ROM8),
  1775. ASPEED_PINCTRL_GROUP(ROMCS1),
  1776. ASPEED_PINCTRL_GROUP(ROMCS2),
  1777. ASPEED_PINCTRL_GROUP(ROMCS3),
  1778. ASPEED_PINCTRL_GROUP(ROMCS4),
  1779. ASPEED_PINCTRL_GROUP(RXD1),
  1780. ASPEED_PINCTRL_GROUP(RXD2),
  1781. ASPEED_PINCTRL_GROUP(RXD3),
  1782. ASPEED_PINCTRL_GROUP(RXD4),
  1783. ASPEED_PINCTRL_GROUP(SALT1),
  1784. ASPEED_PINCTRL_GROUP(SALT2),
  1785. ASPEED_PINCTRL_GROUP(SALT3),
  1786. ASPEED_PINCTRL_GROUP(SALT4),
  1787. ASPEED_PINCTRL_GROUP(SD1),
  1788. ASPEED_PINCTRL_GROUP(SD2),
  1789. ASPEED_PINCTRL_GROUP(SGPMCK),
  1790. ASPEED_PINCTRL_GROUP(SGPMI),
  1791. ASPEED_PINCTRL_GROUP(SGPMLD),
  1792. ASPEED_PINCTRL_GROUP(SGPMO),
  1793. ASPEED_PINCTRL_GROUP(SGPSCK),
  1794. ASPEED_PINCTRL_GROUP(SGPSI0),
  1795. ASPEED_PINCTRL_GROUP(SGPSI1),
  1796. ASPEED_PINCTRL_GROUP(SGPSLD),
  1797. ASPEED_PINCTRL_GROUP(SIOONCTRL),
  1798. ASPEED_PINCTRL_GROUP(SIOPBI),
  1799. ASPEED_PINCTRL_GROUP(SIOPBO),
  1800. ASPEED_PINCTRL_GROUP(SIOPWREQ),
  1801. ASPEED_PINCTRL_GROUP(SIOPWRGD),
  1802. ASPEED_PINCTRL_GROUP(SIOS3),
  1803. ASPEED_PINCTRL_GROUP(SIOS5),
  1804. ASPEED_PINCTRL_GROUP(SIOSCI),
  1805. ASPEED_PINCTRL_GROUP(SPI1),
  1806. ASPEED_PINCTRL_GROUP(SPI1DEBUG),
  1807. ASPEED_PINCTRL_GROUP(SPI1PASSTHRU),
  1808. ASPEED_PINCTRL_GROUP(SPICS1),
  1809. ASPEED_PINCTRL_GROUP(TIMER3),
  1810. ASPEED_PINCTRL_GROUP(TIMER4),
  1811. ASPEED_PINCTRL_GROUP(TIMER5),
  1812. ASPEED_PINCTRL_GROUP(TIMER6),
  1813. ASPEED_PINCTRL_GROUP(TIMER7),
  1814. ASPEED_PINCTRL_GROUP(TIMER8),
  1815. ASPEED_PINCTRL_GROUP(TXD1),
  1816. ASPEED_PINCTRL_GROUP(TXD2),
  1817. ASPEED_PINCTRL_GROUP(TXD3),
  1818. ASPEED_PINCTRL_GROUP(TXD4),
  1819. ASPEED_PINCTRL_GROUP(UART6),
  1820. ASPEED_PINCTRL_GROUP(USB11D1),
  1821. ASPEED_PINCTRL_GROUP(USB11H2),
  1822. ASPEED_PINCTRL_GROUP(USB2D1),
  1823. ASPEED_PINCTRL_GROUP(USB2H1),
  1824. ASPEED_PINCTRL_GROUP(USBCKI),
  1825. ASPEED_PINCTRL_GROUP(VGABIOS_ROM),
  1826. ASPEED_PINCTRL_GROUP(VGAHS),
  1827. ASPEED_PINCTRL_GROUP(VGAVS),
  1828. ASPEED_PINCTRL_GROUP(VPI18),
  1829. ASPEED_PINCTRL_GROUP(VPI24),
  1830. ASPEED_PINCTRL_GROUP(VPI30),
  1831. ASPEED_PINCTRL_GROUP(VPO12),
  1832. ASPEED_PINCTRL_GROUP(VPO24),
  1833. ASPEED_PINCTRL_GROUP(WDTRST1),
  1834. ASPEED_PINCTRL_GROUP(WDTRST2),
  1835. };
  1836. static const struct aspeed_pin_function aspeed_g4_functions[] = {
  1837. ASPEED_PINCTRL_FUNC(ACPI),
  1838. ASPEED_PINCTRL_FUNC(ADC0),
  1839. ASPEED_PINCTRL_FUNC(ADC1),
  1840. ASPEED_PINCTRL_FUNC(ADC10),
  1841. ASPEED_PINCTRL_FUNC(ADC11),
  1842. ASPEED_PINCTRL_FUNC(ADC12),
  1843. ASPEED_PINCTRL_FUNC(ADC13),
  1844. ASPEED_PINCTRL_FUNC(ADC14),
  1845. ASPEED_PINCTRL_FUNC(ADC15),
  1846. ASPEED_PINCTRL_FUNC(ADC2),
  1847. ASPEED_PINCTRL_FUNC(ADC3),
  1848. ASPEED_PINCTRL_FUNC(ADC4),
  1849. ASPEED_PINCTRL_FUNC(ADC5),
  1850. ASPEED_PINCTRL_FUNC(ADC6),
  1851. ASPEED_PINCTRL_FUNC(ADC7),
  1852. ASPEED_PINCTRL_FUNC(ADC8),
  1853. ASPEED_PINCTRL_FUNC(ADC9),
  1854. ASPEED_PINCTRL_FUNC(BMCINT),
  1855. ASPEED_PINCTRL_FUNC(DDCCLK),
  1856. ASPEED_PINCTRL_FUNC(DDCDAT),
  1857. ASPEED_PINCTRL_FUNC(EXTRST),
  1858. ASPEED_PINCTRL_FUNC(FLACK),
  1859. ASPEED_PINCTRL_FUNC(FLBUSY),
  1860. ASPEED_PINCTRL_FUNC(FLWP),
  1861. ASPEED_PINCTRL_FUNC(GPID),
  1862. ASPEED_PINCTRL_FUNC(GPID0),
  1863. ASPEED_PINCTRL_FUNC(GPID2),
  1864. ASPEED_PINCTRL_FUNC(GPID4),
  1865. ASPEED_PINCTRL_FUNC(GPID6),
  1866. ASPEED_PINCTRL_FUNC(GPIE0),
  1867. ASPEED_PINCTRL_FUNC(GPIE2),
  1868. ASPEED_PINCTRL_FUNC(GPIE4),
  1869. ASPEED_PINCTRL_FUNC(GPIE6),
  1870. ASPEED_PINCTRL_FUNC(I2C10),
  1871. ASPEED_PINCTRL_FUNC(I2C11),
  1872. ASPEED_PINCTRL_FUNC(I2C12),
  1873. ASPEED_PINCTRL_FUNC(I2C13),
  1874. ASPEED_PINCTRL_FUNC(I2C14),
  1875. ASPEED_PINCTRL_FUNC(I2C3),
  1876. ASPEED_PINCTRL_FUNC(I2C4),
  1877. ASPEED_PINCTRL_FUNC(I2C5),
  1878. ASPEED_PINCTRL_FUNC(I2C6),
  1879. ASPEED_PINCTRL_FUNC(I2C7),
  1880. ASPEED_PINCTRL_FUNC(I2C8),
  1881. ASPEED_PINCTRL_FUNC(I2C9),
  1882. ASPEED_PINCTRL_FUNC(LPCPD),
  1883. ASPEED_PINCTRL_FUNC(LPCPME),
  1884. ASPEED_PINCTRL_FUNC(LPCRST),
  1885. ASPEED_PINCTRL_FUNC(LPCSMI),
  1886. ASPEED_PINCTRL_FUNC(MAC1LINK),
  1887. ASPEED_PINCTRL_FUNC(MAC2LINK),
  1888. ASPEED_PINCTRL_FUNC(MDIO1),
  1889. ASPEED_PINCTRL_FUNC(MDIO2),
  1890. ASPEED_PINCTRL_FUNC(NCTS1),
  1891. ASPEED_PINCTRL_FUNC(NCTS2),
  1892. ASPEED_PINCTRL_FUNC(NCTS3),
  1893. ASPEED_PINCTRL_FUNC(NCTS4),
  1894. ASPEED_PINCTRL_FUNC(NDCD1),
  1895. ASPEED_PINCTRL_FUNC(NDCD2),
  1896. ASPEED_PINCTRL_FUNC(NDCD3),
  1897. ASPEED_PINCTRL_FUNC(NDCD4),
  1898. ASPEED_PINCTRL_FUNC(NDSR1),
  1899. ASPEED_PINCTRL_FUNC(NDSR2),
  1900. ASPEED_PINCTRL_FUNC(NDSR3),
  1901. ASPEED_PINCTRL_FUNC(NDSR4),
  1902. ASPEED_PINCTRL_FUNC(NDTR1),
  1903. ASPEED_PINCTRL_FUNC(NDTR2),
  1904. ASPEED_PINCTRL_FUNC(NDTR3),
  1905. ASPEED_PINCTRL_FUNC(NDTR4),
  1906. ASPEED_PINCTRL_FUNC(NDTS4),
  1907. ASPEED_PINCTRL_FUNC(NRI1),
  1908. ASPEED_PINCTRL_FUNC(NRI2),
  1909. ASPEED_PINCTRL_FUNC(NRI3),
  1910. ASPEED_PINCTRL_FUNC(NRI4),
  1911. ASPEED_PINCTRL_FUNC(NRTS1),
  1912. ASPEED_PINCTRL_FUNC(NRTS2),
  1913. ASPEED_PINCTRL_FUNC(NRTS3),
  1914. ASPEED_PINCTRL_FUNC(OSCCLK),
  1915. ASPEED_PINCTRL_FUNC(PWM0),
  1916. ASPEED_PINCTRL_FUNC(PWM1),
  1917. ASPEED_PINCTRL_FUNC(PWM2),
  1918. ASPEED_PINCTRL_FUNC(PWM3),
  1919. ASPEED_PINCTRL_FUNC(PWM4),
  1920. ASPEED_PINCTRL_FUNC(PWM5),
  1921. ASPEED_PINCTRL_FUNC(PWM6),
  1922. ASPEED_PINCTRL_FUNC(PWM7),
  1923. ASPEED_PINCTRL_FUNC(RGMII1),
  1924. ASPEED_PINCTRL_FUNC(RGMII2),
  1925. ASPEED_PINCTRL_FUNC(RMII1),
  1926. ASPEED_PINCTRL_FUNC(RMII2),
  1927. ASPEED_PINCTRL_FUNC(ROM16),
  1928. ASPEED_PINCTRL_FUNC(ROM8),
  1929. ASPEED_PINCTRL_FUNC(ROMCS1),
  1930. ASPEED_PINCTRL_FUNC(ROMCS2),
  1931. ASPEED_PINCTRL_FUNC(ROMCS3),
  1932. ASPEED_PINCTRL_FUNC(ROMCS4),
  1933. ASPEED_PINCTRL_FUNC(RXD1),
  1934. ASPEED_PINCTRL_FUNC(RXD2),
  1935. ASPEED_PINCTRL_FUNC(RXD3),
  1936. ASPEED_PINCTRL_FUNC(RXD4),
  1937. ASPEED_PINCTRL_FUNC(SALT1),
  1938. ASPEED_PINCTRL_FUNC(SALT2),
  1939. ASPEED_PINCTRL_FUNC(SALT3),
  1940. ASPEED_PINCTRL_FUNC(SALT4),
  1941. ASPEED_PINCTRL_FUNC(SD1),
  1942. ASPEED_PINCTRL_FUNC(SD2),
  1943. ASPEED_PINCTRL_FUNC(SGPMCK),
  1944. ASPEED_PINCTRL_FUNC(SGPMI),
  1945. ASPEED_PINCTRL_FUNC(SGPMLD),
  1946. ASPEED_PINCTRL_FUNC(SGPMO),
  1947. ASPEED_PINCTRL_FUNC(SGPSCK),
  1948. ASPEED_PINCTRL_FUNC(SGPSI0),
  1949. ASPEED_PINCTRL_FUNC(SGPSI1),
  1950. ASPEED_PINCTRL_FUNC(SGPSLD),
  1951. ASPEED_PINCTRL_FUNC(SIOONCTRL),
  1952. ASPEED_PINCTRL_FUNC(SIOPBI),
  1953. ASPEED_PINCTRL_FUNC(SIOPBO),
  1954. ASPEED_PINCTRL_FUNC(SIOPWREQ),
  1955. ASPEED_PINCTRL_FUNC(SIOPWRGD),
  1956. ASPEED_PINCTRL_FUNC(SIOS3),
  1957. ASPEED_PINCTRL_FUNC(SIOS5),
  1958. ASPEED_PINCTRL_FUNC(SIOSCI),
  1959. ASPEED_PINCTRL_FUNC(SPI1),
  1960. ASPEED_PINCTRL_FUNC(SPI1DEBUG),
  1961. ASPEED_PINCTRL_FUNC(SPI1PASSTHRU),
  1962. ASPEED_PINCTRL_FUNC(SPICS1),
  1963. ASPEED_PINCTRL_FUNC(TIMER3),
  1964. ASPEED_PINCTRL_FUNC(TIMER4),
  1965. ASPEED_PINCTRL_FUNC(TIMER5),
  1966. ASPEED_PINCTRL_FUNC(TIMER6),
  1967. ASPEED_PINCTRL_FUNC(TIMER7),
  1968. ASPEED_PINCTRL_FUNC(TIMER8),
  1969. ASPEED_PINCTRL_FUNC(TXD1),
  1970. ASPEED_PINCTRL_FUNC(TXD2),
  1971. ASPEED_PINCTRL_FUNC(TXD3),
  1972. ASPEED_PINCTRL_FUNC(TXD4),
  1973. ASPEED_PINCTRL_FUNC(UART6),
  1974. ASPEED_PINCTRL_FUNC(USB11D1),
  1975. ASPEED_PINCTRL_FUNC(USB11H2),
  1976. ASPEED_PINCTRL_FUNC(USB2D1),
  1977. ASPEED_PINCTRL_FUNC(USB2H1),
  1978. ASPEED_PINCTRL_FUNC(USBCKI),
  1979. ASPEED_PINCTRL_FUNC(VGABIOS_ROM),
  1980. ASPEED_PINCTRL_FUNC(VGAHS),
  1981. ASPEED_PINCTRL_FUNC(VGAVS),
  1982. ASPEED_PINCTRL_FUNC(VPI18),
  1983. ASPEED_PINCTRL_FUNC(VPI24),
  1984. ASPEED_PINCTRL_FUNC(VPI30),
  1985. ASPEED_PINCTRL_FUNC(VPO12),
  1986. ASPEED_PINCTRL_FUNC(VPO24),
  1987. ASPEED_PINCTRL_FUNC(WDTRST1),
  1988. ASPEED_PINCTRL_FUNC(WDTRST2),
  1989. };
  1990. static const struct aspeed_pin_config aspeed_g4_configs[] = {
  1991. /* GPIO banks ranges [A, B], [D, J], [M, R] */
  1992. { PIN_CONFIG_BIAS_PULL_DOWN, { D6, D5 }, SCU8C, 16 },
  1993. { PIN_CONFIG_BIAS_DISABLE, { D6, D5 }, SCU8C, 16 },
  1994. { PIN_CONFIG_BIAS_PULL_DOWN, { J21, E18 }, SCU8C, 17 },
  1995. { PIN_CONFIG_BIAS_DISABLE, { J21, E18 }, SCU8C, 17 },
  1996. { PIN_CONFIG_BIAS_PULL_DOWN, { A18, E15 }, SCU8C, 19 },
  1997. { PIN_CONFIG_BIAS_DISABLE, { A18, E15 }, SCU8C, 19 },
  1998. { PIN_CONFIG_BIAS_PULL_DOWN, { D15, B14 }, SCU8C, 20 },
  1999. { PIN_CONFIG_BIAS_DISABLE, { D15, B14 }, SCU8C, 20 },
  2000. { PIN_CONFIG_BIAS_PULL_DOWN, { D18, C17 }, SCU8C, 21 },
  2001. { PIN_CONFIG_BIAS_DISABLE, { D18, C17 }, SCU8C, 21 },
  2002. { PIN_CONFIG_BIAS_PULL_DOWN, { A14, U18 }, SCU8C, 22 },
  2003. { PIN_CONFIG_BIAS_DISABLE, { A14, U18 }, SCU8C, 22 },
  2004. { PIN_CONFIG_BIAS_PULL_DOWN, { A8, E7 }, SCU8C, 23 },
  2005. { PIN_CONFIG_BIAS_DISABLE, { A8, E7 }, SCU8C, 23 },
  2006. { PIN_CONFIG_BIAS_PULL_DOWN, { C22, E20 }, SCU8C, 24 },
  2007. { PIN_CONFIG_BIAS_DISABLE, { C22, E20 }, SCU8C, 24 },
  2008. { PIN_CONFIG_BIAS_PULL_DOWN, { J5, T1 }, SCU8C, 25 },
  2009. { PIN_CONFIG_BIAS_DISABLE, { J5, T1 }, SCU8C, 25 },
  2010. { PIN_CONFIG_BIAS_PULL_DOWN, { U1, U5 }, SCU8C, 26 },
  2011. { PIN_CONFIG_BIAS_DISABLE, { U1, U5 }, SCU8C, 26 },
  2012. { PIN_CONFIG_BIAS_PULL_DOWN, { V3, V5 }, SCU8C, 27 },
  2013. { PIN_CONFIG_BIAS_DISABLE, { V3, V5 }, SCU8C, 27 },
  2014. { PIN_CONFIG_BIAS_PULL_DOWN, { W4, AB2 }, SCU8C, 28 },
  2015. { PIN_CONFIG_BIAS_DISABLE, { W4, AB2 }, SCU8C, 28 },
  2016. { PIN_CONFIG_BIAS_PULL_DOWN, { V6, V7 }, SCU8C, 29 },
  2017. { PIN_CONFIG_BIAS_DISABLE, { V6, V7 }, SCU8C, 29 },
  2018. { PIN_CONFIG_BIAS_PULL_DOWN, { Y6, AB7 }, SCU8C, 30 },
  2019. { PIN_CONFIG_BIAS_DISABLE, { Y6, AB7 }, SCU8C, 30 },
  2020. { PIN_CONFIG_BIAS_PULL_DOWN, { V20, A5 }, SCU8C, 31 },
  2021. { PIN_CONFIG_BIAS_DISABLE, { V20, A5 }, SCU8C, 31 },
  2022. /* GPIOs T[0-5] (RGMII1 Tx pins) */
  2023. { PIN_CONFIG_DRIVE_STRENGTH, { A12, A13 }, SCU90, 9 },
  2024. { PIN_CONFIG_BIAS_PULL_DOWN, { A12, A13 }, SCU90, 12 },
  2025. { PIN_CONFIG_BIAS_DISABLE, { A12, A13 }, SCU90, 12 },
  2026. /* GPIOs T[6-7], U[0-3] (RGMII2 TX pins) */
  2027. { PIN_CONFIG_DRIVE_STRENGTH, { D9, D10 }, SCU90, 11 },
  2028. { PIN_CONFIG_BIAS_PULL_DOWN, { D9, D10 }, SCU90, 14 },
  2029. { PIN_CONFIG_BIAS_DISABLE, { D9, D10 }, SCU90, 14 },
  2030. /* GPIOs U[4-7], V[0-1] (RGMII1 Rx pins) */
  2031. { PIN_CONFIG_BIAS_PULL_DOWN, { E11, E10 }, SCU90, 13 },
  2032. { PIN_CONFIG_BIAS_DISABLE, { E11, E10 }, SCU90, 13 },
  2033. /* GPIOs V[2-7] (RGMII2 Rx pins) */
  2034. { PIN_CONFIG_BIAS_PULL_DOWN, { C9, C8 }, SCU90, 15 },
  2035. { PIN_CONFIG_BIAS_DISABLE, { C9, C8 }, SCU90, 15 },
  2036. /* ADC pull-downs (SCUA8[19:4]) */
  2037. { PIN_CONFIG_BIAS_PULL_DOWN, { L5, L5 }, SCUA8, 4 },
  2038. { PIN_CONFIG_BIAS_DISABLE, { L5, L5 }, SCUA8, 4 },
  2039. { PIN_CONFIG_BIAS_PULL_DOWN, { L4, L4 }, SCUA8, 5 },
  2040. { PIN_CONFIG_BIAS_DISABLE, { L4, L4 }, SCUA8, 5 },
  2041. { PIN_CONFIG_BIAS_PULL_DOWN, { L3, L3 }, SCUA8, 6 },
  2042. { PIN_CONFIG_BIAS_DISABLE, { L3, L3 }, SCUA8, 6 },
  2043. { PIN_CONFIG_BIAS_PULL_DOWN, { L2, L2 }, SCUA8, 7 },
  2044. { PIN_CONFIG_BIAS_DISABLE, { L2, L2 }, SCUA8, 7 },
  2045. { PIN_CONFIG_BIAS_PULL_DOWN, { L1, L1 }, SCUA8, 8 },
  2046. { PIN_CONFIG_BIAS_DISABLE, { L1, L1 }, SCUA8, 8 },
  2047. { PIN_CONFIG_BIAS_PULL_DOWN, { M5, M5 }, SCUA8, 9 },
  2048. { PIN_CONFIG_BIAS_DISABLE, { M5, M5 }, SCUA8, 9 },
  2049. { PIN_CONFIG_BIAS_PULL_DOWN, { M4, M4 }, SCUA8, 10 },
  2050. { PIN_CONFIG_BIAS_DISABLE, { M4, M4 }, SCUA8, 10 },
  2051. { PIN_CONFIG_BIAS_PULL_DOWN, { M3, M3 }, SCUA8, 11 },
  2052. { PIN_CONFIG_BIAS_DISABLE, { M3, M3 }, SCUA8, 11 },
  2053. { PIN_CONFIG_BIAS_PULL_DOWN, { M2, M2 }, SCUA8, 12 },
  2054. { PIN_CONFIG_BIAS_DISABLE, { M2, M2 }, SCUA8, 12 },
  2055. { PIN_CONFIG_BIAS_PULL_DOWN, { M1, M1 }, SCUA8, 13 },
  2056. { PIN_CONFIG_BIAS_DISABLE, { M1, M1 }, SCUA8, 13 },
  2057. { PIN_CONFIG_BIAS_PULL_DOWN, { N5, N5 }, SCUA8, 14 },
  2058. { PIN_CONFIG_BIAS_DISABLE, { N5, N5 }, SCUA8, 14 },
  2059. { PIN_CONFIG_BIAS_PULL_DOWN, { N4, N4 }, SCUA8, 15 },
  2060. { PIN_CONFIG_BIAS_DISABLE, { N4, N4 }, SCUA8, 15 },
  2061. { PIN_CONFIG_BIAS_PULL_DOWN, { N3, N3 }, SCUA8, 16 },
  2062. { PIN_CONFIG_BIAS_DISABLE, { N3, N3 }, SCUA8, 16 },
  2063. { PIN_CONFIG_BIAS_PULL_DOWN, { N2, N2 }, SCUA8, 17 },
  2064. { PIN_CONFIG_BIAS_DISABLE, { N2, N2 }, SCUA8, 17 },
  2065. { PIN_CONFIG_BIAS_PULL_DOWN, { N1, N1 }, SCUA8, 18 },
  2066. { PIN_CONFIG_BIAS_DISABLE, { N1, N1 }, SCUA8, 18 },
  2067. { PIN_CONFIG_BIAS_PULL_DOWN, { P5, P5 }, SCUA8, 19 },
  2068. { PIN_CONFIG_BIAS_DISABLE, { P5, P5 }, SCUA8, 19 },
  2069. /*
  2070. * Debounce settings for GPIOs D and E passthrough mode are in
  2071. * SCUA8[27:20] and so are managed by pinctrl. Normal GPIO debounce for
  2072. * banks D and E is handled by the GPIO driver - GPIO passthrough is
  2073. * treated like any other non-GPIO mux function. There is a catch
  2074. * however, in that the debounce period is configured in the GPIO
  2075. * controller. Due to this tangle between GPIO and pinctrl we don't yet
  2076. * fully support pass-through debounce.
  2077. */
  2078. { PIN_CONFIG_INPUT_DEBOUNCE, { A18, D16 }, SCUA8, 20 },
  2079. { PIN_CONFIG_INPUT_DEBOUNCE, { B17, A17 }, SCUA8, 21 },
  2080. { PIN_CONFIG_INPUT_DEBOUNCE, { C16, B16 }, SCUA8, 22 },
  2081. { PIN_CONFIG_INPUT_DEBOUNCE, { A16, E15 }, SCUA8, 23 },
  2082. { PIN_CONFIG_INPUT_DEBOUNCE, { D15, C15 }, SCUA8, 24 },
  2083. { PIN_CONFIG_INPUT_DEBOUNCE, { B15, A15 }, SCUA8, 25 },
  2084. { PIN_CONFIG_INPUT_DEBOUNCE, { E14, D14 }, SCUA8, 26 },
  2085. { PIN_CONFIG_INPUT_DEBOUNCE, { C14, B14 }, SCUA8, 27 },
  2086. };
  2087. static struct aspeed_pinctrl_data aspeed_g4_pinctrl_data = {
  2088. .pins = aspeed_g4_pins,
  2089. .npins = ARRAY_SIZE(aspeed_g4_pins),
  2090. .groups = aspeed_g4_groups,
  2091. .ngroups = ARRAY_SIZE(aspeed_g4_groups),
  2092. .functions = aspeed_g4_functions,
  2093. .nfunctions = ARRAY_SIZE(aspeed_g4_functions),
  2094. .configs = aspeed_g4_configs,
  2095. .nconfigs = ARRAY_SIZE(aspeed_g4_configs),
  2096. };
  2097. static const struct pinmux_ops aspeed_g4_pinmux_ops = {
  2098. .get_functions_count = aspeed_pinmux_get_fn_count,
  2099. .get_function_name = aspeed_pinmux_get_fn_name,
  2100. .get_function_groups = aspeed_pinmux_get_fn_groups,
  2101. .set_mux = aspeed_pinmux_set_mux,
  2102. .gpio_request_enable = aspeed_gpio_request_enable,
  2103. .strict = true,
  2104. };
  2105. static const struct pinctrl_ops aspeed_g4_pinctrl_ops = {
  2106. .get_groups_count = aspeed_pinctrl_get_groups_count,
  2107. .get_group_name = aspeed_pinctrl_get_group_name,
  2108. .get_group_pins = aspeed_pinctrl_get_group_pins,
  2109. .pin_dbg_show = aspeed_pinctrl_pin_dbg_show,
  2110. .dt_node_to_map = pinconf_generic_dt_node_to_map_all,
  2111. .dt_free_map = pinctrl_utils_free_map,
  2112. };
  2113. static const struct pinconf_ops aspeed_g4_conf_ops = {
  2114. .is_generic = true,
  2115. .pin_config_get = aspeed_pin_config_get,
  2116. .pin_config_set = aspeed_pin_config_set,
  2117. .pin_config_group_get = aspeed_pin_config_group_get,
  2118. .pin_config_group_set = aspeed_pin_config_group_set,
  2119. };
  2120. static struct pinctrl_desc aspeed_g4_pinctrl_desc = {
  2121. .name = "aspeed-g4-pinctrl",
  2122. .pins = aspeed_g4_pins,
  2123. .npins = ARRAY_SIZE(aspeed_g4_pins),
  2124. .pctlops = &aspeed_g4_pinctrl_ops,
  2125. .pmxops = &aspeed_g4_pinmux_ops,
  2126. .confops = &aspeed_g4_conf_ops,
  2127. };
  2128. static int aspeed_g4_pinctrl_probe(struct platform_device *pdev)
  2129. {
  2130. int i;
  2131. for (i = 0; i < ARRAY_SIZE(aspeed_g4_pins); i++)
  2132. aspeed_g4_pins[i].number = i;
  2133. return aspeed_pinctrl_probe(pdev, &aspeed_g4_pinctrl_desc,
  2134. &aspeed_g4_pinctrl_data);
  2135. }
  2136. static const struct of_device_id aspeed_g4_pinctrl_of_match[] = {
  2137. { .compatible = "aspeed,ast2400-pinctrl", },
  2138. { .compatible = "aspeed,g4-pinctrl", },
  2139. { },
  2140. };
  2141. static struct platform_driver aspeed_g4_pinctrl_driver = {
  2142. .probe = aspeed_g4_pinctrl_probe,
  2143. .driver = {
  2144. .name = "aspeed-g4-pinctrl",
  2145. .of_match_table = aspeed_g4_pinctrl_of_match,
  2146. },
  2147. };
  2148. static int aspeed_g4_pinctrl_init(void)
  2149. {
  2150. return platform_driver_register(&aspeed_g4_pinctrl_driver);
  2151. }
  2152. arch_initcall(aspeed_g4_pinctrl_init);