• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * at91-tse850-3.dts - Device Tree file for the Axentia TSE-850 3.0 board
3 *
4 * Copyright (C) 2017 Axentia Technologies AB
5 *
6 * Author: Peter Rosin <peda@axentia.se>
7 *
8 * Licensed under GPLv2 or later.
9 */
10/dts-v1/;
11#include <dt-bindings/pwm/pwm.h>
12#include "at91-linea.dtsi"
13
14/ {
15	model = "Axentia TSE-850 3.0";
16	compatible = "axentia,tse850v3", "axentia,linea",
17		     "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
18
19	ahb {
20		apb {
21			pinctrl@fffff200 {
22				tse850 {
23					pinctrl_usba_vbus: usba-vbus {
24						atmel,pins =
25							<AT91_PIOC 31
26							 AT91_PERIPH_GPIO
27							 AT91_PINCTRL_DEGLITCH>;
28					};
29				};
30			};
31
32			watchdog@fffffe40 {
33				status = "okay";
34			};
35		};
36	};
37
38	sck: oscillator {
39		compatible = "fixed-clock";
40
41		#clock-cells = <0>;
42		clock-frequency = <16000000>;
43		clock-output-names = "sck";
44	};
45
46	reg_3v3: regulator {
47		compatible = "regulator-fixed";
48
49		regulator-name = "3v3-supply";
50		regulator-min-microvolt = <3300000>;
51		regulator-max-microvolt = <3300000>;
52	};
53
54	ana: reg-ana {
55		compatible = "pwm-regulator";
56
57		regulator-name = "ANA";
58
59		pwms = <&pwm0 2 1000 PWM_POLARITY_INVERTED>;
60		pwm-dutycycle-unit = <1000>;
61		pwm-dutycycle-range = <100 1000>;
62
63		regulator-min-microvolt = <2000000>;
64		regulator-max-microvolt = <20000000>;
65		regulator-ramp-delay = <1000>;
66	};
67
68	sound {
69		compatible = "axentia,tse850-pcm5142";
70
71		axentia,cpu-dai = <&ssc0>;
72		axentia,audio-codec = <&pcm5142>;
73
74		axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>;
75		axentia,loop1-gpios = <&pioA 10 GPIO_ACTIVE_LOW>;
76		axentia,loop2-gpios = <&pioA 11 GPIO_ACTIVE_LOW>;
77
78		axentia,ana-supply = <&ana>;
79	};
80
81	dac: dpot-dac {
82		compatible = "dpot-dac";
83		vref-supply = <&reg_3v3>;
84		io-channels = <&dpot 0>;
85		io-channel-names = "dpot";
86		#io-channel-cells = <1>;
87	};
88
89	env_det: envelope-detector {
90		compatible = "axentia,tse850-envelope-detector";
91		io-channels = <&dac 0>;
92		io-channel-names = "dac";
93		#io-channel-cells = <1>;
94
95		interrupt-parent = <&pioA>;
96		interrupts = <3 IRQ_TYPE_EDGE_RISING>;
97		interrupt-names = "comp";
98	};
99
100	mux: mux-controller {
101		compatible = "gpio-mux";
102		#mux-control-cells = <0>;
103
104		mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
105			    <&pioA 1 GPIO_ACTIVE_HIGH>,
106			    <&pioA 2 GPIO_ACTIVE_HIGH>;
107		idle-state = <0>;
108	};
109
110	envelope-detector-mux {
111		compatible = "io-channel-mux";
112		io-channels = <&env_det 0>;
113		io-channel-names = "parent";
114
115		mux-controls = <&mux>;
116
117		channels = "", "",
118			 "sync-1",
119			 "in",
120			 "out",
121			 "sync-2",
122			 "sys-reg",
123			 "ana-reg";
124	};
125
126	leds {
127		compatible = "gpio-leds";
128
129		ch1-red {
130			label = "ch-1:red";
131			gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
132		};
133		ch1-green {
134			label = "ch-1:green";
135			gpios = <&pioA 22 GPIO_ACTIVE_LOW>;
136		};
137		ch2-red {
138			label = "ch-2:red";
139			gpios = <&pioA 21 GPIO_ACTIVE_LOW>;
140		};
141		ch2-green {
142			label = "ch-2:green";
143			gpios = <&pioA 20 GPIO_ACTIVE_LOW>;
144		};
145		data-red {
146			label = "data:red";
147			gpios = <&pioA 19 GPIO_ACTIVE_LOW>;
148		};
149		data-green {
150			label = "data:green";
151			gpios = <&pioA 18 GPIO_ACTIVE_LOW>;
152		};
153		alarm-red {
154			label = "alarm:red";
155			gpios = <&pioA 17 GPIO_ACTIVE_LOW>;
156		};
157		alarm-green {
158			label = "alarm:green";
159			gpios = <&pioA 16 GPIO_ACTIVE_LOW>;
160		};
161	};
162};
163
164&nand {
165	partitions {
166		compatible = "fixed-partitions";
167		#address-cells = <1>;
168		#size-cells = <1>;
169
170		at91bootstrap@0 {
171			label = "at91bootstrap";
172			reg = <0x0 0x40000>;
173		};
174
175		barebox@40000 {
176			label = "bootloader";
177			reg = <0x40000 0x60000>;
178		};
179
180		bareboxenv@c0000 {
181			label = "bareboxenv";
182			reg = <0xc0000 0x40000>;
183		};
184
185		bareboxenv2@100000 {
186			label = "bareboxenv2";
187			reg = <0x100000 0x40000>;
188		};
189
190		oftree@180000 {
191			label = "oftree";
192			reg = <0x180000 0x20000>;
193		};
194
195		kernel@200000 {
196			label = "kernel";
197			reg = <0x200000 0x500000>;
198		};
199
200		rootfs@800000 {
201			label = "rootfs";
202			reg = <0x800000 0x0f800000>;
203		};
204
205		ovlfs@10000000 {
206			label = "ovlfs";
207			reg = <0x10000000 0x10000000>;
208		};
209	};
210};
211
212&ssc0 {
213	#sound-dai-cells = <0>;
214
215	status = "okay";
216};
217
218&i2c0 {
219	status = "okay";
220
221	jc42@18 {
222		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
223		reg = <0x18>;
224	};
225
226	dpot: mcp4651-104@28 {
227		compatible = "microchip,mcp4651-104";
228		reg = <0x28>;
229		#io-channel-cells = <1>;
230	};
231
232	pcm5142: pcm5142@4c {
233		compatible = "ti,pcm5142";
234
235		reg = <0x4c>;
236
237		AVDD-supply = <&reg_3v3>;
238		DVDD-supply = <&reg_3v3>;
239		CPVDD-supply = <&reg_3v3>;
240
241		clocks = <&sck>;
242
243		pll-in = <3>;
244		pll-out = <6>;
245	};
246
247	eeprom@50 {
248		compatible = "nxp,se97b", "atmel,24c02";
249		reg = <0x50>;
250		pagesize = <16>;
251	};
252};
253
254&usart0 {
255	status = "okay";
256
257	atmel,use-dma-rx;
258};
259
260&pwm0 {
261	status = "okay";
262
263	pinctrl-0 = <&pinctrl_pwm0_pwml2_1>;
264	pinctrl-names = "default";
265};
266
267&macb1 {
268	status = "okay";
269
270	phy-mode = "rgmii";
271
272	#address-cells = <1>;
273	#size-cells = <0>;
274
275	phy0: ethernet-phy@3 {
276		reg = <3>;
277
278		interrupt-parent = <&pioE>;
279		interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
280	};
281};
282
283&usb0 {
284	status = "okay";
285
286	pinctrl-names = "default";
287	pinctrl-0 = <&pinctrl_usba_vbus>;
288	atmel,vbus-gpio = <&pioC 31 GPIO_ACTIVE_HIGH>;
289};
290
291&usb1 {
292	status = "okay";
293
294	num-ports = <1>;
295	atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>;
296	atmel,oc-gpio = <&pioC 15 GPIO_ACTIVE_LOW>;
297};
298
299&usb2 {
300	status = "okay";
301};
302
303&dbgu {
304	status = "okay";
305
306	dmas = <0>, <0>;	/*  Do not use DMA for dbgu */
307};
308