Linux Audio

Check our new training course

Yocto / OpenEmbedded training

Feb 10-13, 2025
Register
Loading...
Note: File does not exist in v6.13.7.
   1/*
   2 * sama5d2.dtsi - Device Tree Include file for SAMA5D2 family SoC
   3 *
   4 *  Copyright (C) 2015 Atmel,
   5 *                2015 Ludovic Desroches <ludovic.desroches@atmel.com>
   6 *
   7 * This file is dual-licensed: you can use it either under the terms
   8 * of the GPL or the X11 license, at your option. Note that this dual
   9 * licensing only applies to this file, and not this project as a
  10 * whole.
  11 *
  12 *  a) This file is free software; you can redistribute it and/or
  13 *     modify it under the terms of the GNU General Public License as
  14 *     published by the Free Software Foundation; either version 2 of the
  15 *     License, or (at your option) any later version.
  16 *
  17 *     This file is distributed in the hope that it will be useful,
  18 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
  19 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20 *     GNU General Public License for more details.
  21 *
  22 * Or, alternatively,
  23 *
  24 *  b) Permission is hereby granted, free of charge, to any person
  25 *     obtaining a copy of this software and associated documentation
  26 *     files (the "Software"), to deal in the Software without
  27 *     restriction, including without limitation the rights to use,
  28 *     copy, modify, merge, publish, distribute, sublicense, and/or
  29 *     sell copies of the Software, and to permit persons to whom the
  30 *     Software is furnished to do so, subject to the following
  31 *     conditions:
  32 *
  33 *     The above copyright notice and this permission notice shall be
  34 *     included in all copies or substantial portions of the Software.
  35 *
  36 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  37 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  38 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  39 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  40 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  41 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  42 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  43 *     OTHER DEALINGS IN THE SOFTWARE.
  44 */
  45
  46#include "skeleton.dtsi"
  47#include <dt-bindings/dma/at91.h>
  48#include <dt-bindings/interrupt-controller/irq.h>
  49#include <dt-bindings/clock/at91.h>
  50
  51/ {
  52	model = "Atmel SAMA5D2 family SoC";
  53	compatible = "atmel,sama5d2";
  54	interrupt-parent = <&aic>;
  55
  56	aliases {
  57		serial0 = &uart1;
  58		serial1 = &uart3;
  59		tcb0 = &tcb0;
  60		tcb1 = &tcb1;
  61	};
  62
  63	cpus {
  64		#address-cells = <1>;
  65		#size-cells = <0>;
  66
  67		cpu@0 {
  68			device_type = "cpu";
  69			compatible = "arm,cortex-a5";
  70			reg = <0>;
  71			next-level-cache = <&L2>;
  72		};
  73	};
  74
  75	pmu {
  76		compatible = "arm,cortex-a5-pmu";
  77		interrupts = <2 IRQ_TYPE_LEVEL_HIGH 0>;
  78	};
  79
  80	etb {
  81		compatible = "arm,coresight-etb10", "arm,primecell";
  82		reg = <0x740000 0x1000>;
  83
  84		clocks = <&mck>;
  85		clock-names = "apb_pclk";
  86
  87		port {
  88			etb_in: endpoint {
  89				slave-mode;
  90				remote-endpoint = <&etm_out>;
  91			};
  92		};
  93	};
  94
  95	etm {
  96		compatible = "arm,coresight-etm3x", "arm,primecell";
  97		reg = <0x73C000 0x1000>;
  98
  99		clocks = <&mck>;
 100		clock-names = "apb_pclk";
 101
 102		port {
 103			etm_out: endpoint {
 104				remote-endpoint = <&etb_in>;
 105			};
 106		};
 107	};
 108
 109	memory {
 110		reg = <0x20000000 0x20000000>;
 111	};
 112
 113	clocks {
 114		slow_xtal: slow_xtal {
 115			compatible = "fixed-clock";
 116			#clock-cells = <0>;
 117			clock-frequency = <0>;
 118		};
 119
 120		main_xtal: main_xtal {
 121			compatible = "fixed-clock";
 122			#clock-cells = <0>;
 123			clock-frequency = <0>;
 124		};
 125	};
 126
 127	ns_sram: sram@00200000 {
 128		compatible = "mmio-sram";
 129		reg = <0x00200000 0x20000>;
 130	};
 131
 132	ahb {
 133		compatible = "simple-bus";
 134		#address-cells = <1>;
 135		#size-cells = <1>;
 136		ranges;
 137
 138		usb0: gadget@00300000 {
 139			#address-cells = <1>;
 140			#size-cells = <0>;
 141			compatible = "atmel,sama5d3-udc";
 142			reg = <0x00300000 0x100000
 143			       0xfc02c000 0x400>;
 144			interrupts = <42 IRQ_TYPE_LEVEL_HIGH 2>;
 145			clocks = <&udphs_clk>, <&utmi>;
 146			clock-names = "pclk", "hclk";
 147			status = "disabled";
 148
 149			ep@0 {
 150				reg = <0>;
 151				atmel,fifo-size = <64>;
 152				atmel,nb-banks = <1>;
 153			};
 154
 155			ep@1 {
 156				reg = <1>;
 157				atmel,fifo-size = <1024>;
 158				atmel,nb-banks = <3>;
 159				atmel,can-dma;
 160				atmel,can-isoc;
 161			};
 162
 163			ep@2 {
 164				reg = <2>;
 165				atmel,fifo-size = <1024>;
 166				atmel,nb-banks = <3>;
 167				atmel,can-dma;
 168				atmel,can-isoc;
 169			};
 170
 171			ep@3 {
 172				reg = <3>;
 173				atmel,fifo-size = <1024>;
 174				atmel,nb-banks = <2>;
 175				atmel,can-dma;
 176				atmel,can-isoc;
 177			};
 178
 179			ep@4 {
 180				reg = <4>;
 181				atmel,fifo-size = <1024>;
 182				atmel,nb-banks = <2>;
 183				atmel,can-dma;
 184				atmel,can-isoc;
 185			};
 186
 187			ep@5 {
 188				reg = <5>;
 189				atmel,fifo-size = <1024>;
 190				atmel,nb-banks = <2>;
 191				atmel,can-dma;
 192				atmel,can-isoc;
 193			};
 194
 195			ep@6 {
 196				reg = <6>;
 197				atmel,fifo-size = <1024>;
 198				atmel,nb-banks = <2>;
 199				atmel,can-dma;
 200				atmel,can-isoc;
 201			};
 202
 203			ep@7 {
 204				reg = <7>;
 205				atmel,fifo-size = <1024>;
 206				atmel,nb-banks = <2>;
 207				atmel,can-dma;
 208				atmel,can-isoc;
 209			};
 210
 211			ep@8 {
 212				reg = <8>;
 213				atmel,fifo-size = <1024>;
 214				atmel,nb-banks = <2>;
 215				atmel,can-isoc;
 216			};
 217
 218			ep@9 {
 219				reg = <9>;
 220				atmel,fifo-size = <1024>;
 221				atmel,nb-banks = <2>;
 222				atmel,can-isoc;
 223			};
 224
 225			ep@10 {
 226				reg = <10>;
 227				atmel,fifo-size = <1024>;
 228				atmel,nb-banks = <2>;
 229				atmel,can-isoc;
 230			};
 231
 232			ep@11 {
 233				reg = <11>;
 234				atmel,fifo-size = <1024>;
 235				atmel,nb-banks = <2>;
 236				atmel,can-isoc;
 237			};
 238
 239			ep@12 {
 240				reg = <12>;
 241				atmel,fifo-size = <1024>;
 242				atmel,nb-banks = <2>;
 243				atmel,can-isoc;
 244			};
 245
 246			ep@13 {
 247				reg = <13>;
 248				atmel,fifo-size = <1024>;
 249				atmel,nb-banks = <2>;
 250				atmel,can-isoc;
 251			};
 252
 253			ep@14 {
 254				reg = <14>;
 255				atmel,fifo-size = <1024>;
 256				atmel,nb-banks = <2>;
 257				atmel,can-isoc;
 258			};
 259
 260			ep@15 {
 261				reg = <15>;
 262				atmel,fifo-size = <1024>;
 263				atmel,nb-banks = <2>;
 264				atmel,can-isoc;
 265			};
 266		};
 267
 268		usb1: ohci@00400000 {
 269			compatible = "atmel,at91rm9200-ohci", "usb-ohci";
 270			reg = <0x00400000 0x100000>;
 271			interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
 272			clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
 273			clock-names = "ohci_clk", "hclk", "uhpck";
 274			status = "disabled";
 275		};
 276
 277		usb2: ehci@00500000 {
 278			compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
 279			reg = <0x00500000 0x100000>;
 280			interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
 281			clocks = <&utmi>, <&uhphs_clk>;
 282			clock-names = "usb_clk", "ehci_clk";
 283			status = "disabled";
 284		};
 285
 286		L2: cache-controller@00a00000 {
 287			compatible = "arm,pl310-cache";
 288			reg = <0x00a00000 0x1000>;
 289			interrupts = <63 IRQ_TYPE_LEVEL_HIGH 4>;
 290			cache-unified;
 291			cache-level = <2>;
 292		};
 293
 294		nand0: nand@80000000 {
 295			compatible = "atmel,sama5d2-nand";
 296			#address-cells = <1>;
 297			#size-cells = <1>;
 298			ranges;
 299			reg = < /* EBI CS3 */
 300				0x80000000 0x08000000
 301				/* SMC PMECC regs */
 302				0xf8014070 0x00000490
 303				/* SMC PMECC Error Location regs */
 304				0xf8014500 0x00000200
 305				/* ROM Galois tables */
 306				0x00040000 0x00018000
 307				>;
 308			interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>;
 309			atmel,nand-addr-offset = <21>;
 310			atmel,nand-cmd-offset = <22>;
 311			atmel,nand-has-dma;
 312			atmel,has-pmecc;
 313			atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
 314			status = "disabled";
 315
 316			nfc@c0000000 {
 317				compatible = "atmel,sama5d3-nfc";
 318				#address-cells = <1>;
 319				#size-cells = <1>;
 320				reg = < /* NFC Command Registers */
 321					0xc0000000 0x08000000
 322					/* NFC HSMC regs */
 323					0xf8014000 0x00000070
 324					/* NFC SRAM banks */
 325					0x00100000 0x00100000
 326					>;
 327				clocks = <&hsmc_clk>;
 328				atmel,write-by-sram;
 329			};
 330		};
 331
 332		sdmmc0: sdio-host@a0000000 {
 333			compatible = "atmel,sama5d2-sdhci";
 334			reg = <0xa0000000 0x300>;
 335			interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
 336			clocks = <&sdmmc0_hclk>, <&sdmmc0_gclk>, <&main>;
 337			clock-names = "hclock", "multclk", "baseclk";
 338			status = "disabled";
 339		};
 340
 341		sdmmc1: sdio-host@b0000000 {
 342			compatible = "atmel,sama5d2-sdhci";
 343			reg = <0xb0000000 0x300>;
 344			interrupts = <32 IRQ_TYPE_LEVEL_HIGH 0>;
 345			clocks = <&sdmmc1_hclk>, <&sdmmc1_gclk>, <&main>;
 346			clock-names = "hclock", "multclk", "baseclk";
 347			status = "disabled";
 348		};
 349
 350		apb {
 351			compatible = "simple-bus";
 352			#address-cells = <1>;
 353			#size-cells = <1>;
 354			ranges;
 355
 356			hlcdc: hlcdc@f0000000 {
 357				compatible = "atmel,sama5d2-hlcdc";
 358				reg = <0xf0000000 0x2000>;
 359				interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
 360				clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
 361				clock-names = "periph_clk","sys_clk", "slow_clk";
 362				status = "disabled";
 363
 364				hlcdc-display-controller {
 365					compatible = "atmel,hlcdc-display-controller";
 366					#address-cells = <1>;
 367					#size-cells = <0>;
 368
 369					port@0 {
 370						#address-cells = <1>;
 371						#size-cells = <0>;
 372						reg = <0>;
 373					};
 374				};
 375
 376				hlcdc_pwm: hlcdc-pwm {
 377					compatible = "atmel,hlcdc-pwm";
 378					#pwm-cells = <3>;
 379				};
 380			};
 381
 382			ramc0: ramc@f000c000 {
 383				compatible = "atmel,sama5d3-ddramc";
 384				reg = <0xf000c000 0x200>;
 385				clocks = <&ddrck>, <&mpddr_clk>;
 386				clock-names = "ddrck", "mpddr";
 387			};
 388
 389			dma0: dma-controller@f0010000 {
 390				compatible = "atmel,sama5d4-dma";
 391				reg = <0xf0010000 0x1000>;
 392				interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
 393				#dma-cells = <1>;
 394				clocks = <&dma0_clk>;
 395				clock-names = "dma_clk";
 396			};
 397
 398			pmc: pmc@f0014000 {
 399				compatible = "atmel,sama5d2-pmc", "syscon";
 400				reg = <0xf0014000 0x160>;
 401				interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;
 402				interrupt-controller;
 403				#address-cells = <1>;
 404				#size-cells = <0>;
 405				#interrupt-cells = <1>;
 406
 407				main_rc_osc: main_rc_osc {
 408					compatible = "atmel,at91sam9x5-clk-main-rc-osc";
 409					#clock-cells = <0>;
 410					interrupt-parent = <&pmc>;
 411					interrupts = <AT91_PMC_MOSCRCS>;
 412					clock-frequency = <12000000>;
 413					clock-accuracy = <100000000>;
 414				};
 415
 416				main_osc: main_osc {
 417					compatible = "atmel,at91rm9200-clk-main-osc";
 418					#clock-cells = <0>;
 419					interrupt-parent = <&pmc>;
 420					interrupts = <AT91_PMC_MOSCS>;
 421					clocks = <&main_xtal>;
 422				};
 423
 424				main: mainck {
 425					compatible = "atmel,at91sam9x5-clk-main";
 426					#clock-cells = <0>;
 427					interrupt-parent = <&pmc>;
 428					interrupts = <AT91_PMC_MOSCSELS>;
 429					clocks = <&main_rc_osc &main_osc>;
 430				};
 431
 432				plla: pllack {
 433					compatible = "atmel,sama5d3-clk-pll";
 434					#clock-cells = <0>;
 435					interrupt-parent = <&pmc>;
 436					interrupts = <AT91_PMC_LOCKA>;
 437					clocks = <&main>;
 438					reg = <0>;
 439					atmel,clk-input-range = <12000000 12000000>;
 440					#atmel,pll-clk-output-range-cells = <4>;
 441					atmel,pll-clk-output-ranges = <600000000 1200000000 0 0>;
 442				};
 443
 444				plladiv: plladivck {
 445					compatible = "atmel,at91sam9x5-clk-plldiv";
 446					#clock-cells = <0>;
 447					clocks = <&plla>;
 448				};
 449
 450				utmi: utmick {
 451					compatible = "atmel,at91sam9x5-clk-utmi";
 452					#clock-cells = <0>;
 453					interrupt-parent = <&pmc>;
 454					interrupts = <AT91_PMC_LOCKU>;
 455					clocks = <&main>;
 456				};
 457
 458				mck: masterck {
 459					compatible = "atmel,at91sam9x5-clk-master";
 460					#clock-cells = <0>;
 461					interrupt-parent = <&pmc>;
 462					interrupts = <AT91_PMC_MCKRDY>;
 463					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>;
 464					atmel,clk-output-range = <124000000 166000000>;
 465					atmel,clk-divisors = <1 2 4 3>;
 466				};
 467
 468				h32ck: h32mxck {
 469					#clock-cells = <0>;
 470					compatible = "atmel,sama5d4-clk-h32mx";
 471					clocks = <&mck>;
 472				};
 473
 474				usb: usbck {
 475					compatible = "atmel,at91sam9x5-clk-usb";
 476					#clock-cells = <0>;
 477					clocks = <&plladiv>, <&utmi>;
 478				};
 479
 480				prog: progck {
 481					compatible = "atmel,at91sam9x5-clk-programmable";
 482					#address-cells = <1>;
 483					#size-cells = <0>;
 484					interrupt-parent = <&pmc>;
 485					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;
 486
 487					prog0: prog0 {
 488						#clock-cells = <0>;
 489						reg = <0>;
 490						interrupts = <AT91_PMC_PCKRDY(0)>;
 491					};
 492
 493					prog1: prog1 {
 494						#clock-cells = <0>;
 495						reg = <1>;
 496						interrupts = <AT91_PMC_PCKRDY(1)>;
 497					};
 498
 499					prog2: prog2 {
 500						#clock-cells = <0>;
 501						reg = <2>;
 502						interrupts = <AT91_PMC_PCKRDY(2)>;
 503					};
 504				};
 505
 506				systemck {
 507					compatible = "atmel,at91rm9200-clk-system";
 508					#address-cells = <1>;
 509					#size-cells = <0>;
 510
 511					ddrck: ddrck {
 512						#clock-cells = <0>;
 513						reg = <2>;
 514						clocks = <&mck>;
 515					};
 516
 517					lcdck: lcdck {
 518						#clock-cells = <0>;
 519						reg = <3>;
 520						clocks = <&mck>;
 521					};
 522
 523					uhpck: uhpck {
 524						#clock-cells = <0>;
 525						reg = <6>;
 526						clocks = <&usb>;
 527					};
 528
 529					udpck: udpck {
 530						#clock-cells = <0>;
 531						reg = <7>;
 532						clocks = <&usb>;
 533					};
 534
 535					pck0: pck0 {
 536						#clock-cells = <0>;
 537						reg = <8>;
 538						clocks = <&prog0>;
 539					};
 540
 541					pck1: pck1 {
 542						#clock-cells = <0>;
 543						reg = <9>;
 544						clocks = <&prog1>;
 545					};
 546
 547					pck2: pck2 {
 548						#clock-cells = <0>;
 549						reg = <10>;
 550						clocks = <&prog2>;
 551					};
 552
 553					iscck: iscck {
 554						#clock-cells = <0>;
 555						reg = <18>;
 556						clocks = <&mck>;
 557					};
 558				};
 559
 560				periph32ck {
 561					compatible = "atmel,at91sam9x5-clk-peripheral";
 562					#address-cells = <1>;
 563					#size-cells = <0>;
 564					clocks = <&h32ck>;
 565
 566					macb0_clk: macb0_clk {
 567						#clock-cells = <0>;
 568						reg = <5>;
 569						atmel,clk-output-range = <0 83000000>;
 570					};
 571
 572					tdes_clk: tdes_clk {
 573						#clock-cells = <0>;
 574						reg = <11>;
 575						atmel,clk-output-range = <0 83000000>;
 576					};
 577
 578					matrix1_clk: matrix1_clk {
 579						#clock-cells = <0>;
 580						reg = <14>;
 581					};
 582
 583					hsmc_clk: hsmc_clk {
 584						#clock-cells = <0>;
 585						reg = <17>;
 586					};
 587
 588					pioA_clk: pioA_clk {
 589						#clock-cells = <0>;
 590						reg = <18>;
 591						atmel,clk-output-range = <0 83000000>;
 592					};
 593
 594					flx0_clk: flx0_clk {
 595						#clock-cells = <0>;
 596						reg = <19>;
 597						atmel,clk-output-range = <0 83000000>;
 598					};
 599
 600					flx1_clk: flx1_clk {
 601						#clock-cells = <0>;
 602						reg = <20>;
 603						atmel,clk-output-range = <0 83000000>;
 604					};
 605
 606					flx2_clk: flx2_clk {
 607						#clock-cells = <0>;
 608						reg = <21>;
 609						atmel,clk-output-range = <0 83000000>;
 610					};
 611
 612					flx3_clk: flx3_clk {
 613						#clock-cells = <0>;
 614						reg = <22>;
 615						atmel,clk-output-range = <0 83000000>;
 616					};
 617
 618					flx4_clk: flx4_clk {
 619						#clock-cells = <0>;
 620						reg = <23>;
 621						atmel,clk-output-range = <0 83000000>;
 622					};
 623
 624					uart0_clk: uart0_clk {
 625						#clock-cells = <0>;
 626						reg = <24>;
 627						atmel,clk-output-range = <0 83000000>;
 628					};
 629
 630					uart1_clk: uart1_clk {
 631						#clock-cells = <0>;
 632						reg = <25>;
 633						atmel,clk-output-range = <0 83000000>;
 634					};
 635
 636					uart2_clk: uart2_clk {
 637						#clock-cells = <0>;
 638						reg = <26>;
 639						atmel,clk-output-range = <0 83000000>;
 640					};
 641
 642					uart3_clk: uart3_clk {
 643						#clock-cells = <0>;
 644						reg = <27>;
 645						atmel,clk-output-range = <0 83000000>;
 646					};
 647
 648					uart4_clk: uart4_clk {
 649						#clock-cells = <0>;
 650						reg = <28>;
 651						atmel,clk-output-range = <0 83000000>;
 652					};
 653
 654					twi0_clk: twi0_clk {
 655						reg = <29>;
 656						#clock-cells = <0>;
 657						atmel,clk-output-range = <0 83000000>;
 658					};
 659
 660					twi1_clk: twi1_clk {
 661						#clock-cells = <0>;
 662						reg = <30>;
 663						atmel,clk-output-range = <0 83000000>;
 664					};
 665
 666					spi0_clk: spi0_clk {
 667						#clock-cells = <0>;
 668						reg = <33>;
 669						atmel,clk-output-range = <0 83000000>;
 670					};
 671
 672					spi1_clk: spi1_clk {
 673						#clock-cells = <0>;
 674						reg = <34>;
 675						atmel,clk-output-range = <0 83000000>;
 676					};
 677
 678					tcb0_clk: tcb0_clk {
 679						#clock-cells = <0>;
 680						reg = <35>;
 681						atmel,clk-output-range = <0 83000000>;
 682					};
 683
 684					tcb1_clk: tcb1_clk {
 685						#clock-cells = <0>;
 686						reg = <36>;
 687						atmel,clk-output-range = <0 83000000>;
 688					};
 689
 690					pwm_clk: pwm_clk {
 691						#clock-cells = <0>;
 692						reg = <38>;
 693						atmel,clk-output-range = <0 83000000>;
 694					};
 695
 696					adc_clk: adc_clk {
 697						#clock-cells = <0>;
 698						reg = <40>;
 699						atmel,clk-output-range = <0 83000000>;
 700					};
 701
 702					uhphs_clk: uhphs_clk {
 703						#clock-cells = <0>;
 704						reg = <41>;
 705						atmel,clk-output-range = <0 83000000>;
 706					};
 707
 708					udphs_clk: udphs_clk {
 709						#clock-cells = <0>;
 710						reg = <42>;
 711						atmel,clk-output-range = <0 83000000>;
 712					};
 713
 714					ssc0_clk: ssc0_clk {
 715						#clock-cells = <0>;
 716						reg = <43>;
 717						atmel,clk-output-range = <0 83000000>;
 718					};
 719
 720					ssc1_clk: ssc1_clk {
 721						#clock-cells = <0>;
 722						reg = <44>;
 723						atmel,clk-output-range = <0 83000000>;
 724					};
 725
 726					trng_clk: trng_clk {
 727						#clock-cells = <0>;
 728						reg = <47>;
 729						atmel,clk-output-range = <0 83000000>;
 730					};
 731
 732					pdmic_clk: pdmic_clk {
 733						#clock-cells = <0>;
 734						reg = <48>;
 735						atmel,clk-output-range = <0 83000000>;
 736					};
 737
 738					securam_clk: securam_clk {
 739						#clock-cells = <0>;
 740						reg = <51>;
 741					};
 742
 743					i2s0_clk: i2s0_clk {
 744						#clock-cells = <0>;
 745						reg = <54>;
 746						atmel,clk-output-range = <0 83000000>;
 747					};
 748
 749					i2s1_clk: i2s1_clk {
 750						#clock-cells = <0>;
 751						reg = <55>;
 752						atmel,clk-output-range = <0 83000000>;
 753					};
 754
 755					classd_clk: classd_clk {
 756						#clock-cells = <0>;
 757						reg = <59>;
 758						atmel,clk-output-range = <0 83000000>;
 759					};
 760				};
 761
 762				periph64ck {
 763					compatible = "atmel,at91sam9x5-clk-peripheral";
 764					#address-cells = <1>;
 765					#size-cells = <0>;
 766					clocks = <&mck>;
 767
 768					dma0_clk: dma0_clk {
 769						#clock-cells = <0>;
 770						reg = <6>;
 771					};
 772
 773					dma1_clk: dma1_clk {
 774						#clock-cells = <0>;
 775						reg = <7>;
 776					};
 777
 778					aes_clk: aes_clk {
 779						#clock-cells = <0>;
 780						reg = <9>;
 781					};
 782
 783					aesb_clk: aesb_clk {
 784						#clock-cells = <0>;
 785						reg = <10>;
 786					};
 787
 788					sha_clk: sha_clk {
 789						#clock-cells = <0>;
 790						reg = <12>;
 791					};
 792
 793					mpddr_clk: mpddr_clk {
 794						#clock-cells = <0>;
 795						reg = <13>;
 796					};
 797
 798					matrix0_clk: matrix0_clk {
 799						#clock-cells = <0>;
 800						reg = <15>;
 801					};
 802
 803					sdmmc0_hclk: sdmmc0_hclk {
 804						#clock-cells = <0>;
 805						reg = <31>;
 806					};
 807
 808					sdmmc1_hclk: sdmmc1_hclk {
 809						#clock-cells = <0>;
 810						reg = <32>;
 811					};
 812
 813					lcdc_clk: lcdc_clk {
 814						#clock-cells = <0>;
 815						reg = <45>;
 816					};
 817
 818					isc_clk: isc_clk {
 819						#clock-cells = <0>;
 820						reg = <46>;
 821					};
 822
 823					qspi0_clk: qspi0_clk {
 824						#clock-cells = <0>;
 825						reg = <52>;
 826					};
 827
 828					qspi1_clk: qspi1_clk {
 829						#clock-cells = <0>;
 830						reg = <53>;
 831					};
 832				};
 833
 834				gck {
 835					compatible = "atmel,sama5d2-clk-generated";
 836					#address-cells = <1>;
 837					#size-cells = <0>;
 838					interrupt-parent = <&pmc>;
 839					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;
 840
 841					sdmmc0_gclk: sdmmc0_gclk {
 842						#clock-cells = <0>;
 843						reg = <31>;
 844					};
 845
 846					sdmmc1_gclk: sdmmc1_gclk {
 847						#clock-cells = <0>;
 848						reg = <32>;
 849					};
 850
 851					tcb0_gclk: tcb0_gclk {
 852						#clock-cells = <0>;
 853						reg = <35>;
 854						atmel,clk-output-range = <0 83000000>;
 855					};
 856
 857					tcb1_gclk: tcb1_gclk {
 858						#clock-cells = <0>;
 859						reg = <36>;
 860						atmel,clk-output-range = <0 83000000>;
 861					};
 862
 863					pwm_gclk: pwm_gclk {
 864						#clock-cells = <0>;
 865						reg = <38>;
 866						atmel,clk-output-range = <0 83000000>;
 867					};
 868
 869					pdmic_gclk: pdmic_gclk {
 870						#clock-cells = <0>;
 871						reg = <48>;
 872					};
 873
 874					i2s0_gclk: i2s0_gclk {
 875						#clock-cells = <0>;
 876						reg = <54>;
 877					};
 878
 879					i2s1_gclk: i2s1_gclk {
 880						#clock-cells = <0>;
 881						reg = <55>;
 882					};
 883				};
 884			};
 885
 886			sha@f0028000 {
 887				compatible = "atmel,at91sam9g46-sha";
 888				reg = <0xf0028000 0x100>;
 889				interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
 890				dmas = <&dma0
 891					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 892					 AT91_XDMAC_DT_PERID(30))>;
 893				dma-names = "tx";
 894				clocks = <&sha_clk>;
 895				clock-names = "sha_clk";
 896				status = "okay";
 897			};
 898
 899			aes@f002c000 {
 900				compatible = "atmel,at91sam9g46-aes";
 901				reg = <0xf002c000 0x100>;
 902				interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
 903				dmas = <&dma0
 904					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 905					 AT91_XDMAC_DT_PERID(26))>,
 906				       <&dma0
 907					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 908					 AT91_XDMAC_DT_PERID(27))>;
 909				dma-names = "tx", "rx";
 910				clocks = <&aes_clk>;
 911				clock-names = "aes_clk";
 912				status = "okay";
 913			};
 914
 915			spi0: spi@f8000000 {
 916				compatible = "atmel,at91rm9200-spi";
 917				reg = <0xf8000000 0x100>;
 918				interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
 919				dmas = <&dma0
 920					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 921					 AT91_XDMAC_DT_PERID(6))>,
 922				       <&dma0
 923					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 924					 AT91_XDMAC_DT_PERID(7))>;
 925				dma-names = "tx", "rx";
 926				clocks = <&spi0_clk>;
 927				clock-names = "spi_clk";
 928				atmel,fifo-size = <16>;
 929				#address-cells = <1>;
 930				#size-cells = <0>;
 931				status = "disabled";
 932			};
 933
 934			macb0: ethernet@f8008000 {
 935				compatible = "atmel,sama5d2-gem";
 936				reg = <0xf8008000 0x1000>;
 937				interrupts = <5  IRQ_TYPE_LEVEL_HIGH 3		/* Queue 0 */
 938					      66 IRQ_TYPE_LEVEL_HIGH 3          /* Queue 1 */
 939					      67 IRQ_TYPE_LEVEL_HIGH 3>;        /* Queue 2 */
 940				#address-cells = <1>;
 941				#size-cells = <0>;
 942				clocks = <&macb0_clk>, <&macb0_clk>;
 943				clock-names = "hclk", "pclk";
 944				status = "disabled";
 945			};
 946
 947			tcb0: timer@f800c000 {
 948				compatible = "atmel,at91sam9x5-tcb";
 949				reg = <0xf800c000 0x100>;
 950				interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>;
 951				clocks = <&tcb0_clk>, <&clk32k>;
 952				clock-names = "t0_clk", "slow_clk";
 953			};
 954
 955			tcb1: timer@f8010000 {
 956				compatible = "atmel,at91sam9x5-tcb";
 957				reg = <0xf8010000 0x100>;
 958				interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
 959				clocks = <&tcb1_clk>, <&clk32k>;
 960				clock-names = "t0_clk", "slow_clk";
 961			};
 962
 963			pdmic: pdmic@f8018000 {
 964				compatible = "atmel,sama5d2-pdmic";
 965				reg = <0xf8018000 0x124>;
 966				interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>;
 967				dmas = <&dma0
 968					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
 969					| AT91_XDMAC_DT_PERID(50))>;
 970				dma-names = "rx";
 971				clocks = <&pdmic_clk>, <&pdmic_gclk>;
 972				clock-names = "pclk", "gclk";
 973				status = "disabled";
 974			};
 975
 976			uart0: serial@f801c000 {
 977				compatible = "atmel,at91sam9260-usart";
 978				reg = <0xf801c000 0x100>;
 979				interrupts = <24 IRQ_TYPE_LEVEL_HIGH 7>;
 980				dmas = <&dma0
 981					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 982					 AT91_XDMAC_DT_PERID(35))>,
 983				       <&dma0
 984					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 985					 AT91_XDMAC_DT_PERID(36))>;
 986				dma-names = "tx", "rx";
 987				clocks = <&uart0_clk>;
 988				clock-names = "usart";
 989				status = "disabled";
 990			};
 991
 992			uart1: serial@f8020000 {
 993				compatible = "atmel,at91sam9260-usart";
 994				reg = <0xf8020000 0x100>;
 995				interrupts = <25 IRQ_TYPE_LEVEL_HIGH 7>;
 996				dmas = <&dma0
 997					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 998					 AT91_XDMAC_DT_PERID(37))>,
 999				       <&dma0
1000					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1001					 AT91_XDMAC_DT_PERID(38))>;
1002				dma-names = "tx", "rx";
1003				clocks = <&uart1_clk>;
1004				clock-names = "usart";
1005				status = "disabled";
1006			};
1007
1008			uart2: serial@f8024000 {
1009				compatible = "atmel,at91sam9260-usart";
1010				reg = <0xf8024000 0x100>;
1011				interrupts = <26 IRQ_TYPE_LEVEL_HIGH 7>;
1012				dmas = <&dma0
1013					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1014					 AT91_XDMAC_DT_PERID(39))>,
1015				       <&dma0
1016					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1017					 AT91_XDMAC_DT_PERID(40))>;
1018				dma-names = "tx", "rx";
1019				clocks = <&uart2_clk>;
1020				clock-names = "usart";
1021				status = "disabled";
1022			};
1023
1024			i2c0: i2c@f8028000 {
1025				compatible = "atmel,sama5d2-i2c";
1026				reg = <0xf8028000 0x100>;
1027				interrupts = <29 IRQ_TYPE_LEVEL_HIGH 7>;
1028				dmas = <&dma0
1029					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1030					 AT91_XDMAC_DT_PERID(0))>,
1031				       <&dma0
1032					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1033					 AT91_XDMAC_DT_PERID(1))>;
1034				dma-names = "tx", "rx";
1035				#address-cells = <1>;
1036				#size-cells = <0>;
1037				clocks = <&twi0_clk>;
1038				atmel,fifo-size = <16>;
1039				status = "disabled";
1040			};
1041
1042			sfr: sfr@f8030000 {
1043				compatible = "atmel,sama5d2-sfr", "syscon";
1044				reg = <0xf8030000 0x98>;
1045			};
1046
1047			flx0: flexcom@f8034000 {
1048				compatible = "atmel,sama5d2-flexcom";
1049				reg = <0xf8034000 0x200>;
1050				clocks = <&flx0_clk>;
1051				#address-cells = <1>;
1052				#size-cells = <1>;
1053				ranges = <0x0 0xf8034000 0x800>;
1054				status = "disabled";
1055			};
1056
1057			flx1: flexcom@f8038000 {
1058				compatible = "atmel,sama5d2-flexcom";
1059				reg = <0xf8038000 0x200>;
1060				clocks = <&flx1_clk>;
1061				#address-cells = <1>;
1062				#size-cells = <1>;
1063				ranges = <0x0 0xf8038000 0x800>;
1064				status = "disabled";
1065			};
1066
1067			securam: sram@f8044000 {
1068				compatible = "atmel,sama5d2-securam", "mmio-sram";
1069				reg = <0xf8044000 0x1420>;
1070				clocks = <&securam_clk>;
1071				#address-cells = <1>;
1072				#size-cells = <1>;
1073				ranges = <0 0xf8044000 0x1420>;
1074			};
1075
1076			rstc@f8048000 {
1077				compatible = "atmel,sama5d3-rstc";
1078				reg = <0xf8048000 0x10>;
1079				clocks = <&clk32k>;
1080			};
1081
1082			shdwc@f8048010 {
1083				compatible = "atmel,sama5d2-shdwc";
1084				reg = <0xf8048010 0x10>;
1085				clocks = <&clk32k>;
1086				#address-cells = <1>;
1087				#size-cells = <0>;
1088				atmel,wakeup-rtc-timer;
1089			};
1090
1091			pit: timer@f8048030 {
1092				compatible = "atmel,at91sam9260-pit";
1093				reg = <0xf8048030 0x10>;
1094				interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
1095				clocks = <&h32ck>;
1096			};
1097
1098			watchdog@f8048040 {
1099				compatible = "atmel,sama5d4-wdt";
1100				reg = <0xf8048040 0x10>;
1101				interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
1102				clocks = <&clk32k>;
1103				status = "disabled";
1104			};
1105
1106			clk32k: sckc@f8048050 {
1107				compatible = "atmel,sama5d4-sckc";
1108				reg = <0xf8048050 0x4>;
1109
1110				clocks = <&slow_xtal>;
1111				#clock-cells = <0>;
1112			};
1113
1114			rtc@f80480b0 {
1115				compatible = "atmel,at91rm9200-rtc";
1116				reg = <0xf80480b0 0x30>;
1117				interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;
1118				clocks = <&clk32k>;
1119			};
1120
1121			spi1: spi@fc000000 {
1122				compatible = "atmel,at91rm9200-spi";
1123				reg = <0xfc000000 0x100>;
1124				interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
1125				dmas = <&dma0
1126					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1127					 AT91_XDMAC_DT_PERID(8))>,
1128				       <&dma0
1129					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1130					 AT91_XDMAC_DT_PERID(9))>;
1131				dma-names = "tx", "rx";
1132				clocks = <&spi1_clk>;
1133				clock-names = "spi_clk";
1134				atmel,fifo-size = <16>;
1135				#address-cells = <1>;
1136				#size-cells = <0>;
1137				status = "disabled";
1138			};
1139
1140			uart3: serial@fc008000 {
1141				compatible = "atmel,at91sam9260-usart";
1142				reg = <0xfc008000 0x100>;
1143				interrupts = <27 IRQ_TYPE_LEVEL_HIGH 7>;
1144				dmas = <&dma0
1145					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1146					 AT91_XDMAC_DT_PERID(41))>,
1147				       <&dma0
1148					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1149					 AT91_XDMAC_DT_PERID(42))>;
1150				dma-names = "tx", "rx";
1151				clocks = <&uart3_clk>;
1152				clock-names = "usart";
1153				status = "disabled";
1154			};
1155
1156			uart4: serial@fc00c000 {
1157				compatible = "atmel,at91sam9260-usart";
1158				reg = <0xfc00c000 0x100>;
1159				dmas = <&dma0
1160					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1161					 AT91_XDMAC_DT_PERID(43))>,
1162				       <&dma0
1163					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1164					 AT91_XDMAC_DT_PERID(44))>;
1165				dma-names = "tx", "rx";
1166				interrupts = <28 IRQ_TYPE_LEVEL_HIGH 7>;
1167				clocks = <&uart4_clk>;
1168				clock-names = "usart";
1169				status = "disabled";
1170			};
1171
1172			flx2: flexcom@fc010000 {
1173				compatible = "atmel,sama5d2-flexcom";
1174				reg = <0xfc010000 0x200>;
1175				clocks = <&flx2_clk>;
1176				#address-cells = <1>;
1177				#size-cells = <1>;
1178				ranges = <0x0 0xfc010000 0x800>;
1179				status = "disabled";
1180			};
1181
1182			flx3: flexcom@fc014000 {
1183				compatible = "atmel,sama5d2-flexcom";
1184				reg = <0xfc014000 0x200>;
1185				clocks = <&flx3_clk>;
1186				#address-cells = <1>;
1187				#size-cells = <1>;
1188				ranges = <0x0 0xfc014000 0x800>;
1189				status = "disabled";
1190			};
1191
1192			flx4: flexcom@fc018000 {
1193				compatible = "atmel,sama5d2-flexcom";
1194				reg = <0xfc018000 0x200>;
1195				clocks = <&flx4_clk>;
1196				#address-cells = <1>;
1197				#size-cells = <1>;
1198				ranges = <0x0 0xfc018000 0x800>;
1199				status = "disabled";
1200			};
1201
1202			trng@fc01c000 {
1203				compatible = "atmel,at91sam9g45-trng";
1204				reg = <0xfc01c000 0x100>;
1205				interrupts = <47 IRQ_TYPE_LEVEL_HIGH 0>;
1206				clocks = <&trng_clk>;
1207			};
1208
1209			aic: interrupt-controller@fc020000 {
1210				#interrupt-cells = <3>;
1211				compatible = "atmel,sama5d2-aic";
1212				interrupt-controller;
1213				reg = <0xfc020000 0x200>;
1214				atmel,external-irqs = <49>;
1215			};
1216
1217			i2c1: i2c@fc028000 {
1218				compatible = "atmel,sama5d2-i2c";
1219				reg = <0xfc028000 0x100>;
1220				interrupts = <30 IRQ_TYPE_LEVEL_HIGH 7>;
1221				dmas = <&dma0
1222					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1223					 AT91_XDMAC_DT_PERID(2))>,
1224				       <&dma0
1225					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1226					 AT91_XDMAC_DT_PERID(3))>;
1227				dma-names = "tx", "rx";
1228				#address-cells = <1>;
1229				#size-cells = <0>;
1230				clocks = <&twi1_clk>;
1231				atmel,fifo-size = <16>;
1232				status = "disabled";
1233			};
1234
1235			adc: adc@fc030000 {
1236				compatible = "atmel,sama5d2-adc";
1237				reg = <0xfc030000 0x100>;
1238				interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>;
1239				clocks = <&adc_clk>;
1240				clock-names = "adc_clk";
1241				atmel,min-sample-rate-hz = <200000>;
1242				atmel,max-sample-rate-hz = <20000000>;
1243				atmel,startup-time-ms = <4>;
1244				status = "disabled";
1245			};
1246
1247			pioA: pinctrl@fc038000 {
1248				compatible = "atmel,sama5d2-pinctrl";
1249				reg = <0xfc038000 0x600>;
1250				interrupts = <18 IRQ_TYPE_LEVEL_HIGH 7>,
1251					     <68 IRQ_TYPE_LEVEL_HIGH 7>,
1252					     <69 IRQ_TYPE_LEVEL_HIGH 7>,
1253					     <70 IRQ_TYPE_LEVEL_HIGH 7>;
1254				interrupt-controller;
1255				#interrupt-cells = <2>;
1256				gpio-controller;
1257				#gpio-cells = <2>;
1258				clocks = <&pioA_clk>;
1259			};
1260
1261			secumod@fc040000 {
1262				compatible = "atmel,sama5d2-secumod", "syscon";
1263				reg = <0xfc040000 0x100>;
1264			};
1265
1266			tdes@fc044000 {
1267				compatible = "atmel,at91sam9g46-tdes";
1268				reg = <0xfc044000 0x100>;
1269				interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
1270				dmas = <&dma0
1271					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1272					 AT91_XDMAC_DT_PERID(28))>,
1273				       <&dma0
1274					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1275					 AT91_XDMAC_DT_PERID(29))>;
1276				dma-names = "tx", "rx";
1277				clocks = <&tdes_clk>;
1278				clock-names = "tdes_clk";
1279				status = "okay";
1280			};
1281
1282			chipid@fc069000 {
1283				compatible = "atmel,sama5d2-chipid";
1284				reg = <0xfc069000 0x8>;
1285			};
1286		};
1287	};
1288};