imx53-tx53-x13x.dts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. /*
  2. * Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de>
  3. *
  4. * The code contained herein is licensed under the GNU General Public
  5. * License. You may obtain a copy of the GNU General Public License
  6. * Version 2 at the following locations:
  7. *
  8. * http://www.opensource.org/licenses/gpl-license.html
  9. * http://www.gnu.org/copyleft/gpl.html
  10. */
  11. /dts-v1/;
  12. #include "imx53-tx53.dtsi"
  13. #include <dt-bindings/input/input.h>
  14. / {
  15. model = "Ka-Ro electronics TX53 module (LVDS)";
  16. compatible = "karo,tx53", "fsl,imx53";
  17. aliases {
  18. display = &lvds0;
  19. lvds0 = &lvds0;
  20. lvds1 = &lvds1;
  21. };
  22. backlight0: backlight0 {
  23. compatible = "pwm-backlight";
  24. pwms = <&pwm2 0 500000 0>;
  25. power-supply = <&reg_3v3>;
  26. brightness-levels = <
  27. 0 1 2 3 4 5 6 7 8 9
  28. 10 11 12 13 14 15 16 17 18 19
  29. 20 21 22 23 24 25 26 27 28 29
  30. 30 31 32 33 34 35 36 37 38 39
  31. 40 41 42 43 44 45 46 47 48 49
  32. 50 51 52 53 54 55 56 57 58 59
  33. 60 61 62 63 64 65 66 67 68 69
  34. 70 71 72 73 74 75 76 77 78 79
  35. 80 81 82 83 84 85 86 87 88 89
  36. 90 91 92 93 94 95 96 97 98 99
  37. 100
  38. >;
  39. default-brightness-level = <50>;
  40. };
  41. backlight1: backlight1 {
  42. compatible = "pwm-backlight";
  43. pwms = <&pwm1 0 500000 0>;
  44. power-supply = <&reg_3v3>;
  45. brightness-levels = <
  46. 0 1 2 3 4 5 6 7 8 9
  47. 10 11 12 13 14 15 16 17 18 19
  48. 20 21 22 23 24 25 26 27 28 29
  49. 30 31 32 33 34 35 36 37 38 39
  50. 40 41 42 43 44 45 46 47 48 49
  51. 50 51 52 53 54 55 56 57 58 59
  52. 60 61 62 63 64 65 66 67 68 69
  53. 70 71 72 73 74 75 76 77 78 79
  54. 80 81 82 83 84 85 86 87 88 89
  55. 90 91 92 93 94 95 96 97 98 99
  56. 100
  57. >;
  58. default-brightness-level = <50>;
  59. };
  60. regulators {
  61. reg_lcd_pwr0: regulator@5 {
  62. compatible = "regulator-fixed";
  63. reg = <5>;
  64. regulator-name = "LVDS0 POWER";
  65. regulator-min-microvolt = <3300000>;
  66. regulator-max-microvolt = <3300000>;
  67. gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
  68. enable-active-high;
  69. regulator-boot-on;
  70. };
  71. reg_lcd_pwr1: regulator@6 {
  72. compatible = "regulator-fixed";
  73. reg = <6>;
  74. regulator-name = "LVDS1 POWER";
  75. regulator-min-microvolt = <3300000>;
  76. regulator-max-microvolt = <3300000>;
  77. gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
  78. enable-active-high;
  79. regulator-boot-on;
  80. };
  81. };
  82. };
  83. &i2c2 {
  84. pinctrl-names = "default";
  85. pinctrl-0 = <&pinctrl_i2c2>;
  86. status = "okay";
  87. touchscreen2: eeti@04 {
  88. compatible = "eeti,egalax_ts";
  89. reg = <0x04>;
  90. pinctrl-names = "default";
  91. pinctrl-0 = <&pinctrl_eeti2>;
  92. interrupt-parent = <&gpio3>;
  93. interrupts = <23 0>;
  94. wakeup-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
  95. wakeup-source;
  96. };
  97. };
  98. &i2c3 {
  99. pinctrl-names = "default";
  100. pinctrl-0 = <&pinctrl_i2c3>;
  101. status = "okay";
  102. sgtl5000: codec@0a {
  103. compatible = "fsl,sgtl5000";
  104. reg = <0x0a>;
  105. VDDA-supply = <&reg_2v5>;
  106. VDDIO-supply = <&reg_3v3>;
  107. clocks = <&mclk>;
  108. };
  109. touchscreen1: eeti@04 {
  110. compatible = "eeti,egalax_ts";
  111. reg = <0x04>;
  112. pinctrl-names = "default";
  113. pinctrl-0 = <&pinctrl_eeti1>;
  114. interrupt-parent = <&gpio3>;
  115. interrupts = <22 0>;
  116. wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
  117. wakeup-source;
  118. };
  119. };
  120. &iomuxc {
  121. imx53-tx53-x13x {
  122. pinctrl_i2c2: i2c2-grp1 {
  123. fsl,pins = <
  124. MX53_PAD_KEY_ROW3__I2C2_SDA 0xc0000000
  125. MX53_PAD_KEY_COL3__I2C2_SCL 0xc0000000
  126. >;
  127. };
  128. pinctrl_lvds0: lvds0grp {
  129. fsl,pins = <
  130. MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000
  131. MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000
  132. MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000
  133. MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000
  134. MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000
  135. >;
  136. };
  137. pinctrl_lvds1: lvds1grp {
  138. fsl,pins = <
  139. MX53_PAD_LVDS1_TX3_P__LDB_LVDS1_TX3 0x80000000
  140. MX53_PAD_LVDS1_TX2_P__LDB_LVDS1_TX2 0x80000000
  141. MX53_PAD_LVDS1_CLK_P__LDB_LVDS1_CLK 0x80000000
  142. MX53_PAD_LVDS1_TX1_P__LDB_LVDS1_TX1 0x80000000
  143. MX53_PAD_LVDS1_TX0_P__LDB_LVDS1_TX0 0x80000000
  144. >;
  145. };
  146. pinctrl_pwm1: pwm1grp {
  147. fsl,pins = <MX53_PAD_GPIO_9__PWM1_PWMO 0x04>;
  148. };
  149. pinctrl_eeti1: eeti1grp {
  150. fsl,pins = <
  151. MX53_PAD_EIM_D22__GPIO3_22 0x1f0 /* Interrupt */
  152. >;
  153. };
  154. pinctrl_eeti2: eeti2grp {
  155. fsl,pins = <
  156. MX53_PAD_EIM_D23__GPIO3_23 0x1f0 /* Interrupt */
  157. >;
  158. };
  159. };
  160. };
  161. &ldb {
  162. pinctrl-names = "default";
  163. pinctrl-0 = <&pinctrl_lvds0 &pinctrl_lvds1>;
  164. status = "okay";
  165. lvds0: lvds-channel@0 {
  166. fsl,data-mapping = "spwg";
  167. fsl,data-width = <18>;
  168. status = "okay";
  169. display-timings {
  170. native-mode = <&lvds0_timing0>;
  171. lvds0_timing0: hsd100pxn1 {
  172. clock-frequency = <65000000>;
  173. hactive = <1024>;
  174. vactive = <768>;
  175. hback-porch = <220>;
  176. hsync-len = <60>;
  177. hfront-porch = <40>;
  178. vback-porch = <21>;
  179. vsync-len = <10>;
  180. vfront-porch = <7>;
  181. hsync-active = <0>;
  182. vsync-active = <0>;
  183. de-active = <1>;
  184. pixelclk-active = <1>;
  185. };
  186. lvds0_timing1: nl12880bc20 {
  187. clock-frequency = <71000000>;
  188. hactive = <1280>;
  189. vactive = <800>;
  190. hback-porch = <50>;
  191. hsync-len = <60>;
  192. hfront-porch = <50>;
  193. vback-porch = <5>;
  194. vsync-len = <13>;
  195. vfront-porch = <5>;
  196. hsync-active = <0>;
  197. vsync-active = <0>;
  198. de-active = <1>;
  199. pixelclk-active = <1>;
  200. };
  201. };
  202. };
  203. lvds1: lvds-channel@1 {
  204. fsl,data-mapping = "spwg";
  205. fsl,data-width = <18>;
  206. status = "okay";
  207. display-timings {
  208. native-mode = <&lvds1_timing0>;
  209. lvds1_timing0: hsd100pxn1 {
  210. clock-frequency = <65000000>;
  211. hactive = <1024>;
  212. vactive = <768>;
  213. hback-porch = <220>;
  214. hsync-len = <60>;
  215. hfront-porch = <40>;
  216. vback-porch = <21>;
  217. vsync-len = <10>;
  218. vfront-porch = <7>;
  219. hsync-active = <0>;
  220. vsync-active = <0>;
  221. de-active = <1>;
  222. pixelclk-active = <1>;
  223. };
  224. };
  225. };
  226. };
  227. &pwm1 {
  228. pinctrl-names = "default";
  229. pinctrl-0 = <&pinctrl_pwm1>;
  230. };
  231. &sata {
  232. status = "okay";
  233. };