Display001_4.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  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. /* i2c1_pins: pinmux_i2c1_pins {
  93. pinctrl-single,pins = <
  94. 0x158 (PIN_INPUT | MUX_MODE2) */ /* spi0_d1.i2c1_sda */
  95. /* 0x15c (PIN_INPUT | MUX_MODE2) */ /* spi0_cs0.i2c1_scl */
  96. /* >;
  97. };
  98. */
  99. i2c2_pins: pinmux_i2c2_pins {
  100. pinctrl-single,pins = <
  101. 0x150 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_sclk.i2c2_sda */
  102. 0x154 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d0.i2c2_scl */
  103. >;
  104. };
  105. spi1_pins: pinmux_spi1_pins {
  106. pinctrl-single,pins = <
  107. 0x190 (PIN_INPUT_PULLUP | MUX_MODE3) /* mcasp0_aclkx.spi1_sclk */
  108. 0x194 (PIN_INPUT_PULLUP | MUX_MODE3) /* mcasp0_fsx.spi1_d0 */
  109. 0x198 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcasp0_axr0.spi1_d1 */
  110. 0x19c (PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcasp0_ahclrk.spi1_cs0 */
  111. 0x164 (PIN_OUTPUT_PULLUP | MUX_MODE2) /* ecap0_in.pwm0_out */
  112. >;
  113. };
  114. edt_ft5x06_pins: pinmux_edt_ft5x06_pins{
  115. pinctrl-single,pins = <
  116. 0x1ac (PIN_OUTPUT | MUX_MODE7) /* mcasp0_ahclkx.gpio3.21 RESET TOUCH P9_25*/
  117. 0x8c (PIN_INPUT | MUX_MODE7) /* gpmc_clk_mux0.gpio2.1 INT TOUCH P8_18 */
  118. >;
  119. };
  120. uart4_pins_default: pinmux_uart4_pins_default {
  121. pinctrl-single,pins = <
  122. 0x070 (PIN_INPUT_PULLUP | MUX_MODE6) /* gpmc_wait0.uart4_rxd */
  123. 0x074 (PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* gpmc_wpn.uart4_txd */
  124. 0x078 (PIN_OUTPUT | MUX_MODE7) /* gpmc_ben1.gpio1.28 */
  125. >;
  126. };
  127. uart4_pins_sleep: pinmux_uart4_pins_sleep {
  128. pinctrl-single,pins = <
  129. 0x070 (PIN_INPUT_PULLDOWN | MUX_MODE7)
  130. 0x074 (PIN_INPUT_PULLDOWN | MUX_MODE7)
  131. 0x078 (PIN_INPUT_PULLDOWN | MUX_MODE7)
  132. >;
  133. };
  134. uart1_pins_default: pinmux_uart1_pins_default {
  135. pinctrl-single,pins = <
  136. 0x180 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
  137. 0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
  138. 0x178 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda.uart1_ctsn */
  139. 0x17c (PIN_OUTPUT | MUX_MODE0) /* i2c2_scl.uart1_rtsn */
  140. >;
  141. };
  142. uart1_pins_sleep: pinmux_uart1_pins_sleep {
  143. pinctrl-single,pins = <
  144. 0x180 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* uart1_rxd.uart1_rxd */
  145. 0x184 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
  146. 0x178 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* i2c2_sda.uart1_ctsn */
  147. 0x17c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* i2c2_scl.uart1_rtsn */
  148. >;
  149. };
  150. timer7_pins: pinmux_timer7_pins {
  151. pinctrl-single,pins = <
  152. 0x094 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_oen_ren.timer7 */
  153. >;
  154. };
  155. profibus_pins_default: pinmux_profibus_pins_default {
  156. pinctrl-single,pins = <
  157. 0x158 (PIN_INPUT_PULLUP | MUX_MODE4) /* spi0_d1.uart0_rxd */
  158. 0x15c (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* spi0_cs0.uart0_txd */
  159. 0x1a4 (PIN_OUTPUT | MUX_MODE5) /* mcasp0_fsr.gpio3.19 */
  160. >;
  161. };
  162. };
  163. &timer7 {
  164. pinctrl-names = "default";
  165. pinctrl-0 = <&timer7_pins>;
  166. status = "okay";
  167. };
  168. &i2c0 {
  169. hdmi1: hdmi@70 {
  170. compatible = "nxp,tda998x";
  171. reg = <0x70>;
  172. };
  173. };
  174. &i2c2 {
  175. pinctrl-names = "default";
  176. pinctrl-0 = <&i2c2_pins>;
  177. status = "okay";
  178. clock-frequency = <400000>;
  179. };
  180. &i2c2 {
  181. polytouch: edt-ft5x06@38 {
  182. compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
  183. reg = <0x38>;
  184. pinctrl-names = "default";
  185. pinctrl-0 = <&edt_ft5x06_pins>;
  186. interrupt-parent = <&gpio2>;
  187. interrupts = <1 0>;
  188. reset-gpios = <&gpio3 21 1>;
  189. };
  190. mcp7940x: rtc@6f {
  191. compatible = "microchip,mcp7940x";
  192. reg = <0x6f>;
  193. };
  194. };
  195. &spi1 {
  196. pinctrl-names = "default";
  197. pinctrl-0 = <&spi1_pins>;
  198. clock-frequency = <1000000>;
  199. status = "okay";
  200. spi1_0{
  201. compatible = "spidev";
  202. reg = <0>;
  203. spi-max-frequency = <10000000>;
  204. };
  205. spi1_1{
  206. compatible = "spidev";
  207. reg = <1>;
  208. spi-max-frequency = <10000000>;
  209. };
  210. };
  211. &lcdc {
  212. status = "okay";
  213. };
  214. / {
  215. panel {
  216. compatible = "ti,tilcdc,panel";
  217. pinctrl-names = "default", "sleep";
  218. pinctrl-0 = <&lcd_pins_default>;
  219. pinctrl-1 = <&lcd_pins_sleep>;
  220. status = "okay";
  221. panel-info {
  222. ac-bias = <255>;
  223. ac-bias-intrpt = <0>;
  224. dma-burst-sz = <16>;
  225. bpp = <32>;
  226. fdd = <0x80>;
  227. sync-edge = <0>;
  228. sync-ctrl = <1>;
  229. raster-order = <0>;
  230. fifo-th = <0>;
  231. invert-pxl-clk = <1>;
  232. };
  233. display-timings {
  234. 480x272 {
  235. hactive = <480>;
  236. vactive = <272>;
  237. hback-porch = <2>;
  238. hfront-porch = <2>;
  239. hsync-len = <41>;
  240. vback-porch = <2>;
  241. vfront-porch = <2>;
  242. vsync-len = <10>;
  243. clock-frequency = <9000000>;
  244. hsync-active = <0>;
  245. vsync-active = <0>;
  246. de-active = <1>;
  247. pixelclk-active = <1>;
  248. };
  249. };
  250. };
  251. };
  252. /*
  253. &tscadc {
  254. status = "okay";
  255. tsc {
  256. ti,wires = <4>;
  257. ti,x-plate-resistance = <200>;
  258. ti,coordinate-readouts = <5>;
  259. ti,wire-config = <0x00 0x11 0x22 0x33>;
  260. };
  261. };
  262. */
  263. &tscadc {
  264. status = "okay";
  265. };
  266. &am335x_adc {
  267. ti,adc-channels = <0 1 2 3 4 5 6 7>;
  268. };
  269. &uart4 {
  270. pinctrl-names = "default", "sleep";
  271. pinctrl-0 = <&uart4_pins_default>;
  272. pinctrl-1 = <&uart4_pins_sleep>;
  273. status = "okay";
  274. rts-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
  275. rs485-rts-active-high;
  276. rs485-rts-delay = <0 0 100>;
  277. linux,rs485-enabled-at-boot-time;
  278. rs485-rx-during-tx;
  279. };
  280. &uart1 {
  281. pinctrl-names = "default", "sleep";
  282. pinctrl-0 = <&uart1_pins_default>;
  283. pinctrl-1 = <&uart1_pins_sleep>;
  284. status = "okay";
  285. };
  286. &pruss {
  287. pinctrl-names = "default";
  288. pinctrl-0 = <&profibus_pins_default>;
  289. status = "okay";
  290. };
  291. / {
  292. pwm7: dmtimer-pwm@7 {
  293. compatible = "ti,omap-dmtimer-pwm";
  294. ti,timers = <&timer7>;
  295. #pwm-cells = <3>;
  296. };
  297. pwm-beeper {
  298. compatible = "pwm-beeper";
  299. pwms = <&pwm7 0 0 0>;
  300. };
  301. };
  302. / {
  303. vendorinfo {
  304. vendor_name = "GfA Display001";
  305. display_dtb = "Display001_4.dtb";
  306. };
  307. };