1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2019 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 = "BRXRE1 Panel";
13	compatible = "ti,am33xx";
14
15	fset: factory-settings {
16		bl-version	= "                                ";
17		order-no	= "                                ";
18		cpu-order-no	= "                                ";
19		hw-revision	= "                                ";
20		serial-no	= <0>;
21		device-id	= <0xE681>;
22		parent-id	= <0xE681>;
23		hw-variant	= <0x3>;
24		hw-platform	= <0x0>;
25		fram-offset	= <0x1000>;
26		fram-size	= <0x3000>;
27		cache-disable	= <0x0>;
28		cpu-clock	= <0x0>;
29	};
30	chosen {
31		#address-cells = <1>;
32		#size-cells = <1>;
33
34		bootargs = "console=ttyO0,115200 earlyprintk";
35		stdout-path = &uart0;
36
37		framebuffer: framebuffer@8fbe0000 {
38			display = <&lcdscreen0>;
39			compatible = "simple-framebuffer";
40			status = "okay";
41			reg = <0x8fbef000 (1024 * 600 * 4)>;
42			width = <1024>;
43			height = <600>;
44			stride = <(1024 * 4)>;
45			format = "a8r8g8b8";
46			clocks = <&dpll_disp_m2_ck>, <&dpll_per_m2_ck>;
47		};
48	};
49
50	aliases {
51		fset = &fset;
52		mmc = &mmc2;
53		spi0 = &spi0;
54		spi1 = &spi1;
55		touch0 = &burtouch0;
56		screen0 = &lcdscreen0;
57	};
58
59	memory {
60		device_type = "memory";
61		reg = <0x80000000 0x10000000>; /* 256 MB */
62	};
63
64	panel {
65		compatible = "ti,tilcdc,panel";
66		status = "okay";
67	};
68
69	vmmcsd_fixed: fixedregulator@0 {
70		compatible = "regulator-fixed";
71		regulator-name = "vmmcsd_fixed";
72		regulator-min-microvolt = <3300000>;
73		regulator-max-microvolt = <3300000>;
74	};
75
76	lcdscreen0: lcdscreen@0 {
77		status = "okay";
78		compatible = "ti,tilcdc,panel";
79
80		backlight = <&tps_bl>;
81
82		panel-info {
83			ac-bias		= <255>;
84			ac-bias-intrpt	= <0>;
85			dma-burst-sz	= <16>;
86			bpp		= <32>;
87			fdd		= <0x80>;
88			sync-edge	= <0>;
89			sync-ctrl	= <1>;
90			raster-order	= <0>;
91			fifo-th		= <0>;
92		};
93
94		display-timings {
95			native-mode = <&timing0>;
96			timing0: lcd {
97				clock-frequency	= <9142857>;
98				hactive		= <480>;
99				vactive		= <272>;
100				hfront-porch	= <8>;
101				hback-porch	= <43>;
102				hsync-len	= <2>;
103				vfront-porch	= <4>;
104				vback-porch	= <2>;
105				vsync-len	= <10>;
106				hsync-active	= <1>;
107				vsync-active	= <1>;
108				pupdelay	= <10>;
109				pondelay	= <10>;
110			};
111		};
112	};
113};
114
115&uart0 {		/* console uart */
116	u-boot,dm-spl;
117	status = "okay";
118};
119
120&uart2 {
121	status = "okay";
122};
123
124&uart3 {
125	status = "okay";
126};
127
128&uart4 {
129	status = "okay";
130};
131
132&i2c0 {
133	u-boot,dm-spl;
134	status = "okay";
135	clock-frequency = <100000>;
136
137	tps: tps@24 {		/* PMIC controller */
138		u-boot,dm-spl;
139		reg = <0x24>;
140		compatible = "ti,tps65217";
141
142		tps_bl: backlight {
143			compatible = "ti,tps65217-bl";
144			isel = <1>;	/* 1 - ISET1, 2 ISET2 */
145			fdim = <1000>;	/* TPS65217_BL_FDIM_1kHZ */
146			default-brightness = <50>;
147		};
148	};
149	resetc: rstpsc@75 { /* reset controller */
150		compatible = "bur,rstpsc";
151		reg = <0x75>;
152
153		cooling-min-state = <0>;
154		cooling-max-state = <1>;	/* reset gets fired */
155		#cooling-cells = <2>;		/* min followed by max */
156	};
157	rtc0: rv3029c2@56 {
158		status = "okay";
159		#thermal-sensor-cells = <0>;
160		compatible = "rv3029c2";
161		reg = <0x56>;
162	};
163};
164
165&spi0 {
166	status = "okay";
167};
168
169&spi1 {
170	status = "okay";
171};
172
173&edma {
174	status = "okay";
175};
176
177&cppi41dma  {
178	status = "okay";
179};
180
181&usb {
182	status = "okay";
183};
184
185&usb_ctrl_mod {
186	status = "okay";
187};
188
189&usb0_phy {
190	status = "okay";
191};
192
193&usb1_phy {
194	status = "okay";
195};
196
197&usb0 {
198	status = "okay";
199	dr_mode = "host";
200};
201
202&usb1 {
203	status = "okay";
204	dr_mode = "host";
205};
206
207&davinci_mdio {
208	status = "okay";
209
210	ethphy0: ethernet-phy@1 {
211		reg = <1>;
212	};
213
214	ethphy1: ethernet-phy@2 {
215		reg = <2>;
216	};
217};
218
219&mac {
220	status = "okay";
221};
222
223&cpsw_emac0 {
224	phy_id = <&davinci_mdio>, <1>;
225	phy-handle = <&ethphy0>;
226	phy-mode = "mii";
227};
228
229&cpsw_emac1 {
230	phy_id = <&davinci_mdio>, <2>;
231	phy-handle = <&ethphy1>;
232	phy-mode = "mii";
233};
234
235&mmc1 {
236	u-boot,dm-pre-reloc;
237	vmmc-supply = <&vmmcsd_fixed>;
238	bus-width = <0x4>;
239	ti,non-removable;
240	ti,needs-special-hs-handling;
241	ti,vcc-aux-disable-is-sleep;
242	status = "okay";
243};
244
245&mmc2 {
246	u-boot,dm-pre-reloc;
247	vmmc-supply = <&vmmcsd_fixed>;
248	bus-width = <0x8>;
249	ti,non-removable;
250	ti,needs-special-hs-handling;
251	ti,vcc-aux-disable-is-sleep;
252	status = "okay";
253};
254
255&l4_per {
256
257	segment@300000 {
258
259		target-module@e000 {
260			u-boot,dm-pre-reloc;
261
262			lcdc: lcdc@0 {
263				u-boot,dm-pre-reloc;
264				status = "okay";
265				ti,no-reset-on-init;
266				ti,no-idle-on-init;
267			};
268		};
269	};
270};
271
272&elm {
273	status = "okay";
274};
275
276&sham {
277	status = "okay";
278};
279
280&aes {
281	status = "okay";
282};
283
284&gpio0 {
285	u-boot,dm-spl;
286	ti,no-reset-on-init;
287};
288
289&gpio1 {
290	u-boot,dm-spl;
291	ti,no-reset-on-init;
292};
293
294&gpio2 {
295	u-boot,dm-spl;
296	ti,no-reset-on-init;
297};
298
299&gpio3 {
300	u-boot,dm-spl;
301	ti,no-reset-on-init;
302};
303
304&timer1 {		/* today unused */
305	status = "okay";
306	ti,no-reset-on-init;
307	ti,no-idle-on-init;
308};
309
310&timer2 {		/* used for vxworks primary timer device */
311	status = "okay";
312	ti,no-reset-on-init;
313	ti,no-idle-on-init;
314};
315
316&timer3 {		/* used sysdelay and hal tsc counter*/
317	status = "okay";
318	ti,no-reset-on-init;
319	ti,no-idle-on-init;
320};
321
322&timer4 {		/* used for PWM beeper */
323	status = "okay";
324	ti,no-reset-on-init;
325	ti,no-idle-on-init;
326};
327
328&timer5 {		/* used for PWM backlight */
329	status = "okay";
330	ti,no-reset-on-init;
331	ti,no-idle-on-init;
332};
333
334&timer6 {		/* used for cpsw end device */
335	status = "okay";
336	ti,no-reset-on-init;
337	ti,no-idle-on-init;
338};
339
340&timer7 {		/* used for cpsw end device */
341	status = "okay";
342	ti,no-reset-on-init;
343	ti,no-idle-on-init;
344};
345
346&wdt2 {
347	status = "okay";
348	ti,no-reset-on-init;
349	ti,no-idle-on-init;
350};
351
352&epwmss0 {
353	status = "okay";
354};
355
356&tscadc {
357	status = "okay";
358
359	tsc {
360		burtouch0: burtouch@0 {
361			status = "okay";
362			compatible = "bur,DdVxSfTouchXXX";
363			bur,hwtree = "IF7";
364			bur,KX0 = <0x0>;
365			bur,KX1 = <0x0>;
366			bur,KX2 = <0x0>;
367			bur,KY0 = <0x0>;
368			bur,KY1 = <0x0>;
369			bur,KY2 = <0x0>;
370		};
371	};
372};
373
374&dcan0 {
375	status = "okay";
376};
377
378&dcan1 {
379	status = "okay";
380};
381
382&sham {
383	status = "disabled";
384};
385
386&aes {
387	status = "disabled";
388};
389
390&rng {
391	status = "disabled";
392};
393