imx51-ts4800.dts 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. /*
  2. * Copyright 2015 Savoir-faire Linux
  3. *
  4. * This device tree is based on imx51-babbage.dts
  5. *
  6. * Licensed under the X11 license or the GPL v2 (or later)
  7. */
  8. /dts-v1/;
  9. #include "imx51.dtsi"
  10. / {
  11. model = "Technologic Systems TS-4800";
  12. compatible = "technologic,imx51-ts4800", "fsl,imx51";
  13. chosen {
  14. stdout-path = &uart1;
  15. };
  16. memory@90000000 {
  17. device_type = "memory";
  18. reg = <0x90000000 0x10000000>;
  19. };
  20. clocks {
  21. ckih1 {
  22. clock-frequency = <22579200>;
  23. };
  24. ckih2 {
  25. clock-frequency = <24576000>;
  26. };
  27. };
  28. backlight_reg: regulator-backlight {
  29. compatible = "regulator-fixed";
  30. pinctrl-names = "default";
  31. pinctrl-0 = <&pinctrl_enable_lcd>;
  32. regulator-name = "enable_lcd_reg";
  33. regulator-min-microvolt = <3300000>;
  34. regulator-max-microvolt = <3300000>;
  35. gpio = <&gpio4 9 GPIO_ACTIVE_HIGH>;
  36. enable-active-high;
  37. };
  38. backlight: backlight {
  39. compatible = "pwm-backlight";
  40. pwms = <&pwm1 0 78770>;
  41. brightness-levels = <0 150 200 255>;
  42. default-brightness-level = <1>;
  43. power-supply = <&backlight_reg>;
  44. };
  45. display1: disp1 {
  46. compatible = "fsl,imx-parallel-display";
  47. interface-pix-fmt = "rgb24";
  48. pinctrl-names = "default";
  49. pinctrl-0 = <&pinctrl_lcd>;
  50. display-timings {
  51. 800x480p60 {
  52. native-mode;
  53. clock-frequency = <30066000>;
  54. hactive = <800>;
  55. vactive = <480>;
  56. hfront-porch = <50>;
  57. hback-porch = <70>;
  58. hsync-len = <50>;
  59. vback-porch = <0>;
  60. vfront-porch = <0>;
  61. vsync-len = <50>;
  62. };
  63. };
  64. port {
  65. display0_in: endpoint {
  66. remote-endpoint = <&ipu_di0_disp1>;
  67. };
  68. };
  69. };
  70. };
  71. &esdhc1 {
  72. pinctrl-names = "default";
  73. pinctrl-0 = <&pinctrl_esdhc1>;
  74. cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
  75. wp-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
  76. status = "okay";
  77. };
  78. &fec {
  79. pinctrl-names = "default";
  80. pinctrl-0 = <&pinctrl_fec>;
  81. phy-mode = "mii";
  82. phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
  83. phy-reset-duration = <1>;
  84. status = "okay";
  85. };
  86. &i2c2 {
  87. pinctrl-names = "default";
  88. pinctrl-0 = <&pinctrl_i2c2>;
  89. status = "okay";
  90. rtc: rtc@68 {
  91. compatible = "st,m41t00";
  92. reg = <0x68>;
  93. };
  94. };
  95. &ipu_di0_disp1 {
  96. remote-endpoint = <&display0_in>;
  97. };
  98. &pwm1 {
  99. #pwm-cells = <2>;
  100. pinctrl-names = "default";
  101. pinctrl-0 = <&pinctrl_pwm_backlight>;
  102. status = "okay";
  103. };
  104. &uart1 {
  105. pinctrl-names = "default";
  106. pinctrl-0 = <&pinctrl_uart1>;
  107. status = "okay";
  108. };
  109. &uart2 {
  110. pinctrl-names = "default";
  111. pinctrl-0 = <&pinctrl_uart2>;
  112. status = "okay";
  113. };
  114. &uart3 {
  115. pinctrl-names = "default";
  116. pinctrl-0 = <&pinctrl_uart3>;
  117. status = "okay";
  118. };
  119. &weim {
  120. pinctrl-names = "default";
  121. pinctrl-0 = <&pinctrl_weim>;
  122. status = "okay";
  123. fpga@0 {
  124. compatible = "simple-bus";
  125. fsl,weim-cs-timing = <0x0061008F 0x00000002 0x1c022000
  126. 0x00000000 0x1c092480 0x00000000>;
  127. reg = <0 0x0000000 0x1d000>;
  128. #address-cells = <1>;
  129. #size-cells = <1>;
  130. ranges = <0 0 0 0x1d000>;
  131. syscon: syscon@10000 {
  132. compatible = "syscon", "simple-mfd";
  133. reg = <0x10000 0x3d>;
  134. reg-io-width = <2>;
  135. wdt {
  136. compatible = "technologic,ts4800-wdt";
  137. syscon = <&syscon 0xe>;
  138. };
  139. };
  140. touchscreen@12000 {
  141. compatible = "technologic,ts4800-ts";
  142. reg = <0x12000 0x1000>;
  143. syscon = <&syscon 0x10 6>;
  144. };
  145. fpga_irqc: fpga-irqc@15000 {
  146. compatible = "technologic,ts4800-irqc";
  147. reg = <0x15000 0x1000>;
  148. pinctrl-names = "default";
  149. pinctrl-0 = <&pinctrl_interrupt_fpga>;
  150. interrupt-parent = <&gpio2>;
  151. interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
  152. interrupt-controller;
  153. #interrupt-cells = <1>;
  154. };
  155. can@1a000 {
  156. compatible = "technologic,sja1000";
  157. reg = <0x1a000 0x100>;
  158. interrupt-parent = <&fpga_irqc>;
  159. interrupts = <1>;
  160. reg-io-width = <2>;
  161. nxp,tx-output-config = <0x06>;
  162. nxp,external-clock-frequency = <24000000>;
  163. };
  164. };
  165. };
  166. &iomuxc {
  167. pinctrl_ecspi1: ecspi1grp {
  168. fsl,pins = <
  169. MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185
  170. MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185
  171. MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
  172. MX51_PAD_CSPI1_SS0__GPIO4_24 0x85 /* CS0 */
  173. >;
  174. };
  175. pinctrl_enable_lcd: enablelcdgrp {
  176. fsl,pins = <
  177. MX51_PAD_CSI2_D12__GPIO4_9 0x1c5
  178. >;
  179. };
  180. pinctrl_esdhc1: esdhc1grp {
  181. fsl,pins = <
  182. MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5
  183. MX51_PAD_SD1_CLK__SD1_CLK 0x20d5
  184. MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5
  185. MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5
  186. MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5
  187. MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
  188. MX51_PAD_GPIO1_0__GPIO1_0 0x100
  189. MX51_PAD_GPIO1_1__GPIO1_1 0x100
  190. >;
  191. };
  192. pinctrl_fec: fecgrp {
  193. fsl,pins = <
  194. MX51_PAD_EIM_EB2__FEC_MDIO 0x000001f5
  195. MX51_PAD_EIM_EB3__FEC_RDATA1 0x00000085
  196. MX51_PAD_EIM_CS2__FEC_RDATA2 0x00000085
  197. MX51_PAD_EIM_CS3__FEC_RDATA3 0x00000085
  198. MX51_PAD_EIM_CS4__FEC_RX_ER 0x00000180
  199. MX51_PAD_EIM_CS5__FEC_CRS 0x00000180
  200. MX51_PAD_DISP2_DAT10__FEC_COL 0x00000180
  201. MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x00000180
  202. MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x00002180
  203. MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x00002004
  204. MX51_PAD_NANDF_CS2__FEC_TX_ER 0x00002004
  205. MX51_PAD_DI2_PIN2__FEC_MDC 0x00002004
  206. MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x00002004
  207. MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x00002004
  208. MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x00002004
  209. MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x00002004
  210. MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x00002180
  211. MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x000020a4
  212. MX51_PAD_EIM_A20__GPIO2_14 0x00000085 /* Phy Reset */
  213. >;
  214. };
  215. pinctrl_i2c2: i2c2grp {
  216. fsl,pins = <
  217. MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed
  218. MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
  219. >;
  220. };
  221. pinctrl_interrupt_fpga: fpgaicgrp {
  222. fsl,pins = <
  223. MX51_PAD_EIM_D27__GPIO2_9 0xe5
  224. >;
  225. };
  226. pinctrl_lcd: lcdgrp {
  227. fsl,pins = <
  228. MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5
  229. MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5
  230. MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5
  231. MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5
  232. MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5
  233. MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5
  234. MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5
  235. MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5
  236. MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5
  237. MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5
  238. MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5
  239. MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5
  240. MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5
  241. MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5
  242. MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5
  243. MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5
  244. MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5
  245. MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5
  246. MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5
  247. MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5
  248. MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5
  249. MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5
  250. MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5
  251. MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5
  252. MX51_PAD_DI1_PIN2__DI1_PIN2 0x5
  253. MX51_PAD_DI1_PIN3__DI1_PIN3 0x5
  254. MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5
  255. MX51_PAD_DI_GP4__DI2_PIN15 0x5
  256. >;
  257. };
  258. pinctrl_pwm_backlight: backlightgrp {
  259. fsl,pins = <
  260. MX51_PAD_GPIO1_2__PWM1_PWMO 0x80000000
  261. >;
  262. };
  263. pinctrl_uart1: uart1grp {
  264. fsl,pins = <
  265. MX51_PAD_UART1_RXD__UART1_RXD 0x1c5
  266. MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
  267. >;
  268. };
  269. pinctrl_uart2: uart2grp {
  270. fsl,pins = <
  271. MX51_PAD_UART2_RXD__UART2_RXD 0x1c5
  272. MX51_PAD_UART2_TXD__UART2_TXD 0x1c5
  273. >;
  274. };
  275. pinctrl_uart3: uart3grp {
  276. fsl,pins = <
  277. MX51_PAD_EIM_D25__UART3_RXD 0x1c5
  278. MX51_PAD_EIM_D26__UART3_TXD 0x1c5
  279. >;
  280. };
  281. pinctrl_weim: weimgrp {
  282. fsl,pins = <
  283. MX51_PAD_EIM_DTACK__EIM_DTACK 0x85
  284. MX51_PAD_EIM_CS0__EIM_CS0 0x0
  285. MX51_PAD_EIM_CS1__EIM_CS1 0x0
  286. MX51_PAD_EIM_EB0__EIM_EB0 0x85
  287. MX51_PAD_EIM_EB1__EIM_EB1 0x85
  288. MX51_PAD_EIM_OE__EIM_OE 0x85
  289. MX51_PAD_EIM_LBA__EIM_LBA 0x85
  290. >;
  291. };
  292. };