imx6qdl-zii-rdu2.dtsi 24 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091
  1. /*
  2. * Copyright (C) 2016-2017 Zodiac Inflight Innovations
  3. *
  4. * This file is dual-licensed: you can use it either under the terms
  5. * of the GPL or the X11 license, at your option. Note that this dual
  6. * licensing only applies to this file, and not this project as a
  7. * whole.
  8. *
  9. * a) This file is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License
  11. * version 2 as published by the Free Software Foundation.
  12. *
  13. * This file is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * Or, alternatively,
  19. *
  20. * b) Permission is hereby granted, free of charge, to any person
  21. * obtaining a copy of this software and associated documentation
  22. * files (the "Software"), to deal in the Software without
  23. * restriction, including without limitation the rights to use,
  24. * copy, modify, merge, publish, distribute, sublicense, and/or
  25. * sell copies of the Software, and to permit persons to whom the
  26. * Software is furnished to do so, subject to the following
  27. * conditions:
  28. *
  29. * The above copyright notice and this permission notice shall be
  30. * included in all copies or substantial portions of the Software.
  31. *
  32. * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND,
  33. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  34. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  35. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  36. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  37. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  38. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  39. * OTHER DEALINGS IN THE SOFTWARE.
  40. */
  41. #include <dt-bindings/gpio/gpio.h>
  42. #include <dt-bindings/sound/fsl-imx-audmux.h>
  43. / {
  44. chosen {
  45. stdout-path = &uart1;
  46. };
  47. aliases {
  48. mdio-gpio0 = &mdio1;
  49. rtc0 = &ds1341;
  50. };
  51. mdio1: mdio {
  52. compatible = "virtual,mdio-gpio";
  53. #address-cells = <1>;
  54. #size-cells = <0>;
  55. pinctrl-names = "default";
  56. pinctrl-0 = <&pinctrl_mdio1>;
  57. gpios = <&gpio6 5 GPIO_ACTIVE_HIGH
  58. &gpio6 4 GPIO_ACTIVE_HIGH>;
  59. phy: ethernet-phy@0 {
  60. pinctrl-0 = <&pinctrl_rmii_phy_irq>;
  61. pinctrl-names = "default";
  62. reg = <0>;
  63. interrupt-parent = <&gpio3>;
  64. interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
  65. };
  66. };
  67. reg_28p0v: regulator-28p0v {
  68. compatible = "regulator-fixed";
  69. regulator-name = "28V_IN";
  70. regulator-min-microvolt = <28000000>;
  71. regulator-max-microvolt = <28000000>;
  72. regulator-always-on;
  73. };
  74. reg_12p0v: regulator-12p0v {
  75. compatible = "regulator-fixed";
  76. vin-supply = <&reg_28p0v>;
  77. regulator-name = "12V_MAIN";
  78. regulator-min-microvolt = <12000000>;
  79. regulator-max-microvolt = <12000000>;
  80. regulator-always-on;
  81. };
  82. reg_5p0v_main: regulator-5p0v-main {
  83. compatible = "regulator-fixed";
  84. vin-supply = <&reg_12p0v>;
  85. regulator-name = "5V_MAIN";
  86. regulator-min-microvolt = <5000000>;
  87. regulator-max-microvolt = <5000000>;
  88. regulator-always-on;
  89. };
  90. reg_5p0v_user_usb: regulator-5p0v-user-usb {
  91. compatible = "regulator-fixed";
  92. pinctrl-names = "default";
  93. pinctrl-0 = <&pinctrl_reg_user_usb>;
  94. vin-supply = <&reg_5p0v_main>;
  95. regulator-name = "5V_USER_USB";
  96. regulator-min-microvolt = <5000000>;
  97. regulator-max-microvolt = <5000000>;
  98. gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
  99. startup-delay-us = <1000>;
  100. };
  101. reg_3p3v_pmic: regulator-3p3v-pmic {
  102. compatible = "regulator-fixed";
  103. vin-supply = <&reg_12p0v>;
  104. regulator-name = "PMIC_3V3";
  105. regulator-min-microvolt = <3300000>;
  106. regulator-max-microvolt = <3300000>;
  107. regulator-always-on;
  108. };
  109. reg_3p3v: regulator-3p3v {
  110. compatible = "regulator-fixed";
  111. vin-supply = <&reg_3p3v_pmic>;
  112. regulator-name = "GEN_3V3";
  113. regulator-min-microvolt = <3300000>;
  114. regulator-max-microvolt = <3300000>;
  115. regulator-always-on;
  116. };
  117. reg_3p3v_sd: regulator-3p3v-sd {
  118. compatible = "regulator-fixed";
  119. pinctrl-names = "default";
  120. pinctrl-0 = <&pinctrl_reg_3p3v_sd>;
  121. vin-supply = <&reg_3p3v>;
  122. regulator-name = "3V3_SD";
  123. regulator-min-microvolt = <3300000>;
  124. regulator-max-microvolt = <3300000>;
  125. gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
  126. startup-delay-us = <1000>;
  127. enable-active-high;
  128. regulator-always-on;
  129. };
  130. reg_3p3v_display: regulator-3p3v-display {
  131. compatible = "regulator-fixed";
  132. vin-supply = <&reg_12p0v>;
  133. regulator-name = "3V3_DISPLAY";
  134. regulator-min-microvolt = <3300000>;
  135. regulator-max-microvolt = <3300000>;
  136. regulator-always-on;
  137. };
  138. reg_3p3v_ssd: regulator-3p3v-ssd {
  139. compatible = "regulator-fixed";
  140. vin-supply = <&reg_12p0v>;
  141. regulator-name = "3V3_SSD";
  142. regulator-min-microvolt = <3300000>;
  143. regulator-max-microvolt = <3300000>;
  144. regulator-always-on;
  145. };
  146. sound1 {
  147. compatible = "simple-audio-card";
  148. simple-audio-card,name = "Front";
  149. simple-audio-card,format = "i2s";
  150. simple-audio-card,bitclock-master = <&sound1_codec>;
  151. simple-audio-card,frame-master = <&sound1_codec>;
  152. simple-audio-card,widgets =
  153. "Headphone", "Headphone Jack";
  154. simple-audio-card,routing =
  155. "Headphone Jack", "HPLEFT",
  156. "Headphone Jack", "HPRIGHT",
  157. "LEFTIN", "HPL",
  158. "RIGHTIN", "HPR";
  159. simple-audio-card,aux-devs = <&hpa1>;
  160. sound1_cpu: simple-audio-card,cpu {
  161. sound-dai = <&ssi2>;
  162. };
  163. sound1_codec: simple-audio-card,codec {
  164. sound-dai = <&codec1>;
  165. clocks = <&cs2000>;
  166. };
  167. };
  168. sound2 {
  169. compatible = "simple-audio-card";
  170. simple-audio-card,name = "Back";
  171. simple-audio-card,format = "i2s";
  172. simple-audio-card,bitclock-master = <&sound2_codec>;
  173. simple-audio-card,frame-master = <&sound2_codec>;
  174. simple-audio-card,widgets =
  175. "Headphone", "Headphone Jack";
  176. simple-audio-card,routing =
  177. "Headphone Jack", "HPLEFT",
  178. "Headphone Jack", "HPRIGHT",
  179. "LEFTIN", "HPL",
  180. "RIGHTIN", "HPR";
  181. simple-audio-card,aux-devs = <&hpa2>;
  182. sound2_cpu: simple-audio-card,cpu {
  183. sound-dai = <&ssi1>;
  184. };
  185. sound2_codec: simple-audio-card,codec {
  186. sound-dai = <&codec2>;
  187. clocks = <&cs2000>;
  188. };
  189. };
  190. panel {
  191. power-supply = <&reg_3p3v_display>;
  192. status = "disabled";
  193. port {
  194. panel_in: endpoint {
  195. remote-endpoint = <&lvds0_out>;
  196. };
  197. };
  198. };
  199. disp0: disp0 {
  200. #address-cells = <1>;
  201. #size-cells = <0>;
  202. compatible = "fsl,imx-parallel-display";
  203. pinctrl-names = "default";
  204. pinctrl-0 = <&pinctrl_disp0>;
  205. status = "disabled";
  206. port@0 {
  207. reg = <0>;
  208. disp0_in_0: endpoint {
  209. remote-endpoint = <&ipu1_di0_disp0>;
  210. };
  211. };
  212. port@1 {
  213. reg = <1>;
  214. disp0_out: endpoint {
  215. remote-endpoint = <&tc358767_in>;
  216. };
  217. };
  218. };
  219. cs2000_ref: cs2000-ref {
  220. compatible = "fixed-clock";
  221. #clock-cells = <0>;
  222. clock-frequency = <24576000>;
  223. };
  224. cs2000_in_dummy: cs2000-in-dummy {
  225. compatible = "fixed-clock";
  226. #clock-cells = <0>;
  227. clock-frequency = <0>;
  228. };
  229. edp_refclk: edp-refclk {
  230. compatible = "fixed-clock";
  231. #clock-cells = <0>;
  232. clock-frequency = <19200000>;
  233. };
  234. };
  235. &cpu0 {
  236. fsl,soc-operating-points = <
  237. /* ARM kHz SOC-PU uV */
  238. 1200000 1300000
  239. 996000 1275000
  240. 852000 1275000
  241. 792000 1200000
  242. 396000 1200000
  243. >;
  244. };
  245. &reg_arm {
  246. vin-supply = <&sw1a_reg>;
  247. };
  248. &reg_pu {
  249. vin-supply = <&sw1c_reg>;
  250. };
  251. &reg_soc {
  252. vin-supply = <&sw1c_reg>;
  253. };
  254. &ldb {
  255. lvds-channel@0 {
  256. port@4 {
  257. reg = <4>;
  258. lvds0_out: endpoint {
  259. remote-endpoint = <&panel_in>;
  260. };
  261. };
  262. };
  263. };
  264. &uart1 {
  265. pinctrl-names = "default";
  266. pinctrl-0 = <&pinctrl_uart1>;
  267. status = "okay";
  268. };
  269. &uart3 {
  270. pinctrl-names = "default";
  271. pinctrl-0 = <&pinctrl_uart3>;
  272. uart-has-rtscts;
  273. linux,rs485-enabled-at-boot-time;
  274. status = "okay";
  275. };
  276. &uart4 {
  277. pinctrl-names = "default";
  278. pinctrl-0 = <&pinctrl_uart4>;
  279. status = "okay";
  280. rave-sp {
  281. compatible = "zii,rave-sp-rdu2";
  282. current-speed = <1000000>;
  283. watchdog {
  284. compatible = "zii,rave-sp-watchdog";
  285. };
  286. };
  287. };
  288. &ecspi1 {
  289. pinctrl-names = "default";
  290. pinctrl-0 = <&pinctrl_ecspi1>;
  291. cs-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
  292. status = "okay";
  293. flash@0 {
  294. compatible = "st,m25p128", "jedec,spi-nor";
  295. spi-max-frequency = <20000000>;
  296. reg = <0>;
  297. };
  298. };
  299. &i2c1 {
  300. pinctrl-names = "default";
  301. pinctrl-0 = <&pinctrl_i2c1>;
  302. clock-frequency = <100000>;
  303. status = "okay";
  304. codec2: codec@18 {
  305. compatible = "ti,tlv320dac3100";
  306. pinctrl-names = "default";
  307. pinctrl-0 = <&pinctrl_codec2>;
  308. reg = <0x18>;
  309. #sound-dai-cells = <0>;
  310. HPVDD-supply = <&reg_3p3v>;
  311. SPRVDD-supply = <&reg_3p3v>;
  312. SPLVDD-supply = <&reg_3p3v>;
  313. AVDD-supply = <&reg_3p3v>;
  314. IOVDD-supply = <&reg_3p3v>;
  315. DVDD-supply = <&vgen4_reg>;
  316. gpio-reset = <&gpio1 2 GPIO_ACTIVE_HIGH>;
  317. };
  318. accel@1c {
  319. pinctrl-names = "default";
  320. pinctrl-0 = <&pinctrl_accel>;
  321. compatible = "fsl,mma8451";
  322. reg = <0x1c>;
  323. interrupt-parent = <&gpio1>;
  324. interrupt-names = "int1", "int2";
  325. interrupts = <18 IRQ_TYPE_LEVEL_LOW>, <20 IRQ_TYPE_LEVEL_LOW>;
  326. };
  327. hpa2: amp@60 {
  328. compatible = "ti,tpa6130a2";
  329. pinctrl-names = "default";
  330. pinctrl-0 = <&pinctrl_tpa2>;
  331. reg = <0x60>;
  332. power-gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
  333. Vdd-supply = <&reg_5p0v_main>;
  334. };
  335. edp-bridge@68 {
  336. compatible = "toshiba,tc358767";
  337. pinctrl-names = "default";
  338. pinctrl-0 = <&pinctrl_tc358767>;
  339. reg = <0x68>;
  340. shutdown-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
  341. clock-names = "ref";
  342. clocks = <&edp_refclk>;
  343. status = "disabled";
  344. ports {
  345. #address-cells = <1>;
  346. #size-cells = <0>;
  347. port@1 {
  348. reg = <1>;
  349. tc358767_in: endpoint {
  350. remote-endpoint = <&disp0_out>;
  351. };
  352. };
  353. };
  354. };
  355. };
  356. &i2c2 {
  357. pinctrl-names = "default";
  358. pinctrl-0 = <&pinctrl_i2c2>;
  359. clock-frequency = <100000>;
  360. status = "okay";
  361. pmic@8 {
  362. compatible = "fsl,pfuze100";
  363. pinctrl-names = "default";
  364. pinctrl-0 = <&pinctrl_pfuze100_irq>;
  365. reg = <0x08>;
  366. interrupt-parent = <&gpio7>;
  367. interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
  368. regulators {
  369. sw1a_reg: sw1ab {
  370. regulator-min-microvolt = <300000>;
  371. regulator-max-microvolt = <1875000>;
  372. regulator-boot-on;
  373. regulator-always-on;
  374. regulator-ramp-delay = <6250>;
  375. };
  376. sw1c_reg: sw1c {
  377. regulator-min-microvolt = <300000>;
  378. regulator-max-microvolt = <1875000>;
  379. regulator-boot-on;
  380. regulator-always-on;
  381. regulator-ramp-delay = <6250>;
  382. };
  383. sw2_reg: sw2 {
  384. regulator-min-microvolt = <800000>;
  385. regulator-max-microvolt = <3000000>;
  386. regulator-boot-on;
  387. regulator-always-on;
  388. };
  389. sw3a_reg: sw3a {
  390. regulator-min-microvolt = <400000>;
  391. regulator-max-microvolt = <1500000>;
  392. regulator-boot-on;
  393. regulator-always-on;
  394. };
  395. sw3b_reg: sw3b {
  396. regulator-min-microvolt = <400000>;
  397. regulator-max-microvolt = <1500000>;
  398. regulator-boot-on;
  399. regulator-always-on;
  400. };
  401. sw4_reg: sw4 {
  402. regulator-min-microvolt = <800000>;
  403. regulator-max-microvolt = <1800000>;
  404. regulator-boot-on;
  405. regulator-always-on;
  406. };
  407. snvs_reg: vsnvs {
  408. regulator-min-microvolt = <1000000>;
  409. regulator-max-microvolt = <3000000>;
  410. regulator-boot-on;
  411. regulator-always-on;
  412. };
  413. vref_reg: vrefddr {
  414. regulator-boot-on;
  415. regulator-always-on;
  416. };
  417. vgen2_reg: vgen2 {
  418. regulator-min-microvolt = <1000000>;
  419. regulator-max-microvolt = <1500000>;
  420. regulator-always-on;
  421. };
  422. vgen4_reg: vgen4 {
  423. regulator-min-microvolt = <1200000>;
  424. regulator-max-microvolt = <1800000>;
  425. regulator-always-on;
  426. };
  427. vgen5_reg: vgen5 {
  428. regulator-min-microvolt = <1800000>;
  429. regulator-max-microvolt = <2500000>;
  430. regulator-always-on;
  431. };
  432. vgen6_reg: vgen6 {
  433. regulator-min-microvolt = <1800000>;
  434. regulator-max-microvolt = <2800000>;
  435. regulator-always-on;
  436. };
  437. };
  438. };
  439. temp-sense@48 {
  440. compatible = "national,lm75";
  441. reg = <0x48>;
  442. };
  443. cs2000: clkgen@4e {
  444. compatible = "cirrus,cs2000-cp";
  445. reg = <0x4e>;
  446. #clock-cells = <0>;
  447. clock-names = "clk_in", "ref_clk";
  448. clocks = <&cs2000_in_dummy>, <&cs2000_ref>;
  449. assigned-clocks = <&cs2000>;
  450. assigned-clock-rates = <24000000>;
  451. };
  452. eeprom@54 {
  453. compatible = "atmel,24c128";
  454. reg = <0x54>;
  455. };
  456. ds1341: rtc@68 {
  457. compatible = "dallas,ds1341";
  458. reg = <0x68>;
  459. };
  460. };
  461. &i2c3 {
  462. pinctrl-names = "default";
  463. pinctrl-0 = <&pinctrl_i2c3>;
  464. clock-frequency = <400000>;
  465. status = "okay";
  466. codec1: codec@18 {
  467. compatible = "ti,tlv320dac3100";
  468. pinctrl-names = "default";
  469. pinctrl-0 = <&pinctrl_codec1>;
  470. reg = <0x18>;
  471. #sound-dai-cells = <0>;
  472. HPVDD-supply = <&reg_3p3v>;
  473. SPRVDD-supply = <&reg_3p3v>;
  474. SPLVDD-supply = <&reg_3p3v>;
  475. AVDD-supply = <&reg_3p3v>;
  476. IOVDD-supply = <&reg_3p3v>;
  477. DVDD-supply = <&vgen4_reg>;
  478. gpio-reset = <&gpio1 0 GPIO_ACTIVE_HIGH>;
  479. };
  480. touchscreen@20 {
  481. compatible = "syna,rmi4-i2c";
  482. pinctrl-names = "default";
  483. pinctrl-0 = <&pinctrl_ts>;
  484. reg = <0x20>;
  485. interrupt-parent = <&gpio1>;
  486. interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
  487. vdd-supply = <&reg_5p0v_main>;
  488. vio-supply = <&reg_3p3v>;
  489. #address-cells = <1>;
  490. #size-cells = <0>;
  491. rmi4-f01@1 {
  492. reg = <0x1>;
  493. syna,nosleep-mode = <2>;
  494. };
  495. rmi4-f11@11 {
  496. reg = <0x11>;
  497. touchscreen-inverted-y;
  498. touchscreen-swapped-x-y;
  499. syna,sensor-type = <1>;
  500. };
  501. rmi4-f12@12 {
  502. reg = <0x12>;
  503. touchscreen-inverted-y;
  504. touchscreen-swapped-x-y;
  505. syna,sensor-type = <1>;
  506. };
  507. };
  508. touchscreen@2a {
  509. compatible = "eeti,egalax_ts";
  510. pinctrl-names = "default";
  511. pinctrl-0 = <&pinctrl_ts>;
  512. reg = <0x2a>;
  513. interrupt-parent = <&gpio1>;
  514. interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
  515. wakeup-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
  516. status = "disabled";
  517. };
  518. hpa1: amp@60 {
  519. compatible = "ti,tpa6130a2";
  520. pinctrl-names = "default";
  521. pinctrl-0 = <&pinctrl_tpa1>;
  522. reg = <0x60>;
  523. power-gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
  524. Vdd-supply = <&reg_5p0v_main>;
  525. };
  526. };
  527. &ipu1_di0_disp0 {
  528. remote-endpoint = <&disp0_in_0>;
  529. };
  530. &pcie {
  531. pinctrl-names = "default";
  532. pinctrl-0 = <&pinctrl_pcie>;
  533. reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
  534. status = "okay";
  535. host@0 {
  536. reg = <0 0 0 0 0>;
  537. #address-cells = <3>;
  538. #size-cells = <2>;
  539. i210: i210@0 {
  540. reg = <0 0 0 0 0>;
  541. };
  542. };
  543. };
  544. &usdhc2 {
  545. pinctrl-names = "default";
  546. pinctrl-0 = <&pinctrl_usdhc2>;
  547. bus-width = <4>;
  548. cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
  549. wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
  550. vmmc-supply = <&reg_3p3v_sd>;
  551. vqmmc-supply = <&reg_3p3v>;
  552. no-1-8-v;
  553. no-sdio;
  554. status = "okay";
  555. };
  556. &usdhc3 {
  557. pinctrl-names = "default";
  558. pinctrl-0 = <&pinctrl_usdhc3>;
  559. bus-width = <4>;
  560. cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
  561. wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
  562. vmmc-supply = <&reg_3p3v_sd>;
  563. vqmmc-supply = <&reg_3p3v>;
  564. no-1-8-v;
  565. no-sdio;
  566. status = "okay";
  567. };
  568. &usdhc4 {
  569. pinctrl-names = "default";
  570. pinctrl-0 = <&pinctrl_usdhc4>;
  571. bus-width = <8>;
  572. vmmc-supply = <&reg_3p3v>;
  573. vqmmc-supply = <&reg_3p3v>;
  574. no-1-8-v;
  575. non-removable;
  576. no-sdio;
  577. no-sd;
  578. status = "okay";
  579. };
  580. &sata {
  581. target-supply = <&reg_3p3v_ssd>;
  582. status = "okay";
  583. };
  584. &fec {
  585. pinctrl-names = "default";
  586. pinctrl-0 = <&pinctrl_enet>;
  587. phy-mode = "rmii";
  588. phy-handle = <&phy>;
  589. phy-reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
  590. phy-reset-duration = <100>;
  591. phy-supply = <&reg_3p3v>;
  592. status = "okay";
  593. mdio {
  594. #address-cells = <1>;
  595. #size-cells = <0>;
  596. status = "okay";
  597. switch: switch@0 {
  598. compatible = "marvell,mv88e6085";
  599. pinctrl-0 = <&pinctrl_switch_irq>;
  600. pinctrl-names = "default";
  601. reg = <0>;
  602. dsa,member = <0 0>;
  603. eeprom-length = <512>;
  604. interrupt-parent = <&gpio6>;
  605. interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
  606. interrupt-controller;
  607. #interrupt-cells = <2>;
  608. ports {
  609. #address-cells = <1>;
  610. #size-cells = <0>;
  611. port@0 {
  612. reg = <0>;
  613. label = "gigabit_proc";
  614. phy-handle = <&switchphy0>;
  615. };
  616. port@1 {
  617. reg = <1>;
  618. label = "netaux";
  619. phy-handle = <&switchphy1>;
  620. };
  621. port@2 {
  622. reg = <2>;
  623. label = "cpu";
  624. ethernet = <&fec>;
  625. fixed-link {
  626. speed = <100>;
  627. full-duplex;
  628. };
  629. };
  630. port@3 {
  631. reg = <3>;
  632. label = "netright";
  633. phy-handle = <&switchphy3>;
  634. };
  635. port@4 {
  636. reg = <4>;
  637. label = "netleft";
  638. phy-handle = <&switchphy4>;
  639. };
  640. };
  641. mdio {
  642. #address-cells = <1>;
  643. #size-cells = <0>;
  644. switchphy0: switchphy@0 {
  645. reg = <0>;
  646. interrupt-parent = <&switch>;
  647. interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
  648. };
  649. switchphy1: switchphy@1 {
  650. reg = <1>;
  651. interrupt-parent = <&switch>;
  652. interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
  653. };
  654. switchphy2: switchphy@2 {
  655. reg = <2>;
  656. interrupt-parent = <&switch>;
  657. interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
  658. };
  659. switchphy3: switchphy@3 {
  660. reg = <3>;
  661. interrupt-parent = <&switch>;
  662. interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
  663. };
  664. switchphy4: switchphy@4 {
  665. reg = <4>;
  666. interrupt-parent = <&switch>;
  667. interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
  668. };
  669. };
  670. };
  671. };
  672. };
  673. &usbh1 {
  674. vbus-supply = <&reg_5p0v_main>;
  675. disable-over-current;
  676. status = "okay";
  677. };
  678. &usbotg {
  679. vbus-supply = <&reg_5p0v_user_usb>;
  680. disable-over-current;
  681. dr_mode = "host";
  682. status = "okay";
  683. };
  684. &ssi1 {
  685. status = "okay";
  686. };
  687. &ssi2 {
  688. status = "okay";
  689. };
  690. &audmux {
  691. pinctrl-names = "default";
  692. pinctrl-0 = <&pinctrl_audmux>;
  693. status = "okay";
  694. ssi1 {
  695. fsl,audmux-port = <0>;
  696. fsl,port-config = <
  697. (IMX_AUDMUX_V2_PTCR_SYN |
  698. IMX_AUDMUX_V2_PTCR_TFSEL(2) |
  699. IMX_AUDMUX_V2_PTCR_TCSEL(2) |
  700. IMX_AUDMUX_V2_PTCR_TFSDIR |
  701. IMX_AUDMUX_V2_PTCR_TCLKDIR)
  702. IMX_AUDMUX_V2_PDCR_RXDSEL(2)
  703. >;
  704. };
  705. aud3 {
  706. fsl,audmux-port = <2>;
  707. fsl,port-config = <
  708. IMX_AUDMUX_V2_PTCR_SYN
  709. IMX_AUDMUX_V2_PDCR_RXDSEL(0)
  710. >;
  711. };
  712. ssi2 {
  713. fsl,audmux-port = <1>;
  714. fsl,port-config = <
  715. (IMX_AUDMUX_V2_PTCR_SYN |
  716. IMX_AUDMUX_V2_PTCR_TFSEL(4) |
  717. IMX_AUDMUX_V2_PTCR_TCSEL(4) |
  718. IMX_AUDMUX_V2_PTCR_TFSDIR |
  719. IMX_AUDMUX_V2_PTCR_TCLKDIR)
  720. IMX_AUDMUX_V2_PDCR_RXDSEL(4)
  721. >;
  722. };
  723. aud5 {
  724. fsl,audmux-port = <4>;
  725. fsl,port-config = <
  726. IMX_AUDMUX_V2_PTCR_SYN
  727. IMX_AUDMUX_V2_PDCR_RXDSEL(1)
  728. >;
  729. };
  730. };
  731. &wdog1 {
  732. status = "disabled";
  733. };
  734. &iomuxc {
  735. pinctrl_accel: accelgrp {
  736. fsl,pins = <
  737. MX6QDL_PAD_SD1_CMD__GPIO1_IO18 0x4001b000
  738. MX6QDL_PAD_SD1_CLK__GPIO1_IO20 0x4001b000
  739. >;
  740. };
  741. pinctrl_audmux: audmuxgrp {
  742. fsl,pins = <
  743. MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0
  744. MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x130b0
  745. MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0
  746. MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0
  747. MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x130b0
  748. MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
  749. >;
  750. };
  751. pinctrl_codec1: dac1grp {
  752. fsl,pins = <
  753. MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x40000038
  754. >;
  755. };
  756. pinctrl_codec2: dac2grp {
  757. fsl,pins = <
  758. MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x40000038
  759. >;
  760. };
  761. pinctrl_disp0: disp0grp {
  762. fsl,pins = <
  763. MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x100f9
  764. MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x100f9
  765. MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x100f9
  766. MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x100f9
  767. MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x100f9
  768. MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x100f9
  769. MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x100f9
  770. MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x100f9
  771. MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x100f9
  772. MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x100f9
  773. MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x100f9
  774. MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x100f9
  775. MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x100f9
  776. MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x100f9
  777. MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x100f9
  778. MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x100f9
  779. MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x100f9
  780. MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x100f9
  781. MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x100f9
  782. MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x100f9
  783. MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x100f9
  784. MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x100f9
  785. MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x100f9
  786. MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x100f9
  787. MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x100f9
  788. MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x100f9
  789. MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x100f9
  790. MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x100f9
  791. >;
  792. };
  793. pinctrl_ecspi1: ecspi1grp {
  794. fsl,pins = <
  795. MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
  796. MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
  797. MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
  798. MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b1
  799. >;
  800. };
  801. pinctrl_enet: enetgrp {
  802. fsl,pins = <
  803. MX6QDL_PAD_ENET_MDC__ENET_MDC 0x000b1
  804. MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x100b1
  805. MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x100f5
  806. MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x100f5
  807. MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x100c0
  808. MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x100c0
  809. MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x100f5
  810. MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x100f5
  811. MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x40010040
  812. MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x100b0
  813. MX6QDL_PAD_ENET_REF_CLK__GPIO1_IO23 0x1b0b0
  814. >;
  815. };
  816. pinctrl_i2c1: i2c1grp {
  817. fsl,pins = <
  818. MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
  819. MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
  820. >;
  821. };
  822. pinctrl_i2c2: i2c2grp {
  823. fsl,pins = <
  824. MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
  825. MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
  826. >;
  827. };
  828. pinctrl_i2c3: i2c3grp {
  829. fsl,pins = <
  830. MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
  831. MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
  832. >;
  833. };
  834. pinctrl_mdio1: bitbangmdiogrp {
  835. fsl,pins = <
  836. /* Bitbang MDIO for DEB Switch */
  837. MX6QDL_PAD_CSI0_DAT19__GPIO6_IO05 0x4001b030
  838. MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04 0x40018830
  839. >;
  840. };
  841. pinctrl_pcie: pciegrp {
  842. fsl,pins = <
  843. MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x10038
  844. >;
  845. };
  846. pinctrl_pfuze100_irq: pfuze100grp {
  847. fsl,pins = <
  848. MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x40010000
  849. >;
  850. };
  851. pinctrl_reg_3p3v_sd: mmcsupply1grp {
  852. fsl,pins = <
  853. MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x858
  854. >;
  855. };
  856. pinctrl_reg_user_usb: usbotggrp {
  857. fsl,pins = <
  858. MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x40000038
  859. >;
  860. };
  861. pinctrl_rmii_phy_irq: phygrp {
  862. fsl,pins = <
  863. MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x40010000
  864. >;
  865. };
  866. pinctrl_switch_irq: switchgrp {
  867. fsl,pins = <
  868. MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03 0x4001b000
  869. >;
  870. };
  871. pinctrl_tc358767: tc358767grp {
  872. fsl,pins = <
  873. MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x10
  874. >;
  875. };
  876. pinctrl_tpa1: tpa6130-1grp {
  877. fsl,pins = <
  878. MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x40000038
  879. >;
  880. };
  881. pinctrl_tpa2: tpa6130-2grp {
  882. fsl,pins = <
  883. MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x40000038
  884. >;
  885. };
  886. pinctrl_ts: tsgrp {
  887. fsl,pins = <
  888. MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x1b0b0
  889. MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0
  890. >;
  891. };
  892. pinctrl_uart1: uart1grp {
  893. fsl,pins = <
  894. MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
  895. MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
  896. >;
  897. };
  898. pinctrl_uart3: uart3grp {
  899. fsl,pins = <
  900. MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
  901. MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
  902. MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1
  903. >;
  904. };
  905. pinctrl_uart4: uart4grp {
  906. fsl,pins = <
  907. MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
  908. MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
  909. >;
  910. };
  911. pinctrl_usdhc2: usdhc2grp {
  912. fsl,pins = <
  913. MX6QDL_PAD_SD2_CMD__SD2_CMD 0x10059
  914. MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10069
  915. MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
  916. MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
  917. MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
  918. MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
  919. MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x40010040
  920. MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x40010040
  921. >;
  922. };
  923. pinctrl_usdhc3: usdhc3grp {
  924. fsl,pins = <
  925. MX6QDL_PAD_SD3_CMD__SD3_CMD 0x10059
  926. MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10069
  927. MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
  928. MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
  929. MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
  930. MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
  931. MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x40010040
  932. MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x40010040
  933. >;
  934. };
  935. pinctrl_usdhc4: usdhc4grp {
  936. fsl,pins = <
  937. MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
  938. MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
  939. MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
  940. MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
  941. MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
  942. MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
  943. MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
  944. MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
  945. MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
  946. MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
  947. MX6QDL_PAD_NANDF_ALE__SD4_RESET 0x1b0b1
  948. >;
  949. };
  950. };