imx6qdl-dhcom-som.dtsi 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright (C) 2015-2021 DH electronics GmbH
  4. * Copyright (C) 2018 Marek Vasut <[email protected]>
  5. */
  6. #include <dt-bindings/pwm/pwm.h>
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include <dt-bindings/clock/imx6qdl-clock.h>
  9. #include <dt-bindings/input/input.h>
  10. / {
  11. aliases {
  12. i2c0 = &i2c2;
  13. i2c1 = &i2c1;
  14. i2c2 = &i2c3;
  15. mmc0 = &usdhc2;
  16. mmc1 = &usdhc3;
  17. mmc2 = &usdhc4;
  18. mmc3 = &usdhc1;
  19. rtc0 = &rtc_i2c;
  20. rtc1 = &snvs_rtc;
  21. serial0 = &uart1;
  22. serial1 = &uart5;
  23. serial2 = &uart4;
  24. serial3 = &uart2;
  25. serial4 = &uart3;
  26. };
  27. memory@10000000 { /* Appropriate memory size will be filled by U-Boot */
  28. device_type = "memory";
  29. reg = <0x10000000 0x20000000>;
  30. };
  31. reg_3p3v: regulator-3P3V {
  32. compatible = "regulator-fixed";
  33. regulator-always-on;
  34. regulator-min-microvolt = <3300000>;
  35. regulator-max-microvolt = <3300000>;
  36. regulator-name = "3P3V";
  37. };
  38. reg_eth_vio: regulator-eth-vio {
  39. compatible = "regulator-fixed";
  40. gpio = <&gpio1 7 0>;
  41. pinctrl-0 = <&pinctrl_enet_vio>;
  42. pinctrl-names = "default";
  43. regulator-always-on;
  44. regulator-boot-on;
  45. regulator-min-microvolt = <3300000>;
  46. regulator-max-microvolt = <3300000>;
  47. regulator-name = "eth_vio";
  48. vin-supply = <&sw2_reg>;
  49. };
  50. /* OE pin of the latch is low active */
  51. reg_latch_oe_on: regulator-latch-oe-on {
  52. compatible = "regulator-fixed";
  53. gpio = <&gpio3 22 0>;
  54. regulator-always-on;
  55. regulator-name = "latch_oe_on";
  56. };
  57. reg_usb_h1_vbus: regulator-usb-h1-vbus {
  58. compatible = "regulator-fixed";
  59. enable-active-high;
  60. gpio = <&gpio3 31 0>;
  61. regulator-min-microvolt = <5000000>;
  62. regulator-max-microvolt = <5000000>;
  63. regulator-name = "usb_h1_vbus";
  64. };
  65. reg_usb_otg_vbus: regulator-usb-otg-vbus {
  66. compatible = "regulator-fixed";
  67. regulator-min-microvolt = <5000000>;
  68. regulator-max-microvolt = <5000000>;
  69. regulator-name = "usb_otg_vbus";
  70. };
  71. };
  72. &can1 {
  73. pinctrl-0 = <&pinctrl_flexcan1>;
  74. pinctrl-names = "default";
  75. status = "okay";
  76. };
  77. /*
  78. * Special SoM hardware required which uses the pins from micro SD card. The
  79. * pins SD3_DAT0 and SD3_DAT1 are muxed as can2 Tx and Rx. The signals for can2
  80. * Tx and Rx are routed to the DHCOM UART1 rts/cts pins. So to enable can2 on
  81. * the board device tree file, the micro SD card must be disabled and the uart1
  82. * rts/cts must be disabled or output on other DHCOM pins.
  83. */
  84. &can2 {
  85. pinctrl-0 = <&pinctrl_flexcan2>;
  86. pinctrl-names = "default";
  87. status = "disabled";
  88. };
  89. &ecspi1 {
  90. cs-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>, <&gpio4 11 GPIO_ACTIVE_LOW>;
  91. pinctrl-0 = <&pinctrl_ecspi1>;
  92. pinctrl-names = "default";
  93. status = "okay";
  94. flash@0 { /* S25FL116K */
  95. #address-cells = <1>;
  96. #size-cells = <1>;
  97. compatible = "jedec,spi-nor";
  98. m25p,fast-read;
  99. reg = <0>;
  100. spi-max-frequency = <50000000>;
  101. };
  102. };
  103. &ecspi2 {
  104. cs-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
  105. pinctrl-0 = <&pinctrl_ecspi2>;
  106. pinctrl-names = "default";
  107. status = "disabled";
  108. };
  109. &fec {
  110. phy-mode = "rmii";
  111. phy-handle = <&ethphy0>;
  112. pinctrl-0 = <&pinctrl_enet_100M>;
  113. pinctrl-names = "default";
  114. status = "okay";
  115. mdio {
  116. #address-cells = <1>;
  117. #size-cells = <0>;
  118. ethphy0: ethernet-phy@0 { /* SMSC LAN8710Ai */
  119. compatible = "ethernet-phy-id0007.c0f0",
  120. "ethernet-phy-ieee802.3-c22";
  121. interrupt-parent = <&gpio4>;
  122. interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
  123. pinctrl-0 = <&pinctrl_ethphy0>;
  124. pinctrl-names = "default";
  125. reg = <0>;
  126. reset-assert-us = <500>;
  127. reset-deassert-us = <500>;
  128. reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
  129. smsc,disable-energy-detect; /* Make plugin detection reliable */
  130. };
  131. };
  132. };
  133. &gpio1 {
  134. gpio-line-names =
  135. "", "", "DHCOM-A", "", "DHCOM-B", "DHCOM-C", "", "",
  136. "", "", "", "", "", "", "", "",
  137. "DHCOM-R", "DHCOM-S", "DHCOM-Q", "DHCOM-T", "DHCOM-U", "", "", "",
  138. "", "", "", "", "", "", "", "";
  139. };
  140. &gpio2 {
  141. gpio-line-names =
  142. "", "", "", "", "", "", "", "",
  143. "", "", "", "", "", "", "", "",
  144. "SOM-HW2", "", "", "SOM-HW0", "", "SOM-MEM1", "SOM-MEM0", "",
  145. "", "", "", "", "", "", "", "";
  146. };
  147. &gpio3 {
  148. gpio-line-names =
  149. "", "", "", "", "", "", "", "",
  150. "", "", "", "", "", "", "", "",
  151. "", "", "", "", "", "", "", "",
  152. "", "", "", "DHCOM-G", "", "", "", "";
  153. };
  154. &gpio4 {
  155. gpio-line-names =
  156. "", "", "", "", "", "DHCOM-E", "DHCOM-INT", "DHCOM-H",
  157. "DHCOM-I", "DHCOM-L", "", "", "", "", "", "",
  158. "", "", "", "", "DHCOM-F", "", "", "",
  159. "", "", "", "", "", "", "", "";
  160. };
  161. &gpio5 {
  162. gpio-line-names =
  163. "", "", "", "", "", "", "", "",
  164. "", "", "", "", "", "", "", "",
  165. "", "", "DHCOM-V", "DHCOM-W", "", "DHCOM-O", "", "",
  166. "", "", "", "", "", "", "", "";
  167. };
  168. &gpio6 {
  169. gpio-line-names =
  170. "", "", "", "DHCOM-D", "", "", "SOM-HW1", "",
  171. "", "", "", "", "", "", "DHCOM-J", "DHCOM-K",
  172. "", "", "", "", "", "", "", "",
  173. "", "", "", "", "", "", "", "";
  174. };
  175. &gpio7 {
  176. gpio-line-names =
  177. "DHCOM-M", "DHCOM-N", "", "", "", "", "", "",
  178. "", "", "", "", "", "DHCOM-P", "", "",
  179. "", "", "", "", "", "", "", "",
  180. "", "", "", "", "", "", "", "";
  181. };
  182. &i2c1 {
  183. /*
  184. * Info: According to erratum ERR007805 clock frequency limit is 375000.
  185. * The erratum for i.MX6S/DL is here [1] and for i.MX6Q/D is here [2].
  186. * [1] https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf
  187. * [2] https://www.nxp.com/docs/en/errata/IMX6DQCE.pdf
  188. */
  189. clock-frequency = <100000>;
  190. pinctrl-0 = <&pinctrl_i2c1>;
  191. pinctrl-1 = <&pinctrl_i2c1_gpio>;
  192. pinctrl-names = "default", "gpio";
  193. scl-gpios = <&gpio3 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  194. sda-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  195. status = "okay";
  196. };
  197. &i2c2 {
  198. /* Info: Clock frequency limit is 375000 (for details see i2c1) */
  199. clock-frequency = <100000>;
  200. pinctrl-0 = <&pinctrl_i2c2>;
  201. pinctrl-1 = <&pinctrl_i2c2_gpio>;
  202. pinctrl-names = "default", "gpio";
  203. scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  204. sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  205. status = "okay";
  206. };
  207. &i2c3 {
  208. /* Info: Clock frequency limit is 375000 (for details see i2c1) */
  209. clock-frequency = <100000>;
  210. pinctrl-0 = <&pinctrl_i2c3>;
  211. pinctrl-1 = <&pinctrl_i2c3_gpio>;
  212. pinctrl-names = "default", "gpio";
  213. scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  214. sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  215. status = "okay";
  216. ltc3676: pmic@3c {
  217. compatible = "lltc,ltc3676";
  218. interrupt-parent = <&gpio5>;
  219. interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
  220. pinctrl-0 = <&pinctrl_pmic>;
  221. pinctrl-names = "default";
  222. reg = <0x3c>;
  223. regulators {
  224. sw1_reg: sw1 {
  225. lltc,fb-voltage-divider = <100000 110000>;
  226. regulator-always-on;
  227. regulator-boot-on;
  228. regulator-max-microvolt = <1527272>;
  229. regulator-min-microvolt = <787500>;
  230. regulator-ramp-delay = <7000>;
  231. regulator-suspend-mem-microvolt = <1040000>;
  232. };
  233. sw2_reg: sw2 {
  234. lltc,fb-voltage-divider = <100000 28000>;
  235. regulator-always-on;
  236. regulator-boot-on;
  237. regulator-max-microvolt = <3657142>;
  238. regulator-min-microvolt = <1885714>;
  239. regulator-ramp-delay = <7000>;
  240. };
  241. sw3_reg: sw3 {
  242. lltc,fb-voltage-divider = <100000 110000>;
  243. regulator-always-on;
  244. regulator-boot-on;
  245. regulator-max-microvolt = <1527272>;
  246. regulator-min-microvolt = <787500>;
  247. regulator-ramp-delay = <7000>;
  248. regulator-suspend-mem-microvolt = <980000>;
  249. };
  250. sw4_reg: sw4 {
  251. lltc,fb-voltage-divider = <100000 93100>;
  252. regulator-always-on;
  253. regulator-boot-on;
  254. regulator-max-microvolt = <1659291>;
  255. regulator-min-microvolt = <855571>;
  256. regulator-ramp-delay = <7000>;
  257. };
  258. ldo1_reg: ldo1 {
  259. lltc,fb-voltage-divider = <102000 29400>;
  260. regulator-always-on;
  261. regulator-boot-on;
  262. regulator-max-microvolt = <3240306>;
  263. regulator-min-microvolt = <3240306>;
  264. };
  265. ldo2_reg: ldo2 {
  266. lltc,fb-voltage-divider = <100000 41200>;
  267. regulator-always-on;
  268. regulator-boot-on;
  269. regulator-max-microvolt = <2484708>;
  270. regulator-min-microvolt = <2484708>;
  271. };
  272. };
  273. };
  274. touchscreen@49 { /* TSC2004 */
  275. compatible = "ti,tsc2004";
  276. interrupts-extended = <&gpio4 14 IRQ_TYPE_EDGE_FALLING>;
  277. pinctrl-0 = <&pinctrl_tsc2004>;
  278. pinctrl-names = "default";
  279. reg = <0x49>;
  280. vio-supply = <&reg_3p3v>;
  281. status = "disabled";
  282. };
  283. eeprom@50 {
  284. compatible = "atmel,24c02";
  285. pagesize = <16>;
  286. reg = <0x50>;
  287. };
  288. rtc_i2c: rtc@56 {
  289. compatible = "microcrystal,rv3029";
  290. interrupt-parent = <&gpio7>;
  291. interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
  292. pinctrl-0 = <&pinctrl_rtc>;
  293. pinctrl-names = "default";
  294. reg = <0x56>;
  295. };
  296. };
  297. &pcie {
  298. pinctrl-0 = <&pinctrl_pcie>;
  299. pinctrl-names = "default";
  300. };
  301. &pwm1 {
  302. pinctrl-0 = <&pinctrl_pwm1>;
  303. pinctrl-names = "default";
  304. };
  305. &reg_arm {
  306. vin-supply = <&sw3_reg>;
  307. };
  308. &reg_pu {
  309. vin-supply = <&sw1_reg>;
  310. };
  311. &reg_soc {
  312. vin-supply = <&sw1_reg>;
  313. };
  314. &reg_vdd1p1 {
  315. vin-supply = <&sw2_reg>;
  316. };
  317. &reg_vdd2p5 {
  318. vin-supply = <&sw2_reg>;
  319. };
  320. &uart1 { /* DHCOM UART1 */
  321. dcd-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
  322. dsr-gpios = <&gpio3 25 GPIO_ACTIVE_LOW>;
  323. dtr-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
  324. rng-gpios = <&gpio2 31 GPIO_ACTIVE_LOW>;
  325. pinctrl-0 = <&pinctrl_uart1>;
  326. pinctrl-names = "default";
  327. uart-has-rtscts;
  328. status = "okay";
  329. };
  330. &uart4 { /* DHCOM UART3 */
  331. pinctrl-0 = <&pinctrl_uart4>;
  332. pinctrl-names = "default";
  333. status = "okay";
  334. };
  335. &uart5 { /* DHCOM UART2 */
  336. pinctrl-0 = <&pinctrl_uart5>;
  337. pinctrl-names = "default";
  338. uart-has-rtscts;
  339. status = "okay";
  340. };
  341. &usbh1 {
  342. dr_mode = "host";
  343. pinctrl-0 = <&pinctrl_usbh1>;
  344. pinctrl-names = "default";
  345. vbus-supply = <&reg_usb_h1_vbus>;
  346. status = "okay";
  347. };
  348. &usbotg {
  349. disable-over-current;
  350. dr_mode = "otg";
  351. pinctrl-0 = <&pinctrl_usbotg>;
  352. pinctrl-names = "default";
  353. vbus-supply = <&reg_usb_otg_vbus>;
  354. status = "okay";
  355. };
  356. &usdhc2 { /* External SD card via DHCOM */
  357. cd-gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>;
  358. keep-power-in-suspend;
  359. pinctrl-0 = <&pinctrl_usdhc2>;
  360. pinctrl-names = "default";
  361. status = "disabled";
  362. };
  363. &usdhc3 { /* Micro SD card on module */
  364. cd-gpios = <&gpio7 8 GPIO_ACTIVE_LOW>;
  365. fsl,wp-controller;
  366. keep-power-in-suspend;
  367. pinctrl-0 = <&pinctrl_usdhc3>;
  368. pinctrl-names = "default";
  369. status = "okay";
  370. };
  371. &usdhc4 { /* eMMC on module */
  372. bus-width = <8>;
  373. keep-power-in-suspend;
  374. no-1-8-v;
  375. non-removable;
  376. pinctrl-0 = <&pinctrl_usdhc4>;
  377. pinctrl-names = "default";
  378. status = "okay";
  379. };
  380. &weim {
  381. #address-cells = <2>;
  382. #size-cells = <1>;
  383. fsl,weim-cs-gpr = <&gpr>;
  384. pinctrl-0 = <&pinctrl_weim &pinctrl_weim_cs0 &pinctrl_weim_cs1>;
  385. pinctrl-names = "default";
  386. /* It is necessary to setup 2x 64MB otherwise setting gpr fails */
  387. ranges = <0 0 0x08000000 0x04000000>, /* CS0 */
  388. <1 0 0x0c000000 0x04000000>; /* CS1 */
  389. status = "disabled";
  390. };
  391. &iomuxc {
  392. pinctrl-0 = <
  393. &pinctrl_hog_base
  394. &pinctrl_dhcom_a &pinctrl_dhcom_b &pinctrl_dhcom_c
  395. &pinctrl_dhcom_d &pinctrl_dhcom_e &pinctrl_dhcom_f
  396. &pinctrl_dhcom_g &pinctrl_dhcom_h &pinctrl_dhcom_i
  397. &pinctrl_dhcom_j &pinctrl_dhcom_k &pinctrl_dhcom_l
  398. &pinctrl_dhcom_m &pinctrl_dhcom_n &pinctrl_dhcom_o
  399. &pinctrl_dhcom_p &pinctrl_dhcom_q &pinctrl_dhcom_r
  400. &pinctrl_dhcom_s &pinctrl_dhcom_t &pinctrl_dhcom_u
  401. &pinctrl_dhcom_v &pinctrl_dhcom_w &pinctrl_dhcom_int
  402. >;
  403. pinctrl-names = "default";
  404. pinctrl_hog_base: hog-base-grp {
  405. fsl,pins = <
  406. /* GPIOs for memory coding */
  407. MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x120b0
  408. MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x120b0
  409. /* GPIOs for hardware coding */
  410. MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x120b0
  411. MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x120b0
  412. MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x120b0
  413. >;
  414. };
  415. /* DHCOM GPIOs */
  416. pinctrl_dhcom_a: dhcom-a-grp {
  417. fsl,pins = <MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x400120b0>;
  418. };
  419. pinctrl_dhcom_b: dhcom-b-grp {
  420. fsl,pins = <MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x400120b0>;
  421. };
  422. pinctrl_dhcom_c: dhcom-c-grp {
  423. fsl,pins = <MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x400120b0>;
  424. };
  425. pinctrl_dhcom_d: dhcom-d-grp {
  426. fsl,pins = <MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03 0x400120b0>;
  427. };
  428. pinctrl_dhcom_e: dhcom-e-grp {
  429. fsl,pins = <MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x400120b0>;
  430. };
  431. pinctrl_dhcom_f: dhcom-f-grp {
  432. fsl,pins = <MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x400120b0>;
  433. };
  434. pinctrl_dhcom_g: dhcom-g-grp {
  435. fsl,pins = <MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x400120b0>;
  436. };
  437. pinctrl_dhcom_h: dhcom-h-grp {
  438. fsl,pins = <MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x400120b0>;
  439. };
  440. pinctrl_dhcom_i: dhcom-i-grp {
  441. fsl,pins = <MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x400120b0>;
  442. };
  443. pinctrl_dhcom_j: dhcom-j-grp {
  444. fsl,pins = <MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x400120b0>;
  445. };
  446. pinctrl_dhcom_k: dhcom-k-grp {
  447. fsl,pins = <MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x400120b0>;
  448. };
  449. pinctrl_dhcom_l: dhcom-l-grp {
  450. fsl,pins = <MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x400120b0>;
  451. };
  452. pinctrl_dhcom_m: dhcom-m-grp {
  453. fsl,pins = <MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x400120b0>;
  454. };
  455. pinctrl_dhcom_n: dhcom-n-grp {
  456. fsl,pins = <MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x400120b0>;
  457. };
  458. pinctrl_dhcom_o: dhcom-o-grp {
  459. fsl,pins = <MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x400120b0>;
  460. };
  461. pinctrl_dhcom_p: dhcom-p-grp {
  462. fsl,pins = <MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x400120b0>;
  463. };
  464. pinctrl_dhcom_q: dhcom-q-grp {
  465. fsl,pins = <MX6QDL_PAD_SD1_CMD__GPIO1_IO18 0x400120b0>;
  466. };
  467. pinctrl_dhcom_r: dhcom-r-grp {
  468. fsl,pins = <MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x400120b0>;
  469. };
  470. pinctrl_dhcom_s: dhcom-s-grp {
  471. fsl,pins = <MX6QDL_PAD_SD1_DAT1__GPIO1_IO17 0x400120b0>;
  472. };
  473. pinctrl_dhcom_t: dhcom-t-grp {
  474. fsl,pins = <MX6QDL_PAD_SD1_DAT2__GPIO1_IO19 0x400120b0>;
  475. };
  476. pinctrl_dhcom_u: dhcom-u-grp {
  477. fsl,pins = <MX6QDL_PAD_SD1_CLK__GPIO1_IO20 0x400120b0>;
  478. };
  479. pinctrl_dhcom_v: dhcom-v-grp {
  480. fsl,pins = <MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18 0x400120b0>;
  481. };
  482. pinctrl_dhcom_w: dhcom-w-grp {
  483. fsl,pins = <MX6QDL_PAD_CSI0_MCLK__GPIO5_IO19 0x400120b0>;
  484. };
  485. pinctrl_dhcom_int: dhcom-int-grp {
  486. fsl,pins = <MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x400120b0>;
  487. };
  488. pinctrl_ecspi1: ecspi1-grp {
  489. fsl,pins = <
  490. MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
  491. MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
  492. MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
  493. MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0
  494. MX6QDL_PAD_KEY_ROW2__GPIO4_IO11 0x1b0b0
  495. >;
  496. };
  497. pinctrl_ecspi2: ecspi2-grp {
  498. fsl,pins = <
  499. MX6QDL_PAD_CSI0_DAT8__ECSPI2_SCLK 0x100b1
  500. MX6QDL_PAD_CSI0_DAT9__ECSPI2_MOSI 0x100b1
  501. MX6QDL_PAD_CSI0_DAT10__ECSPI2_MISO 0x100b1
  502. MX6QDL_PAD_CSI0_DAT11__GPIO5_IO29 0x1b0b0
  503. >;
  504. };
  505. pinctrl_enet_100M: enet-100M-grp {
  506. fsl,pins = <
  507. MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0
  508. MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
  509. MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
  510. MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x1b0b0
  511. MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0
  512. MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0
  513. MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
  514. MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0
  515. MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0
  516. MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
  517. >;
  518. };
  519. pinctrl_enet_vio: enet-vio-grp {
  520. fsl,pins = <
  521. MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x120b0
  522. >;
  523. };
  524. pinctrl_ethphy0: ethphy0-grp {
  525. fsl,pins = <
  526. MX6QDL_PAD_EIM_WAIT__GPIO5_IO00 0xb0 /* Reset */
  527. MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0xb1 /* Int */
  528. >;
  529. };
  530. pinctrl_flexcan1: flexcan1-grp {
  531. fsl,pins = <
  532. MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x1b0b0
  533. MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b0b0
  534. >;
  535. };
  536. pinctrl_flexcan2: flexcan2-grp {
  537. fsl,pins = <
  538. MX6QDL_PAD_SD3_DAT0__FLEXCAN2_TX 0x1b0b0
  539. MX6QDL_PAD_SD3_DAT1__FLEXCAN2_RX 0x1b0b0
  540. >;
  541. };
  542. pinctrl_i2c1: i2c1-grp {
  543. fsl,pins = <
  544. MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
  545. MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
  546. >;
  547. };
  548. pinctrl_i2c1_gpio: i2c1-gpio-grp {
  549. fsl,pins = <
  550. MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x4001b8b1
  551. MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x4001b8b1
  552. >;
  553. };
  554. pinctrl_i2c2: i2c2-grp {
  555. fsl,pins = <
  556. MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
  557. MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
  558. >;
  559. };
  560. pinctrl_i2c2_gpio: i2c2-gpio-grp {
  561. fsl,pins = <
  562. MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x4001b8b1
  563. MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x4001b8b1
  564. >;
  565. };
  566. pinctrl_i2c3: i2c3-grp {
  567. fsl,pins = <
  568. MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
  569. MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
  570. >;
  571. };
  572. pinctrl_i2c3_gpio: i2c3-gpio-grp {
  573. fsl,pins = <
  574. MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x4001b8b1
  575. MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x4001b8b1
  576. >;
  577. };
  578. pinctrl_ipu1_lcdif: ipu1-lcdif-grp {
  579. fsl,pins = <
  580. MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x38
  581. MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x38
  582. MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x38
  583. MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x38
  584. MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x38
  585. MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x38
  586. MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x38
  587. MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x38
  588. MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x38
  589. MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x38
  590. MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x38
  591. MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x38
  592. MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x38
  593. MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x38
  594. MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x38
  595. MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x38
  596. MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x38
  597. MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x38
  598. MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x38
  599. MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x38
  600. MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x38
  601. MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x38
  602. MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x38
  603. MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x38
  604. MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x38
  605. MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x38
  606. MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x38
  607. MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x38
  608. >;
  609. };
  610. pinctrl_pcie: pcie-grp {
  611. fsl,pins = <
  612. MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x1b0b1 /* Wake */
  613. >;
  614. };
  615. pinctrl_pmic: pmic-grp {
  616. fsl,pins = <
  617. MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b0
  618. >;
  619. };
  620. pinctrl_pwm1: pwm1-grp {
  621. fsl,pins = <
  622. MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1
  623. >;
  624. };
  625. pinctrl_rtc: rtc-grp {
  626. fsl,pins = <
  627. MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x120b0
  628. >;
  629. };
  630. pinctrl_tsc2004: tsc2004-grp {
  631. fsl,pins = <
  632. MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x120b0
  633. >;
  634. };
  635. pinctrl_uart1: uart1-grp {
  636. fsl,pins = <
  637. MX6QDL_PAD_EIM_D19__UART1_CTS_B 0x4001b0b1
  638. MX6QDL_PAD_EIM_D20__UART1_RTS_B 0x1b0b1
  639. MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x4001b0b1
  640. MX6QDL_PAD_EIM_D24__GPIO3_IO24 0x4001b0b1
  641. MX6QDL_PAD_EIM_D25__GPIO3_IO25 0x4001b0b1
  642. MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x4001b0b1
  643. MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
  644. MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
  645. >;
  646. };
  647. pinctrl_uart4: uart4-grp {
  648. fsl,pins = <
  649. MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
  650. MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
  651. >;
  652. };
  653. pinctrl_uart5: uart5-grp {
  654. fsl,pins = <
  655. MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA 0x1b0b1
  656. MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA 0x1b0b1
  657. MX6QDL_PAD_CSI0_DAT18__UART5_RTS_B 0x1b0b1
  658. MX6QDL_PAD_CSI0_DAT19__UART5_CTS_B 0x4001b0b1
  659. >;
  660. };
  661. pinctrl_usbh1: usbh1-grp {
  662. fsl,pins = <
  663. MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x120b0
  664. MX6QDL_PAD_EIM_D30__USB_H1_OC 0x1b0b1
  665. >;
  666. };
  667. pinctrl_usbotg: usbotg-grp {
  668. fsl,pins = <
  669. MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
  670. >;
  671. };
  672. pinctrl_usdhc2: usdhc2-grp {
  673. fsl,pins = <
  674. MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x120b0
  675. MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
  676. MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
  677. MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
  678. MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
  679. MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
  680. MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
  681. >;
  682. };
  683. pinctrl_usdhc3: usdhc3-grp {
  684. fsl,pins = <
  685. MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
  686. MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
  687. MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
  688. MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
  689. MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
  690. MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
  691. MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x120b0
  692. >;
  693. };
  694. pinctrl_usdhc4: usdhc4-grp {
  695. fsl,pins = <
  696. MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
  697. MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
  698. MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
  699. MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
  700. MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
  701. MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
  702. MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
  703. MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
  704. MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
  705. MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
  706. >;
  707. };
  708. pinctrl_weim: weim-grp {
  709. fsl,pins = <
  710. MX6QDL_PAD_EIM_DA0__EIM_AD00 0xb0a6
  711. MX6QDL_PAD_EIM_DA1__EIM_AD01 0xb0a6
  712. MX6QDL_PAD_EIM_DA2__EIM_AD02 0xb0a6
  713. MX6QDL_PAD_EIM_DA3__EIM_AD03 0xb0a6
  714. MX6QDL_PAD_EIM_DA4__EIM_AD04 0xb0a6
  715. MX6QDL_PAD_EIM_DA5__EIM_AD05 0xb0a6
  716. MX6QDL_PAD_EIM_DA6__EIM_AD06 0xb0a6
  717. MX6QDL_PAD_EIM_DA7__EIM_AD07 0xb0a6
  718. MX6QDL_PAD_EIM_DA8__EIM_AD08 0xb0a6
  719. MX6QDL_PAD_EIM_DA9__EIM_AD09 0xb0a6
  720. MX6QDL_PAD_EIM_DA10__EIM_AD10 0xb0a6
  721. MX6QDL_PAD_EIM_DA11__EIM_AD11 0xb0a6
  722. MX6QDL_PAD_EIM_DA12__EIM_AD12 0xb0a6
  723. MX6QDL_PAD_EIM_DA13__EIM_AD13 0xb0a6
  724. MX6QDL_PAD_EIM_DA14__EIM_AD14 0xb0a6
  725. MX6QDL_PAD_EIM_DA15__EIM_AD15 0xb0a6
  726. MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x130b0
  727. MX6QDL_PAD_EIM_LBA__EIM_LBA_B 0xb060 /* LE */
  728. MX6QDL_PAD_EIM_OE__EIM_OE_B 0xb0a6
  729. MX6QDL_PAD_EIM_RW__EIM_RW 0xb0a6 /* WE */
  730. >;
  731. };
  732. pinctrl_weim_cs0: weim-cs0-grp {
  733. fsl,pins = <
  734. MX6QDL_PAD_EIM_CS0__EIM_CS0_B 0xb0b1
  735. >;
  736. };
  737. pinctrl_weim_cs1: weim-cs1-grp {
  738. fsl,pins = <
  739. MX6QDL_PAD_EIM_CS1__EIM_CS1_B 0xb0b1
  740. >;
  741. };
  742. };