pinctrl-s32g2.c 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * NXP S32G pinctrl driver
  4. *
  5. * Copyright 2015-2016 Freescale Semiconductor, Inc.
  6. * Copyright 2017-2018, 2020-2022 NXP
  7. * Copyright (C) 2022 SUSE LLC
  8. */
  9. #include <linux/err.h>
  10. #include <linux/init.h>
  11. #include <linux/io.h>
  12. #include <linux/module.h>
  13. #include <linux/of.h>
  14. #include <linux/platform_device.h>
  15. #include <linux/pinctrl/pinctrl.h>
  16. #include "pinctrl-s32.h"
  17. enum s32_pins {
  18. S32G_MSCR_PA_00 = 0,
  19. S32G_MSCR_PA_01 = 1,
  20. S32G_MSCR_PA_02 = 2,
  21. S32G_MSCR_PA_03 = 3,
  22. S32G_MSCR_PA_04 = 4,
  23. S32G_MSCR_PA_05 = 5,
  24. S32G_MSCR_PA_06 = 6,
  25. S32G_MSCR_PA_07 = 7,
  26. S32G_MSCR_PA_08 = 8,
  27. S32G_MSCR_PA_09 = 9,
  28. S32G_MSCR_PA_10 = 10,
  29. S32G_MSCR_PA_11 = 11,
  30. S32G_MSCR_PA_12 = 12,
  31. S32G_MSCR_PA_13 = 13,
  32. S32G_MSCR_PA_14 = 14,
  33. S32G_MSCR_PA_15 = 15,
  34. S32G_MSCR_PB_00 = 16,
  35. S32G_MSCR_PB_01 = 17,
  36. S32G_MSCR_PB_02 = 18,
  37. S32G_MSCR_PB_03 = 19,
  38. S32G_MSCR_PB_04 = 20,
  39. S32G_MSCR_PB_05 = 21,
  40. S32G_MSCR_PB_06 = 22,
  41. S32G_MSCR_PB_07 = 23,
  42. S32G_MSCR_PB_08 = 24,
  43. S32G_MSCR_PB_09 = 25,
  44. S32G_MSCR_PB_10 = 26,
  45. S32G_MSCR_PB_11 = 27,
  46. S32G_MSCR_PB_12 = 28,
  47. S32G_MSCR_PB_13 = 29,
  48. S32G_MSCR_PB_14 = 30,
  49. S32G_MSCR_PB_15 = 31,
  50. S32G_MSCR_PC_00 = 32,
  51. S32G_MSCR_PC_01 = 33,
  52. S32G_MSCR_PC_02 = 34,
  53. S32G_MSCR_PC_03 = 35,
  54. S32G_MSCR_PC_04 = 36,
  55. S32G_MSCR_PC_05 = 37,
  56. S32G_MSCR_PC_06 = 38,
  57. S32G_MSCR_PC_07 = 39,
  58. S32G_MSCR_PC_08 = 40,
  59. S32G_MSCR_PC_09 = 41,
  60. S32G_MSCR_PC_10 = 42,
  61. S32G_MSCR_PC_11 = 43,
  62. S32G_MSCR_PC_12 = 44,
  63. S32G_MSCR_PC_13 = 45,
  64. S32G_MSCR_PC_14 = 46,
  65. S32G_MSCR_PC_15 = 47,
  66. S32G_MSCR_PD_00 = 48,
  67. S32G_MSCR_PD_01 = 49,
  68. S32G_MSCR_PD_02 = 50,
  69. S32G_MSCR_PD_03 = 51,
  70. S32G_MSCR_PD_04 = 52,
  71. S32G_MSCR_PD_05 = 53,
  72. S32G_MSCR_PD_06 = 54,
  73. S32G_MSCR_PD_07 = 55,
  74. S32G_MSCR_PD_08 = 56,
  75. S32G_MSCR_PD_09 = 57,
  76. S32G_MSCR_PD_10 = 58,
  77. S32G_MSCR_PD_11 = 59,
  78. S32G_MSCR_PD_12 = 60,
  79. S32G_MSCR_PD_13 = 61,
  80. S32G_MSCR_PD_14 = 62,
  81. S32G_MSCR_PD_15 = 63,
  82. S32G_MSCR_PE_00 = 64,
  83. S32G_MSCR_PE_01 = 65,
  84. S32G_MSCR_PE_02 = 66,
  85. S32G_MSCR_PE_03 = 67,
  86. S32G_MSCR_PE_04 = 68,
  87. S32G_MSCR_PE_05 = 69,
  88. S32G_MSCR_PE_06 = 70,
  89. S32G_MSCR_PE_07 = 71,
  90. S32G_MSCR_PE_08 = 72,
  91. S32G_MSCR_PE_09 = 73,
  92. S32G_MSCR_PE_10 = 74,
  93. S32G_MSCR_PE_11 = 75,
  94. S32G_MSCR_PE_12 = 76,
  95. S32G_MSCR_PE_13 = 77,
  96. S32G_MSCR_PE_14 = 78,
  97. S32G_MSCR_PE_15 = 79,
  98. S32G_MSCR_PF_00 = 80,
  99. S32G_MSCR_PF_01 = 81,
  100. S32G_MSCR_PF_02 = 82,
  101. S32G_MSCR_PF_03 = 83,
  102. S32G_MSCR_PF_04 = 84,
  103. S32G_MSCR_PF_05 = 85,
  104. S32G_MSCR_PF_06 = 86,
  105. S32G_MSCR_PF_07 = 87,
  106. S32G_MSCR_PF_08 = 88,
  107. S32G_MSCR_PF_09 = 89,
  108. S32G_MSCR_PF_10 = 90,
  109. S32G_MSCR_PF_11 = 91,
  110. S32G_MSCR_PF_12 = 92,
  111. S32G_MSCR_PF_13 = 93,
  112. S32G_MSCR_PF_14 = 94,
  113. S32G_MSCR_PF_15 = 95,
  114. S32G_MSCR_PG_00 = 96,
  115. S32G_MSCR_PG_01 = 97,
  116. S32G_MSCR_PG_02 = 98,
  117. S32G_MSCR_PG_03 = 99,
  118. S32G_MSCR_PG_04 = 100,
  119. S32G_MSCR_PG_05 = 101,
  120. S32G_MSCR_PH_00 = 112,
  121. S32G_MSCR_PH_01 = 113,
  122. S32G_MSCR_PH_02 = 114,
  123. S32G_MSCR_PH_03 = 115,
  124. S32G_MSCR_PH_04 = 116,
  125. S32G_MSCR_PH_05 = 117,
  126. S32G_MSCR_PH_06 = 118,
  127. S32G_MSCR_PH_07 = 119,
  128. S32G_MSCR_PH_08 = 120,
  129. S32G_MSCR_PH_09 = 121,
  130. S32G_MSCR_PH_10 = 122,
  131. S32G_MSCR_PJ_00 = 144,
  132. S32G_MSCR_PJ_01 = 145,
  133. S32G_MSCR_PJ_02 = 146,
  134. S32G_MSCR_PJ_03 = 147,
  135. S32G_MSCR_PJ_04 = 148,
  136. S32G_MSCR_PJ_05 = 149,
  137. S32G_MSCR_PJ_06 = 150,
  138. S32G_MSCR_PJ_07 = 151,
  139. S32G_MSCR_PJ_08 = 152,
  140. S32G_MSCR_PJ_09 = 153,
  141. S32G_MSCR_PJ_10 = 154,
  142. S32G_MSCR_PJ_11 = 155,
  143. S32G_MSCR_PJ_12 = 156,
  144. S32G_MSCR_PJ_13 = 157,
  145. S32G_MSCR_PJ_14 = 158,
  146. S32G_MSCR_PJ_15 = 159,
  147. S32G_MSCR_PK_00 = 160,
  148. S32G_MSCR_PK_01 = 161,
  149. S32G_MSCR_PK_02 = 162,
  150. S32G_MSCR_PK_03 = 163,
  151. S32G_MSCR_PK_04 = 164,
  152. S32G_MSCR_PK_05 = 165,
  153. S32G_MSCR_PK_06 = 166,
  154. S32G_MSCR_PK_07 = 167,
  155. S32G_MSCR_PK_08 = 168,
  156. S32G_MSCR_PK_09 = 169,
  157. S32G_MSCR_PK_10 = 170,
  158. S32G_MSCR_PK_11 = 171,
  159. S32G_MSCR_PK_12 = 172,
  160. S32G_MSCR_PK_13 = 173,
  161. S32G_MSCR_PK_14 = 174,
  162. S32G_MSCR_PK_15 = 175,
  163. S32G_MSCR_PL_00 = 176,
  164. S32G_MSCR_PL_01 = 177,
  165. S32G_MSCR_PL_02 = 178,
  166. S32G_MSCR_PL_03 = 179,
  167. S32G_MSCR_PL_04 = 180,
  168. S32G_MSCR_PL_05 = 181,
  169. S32G_MSCR_PL_06 = 182,
  170. S32G_MSCR_PL_07 = 183,
  171. S32G_MSCR_PL_08 = 184,
  172. S32G_MSCR_PL_09 = 185,
  173. S32G_MSCR_PL_10 = 186,
  174. S32G_MSCR_PL_11 = 187,
  175. S32G_MSCR_PL_12 = 188,
  176. S32G_MSCR_PL_13 = 189,
  177. S32G_MSCR_PL_14 = 190,
  178. S32G_IMCR_QSPI_A_DATA0 = 540,
  179. S32G_IMCR_QSPI_A_DATA1 = 541,
  180. S32G_IMCR_QSPI_A_DATA2 = 542,
  181. S32G_IMCR_QSPI_A_DATA3 = 543,
  182. S32G_IMCR_QSPI_A_DATA4 = 544,
  183. S32G_IMCR_QSPI_A_DATA5 = 545,
  184. S32G_IMCR_QSPI_A_DATA6 = 546,
  185. S32G_IMCR_QSPI_A_DATA7 = 547,
  186. S32G_IMCR_QSPI_DQS_A = 548,
  187. S32G_IMCR_QSPI_B_DATA0 = 552,
  188. S32G_IMCR_QSPI_B_DATA1 = 554,
  189. S32G_IMCR_QSPI_B_DATA2 = 551,
  190. S32G_IMCR_QSPI_B_DATA3 = 553,
  191. S32G_IMCR_QSPI_B_DATA4 = 557,
  192. S32G_IMCR_QSPI_B_DATA5 = 550,
  193. S32G_IMCR_QSPI_B_DATA6 = 556,
  194. S32G_IMCR_QSPI_B_DATA7 = 555,
  195. S32G_IMCR_QSPI_DQS_B = 558,
  196. S32G_IMCR_BOOT_BOOTMOD0 = 560,
  197. S32G_IMCR_BOOT_BOOTMOD1 = 561,
  198. S32G_IMCR_I2C0_SCL = 566,
  199. S32G_IMCR_I2C0_SDA = 565,
  200. S32G_IMCR_LIN0_RX = 512,
  201. S32G_IMCR_USDHC_CMD = 515,
  202. S32G_IMCR_USDHC_DAT0 = 516,
  203. S32G_IMCR_USDHC_DAT1 = 517,
  204. S32G_IMCR_USDHC_DAT2 = 520,
  205. S32G_IMCR_USDHC_DAT3 = 521,
  206. S32G_IMCR_USDHC_DAT4 = 522,
  207. S32G_IMCR_USDHC_DAT5 = 523,
  208. S32G_IMCR_USDHC_DAT6 = 519,
  209. S32G_IMCR_USDHC_DAT7 = 518,
  210. S32G_IMCR_USDHC_DQS = 524,
  211. S32G_IMCR_CAN0_RXD = 513,
  212. S32G_IMCR_CAN1_RXD = 631,
  213. S32G_IMCR_CAN2_RXD = 632,
  214. S32G_IMCR_CAN3_RXD = 633,
  215. /* GMAC0 */
  216. S32G_IMCR_Ethernet_MDIO = 527,
  217. S32G_IMCR_Ethernet_CRS = 526,
  218. S32G_IMCR_Ethernet_COL = 525,
  219. S32G_IMCR_Ethernet_RX_D0 = 531,
  220. S32G_IMCR_Ethernet_RX_D1 = 532,
  221. S32G_IMCR_Ethernet_RX_D2 = 533,
  222. S32G_IMCR_Ethernet_RX_D3 = 534,
  223. S32G_IMCR_Ethernet_RX_ER = 528,
  224. S32G_IMCR_Ethernet_RX_CLK = 529,
  225. S32G_IMCR_Ethernet_RX_DV = 530,
  226. S32G_IMCR_Ethernet_TX_CLK = 538,
  227. S32G_IMCR_Ethernet_REF_CLK = 535,
  228. /* PFE EMAC 0 MII */
  229. /* PFE EMAC 1 MII */
  230. S32G_IMCR_PFE_EMAC_1_MDIO = 857,
  231. S32G_IMCR_PFE_EMAC_1_CRS = 856,
  232. S32G_IMCR_PFE_EMAC_1_COL = 855,
  233. S32G_IMCR_PFE_EMAC_1_RX_D0 = 861,
  234. S32G_IMCR_PFE_EMAC_1_RX_D1 = 862,
  235. S32G_IMCR_PFE_EMAC_1_RX_D2 = 863,
  236. S32G_IMCR_PFE_EMAC_1_RX_D3 = 864,
  237. S32G_IMCR_PFE_EMAC_1_RX_ER = 860,
  238. S32G_IMCR_PFE_EMAC_1_RX_CLK = 859,
  239. S32G_IMCR_PFE_EMAC_1_RX_DV = 865,
  240. S32G_IMCR_PFE_EMAC_1_TX_CLK = 866,
  241. S32G_IMCR_PFE_EMAC_1_REF_CLK = 858,
  242. /* PFE EMAC 2 MII */
  243. S32G_IMCR_PFE_EMAC_2_MDIO = 877,
  244. S32G_IMCR_PFE_EMAC_2_CRS = 876,
  245. S32G_IMCR_PFE_EMAC_2_COL = 875,
  246. S32G_IMCR_PFE_EMAC_2_RX_D0 = 881,
  247. S32G_IMCR_PFE_EMAC_2_RX_D1 = 882,
  248. S32G_IMCR_PFE_EMAC_2_RX_D2 = 883,
  249. S32G_IMCR_PFE_EMAC_2_RX_D3 = 884,
  250. S32G_IMCR_PFE_EMAC_2_RX_ER = 880,
  251. S32G_IMCR_PFE_EMAC_2_RX_CLK = 879,
  252. S32G_IMCR_PFE_EMAC_2_RX_DV = 885,
  253. S32G_IMCR_PFE_EMAC_2_TX_CLK = 886,
  254. S32G_IMCR_PFE_EMAC_2_REF_CLK = 878,
  255. S32G_IMCR_FlexRay0_A_RX = 785,
  256. S32G_IMCR_FlexRay0_B_RX = 786,
  257. S32G_IMCR_FlexTimer0_CH0 = 655,
  258. S32G_IMCR_FlexTimer1_CH0 = 665,
  259. S32G_IMCR_FlexTimer0_CH1 = 656,
  260. S32G_IMCR_FlexTimer1_CH1 = 666,
  261. S32G_IMCR_FlexTimer0_CH2 = 657,
  262. S32G_IMCR_FlexTimer1_CH2 = 667,
  263. S32G_IMCR_FlexTimer0_CH3 = 658,
  264. S32G_IMCR_FlexTimer1_CH3 = 668,
  265. S32G_IMCR_FlexTimer0_CH4 = 659,
  266. S32G_IMCR_FlexTimer1_CH4 = 669,
  267. S32G_IMCR_FlexTimer0_CH5 = 660,
  268. S32G_IMCR_FlexTimer1_CH5 = 670,
  269. S32G_IMCR_FlexTimer0_EXTCLK = 661,
  270. S32G_IMCR_FlexTimer1_EXTCLK = 671,
  271. S32G_IMCR_I2C1_SCL = 717,
  272. S32G_IMCR_I2C1_SDA = 718,
  273. S32G_IMCR_I2C2_SCL = 719,
  274. S32G_IMCR_I2C2_SDA = 720,
  275. S32G_IMCR_I2C3_SCL = 721,
  276. S32G_IMCR_I2C3_SDA = 722,
  277. S32G_IMCR_I2C4_SCL = 723,
  278. S32G_IMCR_I2C4_SDA = 724,
  279. S32G_IMCR_LIN1_RX = 736,
  280. S32G_IMCR_LIN2_RX = 737,
  281. S32G_IMCR_DSPI0_PCS0 = 980,
  282. S32G_IMCR_DSPI0_SCK = 981,
  283. S32G_IMCR_DSPI0_SIN = 982,
  284. S32G_IMCR_DSPI1_PCS0 = 985,
  285. S32G_IMCR_DSPI1_SCK = 986,
  286. S32G_IMCR_DSPI1_SIN = 987,
  287. S32G_IMCR_DSPI2_PCS0 = 990,
  288. S32G_IMCR_DSPI2_SCK = 991,
  289. S32G_IMCR_DSPI2_SIN = 992,
  290. S32G_IMCR_DSPI3_PCS0 = 995,
  291. S32G_IMCR_DSPI3_SCK = 996,
  292. S32G_IMCR_DSPI3_SIN = 997,
  293. S32G_IMCR_DSPI4_PCS0 = 1000,
  294. S32G_IMCR_DSPI4_SCK = 1001,
  295. S32G_IMCR_DSPI4_SIN = 1002,
  296. S32G_IMCR_DSPI5_PCS0 = 1005,
  297. S32G_IMCR_DSPI5_SCK = 1006,
  298. S32G_IMCR_DSPI5_SIN = 1007,
  299. S32G_IMCR_LLCE_CAN0_RXD = 745,
  300. S32G_IMCR_LLCE_CAN1_RXD = 746,
  301. S32G_IMCR_LLCE_CAN2_RXD = 747,
  302. S32G_IMCR_LLCE_CAN3_RXD = 748,
  303. S32G_IMCR_LLCE_CAN4_RXD = 749,
  304. S32G_IMCR_LLCE_CAN5_RXD = 750,
  305. S32G_IMCR_LLCE_CAN6_RXD = 751,
  306. S32G_IMCR_LLCE_CAN7_RXD = 752,
  307. S32G_IMCR_LLCE_CAN8_RXD = 753,
  308. S32G_IMCR_LLCE_CAN9_RXD = 754,
  309. S32G_IMCR_LLCE_CAN10_RXD = 755,
  310. S32G_IMCR_LLCE_CAN11_RXD = 756,
  311. S32G_IMCR_LLCE_CAN12_RXD = 757,
  312. S32G_IMCR_LLCE_CAN13_RXD = 758,
  313. S32G_IMCR_LLCE_CAN14_RXD = 759,
  314. S32G_IMCR_LLCE_CAN15_RXD = 760,
  315. S32G_IMCR_USB_CLK = 895,
  316. S32G_IMCR_USB_DATA0 = 896,
  317. S32G_IMCR_USB_DATA1 = 897,
  318. S32G_IMCR_USB_DATA2 = 898,
  319. S32G_IMCR_USB_DATA3 = 899,
  320. S32G_IMCR_USB_DATA4 = 900,
  321. S32G_IMCR_USB_DATA5 = 901,
  322. S32G_IMCR_USB_DATA6 = 902,
  323. S32G_IMCR_USB_DATA7 = 903,
  324. S32G_IMCR_USB_DIR = 904,
  325. S32G_IMCR_USB_NXT = 905,
  326. S32G_IMCR_SIUL_EIRQ0 = 910,
  327. S32G_IMCR_SIUL_EIRQ1 = 911,
  328. S32G_IMCR_SIUL_EIRQ2 = 912,
  329. S32G_IMCR_SIUL_EIRQ3 = 913,
  330. S32G_IMCR_SIUL_EIRQ4 = 914,
  331. S32G_IMCR_SIUL_EIRQ5 = 915,
  332. S32G_IMCR_SIUL_EIRQ6 = 916,
  333. S32G_IMCR_SIUL_EIRQ7 = 917,
  334. S32G_IMCR_SIUL_EIRQ8 = 918,
  335. S32G_IMCR_SIUL_EIRQ9 = 919,
  336. S32G_IMCR_SIUL_EIRQ10 = 920,
  337. S32G_IMCR_SIUL_EIRQ11 = 921,
  338. S32G_IMCR_SIUL_EIRQ12 = 922,
  339. S32G_IMCR_SIUL_EIRQ13 = 923,
  340. S32G_IMCR_SIUL_EIRQ14 = 924,
  341. S32G_IMCR_SIUL_EIRQ15 = 925,
  342. S32G_IMCR_SIUL_EIRQ16 = 926,
  343. S32G_IMCR_SIUL_EIRQ17 = 927,
  344. S32G_IMCR_SIUL_EIRQ18 = 928,
  345. S32G_IMCR_SIUL_EIRQ19 = 929,
  346. S32G_IMCR_SIUL_EIRQ20 = 930,
  347. S32G_IMCR_SIUL_EIRQ21 = 931,
  348. S32G_IMCR_SIUL_EIRQ22 = 932,
  349. S32G_IMCR_SIUL_EIRQ23 = 933,
  350. S32G_IMCR_SIUL_EIRQ24 = 934,
  351. S32G_IMCR_SIUL_EIRQ25 = 935,
  352. S32G_IMCR_SIUL_EIRQ26 = 936,
  353. S32G_IMCR_SIUL_EIRQ27 = 937,
  354. S32G_IMCR_SIUL_EIRQ28 = 938,
  355. S32G_IMCR_SIUL_EIRQ29 = 939,
  356. S32G_IMCR_SIUL_EIRQ30 = 940,
  357. S32G_IMCR_SIUL_EIRQ31 = 941,
  358. };
  359. /* Pad names for the pinmux subsystem */
  360. static const struct pinctrl_pin_desc s32_pinctrl_pads_siul2[] = {
  361. /* SIUL2_0 pins. */
  362. S32_PINCTRL_PIN(S32G_MSCR_PA_00),
  363. S32_PINCTRL_PIN(S32G_MSCR_PA_01),
  364. S32_PINCTRL_PIN(S32G_MSCR_PA_02),
  365. S32_PINCTRL_PIN(S32G_MSCR_PA_03),
  366. S32_PINCTRL_PIN(S32G_MSCR_PA_04),
  367. S32_PINCTRL_PIN(S32G_MSCR_PA_05),
  368. S32_PINCTRL_PIN(S32G_MSCR_PA_06),
  369. S32_PINCTRL_PIN(S32G_MSCR_PA_07),
  370. S32_PINCTRL_PIN(S32G_MSCR_PA_08),
  371. S32_PINCTRL_PIN(S32G_MSCR_PA_09),
  372. S32_PINCTRL_PIN(S32G_MSCR_PA_10),
  373. S32_PINCTRL_PIN(S32G_MSCR_PA_11),
  374. S32_PINCTRL_PIN(S32G_MSCR_PA_12),
  375. S32_PINCTRL_PIN(S32G_MSCR_PA_13),
  376. S32_PINCTRL_PIN(S32G_MSCR_PA_14),
  377. S32_PINCTRL_PIN(S32G_MSCR_PA_15),
  378. S32_PINCTRL_PIN(S32G_MSCR_PB_00),
  379. S32_PINCTRL_PIN(S32G_MSCR_PB_01),
  380. S32_PINCTRL_PIN(S32G_MSCR_PB_02),
  381. S32_PINCTRL_PIN(S32G_MSCR_PB_03),
  382. S32_PINCTRL_PIN(S32G_MSCR_PB_04),
  383. S32_PINCTRL_PIN(S32G_MSCR_PB_05),
  384. S32_PINCTRL_PIN(S32G_MSCR_PB_06),
  385. S32_PINCTRL_PIN(S32G_MSCR_PB_07),
  386. S32_PINCTRL_PIN(S32G_MSCR_PB_08),
  387. S32_PINCTRL_PIN(S32G_MSCR_PB_09),
  388. S32_PINCTRL_PIN(S32G_MSCR_PB_10),
  389. S32_PINCTRL_PIN(S32G_MSCR_PB_11),
  390. S32_PINCTRL_PIN(S32G_MSCR_PB_12),
  391. S32_PINCTRL_PIN(S32G_MSCR_PB_13),
  392. S32_PINCTRL_PIN(S32G_MSCR_PB_14),
  393. S32_PINCTRL_PIN(S32G_MSCR_PB_15),
  394. S32_PINCTRL_PIN(S32G_MSCR_PC_00),
  395. S32_PINCTRL_PIN(S32G_MSCR_PC_01),
  396. S32_PINCTRL_PIN(S32G_MSCR_PC_02),
  397. S32_PINCTRL_PIN(S32G_MSCR_PC_03),
  398. S32_PINCTRL_PIN(S32G_MSCR_PC_04),
  399. S32_PINCTRL_PIN(S32G_MSCR_PC_05),
  400. S32_PINCTRL_PIN(S32G_MSCR_PC_06),
  401. S32_PINCTRL_PIN(S32G_MSCR_PC_07),
  402. S32_PINCTRL_PIN(S32G_MSCR_PC_08),
  403. S32_PINCTRL_PIN(S32G_MSCR_PC_09),
  404. S32_PINCTRL_PIN(S32G_MSCR_PC_10),
  405. S32_PINCTRL_PIN(S32G_MSCR_PC_11),
  406. S32_PINCTRL_PIN(S32G_MSCR_PC_12),
  407. S32_PINCTRL_PIN(S32G_MSCR_PC_13),
  408. S32_PINCTRL_PIN(S32G_MSCR_PC_14),
  409. S32_PINCTRL_PIN(S32G_MSCR_PC_15),
  410. S32_PINCTRL_PIN(S32G_MSCR_PD_00),
  411. S32_PINCTRL_PIN(S32G_MSCR_PD_01),
  412. S32_PINCTRL_PIN(S32G_MSCR_PD_02),
  413. S32_PINCTRL_PIN(S32G_MSCR_PD_03),
  414. S32_PINCTRL_PIN(S32G_MSCR_PD_04),
  415. S32_PINCTRL_PIN(S32G_MSCR_PD_05),
  416. S32_PINCTRL_PIN(S32G_MSCR_PD_06),
  417. S32_PINCTRL_PIN(S32G_MSCR_PD_07),
  418. S32_PINCTRL_PIN(S32G_MSCR_PD_08),
  419. S32_PINCTRL_PIN(S32G_MSCR_PD_09),
  420. S32_PINCTRL_PIN(S32G_MSCR_PD_10),
  421. S32_PINCTRL_PIN(S32G_MSCR_PD_11),
  422. S32_PINCTRL_PIN(S32G_MSCR_PD_12),
  423. S32_PINCTRL_PIN(S32G_MSCR_PD_13),
  424. S32_PINCTRL_PIN(S32G_MSCR_PD_14),
  425. S32_PINCTRL_PIN(S32G_MSCR_PD_15),
  426. S32_PINCTRL_PIN(S32G_MSCR_PE_00),
  427. S32_PINCTRL_PIN(S32G_MSCR_PE_01),
  428. S32_PINCTRL_PIN(S32G_MSCR_PE_02),
  429. S32_PINCTRL_PIN(S32G_MSCR_PE_03),
  430. S32_PINCTRL_PIN(S32G_MSCR_PE_04),
  431. S32_PINCTRL_PIN(S32G_MSCR_PE_05),
  432. S32_PINCTRL_PIN(S32G_MSCR_PE_06),
  433. S32_PINCTRL_PIN(S32G_MSCR_PE_07),
  434. S32_PINCTRL_PIN(S32G_MSCR_PE_08),
  435. S32_PINCTRL_PIN(S32G_MSCR_PE_09),
  436. S32_PINCTRL_PIN(S32G_MSCR_PE_10),
  437. S32_PINCTRL_PIN(S32G_MSCR_PE_11),
  438. S32_PINCTRL_PIN(S32G_MSCR_PE_12),
  439. S32_PINCTRL_PIN(S32G_MSCR_PE_13),
  440. S32_PINCTRL_PIN(S32G_MSCR_PE_14),
  441. S32_PINCTRL_PIN(S32G_MSCR_PE_15),
  442. S32_PINCTRL_PIN(S32G_MSCR_PF_00),
  443. S32_PINCTRL_PIN(S32G_MSCR_PF_01),
  444. S32_PINCTRL_PIN(S32G_MSCR_PF_02),
  445. S32_PINCTRL_PIN(S32G_MSCR_PF_03),
  446. S32_PINCTRL_PIN(S32G_MSCR_PF_04),
  447. S32_PINCTRL_PIN(S32G_MSCR_PF_05),
  448. S32_PINCTRL_PIN(S32G_MSCR_PF_06),
  449. S32_PINCTRL_PIN(S32G_MSCR_PF_07),
  450. S32_PINCTRL_PIN(S32G_MSCR_PF_08),
  451. S32_PINCTRL_PIN(S32G_MSCR_PF_09),
  452. S32_PINCTRL_PIN(S32G_MSCR_PF_10),
  453. S32_PINCTRL_PIN(S32G_MSCR_PF_11),
  454. S32_PINCTRL_PIN(S32G_MSCR_PF_12),
  455. S32_PINCTRL_PIN(S32G_MSCR_PF_13),
  456. S32_PINCTRL_PIN(S32G_MSCR_PF_14),
  457. S32_PINCTRL_PIN(S32G_MSCR_PF_15),
  458. S32_PINCTRL_PIN(S32G_MSCR_PG_00),
  459. S32_PINCTRL_PIN(S32G_MSCR_PG_01),
  460. S32_PINCTRL_PIN(S32G_MSCR_PG_02),
  461. S32_PINCTRL_PIN(S32G_MSCR_PG_03),
  462. S32_PINCTRL_PIN(S32G_MSCR_PG_04),
  463. S32_PINCTRL_PIN(S32G_MSCR_PG_05),
  464. S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA0),
  465. S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA1),
  466. S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA2),
  467. S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA3),
  468. S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA4),
  469. S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA5),
  470. S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA6),
  471. S32_PINCTRL_PIN(S32G_IMCR_QSPI_A_DATA7),
  472. S32_PINCTRL_PIN(S32G_IMCR_QSPI_DQS_A),
  473. S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA0),
  474. S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA1),
  475. S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA2),
  476. S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA3),
  477. S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA4),
  478. S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA5),
  479. S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA6),
  480. S32_PINCTRL_PIN(S32G_IMCR_QSPI_B_DATA7),
  481. S32_PINCTRL_PIN(S32G_IMCR_QSPI_DQS_B),
  482. S32_PINCTRL_PIN(S32G_IMCR_I2C0_SCL),
  483. S32_PINCTRL_PIN(S32G_IMCR_I2C0_SDA),
  484. S32_PINCTRL_PIN(S32G_IMCR_LIN0_RX),
  485. S32_PINCTRL_PIN(S32G_IMCR_USDHC_CMD),
  486. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT0),
  487. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT1),
  488. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT2),
  489. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT3),
  490. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT4),
  491. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT5),
  492. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT6),
  493. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DAT7),
  494. S32_PINCTRL_PIN(S32G_IMCR_USDHC_DQS),
  495. S32_PINCTRL_PIN(S32G_IMCR_CAN0_RXD),
  496. /* GMAC0 */
  497. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_MDIO),
  498. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_CRS),
  499. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_COL),
  500. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_D0),
  501. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_D1),
  502. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_D2),
  503. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_D3),
  504. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_ER),
  505. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_CLK),
  506. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_RX_DV),
  507. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_TX_CLK),
  508. S32_PINCTRL_PIN(S32G_IMCR_Ethernet_REF_CLK),
  509. /* SIUL2_1 pins. */
  510. S32_PINCTRL_PIN(S32G_MSCR_PH_00),
  511. S32_PINCTRL_PIN(S32G_MSCR_PH_01),
  512. S32_PINCTRL_PIN(S32G_MSCR_PH_02),
  513. S32_PINCTRL_PIN(S32G_MSCR_PH_03),
  514. S32_PINCTRL_PIN(S32G_MSCR_PH_04),
  515. S32_PINCTRL_PIN(S32G_MSCR_PH_05),
  516. S32_PINCTRL_PIN(S32G_MSCR_PH_06),
  517. S32_PINCTRL_PIN(S32G_MSCR_PH_07),
  518. S32_PINCTRL_PIN(S32G_MSCR_PH_08),
  519. S32_PINCTRL_PIN(S32G_MSCR_PH_09),
  520. S32_PINCTRL_PIN(S32G_MSCR_PH_10),
  521. S32_PINCTRL_PIN(S32G_MSCR_PJ_00),
  522. S32_PINCTRL_PIN(S32G_MSCR_PJ_01),
  523. S32_PINCTRL_PIN(S32G_MSCR_PJ_02),
  524. S32_PINCTRL_PIN(S32G_MSCR_PJ_03),
  525. S32_PINCTRL_PIN(S32G_MSCR_PJ_04),
  526. S32_PINCTRL_PIN(S32G_MSCR_PJ_05),
  527. S32_PINCTRL_PIN(S32G_MSCR_PJ_06),
  528. S32_PINCTRL_PIN(S32G_MSCR_PJ_07),
  529. S32_PINCTRL_PIN(S32G_MSCR_PJ_08),
  530. S32_PINCTRL_PIN(S32G_MSCR_PJ_09),
  531. S32_PINCTRL_PIN(S32G_MSCR_PJ_10),
  532. S32_PINCTRL_PIN(S32G_MSCR_PJ_11),
  533. S32_PINCTRL_PIN(S32G_MSCR_PJ_12),
  534. S32_PINCTRL_PIN(S32G_MSCR_PJ_13),
  535. S32_PINCTRL_PIN(S32G_MSCR_PJ_14),
  536. S32_PINCTRL_PIN(S32G_MSCR_PJ_15),
  537. S32_PINCTRL_PIN(S32G_MSCR_PK_00),
  538. S32_PINCTRL_PIN(S32G_MSCR_PK_01),
  539. S32_PINCTRL_PIN(S32G_MSCR_PK_02),
  540. S32_PINCTRL_PIN(S32G_MSCR_PK_03),
  541. S32_PINCTRL_PIN(S32G_MSCR_PK_04),
  542. S32_PINCTRL_PIN(S32G_MSCR_PK_05),
  543. S32_PINCTRL_PIN(S32G_MSCR_PK_06),
  544. S32_PINCTRL_PIN(S32G_MSCR_PK_07),
  545. S32_PINCTRL_PIN(S32G_MSCR_PK_08),
  546. S32_PINCTRL_PIN(S32G_MSCR_PK_09),
  547. S32_PINCTRL_PIN(S32G_MSCR_PK_10),
  548. S32_PINCTRL_PIN(S32G_MSCR_PK_11),
  549. S32_PINCTRL_PIN(S32G_MSCR_PK_12),
  550. S32_PINCTRL_PIN(S32G_MSCR_PK_13),
  551. S32_PINCTRL_PIN(S32G_MSCR_PK_14),
  552. S32_PINCTRL_PIN(S32G_MSCR_PK_15),
  553. S32_PINCTRL_PIN(S32G_MSCR_PL_00),
  554. S32_PINCTRL_PIN(S32G_MSCR_PL_01),
  555. S32_PINCTRL_PIN(S32G_MSCR_PL_02),
  556. S32_PINCTRL_PIN(S32G_MSCR_PL_03),
  557. S32_PINCTRL_PIN(S32G_MSCR_PL_04),
  558. S32_PINCTRL_PIN(S32G_MSCR_PL_05),
  559. S32_PINCTRL_PIN(S32G_MSCR_PL_06),
  560. S32_PINCTRL_PIN(S32G_MSCR_PL_07),
  561. S32_PINCTRL_PIN(S32G_MSCR_PL_08),
  562. S32_PINCTRL_PIN(S32G_MSCR_PL_09),
  563. S32_PINCTRL_PIN(S32G_MSCR_PL_10),
  564. S32_PINCTRL_PIN(S32G_MSCR_PL_11),
  565. S32_PINCTRL_PIN(S32G_MSCR_PL_12),
  566. S32_PINCTRL_PIN(S32G_MSCR_PL_13),
  567. S32_PINCTRL_PIN(S32G_MSCR_PL_14),
  568. S32_PINCTRL_PIN(S32G_IMCR_FlexRay0_A_RX),
  569. S32_PINCTRL_PIN(S32G_IMCR_FlexRay0_B_RX),
  570. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH0),
  571. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH0),
  572. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH1),
  573. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH1),
  574. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH2),
  575. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH2),
  576. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH3),
  577. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH3),
  578. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH4),
  579. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH4),
  580. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_CH5),
  581. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_CH5),
  582. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer0_EXTCLK),
  583. S32_PINCTRL_PIN(S32G_IMCR_FlexTimer1_EXTCLK),
  584. S32_PINCTRL_PIN(S32G_IMCR_I2C1_SCL),
  585. S32_PINCTRL_PIN(S32G_IMCR_I2C1_SDA),
  586. S32_PINCTRL_PIN(S32G_IMCR_I2C2_SCL),
  587. S32_PINCTRL_PIN(S32G_IMCR_I2C2_SDA),
  588. S32_PINCTRL_PIN(S32G_IMCR_I2C3_SCL),
  589. S32_PINCTRL_PIN(S32G_IMCR_I2C3_SDA),
  590. S32_PINCTRL_PIN(S32G_IMCR_I2C4_SCL),
  591. S32_PINCTRL_PIN(S32G_IMCR_I2C4_SDA),
  592. S32_PINCTRL_PIN(S32G_IMCR_LIN1_RX),
  593. S32_PINCTRL_PIN(S32G_IMCR_LIN2_RX),
  594. S32_PINCTRL_PIN(S32G_IMCR_DSPI0_PCS0),
  595. S32_PINCTRL_PIN(S32G_IMCR_DSPI0_SCK),
  596. S32_PINCTRL_PIN(S32G_IMCR_DSPI0_SIN),
  597. S32_PINCTRL_PIN(S32G_IMCR_DSPI1_PCS0),
  598. S32_PINCTRL_PIN(S32G_IMCR_DSPI1_SCK),
  599. S32_PINCTRL_PIN(S32G_IMCR_DSPI1_SIN),
  600. S32_PINCTRL_PIN(S32G_IMCR_DSPI2_PCS0),
  601. S32_PINCTRL_PIN(S32G_IMCR_DSPI2_SCK),
  602. S32_PINCTRL_PIN(S32G_IMCR_DSPI2_SIN),
  603. S32_PINCTRL_PIN(S32G_IMCR_DSPI3_PCS0),
  604. S32_PINCTRL_PIN(S32G_IMCR_DSPI3_SCK),
  605. S32_PINCTRL_PIN(S32G_IMCR_DSPI3_SIN),
  606. S32_PINCTRL_PIN(S32G_IMCR_DSPI4_PCS0),
  607. S32_PINCTRL_PIN(S32G_IMCR_DSPI4_SCK),
  608. S32_PINCTRL_PIN(S32G_IMCR_DSPI4_SIN),
  609. S32_PINCTRL_PIN(S32G_IMCR_DSPI5_PCS0),
  610. S32_PINCTRL_PIN(S32G_IMCR_DSPI5_SCK),
  611. S32_PINCTRL_PIN(S32G_IMCR_DSPI5_SIN),
  612. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN0_RXD),
  613. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN1_RXD),
  614. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN2_RXD),
  615. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN3_RXD),
  616. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN4_RXD),
  617. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN5_RXD),
  618. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN6_RXD),
  619. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN7_RXD),
  620. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN8_RXD),
  621. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN9_RXD),
  622. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN10_RXD),
  623. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN11_RXD),
  624. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN12_RXD),
  625. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN13_RXD),
  626. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN14_RXD),
  627. S32_PINCTRL_PIN(S32G_IMCR_LLCE_CAN15_RXD),
  628. S32_PINCTRL_PIN(S32G_IMCR_CAN1_RXD),
  629. S32_PINCTRL_PIN(S32G_IMCR_CAN2_RXD),
  630. S32_PINCTRL_PIN(S32G_IMCR_CAN3_RXD),
  631. S32_PINCTRL_PIN(S32G_IMCR_USB_CLK),
  632. S32_PINCTRL_PIN(S32G_IMCR_USB_DATA0),
  633. S32_PINCTRL_PIN(S32G_IMCR_USB_DATA1),
  634. S32_PINCTRL_PIN(S32G_IMCR_USB_DATA2),
  635. S32_PINCTRL_PIN(S32G_IMCR_USB_DATA3),
  636. S32_PINCTRL_PIN(S32G_IMCR_USB_DATA4),
  637. S32_PINCTRL_PIN(S32G_IMCR_USB_DATA5),
  638. S32_PINCTRL_PIN(S32G_IMCR_USB_DATA6),
  639. S32_PINCTRL_PIN(S32G_IMCR_USB_DATA7),
  640. S32_PINCTRL_PIN(S32G_IMCR_USB_DIR),
  641. S32_PINCTRL_PIN(S32G_IMCR_USB_NXT),
  642. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_MDIO),
  643. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_CRS),
  644. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_COL),
  645. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_D0),
  646. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_D1),
  647. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_D2),
  648. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_D3),
  649. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_ER),
  650. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_CLK),
  651. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_RX_DV),
  652. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_TX_CLK),
  653. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_1_REF_CLK),
  654. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_MDIO),
  655. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_CRS),
  656. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_COL),
  657. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_D0),
  658. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_D1),
  659. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_D2),
  660. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_D3),
  661. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_ER),
  662. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_CLK),
  663. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_RX_DV),
  664. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_TX_CLK),
  665. S32_PINCTRL_PIN(S32G_IMCR_PFE_EMAC_2_REF_CLK),
  666. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ0),
  667. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ1),
  668. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ2),
  669. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ3),
  670. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ4),
  671. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ5),
  672. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ6),
  673. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ7),
  674. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ8),
  675. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ9),
  676. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ10),
  677. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ11),
  678. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ12),
  679. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ13),
  680. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ14),
  681. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ15),
  682. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ16),
  683. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ17),
  684. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ18),
  685. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ19),
  686. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ20),
  687. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ21),
  688. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ22),
  689. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ23),
  690. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ24),
  691. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ25),
  692. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ26),
  693. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ27),
  694. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ28),
  695. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ29),
  696. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ30),
  697. S32_PINCTRL_PIN(S32G_IMCR_SIUL_EIRQ31),
  698. };
  699. static const struct s32_pin_range s32_pin_ranges_siul2[] = {
  700. /* MSCR pin ID ranges */
  701. S32_PIN_RANGE(0, 101),
  702. S32_PIN_RANGE(112, 122),
  703. S32_PIN_RANGE(144, 190),
  704. /* IMCR pin ID ranges */
  705. S32_PIN_RANGE(512, 595),
  706. S32_PIN_RANGE(631, 909),
  707. S32_PIN_RANGE(942, 1007),
  708. };
  709. static const struct s32_pinctrl_soc_data s32_pinctrl_data = {
  710. .pins = s32_pinctrl_pads_siul2,
  711. .npins = ARRAY_SIZE(s32_pinctrl_pads_siul2),
  712. .mem_pin_ranges = s32_pin_ranges_siul2,
  713. .mem_regions = ARRAY_SIZE(s32_pin_ranges_siul2),
  714. };
  715. static const struct of_device_id s32_pinctrl_of_match[] = {
  716. {
  717. .compatible = "nxp,s32g2-siul2-pinctrl",
  718. .data = &s32_pinctrl_data,
  719. },
  720. { /* sentinel */ }
  721. };
  722. MODULE_DEVICE_TABLE(of, s32_pinctrl_of_match);
  723. static int s32g_pinctrl_probe(struct platform_device *pdev)
  724. {
  725. const struct s32_pinctrl_soc_data *soc_data;
  726. soc_data = of_device_get_match_data(&pdev->dev);
  727. return s32_pinctrl_probe(pdev, soc_data);
  728. }
  729. static const struct dev_pm_ops s32g_pinctrl_pm_ops = {
  730. LATE_SYSTEM_SLEEP_PM_OPS(s32_pinctrl_suspend, s32_pinctrl_resume)
  731. };
  732. static struct platform_driver s32g_pinctrl_driver = {
  733. .driver = {
  734. .name = "s32g-siul2-pinctrl",
  735. .of_match_table = s32_pinctrl_of_match,
  736. .pm = pm_sleep_ptr(&s32g_pinctrl_pm_ops),
  737. .suppress_bind_attrs = true,
  738. },
  739. .probe = s32g_pinctrl_probe,
  740. };
  741. builtin_platform_driver(s32g_pinctrl_driver);
  742. MODULE_AUTHOR("Matthew Nunez <matthew.nunez@nxp.com>");
  743. MODULE_DESCRIPTION("NXP S32G pinctrl driver");
  744. MODULE_LICENSE("GPL");