]> git.kernelconcepts.de Git - meta-kc-bsp.git/blob - recipes-kernel/linux/linux-karo-4.9.11/txbase/myboard/txbase-myboard.dtsi
fix machine definition substitution
[meta-kc-bsp.git] / recipes-kernel / linux / linux-karo-4.9.11 / txbase / myboard / txbase-myboard.dtsi
1 /*
2  * Copyright 2016 Lothar Waßmann <LW@KARO-electronics.de>
3  * Copyright 2016-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-lcd0-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         sound {
141                 compatible = "fsl,imx-audio-sgtl5000";
142                 model = "sgtl5000-audio";
143                 pinctrl-names = "default";
144                 pinctrl-0 = <&pinctrl_ssi1>;
145                 ssi-controller = <&ssi1>;
146                 audio-codec = <&sgtl5000>;
147                 audio-routing =
148                         "MIC_IN", "Mic Jack",
149                         "Mic Jack", "Mic Bias",
150                         "Headphone Jack", "HP_OUT";
151                 mux-int-port = <1>;
152                 mux-ext-port = <5>;
153                 status = "okay";
154         };
155 };
156
157 TX_LCD {
158 /*
159  * The node/alias 'display' is needed for U-Boot to be able to show a
160  * logo/splash image at boot time. It needs to include 'display-timings'
161  * as direct sub-node.
162  *
163  * Other naming is only needed for the NXP/Freescale non-mainline
164  * compliant/proprietary display driver in their Yocto 4.1 Kernel
165  * implementation.
166  */
167         compatible = "fsl,lcd";
168         ipu_id = <0>;
169         disp_id = <0>;
170         default_ifmt = "RGB565";
171         pinctrl-names = "default";
172         pinctrl-0 = <&pinctrl_ipu1>;
173         status = "disabled";
174         display-timings {
175                 VGA {
176                         clock-frequency = <25200000>;
177                         hactive = <640>;
178                         vactive = <480>;
179                         hback-porch = <48>;
180                         hsync-len = <96>;
181                         hfront-porch = <16>;
182                         vback-porch = <31>;
183                         vsync-len = <2>;
184                         vfront-porch = <12>;
185                         hsync-active = <0>;
186                         vsync-active = <0>;
187                         de-active = <1>;
188                         pixelclk-active = <0>;
189                 };
190
191                 ETV570 {
192                         clock-frequency = <25200000>;
193                         hactive = <640>;
194                         vactive = <480>;
195                         hback-porch = <114>;
196                         hsync-len = <30>;
197                         hfront-porch = <16>;
198                         vback-porch = <32>;
199                         vsync-len = <3>;
200                         vfront-porch = <10>;
201                         hsync-active = <0>;
202                         vsync-active = <0>;
203                         de-active = <1>;
204                         pixelclk-active = <0>;
205                 };
206
207                 ET0350 {
208                         clock-frequency = <6413760>;
209                         hactive = <320>;
210                         vactive = <240>;
211                         hback-porch = <34>;
212                         hsync-len = <34>;
213                         hfront-porch = <20>;
214                         vback-porch = <15>;
215                         vsync-len = <3>;
216                         vfront-porch = <4>;
217                         hsync-active = <0>;
218                         vsync-active = <0>;
219                         de-active = <1>;
220                         pixelclk-active = <0>;
221                 };
222
223                 ET0430 {
224                         clock-frequency = <9009000>;
225                         hactive = <480>;
226                         vactive = <272>;
227                         hback-porch = <2>;
228                         hsync-len = <41>;
229                         hfront-porch = <2>;
230                         vback-porch = <2>;
231                         vsync-len = <10>;
232                         vfront-porch = <2>;
233                         hsync-active = <0>;
234                         vsync-active = <0>;
235                         de-active = <1>;
236                         pixelclk-active = <1>;
237                 };
238
239                 ET0500 {
240                         clock-frequency = <33264000>;
241                         hactive = <800>;
242                         vactive = <480>;
243                         hback-porch = <88>;
244                         hsync-len = <128>;
245                         hfront-porch = <40>;
246                         vback-porch = <33>;
247                         vsync-len = <2>;
248                         vfront-porch = <10>;
249                         hsync-active = <0>;
250                         vsync-active = <0>;
251                         de-active = <1>;
252                         pixelclk-active = <0>;
253                 };
254
255                 ET0700 { /* same as ET0500 */
256                         clock-frequency = <33264000>;
257                         hactive = <800>;
258                         vactive = <480>;
259                         hback-porch = <88>;
260                         hsync-len = <128>;
261                         hfront-porch = <40>;
262                         vback-porch = <33>;
263                         vsync-len = <2>;
264                         vfront-porch = <10>;
265                         hsync-active = <0>;
266                         vsync-active = <0>;
267                         de-active = <1>;
268                         pixelclk-active = <0>;
269                 };
270
271                 ETQ570 {
272                         clock-frequency = <6596040>;
273                         hactive = <320>;
274                         vactive = <240>;
275                         hback-porch = <38>;
276                         hsync-len = <30>;
277                         hfront-porch = <30>;
278                         vback-porch = <16>;
279                         vsync-len = <3>;
280                         vfront-porch = <4>;
281                         hsync-active = <0>;
282                         vsync-active = <0>;
283                         de-active = <1>;
284                         pixelclk-active = <0>;
285                 };
286         };
287 };
288
289 TX_LCD_FB {
290         compatible = "fsl,mxc_sdc_fb";
291         disp_dev = "lcd";
292         interface_pix_fmt = "RGB24";
293         default_bpp = <16>;
294         int_clk = <0>;
295         late_init = <0>;
296         status = "disabled";
297 };
298
299 TX_I2C {
300         status = "okay";
301
302         sgtl5000: sgtl5000@0a {
303                 compatible = "fsl,sgtl5000";
304                 reg = <0x0a>;
305                 VDDA-supply = <&reg_2v5>;
306                 VDDIO-supply = <&reg_3v3>;
307                 clocks = <&mclk>;
308         };
309
310         polytouch: edt-ft5x06@38 {
311                 compatible = "edt,edt-ft5x06";
312                 reg = <0x38>;
313                 pinctrl-names = "default";
314                 pinctrl-0 = <&pinctrl_edt_ft5x06>;
315                 interrupts-extended = <TX_GPIO_PIN148 0>;
316                 reset-gpios = <TX_GPIO_PIN149 GPIO_ACTIVE_LOW>;
317                 wake-gpios = <TX_GPIO_PIN152 GPIO_ACTIVE_HIGH>;
318                 linux,wakeup;
319         };
320 };
321
322 TX_CAN1 {
323         status = "okay";
324 };
325
326
327 TX_PWM {
328         status = "okay";
329 };
330
331 TX_SD1 {
332         status = "okay";
333 };
334
335 TX_SSI1 {
336         status = "okay";
337 };
338
339 TX_UART1 {
340         status = "okay";
341 };
342
343 TX_UART2 {
344         status = "okay";
345         fsl,uart-has-rtscts;
346         uart-has-rtscts;
347 };
348
349 TX_UART3 {
350         status = "okay";
351 };
352
353 TX_USBOTG {
354         status = "okay";
355 };
356
357 TX_USBH {
358         status = "okay";
359 };
360
361 &iomuxc {
362         tx6 {
363                 pinctrl_edt_ft5x06: edt-ft5x06grp {
364                         fsl,pins = <
365                                 TX_GPIO_PAD148          /* Interrupt */
366                                 TX_GPIO_PAD149          /* Reset */
367                                 TX_GPIO_PAD152          /* Wake */
368                         >;
369                 };
370
371                 pinctrl_gpio_leds: gpioledsgrp {
372                         fsl,pins = <
373                                 TX_GPIO_PAD153          /* LED Heartbeat */
374                         >;
375                 };
376
377                 pinctrl_lcd0_pwr: lcd0-pwrgrp {
378                         fsl,pins = <
379                                 TX_GPIO_PAD150          /* LCD Reset */
380                         >;
381                 };
382         };
383 };