imx51-zii-rdu1.dts 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright (C) 2017 Zodiac Inflight Innovations
  4. */
  5. /dts-v1/;
  6. #include "imx51.dtsi"
  7. #include <dt-bindings/sound/fsl-imx-audmux.h>
  8. / {
  9. model = "ZII RDU1 Board";
  10. compatible = "zii,imx51-rdu1", "fsl,imx51";
  11. chosen {
  12. stdout-path = &uart1;
  13. };
  14. /* Will be filled by the bootloader */
  15. memory@90000000 {
  16. device_type = "memory";
  17. reg = <0x90000000 0>;
  18. };
  19. aliases {
  20. mdio-gpio0 = &mdio_gpio;
  21. rtc0 = &ds1341;
  22. };
  23. clk_26M_osc: 26M_osc {
  24. compatible = "fixed-clock";
  25. #clock-cells = <0>;
  26. clock-frequency = <26000000>;
  27. };
  28. clk_26M_osc_gate: 26M_gate {
  29. compatible = "gpio-gate-clock";
  30. pinctrl-names = "default";
  31. pinctrl-0 = <&pinctrl_clk26mhz>;
  32. clocks = <&clk_26M_osc>;
  33. #clock-cells = <0>;
  34. enable-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
  35. };
  36. clk_26M_usb: usbhost_gate {
  37. compatible = "gpio-gate-clock";
  38. pinctrl-names = "default";
  39. pinctrl-0 = <&pinctrl_usbgate26mhz>;
  40. clocks = <&clk_26M_osc_gate>;
  41. #clock-cells = <0>;
  42. enable-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
  43. };
  44. clk_26M_snd: snd_gate {
  45. compatible = "gpio-gate-clock";
  46. pinctrl-names = "default";
  47. pinctrl-0 = <&pinctrl_sndgate26mhz>;
  48. clocks = <&clk_26M_osc_gate>;
  49. #clock-cells = <0>;
  50. enable-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
  51. };
  52. reg_5p0v_main: regulator-5p0v-main {
  53. compatible = "regulator-fixed";
  54. regulator-name = "5V_MAIN";
  55. regulator-min-microvolt = <5000000>;
  56. regulator-max-microvolt = <5000000>;
  57. regulator-always-on;
  58. };
  59. reg_3p3v: regulator-3p3v {
  60. compatible = "regulator-fixed";
  61. regulator-name = "3.3V";
  62. regulator-min-microvolt = <3300000>;
  63. regulator-max-microvolt = <3300000>;
  64. regulator-always-on;
  65. };
  66. disp0 {
  67. compatible = "fsl,imx-parallel-display";
  68. pinctrl-names = "default";
  69. pinctrl-0 = <&pinctrl_ipu_disp1>;
  70. #address-cells = <1>;
  71. #size-cells = <0>;
  72. port@0 {
  73. reg = <0>;
  74. display_in: endpoint {
  75. remote-endpoint = <&ipu_di0_disp1>;
  76. };
  77. };
  78. port@1 {
  79. reg = <1>;
  80. display_out: endpoint {
  81. remote-endpoint = <&panel_in>;
  82. };
  83. };
  84. };
  85. panel {
  86. /* no compatible here, bootloader will patch in correct one */
  87. pinctrl-names = "default";
  88. pinctrl-0 = <&pinctrl_panel>;
  89. power-supply = <&reg_3p3v>;
  90. enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
  91. status = "disabled";
  92. port {
  93. panel_in: endpoint {
  94. remote-endpoint = <&display_out>;
  95. };
  96. };
  97. };
  98. i2c_gpio: i2c-gpio {
  99. compatible = "i2c-gpio";
  100. pinctrl-names = "default";
  101. pinctrl-0 = <&pinctrl_swi2c>;
  102. gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>, /* sda */
  103. <&gpio3 4 GPIO_ACTIVE_HIGH>; /* scl */
  104. i2c-gpio,delay-us = <50>;
  105. status = "okay";
  106. #address-cells = <1>;
  107. #size-cells = <0>;
  108. sgtl5000: codec@a {
  109. compatible = "fsl,sgtl5000";
  110. reg = <0x0a>;
  111. clocks = <&clk_26M_snd>;
  112. VDDA-supply = <&vdig_reg>;
  113. VDDIO-supply = <&vvideo_reg>;
  114. #sound-dai-cells = <0>;
  115. };
  116. };
  117. spi_gpio: spi {
  118. compatible = "spi-gpio";
  119. #address-cells = <1>;
  120. #size-cells = <0>;
  121. pinctrl-names = "default";
  122. pinctrl-0 = <&pinctrl_gpiospi0>;
  123. status = "okay";
  124. gpio-sck = <&gpio4 15 GPIO_ACTIVE_HIGH>;
  125. gpio-mosi = <&gpio4 12 GPIO_ACTIVE_HIGH>;
  126. gpio-miso = <&gpio4 11 GPIO_ACTIVE_HIGH>;
  127. num-chipselects = <1>;
  128. cs-gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
  129. eeprom@0 {
  130. compatible = "eeprom-93xx46";
  131. reg = <0>;
  132. spi-max-frequency = <1000000>;
  133. spi-cs-high;
  134. data-size = <8>;
  135. };
  136. };
  137. mdio_gpio: mdio-gpio {
  138. compatible = "virtual,mdio-gpio";
  139. pinctrl-names = "default";
  140. pinctrl-0 = <&pinctrl_swmdio>;
  141. gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>, /* mdc */
  142. <&gpio3 25 GPIO_ACTIVE_HIGH>; /* mdio */
  143. #address-cells = <1>;
  144. #size-cells = <0>;
  145. switch@0 {
  146. compatible = "marvell,mv88e6085";
  147. reg = <0>;
  148. dsa,member = <0 0>;
  149. ports {
  150. #address-cells = <1>;
  151. #size-cells = <0>;
  152. port@0 {
  153. reg = <0>;
  154. label = "cpu";
  155. ethernet = <&fec>;
  156. fixed-link {
  157. speed = <100>;
  158. full-duplex;
  159. };
  160. };
  161. port@1 {
  162. reg = <1>;
  163. label = "netaux";
  164. };
  165. port@3 {
  166. reg = <3>;
  167. label = "netright";
  168. };
  169. port@4 {
  170. reg = <4>;
  171. label = "netleft";
  172. };
  173. };
  174. };
  175. };
  176. sound {
  177. compatible = "simple-audio-card";
  178. simple-audio-card,name = "Front";
  179. simple-audio-card,format = "i2s";
  180. simple-audio-card,bitclock-master = <&sound_codec>;
  181. simple-audio-card,frame-master = <&sound_codec>;
  182. simple-audio-card,widgets =
  183. "Headphone", "Headphone Jack";
  184. simple-audio-card,routing =
  185. "Headphone Jack", "TPA6130A2 HPLEFT",
  186. "Headphone Jack", "TPA6130A2 HPRIGHT";
  187. simple-audio-card,aux-devs = <&hpa1>;
  188. sound_cpu: simple-audio-card,cpu {
  189. sound-dai = <&ssi2>;
  190. };
  191. sound_codec: simple-audio-card,codec {
  192. sound-dai = <&sgtl5000>;
  193. clocks = <&clk_26M_snd>;
  194. };
  195. };
  196. usbh1phy: usbphy1 {
  197. compatible = "usb-nop-xceiv";
  198. pinctrl-names = "default";
  199. pinctrl-0 = <&pinctrl_usbh1phy>;
  200. clocks = <&clk_26M_usb>;
  201. clock-names = "main_clk";
  202. reset-gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;
  203. vcc-supply = <&vusb_reg>;
  204. #phy-cells = <0>;
  205. };
  206. usbh2phy: usbphy2 {
  207. compatible = "usb-nop-xceiv";
  208. pinctrl-names = "default";
  209. pinctrl-0 = <&pinctrl_usbh2phy>;
  210. clocks = <&clk_26M_usb>;
  211. clock-names = "main_clk";
  212. reset-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
  213. vcc-supply = <&vusb_reg>;
  214. #phy-cells = <0>;
  215. };
  216. };
  217. &audmux {
  218. pinctrl-names = "default";
  219. pinctrl-0 = <&pinctrl_audmux>;
  220. status = "okay";
  221. ssi2 {
  222. fsl,audmux-port = <1>;
  223. fsl,port-config = <
  224. (IMX_AUDMUX_V2_PTCR_SYN |
  225. IMX_AUDMUX_V2_PTCR_TFSEL(2) |
  226. IMX_AUDMUX_V2_PTCR_TCSEL(2) |
  227. IMX_AUDMUX_V2_PTCR_TFSDIR |
  228. IMX_AUDMUX_V2_PTCR_TCLKDIR)
  229. IMX_AUDMUX_V2_PDCR_RXDSEL(2)
  230. >;
  231. };
  232. aud3 {
  233. fsl,audmux-port = <2>;
  234. fsl,port-config = <
  235. IMX_AUDMUX_V2_PTCR_SYN
  236. IMX_AUDMUX_V2_PDCR_RXDSEL(1)
  237. >;
  238. };
  239. };
  240. &cpu {
  241. cpu-supply = <&sw1_reg>;
  242. };
  243. &ecspi1 {
  244. pinctrl-names = "default";
  245. pinctrl-0 = <&pinctrl_ecspi1>;
  246. cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
  247. <&gpio4 25 GPIO_ACTIVE_LOW>;
  248. status = "okay";
  249. pmic@0 {
  250. compatible = "fsl,mc13892";
  251. pinctrl-names = "default";
  252. pinctrl-0 = <&pinctrl_pmic>;
  253. spi-max-frequency = <6000000>;
  254. spi-cs-high;
  255. reg = <0>;
  256. interrupt-parent = <&gpio1>;
  257. interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
  258. fsl,mc13xxx-uses-adc;
  259. regulators {
  260. sw1_reg: sw1 {
  261. regulator-min-microvolt = <600000>;
  262. regulator-max-microvolt = <1375000>;
  263. regulator-boot-on;
  264. regulator-always-on;
  265. };
  266. sw2_reg: sw2 {
  267. regulator-min-microvolt = <900000>;
  268. regulator-max-microvolt = <1850000>;
  269. regulator-boot-on;
  270. regulator-always-on;
  271. };
  272. sw3_reg: sw3 {
  273. regulator-min-microvolt = <1100000>;
  274. regulator-max-microvolt = <1850000>;
  275. regulator-boot-on;
  276. regulator-always-on;
  277. };
  278. sw4_reg: sw4 {
  279. regulator-min-microvolt = <1100000>;
  280. regulator-max-microvolt = <1850000>;
  281. regulator-boot-on;
  282. regulator-always-on;
  283. };
  284. vpll_reg: vpll {
  285. regulator-min-microvolt = <1050000>;
  286. regulator-max-microvolt = <1800000>;
  287. regulator-boot-on;
  288. regulator-always-on;
  289. };
  290. vdig_reg: vdig {
  291. regulator-min-microvolt = <1650000>;
  292. regulator-max-microvolt = <1650000>;
  293. regulator-boot-on;
  294. };
  295. vsd_reg: vsd {
  296. regulator-min-microvolt = <1800000>;
  297. regulator-max-microvolt = <3150000>;
  298. };
  299. vusb_reg: vusb {
  300. regulator-always-on;
  301. };
  302. vusb2_reg: vusb2 {
  303. regulator-min-microvolt = <2400000>;
  304. regulator-max-microvolt = <2775000>;
  305. regulator-boot-on;
  306. regulator-always-on;
  307. };
  308. vvideo_reg: vvideo {
  309. regulator-min-microvolt = <2775000>;
  310. regulator-max-microvolt = <2775000>;
  311. };
  312. vaudio_reg: vaudio {
  313. regulator-min-microvolt = <2300000>;
  314. regulator-max-microvolt = <3000000>;
  315. };
  316. vcam_reg: vcam {
  317. regulator-min-microvolt = <2500000>;
  318. regulator-max-microvolt = <3000000>;
  319. };
  320. vgen1_reg: vgen1 {
  321. regulator-min-microvolt = <1200000>;
  322. regulator-max-microvolt = <1200000>;
  323. };
  324. vgen2_reg: vgen2 {
  325. regulator-min-microvolt = <1200000>;
  326. regulator-max-microvolt = <3150000>;
  327. regulator-always-on;
  328. };
  329. vgen3_reg: vgen3 {
  330. regulator-min-microvolt = <1800000>;
  331. regulator-max-microvolt = <2900000>;
  332. regulator-always-on;
  333. };
  334. };
  335. leds {
  336. #address-cells = <1>;
  337. #size-cells = <0>;
  338. led-control = <0x0 0x0 0x3f83f8 0x0>;
  339. sysled0@3 {
  340. reg = <3>;
  341. label = "system:green:status";
  342. linux,default-trigger = "default-on";
  343. };
  344. sysled1@4 {
  345. reg = <4>;
  346. label = "system:green:act";
  347. linux,default-trigger = "heartbeat";
  348. };
  349. };
  350. };
  351. flash@1 {
  352. #address-cells = <1>;
  353. #size-cells = <1>;
  354. compatible = "atmel,at45db642d", "atmel,at45", "atmel,dataflash";
  355. spi-max-frequency = <25000000>;
  356. reg = <1>;
  357. };
  358. };
  359. &esdhc1 {
  360. pinctrl-names = "default";
  361. pinctrl-0 = <&pinctrl_esdhc1>;
  362. bus-width = <4>;
  363. no-1-8-v;
  364. non-removable;
  365. no-sdio;
  366. no-sd;
  367. status = "okay";
  368. };
  369. &fec {
  370. pinctrl-names = "default";
  371. pinctrl-0 = <&pinctrl_fec>;
  372. phy-mode = "mii";
  373. phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
  374. phy-supply = <&vgen3_reg>;
  375. status = "okay";
  376. };
  377. &gpio1 {
  378. gpio-line-names = "", "", "", "",
  379. "", "", "", "",
  380. "", "hp-amp-shutdown-b", "", "",
  381. "", "", "", "",
  382. "", "", "", "",
  383. "", "", "", "",
  384. "", "", "", "",
  385. "", "", "", "";
  386. unused-sd3-wp-hog {
  387. /*
  388. * See pinctrl_esdhc1 below for more details on this
  389. */
  390. gpio-hog;
  391. gpios = <1 GPIO_ACTIVE_HIGH>;
  392. output-high;
  393. };
  394. };
  395. &i2c2 {
  396. pinctrl-names = "default";
  397. pinctrl-0 = <&pinctrl_i2c2>;
  398. status = "okay";
  399. hpa1: amp@60 {
  400. compatible = "ti,tpa6130a2";
  401. reg = <0x60>;
  402. Vdd-supply = <&reg_3p3v>;
  403. sound-name-prefix = "TPA6130A2";
  404. };
  405. ds1341: rtc@68 {
  406. compatible = "dallas,ds1341";
  407. reg = <0x68>;
  408. };
  409. /* touch nodes default disabled, bootloader will enable the right one */
  410. touchscreen@4b {
  411. compatible = "atmel,maxtouch";
  412. reg = <0x4b>;
  413. pinctrl-names = "default";
  414. pinctrl-0 = <&pinctrl_ts>;
  415. interrupt-parent = <&gpio3>;
  416. interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
  417. status = "disabled";
  418. };
  419. touchscreen@4c {
  420. compatible = "atmel,maxtouch";
  421. reg = <0x4c>;
  422. pinctrl-names = "default";
  423. pinctrl-0 = <&pinctrl_ts>;
  424. interrupt-parent = <&gpio3>;
  425. interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
  426. status = "disabled";
  427. };
  428. touchscreen@20 {
  429. compatible = "syna,rmi4-i2c";
  430. reg = <0x20>;
  431. pinctrl-names = "default";
  432. pinctrl-0 = <&pinctrl_ts>;
  433. interrupt-parent = <&gpio3>;
  434. interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
  435. status = "disabled";
  436. #address-cells = <1>;
  437. #size-cells = <0>;
  438. rmi4-f01@1 {
  439. reg = <0x1>;
  440. syna,nosleep-mode = <2>;
  441. };
  442. rmi4-f11@11 {
  443. reg = <0x11>;
  444. touchscreen-inverted-x;
  445. touchscreen-swapped-x-y;
  446. syna,sensor-type = <1>;
  447. };
  448. };
  449. };
  450. &ipu_di0_disp1 {
  451. remote-endpoint = <&display_in>;
  452. };
  453. &pmu {
  454. secure-reg-access;
  455. };
  456. &ssi2 {
  457. status = "okay";
  458. };
  459. &uart1 {
  460. pinctrl-names = "default";
  461. pinctrl-0 = <&pinctrl_uart1>;
  462. status = "okay";
  463. };
  464. &uart2 {
  465. pinctrl-names = "default";
  466. pinctrl-0 = <&pinctrl_uart2>;
  467. status = "okay";
  468. };
  469. &uart3 {
  470. pinctrl-names = "default";
  471. pinctrl-0 = <&pinctrl_uart3>;
  472. status = "okay";
  473. rave-sp {
  474. compatible = "zii,rave-sp-rdu1";
  475. current-speed = <38400>;
  476. #address-cells = <1>;
  477. #size-cells = <1>;
  478. watchdog {
  479. compatible = "zii,rave-sp-watchdog";
  480. };
  481. backlight {
  482. compatible = "zii,rave-sp-backlight";
  483. };
  484. pwrbutton {
  485. compatible = "zii,rave-sp-pwrbutton";
  486. };
  487. eeprom@a3 {
  488. compatible = "zii,rave-sp-eeprom";
  489. reg = <0xa3 0x2000>;
  490. #address-cells = <1>;
  491. #size-cells = <1>;
  492. zii,eeprom-name = "dds-eeprom";
  493. };
  494. eeprom@a4 {
  495. compatible = "zii,rave-sp-eeprom";
  496. reg = <0xa4 0x4000>;
  497. #address-cells = <1>;
  498. #size-cells = <1>;
  499. zii,eeprom-name = "main-eeprom";
  500. };
  501. eeprom@ae {
  502. compatible = "zii,rave-sp-eeprom";
  503. reg = <0xae 0x200>;
  504. zii,eeprom-name = "switch-eeprom";
  505. /*
  506. * Not all RDU1s have this functionality, so we
  507. * rely on the bootloader to enable this
  508. */
  509. status = "disabled";
  510. };
  511. };
  512. };
  513. &usbh1 {
  514. pinctrl-names = "default";
  515. pinctrl-0 = <&pinctrl_usbh1>;
  516. dr_mode = "host";
  517. phy_type = "ulpi";
  518. fsl,usbphy = <&usbh1phy>;
  519. disable-over-current;
  520. maximum-speed = "full-speed";
  521. vbus-supply = <&reg_5p0v_main>;
  522. status = "okay";
  523. };
  524. &usbh2 {
  525. pinctrl-names = "default";
  526. pinctrl-0 = <&pinctrl_usbh2>;
  527. dr_mode = "host";
  528. phy_type = "ulpi";
  529. fsl,usbphy = <&usbh2phy>;
  530. disable-over-current;
  531. vbus-supply = <&reg_5p0v_main>;
  532. status = "okay";
  533. };
  534. &usbphy0 {
  535. vcc-supply = <&vusb_reg>;
  536. };
  537. &usbotg {
  538. dr_mode = "host";
  539. disable-over-current;
  540. phy_type = "utmi_wide";
  541. vbus-supply = <&reg_5p0v_main>;
  542. status = "okay";
  543. };
  544. &wdog1 {
  545. status = "disabled";
  546. };
  547. &iomuxc {
  548. pinctrl-names = "default";
  549. pinctrl-0 = <&pinctrl_hog>;
  550. pinctrl_hog: hoggrp {
  551. fsl,pins = <
  552. MX51_PAD_GPIO1_9__GPIO1_9 0x5e
  553. >;
  554. };
  555. pinctrl_audmux: audmuxgrp {
  556. fsl,pins = <
  557. MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0xa5
  558. MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x85
  559. MX51_PAD_AUD3_BB_CK__AUD3_TXC 0xa5
  560. MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x85
  561. >;
  562. };
  563. pinctrl_clk26mhz: clk26mhzgrp {
  564. fsl,pins = <
  565. MX51_PAD_DI1_PIN12__GPIO3_1 0x85
  566. >;
  567. };
  568. pinctrl_ecspi1: ecspi1grp {
  569. fsl,pins = <
  570. MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185
  571. MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185
  572. MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
  573. MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
  574. MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
  575. >;
  576. };
  577. pinctrl_esdhc1: esdhc1grp {
  578. fsl,pins = <
  579. MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5
  580. MX51_PAD_SD1_CLK__SD1_CLK 0x20d5
  581. MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5
  582. MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5
  583. MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5
  584. MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
  585. /*
  586. * GPIO1_1 is not directly used by eSDHC1 in
  587. * any capacity, but earlier versions of RDU1
  588. * used that pin as WP GPIO for eSDHC3 and
  589. * because of that that pad has an external
  590. * pull-up resistor. This is problematic
  591. * because out of reset the pad is configured
  592. * as ALT0 which serves as SD1_WP, which, when
  593. * pulled high by and external pull-up, will
  594. * inhibit execution of any write request to
  595. * attached eMMC device.
  596. *
  597. * To avoid this problem we configure the pad
  598. * to ALT1/GPIO and avoid driving SD1_WP
  599. * signal high.
  600. */
  601. MX51_PAD_GPIO1_1__GPIO1_1 0x0000
  602. >;
  603. };
  604. pinctrl_fec: fecgrp {
  605. fsl,pins = <
  606. MX51_PAD_EIM_EB2__FEC_MDIO 0x1f5
  607. MX51_PAD_NANDF_D9__FEC_RDATA0 0x2180
  608. MX51_PAD_EIM_EB3__FEC_RDATA1 0x180
  609. MX51_PAD_EIM_CS2__FEC_RDATA2 0x180
  610. MX51_PAD_EIM_CS3__FEC_RDATA3 0x180
  611. MX51_PAD_EIM_CS4__FEC_RX_ER 0x180
  612. MX51_PAD_NANDF_D11__FEC_RX_DV 0x2084
  613. MX51_PAD_EIM_CS5__FEC_CRS 0x180
  614. MX51_PAD_NANDF_RB2__FEC_COL 0x2180
  615. MX51_PAD_NANDF_RB3__FEC_RX_CLK 0x2180
  616. MX51_PAD_NANDF_CS2__FEC_TX_ER 0x2004
  617. MX51_PAD_NANDF_CS3__FEC_MDC 0x2004
  618. MX51_PAD_NANDF_D8__FEC_TDATA0 0x2180
  619. MX51_PAD_NANDF_CS4__FEC_TDATA1 0x2004
  620. MX51_PAD_NANDF_CS5__FEC_TDATA2 0x2004
  621. MX51_PAD_NANDF_CS6__FEC_TDATA3 0x2004
  622. MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x2004
  623. MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x2180
  624. MX51_PAD_EIM_A20__GPIO2_14 0x85
  625. >;
  626. };
  627. pinctrl_gpiospi0: gpiospi0grp {
  628. fsl,pins = <
  629. MX51_PAD_CSI2_D18__GPIO4_11 0x85
  630. MX51_PAD_CSI2_D19__GPIO4_12 0x85
  631. MX51_PAD_CSI2_HSYNC__GPIO4_14 0x85
  632. MX51_PAD_CSI2_PIXCLK__GPIO4_15 0x85
  633. >;
  634. };
  635. pinctrl_i2c2: i2c2grp {
  636. fsl,pins = <
  637. MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed
  638. MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
  639. >;
  640. };
  641. pinctrl_ipu_disp1: ipudisp1grp {
  642. fsl,pins = <
  643. MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5
  644. MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5
  645. MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5
  646. MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5
  647. MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5
  648. MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5
  649. MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5
  650. MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5
  651. MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5
  652. MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5
  653. MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5
  654. MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5
  655. MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5
  656. MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5
  657. MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5
  658. MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5
  659. MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5
  660. MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5
  661. MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5
  662. MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5
  663. MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5
  664. MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5
  665. MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5
  666. MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5
  667. MX51_PAD_DI1_PIN2__DI1_PIN2 0x5
  668. MX51_PAD_DI1_PIN3__DI1_PIN3 0x5
  669. MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5
  670. >;
  671. };
  672. pinctrl_panel: panelgrp {
  673. fsl,pins = <
  674. MX51_PAD_DI1_D0_CS__GPIO3_3 0x85
  675. >;
  676. };
  677. pinctrl_pmic: pmicgrp {
  678. fsl,pins = <
  679. MX51_PAD_GPIO1_4__GPIO1_4 0x1e0
  680. MX51_PAD_GPIO1_8__GPIO1_8 0x21e2
  681. >;
  682. };
  683. pinctrl_sndgate26mhz: sndgate26mhzgrp {
  684. fsl,pins = <
  685. MX51_PAD_CSPI1_RDY__GPIO4_26 0x85
  686. >;
  687. };
  688. pinctrl_swi2c: swi2cgrp {
  689. fsl,pins = <
  690. MX51_PAD_GPIO1_2__GPIO1_2 0xc5
  691. MX51_PAD_DI1_D1_CS__GPIO3_4 0x400001f5
  692. >;
  693. };
  694. pinctrl_swmdio: swmdiogrp {
  695. fsl,pins = <
  696. MX51_PAD_NANDF_D14__GPIO3_26 0x21e6
  697. MX51_PAD_NANDF_D15__GPIO3_25 0x21e6
  698. >;
  699. };
  700. pinctrl_ts: tsgrp {
  701. fsl,pins = <
  702. MX51_PAD_CSI1_D8__GPIO3_12 0x04
  703. MX51_PAD_CSI1_D9__GPIO3_13 0x85
  704. >;
  705. };
  706. pinctrl_uart1: uart1grp {
  707. fsl,pins = <
  708. MX51_PAD_UART1_RXD__UART1_RXD 0x1c5
  709. MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
  710. MX51_PAD_UART1_RTS__UART1_RTS 0x1c4
  711. MX51_PAD_UART1_CTS__UART1_CTS 0x1c4
  712. >;
  713. };
  714. pinctrl_uart2: uart2grp {
  715. fsl,pins = <
  716. MX51_PAD_UART2_RXD__UART2_RXD 0xc5
  717. MX51_PAD_UART2_TXD__UART2_TXD 0xc5
  718. >;
  719. };
  720. pinctrl_uart3: uart3grp {
  721. fsl,pins = <
  722. MX51_PAD_EIM_D25__UART3_RXD 0x1c5
  723. MX51_PAD_EIM_D26__UART3_TXD 0x1c5
  724. >;
  725. };
  726. pinctrl_usbgate26mhz: usbgate26mhzgrp {
  727. fsl,pins = <
  728. MX51_PAD_DISP2_DAT6__GPIO1_19 0x85
  729. >;
  730. };
  731. pinctrl_usbh1: usbh1grp {
  732. fsl,pins = <
  733. MX51_PAD_USBH1_STP__USBH1_STP 0x0
  734. MX51_PAD_USBH1_CLK__USBH1_CLK 0x0
  735. MX51_PAD_USBH1_DIR__USBH1_DIR 0x0
  736. MX51_PAD_USBH1_NXT__USBH1_NXT 0x0
  737. MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x0
  738. MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x0
  739. MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x0
  740. MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x0
  741. MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x0
  742. MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x0
  743. MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x0
  744. MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x0
  745. >;
  746. };
  747. pinctrl_usbh1phy: usbh1phygrp {
  748. fsl,pins = <
  749. MX51_PAD_NANDF_D0__GPIO4_8 0x85
  750. >;
  751. };
  752. pinctrl_usbh2: usbh2grp {
  753. fsl,pins = <
  754. MX51_PAD_EIM_A26__USBH2_STP 0x0
  755. MX51_PAD_EIM_A24__USBH2_CLK 0x0
  756. MX51_PAD_EIM_A25__USBH2_DIR 0x0
  757. MX51_PAD_EIM_A27__USBH2_NXT 0x0
  758. MX51_PAD_EIM_D16__USBH2_DATA0 0x0
  759. MX51_PAD_EIM_D17__USBH2_DATA1 0x0
  760. MX51_PAD_EIM_D18__USBH2_DATA2 0x0
  761. MX51_PAD_EIM_D19__USBH2_DATA3 0x0
  762. MX51_PAD_EIM_D20__USBH2_DATA4 0x0
  763. MX51_PAD_EIM_D21__USBH2_DATA5 0x0
  764. MX51_PAD_EIM_D22__USBH2_DATA6 0x0
  765. MX51_PAD_EIM_D23__USBH2_DATA7 0x0
  766. >;
  767. };
  768. pinctrl_usbh2phy: usbh2phygrp {
  769. fsl,pins = <
  770. MX51_PAD_NANDF_D1__GPIO4_7 0x85
  771. >;
  772. };
  773. };