imx6qdl-zii-rdu2.dtsi 24 KB

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