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