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", "spi-flash";
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&lcdc {
261	status = "disabled";
262};
263
264&elm {
265	status = "okay";
266};
267
268&sham {
269	status = "okay";
270};
271
272&aes {
273	status = "okay";
274};
275
276&gpio0 {
277	u-boot,dm-spl;
278	ti,no-reset-on-init;
279};
280
281&gpio1 {
282	u-boot,dm-spl;
283	ti,no-reset-on-init;
284};
285
286&gpio2 {
287	u-boot,dm-spl;
288	ti,no-reset-on-init;
289};
290
291&gpio3 {
292	u-boot,dm-spl;
293	ti,no-reset-on-init;
294};
295
296&wdt2 {
297	ti,no-reset-on-init;
298	ti,no-idle-on-init;
299};
300
301&tscadc {
302	status = "okay";
303	tsc {
304		ti,wires = <4>;
305		ti,x-plate-resistance = <200>;
306		ti,zx-cutoff-ratio = <40>;
307		ti,min_deviation = <60>;
308		ti,max_deviation = <600>;
309		ti,coordinate-readouts = <5>;
310		ti,wire-config = <0x00 0x11 0x22 0x33>;
311
312		bnr-buttons {
313			Home-Button {};
314		};
315	};
316
317	adc {
318		ti,adc-channels = <5 6 7>;
319	};
320};
321
322&timer6 {		/* used for cpsw end device */
323	status = "okay";
324	ti,no-reset-on-init;
325	ti,no-idle-on-init;
326};
327
328&timer7 {		/* used for cpsw end device */
329	status = "okay";
330	ti,no-reset-on-init;
331	ti,no-idle-on-init;
332};
333
334&wdt2 {
335	status = "okay";
336	ti,no-reset-on-init;
337	ti,no-idle-on-init;
338};
339
340&epwmss0 {
341	status = "okay";
342};
343
344&tscadc {
345	status = "okay";
346};
347
348&dcan0 {
349	status = "okay";
350};
351
352&dcan1 {
353	status = "okay";
354};
355
356&sham {
357	status = "disabled";
358};
359
360&aes {
361	status = "disabled";
362};
363
364&rng {
365	status = "disabled";
366};
367