~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/microchip/at91-sama5d29_curiosity.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 /*
  3  * at91-sama5d29_curiosity.dts - Device Tree file for SAMA5D29 Curiosity board
  4  *
  5  * Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries
  6  *
  7  * Author: Mihai Sain <mihai.sain@microchip.com>
  8  *
  9  */
 10 /dts-v1/;
 11 #include "sama5d29.dtsi"
 12 #include "sama5d2-pinfunc.h"
 13 #include <dt-bindings/gpio/gpio.h>
 14 #include <dt-bindings/input/input.h>
 15 #include <dt-bindings/mfd/atmel-flexcom.h>
 16 
 17 / {
 18         model = "Microchip SAMA5D29 Curiosity";
 19         compatible = "microchip,sama5d29-curiosity", "atmel,sama5d29", "atmel,sama5d2", "atmel,sama5";
 20 
 21         aliases {
 22                 serial0 = &uart0;       // debug
 23                 serial1 = &uart1;       // RPi
 24                 serial2 = &uart3;       // mikro BUS 2
 25                 serial3 = &uart4;       // mikro BUS 1
 26                 serial4 = &uart6;       // flx1 Bluetooth
 27                 i2c0 = &i2c0;
 28                 i2c1 = &i2c1;
 29         };
 30 
 31         chosen {
 32                 bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
 33                 stdout-path = "serial0:115200n8";
 34         };
 35 
 36         clocks {
 37                 slow_xtal {
 38                         clock-frequency = <32768>;
 39                 };
 40 
 41                 main_xtal {
 42                         clock-frequency = <24000000>;
 43                 };
 44         };
 45 
 46         gpio-keys {
 47                 compatible = "gpio-keys";
 48 
 49                 pinctrl-names = "default";
 50                 pinctrl-0 = <&pinctrl_key_gpio_default>;
 51 
 52                 button-1 {
 53                         label = "USER BUTTON";
 54                         gpios = <&pioA PIN_PA17 GPIO_ACTIVE_LOW>;
 55                         linux,code = <KEY_PROG1>;
 56                         wakeup-source;
 57                 };
 58         };
 59 
 60         leds {
 61                 compatible = "gpio-leds";
 62                 pinctrl-names = "default";
 63                 pinctrl-0 = <&pinctrl_led_gpio_default>;
 64                 status = "okay";
 65 
 66                 led-red {
 67                         label = "red";
 68                         gpios = <&pioA PIN_PA7 GPIO_ACTIVE_HIGH>;
 69                 };
 70 
 71                 led-green {
 72                         label = "green";
 73                         gpios = <&pioA PIN_PA8 GPIO_ACTIVE_HIGH>;
 74                 };
 75 
 76                 led-blue {
 77                         label = "blue";
 78                         gpios = <&pioA PIN_PA9 GPIO_ACTIVE_HIGH>;
 79                         linux,default-trigger = "heartbeat";
 80                 };
 81         };
 82 
 83         memory@20000000 {
 84                 device_type = "memory";
 85                 reg = <0x20000000 0x20000000>;
 86         };
 87 
 88         reg_5v: regulator-5v {
 89                 compatible = "regulator-fixed";
 90                 regulator-name = "5V_MAIN";
 91                 regulator-min-microvolt = <5000000>;
 92                 regulator-max-microvolt = <5000000>;
 93                 regulator-always-on;
 94         };
 95 };
 96 
 97 &adc {
 98         vddana-supply = <&vdd_3v3>;
 99         vref-supply = <&vdd_3v3>;
100         pinctrl-names = "default";
101         pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
102         status = "okay";
103 };
104 
105 &can0 {
106         pinctrl-names = "default";
107         pinctrl-0 = <&pinctrl_can0_default>;
108         status = "okay";
109 };
110 
111 &can1 {
112         pinctrl-names = "default";
113         pinctrl-0 = <&pinctrl_can1_default>;
114         status = "okay";
115 };
116 
117 &flx1 {
118         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
119         status = "okay";
120 
121         uart6: serial@200 {
122                 pinctrl-0 = <&pinctrl_flx1_default>;
123                 pinctrl-names = "default";
124                 atmel,use-dma-rx;
125                 atmel,use-dma-tx;
126                 status = "okay";
127         };
128 };
129 
130 &flx4 {
131         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
132         status = "okay";
133 
134         spi6: spi@400 {
135                 dmas = <0>, <0>;
136                 pinctrl-names = "default";
137                 pinctrl-0 = <&pinctrl_rpi_spi>;
138                 status = "okay";
139         };
140 };
141 
142 &i2c0 {
143         dmas = <0>, <0>;
144         pinctrl-names = "default", "gpio";
145         pinctrl-0 = <&pinctrl_i2c0_default>;
146         pinctrl-1 = <&pinctrl_i2c0_gpio>;
147         sda-gpios = <&pioA PIN_PB31 GPIO_ACTIVE_HIGH>;
148         scl-gpios = <&pioA PIN_PC0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
149         i2c-sda-hold-time-ns = <350>;
150         status = "okay";
151 
152         mcp16502@5b {
153                 compatible = "microchip,mcp16502";
154                 reg = <0x5b>;
155                 lvin-supply = <&reg_5v>;
156                 pvin1-supply = <&reg_5v>;
157                 pvin2-supply = <&reg_5v>;
158                 pvin3-supply = <&reg_5v>;
159                 pvin4-supply = <&reg_5v>;
160                 status = "okay";
161                 lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>;
162 
163                 regulators {
164                         vdd_3v3: VDD_IO {
165                                 regulator-name = "VDD_IO";
166                                 regulator-min-microvolt = <3300000>;
167                                 regulator-max-microvolt = <3300000>;
168                                 regulator-initial-mode = <2>;
169                                 regulator-allowed-modes = <2>, <4>;
170                                 regulator-always-on;
171 
172                                 regulator-state-standby {
173                                         regulator-on-in-suspend;
174                                         regulator-mode = <4>;
175                                 };
176 
177                                 regulator-state-mem {
178                                         regulator-off-in-suspend;
179                                         regulator-mode = <4>;
180                                 };
181                         };
182 
183                         vddio_ddr: VDD_DDR {
184                                 regulator-name = "VDD_DDR";
185                                 regulator-min-microvolt = <1200000>;
186                                 regulator-max-microvolt = <1200000>;
187                                 regulator-initial-mode = <2>;
188                                 regulator-allowed-modes = <2>, <4>;
189                                 regulator-always-on;
190 
191                                 regulator-state-standby {
192                                         regulator-on-in-suspend;
193                                         regulator-suspend-microvolt = <1200000>;
194                                         regulator-changeable-in-suspend;
195                                         regulator-mode = <4>;
196                                 };
197 
198                                 regulator-state-mem {
199                                         regulator-on-in-suspend;
200                                         regulator-suspend-microvolt = <1200000>;
201                                         regulator-changeable-in-suspend;
202                                         regulator-mode = <4>;
203                                 };
204                         };
205 
206                         vdd_core: VDD_CORE {
207                                 regulator-name = "VDD_CORE";
208                                 regulator-min-microvolt = <1250000>;
209                                 regulator-max-microvolt = <1250000>;
210                                 regulator-initial-mode = <2>;
211                                 regulator-allowed-modes = <2>, <4>;
212                                 regulator-always-on;
213 
214                                 regulator-state-standby {
215                                         regulator-on-in-suspend;
216                                         regulator-mode = <4>;
217                                 };
218 
219                                 regulator-state-mem {
220                                         regulator-off-in-suspend;
221                                         regulator-mode = <4>;
222                                 };
223                         };
224 
225                         vdd_ddr: VDD_OTHER {
226                                 regulator-name = "VDD_OTHER";
227                                 regulator-min-microvolt = <1800000>;
228                                 regulator-max-microvolt = <1800000>;
229                                 regulator-initial-mode = <2>;
230                                 regulator-allowed-modes = <2>, <4>;
231                                 regulator-always-on;
232 
233                                 regulator-state-standby {
234                                         regulator-on-in-suspend;
235                                         regulator-suspend-microvolt = <1800000>;
236                                         regulator-changeable-in-suspend;
237                                         regulator-mode = <4>;
238                                 };
239 
240                                 regulator-state-mem {
241                                         regulator-on-in-suspend;
242                                         regulator-suspend-microvolt = <1800000>;
243                                         regulator-changeable-in-suspend;
244                                         regulator-mode = <4>;
245                                 };
246                         };
247 
248                         LDO1 {
249                                 regulator-name = "LDO1";
250                                 regulator-min-microvolt = <2500000>;
251                                 regulator-max-microvolt = <2500000>;
252                                 regulator-always-on;
253 
254                                 regulator-state-standby {
255                                         regulator-on-in-suspend;
256                                 };
257 
258                                 regulator-state-mem {
259                                         regulator-off-in-suspend;
260                                 };
261                         };
262 
263                         LDO2 {
264                                 regulator-name = "LDO2";
265                                 regulator-min-microvolt = <3300000>;
266                                 regulator-max-microvolt = <3300000>;
267                                 regulator-always-on;
268 
269                                 regulator-state-standby {
270                                         regulator-on-in-suspend;
271                                 };
272 
273                                 regulator-state-mem {
274                                         regulator-off-in-suspend;
275                                 };
276                         };
277                 };
278         };
279 };
280 
281 &i2c1 {
282         dmas = <0>, <0>;
283         pinctrl-names = "default", "gpio";
284         pinctrl-0 = <&pinctrl_i2c1_default>;
285         pinctrl-1 = <&pinctrl_i2c1_gpio>;
286         i2c-analog-filter;
287         i2c-digital-filter;
288         i2c-digital-filter-width-ns = <35>;
289         sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
290         scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
291         status = "okay";
292 };
293 
294 &pioA {
295         pinctrl_adc_default: adc-default {
296                 pinmux = <PIN_PD25__GPIO>,
297                          <PIN_PD26__GPIO>;
298                 bias-disable;
299         };
300 
301         pinctrl_adtrg_default: adtrg-default {
302                 pinmux = <PIN_PD31__ADTRG>;
303                 bias-pull-up;
304         };
305 
306         pinctrl_can0_default: can0-default {
307                 pinmux = <PIN_PC10__CANTX0>,
308                          <PIN_PC11__CANRX0>;
309                 bias-disable;
310         };
311 
312         pinctrl_can1_default: can1-default {
313                 pinmux = <PIN_PC26__CANTX1>,
314                          <PIN_PC27__CANRX1>;
315                 bias-disable;
316         };
317 
318         pinctrl_debug_uart: debug-uart {
319                 pinmux = <PIN_PB26__URXD0>,
320                          <PIN_PB27__UTXD0>;
321                 bias-disable;
322         };
323 
324         pinctrl_flx1_default: flx1-default {
325                 pinmux = <PIN_PA24__FLEXCOM1_IO0>,
326                          <PIN_PA23__FLEXCOM1_IO1>,
327                          <PIN_PA25__FLEXCOM1_IO3>,
328                          <PIN_PA26__FLEXCOM1_IO4>;
329                 bias-disable;
330         };
331 
332         pinctrl_i2c0_default: i2c0-default {
333                 pinmux = <PIN_PB31__TWD0>,
334                          <PIN_PC0__TWCK0>;
335                 bias-disable;
336         };
337 
338         pinctrl_i2c0_gpio: i2c0-gpio-default {
339                 pinmux = <PIN_PB31__GPIO>,
340                          <PIN_PC0__GPIO>;
341                 bias-disable;
342         };
343 
344         pinctrl_i2c1_default: i2c1-default {
345                 pinmux = <PIN_PD4__TWD1>,
346                          <PIN_PD5__TWCK1>;
347                 bias-disable;
348         };
349 
350         pinctrl_i2c1_gpio: i2c1-gpio-default {
351                 pinmux = <PIN_PD4__GPIO>,
352                          <PIN_PD5__GPIO>;
353                 bias-disable;
354         };
355 
356         pinctrl_key_gpio_default: key-gpio-default {
357                 pinmux = <PIN_PA17__GPIO>;
358                 bias-pull-up;
359         };
360 
361         pinctrl_led_gpio_default: led-gpio-default {
362                 pinmux = <PIN_PA7__GPIO>,
363                          <PIN_PA8__GPIO>,
364                          <PIN_PA9__GPIO>;
365                 bias-pull-up;
366         };
367 
368         pinctrl_mikrobus1_pwm: mikrobus1-pwm {
369                 pinmux = <PIN_PA31__PWML0>;
370                 bias-disable;
371         };
372 
373         pinctrl_mikrobus2_pwm: mikrobus2-pwm {
374                 pinmux = <PIN_PB0__PWMH1>;
375                 bias-disable;
376         };
377 
378         pinctrl_mikrobus1_uart: mikrobus1-uart {
379                 pinmux = <PIN_PB3__URXD4>,
380                          <PIN_PB4__UTXD4>;
381                 bias-disable;
382         };
383 
384         pinctrl_mikrobus2_uart: mikrobus2-uart {
385                 pinmux = <PIN_PB11__URXD3>,
386                          <PIN_PB12__UTXD3>;
387                 bias-disable;
388         };
389 
390         pinctrl_qspi1_default: qspi1-default {
391                 pinmux = <PIN_PB5__QSPI1_SCK>,
392                          <PIN_PB6__QSPI1_CS>,
393                          <PIN_PB7__QSPI1_IO0>,
394                          <PIN_PB8__QSPI1_IO1>,
395                          <PIN_PB9__QSPI1_IO2>,
396                          <PIN_PB10__QSPI1_IO3>;
397                 bias-disable;
398         };
399 
400         pinctrl_rpi_spi: rpi-spi {
401                 pinmux = <PIN_PD12__FLEXCOM4_IO0>,
402                          <PIN_PD13__FLEXCOM4_IO1>,
403                          <PIN_PD14__FLEXCOM4_IO2>,
404                          <PIN_PD15__FLEXCOM4_IO3>,
405                          <PIN_PD16__FLEXCOM4_IO4>;
406                 bias-disable;
407         };
408 
409         pinctrl_rpi_uart: rpi-uart {
410                 pinmux = <PIN_PD2__URXD1>,
411                          <PIN_PD3__UTXD1>;
412                 bias-disable;
413         };
414 
415         pinctrl_sdmmc0_default: sdmmc0-default {
416                 pinmux = <PIN_PA0__SDMMC0_CK>,
417                          <PIN_PA1__SDMMC0_CMD>,
418                          <PIN_PA2__SDMMC0_DAT0>,
419                          <PIN_PA3__SDMMC0_DAT1>,
420                          <PIN_PA4__SDMMC0_DAT2>,
421                          <PIN_PA5__SDMMC0_DAT3>,
422                          <PIN_PA11__SDMMC0_VDDSEL>,
423                          <PIN_PA13__SDMMC0_CD>;
424                 bias-disable;
425         };
426 
427         pinctrl_sdmmc1_default: sdmmc1-default {
428                 pinmux = <PIN_PA18__SDMMC1_DAT0>,
429                          <PIN_PA19__SDMMC1_DAT1>,
430                          <PIN_PA20__SDMMC1_DAT2>,
431                          <PIN_PA21__SDMMC1_DAT3>,
432                          <PIN_PA22__SDMMC1_CK>,
433                          <PIN_PA28__SDMMC1_CMD>,
434                          <PIN_PA30__SDMMC1_CD>;
435                 bias-disable;
436         };
437 
438         pinctrl_spi1_default: spi1-default {
439                 pinmux = <PIN_PC1__SPI1_SPCK>,
440                          <PIN_PC2__SPI1_MOSI>,
441                          <PIN_PC3__SPI1_MISO>,
442                          <PIN_PC4__SPI1_NPCS0>,
443                          <PIN_PC5__SPI1_NPCS1>,
444                          <PIN_PC6__SPI1_NPCS2>,
445                          <PIN_PC7__SPI1_NPCS3>;
446                 bias-disable;
447         };
448 
449         pinctrl_usb_default: usb-default {
450                 pinmux = <PIN_PA6__GPIO>;
451                 bias-disable;
452         };
453 
454         pinctrl_usba_vbus: usba-vbus {
455                 pinmux = <PIN_PB13__GPIO>;
456                 bias-disable;
457         };
458 };
459 
460 &pwm0 {
461         pinctrl-names = "default";
462         pinctrl-0 = <&pinctrl_mikrobus1_pwm &pinctrl_mikrobus2_pwm>;
463         status = "okay";
464 };
465 
466 &qspi1 {
467         pinctrl-names = "default";
468         pinctrl-0 = <&pinctrl_qspi1_default>;
469         status = "okay";
470 
471         flash@0 {
472                 #address-cells = <1>;
473                 #size-cells = <1>;
474                 compatible = "jedec,spi-nor";
475                 reg = <0>;
476                 spi-max-frequency = <80000000>;
477                 spi-tx-bus-width = <4>;
478                 spi-rx-bus-width = <4>;
479                 m25p,fast-read;
480                 label = "atmel_qspi1";
481                 status = "okay";
482 
483                 at91bootstrap@0 {
484                         label = "at91bootstrap";
485                         reg = <0x0 0x40000>;
486                 };
487 
488                 bootloader@40000 {
489                         label = "bootloader";
490                         reg = <0x40000 0xc0000>;
491                 };
492 
493                 bootloaderenvred@100000 {
494                         label = "bootloader env redundant";
495                         reg = <0x100000 0x40000>;
496                 };
497 
498                 bootloaderenv@140000 {
499                         label = "bootloader env";
500                         reg = <0x140000 0x40000>;
501                 };
502 
503                 dtb@180000 {
504                         label = "device tree";
505                         reg = <0x180000 0x80000>;
506                 };
507 
508                 kernel@200000 {
509                         label = "kernel";
510                         reg = <0x200000 0x600000>;
511                 };
512         };
513 };
514 
515 &sdmmc0 {
516         bus-width = <4>;
517         pinctrl-names = "default";
518         pinctrl-0 = <&pinctrl_sdmmc0_default>;
519         disable-wp;
520         status = "okay";
521 };
522 
523 &sdmmc1 {
524         bus-width = <4>;
525         pinctrl-names = "default";
526         pinctrl-0 = <&pinctrl_sdmmc1_default>;
527         disable-wp;
528         status = "okay";
529 };
530 
531 &shutdown_controller {
532         debounce-delay-us = <976>;
533         atmel,wakeup-rtc-timer;
534 
535         input@0 {
536                 reg = <0>;
537         };
538 };
539 
540 &spi1 {
541         pinctrl-names = "default";
542         pinctrl-0 = <&pinctrl_spi1_default>;
543         status = "okay";
544 };
545 
546 &tcb0 {
547         timer0: timer@0 {
548                 compatible = "atmel,tcb-timer";
549                 reg = <0>;
550         };
551 
552         timer1: timer@1 {
553                 compatible = "atmel,tcb-timer";
554                 reg = <1>;
555         };
556 };
557 
558 &uart0 {
559         pinctrl-names = "default";
560         pinctrl-0 = <&pinctrl_debug_uart>;
561         atmel,use-dma-rx;
562         atmel,use-dma-tx;
563         status = "okay";
564 };
565 
566 &uart1 {
567         pinctrl-names = "default";
568         pinctrl-0 = <&pinctrl_rpi_uart>;
569         atmel,use-dma-rx;
570         atmel,use-dma-tx;
571         status = "okay";
572 };
573 
574 &uart3 {
575         pinctrl-names = "default";
576         pinctrl-0 = <&pinctrl_mikrobus2_uart>;
577         atmel,use-dma-rx;
578         atmel,use-dma-tx;
579         status = "okay";
580 };
581 
582 &uart4 {
583         pinctrl-names = "default";
584         pinctrl-0 = <&pinctrl_mikrobus1_uart>;
585         atmel,use-dma-rx;
586         atmel,use-dma-tx;
587         status = "okay";
588 };
589 
590 &usb0 {
591         atmel,vbus-gpio = <&pioA PIN_PB13 GPIO_ACTIVE_HIGH>;
592         pinctrl-names = "default";
593         pinctrl-0 = <&pinctrl_usba_vbus>;
594         status = "okay";
595 };
596 
597 &usb1 {
598         num-ports = <3>;
599         atmel,vbus-gpio = <0
600                            &pioA PIN_PA6 GPIO_ACTIVE_HIGH
601                            0>;
602         pinctrl-names = "default";
603         pinctrl-0 = <&pinctrl_usb_default>;
604         status = "okay";
605 };
606 
607 &usb2 {
608         status = "okay";
609 };
610 
611 &watchdog {
612         status = "okay";
613 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php