Display001_4_2020.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  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. timer4_pins: pinmux_timer4_pins {
  156. pinctrl-single,pins = <
  157. 0x090 (PIN_INPUT | MUX_MODE7) /* gpmc_advn_ale.timer4 gpio2_2 */
  158. >;
  159. };
  160. profibus_pins_default: pinmux_profibus_pins_default {
  161. pinctrl-single,pins = <
  162. 0x158 (PIN_INPUT_PULLUP | MUX_MODE4) /* spi0_d1.uart0_rxd */
  163. 0x15c (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* spi0_cs0.uart0_txd */
  164. 0x1a4 (PIN_OUTPUT | MUX_MODE5) /* mcasp0_fsr.gpio3.19 */
  165. >;
  166. };
  167. };
  168. &timer7 {
  169. pinctrl-names = "default";
  170. pinctrl-0 = <&timer7_pins>;
  171. status = "okay";
  172. };
  173. &timer4 {
  174. pinctrl-names = "default";
  175. pinctrl-0 = <&timer4_pins>;
  176. status = "okay";
  177. };
  178. &i2c0 {
  179. hdmi1: hdmi@70 {
  180. compatible = "nxp,tda998x";
  181. reg = <0x70>;
  182. };
  183. };
  184. &i2c2 {
  185. pinctrl-names = "default";
  186. pinctrl-0 = <&i2c2_pins>;
  187. status = "okay";
  188. clock-frequency = <400000>;
  189. };
  190. &i2c2 {
  191. polytouch: edt-ft5x06@38 {
  192. compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
  193. reg = <0x38>;
  194. pinctrl-names = "default";
  195. pinctrl-0 = <&edt_ft5x06_pins>;
  196. interrupt-parent = <&gpio2>;
  197. interrupts = <1 0>;
  198. reset-gpios = <&gpio3 21 1>;
  199. };
  200. mcp7940x: rtc@6f {
  201. compatible = "microchip,mcp7940x";
  202. reg = <0x6f>;
  203. };
  204. };
  205. &spi1 {
  206. pinctrl-names = "default";
  207. pinctrl-0 = <&spi1_pins>;
  208. clock-frequency = <1000000>;
  209. status = "okay";
  210. spi1_0{
  211. compatible = "spidev";
  212. reg = <0>;
  213. spi-max-frequency = <10000000>;
  214. };
  215. spi1_1{
  216. compatible = "spidev";
  217. reg = <1>;
  218. spi-max-frequency = <10000000>;
  219. };
  220. };
  221. &lcdc {
  222. status = "okay";
  223. };
  224. / {
  225. panel {
  226. compatible = "ti,tilcdc,panel";
  227. pinctrl-names = "default", "sleep";
  228. pinctrl-0 = <&lcd_pins_default>;
  229. pinctrl-1 = <&lcd_pins_sleep>;
  230. status = "okay";
  231. panel-info {
  232. ac-bias = <255>;
  233. ac-bias-intrpt = <0>;
  234. dma-burst-sz = <16>;
  235. bpp = <32>;
  236. fdd = <0x80>;
  237. sync-edge = <0>;
  238. sync-ctrl = <1>;
  239. raster-order = <0>;
  240. fifo-th = <0>;
  241. };
  242. display-timings {
  243. 480x272 {
  244. hactive = <480>;
  245. vactive = <272>;
  246. hback-porch = <2>;
  247. hfront-porch = <2>;
  248. hsync-len = <41>;
  249. vback-porch = <2>;
  250. vfront-porch = <2>;
  251. vsync-len = <10>;
  252. clock-frequency = <9000000>;
  253. hsync-active = <0>;
  254. vsync-active = <0>;
  255. de-active = <1>;
  256. pixelclk-active = <0>;
  257. };
  258. };
  259. };
  260. };
  261. /*
  262. &tscadc {
  263. status = "okay";
  264. tsc {
  265. ti,wires = <4>;
  266. ti,x-plate-resistance = <200>;
  267. ti,coordinate-readouts = <5>;
  268. ti,wire-config = <0x00 0x11 0x22 0x33>;
  269. };
  270. };
  271. */
  272. &tscadc {
  273. status = "okay";
  274. };
  275. &am335x_adc {
  276. ti,adc-channels = <0 1 2 3 4 5 6 7>;
  277. };
  278. &uart4 {
  279. pinctrl-names = "default", "sleep";
  280. pinctrl-0 = <&uart4_pins_default>;
  281. pinctrl-1 = <&uart4_pins_sleep>;
  282. status = "okay";
  283. rts-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
  284. rs485-rts-active-high;
  285. rs485-rts-delay = <0 0 100>;
  286. linux,rs485-enabled-at-boot-time;
  287. rs485-rx-during-tx;
  288. };
  289. &uart1 {
  290. pinctrl-names = "default", "sleep";
  291. pinctrl-0 = <&uart1_pins_default>;
  292. pinctrl-1 = <&uart1_pins_sleep>;
  293. status = "okay";
  294. };
  295. &pruss {
  296. pinctrl-names = "default";
  297. pinctrl-0 = <&profibus_pins_default>;
  298. status = "okay";
  299. };
  300. / {
  301. pwm7: dmtimer-pwm@7 {
  302. compatible = "ti,omap-dmtimer-pwm";
  303. ti,timers = <&timer7>;
  304. #pwm-cells = <3>;
  305. };
  306. pwm-beeper {
  307. compatible = "pwm-beeper";
  308. pwms = <&pwm7 0 0 0>;
  309. };
  310. };
  311. / {
  312. vendorinfo {
  313. vendor_name = "GfA Display001";
  314. display_dtb = "Display001_4_2020.dtb";
  315. display_physical_width = "96"; /* in mm */
  316. display_physical_height = "55"; /* in mm */
  317. };
  318. };