Merge tag 'Smack-for-5.11-io_uring-fix' of git://github.com/cschaufler/smack-next
[linux-2.6-microblaze.git] / arch / arm / boot / dts / at91-sama5d3_xplained.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board
4  *
5  *  Copyright (C) 2014 Atmel,
6  *                2014 Nicolas Ferre <nicolas.ferre@atmel.com>
7  */
8 /dts-v1/;
9 #include "sama5d36.dtsi"
10
11 / {
12         model = "SAMA5D3 Xplained";
13         compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5";
14
15         chosen {
16                 stdout-path = "serial0:115200n8";
17         };
18
19         memory@20000000 {
20                 reg = <0x20000000 0x10000000>;
21         };
22
23         clocks {
24                 slow_xtal {
25                         clock-frequency = <32768>;
26                 };
27
28                 main_xtal {
29                         clock-frequency = <12000000>;
30                 };
31         };
32
33         ahb {
34                 apb {
35                         mmc0: mmc@f0000000 {
36                                 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
37                                 vmmc-supply = <&vcc_mmc0_reg>;
38                                 vqmmc-supply = <&vcc_3v3_reg>;
39                                 status = "okay";
40                                 slot@0 {
41                                         reg = <0>;
42                                         bus-width = <8>;
43                                         cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
44                                 };
45                         };
46
47                         mmc1: mmc@f8000000 {
48                                 vmmc-supply = <&vcc_3v3_reg>;
49                                 vqmmc-supply = <&vcc_3v3_reg>;
50                                 status = "disabled";
51                                 slot@0 {
52                                         reg = <0>;
53                                         bus-width = <4>;
54                                         cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>;
55                                 };
56                         };
57
58                         spi0: spi@f0004000 {
59                                 cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
60                                 status = "okay";
61                         };
62
63                         can0: can@f000c000 {
64                                 status = "okay";
65                         };
66
67                         tcb0: timer@f0010000 {
68                                 timer0: timer@0 {
69                                         compatible = "atmel,tcb-timer";
70                                         reg = <0>;
71                                 };
72
73                                 timer1: timer@1 {
74                                         compatible = "atmel,tcb-timer";
75                                         reg = <1>;
76                                 };
77                         };
78
79                         i2c0: i2c@f0014000 {
80                                 pinctrl-0 = <&pinctrl_i2c0_pu>;
81                                 status = "okay";
82                         };
83
84                         i2c1: i2c@f0018000 {
85                                 status = "okay";
86
87                                 pmic: act8865@5b {
88                                         compatible = "active-semi,act8865";
89                                         reg = <0x5b>;
90                                         status = "disabled";
91
92                                         regulators {
93                                                 vcc_1v8_reg: DCDC_REG1 {
94                                                         regulator-name = "VCC_1V8";
95                                                         regulator-min-microvolt = <1800000>;
96                                                         regulator-max-microvolt = <1800000>;
97                                                         regulator-always-on;
98                                                 };
99
100                                                 vcc_1v2_reg: DCDC_REG2 {
101                                                         regulator-name = "VCC_1V2";
102                                                         regulator-min-microvolt = <1200000>;
103                                                         regulator-max-microvolt = <1200000>;
104                                                         regulator-always-on;
105                                                 };
106
107                                                 vcc_3v3_reg: DCDC_REG3 {
108                                                         regulator-name = "VCC_3V3";
109                                                         regulator-min-microvolt = <3300000>;
110                                                         regulator-max-microvolt = <3300000>;
111                                                         regulator-always-on;
112                                                 };
113
114                                                 vddfuse_reg: LDO_REG1 {
115                                                         regulator-name = "FUSE_2V5";
116                                                         regulator-min-microvolt = <2500000>;
117                                                         regulator-max-microvolt = <2500000>;
118                                                 };
119
120                                                 vddana_reg: LDO_REG2 {
121                                                         regulator-name = "VDDANA";
122                                                         regulator-min-microvolt = <3300000>;
123                                                         regulator-max-microvolt = <3300000>;
124                                                         regulator-always-on;
125                                                 };
126                                         };
127                                 };
128                         };
129
130                         macb0: ethernet@f0028000 {
131                                 phy-mode = "rgmii-rxid";
132                                 #address-cells = <1>;
133                                 #size-cells = <0>;
134                                 status = "okay";
135
136                                 ethernet-phy@7 {
137                                         reg = <0x7>;
138                                 };
139                         };
140
141                         pwm0: pwm@f002c000 {
142                                 pinctrl-names = "default";
143                                 pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
144                                 status = "okay";
145                         };
146
147                         usart0: serial@f001c000 {
148                                 status = "okay";
149                         };
150
151                         usart1: serial@f0020000 {
152                                 pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
153                                 status = "okay";
154                         };
155
156                         uart0: serial@f0024000 {
157                                 status = "okay";
158                         };
159
160                         mmc1: mmc@f8000000 {
161                                 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
162                                 status = "okay";
163                                 slot@0 {
164                                         reg = <0>;
165                                         bus-width = <4>;
166                                         cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>;
167                                 };
168                         };
169
170                         spi1: spi@f8008000 {
171                                 cs-gpios = <&pioC 25 0>;
172                                 status = "okay";
173                         };
174
175                         adc0: adc@f8018000 {
176                                 atmel,adc-vref = <3300>;
177                                 atmel,adc-channels-used = <0xfe>;
178                                 pinctrl-0 = <
179                                         &pinctrl_adc0_adtrg
180                                         &pinctrl_adc0_ad1
181                                         &pinctrl_adc0_ad2
182                                         &pinctrl_adc0_ad3
183                                         &pinctrl_adc0_ad4
184                                         &pinctrl_adc0_ad5
185                                         &pinctrl_adc0_ad6
186                                         &pinctrl_adc0_ad7
187                                         >;
188                                 status = "okay";
189                         };
190
191                         i2c2: i2c@f801c000 {
192                                 dmas = <0>, <0>;        /* Do not use DMA for i2c2 */
193                                 pinctrl-0 = <&pinctrl_i2c2_pu>;
194                                 status = "okay";
195                         };
196
197                         macb1: ethernet@f802c000 {
198                                 phy-mode = "rmii";
199                                 #address-cells = <1>;
200                                 #size-cells = <0>;
201                                 status = "okay";
202
203                                 ethernet-phy@1 {
204                                         reg = <0x1>;
205                                 };
206                         };
207
208                         dbgu: serial@ffffee00 {
209                                 status = "okay";
210                         };
211
212                         pinctrl@fffff200 {
213                                 board {
214                                         pinctrl_i2c0_pu: i2c0_pu {
215                                                 atmel,pins =
216                                                         <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
217                                                         <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
218                                         };
219
220                                         pinctrl_i2c2_pu: i2c2_pu {
221                                                 atmel,pins =
222                                                         <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
223                                                         <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
224                                         };
225
226                                         pinctrl_key_gpio: key_gpio_0 {
227                                                 atmel,pins =
228                                                         <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
229                                         };
230
231                                         pinctrl_mmc0_cd: mmc0_cd {
232                                                 atmel,pins =
233                                                         <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
234                                         };
235
236                                         pinctrl_mmc1_cd: mmc1_cd {
237                                                 atmel,pins =
238                                                         <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
239                                         };
240
241                                         pinctrl_usba_vbus: usba_vbus {
242                                                 atmel,pins =
243                                                         <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;   /* PE9, conflicts with A9 */
244                                         };
245                                         pinctrl_usb_default: usb_default {
246                                                 atmel,pins =
247                                                         <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
248                                                          AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
249                                         };
250                                 };
251                         };
252                 };
253
254                 usb0: gadget@500000 {
255                         atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;   /* PE9, conflicts with A9 */
256                         pinctrl-names = "default";
257                         pinctrl-0 = <&pinctrl_usba_vbus>;
258                         status = "okay";
259                 };
260
261                 usb1: ohci@600000 {
262                         num-ports = <3>;
263                         atmel,vbus-gpio = <0
264                                            &pioE 3 GPIO_ACTIVE_LOW
265                                            &pioE 4 GPIO_ACTIVE_LOW
266                                           >;
267                         pinctrl-names = "default";
268                         pinctrl-0 = <&pinctrl_usb_default>;
269                         status = "okay";
270                 };
271
272                 usb2: ehci@700000 {
273                         status = "okay";
274                 };
275
276                 ebi: ebi@10000000 {
277                         pinctrl-0 = <&pinctrl_ebi_nand_addr>;
278                         pinctrl-names = "default";
279                         status = "okay";
280
281                         nand_controller: nand-controller {
282                                 status = "okay";
283
284                                 nand@3 {
285                                         reg = <0x3 0x0 0x2>;
286                                         atmel,rb = <0>;
287                                         nand-bus-width = <8>;
288                                         nand-ecc-mode = "hw";
289                                         nand-ecc-strength = <4>;
290                                         nand-ecc-step-size = <512>;
291                                         nand-on-flash-bbt;
292                                         label = "atmel_nand";
293
294                                         partitions {
295                                                 compatible = "fixed-partitions";
296                                                 #address-cells = <1>;
297                                                 #size-cells = <1>;
298
299                                                 at91bootstrap@0 {
300                                                         label = "at91bootstrap";
301                                                         reg = <0x0 0x40000>;
302                                                 };
303
304                                                 bootloader@40000 {
305                                                         label = "bootloader";
306                                                         reg = <0x40000 0xc0000>;
307                                                 };
308
309                                                 bootloaderenvred@100000 {
310                                                         label = "bootloader env redundant";
311                                                         reg = <0x100000 0x40000>;
312                                                 };
313
314                                                 bootloaderenv@140000 {
315                                                         label = "bootloader env";
316                                                         reg = <0x140000 0x40000>;
317                                                 };
318
319                                                 dtb@180000 {
320                                                         label = "device tree";
321                                                         reg = <0x180000 0x80000>;
322                                                 };
323
324                                                 kernel@200000 {
325                                                         label = "kernel";
326                                                         reg = <0x200000 0x600000>;
327                                                 };
328
329                                                 rootfs@800000 {
330                                                         label = "rootfs";
331                                                         reg = <0x800000 0x0f800000>;
332                                                 };
333                                         };
334                                 };
335                         };
336                 };
337         };
338
339         vcc_mmc0_reg: fixedregulator_mmc0 {
340                 compatible = "regulator-fixed";
341                 gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
342                 regulator-name = "mmc0-card-supply";
343                 regulator-min-microvolt = <3300000>;
344                 regulator-max-microvolt = <3300000>;
345                 regulator-always-on;
346         };
347
348         gpio_keys {
349                 compatible = "gpio-keys";
350
351                 pinctrl-names = "default";
352                 pinctrl-0 = <&pinctrl_key_gpio>;
353
354                 bp3 {
355                         label = "PB_USER";
356                         gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
357                         linux,code = <0x104>;
358                         wakeup-source;
359                 };
360         };
361
362         leds {
363                 compatible = "gpio-leds";
364
365                 d2 {
366                         label = "d2";
367                         gpios = <&pioE 23 GPIO_ACTIVE_LOW>;     /* PE23, conflicts with A23, CTS2 */
368                         linux,default-trigger = "heartbeat";
369                 };
370
371                 d3 {
372                         label = "d3";
373                         gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
374                 };
375         };
376 };