1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * sama5d2.dtsi - Device Tree Include file for SAMA5D2 family SoC 4 * 5 * Copyright (C) 2015 Atmel, 6 * 2015 Ludovic Desroches <ludovic.desroches@atmel.com> 7 */ 8 9#include <dt-bindings/dma/at91.h> 10#include <dt-bindings/interrupt-controller/irq.h> 11#include <dt-bindings/clock/at91.h> 12#include <dt-bindings/iio/adc/at91-sama5d2_adc.h> 13 14/ { 15 #address-cells = <1>; 16 #size-cells = <1>; 17 model = "Atmel SAMA5D2 family SoC"; 18 compatible = "atmel,sama5d2"; 19 interrupt-parent = <&aic>; 20 21 aliases { 22 serial0 = &uart1; 23 serial1 = &uart3; 24 tcb0 = &tcb0; 25 tcb1 = &tcb1; 26 i2s0 = &i2s0; 27 i2s1 = &i2s1; 28 }; 29 30 cpus { 31 #address-cells = <1>; 32 #size-cells = <0>; 33 34 cpu@0 { 35 device_type = "cpu"; 36 compatible = "arm,cortex-a5"; 37 reg = <0>; 38 next-level-cache = <&L2>; 39 }; 40 }; 41 42 pmu { 43 compatible = "arm,cortex-a5-pmu"; 44 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 0>; 45 }; 46 47 etb { 48 compatible = "arm,coresight-etb10", "arm,primecell"; 49 reg = <0x740000 0x1000>; 50 51 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 52 clock-names = "apb_pclk"; 53 54 in-ports { 55 port { 56 etb_in: endpoint { 57 remote-endpoint = <&etm_out>; 58 }; 59 }; 60 }; 61 }; 62 63 etm { 64 compatible = "arm,coresight-etm3x", "arm,primecell"; 65 reg = <0x73C000 0x1000>; 66 67 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 68 clock-names = "apb_pclk"; 69 70 out-ports { 71 port { 72 etm_out: endpoint { 73 remote-endpoint = <&etb_in>; 74 }; 75 }; 76 }; 77 }; 78 79 memory { 80 device_type = "memory"; 81 reg = <0x20000000 0x20000000>; 82 }; 83 84 clocks { 85 slow_xtal: slow_xtal { 86 compatible = "fixed-clock"; 87 #clock-cells = <0>; 88 clock-frequency = <0>; 89 }; 90 91 main_xtal: main_xtal { 92 compatible = "fixed-clock"; 93 #clock-cells = <0>; 94 clock-frequency = <0>; 95 }; 96 }; 97 98 ns_sram: sram@200000 { 99 compatible = "mmio-sram"; 100 reg = <0x00200000 0x20000>; 101 }; 102 103 ahb { 104 compatible = "simple-bus"; 105 #address-cells = <1>; 106 #size-cells = <1>; 107 ranges; 108 109 nfc_sram: sram@100000 { 110 compatible = "mmio-sram"; 111 no-memory-wc; 112 reg = <0x00100000 0x2400>; 113 }; 114 115 usb0: gadget@300000 { 116 #address-cells = <1>; 117 #size-cells = <0>; 118 compatible = "atmel,sama5d3-udc"; 119 reg = <0x00300000 0x100000 120 0xfc02c000 0x400>; 121 interrupts = <42 IRQ_TYPE_LEVEL_HIGH 2>; 122 clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_CORE PMC_UTMI>; 123 clock-names = "pclk", "hclk"; 124 status = "disabled"; 125 126 ep@0 { 127 reg = <0>; 128 atmel,fifo-size = <64>; 129 atmel,nb-banks = <1>; 130 }; 131 132 ep@1 { 133 reg = <1>; 134 atmel,fifo-size = <1024>; 135 atmel,nb-banks = <3>; 136 atmel,can-dma; 137 atmel,can-isoc; 138 }; 139 140 ep@2 { 141 reg = <2>; 142 atmel,fifo-size = <1024>; 143 atmel,nb-banks = <3>; 144 atmel,can-dma; 145 atmel,can-isoc; 146 }; 147 148 ep@3 { 149 reg = <3>; 150 atmel,fifo-size = <1024>; 151 atmel,nb-banks = <2>; 152 atmel,can-dma; 153 atmel,can-isoc; 154 }; 155 156 ep@4 { 157 reg = <4>; 158 atmel,fifo-size = <1024>; 159 atmel,nb-banks = <2>; 160 atmel,can-dma; 161 atmel,can-isoc; 162 }; 163 164 ep@5 { 165 reg = <5>; 166 atmel,fifo-size = <1024>; 167 atmel,nb-banks = <2>; 168 atmel,can-dma; 169 atmel,can-isoc; 170 }; 171 172 ep@6 { 173 reg = <6>; 174 atmel,fifo-size = <1024>; 175 atmel,nb-banks = <2>; 176 atmel,can-dma; 177 atmel,can-isoc; 178 }; 179 180 ep@7 { 181 reg = <7>; 182 atmel,fifo-size = <1024>; 183 atmel,nb-banks = <2>; 184 atmel,can-dma; 185 atmel,can-isoc; 186 }; 187 188 ep@8 { 189 reg = <8>; 190 atmel,fifo-size = <1024>; 191 atmel,nb-banks = <2>; 192 atmel,can-isoc; 193 }; 194 195 ep@9 { 196 reg = <9>; 197 atmel,fifo-size = <1024>; 198 atmel,nb-banks = <2>; 199 atmel,can-isoc; 200 }; 201 202 ep@10 { 203 reg = <10>; 204 atmel,fifo-size = <1024>; 205 atmel,nb-banks = <2>; 206 atmel,can-isoc; 207 }; 208 209 ep@11 { 210 reg = <11>; 211 atmel,fifo-size = <1024>; 212 atmel,nb-banks = <2>; 213 atmel,can-isoc; 214 }; 215 216 ep@12 { 217 reg = <12>; 218 atmel,fifo-size = <1024>; 219 atmel,nb-banks = <2>; 220 atmel,can-isoc; 221 }; 222 223 ep@13 { 224 reg = <13>; 225 atmel,fifo-size = <1024>; 226 atmel,nb-banks = <2>; 227 atmel,can-isoc; 228 }; 229 230 ep@14 { 231 reg = <14>; 232 atmel,fifo-size = <1024>; 233 atmel,nb-banks = <2>; 234 atmel,can-isoc; 235 }; 236 237 ep@15 { 238 reg = <15>; 239 atmel,fifo-size = <1024>; 240 atmel,nb-banks = <2>; 241 atmel,can-isoc; 242 }; 243 }; 244 245 usb1: ohci@400000 { 246 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 247 reg = <0x00400000 0x100000>; 248 interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>; 249 clocks = <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_SYSTEM 6>; 250 clock-names = "ohci_clk", "hclk", "uhpck"; 251 status = "disabled"; 252 }; 253 254 usb2: ehci@500000 { 255 compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 256 reg = <0x00500000 0x100000>; 257 interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>; 258 clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 41>; 259 clock-names = "usb_clk", "ehci_clk"; 260 status = "disabled"; 261 }; 262 263 L2: cache-controller@a00000 { 264 compatible = "arm,pl310-cache"; 265 reg = <0x00a00000 0x1000>; 266 interrupts = <63 IRQ_TYPE_LEVEL_HIGH 4>; 267 cache-unified; 268 cache-level = <2>; 269 }; 270 271 ebi: ebi@10000000 { 272 compatible = "atmel,sama5d3-ebi"; 273 #address-cells = <2>; 274 #size-cells = <1>; 275 atmel,smc = <&hsmc>; 276 reg = <0x10000000 0x10000000 277 0x60000000 0x30000000>; 278 ranges = <0x0 0x0 0x10000000 0x10000000 279 0x1 0x0 0x60000000 0x10000000 280 0x2 0x0 0x70000000 0x10000000 281 0x3 0x0 0x80000000 0x10000000>; 282 clocks = <&pmc PMC_TYPE_CORE PMC_MCK2>; 283 status = "disabled"; 284 285 nand_controller: nand-controller { 286 compatible = "atmel,sama5d3-nand-controller"; 287 atmel,nfc-sram = <&nfc_sram>; 288 atmel,nfc-io = <&nfc_io>; 289 ecc-engine = <&pmecc>; 290 #address-cells = <2>; 291 #size-cells = <1>; 292 ranges; 293 status = "disabled"; 294 }; 295 }; 296 297 sdmmc0: sdio-host@a0000000 { 298 compatible = "atmel,sama5d2-sdhci"; 299 reg = <0xa0000000 0x300>; 300 interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>; 301 clocks = <&pmc PMC_TYPE_PERIPHERAL 31>, <&pmc PMC_TYPE_GCK 31>, <&pmc PMC_TYPE_CORE PMC_MAIN>; 302 clock-names = "hclock", "multclk", "baseclk"; 303 status = "disabled"; 304 }; 305 306 sdmmc1: sdio-host@b0000000 { 307 compatible = "atmel,sama5d2-sdhci"; 308 reg = <0xb0000000 0x300>; 309 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 0>; 310 clocks = <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_GCK 32>, <&pmc PMC_TYPE_CORE PMC_MAIN>; 311 clock-names = "hclock", "multclk", "baseclk"; 312 status = "disabled"; 313 }; 314 315 nfc_io: nfc-io@c0000000 { 316 compatible = "atmel,sama5d3-nfc-io", "syscon"; 317 reg = <0xc0000000 0x8000000>; 318 }; 319 320 apb { 321 compatible = "simple-bus"; 322 #address-cells = <1>; 323 #size-cells = <1>; 324 ranges; 325 326 hlcdc: hlcdc@f0000000 { 327 compatible = "atmel,sama5d2-hlcdc"; 328 reg = <0xf0000000 0x2000>; 329 interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>; 330 clocks = <&pmc PMC_TYPE_PERIPHERAL 45>, <&pmc PMC_TYPE_SYSTEM 3>, <&clk32k>; 331 clock-names = "periph_clk","sys_clk", "slow_clk"; 332 status = "disabled"; 333 334 hlcdc-display-controller { 335 compatible = "atmel,hlcdc-display-controller"; 336 #address-cells = <1>; 337 #size-cells = <0>; 338 339 port@0 { 340 #address-cells = <1>; 341 #size-cells = <0>; 342 reg = <0>; 343 }; 344 }; 345 346 hlcdc_pwm: hlcdc-pwm { 347 compatible = "atmel,hlcdc-pwm"; 348 #pwm-cells = <3>; 349 }; 350 }; 351 352 isc: isc@f0008000 { 353 compatible = "atmel,sama5d2-isc"; 354 reg = <0xf0008000 0x4000>; 355 interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>; 356 clocks = <&pmc PMC_TYPE_PERIPHERAL 46>, <&pmc PMC_TYPE_SYSTEM 18>, <&pmc PMC_TYPE_GCK 46>; 357 clock-names = "hclock", "iscck", "gck"; 358 #clock-cells = <0>; 359 clock-output-names = "isc-mck"; 360 status = "disabled"; 361 }; 362 363 ramc0: ramc@f000c000 { 364 compatible = "atmel,sama5d3-ddramc"; 365 reg = <0xf000c000 0x200>; 366 clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 13>; 367 clock-names = "ddrck", "mpddr"; 368 }; 369 370 dma0: dma-controller@f0010000 { 371 compatible = "atmel,sama5d4-dma"; 372 reg = <0xf0010000 0x1000>; 373 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>; 374 #dma-cells = <1>; 375 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>; 376 clock-names = "dma_clk"; 377 }; 378 379 /* Place dma1 here despite its address */ 380 dma1: dma-controller@f0004000 { 381 compatible = "atmel,sama5d4-dma"; 382 reg = <0xf0004000 0x1000>; 383 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 0>; 384 #dma-cells = <1>; 385 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>; 386 clock-names = "dma_clk"; 387 }; 388 389 pmc: pmc@f0014000 { 390 compatible = "atmel,sama5d2-pmc", "syscon"; 391 reg = <0xf0014000 0x160>; 392 interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>; 393 #clock-cells = <2>; 394 clocks = <&clk32k>, <&main_xtal>; 395 clock-names = "slow_clk", "main_xtal"; 396 }; 397 398 qspi0: spi@f0020000 { 399 compatible = "atmel,sama5d2-qspi"; 400 reg = <0xf0020000 0x100>, <0xd0000000 0x08000000>; 401 reg-names = "qspi_base", "qspi_mmap"; 402 interrupts = <52 IRQ_TYPE_LEVEL_HIGH 7>; 403 clocks = <&pmc PMC_TYPE_PERIPHERAL 52>; 404 #address-cells = <1>; 405 #size-cells = <0>; 406 status = "disabled"; 407 }; 408 409 qspi1: spi@f0024000 { 410 compatible = "atmel,sama5d2-qspi"; 411 reg = <0xf0024000 0x100>, <0xd8000000 0x08000000>; 412 reg-names = "qspi_base", "qspi_mmap"; 413 interrupts = <53 IRQ_TYPE_LEVEL_HIGH 7>; 414 clocks = <&pmc PMC_TYPE_PERIPHERAL 53>; 415 #address-cells = <1>; 416 #size-cells = <0>; 417 status = "disabled"; 418 }; 419 420 sha@f0028000 { 421 compatible = "atmel,at91sam9g46-sha"; 422 reg = <0xf0028000 0x100>; 423 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>; 424 dmas = <&dma0 425 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 426 AT91_XDMAC_DT_PERID(30))>; 427 dma-names = "tx"; 428 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>; 429 clock-names = "sha_clk"; 430 status = "okay"; 431 }; 432 433 aes@f002c000 { 434 compatible = "atmel,at91sam9g46-aes"; 435 reg = <0xf002c000 0x100>; 436 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>; 437 dmas = <&dma0 438 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 439 AT91_XDMAC_DT_PERID(26))>, 440 <&dma0 441 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 442 AT91_XDMAC_DT_PERID(27))>; 443 dma-names = "tx", "rx"; 444 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>; 445 clock-names = "aes_clk"; 446 status = "okay"; 447 }; 448 449 spi0: spi@f8000000 { 450 compatible = "atmel,at91rm9200-spi"; 451 reg = <0xf8000000 0x100>; 452 interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>; 453 dmas = <&dma0 454 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 455 AT91_XDMAC_DT_PERID(6))>, 456 <&dma0 457 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 458 AT91_XDMAC_DT_PERID(7))>; 459 dma-names = "tx", "rx"; 460 clocks = <&pmc PMC_TYPE_PERIPHERAL 33>; 461 clock-names = "spi_clk"; 462 atmel,fifo-size = <16>; 463 #address-cells = <1>; 464 #size-cells = <0>; 465 status = "disabled"; 466 }; 467 468 ssc0: ssc@f8004000 { 469 compatible = "atmel,at91sam9g45-ssc"; 470 reg = <0xf8004000 0x4000>; 471 interrupts = <43 IRQ_TYPE_LEVEL_HIGH 4>; 472 dmas = <&dma0 473 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 474 AT91_XDMAC_DT_PERID(21))>, 475 <&dma0 476 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 477 AT91_XDMAC_DT_PERID(22))>; 478 dma-names = "tx", "rx"; 479 clocks = <&pmc PMC_TYPE_PERIPHERAL 43>; 480 clock-names = "pclk"; 481 status = "disabled"; 482 }; 483 484 macb0: ethernet@f8008000 { 485 compatible = "atmel,sama5d2-gem"; 486 reg = <0xf8008000 0x1000>; 487 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 3 /* Queue 0 */ 488 66 IRQ_TYPE_LEVEL_HIGH 3 /* Queue 1 */ 489 67 IRQ_TYPE_LEVEL_HIGH 3>; /* Queue 2 */ 490 #address-cells = <1>; 491 #size-cells = <0>; 492 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>, <&pmc PMC_TYPE_PERIPHERAL 5>; 493 clock-names = "hclk", "pclk"; 494 status = "disabled"; 495 }; 496 497 tcb0: timer@f800c000 { 498 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon"; 499 #address-cells = <1>; 500 #size-cells = <0>; 501 reg = <0xf800c000 0x100>; 502 interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>; 503 clocks = <&pmc PMC_TYPE_PERIPHERAL 35>, <&clk32k>; 504 clock-names = "t0_clk", "slow_clk"; 505 }; 506 507 tcb1: timer@f8010000 { 508 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon"; 509 #address-cells = <1>; 510 #size-cells = <0>; 511 reg = <0xf8010000 0x100>; 512 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; 513 clocks = <&pmc PMC_TYPE_PERIPHERAL 36>, <&clk32k>; 514 clock-names = "t0_clk", "slow_clk"; 515 }; 516 517 hsmc: hsmc@f8014000 { 518 compatible = "atmel,sama5d2-smc", "syscon", "simple-mfd"; 519 reg = <0xf8014000 0x1000>; 520 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>; 521 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>; 522 #address-cells = <1>; 523 #size-cells = <1>; 524 ranges; 525 526 pmecc: ecc-engine@f8014070 { 527 compatible = "atmel,sama5d2-pmecc"; 528 reg = <0xf8014070 0x490>, 529 <0xf8014500 0x100>; 530 }; 531 }; 532 533 pdmic: pdmic@f8018000 { 534 compatible = "atmel,sama5d2-pdmic"; 535 reg = <0xf8018000 0x124>; 536 interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>; 537 dmas = <&dma0 538 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 539 | AT91_XDMAC_DT_PERID(50))>; 540 dma-names = "rx"; 541 clocks = <&pmc PMC_TYPE_PERIPHERAL 48>, <&pmc PMC_TYPE_GCK 48>; 542 clock-names = "pclk", "gclk"; 543 status = "disabled"; 544 }; 545 546 uart0: serial@f801c000 { 547 compatible = "atmel,at91sam9260-usart"; 548 reg = <0xf801c000 0x100>; 549 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 7>; 550 dmas = <&dma0 551 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 552 AT91_XDMAC_DT_PERID(35))>, 553 <&dma0 554 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 555 AT91_XDMAC_DT_PERID(36))>; 556 dma-names = "tx", "rx"; 557 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>; 558 clock-names = "usart"; 559 status = "disabled"; 560 }; 561 562 uart1: serial@f8020000 { 563 compatible = "atmel,at91sam9260-usart"; 564 reg = <0xf8020000 0x100>; 565 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 7>; 566 dmas = <&dma0 567 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 568 AT91_XDMAC_DT_PERID(37))>, 569 <&dma0 570 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 571 AT91_XDMAC_DT_PERID(38))>; 572 dma-names = "tx", "rx"; 573 clocks = <&pmc PMC_TYPE_PERIPHERAL 25>; 574 clock-names = "usart"; 575 status = "disabled"; 576 }; 577 578 uart2: serial@f8024000 { 579 compatible = "atmel,at91sam9260-usart"; 580 reg = <0xf8024000 0x100>; 581 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 7>; 582 dmas = <&dma0 583 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 584 AT91_XDMAC_DT_PERID(39))>, 585 <&dma0 586 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 587 AT91_XDMAC_DT_PERID(40))>; 588 dma-names = "tx", "rx"; 589 clocks = <&pmc PMC_TYPE_PERIPHERAL 26>; 590 clock-names = "usart"; 591 status = "disabled"; 592 }; 593 594 i2c0: i2c@f8028000 { 595 compatible = "atmel,sama5d2-i2c"; 596 reg = <0xf8028000 0x100>; 597 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 7>; 598 dmas = <&dma0 599 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 600 AT91_XDMAC_DT_PERID(0))>, 601 <&dma0 602 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 603 AT91_XDMAC_DT_PERID(1))>; 604 dma-names = "tx", "rx"; 605 #address-cells = <1>; 606 #size-cells = <0>; 607 clocks = <&pmc PMC_TYPE_PERIPHERAL 29>; 608 atmel,fifo-size = <16>; 609 status = "disabled"; 610 }; 611 612 pwm0: pwm@f802c000 { 613 compatible = "atmel,sama5d2-pwm"; 614 reg = <0xf802c000 0x4000>; 615 interrupts = <38 IRQ_TYPE_LEVEL_HIGH 7>; 616 #pwm-cells = <3>; 617 clocks = <&pmc PMC_TYPE_PERIPHERAL 38>; 618 }; 619 620 sfr: sfr@f8030000 { 621 compatible = "atmel,sama5d2-sfr", "syscon"; 622 reg = <0xf8030000 0x98>; 623 }; 624 625 flx0: flexcom@f8034000 { 626 compatible = "atmel,sama5d2-flexcom"; 627 reg = <0xf8034000 0x200>; 628 clocks = <&pmc PMC_TYPE_PERIPHERAL 19>; 629 #address-cells = <1>; 630 #size-cells = <1>; 631 ranges = <0x0 0xf8034000 0x800>; 632 status = "disabled"; 633 }; 634 635 flx1: flexcom@f8038000 { 636 compatible = "atmel,sama5d2-flexcom"; 637 reg = <0xf8038000 0x200>; 638 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>; 639 #address-cells = <1>; 640 #size-cells = <1>; 641 ranges = <0x0 0xf8038000 0x800>; 642 status = "disabled"; 643 }; 644 645 securam: sram@f8044000 { 646 compatible = "atmel,sama5d2-securam", "mmio-sram"; 647 reg = <0xf8044000 0x1420>; 648 clocks = <&pmc PMC_TYPE_PERIPHERAL 51>; 649 #address-cells = <1>; 650 #size-cells = <1>; 651 ranges = <0 0xf8044000 0x1420>; 652 }; 653 654 reset_controller: rstc@f8048000 { 655 compatible = "atmel,sama5d3-rstc"; 656 reg = <0xf8048000 0x10>; 657 clocks = <&clk32k>; 658 }; 659 660 shutdown_controller: shdwc@f8048010 { 661 compatible = "atmel,sama5d2-shdwc"; 662 reg = <0xf8048010 0x10>; 663 clocks = <&clk32k>; 664 #address-cells = <1>; 665 #size-cells = <0>; 666 atmel,wakeup-rtc-timer; 667 }; 668 669 pit: timer@f8048030 { 670 compatible = "atmel,at91sam9260-pit"; 671 reg = <0xf8048030 0x10>; 672 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>; 673 clocks = <&pmc PMC_TYPE_CORE PMC_MCK2>; 674 }; 675 676 watchdog: watchdog@f8048040 { 677 compatible = "atmel,sama5d4-wdt"; 678 reg = <0xf8048040 0x10>; 679 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>; 680 clocks = <&clk32k>; 681 status = "disabled"; 682 }; 683 684 clk32k: sckc@f8048050 { 685 compatible = "atmel,sama5d4-sckc"; 686 reg = <0xf8048050 0x4>; 687 688 clocks = <&slow_xtal>; 689 #clock-cells = <0>; 690 }; 691 692 rtc@f80480b0 { 693 compatible = "atmel,at91rm9200-rtc"; 694 reg = <0xf80480b0 0x30>; 695 interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>; 696 clocks = <&clk32k>; 697 }; 698 699 i2s0: i2s@f8050000 { 700 compatible = "atmel,sama5d2-i2s"; 701 reg = <0xf8050000 0x100>; 702 interrupts = <54 IRQ_TYPE_LEVEL_HIGH 7>; 703 dmas = <&dma0 704 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 705 AT91_XDMAC_DT_PERID(31))>, 706 <&dma0 707 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 708 AT91_XDMAC_DT_PERID(32))>; 709 dma-names = "tx", "rx"; 710 clocks = <&pmc PMC_TYPE_PERIPHERAL 54>, <&pmc PMC_TYPE_GCK 54>; 711 clock-names = "pclk", "gclk"; 712 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_I2S0_MUX>; 713 assigned-clock-parents = <&pmc PMC_TYPE_GCK 54>; 714 status = "disabled"; 715 }; 716 717 can0: can@f8054000 { 718 compatible = "bosch,m_can"; 719 reg = <0xf8054000 0x4000>, <0x210000 0x4000>; 720 reg-names = "m_can", "message_ram"; 721 interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>, 722 <64 IRQ_TYPE_LEVEL_HIGH 7>; 723 interrupt-names = "int0", "int1"; 724 clocks = <&pmc PMC_TYPE_PERIPHERAL 56>, <&pmc PMC_TYPE_GCK 56>; 725 clock-names = "hclk", "cclk"; 726 assigned-clocks = <&pmc PMC_TYPE_GCK 56>; 727 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>; 728 assigned-clock-rates = <40000000>; 729 bosch,mram-cfg = <0x0 0 0 64 0 0 32 32>; 730 status = "disabled"; 731 }; 732 733 spi1: spi@fc000000 { 734 compatible = "atmel,at91rm9200-spi"; 735 reg = <0xfc000000 0x100>; 736 interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>; 737 dmas = <&dma0 738 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 739 AT91_XDMAC_DT_PERID(8))>, 740 <&dma0 741 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 742 AT91_XDMAC_DT_PERID(9))>; 743 dma-names = "tx", "rx"; 744 clocks = <&pmc PMC_TYPE_PERIPHERAL 34>; 745 clock-names = "spi_clk"; 746 atmel,fifo-size = <16>; 747 #address-cells = <1>; 748 #size-cells = <0>; 749 status = "disabled"; 750 }; 751 752 uart3: serial@fc008000 { 753 compatible = "atmel,at91sam9260-usart"; 754 reg = <0xfc008000 0x100>; 755 interrupts = <27 IRQ_TYPE_LEVEL_HIGH 7>; 756 dmas = <&dma1 757 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 758 AT91_XDMAC_DT_PERID(41))>, 759 <&dma1 760 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 761 AT91_XDMAC_DT_PERID(42))>; 762 dma-names = "tx", "rx"; 763 clocks = <&pmc PMC_TYPE_PERIPHERAL 27>; 764 clock-names = "usart"; 765 status = "disabled"; 766 }; 767 768 uart4: serial@fc00c000 { 769 compatible = "atmel,at91sam9260-usart"; 770 reg = <0xfc00c000 0x100>; 771 dmas = <&dma0 772 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 773 AT91_XDMAC_DT_PERID(43))>, 774 <&dma0 775 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 776 AT91_XDMAC_DT_PERID(44))>; 777 dma-names = "tx", "rx"; 778 interrupts = <28 IRQ_TYPE_LEVEL_HIGH 7>; 779 clocks = <&pmc PMC_TYPE_PERIPHERAL 28>; 780 clock-names = "usart"; 781 status = "disabled"; 782 }; 783 784 flx2: flexcom@fc010000 { 785 compatible = "atmel,sama5d2-flexcom"; 786 reg = <0xfc010000 0x200>; 787 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>; 788 #address-cells = <1>; 789 #size-cells = <1>; 790 ranges = <0x0 0xfc010000 0x800>; 791 status = "disabled"; 792 }; 793 794 flx3: flexcom@fc014000 { 795 compatible = "atmel,sama5d2-flexcom"; 796 reg = <0xfc014000 0x200>; 797 clocks = <&pmc PMC_TYPE_PERIPHERAL 22>; 798 #address-cells = <1>; 799 #size-cells = <1>; 800 ranges = <0x0 0xfc014000 0x800>; 801 status = "disabled"; 802 }; 803 804 flx4: flexcom@fc018000 { 805 compatible = "atmel,sama5d2-flexcom"; 806 reg = <0xfc018000 0x200>; 807 clocks = <&pmc PMC_TYPE_PERIPHERAL 23>; 808 #address-cells = <1>; 809 #size-cells = <1>; 810 ranges = <0x0 0xfc018000 0x800>; 811 status = "disabled"; 812 }; 813 814 trng@fc01c000 { 815 compatible = "atmel,at91sam9g45-trng"; 816 reg = <0xfc01c000 0x100>; 817 interrupts = <47 IRQ_TYPE_LEVEL_HIGH 0>; 818 clocks = <&pmc PMC_TYPE_PERIPHERAL 47>; 819 }; 820 821 aic: interrupt-controller@fc020000 { 822 #interrupt-cells = <3>; 823 compatible = "atmel,sama5d2-aic"; 824 interrupt-controller; 825 reg = <0xfc020000 0x200>; 826 atmel,external-irqs = <49>; 827 }; 828 829 i2c1: i2c@fc028000 { 830 compatible = "atmel,sama5d2-i2c"; 831 reg = <0xfc028000 0x100>; 832 interrupts = <30 IRQ_TYPE_LEVEL_HIGH 7>; 833 dmas = <&dma0 834 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 835 AT91_XDMAC_DT_PERID(2))>, 836 <&dma0 837 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 838 AT91_XDMAC_DT_PERID(3))>; 839 dma-names = "tx", "rx"; 840 #address-cells = <1>; 841 #size-cells = <0>; 842 clocks = <&pmc PMC_TYPE_PERIPHERAL 30>; 843 atmel,fifo-size = <16>; 844 status = "disabled"; 845 }; 846 847 adc: adc@fc030000 { 848 compatible = "atmel,sama5d2-adc"; 849 reg = <0xfc030000 0x100>; 850 interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>; 851 clocks = <&pmc PMC_TYPE_PERIPHERAL 40>; 852 clock-names = "adc_clk"; 853 dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>; 854 dma-names = "rx"; 855 atmel,min-sample-rate-hz = <200000>; 856 atmel,max-sample-rate-hz = <20000000>; 857 atmel,startup-time-ms = <4>; 858 atmel,trigger-edge-type = <IRQ_TYPE_EDGE_RISING>; 859 #io-channel-cells = <1>; 860 status = "disabled"; 861 }; 862 863 resistive_touch: resistive-touch { 864 compatible = "resistive-adc-touch"; 865 io-channels = <&adc AT91_SAMA5D2_ADC_X_CHANNEL>, 866 <&adc AT91_SAMA5D2_ADC_Y_CHANNEL>, 867 <&adc AT91_SAMA5D2_ADC_P_CHANNEL>; 868 io-channel-names = "x", "y", "pressure"; 869 touchscreen-min-pressure = <50000>; 870 status = "disabled"; 871 }; 872 873 pioA: pinctrl@fc038000 { 874 compatible = "atmel,sama5d2-pinctrl"; 875 reg = <0xfc038000 0x600>; 876 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 7>, 877 <68 IRQ_TYPE_LEVEL_HIGH 7>, 878 <69 IRQ_TYPE_LEVEL_HIGH 7>, 879 <70 IRQ_TYPE_LEVEL_HIGH 7>; 880 interrupt-controller; 881 #interrupt-cells = <2>; 882 gpio-controller; 883 #gpio-cells = <2>; 884 clocks = <&pmc PMC_TYPE_PERIPHERAL 18>; 885 }; 886 887 secumod@fc040000 { 888 compatible = "atmel,sama5d2-secumod", "syscon"; 889 reg = <0xfc040000 0x100>; 890 }; 891 892 tdes@fc044000 { 893 compatible = "atmel,at91sam9g46-tdes"; 894 reg = <0xfc044000 0x100>; 895 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>; 896 dmas = <&dma0 897 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 898 AT91_XDMAC_DT_PERID(28))>, 899 <&dma0 900 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 901 AT91_XDMAC_DT_PERID(29))>; 902 dma-names = "tx", "rx"; 903 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>; 904 clock-names = "tdes_clk"; 905 status = "okay"; 906 }; 907 908 classd: classd@fc048000 { 909 compatible = "atmel,sama5d2-classd"; 910 reg = <0xfc048000 0x100>; 911 interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>; 912 dmas = <&dma0 913 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 914 AT91_XDMAC_DT_PERID(47))>; 915 dma-names = "tx"; 916 clocks = <&pmc PMC_TYPE_PERIPHERAL 59>, <&pmc PMC_TYPE_GCK 59>; 917 clock-names = "pclk", "gclk"; 918 status = "disabled"; 919 }; 920 921 i2s1: i2s@fc04c000 { 922 compatible = "atmel,sama5d2-i2s"; 923 reg = <0xfc04c000 0x100>; 924 interrupts = <55 IRQ_TYPE_LEVEL_HIGH 7>; 925 dmas = <&dma0 926 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 927 AT91_XDMAC_DT_PERID(33))>, 928 <&dma0 929 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 930 AT91_XDMAC_DT_PERID(34))>; 931 dma-names = "tx", "rx"; 932 clocks = <&pmc PMC_TYPE_PERIPHERAL 55>, <&pmc PMC_TYPE_GCK 55>; 933 clock-names = "pclk", "gclk"; 934 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_I2S1_MUX>; 935 assigned-parrents = <&pmc PMC_TYPE_GCK 55>; 936 status = "disabled"; 937 }; 938 939 can1: can@fc050000 { 940 compatible = "bosch,m_can"; 941 reg = <0xfc050000 0x4000>, <0x210000 0x4000>; 942 reg-names = "m_can", "message_ram"; 943 interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>, 944 <65 IRQ_TYPE_LEVEL_HIGH 7>; 945 interrupt-names = "int0", "int1"; 946 clocks = <&pmc PMC_TYPE_PERIPHERAL 57>, <&pmc PMC_TYPE_GCK 57>; 947 clock-names = "hclk", "cclk"; 948 assigned-clocks = <&pmc PMC_TYPE_GCK 57>; 949 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>; 950 assigned-clock-rates = <40000000>; 951 bosch,mram-cfg = <0x1100 0 0 64 0 0 32 32>; 952 status = "disabled"; 953 }; 954 955 sfrbu: sfr@fc05c000 { 956 compatible = "atmel,sama5d2-sfrbu", "syscon"; 957 reg = <0xfc05c000 0x20>; 958 }; 959 960 chipid@fc069000 { 961 compatible = "atmel,sama5d2-chipid"; 962 reg = <0xfc069000 0x8>; 963 }; 964 }; 965 }; 966}; 967