imx6q-var-dt6customboard.dts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Support for Variscite DART-MX6 Carrier-board
  4. *
  5. * Copyright 2017 BayLibre, SAS
  6. * Author: Neil Armstrong <[email protected]>
  7. */
  8. /dts-v1/;
  9. #include "imx6q.dtsi"
  10. #include "imx6qdl-var-dart.dtsi"
  11. #include <dt-bindings/input/linux-event-codes.h>
  12. / {
  13. model = "Variscite DART-MX6 Carrier-board";
  14. compatible = "variscite,dt6customboard", "fsl,imx6q";
  15. backlight_lvds: backlight {
  16. compatible = "pwm-backlight";
  17. pwms = <&pwm2 0 50000>;
  18. brightness-levels = <0 4 8 16 32 64 128 248>;
  19. default-brightness-level = <7>;
  20. status = "okay";
  21. };
  22. gpio-keys {
  23. compatible = "gpio-keys";
  24. autorepeat;
  25. key-back {
  26. gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
  27. linux,code = <KEY_BACK>;
  28. label = "Key Back";
  29. linux,input-type = <1>;
  30. debounce-interval = <100>;
  31. wakeup-source;
  32. };
  33. key-home {
  34. gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
  35. linux,code = <KEY_HOME>;
  36. label = "Key Home";
  37. linux,input-type = <1>;
  38. debounce-interval = <100>;
  39. wakeup-source;
  40. };
  41. key-menu {
  42. gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
  43. linux,code = <KEY_MENU>;
  44. label = "Key Menu";
  45. linux,input-type = <1>;
  46. debounce-interval = <100>;
  47. wakeup-source;
  48. };
  49. };
  50. gpio-leds {
  51. compatible = "gpio-leds";
  52. led1 {
  53. gpios = <&gpio4 27 GPIO_ACTIVE_HIGH>;
  54. linux,default-trigger = "heartbeat";
  55. };
  56. led2 {
  57. gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
  58. linux,default-trigger = "default-on";
  59. };
  60. };
  61. panel1: lvds-panel {
  62. compatible = "sgd,gktw70sdae4se", "panel-lvds";
  63. backlight = <&backlight_lvds>;
  64. width-mm = <153>;
  65. height-mm = <86>;
  66. label = "gktw70sdae4se";
  67. data-mapping = "jeida-18";
  68. panel-timing {
  69. clock-frequency = <32000000>;
  70. hactive = <800>;
  71. vactive = <480>;
  72. hback-porch = <39>;
  73. hfront-porch = <39>;
  74. vback-porch = <29>;
  75. vfront-porch = <13>;
  76. hsync-len = <47>;
  77. vsync-len = <2>;
  78. };
  79. port {
  80. panel_in: endpoint {
  81. remote-endpoint = <&lvds1_out>;
  82. };
  83. };
  84. };
  85. reg_usb_h1_vbus: regulator-usbh1vbus {
  86. compatible = "regulator-fixed";
  87. regulator-name = "usb_h1_vbus";
  88. regulator-min-microvolt = <5000000>;
  89. regulator-max-microvolt = <5000000>;
  90. gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
  91. enable-active-high;
  92. };
  93. reg_usb_otg_vbus: regulator-usbotgvbus {
  94. compatible = "regulator-fixed";
  95. regulator-name = "usb_otg_vbus";
  96. regulator-min-microvolt = <5000000>;
  97. regulator-max-microvolt = <5000000>;
  98. gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
  99. enable-active-high;
  100. };
  101. sound {
  102. compatible = "simple-audio-card";
  103. simple-audio-card,name = "dt6-customboard-audio";
  104. simple-audio-card,format = "i2s";
  105. simple-audio-card,bitclock-master = <&sound_codec>;
  106. simple-audio-card,frame-master = <&sound_codec>;
  107. simple-audio-card,widgets = "Headphone", "Headphone Jack",
  108. "Line", "Line In";
  109. simple-audio-card,routing = "Headphone Jack", "HPLOUT",
  110. "Headphone Jack", "HPROUT",
  111. "LINE1L", "Line In",
  112. "LINE1R", "Line In";
  113. sound_cpu: simple-audio-card,cpu {
  114. sound-dai = <&ssi2>;
  115. };
  116. sound_codec: simple-audio-card,codec {
  117. sound-dai = <&tlv320aic3106>;
  118. clocks = <&clks IMX6QDL_CLK_CKO>;
  119. };
  120. };
  121. };
  122. &can1 {
  123. status = "okay";
  124. };
  125. &ecspi1 {
  126. cs-gpios = <&gpio4 9 GPIO_ACTIVE_LOW>,
  127. <&gpio4 10 GPIO_ACTIVE_LOW>;
  128. status = "okay";
  129. };
  130. &fec {
  131. status = "okay";
  132. phy-mode = "rgmii";
  133. phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
  134. };
  135. &hdmi {
  136. status = "okay";
  137. };
  138. &i2c1 {
  139. clock-frequency = <100000>;
  140. status = "okay";
  141. };
  142. &i2c3 {
  143. clock-frequency = <100000>;
  144. status = "okay";
  145. touchscreen@38 {
  146. compatible = "edt,edt-ft5x06";
  147. reg = <0x38>;
  148. interrupt-parent = <&gpio1>;
  149. interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
  150. touchscreen-size-x = <800>;
  151. touchscreen-size-y = <480>;
  152. touchscreen-inverted-x;
  153. touchscreen-inverted-y;
  154. wakeup-source;
  155. };
  156. rtc@68 {
  157. compatible = "isil,isl12057";
  158. reg = <0x68>;
  159. };
  160. };
  161. &ldb {
  162. status = "okay";
  163. lvds-channel@1 {
  164. status = "okay";
  165. port@4 {
  166. reg = <4>;
  167. lvds1_out: endpoint {
  168. remote-endpoint = <&panel_in>;
  169. };
  170. };
  171. };
  172. };
  173. &pwm2 {
  174. #pwm-cells = <2>;
  175. status = "okay";
  176. };
  177. &uart1 {
  178. status = "okay";
  179. };
  180. &uart3 {
  181. status = "okay";
  182. };
  183. &usbh1 {
  184. vbus-supply = <&reg_usb_h1_vbus>;
  185. status = "okay";
  186. };
  187. &usbotg {
  188. vbus-supply = <&reg_usb_otg_vbus>;
  189. dr_mode = "otg";
  190. srp-disable;
  191. hnp-disable;
  192. adp-disable;
  193. status = "okay";
  194. };
  195. &usdhc2 {
  196. cd-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
  197. status = "okay";
  198. };