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