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