Advertisement
Guest User

Untitled

a guest
Jan 25th, 2019
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.83 KB | None | 0 0
  1. /*
  2. * Copyright 2016 Lothar WaรŸmann <LW@KARO-electronics.de>
  3. * Copyright 2017 Oliver Wendt <OW@KARO-electronics.de>
  4. * Copyright 2016 Michael Vyskocil <MV@KARO-electronics.de>
  5. *
  6. * This file is dual-licensed: you can use it either under the terms
  7. * of the GPL or the X11 license, at your option. Note that this dual
  8. * licensing only applies to this file, and not this project as a
  9. * whole.
  10. *
  11. * a) This file is free software; you can redistribute it and/or
  12. * modify it under the terms of the GNU General Public License
  13. * version 2 as published by the Free Software Foundation.
  14. *
  15. * This file is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. *
  20. * Or, alternatively,
  21. *
  22. * b) Permission is hereby granted, free of charge, to any person
  23. * obtaining a copy of this software and associated documentation
  24. * files (the "Software"), to deal in the Software without
  25. * restriction, including without limitation the rights to use,
  26. * copy, modify, merge, publish, distribute, sublicense, and/or
  27. * sell copies of the Software, and to permit persons to whom the
  28. * Software is furnished to do so, subject to the following
  29. * conditions:
  30. *
  31. * The above copyright notice and this permission notice shall be
  32. * included in all copies or substantial portions of the Software.
  33. *
  34. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  35. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  36. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  37. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  38. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  39. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  40. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  41. * OTHER DEALINGS IN THE SOFTWARE.
  42. */
  43.  
  44. /*
  45. * Please be reminded that in general DTSI file(s) are include files that are
  46. * for more than one purpose (usually bound to a SoC) and as such shouldn't be
  47. * edited. For end-user products it should be the DTS file(s) that choose which
  48. * devices and pins are active and setup.
  49. *
  50. * The setup of DT files for Ka-Ro TX COM Modules under Yocto follow a
  51. * different, non-standard, implementation, which can make it necessary.
  52. */
  53.  
  54. /*
  55. * Please see the imx6*-tx6-gpio.h && imx6*-tx6.dtsi in "linux-karo-x.y.ab/tx6"
  56. * for the definitions like TX_NAND or TX_EMMC, etc.
  57. */
  58.  
  59. / {
  60. aliases {
  61. backlight = &backlight0;
  62. backlight0 = &backlight0;
  63. /*
  64. * The node/alias 'display' is needed for U-Boot to be able to
  65. * show a logo/splash image at boot time. It needs to include
  66. * 'display-timings' as direct sub-node.
  67. */
  68. display = TX_LCD;
  69. mxcfb0 = TX_LCD_FB;
  70. };
  71.  
  72. backlight0: backlight0 {
  73. compatible = "pwm-backlight";
  74. pwms = <TX_PWM 0 500000>;
  75. power-supply = <&reg_lcd0_pwr>;
  76. /*
  77. * a poor man's way to create a 1:1 relationship between
  78. * the PWM value and the actual duty cycle
  79. */
  80. brightness-levels = < 0 1 2 3 4 5 6 7 8 9
  81. 10 11 12 13 14 15 16 17 18 19
  82. 20 21 22 23 24 25 26 27 28 29
  83. 30 31 32 33 34 35 36 37 38 39
  84. 40 41 42 43 44 45 46 47 48 49
  85. 50 51 52 53 54 55 56 57 58 59
  86. 60 61 62 63 64 65 66 67 68 69
  87. 70 71 72 73 74 75 76 77 78 79
  88. 80 81 82 83 84 85 86 87 88 89
  89. 90 91 92 93 94 95 96 97 98 99
  90. 100>;
  91. default-brightness-level = <50>;
  92. status = "disabled";
  93. };
  94.  
  95. leds {
  96. compatible = "gpio-leds";
  97. pinctrl-names = "default";
  98. pinctrl-0 = <&pinctrl_gpio_leds>;
  99.  
  100. user_led: user {
  101. label = "Heartbeat";
  102. gpios = <TX_GPIO_PIN153 GPIO_ACTIVE_HIGH>;
  103. linux,default-trigger = "heartbeat";
  104. };
  105. };
  106.  
  107. regulators {
  108. reg_2v5: regulator {
  109. compatible = "regulator-fixed";
  110. reg = <1>;
  111. regulator-name = "2V5";
  112. regulator-min-microvolt = <2500000>;
  113. regulator-max-microvolt = <2500000>;
  114. regulator-always-on;
  115. };
  116.  
  117. reg_3v3: regulator {
  118. compatible = "regulator-fixed";
  119. reg = <2>;
  120. regulator-name = "3V3";
  121. regulator-min-microvolt = <3300000>;
  122. regulator-max-microvolt = <3300000>;
  123. regulator-always-on;
  124. };
  125.  
  126. reg_lcd0_pwr: regulator-lcd-power {
  127. compatible = "regulator-fixed";
  128. regulator-name = "LCD0 RESET";
  129. regulator-min-microvolt = <3300000>;
  130. regulator-max-microvolt = <3300000>;
  131. pinctrl-names = "default";
  132. pinctrl-0 = <&pinctrl_lcd0_pwr>;
  133. gpio = <TX_GPIO_PIN150 GPIO_ACTIVE_HIGH>;
  134. enable-active-high;
  135. regulator-boot-on;
  136. regulator-always-on;
  137. };
  138. };
  139.  
  140. codec: max98357a@0 {
  141. compatible = "maxim,max98357a";
  142. #sound-dai-cells = <0>;
  143. };
  144.  
  145. sound {
  146. compatible = "simple-audio-card";
  147. pinctrl-names = "default";
  148. pinctrl-0 = <&pinctrl_ssi1>;
  149. simple-audio-card,name = "TI3 Audio";
  150. simple-audio-card,format = "i2s";
  151. simple-audio-card,widgets = "Speaker", "Speakers";
  152. simple-audio-card,routing = "Speakers", "Speaker";
  153. simple-audio-card,bitclock-master = <&cpu_dai>;
  154. simple-audio-card,frame-master = <&cpu_dai>;
  155. cpu_dai: simple-audio-card,cpu {
  156. sound-dai = <&ssi1>;
  157. system-clock-frequency = <883200>;
  158. dai-tdm-slot-num = <2>;
  159. dai-tdm-slot-width = <16>;
  160. };
  161. codec_dai: simple-audio-card,codec {
  162. sound-dai = <&codec>;
  163. };
  164. };
  165. };
  166.  
  167. TX_CAN1 {
  168. status = "okay";
  169. };
  170.  
  171. TX_I2C {
  172. status = "okay";
  173.  
  174. rtc0: ds1339@68 {
  175. compatible = "dallas,ds1339";
  176. reg = <0x68>;
  177. interrupt-parent = <&gpio4>;
  178. interrupts = <20 0>;
  179. trickle-resistor-ohms = <250>;
  180. };
  181.  
  182. polytouch: edt-ft5x06@38 {
  183. compatible = "edt,edt-ft5x06";
  184. reg = <0x38>;
  185. pinctrl-names = "default";
  186. pinctrl-0 = <&pinctrl_edt_ft5x06>;
  187. interrupts-extended = <TX_GPIO_PIN148 0>;
  188. reset-gpios = <TX_GPIO_PIN149 GPIO_ACTIVE_LOW>;
  189. wake-gpios = <TX_GPIO_PIN152 GPIO_ACTIVE_HIGH>;
  190. linux,wakeup;
  191. };
  192. };
  193.  
  194. TX_LCD {
  195. /*
  196. * The node/alias 'display' is needed for U-Boot to be able to show a
  197. * logo/splash image at boot time. It needs to include 'display-timings'
  198. * as direct sub-node.
  199. *
  200. * Other naming is only needed for the NXP/Freescale non-mainline
  201. * compliant/proprietary display driver in their Yocto 4.1 Kernel
  202. * implementation.
  203. */
  204. compatible = "fsl,lcd";
  205. ipu_id = <0>;
  206. disp_id = <0>;
  207. default_ifmt = "RGB565";
  208. pinctrl-names = "default";
  209. pinctrl-0 = <&pinctrl_ipu1>;
  210. status = "disabled";
  211. display-timings {
  212. VGA {
  213. clock-frequency = <25200000>;
  214. hactive = <640>;
  215. vactive = <480>;
  216. hback-porch = <48>;
  217. hsync-len = <96>;
  218. hfront-porch = <16>;
  219. vback-porch = <31>;
  220. vsync-len = <2>;
  221. vfront-porch = <12>;
  222. hsync-active = <0>;
  223. vsync-active = <0>;
  224. de-active = <1>;
  225. pixelclk-active = <0>;
  226. };
  227.  
  228. ETV570 {
  229. clock-frequency = <25200000>;
  230. hactive = <640>;
  231. vactive = <480>;
  232. hback-porch = <114>;
  233. hsync-len = <30>;
  234. hfront-porch = <16>;
  235. vback-porch = <32>;
  236. vsync-len = <3>;
  237. vfront-porch = <10>;
  238. hsync-active = <0>;
  239. vsync-active = <0>;
  240. de-active = <1>;
  241. pixelclk-active = <0>;
  242. };
  243.  
  244. ET0350 {
  245. clock-frequency = <6413760>;
  246. hactive = <320>;
  247. vactive = <240>;
  248. hback-porch = <34>;
  249. hsync-len = <34>;
  250. hfront-porch = <20>;
  251. vback-porch = <15>;
  252. vsync-len = <3>;
  253. vfront-porch = <4>;
  254. hsync-active = <0>;
  255. vsync-active = <0>;
  256. de-active = <1>;
  257. pixelclk-active = <0>;
  258. };
  259.  
  260. ET0430 {
  261. clock-frequency = <9009000>;
  262. hactive = <480>;
  263. vactive = <272>;
  264. hback-porch = <2>;
  265. hsync-len = <41>;
  266. hfront-porch = <2>;
  267. vback-porch = <2>;
  268. vsync-len = <10>;
  269. vfront-porch = <2>;
  270. hsync-active = <0>;
  271. vsync-active = <0>;
  272. de-active = <1>;
  273. pixelclk-active = <1>;
  274. };
  275.  
  276. ET0500 {
  277. clock-frequency = <33264000>;
  278. hactive = <800>;
  279. vactive = <480>;
  280. hback-porch = <88>;
  281. hsync-len = <128>;
  282. hfront-porch = <40>;
  283. vback-porch = <33>;
  284. vsync-len = <2>;
  285. vfront-porch = <10>;
  286. hsync-active = <0>;
  287. vsync-active = <0>;
  288. de-active = <1>;
  289. pixelclk-active = <0>;
  290. };
  291.  
  292. ET0700 { /* same as ET0500 */
  293. clock-frequency = <33264000>;
  294. hactive = <800>;
  295. vactive = <480>;
  296. hback-porch = <88>;
  297. hsync-len = <128>;
  298. hfront-porch = <40>;
  299. vback-porch = <33>;
  300. vsync-len = <2>;
  301. vfront-porch = <10>;
  302. hsync-active = <0>;
  303. vsync-active = <0>;
  304. de-active = <1>;
  305. pixelclk-active = <0>;
  306. };
  307.  
  308. ETQ570 {
  309. clock-frequency = <6596040>;
  310. hactive = <320>;
  311. vactive = <240>;
  312. hback-porch = <38>;
  313. hsync-len = <30>;
  314. hfront-porch = <30>;
  315. vback-porch = <16>;
  316. vsync-len = <3>;
  317. vfront-porch = <4>;
  318. hsync-active = <0>;
  319. vsync-active = <0>;
  320. de-active = <1>;
  321. pixelclk-active = <0>;
  322. };
  323. };
  324. };
  325.  
  326. TX_LCD_FB {
  327. compatible = "fsl,mxc_sdc_fb";
  328. disp_dev = "lcd";
  329. interface_pix_fmt = "RGB24";
  330. default_bpp = <16>;
  331. int_clk = <0>;
  332. late_init = <0>;
  333. status = "disabled";
  334. };
  335.  
  336. TX_PWM {
  337. status = "okay";
  338. };
  339.  
  340. TX_SD1 {
  341. status = "okay";
  342. };
  343.  
  344. TX_SSI1 {
  345. status = "okay";
  346. };
  347.  
  348. TX_UART1 {
  349. status = "okay";
  350. };
  351.  
  352. TX_UART2 {
  353. status = "okay";
  354. fsl,uart-has-rtscts;
  355. uart-has-rtscts;
  356. };
  357.  
  358. TX_UART3 {
  359. status = "okay";
  360. };
  361.  
  362. TX_USBH {
  363. status = "okay";
  364. };
  365.  
  366. TX_USBOTG {
  367. status = "okay";
  368. };
  369.  
  370. &iomuxc {
  371. tx6 {
  372. pinctrl_edt_ft5x06: edt-ft5x06grp {
  373. fsl,pins = <
  374. TX_GPIO_PAD148 /* Interrupt */
  375. TX_GPIO_PAD149 /* Reset */
  376. TX_GPIO_PAD152 /* Wake */
  377. >;
  378. };
  379.  
  380. pinctrl_gpio_leds: gpioledsgrp {
  381. fsl,pins = <
  382. TX_GPIO_PAD153 /* LED Heartbeat */
  383. >;
  384. };
  385.  
  386. pinctrl_lcd0_pwr: lcd0-pwrgrp {
  387. fsl,pins = <
  388. TX_GPIO_PAD150 /* LCD Reset */
  389. >;
  390. };
  391. };
  392. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement