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