pinctrl-rtd1319d.c 75 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Realtek DHC 1319D pin controller driver
  4. *
  5. * Copyright (c) 2023 Realtek Semiconductor Corp.
  6. *
  7. */
  8. #include <linux/module.h>
  9. #include <linux/of.h>
  10. #include <linux/platform_device.h>
  11. #include <linux/pinctrl/pinctrl.h>
  12. #include "pinctrl-rtd.h"
  13. enum rtd13xxd_iso_pins {
  14. RTD1319D_ISO_GPIO_0 = 0,
  15. RTD1319D_ISO_GPIO_1,
  16. RTD1319D_ISO_GPIO_2,
  17. RTD1319D_ISO_GPIO_3,
  18. RTD1319D_ISO_GPIO_4,
  19. RTD1319D_ISO_GPIO_5,
  20. RTD1319D_ISO_GPIO_6,
  21. RTD1319D_ISO_GPIO_7,
  22. RTD1319D_ISO_GPIO_8,
  23. RTD1319D_ISO_GPIO_9,
  24. RTD1319D_ISO_GPIO_10,
  25. RTD1319D_ISO_GPIO_11,
  26. RTD1319D_ISO_GPIO_12,
  27. RTD1319D_ISO_GPIO_13,
  28. RTD1319D_ISO_GPIO_14,
  29. RTD1319D_ISO_GPIO_15,
  30. RTD1319D_ISO_GPIO_16,
  31. RTD1319D_ISO_GPIO_17,
  32. RTD1319D_ISO_GPIO_18,
  33. RTD1319D_ISO_GPIO_19,
  34. RTD1319D_ISO_GPIO_20,
  35. RTD1319D_ISO_GPIO_21,
  36. RTD1319D_ISO_GPIO_22,
  37. RTD1319D_ISO_GPIO_23,
  38. RTD1319D_ISO_USB_CC2,
  39. RTD1319D_ISO_GPIO_25,
  40. RTD1319D_ISO_GPIO_26,
  41. RTD1319D_ISO_GPIO_27,
  42. RTD1319D_ISO_GPIO_28,
  43. RTD1319D_ISO_GPIO_29,
  44. RTD1319D_ISO_GPIO_30,
  45. RTD1319D_ISO_GPIO_31,
  46. RTD1319D_ISO_GPIO_32,
  47. RTD1319D_ISO_GPIO_33,
  48. RTD1319D_ISO_GPIO_34,
  49. RTD1319D_ISO_GPIO_35,
  50. RTD1319D_ISO_HIF_DATA,
  51. RTD1319D_ISO_HIF_EN,
  52. RTD1319D_ISO_HIF_RDY,
  53. RTD1319D_ISO_HIF_CLK,
  54. RTD1319D_ISO_GPIO_40,
  55. RTD1319D_ISO_GPIO_41,
  56. RTD1319D_ISO_GPIO_42,
  57. RTD1319D_ISO_GPIO_43,
  58. RTD1319D_ISO_GPIO_44,
  59. RTD1319D_ISO_GPIO_45,
  60. RTD1319D_ISO_GPIO_46,
  61. RTD1319D_ISO_GPIO_47,
  62. RTD1319D_ISO_GPIO_48,
  63. RTD1319D_ISO_GPIO_49,
  64. RTD1319D_ISO_GPIO_50,
  65. RTD1319D_ISO_USB_CC1,
  66. RTD1319D_ISO_GPIO_52,
  67. RTD1319D_ISO_GPIO_53,
  68. RTD1319D_ISO_IR_RX,
  69. RTD1319D_ISO_UR0_RX,
  70. RTD1319D_ISO_UR0_TX,
  71. RTD1319D_ISO_GPIO_57,
  72. RTD1319D_ISO_GPIO_58,
  73. RTD1319D_ISO_GPIO_59,
  74. RTD1319D_ISO_GPIO_60,
  75. RTD1319D_ISO_GPIO_61,
  76. RTD1319D_ISO_GPIO_62,
  77. RTD1319D_ISO_GPIO_63,
  78. RTD1319D_ISO_GPIO_64,
  79. RTD1319D_ISO_EMMC_RST_N,
  80. RTD1319D_ISO_EMMC_DD_SB,
  81. RTD1319D_ISO_EMMC_CLK,
  82. RTD1319D_ISO_EMMC_CMD,
  83. RTD1319D_ISO_EMMC_DATA_0,
  84. RTD1319D_ISO_EMMC_DATA_1,
  85. RTD1319D_ISO_EMMC_DATA_2,
  86. RTD1319D_ISO_EMMC_DATA_3,
  87. RTD1319D_ISO_EMMC_DATA_4,
  88. RTD1319D_ISO_EMMC_DATA_5,
  89. RTD1319D_ISO_EMMC_DATA_6,
  90. RTD1319D_ISO_EMMC_DATA_7,
  91. RTD1319D_ISO_GPIO_DUMMY_77,
  92. RTD1319D_ISO_GPIO_78,
  93. RTD1319D_ISO_GPIO_79,
  94. RTD1319D_ISO_GPIO_80,
  95. RTD1319D_ISO_GPIO_81,
  96. RTD1319D_ISO_UR2_LOC,
  97. RTD1319D_ISO_GSPI_LOC,
  98. RTD1319D_ISO_HI_WIDTH,
  99. RTD1319D_ISO_SF_EN,
  100. RTD1319D_ISO_ARM_TRACE_DBG_EN,
  101. RTD1319D_ISO_EJTAG_AUCPU_LOC,
  102. RTD1319D_ISO_EJTAG_ACPU_LOC,
  103. RTD1319D_ISO_EJTAG_VCPU_LOC,
  104. RTD1319D_ISO_EJTAG_SCPU_LOC,
  105. RTD1319D_ISO_DMIC_LOC,
  106. RTD1319D_ISO_EJTAG_SECPU_LOC,
  107. RTD1319D_ISO_VTC_DMIC_LOC,
  108. RTD1319D_ISO_VTC_TDM_LOC,
  109. RTD1319D_ISO_VTC_I2SI_LOC,
  110. RTD1319D_ISO_TDM_AI_LOC,
  111. RTD1319D_ISO_AI_LOC,
  112. RTD1319D_ISO_SPDIF_LOC,
  113. RTD1319D_ISO_HIF_EN_LOC,
  114. RTD1319D_ISO_SC0_LOC,
  115. RTD1319D_ISO_SC1_LOC,
  116. RTD1319D_ISO_SCAN_SWITCH,
  117. RTD1319D_ISO_WD_RSET,
  118. RTD1319D_ISO_BOOT_SEL,
  119. RTD1319D_ISO_RESET_N,
  120. RTD1319D_ISO_TESTMODE,
  121. };
  122. static const struct pinctrl_pin_desc rtd1319d_iso_pins[] = {
  123. PINCTRL_PIN(RTD1319D_ISO_GPIO_0, "gpio_0"),
  124. PINCTRL_PIN(RTD1319D_ISO_GPIO_1, "gpio_1"),
  125. PINCTRL_PIN(RTD1319D_ISO_GPIO_2, "gpio_2"),
  126. PINCTRL_PIN(RTD1319D_ISO_GPIO_3, "gpio_3"),
  127. PINCTRL_PIN(RTD1319D_ISO_GPIO_4, "gpio_4"),
  128. PINCTRL_PIN(RTD1319D_ISO_GPIO_5, "gpio_5"),
  129. PINCTRL_PIN(RTD1319D_ISO_GPIO_6, "gpio_6"),
  130. PINCTRL_PIN(RTD1319D_ISO_GPIO_7, "gpio_7"),
  131. PINCTRL_PIN(RTD1319D_ISO_GPIO_8, "gpio_8"),
  132. PINCTRL_PIN(RTD1319D_ISO_GPIO_9, "gpio_9"),
  133. PINCTRL_PIN(RTD1319D_ISO_GPIO_10, "gpio_10"),
  134. PINCTRL_PIN(RTD1319D_ISO_GPIO_11, "gpio_11"),
  135. PINCTRL_PIN(RTD1319D_ISO_GPIO_12, "gpio_12"),
  136. PINCTRL_PIN(RTD1319D_ISO_GPIO_13, "gpio_13"),
  137. PINCTRL_PIN(RTD1319D_ISO_GPIO_14, "gpio_14"),
  138. PINCTRL_PIN(RTD1319D_ISO_GPIO_15, "gpio_15"),
  139. PINCTRL_PIN(RTD1319D_ISO_GPIO_16, "gpio_16"),
  140. PINCTRL_PIN(RTD1319D_ISO_GPIO_17, "gpio_17"),
  141. PINCTRL_PIN(RTD1319D_ISO_GPIO_18, "gpio_18"),
  142. PINCTRL_PIN(RTD1319D_ISO_GPIO_19, "gpio_19"),
  143. PINCTRL_PIN(RTD1319D_ISO_GPIO_20, "gpio_20"),
  144. PINCTRL_PIN(RTD1319D_ISO_GPIO_21, "gpio_21"),
  145. PINCTRL_PIN(RTD1319D_ISO_GPIO_22, "gpio_22"),
  146. PINCTRL_PIN(RTD1319D_ISO_GPIO_23, "gpio_23"),
  147. PINCTRL_PIN(RTD1319D_ISO_USB_CC2, "usb_cc2"),
  148. PINCTRL_PIN(RTD1319D_ISO_GPIO_25, "gpio_25"),
  149. PINCTRL_PIN(RTD1319D_ISO_GPIO_26, "gpio_26"),
  150. PINCTRL_PIN(RTD1319D_ISO_GPIO_27, "gpio_27"),
  151. PINCTRL_PIN(RTD1319D_ISO_GPIO_28, "gpio_28"),
  152. PINCTRL_PIN(RTD1319D_ISO_GPIO_29, "gpio_29"),
  153. PINCTRL_PIN(RTD1319D_ISO_GPIO_30, "gpio_30"),
  154. PINCTRL_PIN(RTD1319D_ISO_GPIO_31, "gpio_31"),
  155. PINCTRL_PIN(RTD1319D_ISO_GPIO_32, "gpio_32"),
  156. PINCTRL_PIN(RTD1319D_ISO_GPIO_33, "gpio_33"),
  157. PINCTRL_PIN(RTD1319D_ISO_GPIO_34, "gpio_34"),
  158. PINCTRL_PIN(RTD1319D_ISO_GPIO_35, "gpio_35"),
  159. PINCTRL_PIN(RTD1319D_ISO_HIF_DATA, "hif_data"),
  160. PINCTRL_PIN(RTD1319D_ISO_HIF_EN, "hif_en"),
  161. PINCTRL_PIN(RTD1319D_ISO_HIF_RDY, "hif_rdy"),
  162. PINCTRL_PIN(RTD1319D_ISO_HIF_CLK, "hif_clk"),
  163. PINCTRL_PIN(RTD1319D_ISO_GPIO_40, "gpio_40"),
  164. PINCTRL_PIN(RTD1319D_ISO_GPIO_41, "gpio_41"),
  165. PINCTRL_PIN(RTD1319D_ISO_GPIO_42, "gpio_42"),
  166. PINCTRL_PIN(RTD1319D_ISO_GPIO_43, "gpio_43"),
  167. PINCTRL_PIN(RTD1319D_ISO_GPIO_44, "gpio_44"),
  168. PINCTRL_PIN(RTD1319D_ISO_GPIO_45, "gpio_45"),
  169. PINCTRL_PIN(RTD1319D_ISO_GPIO_46, "gpio_46"),
  170. PINCTRL_PIN(RTD1319D_ISO_GPIO_47, "gpio_47"),
  171. PINCTRL_PIN(RTD1319D_ISO_GPIO_48, "gpio_48"),
  172. PINCTRL_PIN(RTD1319D_ISO_GPIO_49, "gpio_49"),
  173. PINCTRL_PIN(RTD1319D_ISO_GPIO_50, "gpio_50"),
  174. PINCTRL_PIN(RTD1319D_ISO_USB_CC1, "usb_cc1"),
  175. PINCTRL_PIN(RTD1319D_ISO_GPIO_52, "gpio_52"),
  176. PINCTRL_PIN(RTD1319D_ISO_GPIO_53, "gpio_53"),
  177. PINCTRL_PIN(RTD1319D_ISO_IR_RX, "ir_rx"),
  178. PINCTRL_PIN(RTD1319D_ISO_UR0_RX, "ur0_rx"),
  179. PINCTRL_PIN(RTD1319D_ISO_UR0_TX, "ur0_tx"),
  180. PINCTRL_PIN(RTD1319D_ISO_GPIO_57, "gpio_57"),
  181. PINCTRL_PIN(RTD1319D_ISO_GPIO_58, "gpio_58"),
  182. PINCTRL_PIN(RTD1319D_ISO_GPIO_59, "gpio_59"),
  183. PINCTRL_PIN(RTD1319D_ISO_GPIO_60, "gpio_60"),
  184. PINCTRL_PIN(RTD1319D_ISO_GPIO_61, "gpio_61"),
  185. PINCTRL_PIN(RTD1319D_ISO_GPIO_62, "gpio_62"),
  186. PINCTRL_PIN(RTD1319D_ISO_GPIO_63, "gpio_63"),
  187. PINCTRL_PIN(RTD1319D_ISO_GPIO_64, "gpio_64"),
  188. PINCTRL_PIN(RTD1319D_ISO_EMMC_RST_N, "emmc_rst_n"),
  189. PINCTRL_PIN(RTD1319D_ISO_EMMC_DD_SB, "emmc_dd_sb"),
  190. PINCTRL_PIN(RTD1319D_ISO_EMMC_CLK, "emmc_clk"),
  191. PINCTRL_PIN(RTD1319D_ISO_EMMC_CMD, "emmc_cmd"),
  192. PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_0, "emmc_data_0"),
  193. PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_1, "emmc_data_1"),
  194. PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_2, "emmc_data_2"),
  195. PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_3, "emmc_data_3"),
  196. PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_4, "emmc_data_4"),
  197. PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_5, "emmc_data_5"),
  198. PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_6, "emmc_data_6"),
  199. PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_7, "emmc_data_7"),
  200. PINCTRL_PIN(RTD1319D_ISO_GPIO_DUMMY_77, "dummy"),
  201. PINCTRL_PIN(RTD1319D_ISO_GPIO_78, "gpio_78"),
  202. PINCTRL_PIN(RTD1319D_ISO_GPIO_79, "gpio_79"),
  203. PINCTRL_PIN(RTD1319D_ISO_GPIO_80, "gpio_80"),
  204. PINCTRL_PIN(RTD1319D_ISO_GPIO_81, "gpio_81"),
  205. PINCTRL_PIN(RTD1319D_ISO_UR2_LOC, "ur2_loc"),
  206. PINCTRL_PIN(RTD1319D_ISO_GSPI_LOC, "gspi_loc"),
  207. PINCTRL_PIN(RTD1319D_ISO_HI_WIDTH, "hi_width"),
  208. PINCTRL_PIN(RTD1319D_ISO_SF_EN, "sf_en"),
  209. PINCTRL_PIN(RTD1319D_ISO_ARM_TRACE_DBG_EN, "arm_trace_dbg_en"),
  210. PINCTRL_PIN(RTD1319D_ISO_EJTAG_AUCPU_LOC, "ejtag_aucpu_loc"),
  211. PINCTRL_PIN(RTD1319D_ISO_EJTAG_ACPU_LOC, "ejtag_acpu_loc"),
  212. PINCTRL_PIN(RTD1319D_ISO_EJTAG_VCPU_LOC, "ejtag_vcpu_loc"),
  213. PINCTRL_PIN(RTD1319D_ISO_EJTAG_SCPU_LOC, "ejtag_scpu_loc"),
  214. PINCTRL_PIN(RTD1319D_ISO_DMIC_LOC, "dmic_loc"),
  215. PINCTRL_PIN(RTD1319D_ISO_EJTAG_SECPU_LOC, "ejtag_secpu_loc"),
  216. PINCTRL_PIN(RTD1319D_ISO_VTC_DMIC_LOC, "vtc_dmic_loc"),
  217. PINCTRL_PIN(RTD1319D_ISO_VTC_TDM_LOC, "vtc_tdm_loc"),
  218. PINCTRL_PIN(RTD1319D_ISO_VTC_I2SI_LOC, "vtc_i2si_loc"),
  219. PINCTRL_PIN(RTD1319D_ISO_TDM_AI_LOC, "tdm_ai_loc"),
  220. PINCTRL_PIN(RTD1319D_ISO_AI_LOC, "ai_loc"),
  221. PINCTRL_PIN(RTD1319D_ISO_SPDIF_LOC, "spdif_loc"),
  222. PINCTRL_PIN(RTD1319D_ISO_HIF_EN_LOC, "hif_en_loc"),
  223. PINCTRL_PIN(RTD1319D_ISO_SC0_LOC, "sc0_loc"),
  224. PINCTRL_PIN(RTD1319D_ISO_SC1_LOC, "sc1_loc"),
  225. PINCTRL_PIN(RTD1319D_ISO_SCAN_SWITCH, "scan_switch"),
  226. PINCTRL_PIN(RTD1319D_ISO_WD_RSET, "wd_rset"),
  227. PINCTRL_PIN(RTD1319D_ISO_BOOT_SEL, "boot_sel"),
  228. PINCTRL_PIN(RTD1319D_ISO_RESET_N, "reset_n"),
  229. PINCTRL_PIN(RTD1319D_ISO_TESTMODE, "testmode"),
  230. };
  231. /* Tagged as __maybe_unused since there are pins we may use in the future */
  232. #define DECLARE_RTD1319D_PIN(_pin, _name) \
  233. static const unsigned int rtd1319d_## _name ##_pins[] __maybe_unused = { _pin }
  234. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_0, gpio_0);
  235. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_1, gpio_1);
  236. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_2, gpio_2);
  237. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_3, gpio_3);
  238. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_4, gpio_4);
  239. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_5, gpio_5);
  240. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_6, gpio_6);
  241. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_7, gpio_7);
  242. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_8, gpio_8);
  243. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_9, gpio_9);
  244. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_10, gpio_10);
  245. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_11, gpio_11);
  246. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_12, gpio_12);
  247. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_13, gpio_13);
  248. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_14, gpio_14);
  249. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_15, gpio_15);
  250. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_16, gpio_16);
  251. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_17, gpio_17);
  252. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_18, gpio_18);
  253. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_19, gpio_19);
  254. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_20, gpio_20);
  255. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_21, gpio_21);
  256. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_22, gpio_22);
  257. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_23, gpio_23);
  258. DECLARE_RTD1319D_PIN(RTD1319D_ISO_USB_CC2, usb_cc2);
  259. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_25, gpio_25);
  260. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_26, gpio_26);
  261. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_27, gpio_27);
  262. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_28, gpio_28);
  263. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_29, gpio_29);
  264. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_30, gpio_30);
  265. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_31, gpio_31);
  266. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_32, gpio_32);
  267. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_33, gpio_33);
  268. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_34, gpio_34);
  269. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_35, gpio_35);
  270. DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_DATA, hif_data);
  271. DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_EN, hif_en);
  272. DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_RDY, hif_rdy);
  273. DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_CLK, hif_clk);
  274. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_40, gpio_40);
  275. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_41, gpio_41);
  276. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_42, gpio_42);
  277. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_43, gpio_43);
  278. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_44, gpio_44);
  279. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_45, gpio_45);
  280. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_46, gpio_46);
  281. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_47, gpio_47);
  282. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_48, gpio_48);
  283. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_49, gpio_49);
  284. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_50, gpio_50);
  285. DECLARE_RTD1319D_PIN(RTD1319D_ISO_USB_CC1, usb_cc1);
  286. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_52, gpio_52);
  287. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_53, gpio_53);
  288. DECLARE_RTD1319D_PIN(RTD1319D_ISO_IR_RX, ir_rx);
  289. DECLARE_RTD1319D_PIN(RTD1319D_ISO_UR0_RX, ur0_rx);
  290. DECLARE_RTD1319D_PIN(RTD1319D_ISO_UR0_TX, ur0_tx);
  291. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_57, gpio_57);
  292. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_58, gpio_58);
  293. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_59, gpio_59);
  294. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_60, gpio_60);
  295. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_61, gpio_61);
  296. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_62, gpio_62);
  297. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_63, gpio_63);
  298. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_64, gpio_64);
  299. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_RST_N, emmc_rst_n);
  300. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DD_SB, emmc_dd_sb);
  301. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_CLK, emmc_clk);
  302. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_CMD, emmc_cmd);
  303. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_0, emmc_data_0);
  304. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_1, emmc_data_1);
  305. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_2, emmc_data_2);
  306. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_3, emmc_data_3);
  307. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_4, emmc_data_4);
  308. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_5, emmc_data_5);
  309. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_6, emmc_data_6);
  310. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_7, emmc_data_7);
  311. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_78, gpio_78);
  312. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_79, gpio_79);
  313. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_80, gpio_80);
  314. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_81, gpio_81);
  315. DECLARE_RTD1319D_PIN(RTD1319D_ISO_UR2_LOC, ur2_loc);
  316. DECLARE_RTD1319D_PIN(RTD1319D_ISO_GSPI_LOC, gspi_loc);
  317. DECLARE_RTD1319D_PIN(RTD1319D_ISO_HI_WIDTH, hi_width);
  318. DECLARE_RTD1319D_PIN(RTD1319D_ISO_SF_EN, sf_en);
  319. DECLARE_RTD1319D_PIN(RTD1319D_ISO_ARM_TRACE_DBG_EN, arm_trace_dbg_en);
  320. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_AUCPU_LOC, ejtag_aucpu_loc);
  321. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_ACPU_LOC, ejtag_acpu_loc);
  322. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_VCPU_LOC, ejtag_vcpu_loc);
  323. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_SCPU_LOC, ejtag_scpu_loc);
  324. DECLARE_RTD1319D_PIN(RTD1319D_ISO_DMIC_LOC, dmic_loc);
  325. DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_SECPU_LOC, ejtag_secpu_loc);
  326. DECLARE_RTD1319D_PIN(RTD1319D_ISO_VTC_DMIC_LOC, vtc_dmic_loc);
  327. DECLARE_RTD1319D_PIN(RTD1319D_ISO_VTC_TDM_LOC, vtc_tdm_loc);
  328. DECLARE_RTD1319D_PIN(RTD1319D_ISO_VTC_I2SI_LOC, vtc_i2si_loc);
  329. DECLARE_RTD1319D_PIN(RTD1319D_ISO_TDM_AI_LOC, tdm_ai_loc);
  330. DECLARE_RTD1319D_PIN(RTD1319D_ISO_AI_LOC, ai_loc);
  331. DECLARE_RTD1319D_PIN(RTD1319D_ISO_SPDIF_LOC, spdif_loc);
  332. DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_EN_LOC, hif_en_loc);
  333. DECLARE_RTD1319D_PIN(RTD1319D_ISO_SC0_LOC, sc0_loc);
  334. DECLARE_RTD1319D_PIN(RTD1319D_ISO_SC1_LOC, sc1_loc);
  335. DECLARE_RTD1319D_PIN(RTD1319D_ISO_SCAN_SWITCH, scan_switch);
  336. DECLARE_RTD1319D_PIN(RTD1319D_ISO_WD_RSET, wd_rset);
  337. DECLARE_RTD1319D_PIN(RTD1319D_ISO_BOOT_SEL, boot_sel);
  338. DECLARE_RTD1319D_PIN(RTD1319D_ISO_RESET_N, reset_n);
  339. DECLARE_RTD1319D_PIN(RTD1319D_ISO_TESTMODE, testmode);
  340. #define RTD1319D_GROUP(_name) \
  341. { \
  342. .name = # _name, \
  343. .pins = rtd1319d_ ## _name ## _pins, \
  344. .num_pins = ARRAY_SIZE(rtd1319d_ ## _name ## _pins), \
  345. }
  346. static const struct rtd_pin_group_desc rtd1319d_pin_groups[] = {
  347. RTD1319D_GROUP(gpio_0),
  348. RTD1319D_GROUP(gpio_1),
  349. RTD1319D_GROUP(gpio_2),
  350. RTD1319D_GROUP(gpio_3),
  351. RTD1319D_GROUP(gpio_4),
  352. RTD1319D_GROUP(gpio_5),
  353. RTD1319D_GROUP(gpio_6),
  354. RTD1319D_GROUP(gpio_7),
  355. RTD1319D_GROUP(gpio_8),
  356. RTD1319D_GROUP(gpio_9),
  357. RTD1319D_GROUP(gpio_10),
  358. RTD1319D_GROUP(gpio_11),
  359. RTD1319D_GROUP(gpio_12),
  360. RTD1319D_GROUP(gpio_13),
  361. RTD1319D_GROUP(gpio_14),
  362. RTD1319D_GROUP(gpio_15),
  363. RTD1319D_GROUP(gpio_16),
  364. RTD1319D_GROUP(gpio_17),
  365. RTD1319D_GROUP(gpio_18),
  366. RTD1319D_GROUP(gpio_19),
  367. RTD1319D_GROUP(gpio_20),
  368. RTD1319D_GROUP(gpio_21),
  369. RTD1319D_GROUP(gpio_22),
  370. RTD1319D_GROUP(gpio_23),
  371. RTD1319D_GROUP(usb_cc2),
  372. RTD1319D_GROUP(gpio_25),
  373. RTD1319D_GROUP(gpio_26),
  374. RTD1319D_GROUP(gpio_27),
  375. RTD1319D_GROUP(gpio_28),
  376. RTD1319D_GROUP(gpio_29),
  377. RTD1319D_GROUP(gpio_30),
  378. RTD1319D_GROUP(gpio_31),
  379. RTD1319D_GROUP(gpio_32),
  380. RTD1319D_GROUP(gpio_33),
  381. RTD1319D_GROUP(gpio_34),
  382. RTD1319D_GROUP(gpio_35),
  383. RTD1319D_GROUP(hif_data),
  384. RTD1319D_GROUP(hif_en),
  385. RTD1319D_GROUP(hif_rdy),
  386. RTD1319D_GROUP(hif_clk),
  387. RTD1319D_GROUP(gpio_40),
  388. RTD1319D_GROUP(gpio_41),
  389. RTD1319D_GROUP(gpio_42),
  390. RTD1319D_GROUP(gpio_43),
  391. RTD1319D_GROUP(gpio_44),
  392. RTD1319D_GROUP(gpio_45),
  393. RTD1319D_GROUP(gpio_46),
  394. RTD1319D_GROUP(gpio_47),
  395. RTD1319D_GROUP(gpio_48),
  396. RTD1319D_GROUP(gpio_49),
  397. RTD1319D_GROUP(gpio_50),
  398. RTD1319D_GROUP(usb_cc1),
  399. RTD1319D_GROUP(gpio_52),
  400. RTD1319D_GROUP(gpio_53),
  401. RTD1319D_GROUP(ir_rx),
  402. RTD1319D_GROUP(ur0_rx),
  403. RTD1319D_GROUP(ur0_tx),
  404. RTD1319D_GROUP(gpio_57),
  405. RTD1319D_GROUP(gpio_58),
  406. RTD1319D_GROUP(gpio_59),
  407. RTD1319D_GROUP(gpio_60),
  408. RTD1319D_GROUP(gpio_61),
  409. RTD1319D_GROUP(gpio_62),
  410. RTD1319D_GROUP(gpio_63),
  411. RTD1319D_GROUP(gpio_64),
  412. RTD1319D_GROUP(emmc_rst_n),
  413. RTD1319D_GROUP(emmc_dd_sb),
  414. RTD1319D_GROUP(emmc_clk),
  415. RTD1319D_GROUP(emmc_cmd),
  416. RTD1319D_GROUP(emmc_data_0),
  417. RTD1319D_GROUP(emmc_data_1),
  418. RTD1319D_GROUP(emmc_data_2),
  419. RTD1319D_GROUP(emmc_data_3),
  420. RTD1319D_GROUP(emmc_data_4),
  421. RTD1319D_GROUP(emmc_data_5),
  422. RTD1319D_GROUP(emmc_data_6),
  423. RTD1319D_GROUP(emmc_data_7),
  424. RTD1319D_GROUP(gpio_78),
  425. RTD1319D_GROUP(gpio_79),
  426. RTD1319D_GROUP(gpio_80),
  427. RTD1319D_GROUP(gpio_81),
  428. RTD1319D_GROUP(ur2_loc),
  429. RTD1319D_GROUP(gspi_loc),
  430. RTD1319D_GROUP(hi_width),
  431. RTD1319D_GROUP(sf_en),
  432. RTD1319D_GROUP(arm_trace_dbg_en),
  433. RTD1319D_GROUP(ejtag_aucpu_loc),
  434. RTD1319D_GROUP(ejtag_acpu_loc),
  435. RTD1319D_GROUP(ejtag_vcpu_loc),
  436. RTD1319D_GROUP(ejtag_scpu_loc),
  437. RTD1319D_GROUP(dmic_loc),
  438. RTD1319D_GROUP(ejtag_secpu_loc),
  439. RTD1319D_GROUP(vtc_dmic_loc),
  440. RTD1319D_GROUP(vtc_tdm_loc),
  441. RTD1319D_GROUP(vtc_i2si_loc),
  442. RTD1319D_GROUP(tdm_ai_loc),
  443. RTD1319D_GROUP(ai_loc),
  444. RTD1319D_GROUP(spdif_loc),
  445. RTD1319D_GROUP(hif_en_loc),
  446. RTD1319D_GROUP(sc0_loc),
  447. RTD1319D_GROUP(sc1_loc),
  448. };
  449. static const char * const rtd1319d_gpio_groups[] = {
  450. "gpio_0", "gpio_1", "gpio_2", "gpio_3", "gpio_4",
  451. "gpio_5", "gpio_6", "gpio_7", "gpio_8", "gpio_9",
  452. "gpio_10", "gpio_11", "gpio_12", "gpio_13", "gpio_14",
  453. "gpio_15", "gpio_16", "gpio_17", "gpio_18", "gpio_19",
  454. "gpio_20", "gpio_21", "gpio_22", "gpio_23", "usb_cc2",
  455. "gpio_25", "gpio_26", "gpio_27", "gpio_28", "gpio_29",
  456. "gpio_30", "gpio_31", "gpio_32", "gpio_33", "gpio_34",
  457. "gpio_35", "hif_data", "hif_en", "hif_rdy", "hif_clk",
  458. "gpio_40", "gpio_41", "gpio_42", "gpio_43", "gpio_44",
  459. "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49",
  460. "gpio_50", "usb_cc1", "gpio_52", "gpio_53", "ir_rx",
  461. "ur0_rx", "ur0_tx", "gpio_57", "gpio_58", "gpio_59",
  462. "gpio_60", "gpio_61", "gpio_62", "gpio_63", "gpio_64",
  463. "emmc_rst_n", "emmc_dd_sb", "emmc_clk", "emmc_cmd",
  464. "emmc_data_0", "emmc_data_1", "emmc_data_2", "emmc_data_3",
  465. "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7",
  466. "gpio_78", "gpio_79", "gpio_80", "gpio_81" };
  467. static const char * const rtd1319d_nf_groups[] = {
  468. "emmc_rst_n", "emmc_clk", "emmc_cmd", "emmc_data_0",
  469. "emmc_data_1", "emmc_data_2", "emmc_data_3", "emmc_data_4",
  470. "emmc_data_5", "emmc_data_6", "emmc_data_7",
  471. "gpio_78", "gpio_79", "gpio_80", "gpio_81" };
  472. static const char * const rtd1319d_emmc_groups[] = {
  473. "emmc_rst_n", "emmc_dd_sb", "emmc_clk", "emmc_cmd",
  474. "emmc_data_0", "emmc_data_1", "emmc_data_2", "emmc_data_3",
  475. "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7" };
  476. static const char * const rtd1319d_tp0_groups[] = {
  477. "gpio_2", "gpio_3", "gpio_4", "gpio_57", "gpio_58",
  478. "gpio_59", "gpio_60", "gpio_61", "gpio_62", "gpio_63",
  479. "gpio_64" };
  480. static const char * const rtd1319d_tp1_groups[] = {
  481. "gpio_61", "gpio_62", "gpio_63", "gpio_64" };
  482. static const char * const rtd1319d_sc0_groups[] = {
  483. "gpio_18", "gpio_19", "gpio_31" };
  484. static const char * const rtd1319d_sc0_data0_groups[] = { "gpio_20", "sc0_loc" };
  485. static const char * const rtd1319d_sc0_data1_groups[] = { "gpio_30", "sc0_loc" };
  486. static const char * const rtd1319d_sc0_data2_groups[] = { "gpio_47", "sc0_loc" };
  487. static const char * const rtd1319d_sc1_groups[] = {
  488. "gpio_2", "gpio_3", "gpio_5" };
  489. static const char * const rtd1319d_sc1_data0_groups[] = { "gpio_52", "sc1_loc" };
  490. static const char * const rtd1319d_sc1_data1_groups[] = { "gpio_34", "sc1_loc" };
  491. static const char * const rtd1319d_sc1_data2_groups[] = { "gpio_35", "sc1_loc" };
  492. static const char * const rtd1319d_ao_groups[] = {
  493. "gpio_2", "gpio_3", "gpio_4", "gpio_61", "gpio_62",
  494. "gpio_63", "gpio_64" };
  495. static const char * const rtd1319d_gspi_loc0_groups[] = {
  496. "gpio_18", "gpio_19", "gpio_20", "gpio_31", "gspi_loc" };
  497. static const char * const rtd1319d_gspi_loc1_groups[] = {
  498. "gpio_8", "gpio_9", "gpio_10", "gpio_11", "gspi_loc" };
  499. static const char * const rtd1319d_uart0_groups[] = { "ur0_rx", "ur0_tx"};
  500. static const char * const rtd1319d_uart1_groups[] = {
  501. "gpio_8", "gpio_9", "gpio_10", "gpio_11" };
  502. static const char * const rtd1319d_uart2_loc0_groups[] = {
  503. "gpio_18", "gpio_19", "gpio_20", "gpio_31", "ur2_loc" };
  504. static const char * const rtd1319d_uart2_loc1_groups[] = {
  505. "gpio_25", "gpio_26", "gpio_27", "gpio_28", "ur2_loc" };
  506. static const char * const rtd1319d_i2c0_groups[] = { "gpio_12", "gpio_13" };
  507. static const char * const rtd1319d_i2c1_groups[] = { "gpio_16", "gpio_17" };
  508. static const char * const rtd1319d_i2c3_groups[] = { "gpio_26", "gpio_27" };
  509. static const char * const rtd1319d_i2c4_groups[] = { "gpio_34", "gpio_35" };
  510. static const char * const rtd1319d_i2c5_groups[] = { "gpio_29", "gpio_46" };
  511. static const char * const rtd1319d_pcie1_groups[] = { "gpio_22" };
  512. static const char * const rtd1319d_sdio_groups[] = {
  513. "gpio_40", "gpio_41", "gpio_42", "gpio_43", "gpio_44",
  514. "gpio_45" };
  515. static const char * const rtd1319d_etn_led_groups[] = { "gpio_14", "gpio_15" };
  516. static const char * const rtd1319d_etn_phy_groups[] = { "gpio_14", "gpio_15" };
  517. static const char * const rtd1319d_spi_groups[] = {
  518. "gpio_18", "gpio_19", "gpio_20", "gpio_31" };
  519. static const char * const rtd1319d_pwm0_loc0_groups[] = { "gpio_26" };
  520. static const char * const rtd1319d_pwm0_loc1_groups[] = { "gpio_20" };
  521. static const char * const rtd1319d_pwm1_loc0_groups[] = { "gpio_27" };
  522. static const char * const rtd1319d_pwm1_loc1_groups[] = { "gpio_21" };
  523. static const char * const rtd1319d_pwm2_loc0_groups[] = { "gpio_28" };
  524. static const char * const rtd1319d_pwm2_loc1_groups[] = { "gpio_22" };
  525. static const char * const rtd1319d_pwm3_loc0_groups[] = { "gpio_47" };
  526. static const char * const rtd1319d_pwm3_loc1_groups[] = { "gpio_23" };
  527. static const char * const rtd1319d_qam_agc_if0_groups[] = { "gpio_21" };
  528. static const char * const rtd1319d_qam_agc_if1_groups[] = { "gpio_23" };
  529. static const char * const rtd1319d_spdif_optical_loc0_groups[] = { "gpio_21", "spdif_loc" };
  530. static const char * const rtd1319d_spdif_optical_loc1_groups[] = { "gpio_6", "spdif_loc" };
  531. static const char * const rtd1319d_usb_cc1_groups[] = { "usb_cc1" };
  532. static const char * const rtd1319d_usb_cc2_groups[] = { "usb_cc2" };
  533. static const char * const rtd1319d_vfd_groups[] = {
  534. "gpio_26", "gpio_27", "gpio_28" };
  535. static const char * const rtd1319d_sd_groups[] = {
  536. "gpio_32", "gpio_33", "gpio_34", "gpio_35",
  537. "hif_data", "hif_en", "hif_rdy", "hif_clk" };
  538. static const char * const rtd1319d_dmic_loc0_groups[] = {
  539. "gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
  540. "gpio_62", "gpio_63", "gpio_64", "dmic_loc" };
  541. static const char * const rtd1319d_dmic_loc1_groups[] = {
  542. "gpio_32", "gpio_33", "gpio_34", "gpio_35",
  543. "hif_data", "hif_en", "hif_rdy", "hif_clk",
  544. "dmic_loc" };
  545. static const char * const rtd1319d_ai_loc0_groups[] = {
  546. "gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
  547. "gpio_62", "gpio_63", "ai_loc" };
  548. static const char * const rtd1319d_ai_loc1_groups[] = {
  549. "gpio_32", "gpio_33", "gpio_34", "hif_data",
  550. "hif_en", "hif_rdy", "hif_clk", "ai_loc" };
  551. static const char * const rtd1319d_tdm_ai_loc0_groups[] = {
  552. "gpio_57", "gpio_58", "gpio_59",
  553. "gpio_60", "tdm_ai_loc" };
  554. static const char * const rtd1319d_tdm_ai_loc1_groups[] = {
  555. "hif_data", "hif_en", "hif_rdy", "hif_clk", "tdm_ai_loc" };
  556. static const char * const rtd1319d_hi_loc0_groups[] = {
  557. "hif_data", "hif_en", "hif_rdy", "hif_clk" };
  558. static const char * const rtd1319d_hi_m_groups[] = {
  559. "hif_data", "hif_en", "hif_rdy", "hif_clk" };
  560. static const char * const rtd1319d_vtc_i2so_groups[] = {
  561. "gpio_2", "gpio_3", "gpio_4", "gpio_64"};
  562. static const char * const rtd1319d_vtc_i2si_loc0_groups[] = {
  563. "gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
  564. "vtc_i2si_loc" };
  565. static const char * const rtd1319d_vtc_i2si_loc1_groups[] = {
  566. "gpio_32", "hif_data", "hif_en", "hif_rdy", "hif_clk",
  567. "vtc_i2si_loc" };
  568. static const char * const rtd1319d_vtc_dmic_loc0_groups[] = {
  569. "gpio_57", "gpio_58", "gpio_59", "gpio_60",
  570. "vtc_dmic_loc" };
  571. static const char * const rtd1319d_vtc_dmic_loc1_groups[] = {
  572. "hif_data", "hif_en", "hif_rdy", "hif_clk",
  573. "vtc_dmic_loc" };
  574. static const char * const rtd1319d_vtc_tdm_loc0_groups[] = {
  575. "gpio_57", "gpio_58", "gpio_59", "gpio_60",
  576. "vtc_tdm_loc" };
  577. static const char * const rtd1319d_vtc_tdm_loc1_groups[] = {
  578. "hif_data", "hif_en", "hif_rdy", "hif_clk",
  579. "vtc_tdm_loc" };
  580. static const char * const rtd1319d_dc_fan_groups[] = { "gpio_47" };
  581. static const char * const rtd1319d_pll_test_loc0_groups[] = { "gpio_52", "gpio_53" };
  582. static const char * const rtd1319d_pll_test_loc1_groups[] = { "gpio_48", "gpio_49" };
  583. static const char * const rtd1319d_spdif_groups[] = { "gpio_50" };
  584. static const char * const rtd1319d_ir_rx_groups[] = { "ir_rx" };
  585. static const char * const rtd1319d_uart2_disable_groups[] = { "ur2_loc" };
  586. static const char * const rtd1319d_gspi_disable_groups[] = { "gspi_loc" };
  587. static const char * const rtd1319d_hi_width_disable_groups[] = { "hi_width" };
  588. static const char * const rtd1319d_hi_width_1bit_groups[] = { "hi_width" };
  589. static const char * const rtd1319d_sf_disable_groups[] = { "sf_en" };
  590. static const char * const rtd1319d_sf_enable_groups[] = { "sf_en" };
  591. static const char * const rtd1319d_scpu_ejtag_loc0_groups[] = {
  592. "gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
  593. "ejtag_scpu_loc" };
  594. static const char * const rtd1319d_scpu_ejtag_loc1_groups[] = {
  595. "gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
  596. "ejtag_scpu_loc" };
  597. static const char * const rtd1319d_scpu_ejtag_loc2_groups[] = {
  598. "gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
  599. "ejtag_scpu_loc" };
  600. static const char * const rtd1319d_acpu_ejtag_loc0_groups[] = {
  601. "gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
  602. "ejtag_acpu_loc" };
  603. static const char * const rtd1319d_acpu_ejtag_loc1_groups[] = {
  604. "gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
  605. "ejtag_acpu_loc" };
  606. static const char * const rtd1319d_acpu_ejtag_loc2_groups[] = {
  607. "gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
  608. "ejtag_acpu_loc" };
  609. static const char * const rtd1319d_vcpu_ejtag_loc0_groups[] = {
  610. "gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
  611. "ejtag_vcpu_loc" };
  612. static const char * const rtd1319d_vcpu_ejtag_loc1_groups[] = {
  613. "gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
  614. "ejtag_vcpu_loc" };
  615. static const char * const rtd1319d_vcpu_ejtag_loc2_groups[] = {
  616. "gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
  617. "ejtag_vcpu_loc" };
  618. static const char * const rtd1319d_secpu_ejtag_loc0_groups[] = {
  619. "gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
  620. "ejtag_secpu_loc" };
  621. static const char * const rtd1319d_secpu_ejtag_loc1_groups[] = {
  622. "gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
  623. "ejtag_secpu_loc" };
  624. static const char * const rtd1319d_secpu_ejtag_loc2_groups[] = {
  625. "gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
  626. "ejtag_secpu_loc" };
  627. static const char * const rtd1319d_aucpu_ejtag_loc0_groups[] = {
  628. "gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
  629. "ejtag_aucpu_loc" };
  630. static const char * const rtd1319d_aucpu_ejtag_loc1_groups[] = {
  631. "gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
  632. "ejtag_aucpu_loc" };
  633. static const char * const rtd1319d_aucpu_ejtag_loc2_groups[] = {
  634. "gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
  635. "ejtag_aucpu_loc" };
  636. static const char * const rtd1319d_iso_tristate_groups[] = {
  637. "emmc_rst_n", "emmc_dd_sb", "emmc_clk", "emmc_cmd",
  638. "emmc_data_0", "emmc_data_1", "emmc_data_2", "emmc_data_3",
  639. "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7",
  640. "gpio_78", "gpio_79", "gpio_80", "gpio_81", "gpio_1",
  641. "gpio_8", "gpio_9", "gpio_10", "gpio_11", "gpio_22",
  642. "gpio_23", "usb_cc2", "gpio_25", "gpio_28", "gpio_29",
  643. "gpio_30", "gpio_32", "gpio_33", "hif_data", "hif_en",
  644. "hif_rdy", "hif_clk", "gpio_40", "gpio_41", "gpio_42",
  645. "gpio_43", "gpio_44", "gpio_45", "gpio_46", "usb_cc1",
  646. "ir_rx", "ur0_rx", "ur0_tx", "gpio_62", "gpio_63", "gpio_64" };
  647. static const char * const rtd1319d_dbg_out0_groups[] = {
  648. "gpio_12", "gpio_13", "gpio_16", "gpio_17", "gpio_26", "gpio_27",
  649. "gpio_34", "gpio_35", "gpio_48", "gpio_49", "gpio_57", "gpio_58",
  650. "gpio_59", "gpio_60", "gpio_61" };
  651. static const char * const rtd1319d_dbg_out1_groups[] = {
  652. "gpio_0", "gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
  653. "gpio_7", "gpio_14", "gpio_15", "gpio_18", "gpio_19", "gpio_20",
  654. "gpio_21", "gpio_31", "gpio_47", "gpio_50", "gpio_52", "gpio_53" };
  655. static const char * const rtd1319d_standby_dbg_groups[] = {
  656. "gpio_2", "gpio_3", "ir_rx" };
  657. static const char * const rtd1319d_arm_trace_debug_disable_groups[] = { "arm_trace_dbg_en" };
  658. static const char * const rtd1319d_arm_trace_debug_enable_groups[] = { "arm_trace_dbg_en" };
  659. static const char * const rtd1319d_aucpu_ejtag_disable_groups[] = { "ejtag_aucpu_loc" };
  660. static const char * const rtd1319d_acpu_ejtag_disable_groups[] = { "ejtag_acpu_loc" };
  661. static const char * const rtd1319d_vcpu_ejtag_disable_groups[] = { "ejtag_vcpu_loc" };
  662. static const char * const rtd1319d_scpu_ejtag_disable_groups[] = { "ejtag_scpu_loc" };
  663. static const char * const rtd1319d_secpu_ejtag_disable_groups[] = { "ejtag_secpu_loc" };
  664. static const char * const rtd1319d_vtc_dmic_loc_disable_groups[] = { "vtc_dmic_loc" };
  665. static const char * const rtd1319d_vtc_tdm_disable_groups[] = { "vtc_tdm_loc" };
  666. static const char * const rtd1319d_vtc_i2si_disable_groups[] = { "vtc_i2si_loc" };
  667. static const char * const rtd1319d_tdm_ai_disable_groups[] = { "tdm_ai_loc" };
  668. static const char * const rtd1319d_ai_disable_groups[] = { "ai_loc" };
  669. static const char * const rtd1319d_spdif_disable_groups[] = { "spdif_loc" };
  670. static const char * const rtd1319d_hif_disable_groups[] = { "hif_en_loc" };
  671. static const char * const rtd1319d_hif_enable_groups[] = { "hif_en_loc" };
  672. static const char * const rtd1319d_test_loop_groups[] = { "gpio_27" };
  673. static const char * const rtd1319d_pmic_pwrup_groups[] = { "gpio_78" };
  674. #define RTD1319D_FUNC(_name) \
  675. { \
  676. .name = # _name, \
  677. .groups = rtd1319d_ ## _name ## _groups, \
  678. .num_groups = ARRAY_SIZE(rtd1319d_ ## _name ## _groups), \
  679. }
  680. static const struct rtd_pin_func_desc rtd1319d_pin_functions[] = {
  681. RTD1319D_FUNC(gpio),
  682. RTD1319D_FUNC(nf),
  683. RTD1319D_FUNC(emmc),
  684. RTD1319D_FUNC(tp0),
  685. RTD1319D_FUNC(tp1),
  686. RTD1319D_FUNC(sc0),
  687. RTD1319D_FUNC(sc0_data0),
  688. RTD1319D_FUNC(sc0_data1),
  689. RTD1319D_FUNC(sc0_data2),
  690. RTD1319D_FUNC(sc1),
  691. RTD1319D_FUNC(sc1_data0),
  692. RTD1319D_FUNC(sc1_data1),
  693. RTD1319D_FUNC(sc1_data2),
  694. RTD1319D_FUNC(ao),
  695. RTD1319D_FUNC(gspi_loc0),
  696. RTD1319D_FUNC(gspi_loc1),
  697. RTD1319D_FUNC(uart0),
  698. RTD1319D_FUNC(uart1),
  699. RTD1319D_FUNC(uart2_loc0),
  700. RTD1319D_FUNC(uart2_loc1),
  701. RTD1319D_FUNC(i2c0),
  702. RTD1319D_FUNC(i2c1),
  703. RTD1319D_FUNC(i2c3),
  704. RTD1319D_FUNC(i2c4),
  705. RTD1319D_FUNC(i2c5),
  706. RTD1319D_FUNC(pcie1),
  707. RTD1319D_FUNC(sdio),
  708. RTD1319D_FUNC(etn_led),
  709. RTD1319D_FUNC(etn_phy),
  710. RTD1319D_FUNC(spi),
  711. RTD1319D_FUNC(pwm0_loc0),
  712. RTD1319D_FUNC(pwm0_loc1),
  713. RTD1319D_FUNC(pwm1_loc0),
  714. RTD1319D_FUNC(pwm1_loc1),
  715. RTD1319D_FUNC(pwm2_loc0),
  716. RTD1319D_FUNC(pwm2_loc1),
  717. RTD1319D_FUNC(pwm3_loc0),
  718. RTD1319D_FUNC(pwm3_loc1),
  719. RTD1319D_FUNC(qam_agc_if0),
  720. RTD1319D_FUNC(qam_agc_if1),
  721. RTD1319D_FUNC(spdif_optical_loc0),
  722. RTD1319D_FUNC(spdif_optical_loc1),
  723. RTD1319D_FUNC(usb_cc1),
  724. RTD1319D_FUNC(usb_cc2),
  725. RTD1319D_FUNC(vfd),
  726. RTD1319D_FUNC(sd),
  727. RTD1319D_FUNC(dmic_loc0),
  728. RTD1319D_FUNC(dmic_loc1),
  729. RTD1319D_FUNC(ai_loc0),
  730. RTD1319D_FUNC(ai_loc1),
  731. RTD1319D_FUNC(tdm_ai_loc0),
  732. RTD1319D_FUNC(tdm_ai_loc1),
  733. RTD1319D_FUNC(hi_loc0),
  734. RTD1319D_FUNC(hi_m),
  735. RTD1319D_FUNC(vtc_i2so),
  736. RTD1319D_FUNC(vtc_i2si_loc0),
  737. RTD1319D_FUNC(vtc_i2si_loc1),
  738. RTD1319D_FUNC(vtc_dmic_loc0),
  739. RTD1319D_FUNC(vtc_dmic_loc1),
  740. RTD1319D_FUNC(vtc_tdm_loc0),
  741. RTD1319D_FUNC(vtc_tdm_loc1),
  742. RTD1319D_FUNC(dc_fan),
  743. RTD1319D_FUNC(pll_test_loc0),
  744. RTD1319D_FUNC(pll_test_loc1),
  745. RTD1319D_FUNC(ir_rx),
  746. RTD1319D_FUNC(uart2_disable),
  747. RTD1319D_FUNC(gspi_disable),
  748. RTD1319D_FUNC(hi_width_disable),
  749. RTD1319D_FUNC(hi_width_1bit),
  750. RTD1319D_FUNC(sf_disable),
  751. RTD1319D_FUNC(sf_enable),
  752. RTD1319D_FUNC(scpu_ejtag_loc0),
  753. RTD1319D_FUNC(scpu_ejtag_loc1),
  754. RTD1319D_FUNC(scpu_ejtag_loc2),
  755. RTD1319D_FUNC(acpu_ejtag_loc0),
  756. RTD1319D_FUNC(acpu_ejtag_loc1),
  757. RTD1319D_FUNC(acpu_ejtag_loc2),
  758. RTD1319D_FUNC(vcpu_ejtag_loc0),
  759. RTD1319D_FUNC(vcpu_ejtag_loc1),
  760. RTD1319D_FUNC(vcpu_ejtag_loc2),
  761. RTD1319D_FUNC(secpu_ejtag_loc0),
  762. RTD1319D_FUNC(secpu_ejtag_loc1),
  763. RTD1319D_FUNC(secpu_ejtag_loc2),
  764. RTD1319D_FUNC(aucpu_ejtag_loc0),
  765. RTD1319D_FUNC(aucpu_ejtag_loc1),
  766. RTD1319D_FUNC(aucpu_ejtag_loc2),
  767. RTD1319D_FUNC(iso_tristate),
  768. RTD1319D_FUNC(dbg_out0),
  769. RTD1319D_FUNC(dbg_out1),
  770. RTD1319D_FUNC(standby_dbg),
  771. RTD1319D_FUNC(spdif),
  772. RTD1319D_FUNC(arm_trace_debug_disable),
  773. RTD1319D_FUNC(arm_trace_debug_enable),
  774. RTD1319D_FUNC(aucpu_ejtag_disable),
  775. RTD1319D_FUNC(acpu_ejtag_disable),
  776. RTD1319D_FUNC(vcpu_ejtag_disable),
  777. RTD1319D_FUNC(scpu_ejtag_disable),
  778. RTD1319D_FUNC(secpu_ejtag_disable),
  779. RTD1319D_FUNC(vtc_dmic_loc_disable),
  780. RTD1319D_FUNC(vtc_tdm_disable),
  781. RTD1319D_FUNC(vtc_i2si_disable),
  782. RTD1319D_FUNC(tdm_ai_disable),
  783. RTD1319D_FUNC(ai_disable),
  784. RTD1319D_FUNC(spdif_disable),
  785. RTD1319D_FUNC(hif_disable),
  786. RTD1319D_FUNC(hif_enable),
  787. RTD1319D_FUNC(test_loop),
  788. RTD1319D_FUNC(pmic_pwrup),
  789. };
  790. #undef RTD1319D_FUNC
  791. static const struct rtd_pin_desc rtd1319d_iso_muxes[] = {
  792. [RTD1319D_ISO_EMMC_RST_N] = RTK_PIN_MUX(emmc_rst_n, 0x0, GENMASK(3, 0),
  793. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  794. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "nf"),
  795. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc"),
  796. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
  797. [RTD1319D_ISO_EMMC_DD_SB] = RTK_PIN_MUX(emmc_dd_sb, 0x0, GENMASK(7, 4),
  798. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  799. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc"),
  800. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
  801. [RTD1319D_ISO_EMMC_CLK] = RTK_PIN_MUX(emmc_clk, 0x0, GENMASK(11, 8),
  802. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  803. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "nf"),
  804. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"),
  805. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")),
  806. [RTD1319D_ISO_EMMC_CMD] = RTK_PIN_MUX(emmc_cmd, 0x0, GENMASK(15, 12),
  807. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  808. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "nf"),
  809. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"),
  810. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
  811. [RTD1319D_ISO_EMMC_DATA_0] = RTK_PIN_MUX(emmc_data_0, 0x0, GENMASK(19, 16),
  812. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  813. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "nf"),
  814. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "emmc"),
  815. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
  816. [RTD1319D_ISO_EMMC_DATA_1] = RTK_PIN_MUX(emmc_data_1, 0x0, GENMASK(23, 20),
  817. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  818. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "nf"),
  819. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "emmc"),
  820. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
  821. [RTD1319D_ISO_EMMC_DATA_2] = RTK_PIN_MUX(emmc_data_2, 0x0, GENMASK(27, 24),
  822. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  823. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "nf"),
  824. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "emmc"),
  825. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
  826. [RTD1319D_ISO_EMMC_DATA_3] = RTK_PIN_MUX(emmc_data_3, 0x0, GENMASK(31, 28),
  827. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  828. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "nf"),
  829. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "emmc"),
  830. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
  831. [RTD1319D_ISO_EMMC_DATA_4] = RTK_PIN_MUX(emmc_data_4, 0x4, GENMASK(3, 0),
  832. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  833. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "nf"),
  834. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc"),
  835. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
  836. [RTD1319D_ISO_EMMC_DATA_5] = RTK_PIN_MUX(emmc_data_5, 0x4, GENMASK(7, 4),
  837. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  838. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "nf"),
  839. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc"),
  840. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
  841. [RTD1319D_ISO_EMMC_DATA_6] = RTK_PIN_MUX(emmc_data_6, 0x4, GENMASK(11, 8),
  842. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  843. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "nf"),
  844. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"),
  845. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")),
  846. [RTD1319D_ISO_EMMC_DATA_7] = RTK_PIN_MUX(emmc_data_7, 0x4, GENMASK(15, 12),
  847. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  848. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "nf"),
  849. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"),
  850. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
  851. [RTD1319D_ISO_GPIO_78] = RTK_PIN_MUX(gpio_78, 0x4, GENMASK(19, 16),
  852. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  853. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "nf"),
  854. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "pmic_pwrup"),
  855. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
  856. [RTD1319D_ISO_GPIO_79] = RTK_PIN_MUX(gpio_79, 0x4, GENMASK(23, 20),
  857. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  858. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "nf"),
  859. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
  860. [RTD1319D_ISO_GPIO_80] = RTK_PIN_MUX(gpio_80, 0x4, GENMASK(27, 24),
  861. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  862. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "nf"),
  863. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
  864. [RTD1319D_ISO_GPIO_81] = RTK_PIN_MUX(gpio_81, 0x4, GENMASK(31, 28),
  865. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  866. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "nf"),
  867. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
  868. [RTD1319D_ISO_GPIO_0] = RTK_PIN_MUX(gpio_0, 0x8, GENMASK(3, 0),
  869. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  870. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "dbg_out1")),
  871. [RTD1319D_ISO_GPIO_1] = RTK_PIN_MUX(gpio_1, 0x8, GENMASK(7, 4),
  872. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  873. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
  874. [RTD1319D_ISO_GPIO_2] = RTK_PIN_MUX(gpio_2, 0x8, GENMASK(11, 8),
  875. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  876. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "standby_dbg"),
  877. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "tp0"),
  878. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "aucpu_ejtag_loc0"),
  879. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "sc1"),
  880. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "scpu_ejtag_loc0"),
  881. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "acpu_ejtag_loc0"),
  882. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "vcpu_ejtag_loc0"),
  883. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 8), "secpu_ejtag_loc0"),
  884. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 8), "vtc_i2so"),
  885. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 8), "ao"),
  886. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out1")),
  887. [RTD1319D_ISO_GPIO_3] = RTK_PIN_MUX(gpio_3, 0x8, GENMASK(15, 12),
  888. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  889. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "standby_dbg"),
  890. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "tp0"),
  891. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "aucpu_ejtag_loc0"),
  892. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "sc1"),
  893. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "scpu_ejtag_loc0"),
  894. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "acpu_ejtag_loc0"),
  895. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "vcpu_ejtag_loc0"),
  896. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 12), "secpu_ejtag_loc0"),
  897. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 12), "vtc_i2so"),
  898. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 12), "ao"),
  899. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out1")),
  900. [RTD1319D_ISO_GPIO_4] = RTK_PIN_MUX(gpio_4, 0x8, GENMASK(19, 16),
  901. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  902. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "tp0"),
  903. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "aucpu_ejtag_loc0"),
  904. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "scpu_ejtag_loc0"),
  905. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "acpu_ejtag_loc0"),
  906. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "vcpu_ejtag_loc0"),
  907. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "secpu_ejtag_loc0"),
  908. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 16), "vtc_i2so"),
  909. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 16), "ao"),
  910. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out1")),
  911. [RTD1319D_ISO_GPIO_5] = RTK_PIN_MUX(gpio_5, 0x8, GENMASK(23, 20),
  912. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  913. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "aucpu_ejtag_loc0"),
  914. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "sc1"),
  915. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "scpu_ejtag_loc0"),
  916. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "acpu_ejtag_loc0"),
  917. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "vcpu_ejtag_loc0"),
  918. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "secpu_ejtag_loc0"),
  919. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out1")),
  920. [RTD1319D_ISO_GPIO_6] = RTK_PIN_MUX(gpio_6, 0x8, GENMASK(27, 24),
  921. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  922. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "aucpu_ejtag_loc0"),
  923. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "spdif_optical_loc1"),
  924. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "scpu_ejtag_loc0"),
  925. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 24), "acpu_ejtag_loc0"),
  926. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 24), "vcpu_ejtag_loc0"),
  927. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 24), "secpu_ejtag_loc0"),
  928. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "dbg_out1")),
  929. [RTD1319D_ISO_GPIO_7] = RTK_PIN_MUX(gpio_7, 0x8, GENMASK(31, 28),
  930. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  931. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "dbg_out1")),
  932. [RTD1319D_ISO_GPIO_8] = RTK_PIN_MUX(gpio_8, 0xc, GENMASK(3, 0),
  933. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  934. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart1"),
  935. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "gspi_loc1"),
  936. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
  937. [RTD1319D_ISO_GPIO_9] = RTK_PIN_MUX(gpio_9, 0xc, GENMASK(7, 4),
  938. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  939. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart1"),
  940. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "gspi_loc1"),
  941. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
  942. [RTD1319D_ISO_GPIO_10] = RTK_PIN_MUX(gpio_10, 0xc, GENMASK(11, 8),
  943. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  944. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart1"),
  945. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "gspi_loc1"),
  946. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")),
  947. [RTD1319D_ISO_GPIO_11] = RTK_PIN_MUX(gpio_11, 0xc, GENMASK(15, 12),
  948. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  949. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart1"),
  950. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "gspi_loc1"),
  951. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
  952. [RTD1319D_ISO_GPIO_12] = RTK_PIN_MUX(gpio_12, 0xc, GENMASK(19, 16),
  953. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  954. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "i2c0"),
  955. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out0")),
  956. [RTD1319D_ISO_GPIO_13] = RTK_PIN_MUX(gpio_13, 0xc, GENMASK(23, 20),
  957. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  958. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "i2c0"),
  959. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out0")),
  960. [RTD1319D_ISO_GPIO_14] = RTK_PIN_MUX(gpio_14, 0xc, GENMASK(27, 24),
  961. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  962. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "etn_led"),
  963. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "etn_phy"),
  964. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "dbg_out1")),
  965. [RTD1319D_ISO_GPIO_15] = RTK_PIN_MUX(gpio_15, 0xc, GENMASK(31, 28),
  966. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  967. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "etn_led"),
  968. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "etn_phy"),
  969. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "dbg_out1")),
  970. [RTD1319D_ISO_GPIO_16] = RTK_PIN_MUX(gpio_16, 0x10, GENMASK(3, 0),
  971. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  972. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "i2c1"),
  973. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "dbg_out0")),
  974. [RTD1319D_ISO_GPIO_17] = RTK_PIN_MUX(gpio_17, 0x10, GENMASK(7, 4),
  975. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  976. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "i2c1"),
  977. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "dbg_out0")),
  978. [RTD1319D_ISO_GPIO_18] = RTK_PIN_MUX(gpio_18, 0x10, GENMASK(11, 8),
  979. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  980. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart2_loc0"),
  981. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "sc0"),
  982. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "gspi_loc0"),
  983. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "spi"),
  984. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out1")),
  985. [RTD1319D_ISO_GPIO_19] = RTK_PIN_MUX(gpio_19, 0x10, GENMASK(15, 12),
  986. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  987. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart2_loc0"),
  988. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "sc0"),
  989. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "gspi_loc0"),
  990. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "spi"),
  991. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out1")),
  992. [RTD1319D_ISO_GPIO_20] = RTK_PIN_MUX(gpio_20, 0x10, GENMASK(19, 16),
  993. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  994. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "uart2_loc0"),
  995. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "pwm0_loc1"),
  996. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "gspi_loc0"),
  997. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "sc0_data0"),
  998. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "spi"),
  999. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out1")),
  1000. [RTD1319D_ISO_GPIO_21] = RTK_PIN_MUX(gpio_21, 0x10, GENMASK(23, 20),
  1001. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  1002. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "pwm1_loc1"),
  1003. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "qam_agc_if0"),
  1004. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "spdif_optical_loc0"),
  1005. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out1")),
  1006. [RTD1319D_ISO_GPIO_22] = RTK_PIN_MUX(gpio_22, 0x10, GENMASK(27, 24),
  1007. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  1008. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "pwm2_loc1"),
  1009. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "pcie1"),
  1010. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
  1011. [RTD1319D_ISO_GPIO_23] = RTK_PIN_MUX(gpio_23, 0x10, GENMASK(31, 28),
  1012. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  1013. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "pwm3_loc1"),
  1014. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "qam_agc_if1"),
  1015. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
  1016. [RTD1319D_ISO_USB_CC2] = RTK_PIN_MUX(usb_cc2, 0x14, GENMASK(3, 0),
  1017. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  1018. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "usb_cc2"),
  1019. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
  1020. [RTD1319D_ISO_GPIO_25] = RTK_PIN_MUX(gpio_25, 0x14, GENMASK(7, 4),
  1021. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  1022. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart2_loc1"),
  1023. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
  1024. [RTD1319D_ISO_GPIO_26] = RTK_PIN_MUX(gpio_26, 0x14, GENMASK(11, 8),
  1025. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  1026. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart2_loc1"),
  1027. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "vfd"),
  1028. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "pwm0_loc0"),
  1029. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "i2c3"),
  1030. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out0")),
  1031. [RTD1319D_ISO_GPIO_27] = RTK_PIN_MUX(gpio_27, 0x14, GENMASK(15, 12),
  1032. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  1033. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart2_loc1"),
  1034. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "vfd"),
  1035. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "pwm1_loc0"),
  1036. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "i2c3"),
  1037. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "test_loop"),
  1038. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out0")),
  1039. [RTD1319D_ISO_GPIO_28] = RTK_PIN_MUX(gpio_28, 0x14, GENMASK(19, 16),
  1040. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  1041. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "uart2_loc1"),
  1042. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "vfd"),
  1043. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "pwm2_loc0"),
  1044. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
  1045. [RTD1319D_ISO_GPIO_29] = RTK_PIN_MUX(gpio_29, 0x14, GENMASK(23, 20),
  1046. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  1047. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "i2c5"),
  1048. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
  1049. [RTD1319D_ISO_GPIO_30] = RTK_PIN_MUX(gpio_30, 0x14, GENMASK(27, 24),
  1050. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  1051. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "sc0_data1"),
  1052. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
  1053. [RTD1319D_ISO_GPIO_31] = RTK_PIN_MUX(gpio_31, 0x14, GENMASK(31, 28),
  1054. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  1055. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart2_loc0"),
  1056. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "sc0"),
  1057. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "gspi_loc0"),
  1058. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "spi"),
  1059. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "dbg_out1")),
  1060. [RTD1319D_ISO_GPIO_32] = RTK_PIN_MUX(gpio_32, 0x18, GENMASK(3, 0),
  1061. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  1062. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "sd"),
  1063. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "aucpu_ejtag_loc1"),
  1064. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "dmic_loc1"),
  1065. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "ai_loc1"),
  1066. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "scpu_ejtag_loc1"),
  1067. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 0), "acpu_ejtag_loc1"),
  1068. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 0), "vcpu_ejtag_loc1"),
  1069. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 0), "vtc_i2si_loc1"),
  1070. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 0), "secpu_ejtag_loc1"),
  1071. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
  1072. [RTD1319D_ISO_GPIO_33] = RTK_PIN_MUX(gpio_33, 0x18, GENMASK(7, 4),
  1073. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  1074. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "sd"),
  1075. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "aucpu_ejtag_loc1"),
  1076. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "dmic_loc1"),
  1077. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "ai_loc1"),
  1078. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "scpu_ejtag_loc1"),
  1079. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "acpu_ejtag_loc1"),
  1080. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "vcpu_ejtag_loc1"),
  1081. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 4), "secpu_ejtag_loc1"),
  1082. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
  1083. [RTD1319D_ISO_GPIO_34] = RTK_PIN_MUX(gpio_34, 0x18, GENMASK(11, 8),
  1084. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  1085. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "sd"),
  1086. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "dmic_loc1"),
  1087. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "ai_loc1"),
  1088. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "i2c4"),
  1089. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "sc1_data1"),
  1090. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out0")),
  1091. [RTD1319D_ISO_GPIO_35] = RTK_PIN_MUX(gpio_35, 0x18, GENMASK(15, 12),
  1092. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  1093. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "sd"),
  1094. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "dmic_loc1"),
  1095. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "i2c4"),
  1096. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "sc1_data2"),
  1097. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out0")),
  1098. [RTD1319D_ISO_HIF_DATA] = RTK_PIN_MUX(hif_data, 0x18, GENMASK(19, 16),
  1099. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  1100. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "sd"),
  1101. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "aucpu_ejtag_loc1"),
  1102. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "dmic_loc1"),
  1103. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "tdm_ai_loc1"),
  1104. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "scpu_ejtag_loc1"),
  1105. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "acpu_ejtag_loc1"),
  1106. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "vcpu_ejtag_loc1"),
  1107. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "ai_loc1"),
  1108. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "hi_loc0"),
  1109. RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "hi_m"),
  1110. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 16), "vtc_i2si_loc1"),
  1111. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 16), "vtc_tdm_loc1"),
  1112. RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "vtc_dmic_loc1"),
  1113. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "secpu_ejtag_loc1"),
  1114. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
  1115. [RTD1319D_ISO_HIF_EN] = RTK_PIN_MUX(hif_en, 0x18, GENMASK(23, 20),
  1116. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  1117. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "sd"),
  1118. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "aucpu_ejtag_loc1"),
  1119. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "dmic_loc1"),
  1120. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "tdm_ai_loc1"),
  1121. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "scpu_ejtag_loc1"),
  1122. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "acpu_ejtag_loc1"),
  1123. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "vcpu_ejtag_loc1"),
  1124. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "ai_loc1"),
  1125. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "hi_loc0"),
  1126. RTK_PIN_FUNC(SHIFT_LEFT(0xa, 20), "hi_m"),
  1127. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 20), "vtc_i2si_loc1"),
  1128. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 20), "vtc_tdm_loc1"),
  1129. RTK_PIN_FUNC(SHIFT_LEFT(0xd, 20), "vtc_dmic_loc1"),
  1130. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 20), "secpu_ejtag_loc1"),
  1131. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
  1132. [RTD1319D_ISO_HIF_RDY] = RTK_PIN_MUX(hif_rdy, 0x18, GENMASK(27, 24),
  1133. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  1134. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "sd"),
  1135. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "dmic_loc1"),
  1136. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "tdm_ai_loc1"),
  1137. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 24), "ai_loc1"),
  1138. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 24), "hi_loc0"),
  1139. RTK_PIN_FUNC(SHIFT_LEFT(0xa, 24), "hi_m"),
  1140. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 24), "vtc_i2si_loc1"),
  1141. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 24), "vtc_tdm_loc1"),
  1142. RTK_PIN_FUNC(SHIFT_LEFT(0xd, 24), "vtc_dmic_loc1"),
  1143. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
  1144. [RTD1319D_ISO_HIF_CLK] = RTK_PIN_MUX(hif_clk, 0x18, GENMASK(31, 28),
  1145. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  1146. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "sd"),
  1147. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "aucpu_ejtag_loc1"),
  1148. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "dmic_loc1"),
  1149. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 28), "tdm_ai_loc1"),
  1150. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "scpu_ejtag_loc1"),
  1151. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 28), "acpu_ejtag_loc1"),
  1152. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 28), "vcpu_ejtag_loc1"),
  1153. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 28), "ai_loc1"),
  1154. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 28), "hi_loc0"),
  1155. RTK_PIN_FUNC(SHIFT_LEFT(0xa, 28), "hi_m"),
  1156. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 28), "vtc_i2si_loc1"),
  1157. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 28), "vtc_tdm_loc1"),
  1158. RTK_PIN_FUNC(SHIFT_LEFT(0xd, 28), "vtc_dmic_loc1"),
  1159. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 28), "secpu_ejtag_loc1"),
  1160. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
  1161. [RTD1319D_ISO_GPIO_40] = RTK_PIN_MUX(gpio_40, 0x1c, GENMASK(3, 0),
  1162. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  1163. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "sdio"),
  1164. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
  1165. [RTD1319D_ISO_GPIO_41] = RTK_PIN_MUX(gpio_41, 0x1c, GENMASK(7, 4),
  1166. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  1167. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "sdio"),
  1168. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
  1169. [RTD1319D_ISO_GPIO_42] = RTK_PIN_MUX(gpio_42, 0x1c, GENMASK(11, 8),
  1170. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  1171. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "sdio"),
  1172. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")),
  1173. [RTD1319D_ISO_GPIO_43] = RTK_PIN_MUX(gpio_43, 0x1c, GENMASK(15, 12),
  1174. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  1175. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "sdio"),
  1176. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
  1177. [RTD1319D_ISO_GPIO_44] = RTK_PIN_MUX(gpio_44, 0x1c, GENMASK(19, 16),
  1178. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  1179. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "sdio"),
  1180. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
  1181. [RTD1319D_ISO_GPIO_45] = RTK_PIN_MUX(gpio_45, 0x1c, GENMASK(23, 20),
  1182. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  1183. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "sdio"),
  1184. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
  1185. [RTD1319D_ISO_GPIO_46] = RTK_PIN_MUX(gpio_46, 0x1c, GENMASK(27, 24),
  1186. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  1187. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "i2c5"),
  1188. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
  1189. [RTD1319D_ISO_GPIO_47] = RTK_PIN_MUX(gpio_47, 0x1c, GENMASK(31, 28),
  1190. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  1191. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "dc_fan"),
  1192. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "pwm3_loc0"),
  1193. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 28), "sc0_data2"),
  1194. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "dbg_out1")),
  1195. [RTD1319D_ISO_GPIO_48] = RTK_PIN_MUX(gpio_48, 0x20, GENMASK(3, 0),
  1196. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  1197. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "pll_test_loc1"),
  1198. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "dbg_out0")),
  1199. [RTD1319D_ISO_GPIO_49] = RTK_PIN_MUX(gpio_49, 0x20, GENMASK(7, 4),
  1200. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  1201. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "pll_test_loc1"),
  1202. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "dbg_out0")),
  1203. [RTD1319D_ISO_GPIO_50] = RTK_PIN_MUX(gpio_50, 0x20, GENMASK(11, 8),
  1204. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  1205. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "spdif"),
  1206. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out1")),
  1207. [RTD1319D_ISO_USB_CC1] = RTK_PIN_MUX(usb_cc1, 0x20, GENMASK(15, 12),
  1208. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  1209. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "usb_cc1"),
  1210. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
  1211. [RTD1319D_ISO_GPIO_52] = RTK_PIN_MUX(gpio_52, 0x20, GENMASK(19, 16),
  1212. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  1213. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "pll_test_loc0"),
  1214. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "sc1_data0"),
  1215. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out1")),
  1216. [RTD1319D_ISO_GPIO_53] = RTK_PIN_MUX(gpio_53, 0x20, GENMASK(23, 20),
  1217. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  1218. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "pll_test_loc0"),
  1219. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out1")),
  1220. [RTD1319D_ISO_IR_RX] = RTK_PIN_MUX(ir_rx, 0x20, GENMASK(27, 24),
  1221. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  1222. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "ir_rx"),
  1223. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "standby_dbg"),
  1224. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
  1225. [RTD1319D_ISO_UR0_RX] = RTK_PIN_MUX(ur0_rx, 0x20, GENMASK(31, 28),
  1226. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  1227. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart0"),
  1228. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
  1229. [RTD1319D_ISO_UR0_TX] = RTK_PIN_MUX(ur0_tx, 0x24, GENMASK(3, 0),
  1230. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  1231. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart0"),
  1232. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
  1233. [RTD1319D_ISO_GPIO_57] = RTK_PIN_MUX(gpio_57, 0x24, GENMASK(7, 4),
  1234. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
  1235. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "tdm_ai_loc0"),
  1236. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "ai_loc0"),
  1237. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "dmic_loc0"),
  1238. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "tp0"),
  1239. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "acpu_ejtag_loc2"),
  1240. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "vcpu_ejtag_loc2"),
  1241. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 4), "secpu_ejtag_loc2"),
  1242. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 4), "aucpu_ejtag_loc2"),
  1243. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 4), "vtc_i2si_loc0"),
  1244. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 4), "vtc_tdm_loc0"),
  1245. RTK_PIN_FUNC(SHIFT_LEFT(0xd, 4), "vtc_dmic_loc0"),
  1246. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 4), "scpu_ejtag_loc2"),
  1247. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "dbg_out0")),
  1248. [RTD1319D_ISO_GPIO_58] = RTK_PIN_MUX(gpio_58, 0x24, GENMASK(11, 8),
  1249. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
  1250. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "tdm_ai_loc0"),
  1251. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ai_loc0"),
  1252. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "dmic_loc0"),
  1253. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "tp0"),
  1254. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "acpu_ejtag_loc2"),
  1255. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "vcpu_ejtag_loc2"),
  1256. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 8), "secpu_ejtag_loc2"),
  1257. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "aucpu_ejtag_loc2"),
  1258. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 8), "vtc_i2si_loc0"),
  1259. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 8), "vtc_tdm_loc0"),
  1260. RTK_PIN_FUNC(SHIFT_LEFT(0xd, 8), "vtc_dmic_loc0"),
  1261. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 8), "scpu_ejtag_loc2"),
  1262. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out0")),
  1263. [RTD1319D_ISO_GPIO_59] = RTK_PIN_MUX(gpio_59, 0x24, GENMASK(15, 12),
  1264. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
  1265. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "tdm_ai_loc0"),
  1266. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "ai_loc0"),
  1267. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "dmic_loc0"),
  1268. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "tp0"),
  1269. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "acpu_ejtag_loc2"),
  1270. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "vcpu_ejtag_loc2"),
  1271. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 12), "secpu_ejtag_loc2"),
  1272. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "aucpu_ejtag_loc2"),
  1273. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 12), "vtc_i2si_loc0"),
  1274. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 12), "vtc_tdm_loc0"),
  1275. RTK_PIN_FUNC(SHIFT_LEFT(0xd, 12), "vtc_dmic_loc0"),
  1276. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 12), "scpu_ejtag_loc2"),
  1277. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out0")),
  1278. [RTD1319D_ISO_GPIO_60] = RTK_PIN_MUX(gpio_60, 0x24, GENMASK(19, 16),
  1279. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
  1280. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "tdm_ai_loc0"),
  1281. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "ai_loc0"),
  1282. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "dmic_loc0"),
  1283. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "tp0"),
  1284. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "acpu_ejtag_loc2"),
  1285. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "vcpu_ejtag_loc2"),
  1286. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "secpu_ejtag_loc2"),
  1287. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "aucpu_ejtag_loc2"),
  1288. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 16), "vtc_i2si_loc0"),
  1289. RTK_PIN_FUNC(SHIFT_LEFT(0xc, 16), "vtc_tdm_loc0"),
  1290. RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "vtc_dmic_loc0"),
  1291. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "scpu_ejtag_loc2"),
  1292. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out0")),
  1293. [RTD1319D_ISO_GPIO_61] = RTK_PIN_MUX(gpio_61, 0x24, GENMASK(23, 20),
  1294. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
  1295. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "ai_loc0"),
  1296. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ao"),
  1297. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "dmic_loc0"),
  1298. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "tp0"),
  1299. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "tp1"),
  1300. RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "acpu_ejtag_loc2"),
  1301. RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "vcpu_ejtag_loc2"),
  1302. RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "secpu_ejtag_loc2"),
  1303. RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "aucpu_ejtag_loc2"),
  1304. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 20), "vtc_i2si_loc0"),
  1305. RTK_PIN_FUNC(SHIFT_LEFT(0xe, 20), "scpu_ejtag_loc2"),
  1306. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out0")),
  1307. [RTD1319D_ISO_GPIO_62] = RTK_PIN_MUX(gpio_62, 0x24, GENMASK(27, 24),
  1308. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
  1309. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "ai_loc0"),
  1310. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "ao"),
  1311. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "dmic_loc0"),
  1312. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "tp0"),
  1313. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "tp1"),
  1314. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
  1315. [RTD1319D_ISO_GPIO_63] = RTK_PIN_MUX(gpio_63, 0x24, GENMASK(31, 28),
  1316. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
  1317. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "ai_loc0"),
  1318. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "ao"),
  1319. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "dmic_loc0"),
  1320. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 28), "tp0"),
  1321. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "tp1"),
  1322. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
  1323. [RTD1319D_ISO_GPIO_64] = RTK_PIN_MUX(gpio_64, 0x28, GENMASK(3, 0),
  1324. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
  1325. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ao"),
  1326. RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "dmic_loc0"),
  1327. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "tp0"),
  1328. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "tp1"),
  1329. RTK_PIN_FUNC(SHIFT_LEFT(0xb, 0), "vtc_i2so"),
  1330. RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
  1331. [RTD1319D_ISO_UR2_LOC] = RTK_PIN_MUX(ur2_loc, 0x120, GENMASK(1, 0),
  1332. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "uart2_disable"),
  1333. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart2_loc0"),
  1334. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "uart2_loc1")),
  1335. [RTD1319D_ISO_GSPI_LOC] = RTK_PIN_MUX(gspi_loc, 0x120, GENMASK(3, 2),
  1336. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 2), "gspi_disable"),
  1337. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "gspi_loc0"),
  1338. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "gspi_loc1")),
  1339. [RTD1319D_ISO_HI_WIDTH] = RTK_PIN_MUX(hi_width, 0x120, GENMASK(9, 8),
  1340. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "hi_width_disable"),
  1341. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "hi_width_1bit")),
  1342. [RTD1319D_ISO_SF_EN] = RTK_PIN_MUX(sf_en, 0x120, GENMASK(11, 11),
  1343. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 11), "sf_disable"),
  1344. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 11), "sf_enable")),
  1345. [RTD1319D_ISO_ARM_TRACE_DBG_EN] = RTK_PIN_MUX(arm_trace_dbg_en, 0x120, GENMASK(12, 12),
  1346. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "arm_trace_debug_disable"),
  1347. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "arm_trace_debug_enable")),
  1348. [RTD1319D_ISO_EJTAG_AUCPU_LOC] = RTK_PIN_MUX(ejtag_aucpu_loc, 0x120, GENMASK(16, 14),
  1349. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 14), "aucpu_ejtag_disable"),
  1350. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "aucpu_ejtag_loc0"),
  1351. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 14), "aucpu_ejtag_loc1"),
  1352. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 14), "aucpu_ejtag_loc2")),
  1353. [RTD1319D_ISO_EJTAG_ACPU_LOC] = RTK_PIN_MUX(ejtag_acpu_loc, 0x120, GENMASK(19, 17),
  1354. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 17), "acpu_ejtag_disable"),
  1355. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 17), "acpu_ejtag_loc0"),
  1356. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 17), "acpu_ejtag_loc1"),
  1357. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 17), "acpu_ejtag_loc2")),
  1358. [RTD1319D_ISO_EJTAG_VCPU_LOC] = RTK_PIN_MUX(ejtag_vcpu_loc, 0x120, GENMASK(22, 20),
  1359. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "vcpu_ejtag_disable"),
  1360. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "vcpu_ejtag_loc0"),
  1361. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "vcpu_ejtag_loc1"),
  1362. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "vcpu_ejtag_loc2")),
  1363. [RTD1319D_ISO_EJTAG_SCPU_LOC] = RTK_PIN_MUX(ejtag_scpu_loc, 0x120, GENMASK(25, 23),
  1364. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 23), "scpu_ejtag_disable"),
  1365. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 23), "scpu_ejtag_loc0"),
  1366. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 23), "scpu_ejtag_loc1"),
  1367. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 23), "scpu_ejtag_loc2")),
  1368. [RTD1319D_ISO_DMIC_LOC] = RTK_PIN_MUX(dmic_loc, 0x120, GENMASK(27, 26),
  1369. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 26), "dmic_loc0"),
  1370. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 26), "dmic_loc1")),
  1371. [RTD1319D_ISO_EJTAG_SECPU_LOC] = RTK_PIN_MUX(ejtag_secpu_loc, 0x124, GENMASK(20, 18),
  1372. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 18), "secpu_ejtag_disable"),
  1373. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "secpu_ejtag_loc0"),
  1374. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "secpu_ejtag_loc1"),
  1375. RTK_PIN_FUNC(SHIFT_LEFT(0x4, 18), "secpu_ejtag_loc2")),
  1376. [RTD1319D_ISO_VTC_DMIC_LOC] = RTK_PIN_MUX(vtc_dmic_loc, 0x128, GENMASK(1, 0),
  1377. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "vtc_dmic_loc_disable"),
  1378. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "vtc_dmic_loc0"),
  1379. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "vtc_dmic_loc1")),
  1380. [RTD1319D_ISO_VTC_TDM_LOC] = RTK_PIN_MUX(vtc_tdm_loc, 0x128, GENMASK(3, 2),
  1381. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 2), "vtc_tdm_disable"),
  1382. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "vtc_tdm_loc0"),
  1383. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "vtc_tdm_loc1")),
  1384. [RTD1319D_ISO_VTC_I2SI_LOC] = RTK_PIN_MUX(vtc_i2si_loc, 0x128, GENMASK(5, 4),
  1385. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "vtc_i2si_disable"),
  1386. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "vtc_i2si_loc0"),
  1387. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "vtc_i2si_loc1")),
  1388. [RTD1319D_ISO_TDM_AI_LOC] = RTK_PIN_MUX(tdm_ai_loc, 0x128, GENMASK(7, 6),
  1389. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 6), "tdm_ai_disable"),
  1390. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "tdm_ai_loc0"),
  1391. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 6), "tdm_ai_loc1")),
  1392. [RTD1319D_ISO_AI_LOC] = RTK_PIN_MUX(ai_loc, 0x128, GENMASK(9, 8),
  1393. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "ai_disable"),
  1394. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "ai_loc0"),
  1395. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ai_loc1")),
  1396. [RTD1319D_ISO_SPDIF_LOC] = RTK_PIN_MUX(spdif_loc, 0x128, GENMASK(11, 10),
  1397. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 10), "spdif_disable"),
  1398. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 10), "spdif_optical_loc0"),
  1399. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 10), "spdif_optical_loc1")),
  1400. [RTD1319D_ISO_HIF_EN_LOC] = RTK_PIN_MUX(hif_en_loc, 0x12c, GENMASK(2, 0),
  1401. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "hif_disable"),
  1402. RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "hif_enable")),
  1403. [RTD1319D_ISO_SC0_LOC] = RTK_PIN_MUX(sc0_loc, 0x188, GENMASK(9, 8),
  1404. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "sc0_data0"),
  1405. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "sc0_data1"),
  1406. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "sc0_data2")),
  1407. [RTD1319D_ISO_SC1_LOC] = RTK_PIN_MUX(sc1_loc, 0x188, GENMASK(11, 10),
  1408. RTK_PIN_FUNC(SHIFT_LEFT(0x0, 10), "sc1_data0"),
  1409. RTK_PIN_FUNC(SHIFT_LEFT(0x1, 10), "sc1_data1"),
  1410. RTK_PIN_FUNC(SHIFT_LEFT(0x2, 10), "sc1_data2")),
  1411. [RTD1319D_ISO_TESTMODE] = {0},
  1412. };
  1413. static const struct rtd_pin_config_desc rtd1319d_iso_configs[] = {
  1414. [RTD1319D_ISO_SCAN_SWITCH] = RTK_PIN_CONFIG(scan_switch, 0x2c, 0, NA, NA, 0, 1, 2, PADDRI_4_8),
  1415. [RTD1319D_ISO_GPIO_18] = RTK_PIN_CONFIG(gpio_18, 0x2c, 3, 1, 2, 0, 3, 4, PADDRI_4_8),
  1416. [RTD1319D_ISO_GPIO_19] = RTK_PIN_CONFIG(gpio_19, 0x2c, 8, 1, 2, 0, 3, 4, PADDRI_4_8),
  1417. [RTD1319D_ISO_GPIO_20] = RTK_PIN_CONFIG(gpio_20, 0x2c, 13, 1, 2, 0, 3, 4, PADDRI_4_8),
  1418. [RTD1319D_ISO_GPIO_31] = RTK_PIN_CONFIG(gpio_31, 0x2c, 18, 1, 2, 0, 3, 4, PADDRI_4_8),
  1419. [RTD1319D_ISO_GPIO_8] = RTK_PIN_CONFIG(gpio_8, 0x2c, 23, 1, 2, 0, 3, 4, PADDRI_4_8),
  1420. [RTD1319D_ISO_GPIO_9] = RTK_PIN_CONFIG(gpio_9, 0x30, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1421. [RTD1319D_ISO_GPIO_10] = RTK_PIN_CONFIG(gpio_10, 0x30, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1422. [RTD1319D_ISO_GPIO_11] = RTK_PIN_CONFIG(gpio_11, 0x30, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
  1423. [RTD1319D_ISO_GPIO_0] = RTK_PIN_CONFIG(gpio_0, 0x30, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
  1424. [RTD1319D_ISO_GPIO_1] = RTK_PIN_CONFIG(gpio_1, 0x30, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
  1425. [RTD1319D_ISO_GPIO_5] = RTK_PIN_CONFIG(gpio_5, 0x30, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
  1426. [RTD1319D_ISO_GPIO_6] = RTK_PIN_CONFIG(gpio_6, 0x34, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1427. [RTD1319D_ISO_GPIO_12] = RTK_PIN_CONFIG(gpio_12, 0x34, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1428. [RTD1319D_ISO_GPIO_13] = RTK_PIN_CONFIG(gpio_13, 0x34, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
  1429. [RTD1319D_ISO_GPIO_22] = RTK_PIN_CONFIG(gpio_22, 0x34, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
  1430. [RTD1319D_ISO_USB_CC2] = RTK_PIN_CONFIG(usb_cc2, 0x34, 20, NA, NA, 0, 1, 2, PADDRI_4_8),
  1431. [RTD1319D_ISO_GPIO_29] = RTK_PIN_CONFIG(gpio_29, 0x34, 23, 1, 2, 0, 3, 4, PADDRI_4_8),
  1432. [RTD1319D_ISO_GPIO_46] = RTK_PIN_CONFIG(gpio_46, 0x38, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1433. [RTD1319D_ISO_GPIO_47] = RTK_PIN_CONFIG(gpio_47, 0x38, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1434. [RTD1319D_ISO_USB_CC1] = RTK_PIN_CONFIG(usb_cc1, 0x38, 10, NA, NA, 0, 1, 2, PADDRI_4_8),
  1435. [RTD1319D_ISO_WD_RSET] = RTK_PIN_CONFIG(wd_rset, 0x38, 13, 1, 2, 0, 3, 4, PADDRI_4_8),
  1436. [RTD1319D_ISO_IR_RX] = RTK_PIN_CONFIG(ir_rx, 0x38, 18, 1, 2, 0, 3, 4, PADDRI_4_8),
  1437. [RTD1319D_ISO_BOOT_SEL] = RTK_PIN_CONFIG(boot_sel, 0x38, 23, 0, 1, NA, 2, 3, PADDRI_4_8),
  1438. [RTD1319D_ISO_RESET_N] = RTK_PIN_CONFIG(reset_n, 0x38, 27, 0, 1, NA, 2, 3, PADDRI_4_8),
  1439. [RTD1319D_ISO_TESTMODE] = RTK_PIN_CONFIG(testmode, 0x3c, 0, 0, 1, NA, 2, 3, PADDRI_4_8),
  1440. [RTD1319D_ISO_GPIO_40] = RTK_PIN_CONFIG(gpio_40, 0x3c, 4, 0, 1, NA, 2, 12, NA),
  1441. [RTD1319D_ISO_GPIO_41] = RTK_PIN_CONFIG(gpio_41, 0x3c, 17, 0, 1, NA, 2, 12, NA),
  1442. [RTD1319D_ISO_GPIO_42] = RTK_PIN_CONFIG(gpio_42, 0x40, 0, 0, 1, NA, 2, 12, NA),
  1443. [RTD1319D_ISO_GPIO_43] = RTK_PIN_CONFIG(gpio_43, 0x40, 13, 0, 1, NA, 2, 12, NA),
  1444. [RTD1319D_ISO_GPIO_44] = RTK_PIN_CONFIG(gpio_44, 0x44, 0, 0, 1, NA, 2, 12, NA),
  1445. [RTD1319D_ISO_GPIO_45] = RTK_PIN_CONFIG(gpio_45, 0x44, 13, 0, 1, NA, 2, 12, NA),
  1446. [RTD1319D_ISO_EMMC_DATA_0] = RTK_PIN_CONFIG(emmc_data_0, 0x48, 0, 0, 1, NA, 2, 12, NA),
  1447. [RTD1319D_ISO_EMMC_DATA_1] = RTK_PIN_CONFIG(emmc_data_1, 0x48, 13, 0, 1, NA, 2, 12, NA),
  1448. [RTD1319D_ISO_EMMC_DATA_2] = RTK_PIN_CONFIG(emmc_data_2, 0x4c, 0, 0, 1, NA, 2, 12, NA),
  1449. [RTD1319D_ISO_EMMC_DATA_3] = RTK_PIN_CONFIG(emmc_data_3, 0x4c, 13, 0, 1, NA, 2, 12, NA),
  1450. [RTD1319D_ISO_EMMC_DATA_4] = RTK_PIN_CONFIG(emmc_data_4, 0x50, 0, 0, 1, NA, 2, 12, NA),
  1451. [RTD1319D_ISO_EMMC_DATA_5] = RTK_PIN_CONFIG(emmc_data_5, 0x50, 13, 0, 1, NA, 2, 12, NA),
  1452. [RTD1319D_ISO_EMMC_DATA_6] = RTK_PIN_CONFIG(emmc_data_6, 0x54, 0, 0, 1, NA, 2, 12, NA),
  1453. [RTD1319D_ISO_EMMC_DATA_7] = RTK_PIN_CONFIG(emmc_data_7, 0x54, 13, 0, 1, NA, 2, 12, NA),
  1454. [RTD1319D_ISO_EMMC_DD_SB] = RTK_PIN_CONFIG(emmc_dd_sb, 0x58, 0, 0, 1, NA, 2, 12, NA),
  1455. [RTD1319D_ISO_EMMC_RST_N] = RTK_PIN_CONFIG(emmc_rst_n, 0x58, 13, 0, 1, NA, 2, 12, NA),
  1456. [RTD1319D_ISO_EMMC_CMD] = RTK_PIN_CONFIG(emmc_cmd, 0x5c, 0, 0, 1, NA, 2, 13, NA),
  1457. [RTD1319D_ISO_EMMC_CLK] = RTK_PIN_CONFIG(emmc_clk, 0x5c, 14, 0, 1, NA, 2, 12, NA),
  1458. [RTD1319D_ISO_GPIO_80] = RTK_PIN_CONFIG(gpio_80, 0x60, 0, 0, 1, NA, 2, 12, NA),
  1459. [RTD1319D_ISO_GPIO_78] = RTK_PIN_CONFIG(gpio_78, 0x60, 13, 0, 1, NA, 2, 12, NA),
  1460. [RTD1319D_ISO_GPIO_79] = RTK_PIN_CONFIG(gpio_79, 0x64, 0, 0, 1, NA, 2, 12, NA),
  1461. [RTD1319D_ISO_GPIO_81] = RTK_PIN_CONFIG(gpio_81, 0x64, 13, 0, 1, NA, 2, 12, NA),
  1462. [RTD1319D_ISO_GPIO_2] = RTK_PIN_CONFIG(gpio_2, 0x64, 26, 1, 2, 0, 3, 4, PADDRI_4_8),
  1463. [RTD1319D_ISO_GPIO_3] = RTK_PIN_CONFIG(gpio_3, 0x68, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1464. [RTD1319D_ISO_GPIO_4] = RTK_PIN_CONFIG(gpio_4, 0x68, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1465. [RTD1319D_ISO_GPIO_57] = RTK_PIN_CONFIG(gpio_57, 0x68, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
  1466. [RTD1319D_ISO_GPIO_58] = RTK_PIN_CONFIG(gpio_58, 0x68, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
  1467. [RTD1319D_ISO_GPIO_59] = RTK_PIN_CONFIG(gpio_59, 0x68, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
  1468. [RTD1319D_ISO_GPIO_60] = RTK_PIN_CONFIG(gpio_60, 0x68, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
  1469. [RTD1319D_ISO_GPIO_61] = RTK_PIN_CONFIG(gpio_61, 0x6c, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1470. [RTD1319D_ISO_GPIO_62] = RTK_PIN_CONFIG(gpio_62, 0x6c, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1471. [RTD1319D_ISO_GPIO_63] = RTK_PIN_CONFIG(gpio_63, 0x6c, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
  1472. [RTD1319D_ISO_GPIO_64] = RTK_PIN_CONFIG(gpio_64, 0x6c, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
  1473. [RTD1319D_ISO_GPIO_7] = RTK_PIN_CONFIG(gpio_7, 0x6c, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
  1474. [RTD1319D_ISO_GPIO_16] = RTK_PIN_CONFIG(gpio_16, 0x6c, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
  1475. [RTD1319D_ISO_GPIO_17] = RTK_PIN_CONFIG(gpio_17, 0x70, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1476. [RTD1319D_ISO_GPIO_21] = RTK_PIN_CONFIG(gpio_21, 0x70, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1477. [RTD1319D_ISO_GPIO_23] = RTK_PIN_CONFIG(gpio_23, 0x70, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
  1478. [RTD1319D_ISO_GPIO_50] = RTK_PIN_CONFIG(gpio_50, 0x70, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
  1479. [RTD1319D_ISO_HIF_EN] = RTK_PIN_CONFIG(hif_en, 0x74, 0, 0, 1, NA, 2, 12, NA),
  1480. [RTD1319D_ISO_HIF_DATA] = RTK_PIN_CONFIG(hif_data, 0x74, 13, 0, 1, NA, 2, 12, NA),
  1481. [RTD1319D_ISO_GPIO_33] = RTK_PIN_CONFIG(gpio_33, 0x78, 0, 0, 1, NA, 2, 12, NA),
  1482. [RTD1319D_ISO_GPIO_32] = RTK_PIN_CONFIG(gpio_32, 0x78, 13, 0, 1, NA, 2, 12, NA),
  1483. [RTD1319D_ISO_HIF_CLK] = RTK_PIN_CONFIG(hif_clk, 0x7c, 0, 0, 1, NA, 2, 12, NA),
  1484. [RTD1319D_ISO_HIF_RDY] = RTK_PIN_CONFIG(hif_rdy, 0x7c, 13, 0, 1, NA, 2, 12, NA),
  1485. [RTD1319D_ISO_GPIO_14] = RTK_PIN_CONFIG(gpio_14, 0x7c, 26, 1, 2, 0, 3, 4, PADDRI_4_8),
  1486. [RTD1319D_ISO_GPIO_15] = RTK_PIN_CONFIG(gpio_15, 0x80, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1487. [RTD1319D_ISO_GPIO_25] = RTK_PIN_CONFIG(gpio_25, 0x80, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1488. [RTD1319D_ISO_GPIO_26] = RTK_PIN_CONFIG(gpio_26, 0x80, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
  1489. [RTD1319D_ISO_GPIO_27] = RTK_PIN_CONFIG(gpio_27, 0x80, 16, 1, 2, 0, 3, 4, PADDRI_4_8),
  1490. [RTD1319D_ISO_GPIO_28] = RTK_PIN_CONFIG(gpio_28, 0x80, 22, 1, 2, 0, 3, 4, PADDRI_4_8),
  1491. [RTD1319D_ISO_GPIO_30] = RTK_PIN_CONFIG(gpio_30, 0x84, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1492. [RTD1319D_ISO_GPIO_34] = RTK_PIN_CONFIG(gpio_34, 0x84, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1493. [RTD1319D_ISO_GPIO_35] = RTK_PIN_CONFIG(gpio_35, 0x84, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
  1494. [RTD1319D_ISO_UR0_TX] = RTK_PIN_CONFIG(ur0_tx, 0x84, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
  1495. [RTD1319D_ISO_UR0_RX] = RTK_PIN_CONFIG(ur0_rx, 0x84, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
  1496. [RTD1319D_ISO_GPIO_48] = RTK_PIN_CONFIG(gpio_48, 0x84, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
  1497. [RTD1319D_ISO_GPIO_49] = RTK_PIN_CONFIG(gpio_49, 0x88, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
  1498. [RTD1319D_ISO_GPIO_52] = RTK_PIN_CONFIG(gpio_52, 0x88, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
  1499. [RTD1319D_ISO_GPIO_53] = RTK_PIN_CONFIG(gpio_53, 0x88, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
  1500. };
  1501. static const struct rtd_pin_sconfig_desc rtd1319d_iso_sconfigs[] = {
  1502. RTK_PIN_SCONFIG(gpio_40, 0x3c, 7, 3, 10, 3, 13, 3),
  1503. RTK_PIN_SCONFIG(gpio_41, 0x3c, 20, 3, 23, 3, 26, 3),
  1504. RTK_PIN_SCONFIG(gpio_42, 0x40, 3, 3, 6, 3, 9, 3),
  1505. RTK_PIN_SCONFIG(gpio_43, 0x40, 16, 3, 19, 3, 22, 3),
  1506. RTK_PIN_SCONFIG(gpio_44, 0x44, 3, 3, 6, 3, 9, 3),
  1507. RTK_PIN_SCONFIG(gpio_45, 0x44, 16, 3, 19, 3, 22, 3),
  1508. RTK_PIN_SCONFIG(emmc_data_0, 0x48, 3, 3, 6, 3, 9, 3),
  1509. RTK_PIN_SCONFIG(emmc_data_1, 0x48, 16, 3, 19, 3, 22, 3),
  1510. RTK_PIN_SCONFIG(emmc_data_2, 0x4c, 3, 3, 6, 3, 9, 3),
  1511. RTK_PIN_SCONFIG(emmc_data_3, 0x4c, 16, 3, 19, 3, 22, 3),
  1512. RTK_PIN_SCONFIG(emmc_data_4, 0x50, 3, 3, 6, 3, 9, 3),
  1513. RTK_PIN_SCONFIG(emmc_data_5, 0x50, 16, 3, 19, 3, 22, 3),
  1514. RTK_PIN_SCONFIG(emmc_data_6, 0x54, 3, 3, 6, 3, 9, 3),
  1515. RTK_PIN_SCONFIG(emmc_data_7, 0x54, 16, 3, 19, 3, 22, 3),
  1516. RTK_PIN_SCONFIG(emmc_dd_sb, 0x58, 3, 3, 6, 3, 9, 3),
  1517. RTK_PIN_SCONFIG(emmc_rst_n, 0x58, 16, 3, 19, 3, 22, 3),
  1518. RTK_PIN_SCONFIG(emmc_cmd, 0x5c, 3, 3, 6, 3, 9, 3),
  1519. RTK_PIN_SCONFIG(emmc_clk, 0x5c, 17, 3, 20, 3, 23, 3),
  1520. RTK_PIN_SCONFIG(gpio_80, 0x60, 3, 3, 6, 3, 9, 3),
  1521. RTK_PIN_SCONFIG(gpio_78, 0x60, 16, 3, 19, 3, 22, 3),
  1522. RTK_PIN_SCONFIG(gpio_79, 0x64, 3, 3, 6, 3, 9, 3),
  1523. RTK_PIN_SCONFIG(gpio_81, 0x64, 16, 3, 19, 3, 22, 3),
  1524. RTK_PIN_SCONFIG(hif_en, 0x74, 3, 3, 6, 3, 9, 3),
  1525. RTK_PIN_SCONFIG(hif_data, 0x74, 16, 3, 19, 3, 22, 3),
  1526. RTK_PIN_SCONFIG(gpio_33, 0x78, 3, 3, 6, 3, 9, 3),
  1527. RTK_PIN_SCONFIG(gpio_32, 0x78, 16, 3, 19, 3, 22, 3),
  1528. RTK_PIN_SCONFIG(hif_clk, 0x7c, 3, 3, 6, 3, 9, 3),
  1529. RTK_PIN_SCONFIG(hif_rdy, 0x7c, 16, 3, 19, 3, 22, 3),
  1530. };
  1531. static const struct rtd_pinctrl_desc rtd1319d_iso_pinctrl_desc = {
  1532. .pins = rtd1319d_iso_pins,
  1533. .num_pins = ARRAY_SIZE(rtd1319d_iso_pins),
  1534. .groups = rtd1319d_pin_groups,
  1535. .num_groups = ARRAY_SIZE(rtd1319d_pin_groups),
  1536. .functions = rtd1319d_pin_functions,
  1537. .num_functions = ARRAY_SIZE(rtd1319d_pin_functions),
  1538. .muxes = rtd1319d_iso_muxes,
  1539. .num_muxes = ARRAY_SIZE(rtd1319d_iso_muxes),
  1540. .configs = rtd1319d_iso_configs,
  1541. .num_configs = ARRAY_SIZE(rtd1319d_iso_configs),
  1542. .sconfigs = rtd1319d_iso_sconfigs,
  1543. .num_sconfigs = ARRAY_SIZE(rtd1319d_iso_sconfigs),
  1544. };
  1545. static int rtd1319d_pinctrl_probe(struct platform_device *pdev)
  1546. {
  1547. return rtd_pinctrl_probe(pdev, &rtd1319d_iso_pinctrl_desc);
  1548. }
  1549. static const struct of_device_id rtd1319d_pinctrl_of_match[] = {
  1550. { .compatible = "realtek,rtd1319d-pinctrl", },
  1551. {},
  1552. };
  1553. MODULE_DEVICE_TABLE(of, rtd1319d_pinctrl_of_match);
  1554. static struct platform_driver rtd1319d_pinctrl_driver = {
  1555. .driver = {
  1556. .name = "rtd1319d-pinctrl",
  1557. .of_match_table = rtd1319d_pinctrl_of_match,
  1558. },
  1559. .probe = rtd1319d_pinctrl_probe,
  1560. };
  1561. static int __init rtd1319d_pinctrl_init(void)
  1562. {
  1563. return platform_driver_register(&rtd1319d_pinctrl_driver);
  1564. }
  1565. arch_initcall(rtd1319d_pinctrl_init);
  1566. static void __exit rtd1319d_pinctrl_exit(void)
  1567. {
  1568. platform_driver_unregister(&rtd1319d_pinctrl_driver);
  1569. }
  1570. module_exit(rtd1319d_pinctrl_exit);
  1571. MODULE_LICENSE("GPL");
  1572. MODULE_AUTHOR("Realtek Semiconductor Corporation");
  1573. MODULE_DESCRIPTION("Realtek DHC SoC RTD1319D pinctrl driver");