]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / at91-sama5d2_ptc_ek.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR X11)
2 /*
3 * at91-sama5d2_ptc_ek.dts - Device Tree file for SAMA5D2 PTC EK board
4 *
5 * Copyright (C) 2017 Microchip/Atmel,
6 * 2017 Wenyou Yang <wenyou.yang@microchip.com>
7 * 2017 Ludovic Desroches <ludovic.desroches@microchip.com>
8 */
9 /dts-v1/;
10 #include "sama5d2.dtsi"
11 #include "sama5d2-pinfunc.h"
12 #include <dt-bindings/mfd/atmel-flexcom.h>
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/pinctrl/at91.h>
15
16 / {
17 model = "Atmel SAMA5D2 PTC EK";
18 compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5";
19
20 aliases {
21 serial0 = &uart0;
22 i2c0 = &i2c0;
23 i2c1 = &i2c1;
24 i2c2 = &i2c2;
25 };
26
27 chosen {
28 stdout-path = "serial0:115200n8";
29 };
30
31 clocks {
32 slow_xtal {
33 clock-frequency = <32768>;
34 };
35
36 main_xtal {
37 clock-frequency = <24000000>;
38 };
39 };
40
41 ahb {
42 usb0: gadget@300000 {
43 atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
44 pinctrl-names = "default";
45 pinctrl-0 = <&pinctrl_usba_vbus>;
46 status = "okay";
47 };
48
49 usb1: ohci@400000 {
50 num-ports = <3>;
51 atmel,vbus-gpio = <0
52 &pioA PIN_PB12 GPIO_ACTIVE_HIGH
53 0
54 >;
55 pinctrl-names = "default";
56 pinctrl-0 = <&pinctrl_usb_default>;
57 status = "okay";
58 };
59
60 usb2: ehci@500000 {
61 status = "okay";
62 };
63
64 ebi: ebi@10000000 {
65 pinctrl-names = "default";
66 pinctrl-0 = <&pinctrl_nand_default>;
67 status = "okay"; /* conflicts with sdmmc1 and qspi0 */
68
69 nand_controller: nand-controller {
70 status = "okay";
71
72 nand@3 {
73 reg = <0x3 0x0 0x2>;
74 atmel,rb = <0>;
75 nand-bus-width = <8>;
76 nand-ecc-mode = "hw";
77 nand-on-flash-bbt;
78 label = "atmel_nand";
79
80 partitions {
81 compatible = "fixed-partitions";
82 #address-cells = <1>;
83 #size-cells = <1>;
84
85 at91bootstrap@0 {
86 label = "bootstrap";
87 reg = <0x0 0x40000>;
88 };
89
90 bootloader@40000 {
91 label = "bootloader";
92 reg = <0x40000 0xc0000>;
93 };
94
95 bootloaderenvred@0x100000 {
96 label = "bootloader env redundant";
97 reg = <0x100000 0x40000>;
98 };
99
100 bootloaderenv@0x140000 {
101 label = "bootloader env";
102 reg = <0x140000 0x40000>;
103 };
104
105 dtb@180000 {
106 label = "device tree";
107 reg = <0x180000 0x80000>;
108 };
109
110 kernel@200000 {
111 label = "kernel";
112 reg = <0x200000 0x600000>;
113 };
114
115 rootfs@800000 {
116 label = "rootfs";
117 reg = <0x800000 0x1f800000>;
118 };
119 };
120 };
121 };
122 };
123
124 sdmmc0: sdio-host@a0000000 {
125 bus-width = <8>;
126 pinctrl-names = "default";
127 pinctrl-0 = <&pinctrl_sdmmc0_default>;
128 non-removable;
129 mmc-ddr-1_8v;
130 status = "okay";
131 };
132
133 apb {
134 spi0: spi@f8000000 {
135 pinctrl-names = "default";
136 pinctrl-0 = <&pinctrl_spi0_default>;
137 status = "okay";
138 };
139
140 macb0: ethernet@f8008000 {
141 pinctrl-names = "default";
142 pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>;
143 phy-mode = "rmii";
144 status = "okay";
145
146 ethernet-phy@1 {
147 reg = <0x1>;
148 interrupt-parent = <&pioA>;
149 interrupts = <56 IRQ_TYPE_LEVEL_LOW>;
150 };
151 };
152
153 tcb0: timer@f800c000 {
154 timer0: timer@0 {
155 compatible = "atmel,tcb-timer";
156 reg = <0>;
157 };
158
159 timer1: timer@1 {
160 compatible = "atmel,tcb-timer";
161 reg = <1>;
162 };
163 };
164
165 uart0: serial@f801c000 {
166 pinctrl-names = "default";
167 pinctrl-0 = <&pinctrl_uart0_default>;
168 atmel,use-dma-rx;
169 atmel,use-dma-tx;
170 status = "okay";
171 };
172
173 uart2: serial@f8024000 {
174 pinctrl-names = "default";
175 pinctrl-0 = <&pinctrl_uart2_default>;
176 atmel,use-dma-rx;
177 atmel,use-dma-tx;
178 status = "okay";
179 };
180
181 i2c0: i2c@f8028000 {
182 dmas = <0>, <0>;
183 pinctrl-names = "default";
184 pinctrl-0 = <&pinctrl_i2c0_default>;
185 status = "okay";
186 };
187
188 flx0: flexcom@f8034000 {
189 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
190 status = "okay";
191
192 i2c2: i2c@600 {
193 compatible = "atmel,sama5d2-i2c";
194 reg = <0x600 0x200>;
195 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
196 dmas = <0>, <0>;
197 dma-names = "tx", "rx";
198 #address-cells = <1>;
199 #size-cells = <0>;
200 clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
201 pinctrl-names = "default";
202 pinctrl-0 = <&pinctrl_flx0_default>;
203 atmel,fifo-size = <16>;
204 status = "okay";
205 };
206 };
207
208 shdwc@f8048010 {
209 atmel,shdwc-debouncer = <976>;
210
211 input@0 {
212 reg = <0>;
213 atmel,wakeup-type = "low";
214 };
215 };
216
217 watchdog@f8048040 {
218 status = "okay";
219 };
220
221 spi1: spi@fc000000 {
222 pinctrl-names = "default";
223 pinctrl-0 = <&pinctrl_spi1_default>;
224 status = "okay";
225 };
226
227 i2c1: i2c@fc028000 {
228 dmas = <0>, <0>;
229 pinctrl-names = "default";
230 pinctrl-0 = <&pinctrl_i2c1_default>;
231 status = "okay";
232
233 at24@50 {
234 compatible = "atmel,24c02";
235 reg = <0x50>;
236 pagesize = <8>;
237 };
238 };
239
240 pinctrl@fc038000 {
241 pinctrl_flx0_default: flx0_default {
242 pinmux = <PIN_PB28__FLEXCOM0_IO0>,
243 <PIN_PB29__FLEXCOM0_IO1>;
244 bias-disable;
245 };
246
247 pinctrl_i2c0_default: i2c0_default {
248 pinmux = <PIN_PD21__TWD0>,
249 <PIN_PD22__TWCK0>;
250 bias-disable;
251 };
252
253 pinctrl_i2c1_default: i2c1_default {
254 pinmux = <PIN_PC6__TWD1>,
255 <PIN_PC7__TWCK1>;
256 bias-disable;
257 };
258
259 pinctrl_key_gpio_default: key_gpio_default {
260 pinmux = <PIN_PA10__GPIO>;
261 bias-pull-up;
262 };
263
264 pinctrl_led_gpio_default: led_gpio_default {
265 pinmux = <PIN_PB6__GPIO>,
266 <PIN_PB8__GPIO>,
267 <PIN_PB10__GPIO>;
268 bias-pull-up;
269 };
270
271 pinctrl_macb0_default: macb0_default {
272 pinmux = <PIN_PB14__GTXCK>,
273 <PIN_PB15__GTXEN>,
274 <PIN_PB16__GRXDV>,
275 <PIN_PB17__GRXER>,
276 <PIN_PB18__GRX0>,
277 <PIN_PB19__GRX1>,
278 <PIN_PB20__GTX0>,
279 <PIN_PB21__GTX1>,
280 <PIN_PB22__GMDC>,
281 <PIN_PB23__GMDIO>;
282 bias-disable;
283 };
284
285 pinctrl_macb0_phy_irq: macb0_phy_irq {
286 pinmux = <PIN_PB24__GPIO>;
287 bias-disable;
288 };
289
290 pinctrl_nand_default: nand_default {
291 re_we_data {
292 pinmux = <PIN_PA22__D0>,
293 <PIN_PA23__D1>,
294 <PIN_PA24__D2>,
295 <PIN_PA25__D3>,
296 <PIN_PA26__D4>,
297 <PIN_PA27__D5>,
298 <PIN_PA28__D6>,
299 <PIN_PA29__D7>,
300 <PIN_PA30__NWE_NANDWE>,
301 <PIN_PB2__NRD_NANDOE>;
302 bias-pull-up;
303 atmel,drive-strength = <ATMEL_PIO_DRVSTR_ME>;
304 };
305
306 ale_cle_rdy_cs {
307 pinmux = <PIN_PB0__A21_NANDALE>,
308 <PIN_PB1__A22_NANDCLE>,
309 <PIN_PC8__NANDRDY>,
310 <PIN_PA31__NCS3>;
311 bias-pull-up;
312 };
313 };
314
315 pinctrl_sdmmc0_default: sdmmc0_default {
316 cmd_data {
317 pinmux = <PIN_PA1__SDMMC0_CMD>,
318 <PIN_PA2__SDMMC0_DAT0>,
319 <PIN_PA3__SDMMC0_DAT1>,
320 <PIN_PA4__SDMMC0_DAT2>,
321 <PIN_PA5__SDMMC0_DAT3>,
322 <PIN_PA6__SDMMC0_DAT4>,
323 <PIN_PA7__SDMMC0_DAT5>,
324 <PIN_PA8__SDMMC0_DAT6>,
325 <PIN_PA9__SDMMC0_DAT7>;
326 bias-pull-up;
327 };
328
329 ck_cd_vddsel {
330 pinmux = <PIN_PA0__SDMMC0_CK>,
331 <PIN_PA11__SDMMC0_VDDSEL>,
332 <PIN_PA13__SDMMC0_CD>;
333 bias-disable;
334 };
335 };
336
337 pinctrl_spi0_default: spi0_default {
338 pinmux = <PIN_PA14__SPI0_SPCK>,
339 <PIN_PA15__SPI0_MOSI>,
340 <PIN_PA16__SPI0_MISO>,
341 <PIN_PA17__SPI0_NPCS0>;
342 bias-disable;
343 };
344
345 pinctrl_spi1_default: spi1_default {
346 pinmux = <PIN_PC1__SPI1_SPCK>,
347 <PIN_PC2__SPI1_MOSI>,
348 <PIN_PC3__SPI1_MISO>,
349 <PIN_PC4__SPI1_NPCS0>;
350 bias-disable;
351 };
352
353 pinctrl_uart0_default: uart0_default {
354 pinmux = <PIN_PB26__URXD0>,
355 <PIN_PB27__UTXD0>;
356 bias-disable;
357 };
358
359 pinctrl_uart2_default: uart2_default {
360 pinmux = <PIN_PD23__URXD2>,
361 <PIN_PD24__UTXD2>;
362 bias-disable;
363 };
364
365 pinctrl_usb_default: usb_default {
366 pinmux = <PIN_PB12__GPIO>;
367 bias-disable;
368 };
369
370 pinctrl_usba_vbus: usba_vbus {
371 pinmux = <PIN_PB11__GPIO>;
372 bias-disable;
373 };
374
375 };
376
377 };
378 };
379
380 gpio_keys {
381 compatible = "gpio-keys";
382
383 pinctrl-names = "default";
384 pinctrl-0 = <&pinctrl_key_gpio_default>;
385
386 bp1 {
387 label = "PB_USER";
388 gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>;
389 linux,code = <0x104>;
390 };
391 };
392
393 leds {
394 compatible = "gpio-leds";
395 pinctrl-names = "default";
396 pinctrl-0 = <&pinctrl_led_gpio_default>;
397 status = "okay";
398
399 red {
400 label = "red";
401 gpios = <&pioA PIN_PB10 GPIO_ACTIVE_HIGH>;
402 };
403
404 green {
405 label = "green";
406 gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
407 };
408
409 blue {
410 label = "blue";
411 gpios = <&pioA PIN_PB6 GPIO_ACTIVE_HIGH>;
412 linux,default-trigger = "heartbeat";
413 };
414 };
415 };