blob: f515e4cc6aba6f96f09476d26175ac68fef4003a [file] [log] [blame]
Hannes Schmelzer6443d5d2019-07-17 14:29:53 +02001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2018 B&R Industrial Automation GmbH
4 * Copyright 2012 Freescale Semiconductor, Inc.
5 * Copyright 2011 Linaro Ltd.
6 *
7 * The code contained herein is licensed under the GNU General Public
8 * License. You may obtain a copy of the GNU General Public License
9 * Version 2 or later at the following locations:
10 *
11 * http://www.opensource.org/licenses/gpl-license.html
12 * http://www.gnu.org/copyleft/gpl.html
13 */
14
15/dts-v1/;
16
17#include "imx6dl.dtsi"
18#include "imx6qdl-u-boot.dtsi"
19#include <dt-bindings/pwm/pwm.h>
20#include <include/dt-bindings/gpio/gpio.h>
21
22/ {
23 model = "PPT50";
24 compatible = "fsl,imx6dl";
25
26 config {
27 u-boot,spl-payload-offset = <0x100000>;
28 };
29
30 fset: factory-settings {
31 bl-version = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
32 order-no = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
33 hw-revision = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
34 serial-no = <0>;
35 device-id = <0x0>;
36 parent-id = <0x0>;
37 hw-variant = <0x0>;
38 };
39
40 aliases {
41 ds1timing0 = &timing0;
42 ds1timing1 = &timing1;
43 ds1bkl = &backlight;
44 fset = &fset;
45 mxcfb0 = &mxcfb0;
46 touch0 = &touch0;
47 touch1 = &touch1;
48 touch2 = &touch2;
49 display_regulator = &display_regulator;
50 ldb = &ldb;
51 mmc0 = &usdhc4;
52 };
53
54 chosen {
55 stdout-path = "serial0:115200n8";
56 };
57
58 mxcfb0: fb@0 {
59 compatible = "fsl,mxc_sdc_fb";
60 disp_dev = "ldb";
61 interface_pix_fmt = "RGB24";
62 default_bpp = <32>;
63 int_clk = <0>;
64 late_init = <0>;
65 rotation = <0>;
66 status = "okay";
67 };
68
69 lcd@0 {
70 compatible = "fsl,lcd";
71 vlcd-supply = <&display_regulator>;
72 ipu_id = <0>;
73 disp_id = <0>;
74 default_ifmt = "RGB24";
75 status = "disabled";
76
77 display-timings {
78 native-mode = <&timing1>;
79 timing1: lcd {
80 };
81 };
82 };
83
84 backlight: backlight {
85 compatible = "pwm-backlight";
86 pwms = <&pwm4 0 5000000>;
87 brightness-levels = <0 1 2 3 4 5 6 7
88 8 9 10 11 12 13 14 15
89 16 17 18 19 20 21 22 23
90 24 25 26 27 28 29 30 31
91 32 33 34 35 36 37 38 39
92 40 41 42 43 44 45 46 47
93 48 49 50 51 52 53 54 55
94 56 57 58 59 60 61 62 63
95 64 65 66 67 68 69 70 71
96 72 73 74 75 76 77 78 79
97 80 81 82 83 84 85 86 87
98 88 89 90 91 92 93 94 95
99 96 97 98 99 100>;
100 default-brightness-level = <0>;
101 status = "okay";
102
103 enable-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
104 };
105
106 beeper: pwm-beep {
107 compatible = "pwm-beeper";
108 pwms = <&pwm3 0 0 0>;
109 };
110
111 vbus1_regulator: regulator@1 {
112 u-boot,dm-preloc;
113 compatible = "regulator-fixed";
114 regulator-name = "vbus1_regulator";
115 regulator-min-microvolt = <5000000>;
116 regulator-max-microvolt = <5000000>;
117 gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
118 enable-active-high;
119 };
120 vbus2_regulator: regulator@2 {
121 compatible = "regulator-fixed";
122 regulator-name = "vbus2_regulator";
123 regulator-min-microvolt = <5000000>;
124 regulator-max-microvolt = <5000000>;
125 gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
126 enable-active-high;
127 };
128 usbhub_regulator: gpio-regulator@3 {
129 compatible = "regulator-gpio";
130 regulator-name = "ushbub_regulator";
131 enable-gpio = <&gpio1 16 GPIO_ACTIVE_HIGH>;
132 enable-active-high;
133 enable-at-boot;
134 states = <0 0 1 1>;
135 };
136 display_regulator: regulator@4 {
137 compatible = "regulator-fixed";
138 regulator-name = "display_regulator";
139 regulator-min-microvolt = <3300000>;
140 regulator-max-microvolt = <3300000>;
141 gpio = <&gpio5 18 GPIO_ACTIVE_HIGH>;
142 enable-active-high;
143 startup-delay-us = <1000>;
144 };
145};
146
147&fec {
148 phy-mode = "rgmii-id";
149 status = "okay";
150
151 fixed-link {
152 speed = <1000>;
153 full-duplex;
154 };
155};
156
157&uart1 {
158 u-boot,dm-spl;
159 u-boot,dm-preloc;
160 status = "okay";
161};
162
163&pwm3 {
164 status = "okay";
165};
166
167&pwm4 {
Marcel Ziswiler20e7b022022-07-21 15:27:23 +0200168 #pwm-cells = <2>;
Hannes Schmelzer6443d5d2019-07-17 14:29:53 +0200169 status = "okay";
170};
171
172&ldb {
173 status = "disabled";
174 vldb-supply = <&display_regulator>;
175
176 lvds-channel@0 {
177 fsl,data-mapping = "spwg";
178 fsl,data-width = <24>;
179 primary;
180 status = "okay";
181 crtc = "ipu1-di0";
182
183 display-timings {
184 native-mode = <&timing0>;
185 timing0: lcd {
186 };
187 };
188 };
189};
190
191&usdhc4 {
192 non-removable;
193 bus-width = <8>;
194 status = "okay";
195};
196
197&usbotg {
198 vbus-supply = <&vbus1_regulator>;
199 dr_mode = "host";
200 status = "okay";
201};
202
203&usbh1 {
204 vbus-supply = <&vbus2_regulator>;
205 dr_mode = "host";
206 status = "okay";
207};
208
209&i2c3 {
210 clock-frequency = <400000>;
211 status = "okay";
212
213 touch0: egalax_i2c@2a {
214 compatible = "eeti,egalax_i2c";
215 reg = <0x2a>;
216 interrupt-parent = <&gpio4>;
217 interrupts = <9 2>;
218 int-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
219 };
220
221 touch1: gt911@5d {
222 compatible = "goodix,gt911";
223 reg = <0x5d>;
224 interrupt-parent = <&gpio4>;
225 interrupts = <9 2>;
226 irq-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
227 reset-gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>;
228 status = "disabled";
229 };
230
231 touch2: i2c-hid-dev@2c {
232 compatible = "hid-over-i2c";
233 reg = <0x2c>;
234 hid-descr-addr = <0x0001>;
235 interrupt-parent = <&gpio4>;
236 interrupts = <9 2>;
237 status = "disabled";
238 };
239};
240
241&gpio1 {
242 u-boot,dm-spl;
243 status = "okay";
244};
245
246&gpio2 {
247 u-boot,dm-spl;
248 status = "okay";
249};
250
251&gpio3 {
252 u-boot,dm-spl;
253 status = "okay";
254};
255
256&gpio4 {
257 u-boot,dm-spl;
258 status = "okay";
259};
260
261&usdhc4 {
262 status = "okay";
263};
264
265&ecspi1 {
266 u-boot,dm-spl;
267 cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>, <&gpio3 19 GPIO_ACTIVE_LOW>;
268 status = "okay";
269 spi-max-frequency = <25000000>;
270
271 m25p32@1 {
272 u-boot,dm-spl;
273 #address-cells = <1>;
274 #size-cells = <1>;
275 compatible = "st,m25p", "jedec,spi-nor";
276 spi-max-frequency = <25000000>;
277 reg = <1>;
278 };
279};