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