Display001_7_30Hz.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. /*
  2. * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. /dts-v1/;
  9. #include "am33xx.dtsi"
  10. #include "am335x-bone-common.dtsi"
  11. &ldo3_reg {
  12. regulator-min-microvolt = <1800000>;
  13. regulator-max-microvolt = <1800000>;
  14. regulator-always-on;
  15. };
  16. &mmc1 {
  17. vmmc-supply = <&vmmcsd_fixed>;
  18. };
  19. &mmc2 {
  20. vmmc-supply = <&vmmcsd_fixed>;
  21. pinctrl-names = "default";
  22. pinctrl-0 = <&emmc_pins>;
  23. bus-width = <8>;
  24. ti,non-removable;
  25. status = "okay";
  26. };
  27. &am33xx_pinmux {
  28. lcd_pins_default: lcd_pins_default {
  29. pinctrl-single,pins = <
  30. 0x20 0x01 /* gpmc_ad8.lcd_data16, OUTPUT | MODE1 */
  31. 0x24 0x01 /* gpmc_ad9.lcd_data17, OUTPUT | MODE1 */
  32. 0x28 0x01 /* gpmc_ad10.lcd_data18, OUTPUT | MODE1 */
  33. 0x2c 0x01 /* gpmc_ad11.lcd_data19, OUTPUT | MODE1 */
  34. 0x30 0x01 /* gpmc_ad12.lcd_data20, OUTPUT | MODE1 */
  35. 0x34 0x01 /* gpmc_ad13.lcd_data21, OUTPUT | MODE1 */
  36. 0x38 0x01 /* gpmc_ad14.lcd_data22, OUTPUT | MODE1 */
  37. 0x3c 0x01 /* gpmc_ad15.lcd_data23, OUTPUT | MODE1 */
  38. 0xa0 0x00 /* lcd_data0.lcd_data0, OUTPUT | MODE0 */
  39. 0xa4 0x00 /* lcd_data1.lcd_data1, OUTPUT | MODE0 */
  40. 0xa8 0x00 /* lcd_data2.lcd_data2, OUTPUT | MODE0 */
  41. 0xac 0x00 /* lcd_data3.lcd_data3, OUTPUT | MODE0 */
  42. 0xb0 0x00 /* lcd_data4.lcd_data4, OUTPUT | MODE0 */
  43. 0xb4 0x00 /* lcd_data5.lcd_data5, OUTPUT | MODE0 */
  44. 0xb8 0x00 /* lcd_data6.lcd_data6, OUTPUT | MODE0 */
  45. 0xbc 0x00 /* lcd_data7.lcd_data7, OUTPUT | MODE0 */
  46. 0xc0 0x00 /* lcd_data8.lcd_data8, OUTPUT | MODE0 */
  47. 0xc4 0x00 /* lcd_data9.lcd_data9, OUTPUT | MODE0 */
  48. 0xc8 0x00 /* lcd_data10.lcd_data10, OUTPUT | MODE0 */
  49. 0xcc 0x00 /* lcd_data11.lcd_data11, OUTPUT | MODE0 */
  50. 0xd0 0x00 /* lcd_data12.lcd_data12, OUTPUT | MODE0 */
  51. 0xd4 0x00 /* lcd_data13.lcd_data13, OUTPUT | MODE0 */
  52. 0xd8 0x00 /* lcd_data14.lcd_data14, OUTPUT | MODE0 */
  53. 0xdc 0x00 /* lcd_data15.lcd_data15, OUTPUT | MODE0 */
  54. 0xe0 0x00 /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
  55. 0xe4 0x00 /* lcd_hsync.lcd_hsync, OUTPUT | MODE0 */
  56. 0xe8 0x00 /* lcd_pclk.lcd_pclk, OUTPUT | MODE0 */
  57. 0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */
  58. >;
  59. };
  60. lcd_pins_sleep: lcd_pins_sleep {
  61. pinctrl-single,pins = <
  62. 0x20 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad8.lcd_data16 */
  63. 0x24 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad9.lcd_data17 */
  64. 0x28 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.lcd_data18 */
  65. 0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.lcd_data19 */
  66. 0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad12.lcd_data20 */
  67. 0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad13.lcd_data21 */
  68. 0x38 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad14.lcd_data22 */
  69. 0x3c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad15.lcd_data23 */
  70. 0xa0 (PULL_DISABLE | MUX_MODE7) /* lcd_data0.lcd_data0 */
  71. 0xa4 (PULL_DISABLE | MUX_MODE7) /* lcd_data1.lcd_data1 */
  72. 0xa8 (PULL_DISABLE | MUX_MODE7) /* lcd_data2.lcd_data2 */
  73. 0xac (PULL_DISABLE | MUX_MODE7) /* lcd_data3.lcd_data3 */
  74. 0xb0 (PULL_DISABLE | MUX_MODE7) /* lcd_data4.lcd_data4 */
  75. 0xb4 (PULL_DISABLE | MUX_MODE7) /* lcd_data5.lcd_data5 */
  76. 0xb8 (PULL_DISABLE | MUX_MODE7) /* lcd_data6.lcd_data6 */
  77. 0xbc (PULL_DISABLE | MUX_MODE7) /* lcd_data7.lcd_data7 */
  78. 0xc0 (PULL_DISABLE | MUX_MODE7) /* lcd_data8.lcd_data8 */
  79. 0xc4 (PULL_DISABLE | MUX_MODE7) /* lcd_data9.lcd_data9 */
  80. 0xc8 (PULL_DISABLE | MUX_MODE7) /* lcd_data10.lcd_data10 */
  81. 0xcc (PULL_DISABLE | MUX_MODE7) /* lcd_data11.lcd_data11 */
  82. 0xd0 (PULL_DISABLE | MUX_MODE7) /* lcd_data12.lcd_data12 */
  83. 0xd4 (PULL_DISABLE | MUX_MODE7) /* lcd_data13.lcd_data13 */
  84. 0xd8 (PULL_DISABLE | MUX_MODE7) /* lcd_data14.lcd_data14 */
  85. 0xdc (PULL_DISABLE | MUX_MODE7) /* lcd_data15.lcd_data15 */
  86. 0xe0 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
  87. 0xe4 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_hsync.lcd_hsync */
  88. 0xe8 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_pclk.lcd_pclk */
  89. 0xec (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_ac_bias_en.lcd_ac_bias_en */
  90. >;
  91. };
  92. i2c2_pins: pinmux_i2c2_pins {
  93. pinctrl-single,pins = <
  94. 0x150 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_sclk.i2c2_sda */
  95. 0x154 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d0.i2c2_scl */
  96. >;
  97. };
  98. spi1_pins: pinmux_spi1_pins {
  99. pinctrl-single,pins = <
  100. 0x190 (PIN_INPUT_PULLUP | MUX_MODE3) /* mcasp0_aclkx.spi1_sclk */
  101. 0x194 (PIN_INPUT_PULLUP | MUX_MODE3) /* mcasp0_fsx.spi1_d0 */
  102. 0x198 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcasp0_axr0.spi1_d1 */
  103. 0x19c (PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcasp0_ahclrk.spi1_cs0 */
  104. 0x164 (PIN_OUTPUT_PULLUP | MUX_MODE2) /* ecap0_in.pwm0_out */
  105. >;
  106. };
  107. edt_ft5x06_pins: pinmux_edt_ft5x06_pins{
  108. pinctrl-single,pins = <
  109. 0x1ac (PIN_OUTPUT | MUX_MODE7) /* mcasp0_ahclkx.gpio3.21 RESET TOUCH P9_25*/
  110. 0x8c (PIN_INPUT | MUX_MODE7) /* gpmc_clk_mux0.gpio2.1 INT TOUCH P8_18 */
  111. >;
  112. };
  113. uart4_pins_default: pinmux_uart4_pins_default {
  114. pinctrl-single,pins = <
  115. 0x070 (PIN_INPUT_PULLUP | MUX_MODE6) /* gpmc_wait0.uart4_rxd */
  116. 0x074 (PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* gpmc_wpn.uart4_txd */
  117. 0x078 (PIN_OUTPUT | MUX_MODE7) /* gpmc_ben1.gpio1.28 */
  118. >;
  119. };
  120. uart4_pins_sleep: pinmux_uart4_pins_sleep {
  121. pinctrl-single,pins = <
  122. 0x070 (PIN_INPUT_PULLDOWN | MUX_MODE7)
  123. 0x074 (PIN_INPUT_PULLDOWN | MUX_MODE7)
  124. 0x078 (PIN_INPUT_PULLDOWN | MUX_MODE7)
  125. >;
  126. };
  127. uart1_pins_default: pinmux_uart1_pins_default {
  128. pinctrl-single,pins = <
  129. 0x180 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
  130. 0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
  131. 0x178 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda.uart1_ctsn */
  132. 0x17c (PIN_OUTPUT | MUX_MODE0) /* i2c2_scl.uart1_rtsn */
  133. >;
  134. };
  135. uart1_pins_sleep: pinmux_uart1_pins_sleep {
  136. pinctrl-single,pins = <
  137. 0x180 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* uart1_rxd.uart1_rxd */
  138. 0x184 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
  139. 0x178 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* i2c2_sda.uart1_ctsn */
  140. 0x17c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* i2c2_scl.uart1_rtsn */
  141. >;
  142. };
  143. timer7_pins: pinmux_timer7_pins {
  144. pinctrl-single,pins = <
  145. 0x094 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_oen_ren.timer7 */
  146. >;
  147. };
  148. timer4_pins: pinmux_timer4_pins {
  149. pinctrl-single,pins = <
  150. 0x090 (PIN_INPUT | MUX_MODE7) /* gpmc_advn_ale.timer4 gpio2_2 */
  151. >;
  152. };
  153. profibus_pins_default: pinmux_profibus_pins_default {
  154. pinctrl-single,pins = <
  155. 0x158 (PIN_INPUT_PULLUP | MUX_MODE4) /* spi0_d1.uart0_rxd */
  156. 0x15c (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* spi0_cs0.uart0_txd */
  157. 0x1a4 (PIN_OUTPUT | MUX_MODE5) /* mcasp0_fsr.gpio3.19 */
  158. >;
  159. };
  160. };
  161. &timer7 {
  162. pinctrl-names = "default";
  163. pinctrl-0 = <&timer7_pins>;
  164. status = "okay";
  165. };
  166. &timer4 {
  167. pinctrl-names = "default";
  168. pinctrl-0 = <&timer4_pins>;
  169. status = "okay";
  170. };
  171. &i2c0 {
  172. hdmi1: hdmi@70 {
  173. compatible = "nxp,tda998x";
  174. reg = <0x70>;
  175. };
  176. };
  177. &i2c2 {
  178. pinctrl-names = "default";
  179. pinctrl-0 = <&i2c2_pins>;
  180. status = "okay";
  181. clock-frequency = <100000>;
  182. };
  183. &i2c2 {
  184. polytouch: edt-ft5x06@38 {
  185. compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
  186. reg = <0x38>;
  187. pinctrl-names = "default";
  188. pinctrl-0 = <&edt_ft5x06_pins>;
  189. interrupt-parent = <&gpio2>;
  190. interrupts = <1 8>;
  191. reset-gpios = <&gpio3 21 1>;
  192. };
  193. mcp7940x: rtc@6f {
  194. compatible = "microchip,mcp7940x";
  195. reg = <0x6f>;
  196. };
  197. };
  198. &spi1 {
  199. pinctrl-names = "default";
  200. pinctrl-0 = <&spi1_pins>;
  201. clock-frequency = <1000000>;
  202. status = "okay";
  203. spi1_0{
  204. compatible = "spidev";
  205. reg = <0>;
  206. spi-max-frequency = <10000000>;
  207. };
  208. spi1_1{
  209. compatible = "spidev";
  210. reg = <1>;
  211. spi-max-frequency = <10000000>;
  212. };
  213. };
  214. &lcdc {
  215. status = "okay";
  216. };
  217. / {
  218. panel {
  219. compatible = "ti,tilcdc,panel";
  220. pinctrl-names = "default", "sleep";
  221. pinctrl-0 = <&lcd_pins_default>;
  222. pinctrl-1 = <&lcd_pins_sleep>;
  223. status = "okay";
  224. panel-info {
  225. ac-bias = <255>;
  226. ac-bias-intrpt = <0>;
  227. dma-burst-sz = <16>;
  228. bpp = <32>;
  229. fdd = <0x80>;
  230. sync-edge = <0>;
  231. sync-ctrl = <1>;
  232. raster-order = <0>;
  233. fifo-th = <0>;
  234. };
  235. display-timings {
  236. 800x480 {
  237. hactive = <800>;
  238. vactive = <480>;
  239. hback-porch = <88>;
  240. hfront-porch = <40>;
  241. hsync-len = <128>;
  242. vback-porch = <33>;
  243. vfront-porch = <10>;
  244. vsync-len = <2>;
  245. clock-frequency = <16500000>;
  246. hsync-active = <0>;
  247. vsync-active = <0>;
  248. de-active = <1>;
  249. pixelclk-active = <0>;
  250. };
  251. };
  252. };
  253. };
  254. /*
  255. &tscadc {
  256. status = "okay";
  257. tsc {
  258. ti,wires = <4>;
  259. ti,x-plate-resistance = <200>;
  260. ti,coordinate-readouts = <5>;
  261. ti,wire-config = <0x00 0x11 0x22 0x33>;
  262. };
  263. };
  264. */
  265. &tscadc {
  266. status = "okay";
  267. };
  268. &am335x_adc {
  269. ti,adc-channels = <0 1 2 3 4 5 6 7>;
  270. };
  271. &uart4 {
  272. pinctrl-names = "default", "sleep";
  273. pinctrl-0 = <&uart4_pins_default>;
  274. pinctrl-1 = <&uart4_pins_sleep>;
  275. status = "okay";
  276. rts-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
  277. rs485-rts-active-high;
  278. rs485-rts-delay = <0 0 100>;
  279. linux,rs485-enabled-at-boot-time;
  280. rs485-rx-during-tx;
  281. };
  282. &uart1 {
  283. pinctrl-names = "default", "sleep";
  284. pinctrl-0 = <&uart1_pins_default>;
  285. pinctrl-1 = <&uart1_pins_sleep>;
  286. has-hw-flow-control;
  287. status = "okay";
  288. };
  289. &pruss {
  290. pinctrl-names = "default";
  291. pinctrl-0 = <&profibus_pins_default>;
  292. status = "okay";
  293. };
  294. / {
  295. pwm7: dmtimer-pwm@7 {
  296. compatible = "ti,omap-dmtimer-pwm";
  297. ti,timers = <&timer7>;
  298. #pwm-cells = <3>;
  299. };
  300. pwm-beeper {
  301. compatible = "pwm-beeper";
  302. pwms = <&pwm7 0 0 0>;
  303. };
  304. };
  305. / {
  306. vendorinfo {
  307. vendor_name = "GfA Display001";
  308. display_dtb = "Display001_7_30Hz.dtb";
  309. display_physical_width = "153"; /* in mm */
  310. display_physical_height = "92"; /* in mm */
  311. };
  312. };