1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2018 B&R Industrial Automation GmbH
4 * http://www.br-automation.com
5 *
6 */
7/dts-v1/;
8
9#include "am33xx.dtsi"
10
11/ {
12	model = "BRPPT1 (MMC) Panel";
13	compatible = "ti,am33xx";
14
15	fset: factory-settings {
16		bl-version	= "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456890";
17		version		= <0x0100>;
18		order-no	= "6PPT30 (MMC)";
19		hw-revision	= "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456890";
20		serial-no	= "0";
21		device-id	= <0x0>;
22		parent-id	= <0x0>;
23		hw-variant	= <0x1>;
24	};
25
26	aliases {
27		ds1bkl0 = &pwmbacklight;
28		ds1bkl1 = &tps_bl;
29		ds1timing = &timing0;
30		ds1ctrl = &lcdc;
31		gpmc = &gpmc;
32		mmc = &mmc2;
33		fset = &fset;
34	};
35
36	chosen {
37		bootargs = "console=ttyO0,115200 earlyprintk";
38		stdout-path = &uart0;
39	};
40
41	memory {
42		device_type = "memory";
43		reg = <0x80000000 0x10000000>; /* 256 MB */
44	};
45
46	panel {
47		status = "disabled";
48
49		compatible = "ti,tilcdc,panel";
50		enable-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
51
52		backlight = <&pwmbacklight>;
53		bkl-pwm = <&pwmbacklight>;
54		bkl-tps = <&tps_bl>;
55
56		panel-info {
57			ac-bias		= <255>;
58			ac-bias-intrpt	= <0>;
59			dma-burst-sz	= <16>;
60			bpp		= <32>;
61			fdd		= <0x80>;
62			sync-edge	= <0>;
63			sync-ctrl	= <1>;
64			raster-order	= <0>;
65			fifo-th		= <0>;
66		};
67
68		display-timings {
69			native-mode = <&timing0>;
70			timing0: lcd {
71				clock-frequency	= <32000000>;
72				hactive		= <800>;
73				vactive		= <480>;
74				hfront-porch	= <2>;
75				hback-porch	= <192>;
76				hsync-len	= <1>;
77				vfront-porch	= <20>;
78				vback-porch	= <2>;
79				vsync-len	= <1>;
80				hsync-active	= <1>;
81				vsync-active	= <1>;
82				pupdelay	= <10>;
83				pondelay	= <10>;
84			};
85		};
86	};
87
88	vmmcsd_fixed: fixedregulator@0 {
89		compatible = "regulator-fixed";
90		regulator-name = "vmmcsd_fixed";
91		regulator-min-microvolt = <3300000>;
92		regulator-max-microvolt = <3300000>;
93	};
94
95	pwm0: omap-pwm@timer5 {
96		compatible = "ti,omap-dmtimer-pwm";
97		ti,timers = <&timer5>;
98		#pwm-cells = <3>;
99	};
100
101	pwm1: omap-pwm@timer6 {
102		compatible = "ti,omap-dmtimer-pwm";
103		ti,timers = <&timer6>;
104		#pwm-cells = <3>;
105	};
106
107	beeper: pwm-beep {
108		compatible = "pwm-beeper";
109		pwms = <&pwm0 0 0 0>;
110	};
111
112	pwmbacklight: pwm-bkl {
113		compatible = "pwm-backlight";
114		pwms = <&pwm1 0 5000000 0>;
115
116		default-brightness-level = <255>;
117		brightness-levels = <0 16 32 64 128 170 202 234 255>;
118
119		power-supply = <&vmmcsd_fixed>;
120		enable-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
121	};
122};
123
124&uart0 {		/* console uart */
125	u-boot,dm-spl;
126	status = "okay";
127};
128
129&uart1 {
130	status = "okay";
131};
132
133&i2c0 {
134	u-boot,dm-spl;
135	status = "okay";
136	clock-frequency = <400000>;
137
138	tps: tps@24 {		/* PMIC controller */
139		u-boot,dm-spl;
140		reg = <0x24>;
141		compatible = "ti,tps65217";
142
143		tps_bl: backlight {
144			compatible = "ti,tps65217-bl";
145			isel = <1>;	/* 1 - ISET1, 2 ISET2 */
146			fdim = <1000>;	/* TPS65217_BL_FDIM_1kHZ */
147			default-brightness = <50>;
148		};
149	};
150};
151
152&i2c2 {
153	status = "okay";
154	clock-frequency = <100000>;
155};
156
157&edma {
158	status = "okay";
159};
160
161&cppi41dma  {
162	status = "okay";
163};
164
165&usb {
166	status = "okay";
167};
168
169&usb_ctrl_mod {
170	status = "okay";
171};
172
173&usb0_phy {
174	status = "okay";
175};
176
177&usb1_phy {
178	status = "okay";
179};
180
181&usb0 {
182	status = "okay";
183	dr_mode = "host";
184};
185
186&usb1 {
187	status = "okay";
188	dr_mode = "host";
189};
190
191&davinci_mdio {
192	status = "okay";
193
194	phy0: ethernet-phy@0 {
195		reg = <1>;
196	};
197
198	phy1: ethernet-phy@1 {
199		reg = <2>;
200	};
201};
202
203&mac {
204	status = "okay";
205};
206
207&cpsw_emac0 {
208	phy-handle = <&phy0>;
209	dual_emac_res_vlan = <1>;
210	phy-mode = "mii";
211};
212
213&cpsw_emac1 {
214	phy-handle = <&phy1>;
215	dual_emac_res_vlan = <2>;
216	phy-mode = "mii";
217};
218
219&mmc1 {
220	u-boot,dm-spl;
221	vmmc-supply = <&vmmcsd_fixed>;
222	bus-width = <0x4>;
223	ti,non-removable;
224	ti,needs-special-hs-handling;
225	ti,vcc-aux-disable-is-sleep;
226	status = "okay";
227};
228
229&mmc2 {
230	u-boot,dm-spl;
231	vmmc-supply = <&vmmcsd_fixed>;
232	bus-width = <0x8>;
233	ti,non-removable;
234	ti,needs-special-hs-handling;
235	ti,vcc-aux-disable-is-sleep;
236	status = "okay";
237};
238
239&l4_per {
240
241	segment@300000 {
242
243		target-module@e000 {
244			u-boot,dm-pre-reloc;
245
246			lcdc: lcdc@0 {
247				u-boot,dm-pre-reloc;
248				status = "disabled";
249			};
250		};
251	};
252};
253
254&elm {
255	status = "okay";
256};
257
258&sham {
259	status = "okay";
260};
261
262&aes {
263	status = "okay";
264};
265
266&gpio0 {
267	u-boot,dm-spl;
268	ti,no-reset-on-init;
269};
270
271&gpio1 {
272	u-boot,dm-spl;
273	ti,no-reset-on-init;
274};
275
276&gpio2 {
277	u-boot,dm-spl;
278	ti,no-reset-on-init;
279};
280
281&gpio3 {
282	u-boot,dm-spl;
283	ti,no-reset-on-init;
284};
285
286&wdt2 {
287	ti,no-reset-on-init;
288	ti,no-idle-on-init;
289};
290
291&tscadc {
292	status = "okay";
293	tsc {
294		ti,wires = <4>;
295		ti,x-plate-resistance = <200>;
296		ti,zx-cutoff-ratio = <40>;
297		ti,min_deviation = <60>;
298		ti,max_deviation = <600>;
299		ti,coordinate-readouts = <5>;
300		ti,wire-config = <0x00 0x11 0x22 0x33>;
301
302		bnr-buttons {
303			Home-Button {};
304		};
305	};
306
307	adc {
308		ti,adc-channels = <5 6 7>;
309	};
310};
311
312&timer6 {		/* used for cpsw end device */
313	status = "okay";
314	ti,no-reset-on-init;
315	ti,no-idle-on-init;
316};
317
318&timer7 {		/* used for cpsw end device */
319	status = "okay";
320	ti,no-reset-on-init;
321	ti,no-idle-on-init;
322};
323
324&wdt2 {
325	status = "okay";
326	ti,no-reset-on-init;
327	ti,no-idle-on-init;
328};
329
330&epwmss0 {
331	status = "okay";
332};
333
334&tscadc {
335	status = "okay";
336};
337
338&dcan0 {
339	status = "okay";
340};
341
342&dcan1 {
343	status = "okay";
344};
345
346&sham {
347	status = "disabled";
348};
349
350&aes {
351	status = "disabled";
352};
353
354&rng {
355	status = "disabled";
356};
357