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