imx6qdl-tx6-lcd.dtsi 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. /*
  2. * Copyright 2017 Lothar Waßmann <[email protected]>
  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 "AS IS", 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. / {
  42. aliases {
  43. display = &display;
  44. };
  45. backlight: backlight {
  46. compatible = "pwm-backlight";
  47. pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
  48. pinctrl-names = "default";
  49. pinctrl-0 = <&pinctrl_lcd1_pwr>;
  50. enable-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>;
  51. power-supply = <&reg_3v3>;
  52. turn-on-delay-ms = <35>;
  53. /*
  54. * a poor man's way to create a 1:1 relationship between
  55. * the PWM value and the actual duty cycle
  56. */
  57. brightness-levels = < 0 1 2 3 4 5 6 7 8 9
  58. 10 11 12 13 14 15 16 17 18 19
  59. 20 21 22 23 24 25 26 27 28 29
  60. 30 31 32 33 34 35 36 37 38 39
  61. 40 41 42 43 44 45 46 47 48 49
  62. 50 51 52 53 54 55 56 57 58 59
  63. 60 61 62 63 64 65 66 67 68 69
  64. 70 71 72 73 74 75 76 77 78 79
  65. 80 81 82 83 84 85 86 87 88 89
  66. 90 91 92 93 94 95 96 97 98 99
  67. 100>;
  68. default-brightness-level = <50>;
  69. };
  70. lcd_panel: lcd-panel {
  71. compatible = "edt,etm0700g0dh6";
  72. pinctrl-names = "default";
  73. pinctrl-0 = <&pinctrl_lcd0_pwr>;
  74. enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
  75. power-supply = <&reg_3v3>;
  76. backlight = <&backlight>;
  77. port {
  78. lcd_panel_in: endpoint {
  79. remote-endpoint = <&lcd_out>;
  80. };
  81. };
  82. };
  83. display: disp0 {
  84. compatible = "fsl,imx-parallel-display";
  85. #address-cells = <1>;
  86. #size-cells = <0>;
  87. pinctrl-names = "default";
  88. pinctrl-0 = <&pinctrl_disp0_1>;
  89. status = "okay";
  90. port@0 {
  91. reg = <0>;
  92. lcd_in: endpoint {
  93. remote-endpoint = <&ipu1_di0_disp0>;
  94. };
  95. };
  96. port@1 {
  97. reg = <1>;
  98. lcd_out: endpoint {
  99. remote-endpoint = <&lcd_panel_in>;
  100. };
  101. };
  102. display-timings {
  103. VGA {
  104. clock-frequency = <25200000>;
  105. hactive = <640>;
  106. vactive = <480>;
  107. hback-porch = <48>;
  108. hsync-len = <96>;
  109. hfront-porch = <16>;
  110. vback-porch = <31>;
  111. vsync-len = <2>;
  112. vfront-porch = <12>;
  113. hsync-active = <0>;
  114. vsync-active = <0>;
  115. de-active = <1>;
  116. pixelclk-active = <0>;
  117. };
  118. ETV570 {
  119. u-boot,panel-name = "edt,et057090dhu";
  120. clock-frequency = <25200000>;
  121. hactive = <640>;
  122. vactive = <480>;
  123. hback-porch = <114>;
  124. hsync-len = <30>;
  125. hfront-porch = <16>;
  126. vback-porch = <32>;
  127. vsync-len = <3>;
  128. vfront-porch = <10>;
  129. hsync-active = <0>;
  130. vsync-active = <0>;
  131. de-active = <1>;
  132. pixelclk-active = <0>;
  133. };
  134. ET0350 {
  135. u-boot,panel-name = "edt,et0350g0dh6";
  136. clock-frequency = <6413760>;
  137. hactive = <320>;
  138. vactive = <240>;
  139. hback-porch = <34>;
  140. hsync-len = <34>;
  141. hfront-porch = <20>;
  142. vback-porch = <15>;
  143. vsync-len = <3>;
  144. vfront-porch = <4>;
  145. hsync-active = <0>;
  146. vsync-active = <0>;
  147. de-active = <1>;
  148. pixelclk-active = <0>;
  149. };
  150. ET0430 {
  151. u-boot,panel-name = "edt,et0430g0dh6";
  152. clock-frequency = <9009000>;
  153. hactive = <480>;
  154. vactive = <272>;
  155. hback-porch = <2>;
  156. hsync-len = <41>;
  157. hfront-porch = <2>;
  158. vback-porch = <2>;
  159. vsync-len = <10>;
  160. vfront-porch = <2>;
  161. hsync-active = <0>;
  162. vsync-active = <0>;
  163. de-active = <1>;
  164. pixelclk-active = <1>;
  165. };
  166. ET0500 {
  167. clock-frequency = <33264000>;
  168. hactive = <800>;
  169. vactive = <480>;
  170. hback-porch = <88>;
  171. hsync-len = <128>;
  172. hfront-porch = <40>;
  173. vback-porch = <33>;
  174. vsync-len = <2>;
  175. vfront-porch = <10>;
  176. hsync-active = <0>;
  177. vsync-active = <0>;
  178. de-active = <1>;
  179. pixelclk-active = <0>;
  180. };
  181. ET0700 { /* same as ET0500 */
  182. u-boot,panel-name = "edt,etm0700g0dh6";
  183. clock-frequency = <33264000>;
  184. hactive = <800>;
  185. vactive = <480>;
  186. hback-porch = <88>;
  187. hsync-len = <128>;
  188. hfront-porch = <40>;
  189. vback-porch = <33>;
  190. vsync-len = <2>;
  191. vfront-porch = <10>;
  192. hsync-active = <0>;
  193. vsync-active = <0>;
  194. de-active = <1>;
  195. pixelclk-active = <0>;
  196. };
  197. ETQ570 {
  198. clock-frequency = <6596040>;
  199. hactive = <320>;
  200. vactive = <240>;
  201. hback-porch = <38>;
  202. hsync-len = <30>;
  203. hfront-porch = <30>;
  204. vback-porch = <16>;
  205. vsync-len = <3>;
  206. vfront-porch = <4>;
  207. hsync-active = <0>;
  208. vsync-active = <0>;
  209. de-active = <1>;
  210. pixelclk-active = <0>;
  211. };
  212. CoMTFT { /* same as ET0700 but with inverted pixel clock */
  213. u-boot,panel-name = "edt,etm0700g0edh6";
  214. clock-frequency = <33264000>;
  215. hactive = <800>;
  216. vactive = <480>;
  217. hback-porch = <88>;
  218. hsync-len = <128>;
  219. hfront-porch = <40>;
  220. vback-porch = <33>;
  221. vsync-len = <2>;
  222. vfront-porch = <10>;
  223. hsync-active = <0>;
  224. vsync-active = <0>;
  225. de-active = <1>;
  226. pixelclk-active = <1>;
  227. };
  228. };
  229. };
  230. };
  231. &ipu1_di0_disp0 {
  232. remote-endpoint = <&lcd_in>;
  233. };