pinctrl-uniphier-pxs3.c 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071
  1. // SPDX-License-Identifier: GPL-2.0+
  2. //
  3. // Copyright (C) 2017 Socionext Inc.
  4. // Author: Masahiro Yamada <[email protected]>
  5. #include <linux/init.h>
  6. #include <linux/kernel.h>
  7. #include <linux/mod_devicetable.h>
  8. #include <linux/pinctrl/pinctrl.h>
  9. #include <linux/platform_device.h>
  10. #include "pinctrl-uniphier.h"
  11. static const struct pinctrl_pin_desc uniphier_pxs3_pins[] = {
  12. UNIPHIER_PINCTRL_PIN(0, "LPST", UNIPHIER_PIN_IECTRL_EXIST,
  13. 0, UNIPHIER_PIN_DRV_3BIT,
  14. 0, UNIPHIER_PIN_PULL_DOWN),
  15. UNIPHIER_PINCTRL_PIN(1, "ED0", UNIPHIER_PIN_IECTRL_EXIST,
  16. 1, UNIPHIER_PIN_DRV_3BIT,
  17. 1, UNIPHIER_PIN_PULL_DOWN),
  18. UNIPHIER_PINCTRL_PIN(2, "ED1", UNIPHIER_PIN_IECTRL_EXIST,
  19. 2, UNIPHIER_PIN_DRV_3BIT,
  20. 2, UNIPHIER_PIN_PULL_DOWN),
  21. UNIPHIER_PINCTRL_PIN(3, "ED2", UNIPHIER_PIN_IECTRL_EXIST,
  22. 3, UNIPHIER_PIN_DRV_3BIT,
  23. 3, UNIPHIER_PIN_PULL_DOWN),
  24. UNIPHIER_PINCTRL_PIN(4, "ED3", UNIPHIER_PIN_IECTRL_EXIST,
  25. 4, UNIPHIER_PIN_DRV_3BIT,
  26. 4, UNIPHIER_PIN_PULL_DOWN),
  27. UNIPHIER_PINCTRL_PIN(5, "ED4", UNIPHIER_PIN_IECTRL_EXIST,
  28. 5, UNIPHIER_PIN_DRV_3BIT,
  29. 5, UNIPHIER_PIN_PULL_DOWN),
  30. UNIPHIER_PINCTRL_PIN(6, "ED5", UNIPHIER_PIN_IECTRL_EXIST,
  31. 6, UNIPHIER_PIN_DRV_3BIT,
  32. 6, UNIPHIER_PIN_PULL_DOWN),
  33. UNIPHIER_PINCTRL_PIN(7, "ED6", UNIPHIER_PIN_IECTRL_EXIST,
  34. 7, UNIPHIER_PIN_DRV_3BIT,
  35. 7, UNIPHIER_PIN_PULL_DOWN),
  36. UNIPHIER_PINCTRL_PIN(8, "ED7", UNIPHIER_PIN_IECTRL_EXIST,
  37. 8, UNIPHIER_PIN_DRV_3BIT,
  38. 8, UNIPHIER_PIN_PULL_DOWN),
  39. UNIPHIER_PINCTRL_PIN(9, "XERWE0", UNIPHIER_PIN_IECTRL_EXIST,
  40. 9, UNIPHIER_PIN_DRV_3BIT,
  41. 9, UNIPHIER_PIN_PULL_DOWN),
  42. UNIPHIER_PINCTRL_PIN(10, "XERWE1", UNIPHIER_PIN_IECTRL_EXIST,
  43. 10, UNIPHIER_PIN_DRV_3BIT,
  44. 10, UNIPHIER_PIN_PULL_DOWN),
  45. UNIPHIER_PINCTRL_PIN(11, "ERXW", UNIPHIER_PIN_IECTRL_EXIST,
  46. 11, UNIPHIER_PIN_DRV_3BIT,
  47. 11, UNIPHIER_PIN_PULL_DOWN),
  48. UNIPHIER_PINCTRL_PIN(12, "ES0", UNIPHIER_PIN_IECTRL_EXIST,
  49. 12, UNIPHIER_PIN_DRV_3BIT,
  50. 12, UNIPHIER_PIN_PULL_DOWN),
  51. UNIPHIER_PINCTRL_PIN(13, "ES1", UNIPHIER_PIN_IECTRL_EXIST,
  52. 13, UNIPHIER_PIN_DRV_3BIT,
  53. 13, UNIPHIER_PIN_PULL_DOWN),
  54. UNIPHIER_PINCTRL_PIN(14, "ES2", UNIPHIER_PIN_IECTRL_EXIST,
  55. 14, UNIPHIER_PIN_DRV_3BIT,
  56. 14, UNIPHIER_PIN_PULL_DOWN),
  57. UNIPHIER_PINCTRL_PIN(15, "XECS1", UNIPHIER_PIN_IECTRL_EXIST,
  58. 15, UNIPHIER_PIN_DRV_3BIT,
  59. 15, UNIPHIER_PIN_PULL_UP),
  60. UNIPHIER_PINCTRL_PIN(16, "XNFWP", UNIPHIER_PIN_IECTRL_EXIST,
  61. 16, UNIPHIER_PIN_DRV_3BIT,
  62. 16, UNIPHIER_PIN_PULL_DOWN),
  63. UNIPHIER_PINCTRL_PIN(17, "XNFCE0", UNIPHIER_PIN_IECTRL_EXIST,
  64. 17, UNIPHIER_PIN_DRV_3BIT,
  65. 17, UNIPHIER_PIN_PULL_UP),
  66. UNIPHIER_PINCTRL_PIN(18, "NFRYBY0", UNIPHIER_PIN_IECTRL_EXIST,
  67. 18, UNIPHIER_PIN_DRV_3BIT,
  68. 18, UNIPHIER_PIN_PULL_UP),
  69. UNIPHIER_PINCTRL_PIN(19, "XNFRE", UNIPHIER_PIN_IECTRL_EXIST,
  70. 19, UNIPHIER_PIN_DRV_3BIT,
  71. 19, UNIPHIER_PIN_PULL_UP),
  72. UNIPHIER_PINCTRL_PIN(20, "XNFWE", UNIPHIER_PIN_IECTRL_EXIST,
  73. 20, UNIPHIER_PIN_DRV_3BIT,
  74. 20, UNIPHIER_PIN_PULL_UP),
  75. UNIPHIER_PINCTRL_PIN(21, "NFALE", UNIPHIER_PIN_IECTRL_EXIST,
  76. 21, UNIPHIER_PIN_DRV_3BIT,
  77. 21, UNIPHIER_PIN_PULL_UP),
  78. UNIPHIER_PINCTRL_PIN(22, "NFCLE", UNIPHIER_PIN_IECTRL_EXIST,
  79. 22, UNIPHIER_PIN_DRV_3BIT,
  80. 22, UNIPHIER_PIN_PULL_UP),
  81. UNIPHIER_PINCTRL_PIN(23, "NFD0", UNIPHIER_PIN_IECTRL_EXIST,
  82. 23, UNIPHIER_PIN_DRV_3BIT,
  83. 23, UNIPHIER_PIN_PULL_UP),
  84. UNIPHIER_PINCTRL_PIN(24, "NFD1", UNIPHIER_PIN_IECTRL_EXIST,
  85. 24, UNIPHIER_PIN_DRV_3BIT,
  86. 24, UNIPHIER_PIN_PULL_UP),
  87. UNIPHIER_PINCTRL_PIN(25, "NFD2", UNIPHIER_PIN_IECTRL_EXIST,
  88. 25, UNIPHIER_PIN_DRV_3BIT,
  89. 25, UNIPHIER_PIN_PULL_UP),
  90. UNIPHIER_PINCTRL_PIN(26, "NFD3", UNIPHIER_PIN_IECTRL_EXIST,
  91. 26, UNIPHIER_PIN_DRV_3BIT,
  92. 26, UNIPHIER_PIN_PULL_UP),
  93. UNIPHIER_PINCTRL_PIN(27, "NFD4", UNIPHIER_PIN_IECTRL_EXIST,
  94. 27, UNIPHIER_PIN_DRV_3BIT,
  95. 27, UNIPHIER_PIN_PULL_UP),
  96. UNIPHIER_PINCTRL_PIN(28, "NFD5", UNIPHIER_PIN_IECTRL_EXIST,
  97. 28, UNIPHIER_PIN_DRV_3BIT,
  98. 28, UNIPHIER_PIN_PULL_UP),
  99. UNIPHIER_PINCTRL_PIN(29, "NFD6", UNIPHIER_PIN_IECTRL_EXIST,
  100. 29, UNIPHIER_PIN_DRV_3BIT,
  101. 29, UNIPHIER_PIN_PULL_UP),
  102. UNIPHIER_PINCTRL_PIN(30, "NFD7", UNIPHIER_PIN_IECTRL_EXIST,
  103. 30, UNIPHIER_PIN_DRV_3BIT,
  104. 30, UNIPHIER_PIN_PULL_UP),
  105. UNIPHIER_PINCTRL_PIN(31, "XERST", UNIPHIER_PIN_IECTRL_EXIST,
  106. 0, UNIPHIER_PIN_DRV_2BIT,
  107. 31, UNIPHIER_PIN_PULL_DOWN),
  108. UNIPHIER_PINCTRL_PIN(32, "MMCCLK", UNIPHIER_PIN_IECTRL_EXIST,
  109. 1, UNIPHIER_PIN_DRV_2BIT,
  110. 32, UNIPHIER_PIN_PULL_DOWN),
  111. UNIPHIER_PINCTRL_PIN(33, "MMCCMD", UNIPHIER_PIN_IECTRL_EXIST,
  112. 2, UNIPHIER_PIN_DRV_2BIT,
  113. 33, UNIPHIER_PIN_PULL_UP),
  114. UNIPHIER_PINCTRL_PIN(34, "MMCDS", UNIPHIER_PIN_IECTRL_EXIST,
  115. 3, UNIPHIER_PIN_DRV_2BIT,
  116. 34, UNIPHIER_PIN_PULL_DOWN),
  117. UNIPHIER_PINCTRL_PIN(35, "MMCDAT0", UNIPHIER_PIN_IECTRL_EXIST,
  118. 4, UNIPHIER_PIN_DRV_2BIT,
  119. 35, UNIPHIER_PIN_PULL_UP),
  120. UNIPHIER_PINCTRL_PIN(36, "MMCDAT1", UNIPHIER_PIN_IECTRL_EXIST,
  121. 5, UNIPHIER_PIN_DRV_2BIT,
  122. 36, UNIPHIER_PIN_PULL_UP),
  123. UNIPHIER_PINCTRL_PIN(37, "MMCDAT2", UNIPHIER_PIN_IECTRL_EXIST,
  124. 6, UNIPHIER_PIN_DRV_2BIT,
  125. 37, UNIPHIER_PIN_PULL_UP),
  126. UNIPHIER_PINCTRL_PIN(38, "MMCDAT3", UNIPHIER_PIN_IECTRL_EXIST,
  127. 7, UNIPHIER_PIN_DRV_2BIT,
  128. 38, UNIPHIER_PIN_PULL_UP),
  129. UNIPHIER_PINCTRL_PIN(39, "MMCDAT4", UNIPHIER_PIN_IECTRL_EXIST,
  130. 8, UNIPHIER_PIN_DRV_2BIT,
  131. 39, UNIPHIER_PIN_PULL_UP),
  132. UNIPHIER_PINCTRL_PIN(40, "MMCDAT5", UNIPHIER_PIN_IECTRL_EXIST,
  133. 9, UNIPHIER_PIN_DRV_2BIT,
  134. 40, UNIPHIER_PIN_PULL_UP),
  135. UNIPHIER_PINCTRL_PIN(41, "MMCDAT6", UNIPHIER_PIN_IECTRL_EXIST,
  136. 10, UNIPHIER_PIN_DRV_2BIT,
  137. 41, UNIPHIER_PIN_PULL_UP),
  138. UNIPHIER_PINCTRL_PIN(42, "MMCDAT7", UNIPHIER_PIN_IECTRL_EXIST,
  139. 11, UNIPHIER_PIN_DRV_2BIT,
  140. 42, UNIPHIER_PIN_PULL_UP),
  141. UNIPHIER_PINCTRL_PIN(43, "SDCLK", UNIPHIER_PIN_IECTRL_EXIST,
  142. 12, UNIPHIER_PIN_DRV_2BIT,
  143. 43, UNIPHIER_PIN_PULL_UP),
  144. UNIPHIER_PINCTRL_PIN(44, "SDCMD", UNIPHIER_PIN_IECTRL_EXIST,
  145. 13, UNIPHIER_PIN_DRV_2BIT,
  146. 44, UNIPHIER_PIN_PULL_UP),
  147. UNIPHIER_PINCTRL_PIN(45, "SDDAT0", UNIPHIER_PIN_IECTRL_EXIST,
  148. 14, UNIPHIER_PIN_DRV_2BIT,
  149. 45, UNIPHIER_PIN_PULL_UP),
  150. UNIPHIER_PINCTRL_PIN(46, "SDDAT1", UNIPHIER_PIN_IECTRL_EXIST,
  151. 15, UNIPHIER_PIN_DRV_2BIT,
  152. 46, UNIPHIER_PIN_PULL_UP),
  153. UNIPHIER_PINCTRL_PIN(47, "SDDAT2", UNIPHIER_PIN_IECTRL_EXIST,
  154. 16, UNIPHIER_PIN_DRV_2BIT,
  155. 47, UNIPHIER_PIN_PULL_UP),
  156. UNIPHIER_PINCTRL_PIN(48, "SDDAT3", UNIPHIER_PIN_IECTRL_EXIST,
  157. 17, UNIPHIER_PIN_DRV_2BIT,
  158. 48, UNIPHIER_PIN_PULL_UP),
  159. UNIPHIER_PINCTRL_PIN(49, "SDCD", UNIPHIER_PIN_IECTRL_EXIST,
  160. 31, UNIPHIER_PIN_DRV_3BIT,
  161. 49, UNIPHIER_PIN_PULL_UP),
  162. UNIPHIER_PINCTRL_PIN(50, "SDWP", UNIPHIER_PIN_IECTRL_EXIST,
  163. 32, UNIPHIER_PIN_DRV_3BIT,
  164. 50, UNIPHIER_PIN_PULL_UP),
  165. UNIPHIER_PINCTRL_PIN(51, "SDVOLC", UNIPHIER_PIN_IECTRL_EXIST,
  166. 33, UNIPHIER_PIN_DRV_3BIT,
  167. 51, UNIPHIER_PIN_PULL_UP),
  168. UNIPHIER_PINCTRL_PIN(52, "MDC0", UNIPHIER_PIN_IECTRL_EXIST,
  169. 18, UNIPHIER_PIN_DRV_2BIT,
  170. 52, UNIPHIER_PIN_PULL_UP),
  171. UNIPHIER_PINCTRL_PIN(53, "MDIO0", UNIPHIER_PIN_IECTRL_EXIST,
  172. 19, UNIPHIER_PIN_DRV_2BIT,
  173. 53, UNIPHIER_PIN_PULL_UP),
  174. UNIPHIER_PINCTRL_PIN(54, "MDIO0_INTL", UNIPHIER_PIN_IECTRL_EXIST,
  175. 20, UNIPHIER_PIN_DRV_2BIT,
  176. 54, UNIPHIER_PIN_PULL_UP),
  177. UNIPHIER_PINCTRL_PIN(55, "PHYRSTL0", UNIPHIER_PIN_IECTRL_EXIST,
  178. 21, UNIPHIER_PIN_DRV_2BIT,
  179. 55, UNIPHIER_PIN_PULL_UP),
  180. UNIPHIER_PINCTRL_PIN(56, "RGMII0_RXCLK", UNIPHIER_PIN_IECTRL_EXIST,
  181. 22, UNIPHIER_PIN_DRV_2BIT,
  182. 56, UNIPHIER_PIN_PULL_UP),
  183. UNIPHIER_PINCTRL_PIN(57, "RGMII0_RXD0", UNIPHIER_PIN_IECTRL_EXIST,
  184. 23, UNIPHIER_PIN_DRV_2BIT,
  185. 57, UNIPHIER_PIN_PULL_UP),
  186. UNIPHIER_PINCTRL_PIN(58, "RGMII0_RXD1", UNIPHIER_PIN_IECTRL_EXIST,
  187. 24, UNIPHIER_PIN_DRV_2BIT,
  188. 58, UNIPHIER_PIN_PULL_UP),
  189. UNIPHIER_PINCTRL_PIN(59, "RGMII0_RXD2", UNIPHIER_PIN_IECTRL_EXIST,
  190. 25, UNIPHIER_PIN_DRV_2BIT,
  191. 59, UNIPHIER_PIN_PULL_UP),
  192. UNIPHIER_PINCTRL_PIN(60, "RGMII0_RXD3", UNIPHIER_PIN_IECTRL_EXIST,
  193. 26, UNIPHIER_PIN_DRV_2BIT,
  194. 60, UNIPHIER_PIN_PULL_UP),
  195. UNIPHIER_PINCTRL_PIN(61, "RGMII0_RXCTL", UNIPHIER_PIN_IECTRL_EXIST,
  196. 27, UNIPHIER_PIN_DRV_2BIT,
  197. 61, UNIPHIER_PIN_PULL_UP),
  198. UNIPHIER_PINCTRL_PIN(62, "RGMII0_TXCLK", UNIPHIER_PIN_IECTRL_EXIST,
  199. 28, UNIPHIER_PIN_DRV_2BIT,
  200. 62, UNIPHIER_PIN_PULL_DOWN),
  201. UNIPHIER_PINCTRL_PIN(63, "RGMII0_TXD0", UNIPHIER_PIN_IECTRL_EXIST,
  202. 29, UNIPHIER_PIN_DRV_2BIT,
  203. 63, UNIPHIER_PIN_PULL_DOWN),
  204. UNIPHIER_PINCTRL_PIN(64, "RGMII0_TXD1", UNIPHIER_PIN_IECTRL_EXIST,
  205. 30, UNIPHIER_PIN_DRV_2BIT,
  206. 64, UNIPHIER_PIN_PULL_DOWN),
  207. UNIPHIER_PINCTRL_PIN(65, "RGMII0_TXD2", UNIPHIER_PIN_IECTRL_EXIST,
  208. 31, UNIPHIER_PIN_DRV_2BIT,
  209. 65, UNIPHIER_PIN_PULL_DOWN),
  210. UNIPHIER_PINCTRL_PIN(66, "RGMII0_TXD3", UNIPHIER_PIN_IECTRL_EXIST,
  211. 32, UNIPHIER_PIN_DRV_2BIT,
  212. 66, UNIPHIER_PIN_PULL_DOWN),
  213. UNIPHIER_PINCTRL_PIN(67, "RGMII0_TXCTL", UNIPHIER_PIN_IECTRL_EXIST,
  214. 33, UNIPHIER_PIN_DRV_2BIT,
  215. 67, UNIPHIER_PIN_PULL_DOWN),
  216. UNIPHIER_PINCTRL_PIN(68, "MDC1", UNIPHIER_PIN_IECTRL_EXIST,
  217. 34, UNIPHIER_PIN_DRV_2BIT,
  218. 68, UNIPHIER_PIN_PULL_UP),
  219. UNIPHIER_PINCTRL_PIN(69, "MDIO1", UNIPHIER_PIN_IECTRL_EXIST,
  220. 35, UNIPHIER_PIN_DRV_2BIT,
  221. 69, UNIPHIER_PIN_PULL_UP),
  222. UNIPHIER_PINCTRL_PIN(70, "MDIO1_INTL", UNIPHIER_PIN_IECTRL_EXIST,
  223. 36, UNIPHIER_PIN_DRV_2BIT,
  224. 70, UNIPHIER_PIN_PULL_UP),
  225. UNIPHIER_PINCTRL_PIN(71, "PHYRSTL1", UNIPHIER_PIN_IECTRL_EXIST,
  226. 37, UNIPHIER_PIN_DRV_2BIT,
  227. 71, UNIPHIER_PIN_PULL_UP),
  228. UNIPHIER_PINCTRL_PIN(72, "RGMII1_RXCLK", UNIPHIER_PIN_IECTRL_EXIST,
  229. 38, UNIPHIER_PIN_DRV_2BIT,
  230. 72, UNIPHIER_PIN_PULL_UP),
  231. UNIPHIER_PINCTRL_PIN(73, "RGMII1_RXD0", UNIPHIER_PIN_IECTRL_EXIST,
  232. 39, UNIPHIER_PIN_DRV_2BIT,
  233. 73, UNIPHIER_PIN_PULL_UP),
  234. UNIPHIER_PINCTRL_PIN(74, "RGMII1_RXD1", UNIPHIER_PIN_IECTRL_EXIST,
  235. 40, UNIPHIER_PIN_DRV_2BIT,
  236. 74, UNIPHIER_PIN_PULL_UP),
  237. UNIPHIER_PINCTRL_PIN(75, "RGMII1_RXD2", UNIPHIER_PIN_IECTRL_EXIST,
  238. 41, UNIPHIER_PIN_DRV_2BIT,
  239. 75, UNIPHIER_PIN_PULL_UP),
  240. UNIPHIER_PINCTRL_PIN(76, "RGMII1_RXD3", UNIPHIER_PIN_IECTRL_EXIST,
  241. 42, UNIPHIER_PIN_DRV_2BIT,
  242. 76, UNIPHIER_PIN_PULL_UP),
  243. UNIPHIER_PINCTRL_PIN(77, "RGMII1_RXCTL", UNIPHIER_PIN_IECTRL_EXIST,
  244. 43, UNIPHIER_PIN_DRV_2BIT,
  245. 77, UNIPHIER_PIN_PULL_UP),
  246. UNIPHIER_PINCTRL_PIN(78, "RGMII1_TXCLK", UNIPHIER_PIN_IECTRL_EXIST,
  247. 44, UNIPHIER_PIN_DRV_2BIT,
  248. 78, UNIPHIER_PIN_PULL_DOWN),
  249. UNIPHIER_PINCTRL_PIN(79, "RGMII1_TXD0", UNIPHIER_PIN_IECTRL_EXIST,
  250. 45, UNIPHIER_PIN_DRV_2BIT,
  251. 79, UNIPHIER_PIN_PULL_DOWN),
  252. UNIPHIER_PINCTRL_PIN(80, "RGMII1_TXD1", UNIPHIER_PIN_IECTRL_EXIST,
  253. 46, UNIPHIER_PIN_DRV_2BIT,
  254. 80, UNIPHIER_PIN_PULL_DOWN),
  255. UNIPHIER_PINCTRL_PIN(81, "RGMII1_TXD2", UNIPHIER_PIN_IECTRL_EXIST,
  256. 47, UNIPHIER_PIN_DRV_2BIT,
  257. 81, UNIPHIER_PIN_PULL_DOWN),
  258. UNIPHIER_PINCTRL_PIN(82, "RGMII1_TXD3", UNIPHIER_PIN_IECTRL_EXIST,
  259. 48, UNIPHIER_PIN_DRV_2BIT,
  260. 82, UNIPHIER_PIN_PULL_DOWN),
  261. UNIPHIER_PINCTRL_PIN(83, "RGMII1_TXCTL", UNIPHIER_PIN_IECTRL_EXIST,
  262. 49, UNIPHIER_PIN_DRV_2BIT,
  263. 83, UNIPHIER_PIN_PULL_DOWN),
  264. UNIPHIER_PINCTRL_PIN(84, "USB0VBUS", UNIPHIER_PIN_IECTRL_EXIST,
  265. 34, UNIPHIER_PIN_DRV_3BIT,
  266. 84, UNIPHIER_PIN_PULL_DOWN),
  267. UNIPHIER_PINCTRL_PIN(85, "USB0OD", UNIPHIER_PIN_IECTRL_EXIST,
  268. 35, UNIPHIER_PIN_DRV_3BIT,
  269. 85, UNIPHIER_PIN_PULL_UP),
  270. UNIPHIER_PINCTRL_PIN(86, "USB1VBUS", UNIPHIER_PIN_IECTRL_EXIST,
  271. 36, UNIPHIER_PIN_DRV_3BIT,
  272. 86, UNIPHIER_PIN_PULL_DOWN),
  273. UNIPHIER_PINCTRL_PIN(87, "USB1OD", UNIPHIER_PIN_IECTRL_EXIST,
  274. 37, UNIPHIER_PIN_DRV_3BIT,
  275. 87, UNIPHIER_PIN_PULL_UP),
  276. UNIPHIER_PINCTRL_PIN(88, "USB2VBUS", UNIPHIER_PIN_IECTRL_EXIST,
  277. 38, UNIPHIER_PIN_DRV_3BIT,
  278. 88, UNIPHIER_PIN_PULL_DOWN),
  279. UNIPHIER_PINCTRL_PIN(89, "USB2OD", UNIPHIER_PIN_IECTRL_EXIST,
  280. 39, UNIPHIER_PIN_DRV_3BIT,
  281. 89, UNIPHIER_PIN_PULL_UP),
  282. UNIPHIER_PINCTRL_PIN(90, "USB3VBUS", UNIPHIER_PIN_IECTRL_EXIST,
  283. 40, UNIPHIER_PIN_DRV_3BIT,
  284. 90, UNIPHIER_PIN_PULL_DOWN),
  285. UNIPHIER_PINCTRL_PIN(91, "USB3OD", UNIPHIER_PIN_IECTRL_EXIST,
  286. 41, UNIPHIER_PIN_DRV_3BIT,
  287. 91, UNIPHIER_PIN_PULL_UP),
  288. UNIPHIER_PINCTRL_PIN(92, "TXD0", UNIPHIER_PIN_IECTRL_EXIST,
  289. 42, UNIPHIER_PIN_DRV_3BIT,
  290. 92, UNIPHIER_PIN_PULL_UP),
  291. UNIPHIER_PINCTRL_PIN(93, "RXD0", UNIPHIER_PIN_IECTRL_EXIST,
  292. 43, UNIPHIER_PIN_DRV_3BIT,
  293. 93, UNIPHIER_PIN_PULL_UP),
  294. UNIPHIER_PINCTRL_PIN(94, "TXD1", UNIPHIER_PIN_IECTRL_EXIST,
  295. 44, UNIPHIER_PIN_DRV_3BIT,
  296. 94, UNIPHIER_PIN_PULL_UP),
  297. UNIPHIER_PINCTRL_PIN(95, "RXD1", UNIPHIER_PIN_IECTRL_EXIST,
  298. 45, UNIPHIER_PIN_DRV_3BIT,
  299. 95, UNIPHIER_PIN_PULL_UP),
  300. UNIPHIER_PINCTRL_PIN(96, "TXD2", UNIPHIER_PIN_IECTRL_EXIST,
  301. 46, UNIPHIER_PIN_DRV_3BIT,
  302. 96, UNIPHIER_PIN_PULL_UP),
  303. UNIPHIER_PINCTRL_PIN(97, "RXD2", UNIPHIER_PIN_IECTRL_EXIST,
  304. 47, UNIPHIER_PIN_DRV_3BIT,
  305. 97, UNIPHIER_PIN_PULL_UP),
  306. UNIPHIER_PINCTRL_PIN(98, "TXD3", UNIPHIER_PIN_IECTRL_EXIST,
  307. 48, UNIPHIER_PIN_DRV_3BIT,
  308. 98, UNIPHIER_PIN_PULL_UP),
  309. UNIPHIER_PINCTRL_PIN(99, "RXD3", UNIPHIER_PIN_IECTRL_EXIST,
  310. 49, UNIPHIER_PIN_DRV_3BIT,
  311. 99, UNIPHIER_PIN_PULL_UP),
  312. UNIPHIER_PINCTRL_PIN(100, "SPISYNC0", UNIPHIER_PIN_IECTRL_EXIST,
  313. 50, UNIPHIER_PIN_DRV_3BIT,
  314. 100, UNIPHIER_PIN_PULL_DOWN),
  315. UNIPHIER_PINCTRL_PIN(101, "SPISCLK0", UNIPHIER_PIN_IECTRL_EXIST,
  316. 51, UNIPHIER_PIN_DRV_3BIT,
  317. 101, UNIPHIER_PIN_PULL_DOWN),
  318. UNIPHIER_PINCTRL_PIN(102, "SPITXD0", UNIPHIER_PIN_IECTRL_EXIST,
  319. 52, UNIPHIER_PIN_DRV_3BIT,
  320. 102, UNIPHIER_PIN_PULL_DOWN),
  321. UNIPHIER_PINCTRL_PIN(103, "SPIRXD0", UNIPHIER_PIN_IECTRL_EXIST,
  322. 53, UNIPHIER_PIN_DRV_3BIT,
  323. 103, UNIPHIER_PIN_PULL_DOWN),
  324. UNIPHIER_PINCTRL_PIN(104, "SDA0", UNIPHIER_PIN_IECTRL_EXIST,
  325. -1, UNIPHIER_PIN_DRV_FIXED4,
  326. -1, UNIPHIER_PIN_PULL_NONE),
  327. UNIPHIER_PINCTRL_PIN(105, "SCL0", UNIPHIER_PIN_IECTRL_EXIST,
  328. -1, UNIPHIER_PIN_DRV_FIXED4,
  329. -1, UNIPHIER_PIN_PULL_NONE),
  330. UNIPHIER_PINCTRL_PIN(106, "SDA1", UNIPHIER_PIN_IECTRL_EXIST,
  331. -1, UNIPHIER_PIN_DRV_FIXED4,
  332. -1, UNIPHIER_PIN_PULL_NONE),
  333. UNIPHIER_PINCTRL_PIN(107, "SCL1", UNIPHIER_PIN_IECTRL_EXIST,
  334. -1, UNIPHIER_PIN_DRV_FIXED4,
  335. -1, UNIPHIER_PIN_PULL_NONE),
  336. UNIPHIER_PINCTRL_PIN(108, "SDA2", UNIPHIER_PIN_IECTRL_EXIST,
  337. -1, UNIPHIER_PIN_DRV_FIXED4,
  338. -1, UNIPHIER_PIN_PULL_NONE),
  339. UNIPHIER_PINCTRL_PIN(109, "SCL2", UNIPHIER_PIN_IECTRL_EXIST,
  340. -1, UNIPHIER_PIN_DRV_FIXED4,
  341. -1, UNIPHIER_PIN_PULL_NONE),
  342. UNIPHIER_PINCTRL_PIN(110, "SDA3", UNIPHIER_PIN_IECTRL_EXIST,
  343. -1, UNIPHIER_PIN_DRV_FIXED4,
  344. -1, UNIPHIER_PIN_PULL_NONE),
  345. UNIPHIER_PINCTRL_PIN(111, "SCL3", UNIPHIER_PIN_IECTRL_EXIST,
  346. -1, UNIPHIER_PIN_DRV_FIXED4,
  347. -1, UNIPHIER_PIN_PULL_NONE),
  348. UNIPHIER_PINCTRL_PIN(112, "SMTRST0", UNIPHIER_PIN_IECTRL_EXIST,
  349. 54, UNIPHIER_PIN_DRV_3BIT,
  350. 112, UNIPHIER_PIN_PULL_DOWN),
  351. UNIPHIER_PINCTRL_PIN(113, "SMTCMD0", UNIPHIER_PIN_IECTRL_EXIST,
  352. 55, UNIPHIER_PIN_DRV_3BIT,
  353. 113, UNIPHIER_PIN_PULL_DOWN),
  354. UNIPHIER_PINCTRL_PIN(114, "SMTD0", UNIPHIER_PIN_IECTRL_EXIST,
  355. 56, UNIPHIER_PIN_DRV_3BIT,
  356. 114, UNIPHIER_PIN_PULL_DOWN),
  357. UNIPHIER_PINCTRL_PIN(115, "SMTSEL0", UNIPHIER_PIN_IECTRL_EXIST,
  358. 57, UNIPHIER_PIN_DRV_3BIT,
  359. 115, UNIPHIER_PIN_PULL_DOWN),
  360. UNIPHIER_PINCTRL_PIN(116, "SMTCLK0CG", UNIPHIER_PIN_IECTRL_EXIST,
  361. 58, UNIPHIER_PIN_DRV_3BIT,
  362. 116, UNIPHIER_PIN_PULL_DOWN),
  363. UNIPHIER_PINCTRL_PIN(117, "SMTDET0", UNIPHIER_PIN_IECTRL_EXIST,
  364. 59, UNIPHIER_PIN_DRV_3BIT,
  365. 117, UNIPHIER_PIN_PULL_DOWN),
  366. UNIPHIER_PINCTRL_PIN(118, "SMTRST1", UNIPHIER_PIN_IECTRL_EXIST,
  367. 60, UNIPHIER_PIN_DRV_3BIT,
  368. 118, UNIPHIER_PIN_PULL_DOWN),
  369. UNIPHIER_PINCTRL_PIN(119, "SMTCMD1", UNIPHIER_PIN_IECTRL_EXIST,
  370. 61, UNIPHIER_PIN_DRV_3BIT,
  371. 119, UNIPHIER_PIN_PULL_DOWN),
  372. UNIPHIER_PINCTRL_PIN(120, "SMTD1", UNIPHIER_PIN_IECTRL_EXIST,
  373. 62, UNIPHIER_PIN_DRV_3BIT,
  374. 120, UNIPHIER_PIN_PULL_DOWN),
  375. UNIPHIER_PINCTRL_PIN(121, "SMTSEL1", UNIPHIER_PIN_IECTRL_EXIST,
  376. 63, UNIPHIER_PIN_DRV_3BIT,
  377. 121, UNIPHIER_PIN_PULL_DOWN),
  378. UNIPHIER_PINCTRL_PIN(122, "SMTCLK1CG", UNIPHIER_PIN_IECTRL_EXIST,
  379. 64, UNIPHIER_PIN_DRV_3BIT,
  380. 122, UNIPHIER_PIN_PULL_DOWN),
  381. UNIPHIER_PINCTRL_PIN(123, "SMTDET1", UNIPHIER_PIN_IECTRL_EXIST,
  382. 65, UNIPHIER_PIN_DRV_3BIT,
  383. 123, UNIPHIER_PIN_PULL_DOWN),
  384. UNIPHIER_PINCTRL_PIN(124, "SMTRST2", UNIPHIER_PIN_IECTRL_EXIST,
  385. 66, UNIPHIER_PIN_DRV_3BIT,
  386. 124, UNIPHIER_PIN_PULL_DOWN),
  387. UNIPHIER_PINCTRL_PIN(125, "SMTCMD2", UNIPHIER_PIN_IECTRL_EXIST,
  388. 67, UNIPHIER_PIN_DRV_3BIT,
  389. 125, UNIPHIER_PIN_PULL_DOWN),
  390. UNIPHIER_PINCTRL_PIN(126, "SMTD2", UNIPHIER_PIN_IECTRL_EXIST,
  391. 68, UNIPHIER_PIN_DRV_3BIT,
  392. 126, UNIPHIER_PIN_PULL_DOWN),
  393. UNIPHIER_PINCTRL_PIN(127, "SMTSEL2", UNIPHIER_PIN_IECTRL_EXIST,
  394. 69, UNIPHIER_PIN_DRV_3BIT,
  395. 127, UNIPHIER_PIN_PULL_DOWN),
  396. UNIPHIER_PINCTRL_PIN(128, "SMTCLK2CG", UNIPHIER_PIN_IECTRL_EXIST,
  397. 70, UNIPHIER_PIN_DRV_3BIT,
  398. 128, UNIPHIER_PIN_PULL_DOWN),
  399. UNIPHIER_PINCTRL_PIN(129, "SMTDET2", UNIPHIER_PIN_IECTRL_EXIST,
  400. 71, UNIPHIER_PIN_DRV_3BIT,
  401. 129, UNIPHIER_PIN_PULL_DOWN),
  402. UNIPHIER_PINCTRL_PIN(130, "CH0CLK", UNIPHIER_PIN_IECTRL_EXIST,
  403. 72, UNIPHIER_PIN_DRV_3BIT,
  404. 130, UNIPHIER_PIN_PULL_DOWN),
  405. UNIPHIER_PINCTRL_PIN(131, "CH0PSYNC", UNIPHIER_PIN_IECTRL_EXIST,
  406. 73, UNIPHIER_PIN_DRV_3BIT,
  407. 131, UNIPHIER_PIN_PULL_DOWN),
  408. UNIPHIER_PINCTRL_PIN(132, "CH0VAL", UNIPHIER_PIN_IECTRL_EXIST,
  409. 74, UNIPHIER_PIN_DRV_3BIT,
  410. 132, UNIPHIER_PIN_PULL_DOWN),
  411. UNIPHIER_PINCTRL_PIN(133, "CH0DATA", UNIPHIER_PIN_IECTRL_EXIST,
  412. 75, UNIPHIER_PIN_DRV_3BIT,
  413. 133, UNIPHIER_PIN_PULL_DOWN),
  414. UNIPHIER_PINCTRL_PIN(134, "CH1CLK", UNIPHIER_PIN_IECTRL_EXIST,
  415. 76, UNIPHIER_PIN_DRV_3BIT,
  416. 134, UNIPHIER_PIN_PULL_DOWN),
  417. UNIPHIER_PINCTRL_PIN(135, "CH1PSYNC", UNIPHIER_PIN_IECTRL_EXIST,
  418. 77, UNIPHIER_PIN_DRV_3BIT,
  419. 135, UNIPHIER_PIN_PULL_DOWN),
  420. UNIPHIER_PINCTRL_PIN(136, "CH1VAL", UNIPHIER_PIN_IECTRL_EXIST,
  421. 78, UNIPHIER_PIN_DRV_3BIT,
  422. 136, UNIPHIER_PIN_PULL_DOWN),
  423. UNIPHIER_PINCTRL_PIN(137, "CH1DATA", UNIPHIER_PIN_IECTRL_EXIST,
  424. 79, UNIPHIER_PIN_DRV_3BIT,
  425. 137, UNIPHIER_PIN_PULL_DOWN),
  426. UNIPHIER_PINCTRL_PIN(138, "CH2CLK", UNIPHIER_PIN_IECTRL_EXIST,
  427. 80, UNIPHIER_PIN_DRV_3BIT,
  428. 138, UNIPHIER_PIN_PULL_DOWN),
  429. UNIPHIER_PINCTRL_PIN(139, "CH2PSYNC", UNIPHIER_PIN_IECTRL_EXIST,
  430. 81, UNIPHIER_PIN_DRV_3BIT,
  431. 139, UNIPHIER_PIN_PULL_DOWN),
  432. UNIPHIER_PINCTRL_PIN(140, "CH2VAL", UNIPHIER_PIN_IECTRL_EXIST,
  433. 82, UNIPHIER_PIN_DRV_3BIT,
  434. 140, UNIPHIER_PIN_PULL_DOWN),
  435. UNIPHIER_PINCTRL_PIN(141, "CH2DATA", UNIPHIER_PIN_IECTRL_EXIST,
  436. 83, UNIPHIER_PIN_DRV_3BIT,
  437. 141, UNIPHIER_PIN_PULL_DOWN),
  438. UNIPHIER_PINCTRL_PIN(142, "HS0BCLKIN", UNIPHIER_PIN_IECTRL_EXIST,
  439. 84, UNIPHIER_PIN_DRV_3BIT,
  440. 142, UNIPHIER_PIN_PULL_DOWN),
  441. UNIPHIER_PINCTRL_PIN(143, "HS0SYNCIN", UNIPHIER_PIN_IECTRL_EXIST,
  442. 85, UNIPHIER_PIN_DRV_3BIT,
  443. 143, UNIPHIER_PIN_PULL_DOWN),
  444. UNIPHIER_PINCTRL_PIN(144, "HS0VALIN", UNIPHIER_PIN_IECTRL_EXIST,
  445. 86, UNIPHIER_PIN_DRV_3BIT,
  446. 144, UNIPHIER_PIN_PULL_DOWN),
  447. UNIPHIER_PINCTRL_PIN(145, "HS0DIN0", UNIPHIER_PIN_IECTRL_EXIST,
  448. 87, UNIPHIER_PIN_DRV_3BIT,
  449. 145, UNIPHIER_PIN_PULL_DOWN),
  450. UNIPHIER_PINCTRL_PIN(146, "HS0DIN1", UNIPHIER_PIN_IECTRL_EXIST,
  451. 88, UNIPHIER_PIN_DRV_3BIT,
  452. 146, UNIPHIER_PIN_PULL_DOWN),
  453. UNIPHIER_PINCTRL_PIN(147, "HS0DIN2", UNIPHIER_PIN_IECTRL_EXIST,
  454. 89, UNIPHIER_PIN_DRV_3BIT,
  455. 147, UNIPHIER_PIN_PULL_DOWN),
  456. UNIPHIER_PINCTRL_PIN(148, "HS0DIN3", UNIPHIER_PIN_IECTRL_EXIST,
  457. 90, UNIPHIER_PIN_DRV_3BIT,
  458. 148, UNIPHIER_PIN_PULL_DOWN),
  459. UNIPHIER_PINCTRL_PIN(149, "HS0DIN4", UNIPHIER_PIN_IECTRL_EXIST,
  460. 91, UNIPHIER_PIN_DRV_3BIT,
  461. 149, UNIPHIER_PIN_PULL_DOWN),
  462. UNIPHIER_PINCTRL_PIN(150, "HS0DIN5", UNIPHIER_PIN_IECTRL_EXIST,
  463. 92, UNIPHIER_PIN_DRV_3BIT,
  464. 150, UNIPHIER_PIN_PULL_DOWN),
  465. UNIPHIER_PINCTRL_PIN(151, "HS0DIN6", UNIPHIER_PIN_IECTRL_EXIST,
  466. 93, UNIPHIER_PIN_DRV_3BIT,
  467. 151, UNIPHIER_PIN_PULL_DOWN),
  468. UNIPHIER_PINCTRL_PIN(152, "HS0DIN7", UNIPHIER_PIN_IECTRL_EXIST,
  469. 94, UNIPHIER_PIN_DRV_3BIT,
  470. 152, UNIPHIER_PIN_PULL_DOWN),
  471. UNIPHIER_PINCTRL_PIN(153, "HS1BCLKIN", UNIPHIER_PIN_IECTRL_EXIST,
  472. 95, UNIPHIER_PIN_DRV_3BIT,
  473. 153, UNIPHIER_PIN_PULL_DOWN),
  474. UNIPHIER_PINCTRL_PIN(154, "HS1SYNCIN", UNIPHIER_PIN_IECTRL_EXIST,
  475. 96, UNIPHIER_PIN_DRV_3BIT,
  476. 154, UNIPHIER_PIN_PULL_DOWN),
  477. UNIPHIER_PINCTRL_PIN(155, "HS1VALIN", UNIPHIER_PIN_IECTRL_EXIST,
  478. 97, UNIPHIER_PIN_DRV_3BIT,
  479. 155, UNIPHIER_PIN_PULL_DOWN),
  480. UNIPHIER_PINCTRL_PIN(156, "HS1DIN0", UNIPHIER_PIN_IECTRL_EXIST,
  481. 98, UNIPHIER_PIN_DRV_3BIT,
  482. 156, UNIPHIER_PIN_PULL_DOWN),
  483. UNIPHIER_PINCTRL_PIN(157, "HS1DIN1", UNIPHIER_PIN_IECTRL_EXIST,
  484. 99, UNIPHIER_PIN_DRV_3BIT,
  485. 157, UNIPHIER_PIN_PULL_DOWN),
  486. UNIPHIER_PINCTRL_PIN(158, "HS1DIN2", UNIPHIER_PIN_IECTRL_EXIST,
  487. 100, UNIPHIER_PIN_DRV_3BIT,
  488. 158, UNIPHIER_PIN_PULL_DOWN),
  489. UNIPHIER_PINCTRL_PIN(159, "HS1DIN3", UNIPHIER_PIN_IECTRL_EXIST,
  490. 101, UNIPHIER_PIN_DRV_3BIT,
  491. 159, UNIPHIER_PIN_PULL_DOWN),
  492. UNIPHIER_PINCTRL_PIN(160, "HS1DIN4", UNIPHIER_PIN_IECTRL_EXIST,
  493. 102, UNIPHIER_PIN_DRV_3BIT,
  494. 160, UNIPHIER_PIN_PULL_DOWN),
  495. UNIPHIER_PINCTRL_PIN(161, "HS1DIN5", UNIPHIER_PIN_IECTRL_EXIST,
  496. 103, UNIPHIER_PIN_DRV_3BIT,
  497. 161, UNIPHIER_PIN_PULL_DOWN),
  498. UNIPHIER_PINCTRL_PIN(162, "HS1DIN6", UNIPHIER_PIN_IECTRL_EXIST,
  499. 104, UNIPHIER_PIN_DRV_3BIT,
  500. 162, UNIPHIER_PIN_PULL_DOWN),
  501. UNIPHIER_PINCTRL_PIN(163, "HS1DIN7", UNIPHIER_PIN_IECTRL_EXIST,
  502. 105, UNIPHIER_PIN_DRV_3BIT,
  503. 163, UNIPHIER_PIN_PULL_DOWN),
  504. UNIPHIER_PINCTRL_PIN(164, "LINKCLK", UNIPHIER_PIN_IECTRL_EXIST,
  505. 106, UNIPHIER_PIN_DRV_3BIT,
  506. 164, UNIPHIER_PIN_PULL_DOWN),
  507. UNIPHIER_PINCTRL_PIN(165, "LINKREQ", UNIPHIER_PIN_IECTRL_EXIST,
  508. 107, UNIPHIER_PIN_DRV_3BIT,
  509. 165, UNIPHIER_PIN_PULL_DOWN),
  510. UNIPHIER_PINCTRL_PIN(166, "LINKCTL0", UNIPHIER_PIN_IECTRL_EXIST,
  511. 108, UNIPHIER_PIN_DRV_3BIT,
  512. 166, UNIPHIER_PIN_PULL_DOWN),
  513. UNIPHIER_PINCTRL_PIN(167, "LINKCTL1", UNIPHIER_PIN_IECTRL_EXIST,
  514. 109, UNIPHIER_PIN_DRV_3BIT,
  515. 167, UNIPHIER_PIN_PULL_DOWN),
  516. UNIPHIER_PINCTRL_PIN(168, "LINKDT0", UNIPHIER_PIN_IECTRL_EXIST,
  517. 110, UNIPHIER_PIN_DRV_3BIT,
  518. 168, UNIPHIER_PIN_PULL_DOWN),
  519. UNIPHIER_PINCTRL_PIN(169, "LINKDT1", UNIPHIER_PIN_IECTRL_EXIST,
  520. 111, UNIPHIER_PIN_DRV_3BIT,
  521. 169, UNIPHIER_PIN_PULL_DOWN),
  522. UNIPHIER_PINCTRL_PIN(170, "LINKDT2", UNIPHIER_PIN_IECTRL_EXIST,
  523. 112, UNIPHIER_PIN_DRV_3BIT,
  524. 170, UNIPHIER_PIN_PULL_DOWN),
  525. UNIPHIER_PINCTRL_PIN(171, "LINKDT3", UNIPHIER_PIN_IECTRL_EXIST,
  526. 113, UNIPHIER_PIN_DRV_3BIT,
  527. 171, UNIPHIER_PIN_PULL_DOWN),
  528. UNIPHIER_PINCTRL_PIN(172, "LINKDT4", UNIPHIER_PIN_IECTRL_EXIST,
  529. 114, UNIPHIER_PIN_DRV_3BIT,
  530. 172, UNIPHIER_PIN_PULL_DOWN),
  531. UNIPHIER_PINCTRL_PIN(173, "LINKDT5", UNIPHIER_PIN_IECTRL_EXIST,
  532. 115, UNIPHIER_PIN_DRV_3BIT,
  533. 173, UNIPHIER_PIN_PULL_DOWN),
  534. UNIPHIER_PINCTRL_PIN(174, "LINKDT6", UNIPHIER_PIN_IECTRL_EXIST,
  535. 116, UNIPHIER_PIN_DRV_3BIT,
  536. 174, UNIPHIER_PIN_PULL_DOWN),
  537. UNIPHIER_PINCTRL_PIN(175, "LINKDT7", UNIPHIER_PIN_IECTRL_EXIST,
  538. 117, UNIPHIER_PIN_DRV_3BIT,
  539. 175, UNIPHIER_PIN_PULL_DOWN),
  540. UNIPHIER_PINCTRL_PIN(176, "H0RXDDCSDA", UNIPHIER_PIN_IECTRL_EXIST,
  541. -1, UNIPHIER_PIN_DRV_FIXED4,
  542. -1, UNIPHIER_PIN_PULL_NONE),
  543. UNIPHIER_PINCTRL_PIN(177, "H0RXDDCSCL", UNIPHIER_PIN_IECTRL_EXIST,
  544. -1, UNIPHIER_PIN_DRV_FIXED4,
  545. -1, UNIPHIER_PIN_PULL_NONE),
  546. UNIPHIER_PINCTRL_PIN(178, "H0RXHPDO", UNIPHIER_PIN_IECTRL_EXIST,
  547. -1, UNIPHIER_PIN_DRV_FIXED4,
  548. -1, UNIPHIER_PIN_PULL_NONE),
  549. UNIPHIER_PINCTRL_PIN(179, "H0RX5VDETI", UNIPHIER_PIN_IECTRL_EXIST,
  550. -1, UNIPHIER_PIN_DRV_FIXED4,
  551. -1, UNIPHIER_PIN_PULL_NONE),
  552. UNIPHIER_PINCTRL_PIN(180, "H0TXDDCSDA", UNIPHIER_PIN_IECTRL_EXIST,
  553. -1, UNIPHIER_PIN_DRV_FIXED4,
  554. -1, UNIPHIER_PIN_PULL_NONE),
  555. UNIPHIER_PINCTRL_PIN(181, "H0TXDDCSCL", UNIPHIER_PIN_IECTRL_EXIST,
  556. -1, UNIPHIER_PIN_DRV_FIXED4,
  557. -1, UNIPHIER_PIN_PULL_NONE),
  558. UNIPHIER_PINCTRL_PIN(182, "H0TXHPDI", UNIPHIER_PIN_IECTRL_EXIST,
  559. -1, UNIPHIER_PIN_DRV_FIXED4,
  560. -1, UNIPHIER_PIN_PULL_NONE),
  561. UNIPHIER_PINCTRL_PIN(183, "H1TXDDCSDA", UNIPHIER_PIN_IECTRL_EXIST,
  562. -1, UNIPHIER_PIN_DRV_FIXED4,
  563. -1, UNIPHIER_PIN_PULL_NONE),
  564. UNIPHIER_PINCTRL_PIN(184, "H1TXDDCSCL", UNIPHIER_PIN_IECTRL_EXIST,
  565. -1, UNIPHIER_PIN_DRV_FIXED4,
  566. -1, UNIPHIER_PIN_PULL_NONE),
  567. UNIPHIER_PINCTRL_PIN(185, "H1TXHPDI", UNIPHIER_PIN_IECTRL_EXIST,
  568. -1, UNIPHIER_PIN_DRV_FIXED4,
  569. -1, UNIPHIER_PIN_PULL_NONE),
  570. UNIPHIER_PINCTRL_PIN(186, "AI1ADCCK", UNIPHIER_PIN_IECTRL_EXIST,
  571. 118, UNIPHIER_PIN_DRV_3BIT,
  572. 186, UNIPHIER_PIN_PULL_DOWN),
  573. UNIPHIER_PINCTRL_PIN(187, "AI1BCK", UNIPHIER_PIN_IECTRL_EXIST,
  574. 119, UNIPHIER_PIN_DRV_3BIT,
  575. 187, UNIPHIER_PIN_PULL_DOWN),
  576. UNIPHIER_PINCTRL_PIN(188, "AI1LRCK", UNIPHIER_PIN_IECTRL_EXIST,
  577. 120, UNIPHIER_PIN_DRV_3BIT,
  578. 188, UNIPHIER_PIN_PULL_DOWN),
  579. UNIPHIER_PINCTRL_PIN(189, "AI1D0", UNIPHIER_PIN_IECTRL_EXIST,
  580. 121, UNIPHIER_PIN_DRV_3BIT,
  581. 189, UNIPHIER_PIN_PULL_DOWN),
  582. UNIPHIER_PINCTRL_PIN(190, "AO1IEC", UNIPHIER_PIN_IECTRL_EXIST,
  583. 122, UNIPHIER_PIN_DRV_3BIT,
  584. 190, UNIPHIER_PIN_PULL_DOWN),
  585. UNIPHIER_PINCTRL_PIN(191, "AO2IEC", UNIPHIER_PIN_IECTRL_EXIST,
  586. 123, UNIPHIER_PIN_DRV_3BIT,
  587. 191, UNIPHIER_PIN_PULL_DOWN),
  588. UNIPHIER_PINCTRL_PIN(192, "AO2DACCK", UNIPHIER_PIN_IECTRL_EXIST,
  589. 124, UNIPHIER_PIN_DRV_3BIT,
  590. 192, UNIPHIER_PIN_PULL_DOWN),
  591. UNIPHIER_PINCTRL_PIN(193, "AO2BCK", UNIPHIER_PIN_IECTRL_EXIST,
  592. 125, UNIPHIER_PIN_DRV_3BIT,
  593. 193, UNIPHIER_PIN_PULL_DOWN),
  594. UNIPHIER_PINCTRL_PIN(194, "AO2LRCK", UNIPHIER_PIN_IECTRL_EXIST,
  595. 126, UNIPHIER_PIN_DRV_3BIT,
  596. 194, UNIPHIER_PIN_PULL_DOWN),
  597. UNIPHIER_PINCTRL_PIN(195, "AO2D0", UNIPHIER_PIN_IECTRL_EXIST,
  598. 127, UNIPHIER_PIN_DRV_3BIT,
  599. 195, UNIPHIER_PIN_PULL_DOWN),
  600. UNIPHIER_PINCTRL_PIN(196, "AO2D1", UNIPHIER_PIN_IECTRL_EXIST,
  601. 128, UNIPHIER_PIN_DRV_3BIT,
  602. 196, UNIPHIER_PIN_PULL_DOWN),
  603. UNIPHIER_PINCTRL_PIN(197, "AO2D2", UNIPHIER_PIN_IECTRL_EXIST,
  604. 129, UNIPHIER_PIN_DRV_3BIT,
  605. 197, UNIPHIER_PIN_PULL_DOWN),
  606. UNIPHIER_PINCTRL_PIN(198, "AO2D3", UNIPHIER_PIN_IECTRL_EXIST,
  607. 130, UNIPHIER_PIN_DRV_3BIT,
  608. 198, UNIPHIER_PIN_PULL_DOWN),
  609. UNIPHIER_PINCTRL_PIN(199, "AO3DACCK", UNIPHIER_PIN_IECTRL_EXIST,
  610. 131, UNIPHIER_PIN_DRV_3BIT,
  611. 199, UNIPHIER_PIN_PULL_DOWN),
  612. UNIPHIER_PINCTRL_PIN(200, "AO3BCK", UNIPHIER_PIN_IECTRL_EXIST,
  613. 132, UNIPHIER_PIN_DRV_3BIT,
  614. 200, UNIPHIER_PIN_PULL_DOWN),
  615. UNIPHIER_PINCTRL_PIN(201, "AO3LRCK", UNIPHIER_PIN_IECTRL_EXIST,
  616. 133, UNIPHIER_PIN_DRV_3BIT,
  617. 201, UNIPHIER_PIN_PULL_DOWN),
  618. UNIPHIER_PINCTRL_PIN(202, "AO3D0", UNIPHIER_PIN_IECTRL_EXIST,
  619. 134, UNIPHIER_PIN_DRV_3BIT,
  620. 202, UNIPHIER_PIN_PULL_DOWN),
  621. UNIPHIER_PINCTRL_PIN(203, "VI1CLK", UNIPHIER_PIN_IECTRL_EXIST,
  622. 135, UNIPHIER_PIN_DRV_3BIT,
  623. 203, UNIPHIER_PIN_PULL_DOWN),
  624. UNIPHIER_PINCTRL_PIN(204, "VI1G2", UNIPHIER_PIN_IECTRL_EXIST,
  625. 136, UNIPHIER_PIN_DRV_3BIT,
  626. 204, UNIPHIER_PIN_PULL_DOWN),
  627. UNIPHIER_PINCTRL_PIN(205, "VI1G3", UNIPHIER_PIN_IECTRL_EXIST,
  628. 137, UNIPHIER_PIN_DRV_3BIT,
  629. 205, UNIPHIER_PIN_PULL_DOWN),
  630. UNIPHIER_PINCTRL_PIN(206, "VI1G4", UNIPHIER_PIN_IECTRL_EXIST,
  631. 138, UNIPHIER_PIN_DRV_3BIT,
  632. 206, UNIPHIER_PIN_PULL_DOWN),
  633. UNIPHIER_PINCTRL_PIN(207, "VI1G5", UNIPHIER_PIN_IECTRL_EXIST,
  634. 139, UNIPHIER_PIN_DRV_3BIT,
  635. 207, UNIPHIER_PIN_PULL_DOWN),
  636. UNIPHIER_PINCTRL_PIN(208, "VI1G6", UNIPHIER_PIN_IECTRL_EXIST,
  637. 140, UNIPHIER_PIN_DRV_3BIT,
  638. 208, UNIPHIER_PIN_PULL_DOWN),
  639. UNIPHIER_PINCTRL_PIN(209, "VI1G7", UNIPHIER_PIN_IECTRL_EXIST,
  640. 141, UNIPHIER_PIN_DRV_3BIT,
  641. 209, UNIPHIER_PIN_PULL_DOWN),
  642. UNIPHIER_PINCTRL_PIN(210, "VI1G8", UNIPHIER_PIN_IECTRL_EXIST,
  643. 142, UNIPHIER_PIN_DRV_3BIT,
  644. 210, UNIPHIER_PIN_PULL_DOWN),
  645. UNIPHIER_PINCTRL_PIN(211, "VI1G9", UNIPHIER_PIN_IECTRL_EXIST,
  646. 143, UNIPHIER_PIN_DRV_3BIT,
  647. 211, UNIPHIER_PIN_PULL_DOWN),
  648. UNIPHIER_PINCTRL_PIN(212, "FANPWM", UNIPHIER_PIN_IECTRL_EXIST,
  649. 144, UNIPHIER_PIN_DRV_3BIT,
  650. 212, UNIPHIER_PIN_PULL_DOWN),
  651. UNIPHIER_PINCTRL_PIN(213, "CK27EXO", UNIPHIER_PIN_IECTRL_EXIST,
  652. 145, UNIPHIER_PIN_DRV_3BIT,
  653. 213, UNIPHIER_PIN_PULL_DOWN),
  654. UNIPHIER_PINCTRL_PIN(214, "CK27AO", UNIPHIER_PIN_IECTRL_EXIST,
  655. 146, UNIPHIER_PIN_DRV_3BIT,
  656. 214, UNIPHIER_PIN_PULL_DOWN),
  657. UNIPHIER_PINCTRL_PIN(215, "CK27EXI", UNIPHIER_PIN_IECTRL_EXIST,
  658. 147, UNIPHIER_PIN_DRV_3BIT,
  659. 215, UNIPHIER_PIN_PULL_DOWN),
  660. UNIPHIER_PINCTRL_PIN(216, "VEXCKA", UNIPHIER_PIN_IECTRL_EXIST,
  661. 148, UNIPHIER_PIN_DRV_3BIT,
  662. 216, UNIPHIER_PIN_PULL_DOWN),
  663. UNIPHIER_PINCTRL_PIN(217, "AEXCKA", UNIPHIER_PIN_IECTRL_EXIST,
  664. 149, UNIPHIER_PIN_DRV_3BIT,
  665. 217, UNIPHIER_PIN_PULL_DOWN),
  666. UNIPHIER_PINCTRL_PIN(218, "ASEL", UNIPHIER_PIN_IECTRL_EXIST,
  667. 150, UNIPHIER_PIN_DRV_3BIT,
  668. 218, UNIPHIER_PIN_PULL_DOWN),
  669. UNIPHIER_PINCTRL_PIN(219, "XIRQ0", UNIPHIER_PIN_IECTRL_EXIST,
  670. 151, UNIPHIER_PIN_DRV_3BIT,
  671. 219, UNIPHIER_PIN_PULL_DOWN),
  672. UNIPHIER_PINCTRL_PIN(220, "XIRQ1", UNIPHIER_PIN_IECTRL_EXIST,
  673. 152, UNIPHIER_PIN_DRV_3BIT,
  674. 220, UNIPHIER_PIN_PULL_DOWN),
  675. UNIPHIER_PINCTRL_PIN(221, "XIRQ2", UNIPHIER_PIN_IECTRL_EXIST,
  676. 153, UNIPHIER_PIN_DRV_3BIT,
  677. 221, UNIPHIER_PIN_PULL_DOWN),
  678. UNIPHIER_PINCTRL_PIN(222, "XIRQ3", UNIPHIER_PIN_IECTRL_EXIST,
  679. 154, UNIPHIER_PIN_DRV_3BIT,
  680. 222, UNIPHIER_PIN_PULL_DOWN),
  681. UNIPHIER_PINCTRL_PIN(223, "XIRQ4", UNIPHIER_PIN_IECTRL_EXIST,
  682. 155, UNIPHIER_PIN_DRV_3BIT,
  683. 223, UNIPHIER_PIN_PULL_DOWN),
  684. UNIPHIER_PINCTRL_PIN(224, "XIRQ5", UNIPHIER_PIN_IECTRL_EXIST,
  685. 156, UNIPHIER_PIN_DRV_3BIT,
  686. 224, UNIPHIER_PIN_PULL_DOWN),
  687. UNIPHIER_PINCTRL_PIN(225, "XIRQ6", UNIPHIER_PIN_IECTRL_EXIST,
  688. 157, UNIPHIER_PIN_DRV_3BIT,
  689. 225, UNIPHIER_PIN_PULL_DOWN),
  690. UNIPHIER_PINCTRL_PIN(226, "XIRQ7", UNIPHIER_PIN_IECTRL_EXIST,
  691. 158, UNIPHIER_PIN_DRV_3BIT,
  692. 226, UNIPHIER_PIN_PULL_DOWN),
  693. UNIPHIER_PINCTRL_PIN(227, "XIRQ8", UNIPHIER_PIN_IECTRL_EXIST,
  694. 159, UNIPHIER_PIN_DRV_3BIT,
  695. 227, UNIPHIER_PIN_PULL_DOWN),
  696. UNIPHIER_PINCTRL_PIN(228, "XIRQ9", UNIPHIER_PIN_IECTRL_EXIST,
  697. 160, UNIPHIER_PIN_DRV_3BIT,
  698. 228, UNIPHIER_PIN_PULL_DOWN),
  699. UNIPHIER_PINCTRL_PIN(229, "XIRQ10", UNIPHIER_PIN_IECTRL_EXIST,
  700. 161, UNIPHIER_PIN_DRV_3BIT,
  701. 229, UNIPHIER_PIN_PULL_DOWN),
  702. UNIPHIER_PINCTRL_PIN(230, "XIRQ11", UNIPHIER_PIN_IECTRL_EXIST,
  703. 162, UNIPHIER_PIN_DRV_3BIT,
  704. 230, UNIPHIER_PIN_PULL_DOWN),
  705. UNIPHIER_PINCTRL_PIN(231, "XIRQ12", UNIPHIER_PIN_IECTRL_EXIST,
  706. 163, UNIPHIER_PIN_DRV_3BIT,
  707. 231, UNIPHIER_PIN_PULL_DOWN),
  708. UNIPHIER_PINCTRL_PIN(232, "XIRQ13", UNIPHIER_PIN_IECTRL_EXIST,
  709. 164, UNIPHIER_PIN_DRV_3BIT,
  710. 232, UNIPHIER_PIN_PULL_DOWN),
  711. UNIPHIER_PINCTRL_PIN(233, "XIRQ14", UNIPHIER_PIN_IECTRL_EXIST,
  712. 165, UNIPHIER_PIN_DRV_3BIT,
  713. 233, UNIPHIER_PIN_PULL_DOWN),
  714. UNIPHIER_PINCTRL_PIN(234, "XIRQ15", UNIPHIER_PIN_IECTRL_EXIST,
  715. 166, UNIPHIER_PIN_DRV_3BIT,
  716. 234, UNIPHIER_PIN_PULL_DOWN),
  717. UNIPHIER_PINCTRL_PIN(235, "PORT00", UNIPHIER_PIN_IECTRL_EXIST,
  718. 167, UNIPHIER_PIN_DRV_3BIT,
  719. 235, UNIPHIER_PIN_PULL_DOWN),
  720. UNIPHIER_PINCTRL_PIN(236, "PORT01", UNIPHIER_PIN_IECTRL_EXIST,
  721. 168, UNIPHIER_PIN_DRV_3BIT,
  722. 236, UNIPHIER_PIN_PULL_DOWN),
  723. UNIPHIER_PINCTRL_PIN(237, "PORT02", UNIPHIER_PIN_IECTRL_EXIST,
  724. 169, UNIPHIER_PIN_DRV_3BIT,
  725. 237, UNIPHIER_PIN_PULL_DOWN),
  726. UNIPHIER_PINCTRL_PIN(238, "PORT03", UNIPHIER_PIN_IECTRL_EXIST,
  727. 170, UNIPHIER_PIN_DRV_3BIT,
  728. 238, UNIPHIER_PIN_PULL_DOWN),
  729. UNIPHIER_PINCTRL_PIN(239, "PORT04", UNIPHIER_PIN_IECTRL_EXIST,
  730. 171, UNIPHIER_PIN_DRV_3BIT,
  731. 239, UNIPHIER_PIN_PULL_DOWN),
  732. UNIPHIER_PINCTRL_PIN(240, "PORT05", UNIPHIER_PIN_IECTRL_EXIST,
  733. 172, UNIPHIER_PIN_DRV_3BIT,
  734. 240, UNIPHIER_PIN_PULL_DOWN),
  735. UNIPHIER_PINCTRL_PIN(241, "PORT06", UNIPHIER_PIN_IECTRL_EXIST,
  736. 173, UNIPHIER_PIN_DRV_3BIT,
  737. 241, UNIPHIER_PIN_PULL_DOWN),
  738. UNIPHIER_PINCTRL_PIN(242, "PORT07", UNIPHIER_PIN_IECTRL_EXIST,
  739. 174, UNIPHIER_PIN_DRV_3BIT,
  740. 242, UNIPHIER_PIN_PULL_DOWN),
  741. UNIPHIER_PINCTRL_PIN(243, "PORT10", UNIPHIER_PIN_IECTRL_EXIST,
  742. 175, UNIPHIER_PIN_DRV_3BIT,
  743. 243, UNIPHIER_PIN_PULL_DOWN),
  744. UNIPHIER_PINCTRL_PIN(244, "PORT11", UNIPHIER_PIN_IECTRL_EXIST,
  745. 176, UNIPHIER_PIN_DRV_3BIT,
  746. 244, UNIPHIER_PIN_PULL_DOWN),
  747. UNIPHIER_PINCTRL_PIN(245, "PORT12", UNIPHIER_PIN_IECTRL_EXIST,
  748. 177, UNIPHIER_PIN_DRV_3BIT,
  749. 245, UNIPHIER_PIN_PULL_DOWN),
  750. UNIPHIER_PINCTRL_PIN(246, "PORT13", UNIPHIER_PIN_IECTRL_EXIST,
  751. 178, UNIPHIER_PIN_DRV_3BIT,
  752. 246, UNIPHIER_PIN_PULL_DOWN),
  753. UNIPHIER_PINCTRL_PIN(247, "PORT14", UNIPHIER_PIN_IECTRL_EXIST,
  754. 179, UNIPHIER_PIN_DRV_3BIT,
  755. 247, UNIPHIER_PIN_PULL_DOWN),
  756. UNIPHIER_PINCTRL_PIN(248, "PORT15", UNIPHIER_PIN_IECTRL_EXIST,
  757. 180, UNIPHIER_PIN_DRV_3BIT,
  758. 248, UNIPHIER_PIN_PULL_DOWN),
  759. UNIPHIER_PINCTRL_PIN(249, "PORT16", UNIPHIER_PIN_IECTRL_EXIST,
  760. 181, UNIPHIER_PIN_DRV_3BIT,
  761. 249, UNIPHIER_PIN_PULL_DOWN),
  762. UNIPHIER_PINCTRL_PIN(250, "PORT17", UNIPHIER_PIN_IECTRL_EXIST,
  763. 182, UNIPHIER_PIN_DRV_3BIT,
  764. 250, UNIPHIER_PIN_PULL_DOWN),
  765. };
  766. static const unsigned ain1_pins[] = {186, 187, 188, 189};
  767. static const int ain1_muxvals[] = {0, 0, 0, 0};
  768. static const unsigned ain1_dat2_pins[] = {237};
  769. static const int ain1_dat2_muxvals[] = {1};
  770. static const unsigned ain1_dat4_pins[] = {238, 239};
  771. static const int ain1_dat4_muxvals[] = {1, 1};
  772. static const unsigned ain2_pins[] = {243, 244, 245, 246};
  773. static const int ain2_muxvals[] = {1, 1, 1, 1};
  774. static const unsigned ain2_dat2_pins[] = {247};
  775. static const int ain2_dat2_muxvals[] = {1};
  776. static const unsigned ain2_dat4_pins[] = {248, 249};
  777. static const int ain2_dat4_muxvals[] = {1, 1};
  778. static const unsigned aout1_pins[] = {226, 227, 228, 229};
  779. static const int aout1_muxvals[] = {1, 1, 1, 1};
  780. static const unsigned aout1_dat2_pins[] = {230};
  781. static const int aout1_dat2_muxvals[] = {1};
  782. static const unsigned aout1_dat4_pins[] = {231, 232};
  783. static const int aout1_dat4_muxvals[] = {1, 1};
  784. static const unsigned aout2_pins[] = {192, 193, 194, 195};
  785. static const int aout2_muxvals[] = {0, 0, 0, 0};
  786. static const unsigned aout2_dat2_pins[] = {196};
  787. static const int aout2_dat2_muxvals[] = {0};
  788. static const unsigned aout2_dat4_pins[] = {197, 198};
  789. static const int aout2_dat4_muxvals[] = {0, 0};
  790. static const unsigned aout3_pins[] = {199, 200, 201, 202};
  791. static const int aout3_muxvals[] = {0, 0, 0, 0};
  792. static const unsigned ainiec1_pins[] = {240};
  793. static const int ainiec1_muxvals[] = {1};
  794. static const unsigned aoutiec1_pins[] = {190};
  795. static const int aoutiec1_muxvals[] = {0};
  796. static const unsigned aoutiec2_pins[] = {191};
  797. static const int aoutiec2_muxvals[] = {0};
  798. static const unsigned int emmc_pins[] = {32, 33, 34, 35, 36, 37, 38};
  799. static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0};
  800. static const unsigned int emmc_dat8_pins[] = {39, 40, 41, 42};
  801. static const int emmc_dat8_muxvals[] = {0, 0, 0, 0};
  802. static const unsigned int ether_rgmii_pins[] = {52, 53, 54, 55, 56, 57, 58, 59,
  803. 60, 61, 62, 63, 64, 65, 66, 67};
  804. static const int ether_rgmii_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  805. 0, 0, 0};
  806. static const unsigned int ether_rmii_pins[] = {52, 53, 54, 55, 56, 57, 58, 59,
  807. 61, 63, 64, 67};
  808. static const int ether_rmii_muxvals[] = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1};
  809. static const unsigned int ether1_rgmii_pins[] = {68, 69, 70, 71, 72, 73, 74,
  810. 75, 76, 77, 78, 79, 80, 81,
  811. 82, 83};
  812. static const int ether1_rgmii_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  813. 0, 0, 0, 0};
  814. static const unsigned int ether1_rmii_pins[] = {68, 69, 70, 71, 72, 73, 74, 75,
  815. 77, 79, 80, 83};
  816. static const int ether1_rmii_muxvals[] = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1};
  817. static const unsigned int i2c0_pins[] = {104, 105};
  818. static const int i2c0_muxvals[] = {0, 0};
  819. static const unsigned int i2c1_pins[] = {106, 107};
  820. static const int i2c1_muxvals[] = {0, 0};
  821. static const unsigned int i2c2_pins[] = {108, 109};
  822. static const int i2c2_muxvals[] = {0, 0};
  823. static const unsigned int i2c3_pins[] = {110, 111};
  824. static const int i2c3_muxvals[] = {0, 0};
  825. static const unsigned int nand_pins[] = {16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
  826. 26, 27, 28, 29, 30};
  827. static const int nand_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  828. static const unsigned int sd_pins[] = {43, 44, 45, 46, 47, 48, 49, 50, 51};
  829. static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
  830. static const unsigned spi0_pins[] = {100, 101, 102, 103};
  831. static const int spi0_muxvals[] = {0, 0, 0, 0};
  832. static const unsigned spi1_pins[] = {112, 113, 114, 115};
  833. static const int spi1_muxvals[] = {2, 2, 2, 2};
  834. static const unsigned int system_bus_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
  835. 11, 12, 13, 14};
  836. static const int system_bus_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  837. 0};
  838. static const unsigned int system_bus_cs1_pins[] = {15};
  839. static const int system_bus_cs1_muxvals[] = {0};
  840. static const unsigned int uart0_pins[] = {92, 93};
  841. static const int uart0_muxvals[] = {0, 0};
  842. static const unsigned int uart0_ctsrts_pins[] = {243, 247};
  843. static const int uart0_ctsrts_muxvals[] = {3, 3};
  844. static const unsigned int uart0_modem_pins[] = {244, 245, 246, 248};
  845. static const int uart0_modem_muxvals[] = {3, 3, 3, 3};
  846. static const unsigned int uart1_pins[] = {94, 95};
  847. static const int uart1_muxvals[] = {0, 0};
  848. static const unsigned int uart2_pins[] = {96, 97};
  849. static const int uart2_muxvals[] = {0, 0};
  850. static const unsigned int uart3_pins[] = {98, 99};
  851. static const int uart3_muxvals[] = {0, 0};
  852. static const unsigned int usb0_pins[] = {84, 85};
  853. static const int usb0_muxvals[] = {0, 0};
  854. static const unsigned int usb0_device_pins[] = {110};
  855. static const int usb0_device_muxvals[] = {2};
  856. static const unsigned int usb1_pins[] = {86, 87};
  857. static const int usb1_muxvals[] = {0, 0};
  858. static const unsigned int usb1_device_pins[] = {111};
  859. static const int usb1_device_muxvals[] = {2};
  860. static const unsigned int usb2_pins[] = {88, 89};
  861. static const int usb2_muxvals[] = {0, 0};
  862. static const unsigned int usb3_pins[] = {90, 91};
  863. static const int usb3_muxvals[] = {0, 0};
  864. static const unsigned int gpio_range0_pins[] = {
  865. 235, 236, 237, 238, 239, 240, 241, 242, /* PORT0x */
  866. 243, 244, 245, 246, 247, 248, 249, 250, /* PORT1x */
  867. 0, 1, 2, 3, 4, 5, 6, 7, /* PORT2x */
  868. 8, 9, 10, 11, 12, 13, 14, 15, /* PORT3x */
  869. 16, 17, 18, 19, 20, 21, 22, 23, /* PORT4x */
  870. 24, 25, 26, 27, 28, 29, 30, 31, /* PORT5x */
  871. 43, 44, 45, 46, 47, 48, 49, 50, /* PORT6x */
  872. 51, 52, 53, 54, 55, 56, 57, 58, /* PORT7x */
  873. 59, 60, 61, 62, 63, 64, 65, 66, /* PORT8x */
  874. 67, 68, 69, 70, 71, 72, 73, 74, /* PORT9x */
  875. 75, 76, 77, 78, 79, 80, 81, 82, /* PORT10x */
  876. };
  877. static const unsigned int gpio_range1_pins[] = {
  878. 83, 84, 85, 86, 87, 88, 89, 90, /* PORT13x */
  879. 91, 92, 93, 94, 95, 96, 97, 98, /* PORT14x */
  880. 219, 220, 221, 222, 223, 224, 225, 226, /* XIRQ0-7 */
  881. 227, 228, 229, 230, 231, 232, 233, 234, /* XIRQ8-15 */
  882. 215, 216, 217, 218, 164, 165, 166, 167, /* XIRQ16-23 */
  883. 104, 105, 106, 107, 108, 109, 110, 111, /* PORT18x */
  884. 176, 177, 178, 179, 180, 181, 182, 183, /* PORT19x */
  885. 184, 185, /* PORT200-201 */
  886. };
  887. static const unsigned int gpio_range2_pins[] = {
  888. 99, 100, 101, 102, 103, 112, 113, 114, /* PORT21x */
  889. 115, 116, 117, 118, 119, 120, 121, 122, /* PORT22x */
  890. 123, 124, 125, 126, 127, 128, 129, 130, /* PORT23x */
  891. 131, 132, 133, 134, 135, 136, 137, 138, /* PORT24x */
  892. 139, 140, 141, 142, 143, 144, 145, 146, /* PORT25x */
  893. 147, 148, 149, 150, 151, 152, 153, 154, /* PORT26x */
  894. 155, 156, 157, 158, 159, 160, 161, 162, /* PORT27x */
  895. 163, 164, 165, 166, 167, 168, 169, 170, /* PORT28x */
  896. 171, 172, 173, 174, 175, 186, 187, 188, /* PORT29x */
  897. 189, 190, 191, 192, 193, 194, 195, 196, /* PORT30x */
  898. 197, 198, 199, 200, 201, 202, 203, 204, /* PORT31x */
  899. 205, 206, 207, 208, 209, 210, 211, 212, /* PORT32x */
  900. 213, 214, 215, 216, 217, 218, 219, 220, /* PORT33x */
  901. 221, 222, 223, 224, 225, 226, 227, 228, /* PORT34x */
  902. 229, 230, 231, 232, 233, 234, /* PORT350-355 */
  903. };
  904. static const struct uniphier_pinctrl_group uniphier_pxs3_groups[] = {
  905. UNIPHIER_PINCTRL_GROUP(ain1),
  906. UNIPHIER_PINCTRL_GROUP(ain1_dat2),
  907. UNIPHIER_PINCTRL_GROUP(ain1_dat4),
  908. UNIPHIER_PINCTRL_GROUP(ain2),
  909. UNIPHIER_PINCTRL_GROUP(ain2_dat2),
  910. UNIPHIER_PINCTRL_GROUP(ain2_dat4),
  911. UNIPHIER_PINCTRL_GROUP(aout1),
  912. UNIPHIER_PINCTRL_GROUP(aout1_dat2),
  913. UNIPHIER_PINCTRL_GROUP(aout1_dat4),
  914. UNIPHIER_PINCTRL_GROUP(aout2),
  915. UNIPHIER_PINCTRL_GROUP(aout2_dat2),
  916. UNIPHIER_PINCTRL_GROUP(aout2_dat4),
  917. UNIPHIER_PINCTRL_GROUP(aout3),
  918. UNIPHIER_PINCTRL_GROUP(ainiec1),
  919. UNIPHIER_PINCTRL_GROUP(aoutiec1),
  920. UNIPHIER_PINCTRL_GROUP(aoutiec2),
  921. UNIPHIER_PINCTRL_GROUP(emmc),
  922. UNIPHIER_PINCTRL_GROUP(emmc_dat8),
  923. UNIPHIER_PINCTRL_GROUP(ether_rgmii),
  924. UNIPHIER_PINCTRL_GROUP(ether_rmii),
  925. UNIPHIER_PINCTRL_GROUP(ether1_rgmii),
  926. UNIPHIER_PINCTRL_GROUP(ether1_rmii),
  927. UNIPHIER_PINCTRL_GROUP(i2c0),
  928. UNIPHIER_PINCTRL_GROUP(i2c1),
  929. UNIPHIER_PINCTRL_GROUP(i2c2),
  930. UNIPHIER_PINCTRL_GROUP(i2c3),
  931. UNIPHIER_PINCTRL_GROUP(nand),
  932. UNIPHIER_PINCTRL_GROUP(sd),
  933. UNIPHIER_PINCTRL_GROUP(spi0),
  934. UNIPHIER_PINCTRL_GROUP(spi1),
  935. UNIPHIER_PINCTRL_GROUP(system_bus),
  936. UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
  937. UNIPHIER_PINCTRL_GROUP(uart0),
  938. UNIPHIER_PINCTRL_GROUP(uart0_ctsrts),
  939. UNIPHIER_PINCTRL_GROUP(uart0_modem),
  940. UNIPHIER_PINCTRL_GROUP(uart1),
  941. UNIPHIER_PINCTRL_GROUP(uart2),
  942. UNIPHIER_PINCTRL_GROUP(uart3),
  943. UNIPHIER_PINCTRL_GROUP(usb0),
  944. UNIPHIER_PINCTRL_GROUP(usb0_device),
  945. UNIPHIER_PINCTRL_GROUP(usb1),
  946. UNIPHIER_PINCTRL_GROUP(usb1_device),
  947. UNIPHIER_PINCTRL_GROUP(usb2),
  948. UNIPHIER_PINCTRL_GROUP(usb3),
  949. UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range0),
  950. UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range1),
  951. UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range2),
  952. };
  953. static const char * const ain1_groups[] = {"ain1", "ain1_dat2",
  954. "ain1_dat4"};
  955. static const char * const ain2_groups[] = {"ain2", "ain2_dat2",
  956. "ain1_dat4"};
  957. static const char * const aout1_groups[] = {"aout1", "aout1_dat2",
  958. "aout1_dat4"};
  959. static const char * const aout2_groups[] = {"aout2", "aout2_dat2",
  960. "aout2_dat4"};
  961. static const char * const aout3_groups[] = {"aout3"};
  962. static const char * const ainiec1_groups[] = {"ainiec1"};
  963. static const char * const aoutiec1_groups[] = {"aoutiec1"};
  964. static const char * const aoutiec2_groups[] = {"aoutiec2"};
  965. static const char * const emmc_groups[] = {"emmc", "emmc_dat8"};
  966. static const char * const ether_rgmii_groups[] = {"ether_rgmii"};
  967. static const char * const ether_rmii_groups[] = {"ether_rmii"};
  968. static const char * const ether1_rgmii_groups[] = {"ether1_rgmii"};
  969. static const char * const ether1_rmii_groups[] = {"ether1_rmii"};
  970. static const char * const i2c0_groups[] = {"i2c0"};
  971. static const char * const i2c1_groups[] = {"i2c1"};
  972. static const char * const i2c2_groups[] = {"i2c2"};
  973. static const char * const i2c3_groups[] = {"i2c3"};
  974. static const char * const nand_groups[] = {"nand"};
  975. static const char * const sd_groups[] = {"sd"};
  976. static const char * const spi0_groups[] = {"spi0"};
  977. static const char * const spi1_groups[] = {"spi1"};
  978. static const char * const system_bus_groups[] = {"system_bus",
  979. "system_bus_cs1"};
  980. static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts",
  981. "uart0_modem"};
  982. static const char * const uart1_groups[] = {"uart1"};
  983. static const char * const uart2_groups[] = {"uart2"};
  984. static const char * const uart3_groups[] = {"uart3"};
  985. static const char * const usb0_groups[] = {"usb0", "usb0_device"};
  986. static const char * const usb1_groups[] = {"usb1", "usb1_device"};
  987. static const char * const usb2_groups[] = {"usb2"};
  988. static const char * const usb3_groups[] = {"usb3"};
  989. static const struct uniphier_pinmux_function uniphier_pxs3_functions[] = {
  990. UNIPHIER_PINMUX_FUNCTION(ain1),
  991. UNIPHIER_PINMUX_FUNCTION(ain2),
  992. UNIPHIER_PINMUX_FUNCTION(aout1),
  993. UNIPHIER_PINMUX_FUNCTION(aout2),
  994. UNIPHIER_PINMUX_FUNCTION(aout3),
  995. UNIPHIER_PINMUX_FUNCTION(ainiec1),
  996. UNIPHIER_PINMUX_FUNCTION(aoutiec1),
  997. UNIPHIER_PINMUX_FUNCTION(aoutiec2),
  998. UNIPHIER_PINMUX_FUNCTION(emmc),
  999. UNIPHIER_PINMUX_FUNCTION(ether_rgmii),
  1000. UNIPHIER_PINMUX_FUNCTION(ether_rmii),
  1001. UNIPHIER_PINMUX_FUNCTION(ether1_rgmii),
  1002. UNIPHIER_PINMUX_FUNCTION(ether1_rmii),
  1003. UNIPHIER_PINMUX_FUNCTION(i2c0),
  1004. UNIPHIER_PINMUX_FUNCTION(i2c1),
  1005. UNIPHIER_PINMUX_FUNCTION(i2c2),
  1006. UNIPHIER_PINMUX_FUNCTION(i2c3),
  1007. UNIPHIER_PINMUX_FUNCTION(nand),
  1008. UNIPHIER_PINMUX_FUNCTION(sd),
  1009. UNIPHIER_PINMUX_FUNCTION(spi0),
  1010. UNIPHIER_PINMUX_FUNCTION(spi1),
  1011. UNIPHIER_PINMUX_FUNCTION(system_bus),
  1012. UNIPHIER_PINMUX_FUNCTION(uart0),
  1013. UNIPHIER_PINMUX_FUNCTION(uart1),
  1014. UNIPHIER_PINMUX_FUNCTION(uart2),
  1015. UNIPHIER_PINMUX_FUNCTION(uart3),
  1016. UNIPHIER_PINMUX_FUNCTION(usb0),
  1017. UNIPHIER_PINMUX_FUNCTION(usb1),
  1018. UNIPHIER_PINMUX_FUNCTION(usb2),
  1019. UNIPHIER_PINMUX_FUNCTION(usb3),
  1020. };
  1021. static int uniphier_pxs3_get_gpio_muxval(unsigned int pin,
  1022. unsigned int gpio_offset)
  1023. {
  1024. if (gpio_offset >= 120 && gpio_offset <= 143) { /* XIRQx */
  1025. if (pin >= 219 && pin <= 234)
  1026. return 0;
  1027. return 14;
  1028. }
  1029. return 15;
  1030. }
  1031. static const struct uniphier_pinctrl_socdata uniphier_pxs3_pindata = {
  1032. .pins = uniphier_pxs3_pins,
  1033. .npins = ARRAY_SIZE(uniphier_pxs3_pins),
  1034. .groups = uniphier_pxs3_groups,
  1035. .groups_count = ARRAY_SIZE(uniphier_pxs3_groups),
  1036. .functions = uniphier_pxs3_functions,
  1037. .functions_count = ARRAY_SIZE(uniphier_pxs3_functions),
  1038. .get_gpio_muxval = uniphier_pxs3_get_gpio_muxval,
  1039. .caps = UNIPHIER_PINCTRL_CAPS_PERPIN_IECTRL,
  1040. };
  1041. static int uniphier_pxs3_pinctrl_probe(struct platform_device *pdev)
  1042. {
  1043. return uniphier_pinctrl_probe(pdev, &uniphier_pxs3_pindata);
  1044. }
  1045. static const struct of_device_id uniphier_pxs3_pinctrl_match[] = {
  1046. { .compatible = "socionext,uniphier-pxs3-pinctrl" },
  1047. { /* sentinel */ }
  1048. };
  1049. static struct platform_driver uniphier_pxs3_pinctrl_driver = {
  1050. .probe = uniphier_pxs3_pinctrl_probe,
  1051. .driver = {
  1052. .name = "uniphier-pxs3-pinctrl",
  1053. .of_match_table = uniphier_pxs3_pinctrl_match,
  1054. .pm = &uniphier_pinctrl_pm_ops,
  1055. },
  1056. };
  1057. builtin_platform_driver(uniphier_pxs3_pinctrl_driver);