imx6qdl-tx6.dtsi 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696
  1. /*
  2. * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
  3. *
  4. * The code contained herein is licensed under the GNU General Public
  5. * License. You may obtain a copy of the GNU General Public License
  6. * Version 2 at the following locations:
  7. *
  8. * http://www.opensource.org/licenses/gpl-license.html
  9. * http://www.gnu.org/copyleft/gpl.html
  10. */
  11. #include <dt-bindings/gpio/gpio.h>
  12. #include <dt-bindings/input/input.h>
  13. #include <dt-bindings/pwm/pwm.h>
  14. / {
  15. aliases {
  16. can0 = &can2;
  17. can1 = &can1;
  18. ethernet0 = &fec;
  19. lcdif_23bit_pins_a = &pinctrl_disp0_1;
  20. lcdif_24bit_pins_a = &pinctrl_disp0_2;
  21. pwm0 = &pwm1;
  22. pwm1 = &pwm2;
  23. reg_can_xcvr = &reg_can_xcvr;
  24. stk5led = &user_led;
  25. usbotg = &usbotg;
  26. sdhc0 = &usdhc1;
  27. sdhc1 = &usdhc2;
  28. };
  29. memory {
  30. reg = <0 0>; /* will be filled by U-Boot */
  31. };
  32. clocks {
  33. #address-cells = <1>;
  34. #size-cells = <0>;
  35. mclk: clock@0 {
  36. compatible = "fixed-clock";
  37. reg = <0>;
  38. #clock-cells = <0>;
  39. clock-frequency = <27000000>;
  40. };
  41. };
  42. gpio-keys {
  43. compatible = "gpio-keys";
  44. power {
  45. label = "Power Button";
  46. gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;
  47. linux,code = <KEY_POWER>;
  48. gpio-key,wakeup;
  49. };
  50. };
  51. leds {
  52. compatible = "gpio-leds";
  53. user_led: user {
  54. label = "Heartbeat";
  55. gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
  56. linux,default-trigger = "heartbeat";
  57. };
  58. };
  59. regulators {
  60. compatible = "simple-bus";
  61. #address-cells = <1>;
  62. #size-cells = <0>;
  63. reg_3v3_etn: regulator@0 {
  64. compatible = "regulator-fixed";
  65. reg = <0>;
  66. regulator-name = "3V3_ETN";
  67. regulator-min-microvolt = <3300000>;
  68. regulator-max-microvolt = <3300000>;
  69. pinctrl-names = "default";
  70. pinctrl-0 = <&pinctrl_etnphy_power>;
  71. gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>;
  72. enable-active-high;
  73. };
  74. reg_2v5: regulator@1 {
  75. compatible = "regulator-fixed";
  76. reg = <1>;
  77. regulator-name = "2V5";
  78. regulator-min-microvolt = <2500000>;
  79. regulator-max-microvolt = <2500000>;
  80. regulator-always-on;
  81. };
  82. reg_3v3: regulator@2 {
  83. compatible = "regulator-fixed";
  84. reg = <2>;
  85. regulator-name = "3V3";
  86. regulator-min-microvolt = <3300000>;
  87. regulator-max-microvolt = <3300000>;
  88. regulator-always-on;
  89. };
  90. reg_can_xcvr: regulator@3 {
  91. compatible = "regulator-fixed";
  92. reg = <3>;
  93. regulator-name = "CAN XCVR";
  94. regulator-min-microvolt = <3300000>;
  95. regulator-max-microvolt = <3300000>;
  96. pinctrl-names = "default";
  97. pinctrl-0 = <&pinctrl_flexcan_xcvr>;
  98. gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
  99. enable-active-low;
  100. };
  101. reg_lcd0_pwr: regulator@4 {
  102. compatible = "regulator-fixed";
  103. reg = <4>;
  104. regulator-name = "LCD0 POWER";
  105. regulator-min-microvolt = <3300000>;
  106. regulator-max-microvolt = <3300000>;
  107. pinctrl-names = "default";
  108. pinctrl-0 = <&pinctrl_lcd0_pwr>;
  109. gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
  110. enable-active-high;
  111. regulator-boot-on;
  112. regulator-always-on;
  113. };
  114. reg_lcd1_pwr: regulator@5 {
  115. compatible = "regulator-fixed";
  116. reg = <5>;
  117. regulator-name = "LCD1 POWER";
  118. regulator-min-microvolt = <3300000>;
  119. regulator-max-microvolt = <3300000>;
  120. pinctrl-names = "default";
  121. pinctrl-0 = <&pinctrl_lcd1_pwr>;
  122. gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
  123. enable-active-high;
  124. regulator-boot-on;
  125. regulator-always-on;
  126. };
  127. reg_usbh1_vbus: regulator@6 {
  128. compatible = "regulator-fixed";
  129. reg = <6>;
  130. regulator-name = "usbh1_vbus";
  131. regulator-min-microvolt = <5000000>;
  132. regulator-max-microvolt = <5000000>;
  133. pinctrl-names = "default";
  134. pinctrl-0 = <&pinctrl_usbh1_vbus>;
  135. gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
  136. enable-active-high;
  137. };
  138. reg_usbotg_vbus: regulator@7 {
  139. compatible = "regulator-fixed";
  140. reg = <7>;
  141. regulator-name = "usbotg_vbus";
  142. regulator-min-microvolt = <5000000>;
  143. regulator-max-microvolt = <5000000>;
  144. pinctrl-names = "default";
  145. pinctrl-0 = <&pinctrl_usbotg_vbus>;
  146. gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
  147. enable-active-high;
  148. };
  149. };
  150. sound {
  151. compatible = "karo,imx6qdl-tx6qdl-sgtl5000",
  152. "fsl,imx-audio-sgtl5000";
  153. model = "sgtl5000-audio";
  154. pinctrl-names = "default";
  155. pinctrl-0 = <&pinctrl_audmux>;
  156. ssi-controller = <&ssi1>;
  157. audio-codec = <&sgtl5000>;
  158. audio-routing =
  159. "MIC_IN", "Mic Jack",
  160. "Mic Jack", "Mic Bias",
  161. "Headphone Jack", "HP_OUT";
  162. mux-int-port = <1>;
  163. mux-ext-port = <5>;
  164. };
  165. };
  166. &audmux {
  167. status = "okay";
  168. };
  169. &can1 {
  170. pinctrl-names = "default";
  171. pinctrl-0 = <&pinctrl_flexcan1>;
  172. xceiver-supply = <&reg_can_xcvr>;
  173. status = "okay";
  174. };
  175. &can2 {
  176. pinctrl-names = "default";
  177. pinctrl-0 = <&pinctrl_flexcan2>;
  178. xceiver-supply = <&reg_can_xcvr>;
  179. status = "okay";
  180. };
  181. &ecspi1 {
  182. pinctrl-names = "default";
  183. pinctrl-0 = <&pinctrl_ecspi1>;
  184. fsl,spi-num-chipselects = <2>;
  185. cs-gpios = <
  186. &gpio2 30 GPIO_ACTIVE_HIGH
  187. &gpio3 19 GPIO_ACTIVE_HIGH
  188. >;
  189. status = "okay";
  190. spidev0: spi@0 {
  191. compatible = "spidev";
  192. reg = <0>;
  193. spi-max-frequency = <54000000>;
  194. };
  195. spidev1: spi@1 {
  196. compatible = "spidev";
  197. reg = <1>;
  198. spi-max-frequency = <54000000>;
  199. };
  200. };
  201. &fec {
  202. pinctrl-names = "default";
  203. pinctrl-0 = <&pinctrl_enet>;
  204. phy-mode = "rmii";
  205. phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_HIGH>;
  206. phy-supply = <&reg_3v3_etn>;
  207. status = "okay";
  208. };
  209. &gpmi {
  210. pinctrl-names = "default";
  211. pinctrl-0 = <&pinctrl_gpmi_nand>;
  212. nand-on-flash-bbt;
  213. fsl,no-blockmark-swap;
  214. status = "okay";
  215. };
  216. &i2c1 {
  217. pinctrl-names = "default";
  218. pinctrl-0 = <&pinctrl_i2c1>;
  219. clock-frequency = <400000>;
  220. status = "okay";
  221. ds1339: rtc@68 {
  222. compatible = "dallas,ds1339";
  223. reg = <0x68>;
  224. };
  225. };
  226. &i2c3 {
  227. pinctrl-names = "default";
  228. pinctrl-0 = <&pinctrl_i2c3>;
  229. clock-frequency = <400000>;
  230. status = "okay";
  231. sgtl5000: sgtl5000@0a {
  232. compatible = "fsl,sgtl5000";
  233. reg = <0x0a>;
  234. VDDA-supply = <&reg_2v5>;
  235. VDDIO-supply = <&reg_3v3>;
  236. clocks = <&mclk>;
  237. };
  238. polytouch: edt-ft5x06@38 {
  239. compatible = "edt,edt-ft5x06";
  240. reg = <0x38>;
  241. pinctrl-names = "default";
  242. pinctrl-0 = <&pinctrl_edt_ft5x06>;
  243. interrupt-parent = <&gpio6>;
  244. interrupts = <15 0>;
  245. reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
  246. wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
  247. linux,wakeup;
  248. };
  249. touchscreen: tsc2007@48 {
  250. compatible = "ti,tsc2007";
  251. reg = <0x48>;
  252. pinctrl-names = "default";
  253. pinctrl-0 = <&pinctrl_tsc2007>;
  254. interrupt-parent = <&gpio3>;
  255. interrupts = <26 0>;
  256. gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
  257. ti,x-plate-ohms = <660>;
  258. linux,wakeup;
  259. };
  260. };
  261. &iomuxc {
  262. pinctrl-names = "default";
  263. pinctrl-0 = <&pinctrl_hog>;
  264. imx6qdl-tx6 {
  265. pinctrl_hog: hoggrp {
  266. fsl,pins = <
  267. MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x1b0b1 /* LED */
  268. MX6QDL_PAD_SD3_DAT2__GPIO7_IO06 0x1b0b1 /* ETN PHY RESET */
  269. MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x1b0b1 /* ETN PHY INT */
  270. MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b1 /* PWR BTN */
  271. >;
  272. };
  273. pinctrl_audmux: audmuxgrp {
  274. fsl,pins = <
  275. MX6QDL_PAD_KEY_ROW1__AUD5_RXD 0x130b0 /* SSI1_RXD */
  276. MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 /* SSI1_TXD */
  277. MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 /* SSI1_CLK */
  278. MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 /* SSI1_FS */
  279. >;
  280. };
  281. pinctrl_disp0_1: disp0grp-1 {
  282. fsl,pins = <
  283. MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
  284. MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10
  285. MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10
  286. MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10
  287. /* PAD DISP0_DAT0 is used for the Flexcan transceiver control */
  288. MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10
  289. MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10
  290. MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10
  291. MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10
  292. MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10
  293. MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10
  294. MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10
  295. MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10
  296. MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10
  297. MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10
  298. MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10
  299. MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10
  300. MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10
  301. MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10
  302. MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10
  303. MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10
  304. MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10
  305. MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10
  306. MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10
  307. MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10
  308. MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10
  309. MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10
  310. MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10
  311. >;
  312. };
  313. pinctrl_disp0_2: disp0grp-2 {
  314. fsl,pins = <
  315. MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
  316. MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10
  317. MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10
  318. MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10
  319. MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10
  320. MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10
  321. MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10
  322. MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10
  323. MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10
  324. MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10
  325. MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10
  326. MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10
  327. MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10
  328. MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10
  329. MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10
  330. MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10
  331. MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10
  332. MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10
  333. MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10
  334. MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10
  335. MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10
  336. MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10
  337. MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10
  338. MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10
  339. MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10
  340. MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10
  341. MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10
  342. MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10
  343. >;
  344. };
  345. pinctrl_ecspi1: ecspi1grp {
  346. fsl,pins = <
  347. MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x0b0b0
  348. MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x0b0b0
  349. MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x0b0b0
  350. MX6QDL_PAD_GPIO_19__ECSPI1_RDY 0x0b0b0
  351. MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x0b0b0 /* SPI CS0 */
  352. MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x0b0b0 /* SPI CS1 */
  353. >;
  354. };
  355. pinctrl_edt_ft5x06: edt-ft5x06grp {
  356. fsl,pins = <
  357. MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x1b0b0 /* Interrupt */
  358. MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x1b0b0 /* Reset */
  359. MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x1b0b0 /* Wake */
  360. >;
  361. };
  362. pinctrl_enet: enetgrp {
  363. fsl,pins = <
  364. MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
  365. MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
  366. MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0
  367. MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0
  368. MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x1b0b0
  369. MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
  370. MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0
  371. MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0
  372. MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0
  373. >;
  374. };
  375. pinctrl_etnphy_power: etnphy-pwrgrp {
  376. fsl,pins = <
  377. MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x1b0b1 /* ETN PHY POWER */
  378. >;
  379. };
  380. pinctrl_flexcan1: flexcan1grp {
  381. fsl,pins = <
  382. MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0
  383. MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x1b0b0
  384. >;
  385. };
  386. pinctrl_flexcan2: flexcan2grp {
  387. fsl,pins = <
  388. MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b0b0
  389. MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b0b0
  390. >;
  391. };
  392. pinctrl_flexcan_xcvr: flexcan-xcvrgrp {
  393. fsl,pins = <
  394. MX6QDL_PAD_DISP0_DAT0__GPIO4_IO21 0x1b0b0 /* Flexcan XCVR enable */
  395. >;
  396. };
  397. pinctrl_gpmi_nand: gpminandgrp {
  398. fsl,pins = <
  399. MX6QDL_PAD_NANDF_CLE__NAND_CLE 0x0b0b1
  400. MX6QDL_PAD_NANDF_ALE__NAND_ALE 0x0b0b1
  401. MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0x0b0b1
  402. MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0x0b000
  403. MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0x0b0b1
  404. MX6QDL_PAD_SD4_CMD__NAND_RE_B 0x0b0b1
  405. MX6QDL_PAD_SD4_CLK__NAND_WE_B 0x0b0b1
  406. MX6QDL_PAD_NANDF_D0__NAND_DATA00 0x0b0b1
  407. MX6QDL_PAD_NANDF_D1__NAND_DATA01 0x0b0b1
  408. MX6QDL_PAD_NANDF_D2__NAND_DATA02 0x0b0b1
  409. MX6QDL_PAD_NANDF_D3__NAND_DATA03 0x0b0b1
  410. MX6QDL_PAD_NANDF_D4__NAND_DATA04 0x0b0b1
  411. MX6QDL_PAD_NANDF_D5__NAND_DATA05 0x0b0b1
  412. MX6QDL_PAD_NANDF_D6__NAND_DATA06 0x0b0b1
  413. MX6QDL_PAD_NANDF_D7__NAND_DATA07 0x0b0b1
  414. >;
  415. };
  416. pinctrl_i2c1: i2c1grp {
  417. fsl,pins = <
  418. MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
  419. MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
  420. >;
  421. };
  422. pinctrl_i2c3: i2c3grp {
  423. fsl,pins = <
  424. MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
  425. MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
  426. >;
  427. };
  428. pinctrl_kpp: kppgrp {
  429. fsl,pins = <
  430. MX6QDL_PAD_GPIO_9__KEY_COL6 0x1b0b1
  431. MX6QDL_PAD_GPIO_4__KEY_COL7 0x1b0b1
  432. MX6QDL_PAD_KEY_COL2__KEY_COL2 0x1b0b1
  433. MX6QDL_PAD_KEY_COL3__KEY_COL3 0x1b0b1
  434. MX6QDL_PAD_GPIO_2__KEY_ROW6 0x1b0b1
  435. MX6QDL_PAD_GPIO_5__KEY_ROW7 0x1b0b1
  436. MX6QDL_PAD_KEY_ROW2__KEY_ROW2 0x1b0b1
  437. MX6QDL_PAD_KEY_ROW3__KEY_ROW3 0x1b0b1
  438. >;
  439. };
  440. pinctrl_lcd0_pwr: lcd0-pwrgrp {
  441. fsl,pins = <
  442. MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1b0b1 /* LCD Reset */
  443. >;
  444. };
  445. pinctrl_lcd1_pwr: lcd1-pwrgrp {
  446. fsl,pins = <
  447. MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x1b0b1 /* LCD Power Enable */
  448. >;
  449. };
  450. pinctrl_pwm1: pwm1grp {
  451. fsl,pins = <
  452. MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b1
  453. >;
  454. };
  455. pinctrl_pwm2: pwm2grp {
  456. fsl,pins = <
  457. MX6QDL_PAD_GPIO_1__PWM2_OUT 0x1b0b1
  458. >;
  459. };
  460. pinctrl_tsc2007: tsc2007grp {
  461. fsl,pins = <
  462. MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x1b0b0 /* Interrupt */
  463. >;
  464. };
  465. pinctrl_uart1: uart1grp {
  466. fsl,pins = <
  467. MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
  468. MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
  469. >;
  470. };
  471. pinctrl_uart1_rtscts: uart1_rtsctsgrp {
  472. fsl,pins = <
  473. MX6QDL_PAD_SD3_DAT1__UART1_RTS_B 0x1b0b1
  474. MX6QDL_PAD_SD3_DAT0__UART1_CTS_B 0x1b0b1
  475. >;
  476. };
  477. pinctrl_uart2: uart2grp {
  478. fsl,pins = <
  479. MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
  480. MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
  481. >;
  482. };
  483. pinctrl_uart2_rtscts: uart2_rtsctsgrp {
  484. fsl,pins = <
  485. MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1
  486. MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1
  487. >;
  488. };
  489. pinctrl_uart3: uart3grp {
  490. fsl,pins = <
  491. MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
  492. MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
  493. >;
  494. };
  495. pinctrl_uart3_rtscts: uart3_rtsctsgrp {
  496. fsl,pins = <
  497. MX6QDL_PAD_SD3_DAT3__UART3_CTS_B 0x1b0b1
  498. MX6QDL_PAD_SD3_RST__UART3_RTS_B 0x1b0b1
  499. >;
  500. };
  501. pinctrl_usbh1_vbus: usbh1-vbusgrp {
  502. fsl,pins = <
  503. MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x1b0b0 /* USBH1_VBUSEN */
  504. >;
  505. };
  506. pinctrl_usbotg: usbotggrp {
  507. fsl,pins = <
  508. MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x17059
  509. >;
  510. };
  511. pinctrl_usbotg_vbus: usbotg-vbusgrp {
  512. fsl,pins = <
  513. MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0 /* USBOTG_VBUSEN */
  514. >;
  515. };
  516. pinctrl_usdhc1: usdhc1grp {
  517. fsl,pins = <
  518. MX6QDL_PAD_SD1_CMD__SD1_CMD 0x070b1
  519. MX6QDL_PAD_SD1_CLK__SD1_CLK 0x070b1
  520. MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x070b1
  521. MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x070b1
  522. MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x070b1
  523. MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x070b1
  524. MX6QDL_PAD_SD3_CMD__GPIO7_IO02 0x170b0 /* SD1 CD */
  525. >;
  526. };
  527. pinctrl_usdhc2: usdhc2grp {
  528. fsl,pins = <
  529. MX6QDL_PAD_SD2_CMD__SD2_CMD 0x070b1
  530. MX6QDL_PAD_SD2_CLK__SD2_CLK 0x070b1
  531. MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x070b1
  532. MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x070b1
  533. MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x070b1
  534. MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x070b1
  535. MX6QDL_PAD_SD3_CLK__GPIO7_IO03 0x170b0 /* SD2 CD */
  536. >;
  537. };
  538. };
  539. };
  540. &kpp {
  541. pinctrl-names = "default";
  542. pinctrl-0 = <&pinctrl_kpp>;
  543. /* sample keymap */
  544. /* row/col 0,1 are mapped to KPP row/col 6,7 */
  545. linux,keymap = <
  546. MATRIX_KEY(6, 6, KEY_POWER) /* 0x06060074 */
  547. MATRIX_KEY(6, 7, KEY_KP0) /* 0x06070052 */
  548. MATRIX_KEY(6, 2, KEY_KP1) /* 0x0602004f */
  549. MATRIX_KEY(6, 3, KEY_KP2) /* 0x06030050 */
  550. MATRIX_KEY(7, 6, KEY_KP3) /* 0x07060051 */
  551. MATRIX_KEY(7, 7, KEY_KP4) /* 0x0707004b */
  552. MATRIX_KEY(7, 2, KEY_KP5) /* 0x0702004c */
  553. MATRIX_KEY(7, 3, KEY_KP6) /* 0x0703004d */
  554. MATRIX_KEY(2, 6, KEY_KP7) /* 0x02060047 */
  555. MATRIX_KEY(2, 7, KEY_KP8) /* 0x02070048 */
  556. MATRIX_KEY(2, 2, KEY_KP9) /* 0x02020049 */
  557. >;
  558. status = "okay";
  559. };
  560. &pwm1 {
  561. pinctrl-names = "default";
  562. pinctrl-0 = <&pinctrl_pwm1>;
  563. #pwm-cells = <3>;
  564. status = "disabled";
  565. };
  566. &pwm2 {
  567. pinctrl-names = "default";
  568. pinctrl-0 = <&pinctrl_pwm2>;
  569. #pwm-cells = <3>;
  570. status = "okay";
  571. };
  572. &ssi1 {
  573. status = "okay";
  574. };
  575. &uart1 {
  576. pinctrl-names = "default";
  577. pinctrl-0 = <&pinctrl_uart1>;
  578. status = "okay";
  579. };
  580. &uart2 {
  581. pinctrl-names = "default";
  582. pinctrl-0 = <&pinctrl_uart2 &pinctrl_uart2_rtscts>;
  583. status = "okay";
  584. };
  585. &uart3 {
  586. pinctrl-names = "default";
  587. pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>;
  588. status = "okay";
  589. };
  590. &usbh1 {
  591. vbus-supply = <&reg_usbh1_vbus>;
  592. dr_mode = "host";
  593. disable-over-current;
  594. status = "okay";
  595. };
  596. &usbotg {
  597. vbus-supply = <&reg_usbotg_vbus>;
  598. pinctrl-names = "default";
  599. pinctrl-0 = <&pinctrl_usbotg>;
  600. dr_mode = "peripheral";
  601. disable-over-current;
  602. status = "okay";
  603. };
  604. &usdhc1 {
  605. pinctrl-names = "default";
  606. pinctrl-0 = <&pinctrl_usdhc1>;
  607. bus-width = <4>;
  608. no-1-8-v;
  609. cd-gpios = <&gpio7 2 0>;
  610. fsl,wp-controller;
  611. status = "okay";
  612. };
  613. &usdhc2 {
  614. pinctrl-names = "default";
  615. pinctrl-0 = <&pinctrl_usdhc2>;
  616. bus-width = <4>;
  617. no-1-8-v;
  618. cd-gpios = <&gpio7 3 0>;
  619. fsl,wp-controller;
  620. status = "okay";
  621. };