pinctrl-imxrt1170.c 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright (C) 2022
  4. * Author(s): Jesse Taube <[email protected]>
  5. */
  6. #include <linux/err.h>
  7. #include <linux/init.h>
  8. #include <linux/of_device.h>
  9. #include <linux/pinctrl/pinctrl.h>
  10. #include <linux/platform_device.h>
  11. #include "pinctrl-imx.h"
  12. enum imxrt1170_pads {
  13. IMXRT1170_PAD_RESERVE0,
  14. IMXRT1170_PAD_RESERVE1,
  15. IMXRT1170_PAD_RESERVE2,
  16. IMXRT1170_PAD_RESERVE3,
  17. IMXRT1170_PAD_EMC_B1_00,
  18. IMXRT1170_PAD_EMC_B1_01,
  19. IMXRT1170_PAD_EMC_B1_02,
  20. IMXRT1170_PAD_EMC_B1_03,
  21. IMXRT1170_PAD_EMC_B1_04,
  22. IMXRT1170_PAD_EMC_B1_05,
  23. IMXRT1170_PAD_EMC_B1_06,
  24. IMXRT1170_PAD_EMC_B1_07,
  25. IMXRT1170_PAD_EMC_B1_08,
  26. IMXRT1170_PAD_EMC_B1_09,
  27. IMXRT1170_PAD_EMC_B1_10,
  28. IMXRT1170_PAD_EMC_B1_11,
  29. IMXRT1170_PAD_EMC_B1_12,
  30. IMXRT1170_PAD_EMC_B1_13,
  31. IMXRT1170_PAD_EMC_B1_14,
  32. IMXRT1170_PAD_EMC_B1_15,
  33. IMXRT1170_PAD_EMC_B1_16,
  34. IMXRT1170_PAD_EMC_B1_17,
  35. IMXRT1170_PAD_EMC_B1_18,
  36. IMXRT1170_PAD_EMC_B1_19,
  37. IMXRT1170_PAD_EMC_B1_20,
  38. IMXRT1170_PAD_EMC_B1_21,
  39. IMXRT1170_PAD_EMC_B1_22,
  40. IMXRT1170_PAD_EMC_B1_23,
  41. IMXRT1170_PAD_EMC_B1_24,
  42. IMXRT1170_PAD_EMC_B1_25,
  43. IMXRT1170_PAD_EMC_B1_26,
  44. IMXRT1170_PAD_EMC_B1_27,
  45. IMXRT1170_PAD_EMC_B1_28,
  46. IMXRT1170_PAD_EMC_B1_29,
  47. IMXRT1170_PAD_EMC_B1_30,
  48. IMXRT1170_PAD_EMC_B1_31,
  49. IMXRT1170_PAD_EMC_B1_32,
  50. IMXRT1170_PAD_EMC_B1_33,
  51. IMXRT1170_PAD_EMC_B1_34,
  52. IMXRT1170_PAD_EMC_B1_35,
  53. IMXRT1170_PAD_EMC_B1_36,
  54. IMXRT1170_PAD_EMC_B1_37,
  55. IMXRT1170_PAD_EMC_B1_38,
  56. IMXRT1170_PAD_EMC_B1_39,
  57. IMXRT1170_PAD_EMC_B1_40,
  58. IMXRT1170_PAD_EMC_B1_41,
  59. IMXRT1170_PAD_EMC_B2_00,
  60. IMXRT1170_PAD_EMC_B2_01,
  61. IMXRT1170_PAD_EMC_B2_02,
  62. IMXRT1170_PAD_EMC_B2_03,
  63. IMXRT1170_PAD_EMC_B2_04,
  64. IMXRT1170_PAD_EMC_B2_05,
  65. IMXRT1170_PAD_EMC_B2_06,
  66. IMXRT1170_PAD_EMC_B2_07,
  67. IMXRT1170_PAD_EMC_B2_08,
  68. IMXRT1170_PAD_EMC_B2_09,
  69. IMXRT1170_PAD_EMC_B2_10,
  70. IMXRT1170_PAD_EMC_B2_11,
  71. IMXRT1170_PAD_EMC_B2_12,
  72. IMXRT1170_PAD_EMC_B2_13,
  73. IMXRT1170_PAD_EMC_B2_14,
  74. IMXRT1170_PAD_EMC_B2_15,
  75. IMXRT1170_PAD_EMC_B2_16,
  76. IMXRT1170_PAD_EMC_B2_17,
  77. IMXRT1170_PAD_EMC_B2_18,
  78. IMXRT1170_PAD_EMC_B2_19,
  79. IMXRT1170_PAD_EMC_B2_20,
  80. IMXRT1170_PAD_AD_00,
  81. IMXRT1170_PAD_AD_01,
  82. IMXRT1170_PAD_AD_02,
  83. IMXRT1170_PAD_AD_03,
  84. IMXRT1170_PAD_AD_04,
  85. IMXRT1170_PAD_AD_05,
  86. IMXRT1170_PAD_AD_06,
  87. IMXRT1170_PAD_AD_07,
  88. IMXRT1170_PAD_AD_08,
  89. IMXRT1170_PAD_AD_09,
  90. IMXRT1170_PAD_AD_10,
  91. IMXRT1170_PAD_AD_11,
  92. IMXRT1170_PAD_AD_12,
  93. IMXRT1170_PAD_AD_13,
  94. IMXRT1170_PAD_AD_14,
  95. IMXRT1170_PAD_AD_15,
  96. IMXRT1170_PAD_AD_16,
  97. IMXRT1170_PAD_AD_17,
  98. IMXRT1170_PAD_AD_18,
  99. IMXRT1170_PAD_AD_19,
  100. IMXRT1170_PAD_AD_20,
  101. IMXRT1170_PAD_AD_21,
  102. IMXRT1170_PAD_AD_22,
  103. IMXRT1170_PAD_AD_23,
  104. IMXRT1170_PAD_AD_24,
  105. IMXRT1170_PAD_AD_25,
  106. IMXRT1170_PAD_AD_26,
  107. IMXRT1170_PAD_AD_27,
  108. IMXRT1170_PAD_AD_28,
  109. IMXRT1170_PAD_AD_29,
  110. IMXRT1170_PAD_AD_30,
  111. IMXRT1170_PAD_AD_31,
  112. IMXRT1170_PAD_AD_32,
  113. IMXRT1170_PAD_AD_33,
  114. IMXRT1170_PAD_AD_34,
  115. IMXRT1170_PAD_AD_35,
  116. IMXRT1170_PAD_SD_B1_00,
  117. IMXRT1170_PAD_SD_B1_01,
  118. IMXRT1170_PAD_SD_B1_02,
  119. IMXRT1170_PAD_SD_B1_03,
  120. IMXRT1170_PAD_SD_B1_04,
  121. IMXRT1170_PAD_SD_B1_05,
  122. IMXRT1170_PAD_SD_B2_00,
  123. IMXRT1170_PAD_SD_B2_01,
  124. IMXRT1170_PAD_SD_B2_02,
  125. IMXRT1170_PAD_SD_B2_03,
  126. IMXRT1170_PAD_SD_B2_04,
  127. IMXRT1170_PAD_SD_B2_05,
  128. IMXRT1170_PAD_SD_B2_06,
  129. IMXRT1170_PAD_SD_B2_07,
  130. IMXRT1170_PAD_SD_B2_08,
  131. IMXRT1170_PAD_SD_B2_09,
  132. IMXRT1170_PAD_SD_B2_10,
  133. IMXRT1170_PAD_SD_B2_11,
  134. IMXRT1170_PAD_DISP_B1_00,
  135. IMXRT1170_PAD_DISP_B1_01,
  136. IMXRT1170_PAD_DISP_B1_02,
  137. IMXRT1170_PAD_DISP_B1_03,
  138. IMXRT1170_PAD_DISP_B1_04,
  139. IMXRT1170_PAD_DISP_B1_05,
  140. IMXRT1170_PAD_DISP_B1_06,
  141. IMXRT1170_PAD_DISP_B1_07,
  142. IMXRT1170_PAD_DISP_B1_08,
  143. IMXRT1170_PAD_DISP_B1_09,
  144. IMXRT1170_PAD_DISP_B1_10,
  145. IMXRT1170_PAD_DISP_B1_11,
  146. IMXRT1170_PAD_DISP_B2_00,
  147. IMXRT1170_PAD_DISP_B2_01,
  148. IMXRT1170_PAD_DISP_B2_02,
  149. IMXRT1170_PAD_DISP_B2_03,
  150. IMXRT1170_PAD_DISP_B2_04,
  151. IMXRT1170_PAD_DISP_B2_05,
  152. IMXRT1170_PAD_DISP_B2_06,
  153. IMXRT1170_PAD_DISP_B2_07,
  154. IMXRT1170_PAD_DISP_B2_08,
  155. IMXRT1170_PAD_DISP_B2_09,
  156. IMXRT1170_PAD_DISP_B2_10,
  157. IMXRT1170_PAD_DISP_B2_11,
  158. IMXRT1170_PAD_DISP_B2_12,
  159. IMXRT1170_PAD_DISP_B2_13,
  160. IMXRT1170_PAD_DISP_B2_14,
  161. IMXRT1170_PAD_DISP_B2_15,
  162. };
  163. /* Pad names for the pinmux subsystem */
  164. static const struct pinctrl_pin_desc imxrt1170_pinctrl_pads[] = {
  165. IMX_PINCTRL_PIN(IMXRT1170_PAD_RESERVE0),
  166. IMX_PINCTRL_PIN(IMXRT1170_PAD_RESERVE1),
  167. IMX_PINCTRL_PIN(IMXRT1170_PAD_RESERVE2),
  168. IMX_PINCTRL_PIN(IMXRT1170_PAD_RESERVE3),
  169. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_00),
  170. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_01),
  171. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_02),
  172. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_03),
  173. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_04),
  174. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_05),
  175. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_06),
  176. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_07),
  177. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_08),
  178. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_09),
  179. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_10),
  180. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_11),
  181. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_12),
  182. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_13),
  183. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_14),
  184. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_15),
  185. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_16),
  186. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_17),
  187. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_18),
  188. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_19),
  189. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_20),
  190. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_21),
  191. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_22),
  192. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_23),
  193. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_24),
  194. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_25),
  195. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_26),
  196. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_27),
  197. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_28),
  198. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_29),
  199. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_30),
  200. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_31),
  201. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_32),
  202. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_33),
  203. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_34),
  204. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_35),
  205. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_36),
  206. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_37),
  207. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_38),
  208. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_39),
  209. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_40),
  210. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B1_41),
  211. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_00),
  212. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_01),
  213. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_02),
  214. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_03),
  215. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_04),
  216. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_05),
  217. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_06),
  218. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_07),
  219. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_08),
  220. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_09),
  221. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_10),
  222. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_11),
  223. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_12),
  224. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_13),
  225. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_14),
  226. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_15),
  227. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_16),
  228. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_17),
  229. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_18),
  230. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_19),
  231. IMX_PINCTRL_PIN(IMXRT1170_PAD_EMC_B2_20),
  232. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_00),
  233. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_01),
  234. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_02),
  235. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_03),
  236. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_04),
  237. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_05),
  238. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_06),
  239. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_07),
  240. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_08),
  241. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_09),
  242. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_10),
  243. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_11),
  244. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_12),
  245. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_13),
  246. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_14),
  247. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_15),
  248. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_16),
  249. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_17),
  250. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_18),
  251. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_19),
  252. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_20),
  253. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_21),
  254. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_22),
  255. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_23),
  256. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_24),
  257. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_25),
  258. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_26),
  259. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_27),
  260. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_28),
  261. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_29),
  262. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_30),
  263. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_31),
  264. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_32),
  265. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_33),
  266. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_34),
  267. IMX_PINCTRL_PIN(IMXRT1170_PAD_AD_35),
  268. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B1_00),
  269. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B1_01),
  270. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B1_02),
  271. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B1_03),
  272. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B1_04),
  273. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B1_05),
  274. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_00),
  275. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_01),
  276. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_02),
  277. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_03),
  278. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_04),
  279. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_05),
  280. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_06),
  281. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_07),
  282. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_08),
  283. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_09),
  284. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_10),
  285. IMX_PINCTRL_PIN(IMXRT1170_PAD_SD_B2_11),
  286. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_00),
  287. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_01),
  288. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_02),
  289. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_03),
  290. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_04),
  291. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_05),
  292. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_06),
  293. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_07),
  294. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_08),
  295. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_09),
  296. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_10),
  297. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B1_11),
  298. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_00),
  299. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_01),
  300. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_02),
  301. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_03),
  302. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_04),
  303. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_05),
  304. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_06),
  305. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_07),
  306. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_08),
  307. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_09),
  308. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_10),
  309. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_11),
  310. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_12),
  311. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_13),
  312. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_14),
  313. IMX_PINCTRL_PIN(IMXRT1170_PAD_DISP_B2_15),
  314. };
  315. static const struct imx_pinctrl_soc_info imxrt1170_pinctrl_info = {
  316. .pins = imxrt1170_pinctrl_pads,
  317. .npins = ARRAY_SIZE(imxrt1170_pinctrl_pads),
  318. .gpr_compatible = "fsl,imxrt1170-iomuxc-gpr",
  319. };
  320. static const struct of_device_id imxrt1170_pinctrl_of_match[] = {
  321. { .compatible = "fsl,imxrt1170-iomuxc", .data = &imxrt1170_pinctrl_info, },
  322. { /* sentinel */ }
  323. };
  324. static int imxrt1170_pinctrl_probe(struct platform_device *pdev)
  325. {
  326. return imx_pinctrl_probe(pdev, &imxrt1170_pinctrl_info);
  327. }
  328. static struct platform_driver imxrt1170_pinctrl_driver = {
  329. .driver = {
  330. .name = "imxrt1170-pinctrl",
  331. .of_match_table = of_match_ptr(imxrt1170_pinctrl_of_match),
  332. .suppress_bind_attrs = true,
  333. },
  334. .probe = imxrt1170_pinctrl_probe,
  335. };
  336. static int __init imxrt1170_pinctrl_init(void)
  337. {
  338. return platform_driver_register(&imxrt1170_pinctrl_driver);
  339. }
  340. arch_initcall(imxrt1170_pinctrl_init);