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