Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.8.
   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@200000 {
 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		nfc_sram: sram@100000 {
 139			compatible = "mmio-sram";
 140			no-memory-wc;
 141			reg = <0x00100000 0x2400>;
 142		};
 143
 144		usb0: gadget@300000 {
 145			#address-cells = <1>;
 146			#size-cells = <0>;
 147			compatible = "atmel,sama5d3-udc";
 148			reg = <0x00300000 0x100000
 149			       0xfc02c000 0x400>;
 150			interrupts = <42 IRQ_TYPE_LEVEL_HIGH 2>;
 151			clocks = <&udphs_clk>, <&utmi>;
 152			clock-names = "pclk", "hclk";
 153			status = "disabled";
 154
 155			ep@0 {
 156				reg = <0>;
 157				atmel,fifo-size = <64>;
 158				atmel,nb-banks = <1>;
 159			};
 160
 161			ep@1 {
 162				reg = <1>;
 163				atmel,fifo-size = <1024>;
 164				atmel,nb-banks = <3>;
 165				atmel,can-dma;
 166				atmel,can-isoc;
 167			};
 168
 169			ep@2 {
 170				reg = <2>;
 171				atmel,fifo-size = <1024>;
 172				atmel,nb-banks = <3>;
 173				atmel,can-dma;
 174				atmel,can-isoc;
 175			};
 176
 177			ep@3 {
 178				reg = <3>;
 179				atmel,fifo-size = <1024>;
 180				atmel,nb-banks = <2>;
 181				atmel,can-dma;
 182				atmel,can-isoc;
 183			};
 184
 185			ep@4 {
 186				reg = <4>;
 187				atmel,fifo-size = <1024>;
 188				atmel,nb-banks = <2>;
 189				atmel,can-dma;
 190				atmel,can-isoc;
 191			};
 192
 193			ep@5 {
 194				reg = <5>;
 195				atmel,fifo-size = <1024>;
 196				atmel,nb-banks = <2>;
 197				atmel,can-dma;
 198				atmel,can-isoc;
 199			};
 200
 201			ep@6 {
 202				reg = <6>;
 203				atmel,fifo-size = <1024>;
 204				atmel,nb-banks = <2>;
 205				atmel,can-dma;
 206				atmel,can-isoc;
 207			};
 208
 209			ep@7 {
 210				reg = <7>;
 211				atmel,fifo-size = <1024>;
 212				atmel,nb-banks = <2>;
 213				atmel,can-dma;
 214				atmel,can-isoc;
 215			};
 216
 217			ep@8 {
 218				reg = <8>;
 219				atmel,fifo-size = <1024>;
 220				atmel,nb-banks = <2>;
 221				atmel,can-isoc;
 222			};
 223
 224			ep@9 {
 225				reg = <9>;
 226				atmel,fifo-size = <1024>;
 227				atmel,nb-banks = <2>;
 228				atmel,can-isoc;
 229			};
 230
 231			ep@10 {
 232				reg = <10>;
 233				atmel,fifo-size = <1024>;
 234				atmel,nb-banks = <2>;
 235				atmel,can-isoc;
 236			};
 237
 238			ep@11 {
 239				reg = <11>;
 240				atmel,fifo-size = <1024>;
 241				atmel,nb-banks = <2>;
 242				atmel,can-isoc;
 243			};
 244
 245			ep@12 {
 246				reg = <12>;
 247				atmel,fifo-size = <1024>;
 248				atmel,nb-banks = <2>;
 249				atmel,can-isoc;
 250			};
 251
 252			ep@13 {
 253				reg = <13>;
 254				atmel,fifo-size = <1024>;
 255				atmel,nb-banks = <2>;
 256				atmel,can-isoc;
 257			};
 258
 259			ep@14 {
 260				reg = <14>;
 261				atmel,fifo-size = <1024>;
 262				atmel,nb-banks = <2>;
 263				atmel,can-isoc;
 264			};
 265
 266			ep@15 {
 267				reg = <15>;
 268				atmel,fifo-size = <1024>;
 269				atmel,nb-banks = <2>;
 270				atmel,can-isoc;
 271			};
 272		};
 273
 274		usb1: ohci@400000 {
 275			compatible = "atmel,at91rm9200-ohci", "usb-ohci";
 276			reg = <0x00400000 0x100000>;
 277			interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
 278			clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
 279			clock-names = "ohci_clk", "hclk", "uhpck";
 280			status = "disabled";
 281		};
 282
 283		usb2: ehci@500000 {
 284			compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
 285			reg = <0x00500000 0x100000>;
 286			interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
 287			clocks = <&utmi>, <&uhphs_clk>;
 288			clock-names = "usb_clk", "ehci_clk";
 289			status = "disabled";
 290		};
 291
 292		L2: cache-controller@a00000 {
 293			compatible = "arm,pl310-cache";
 294			reg = <0x00a00000 0x1000>;
 295			interrupts = <63 IRQ_TYPE_LEVEL_HIGH 4>;
 296			cache-unified;
 297			cache-level = <2>;
 298		};
 299
 300		ebi: ebi@10000000 {
 301			compatible = "atmel,sama5d3-ebi";
 302			#address-cells = <2>;
 303			#size-cells = <1>;
 304			atmel,smc = <&hsmc>;
 305			reg = <0x10000000 0x10000000
 306			       0x60000000 0x30000000>;
 307			ranges = <0x0 0x0 0x10000000 0x10000000
 308				  0x1 0x0 0x60000000 0x10000000
 309				  0x2 0x0 0x70000000 0x10000000
 310				  0x3 0x0 0x80000000 0x10000000>;
 311			clocks = <&mck>;
 312			status = "disabled";
 313
 314			nand_controller: nand-controller {
 315				compatible = "atmel,sama5d3-nand-controller";
 316				atmel,nfc-sram = <&nfc_sram>;
 317				atmel,nfc-io = <&nfc_io>;
 318				ecc-engine = <&pmecc>;
 319				#address-cells = <2>;
 320				#size-cells = <1>;
 321				ranges;
 322				status = "disabled";
 323			};
 324		};
 325
 326		nand0: nand@80000000 {
 327			compatible = "atmel,sama5d2-nand";
 328			#address-cells = <1>;
 329			#size-cells = <1>;
 330			ranges;
 331			reg = < /* EBI CS3 */
 332				0x80000000 0x08000000
 333				/* SMC PMECC regs */
 334				0xf8014070 0x00000490
 335				/* SMC PMECC Error Location regs */
 336				0xf8014500 0x00000200
 337				/* ROM Galois tables */
 338				0x00040000 0x00018000
 339				>;
 340			interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>;
 341			atmel,nand-addr-offset = <21>;
 342			atmel,nand-cmd-offset = <22>;
 343			atmel,nand-has-dma;
 344			atmel,has-pmecc;
 345			atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
 346			status = "disabled";
 347
 348			nfc@c0000000 {
 349				compatible = "atmel,sama5d3-nfc";
 350				#address-cells = <1>;
 351				#size-cells = <1>;
 352				reg = < /* NFC Command Registers */
 353					0xc0000000 0x08000000
 354					/* NFC HSMC regs */
 355					0xf8014000 0x00000070
 356					/* NFC SRAM banks */
 357					0x00100000 0x00100000
 358					>;
 359				clocks = <&hsmc_clk>;
 360				atmel,write-by-sram;
 361			};
 362		};
 363
 364		sdmmc0: sdio-host@a0000000 {
 365			compatible = "atmel,sama5d2-sdhci";
 366			reg = <0xa0000000 0x300>;
 367			interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
 368			clocks = <&sdmmc0_hclk>, <&sdmmc0_gclk>, <&main>;
 369			clock-names = "hclock", "multclk", "baseclk";
 370			status = "disabled";
 371		};
 372
 373		sdmmc1: sdio-host@b0000000 {
 374			compatible = "atmel,sama5d2-sdhci";
 375			reg = <0xb0000000 0x300>;
 376			interrupts = <32 IRQ_TYPE_LEVEL_HIGH 0>;
 377			clocks = <&sdmmc1_hclk>, <&sdmmc1_gclk>, <&main>;
 378			clock-names = "hclock", "multclk", "baseclk";
 379			status = "disabled";
 380		};
 381
 382		nfc_io: nfc-io@c0000000 {
 383			compatible = "atmel,sama5d3-nfc-io", "syscon";
 384			reg = <0xc0000000 0x8000000>;
 385		};
 386
 387		apb {
 388			compatible = "simple-bus";
 389			#address-cells = <1>;
 390			#size-cells = <1>;
 391			ranges;
 392
 393			hlcdc: hlcdc@f0000000 {
 394				compatible = "atmel,sama5d2-hlcdc";
 395				reg = <0xf0000000 0x2000>;
 396				interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
 397				clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
 398				clock-names = "periph_clk","sys_clk", "slow_clk";
 399				status = "disabled";
 400
 401				hlcdc-display-controller {
 402					compatible = "atmel,hlcdc-display-controller";
 403					#address-cells = <1>;
 404					#size-cells = <0>;
 405
 406					port@0 {
 407						#address-cells = <1>;
 408						#size-cells = <0>;
 409						reg = <0>;
 410					};
 411				};
 412
 413				hlcdc_pwm: hlcdc-pwm {
 414					compatible = "atmel,hlcdc-pwm";
 415					#pwm-cells = <3>;
 416				};
 417			};
 418
 419			isc: isc@f0008000 {
 420				compatible = "atmel,sama5d2-isc";
 421				reg = <0xf0008000 0x4000>;
 422				interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>;
 423				clocks = <&isc_clk>, <&iscck>, <&isc_gclk>;
 424				clock-names = "hclock", "iscck", "gck";
 425				#clock-cells = <0>;
 426				clock-output-names = "isc-mck";
 427				status = "disabled";
 428			};
 429
 430			ramc0: ramc@f000c000 {
 431				compatible = "atmel,sama5d3-ddramc";
 432				reg = <0xf000c000 0x200>;
 433				clocks = <&ddrck>, <&mpddr_clk>;
 434				clock-names = "ddrck", "mpddr";
 435			};
 436
 437			dma0: dma-controller@f0010000 {
 438				compatible = "atmel,sama5d4-dma";
 439				reg = <0xf0010000 0x1000>;
 440				interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
 441				#dma-cells = <1>;
 442				clocks = <&dma0_clk>;
 443				clock-names = "dma_clk";
 444			};
 445
 446			/* Place dma1 here despite its address */
 447			dma1: dma-controller@f0004000 {
 448				compatible = "atmel,sama5d4-dma";
 449				reg = <0xf0004000 0x1000>;
 450				interrupts = <7 IRQ_TYPE_LEVEL_HIGH 0>;
 451				#dma-cells = <1>;
 452				clocks = <&dma1_clk>;
 453				clock-names = "dma_clk";
 454			};
 455
 456			pmc: pmc@f0014000 {
 457				compatible = "atmel,sama5d2-pmc", "syscon";
 458				reg = <0xf0014000 0x160>;
 459				interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;
 460				interrupt-controller;
 461				#address-cells = <1>;
 462				#size-cells = <0>;
 463				#interrupt-cells = <1>;
 464
 465				main_rc_osc: main_rc_osc {
 466					compatible = "atmel,at91sam9x5-clk-main-rc-osc";
 467					#clock-cells = <0>;
 468					interrupt-parent = <&pmc>;
 469					interrupts = <AT91_PMC_MOSCRCS>;
 470					clock-frequency = <12000000>;
 471					clock-accuracy = <100000000>;
 472				};
 473
 474				main_osc: main_osc {
 475					compatible = "atmel,at91rm9200-clk-main-osc";
 476					#clock-cells = <0>;
 477					interrupt-parent = <&pmc>;
 478					interrupts = <AT91_PMC_MOSCS>;
 479					clocks = <&main_xtal>;
 480				};
 481
 482				main: mainck {
 483					compatible = "atmel,at91sam9x5-clk-main";
 484					#clock-cells = <0>;
 485					interrupt-parent = <&pmc>;
 486					interrupts = <AT91_PMC_MOSCSELS>;
 487					clocks = <&main_rc_osc &main_osc>;
 488				};
 489
 490				plla: pllack {
 491					compatible = "atmel,sama5d3-clk-pll";
 492					#clock-cells = <0>;
 493					interrupt-parent = <&pmc>;
 494					interrupts = <AT91_PMC_LOCKA>;
 495					clocks = <&main>;
 496					reg = <0>;
 497					atmel,clk-input-range = <12000000 12000000>;
 498					#atmel,pll-clk-output-range-cells = <4>;
 499					atmel,pll-clk-output-ranges = <600000000 1200000000 0 0>;
 500				};
 501
 502				plladiv: plladivck {
 503					compatible = "atmel,at91sam9x5-clk-plldiv";
 504					#clock-cells = <0>;
 505					clocks = <&plla>;
 506				};
 507
 508				audio_pll_frac: audiopll_fracck {
 509					compatible = "atmel,sama5d2-clk-audio-pll-frac";
 510					#clock-cells = <0>;
 511					clocks = <&main>;
 512				};
 513
 514				audio_pll_pad: audiopll_padck {
 515					compatible = "atmel,sama5d2-clk-audio-pll-pad";
 516					#clock-cells = <0>;
 517					clocks = <&audio_pll_frac>;
 518				};
 519
 520				audio_pll_pmc: audiopll_pmcck {
 521					compatible = "atmel,sama5d2-clk-audio-pll-pmc";
 522					#clock-cells = <0>;
 523					clocks = <&audio_pll_frac>;
 524				};
 525
 526				utmi: utmick {
 527					compatible = "atmel,at91sam9x5-clk-utmi";
 528					#clock-cells = <0>;
 529					interrupt-parent = <&pmc>;
 530					interrupts = <AT91_PMC_LOCKU>;
 531					clocks = <&main>;
 532				};
 533
 534				mck: masterck {
 535					compatible = "atmel,at91sam9x5-clk-master";
 536					#clock-cells = <0>;
 537					interrupt-parent = <&pmc>;
 538					interrupts = <AT91_PMC_MCKRDY>;
 539					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>;
 540					atmel,clk-output-range = <124000000 166000000>;
 541					atmel,clk-divisors = <1 2 4 3>;
 542				};
 543
 544				h32ck: h32mxck {
 545					#clock-cells = <0>;
 546					compatible = "atmel,sama5d4-clk-h32mx";
 547					clocks = <&mck>;
 548				};
 549
 550				usb: usbck {
 551					compatible = "atmel,at91sam9x5-clk-usb";
 552					#clock-cells = <0>;
 553					clocks = <&plladiv>, <&utmi>;
 554				};
 555
 556				prog: progck {
 557					compatible = "atmel,at91sam9x5-clk-programmable";
 558					#address-cells = <1>;
 559					#size-cells = <0>;
 560					interrupt-parent = <&pmc>;
 561					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;
 562
 563					prog0: prog0 {
 564						#clock-cells = <0>;
 565						reg = <0>;
 566						interrupts = <AT91_PMC_PCKRDY(0)>;
 567					};
 568
 569					prog1: prog1 {
 570						#clock-cells = <0>;
 571						reg = <1>;
 572						interrupts = <AT91_PMC_PCKRDY(1)>;
 573					};
 574
 575					prog2: prog2 {
 576						#clock-cells = <0>;
 577						reg = <2>;
 578						interrupts = <AT91_PMC_PCKRDY(2)>;
 579					};
 580				};
 581
 582				systemck {
 583					compatible = "atmel,at91rm9200-clk-system";
 584					#address-cells = <1>;
 585					#size-cells = <0>;
 586
 587					ddrck: ddrck {
 588						#clock-cells = <0>;
 589						reg = <2>;
 590						clocks = <&mck>;
 591					};
 592
 593					lcdck: lcdck {
 594						#clock-cells = <0>;
 595						reg = <3>;
 596						clocks = <&mck>;
 597					};
 598
 599					uhpck: uhpck {
 600						#clock-cells = <0>;
 601						reg = <6>;
 602						clocks = <&usb>;
 603					};
 604
 605					udpck: udpck {
 606						#clock-cells = <0>;
 607						reg = <7>;
 608						clocks = <&usb>;
 609					};
 610
 611					pck0: pck0 {
 612						#clock-cells = <0>;
 613						reg = <8>;
 614						clocks = <&prog0>;
 615					};
 616
 617					pck1: pck1 {
 618						#clock-cells = <0>;
 619						reg = <9>;
 620						clocks = <&prog1>;
 621					};
 622
 623					pck2: pck2 {
 624						#clock-cells = <0>;
 625						reg = <10>;
 626						clocks = <&prog2>;
 627					};
 628
 629					iscck: iscck {
 630						#clock-cells = <0>;
 631						reg = <18>;
 632						clocks = <&mck>;
 633					};
 634				};
 635
 636				periph32ck {
 637					compatible = "atmel,at91sam9x5-clk-peripheral";
 638					#address-cells = <1>;
 639					#size-cells = <0>;
 640					clocks = <&h32ck>;
 641
 642					macb0_clk: macb0_clk {
 643						#clock-cells = <0>;
 644						reg = <5>;
 645						atmel,clk-output-range = <0 83000000>;
 646					};
 647
 648					tdes_clk: tdes_clk {
 649						#clock-cells = <0>;
 650						reg = <11>;
 651						atmel,clk-output-range = <0 83000000>;
 652					};
 653
 654					matrix1_clk: matrix1_clk {
 655						#clock-cells = <0>;
 656						reg = <14>;
 657					};
 658
 659					hsmc_clk: hsmc_clk {
 660						#clock-cells = <0>;
 661						reg = <17>;
 662					};
 663
 664					pioA_clk: pioA_clk {
 665						#clock-cells = <0>;
 666						reg = <18>;
 667						atmel,clk-output-range = <0 83000000>;
 668					};
 669
 670					flx0_clk: flx0_clk {
 671						#clock-cells = <0>;
 672						reg = <19>;
 673						atmel,clk-output-range = <0 83000000>;
 674					};
 675
 676					flx1_clk: flx1_clk {
 677						#clock-cells = <0>;
 678						reg = <20>;
 679						atmel,clk-output-range = <0 83000000>;
 680					};
 681
 682					flx2_clk: flx2_clk {
 683						#clock-cells = <0>;
 684						reg = <21>;
 685						atmel,clk-output-range = <0 83000000>;
 686					};
 687
 688					flx3_clk: flx3_clk {
 689						#clock-cells = <0>;
 690						reg = <22>;
 691						atmel,clk-output-range = <0 83000000>;
 692					};
 693
 694					flx4_clk: flx4_clk {
 695						#clock-cells = <0>;
 696						reg = <23>;
 697						atmel,clk-output-range = <0 83000000>;
 698					};
 699
 700					uart0_clk: uart0_clk {
 701						#clock-cells = <0>;
 702						reg = <24>;
 703						atmel,clk-output-range = <0 83000000>;
 704					};
 705
 706					uart1_clk: uart1_clk {
 707						#clock-cells = <0>;
 708						reg = <25>;
 709						atmel,clk-output-range = <0 83000000>;
 710					};
 711
 712					uart2_clk: uart2_clk {
 713						#clock-cells = <0>;
 714						reg = <26>;
 715						atmel,clk-output-range = <0 83000000>;
 716					};
 717
 718					uart3_clk: uart3_clk {
 719						#clock-cells = <0>;
 720						reg = <27>;
 721						atmel,clk-output-range = <0 83000000>;
 722					};
 723
 724					uart4_clk: uart4_clk {
 725						#clock-cells = <0>;
 726						reg = <28>;
 727						atmel,clk-output-range = <0 83000000>;
 728					};
 729
 730					twi0_clk: twi0_clk {
 731						reg = <29>;
 732						#clock-cells = <0>;
 733						atmel,clk-output-range = <0 83000000>;
 734					};
 735
 736					twi1_clk: twi1_clk {
 737						#clock-cells = <0>;
 738						reg = <30>;
 739						atmel,clk-output-range = <0 83000000>;
 740					};
 741
 742					spi0_clk: spi0_clk {
 743						#clock-cells = <0>;
 744						reg = <33>;
 745						atmel,clk-output-range = <0 83000000>;
 746					};
 747
 748					spi1_clk: spi1_clk {
 749						#clock-cells = <0>;
 750						reg = <34>;
 751						atmel,clk-output-range = <0 83000000>;
 752					};
 753
 754					tcb0_clk: tcb0_clk {
 755						#clock-cells = <0>;
 756						reg = <35>;
 757						atmel,clk-output-range = <0 83000000>;
 758					};
 759
 760					tcb1_clk: tcb1_clk {
 761						#clock-cells = <0>;
 762						reg = <36>;
 763						atmel,clk-output-range = <0 83000000>;
 764					};
 765
 766					pwm_clk: pwm_clk {
 767						#clock-cells = <0>;
 768						reg = <38>;
 769						atmel,clk-output-range = <0 83000000>;
 770					};
 771
 772					adc_clk: adc_clk {
 773						#clock-cells = <0>;
 774						reg = <40>;
 775						atmel,clk-output-range = <0 83000000>;
 776					};
 777
 778					uhphs_clk: uhphs_clk {
 779						#clock-cells = <0>;
 780						reg = <41>;
 781						atmel,clk-output-range = <0 83000000>;
 782					};
 783
 784					udphs_clk: udphs_clk {
 785						#clock-cells = <0>;
 786						reg = <42>;
 787						atmel,clk-output-range = <0 83000000>;
 788					};
 789
 790					ssc0_clk: ssc0_clk {
 791						#clock-cells = <0>;
 792						reg = <43>;
 793						atmel,clk-output-range = <0 83000000>;
 794					};
 795
 796					ssc1_clk: ssc1_clk {
 797						#clock-cells = <0>;
 798						reg = <44>;
 799						atmel,clk-output-range = <0 83000000>;
 800					};
 801
 802					trng_clk: trng_clk {
 803						#clock-cells = <0>;
 804						reg = <47>;
 805						atmel,clk-output-range = <0 83000000>;
 806					};
 807
 808					pdmic_clk: pdmic_clk {
 809						#clock-cells = <0>;
 810						reg = <48>;
 811						atmel,clk-output-range = <0 83000000>;
 812					};
 813
 814					securam_clk: securam_clk {
 815						#clock-cells = <0>;
 816						reg = <51>;
 817					};
 818
 819					i2s0_clk: i2s0_clk {
 820						#clock-cells = <0>;
 821						reg = <54>;
 822						atmel,clk-output-range = <0 83000000>;
 823					};
 824
 825					i2s1_clk: i2s1_clk {
 826						#clock-cells = <0>;
 827						reg = <55>;
 828						atmel,clk-output-range = <0 83000000>;
 829					};
 830
 831					can0_clk: can0_clk {
 832						#clock-cells = <0>;
 833						reg = <56>;
 834						atmel,clk-output-range = <0 83000000>;
 835					};
 836
 837					can1_clk: can1_clk {
 838						#clock-cells = <0>;
 839						reg = <57>;
 840						atmel,clk-output-range = <0 83000000>;
 841					};
 842
 843					classd_clk: classd_clk {
 844						#clock-cells = <0>;
 845						reg = <59>;
 846						atmel,clk-output-range = <0 83000000>;
 847					};
 848				};
 849
 850				periph64ck {
 851					compatible = "atmel,at91sam9x5-clk-peripheral";
 852					#address-cells = <1>;
 853					#size-cells = <0>;
 854					clocks = <&mck>;
 855
 856					dma0_clk: dma0_clk {
 857						#clock-cells = <0>;
 858						reg = <6>;
 859					};
 860
 861					dma1_clk: dma1_clk {
 862						#clock-cells = <0>;
 863						reg = <7>;
 864					};
 865
 866					aes_clk: aes_clk {
 867						#clock-cells = <0>;
 868						reg = <9>;
 869					};
 870
 871					aesb_clk: aesb_clk {
 872						#clock-cells = <0>;
 873						reg = <10>;
 874					};
 875
 876					sha_clk: sha_clk {
 877						#clock-cells = <0>;
 878						reg = <12>;
 879					};
 880
 881					mpddr_clk: mpddr_clk {
 882						#clock-cells = <0>;
 883						reg = <13>;
 884					};
 885
 886					matrix0_clk: matrix0_clk {
 887						#clock-cells = <0>;
 888						reg = <15>;
 889					};
 890
 891					sdmmc0_hclk: sdmmc0_hclk {
 892						#clock-cells = <0>;
 893						reg = <31>;
 894					};
 895
 896					sdmmc1_hclk: sdmmc1_hclk {
 897						#clock-cells = <0>;
 898						reg = <32>;
 899					};
 900
 901					lcdc_clk: lcdc_clk {
 902						#clock-cells = <0>;
 903						reg = <45>;
 904					};
 905
 906					isc_clk: isc_clk {
 907						#clock-cells = <0>;
 908						reg = <46>;
 909					};
 910
 911					qspi0_clk: qspi0_clk {
 912						#clock-cells = <0>;
 913						reg = <52>;
 914					};
 915
 916					qspi1_clk: qspi1_clk {
 917						#clock-cells = <0>;
 918						reg = <53>;
 919					};
 920				};
 921
 922				gck {
 923					compatible = "atmel,sama5d2-clk-generated";
 924					#address-cells = <1>;
 925					#size-cells = <0>;
 926					interrupt-parent = <&pmc>;
 927					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>, <&audio_pll_pmc>;
 928
 929					sdmmc0_gclk: sdmmc0_gclk {
 930						#clock-cells = <0>;
 931						reg = <31>;
 932					};
 933
 934					sdmmc1_gclk: sdmmc1_gclk {
 935						#clock-cells = <0>;
 936						reg = <32>;
 937					};
 938
 939					tcb0_gclk: tcb0_gclk {
 940						#clock-cells = <0>;
 941						reg = <35>;
 942						atmel,clk-output-range = <0 83000000>;
 943					};
 944
 945					tcb1_gclk: tcb1_gclk {
 946						#clock-cells = <0>;
 947						reg = <36>;
 948						atmel,clk-output-range = <0 83000000>;
 949					};
 950
 951					pwm_gclk: pwm_gclk {
 952						#clock-cells = <0>;
 953						reg = <38>;
 954						atmel,clk-output-range = <0 83000000>;
 955					};
 956
 957					isc_gclk: isc_gclk {
 958						#clock-cells = <0>;
 959						reg = <46>;
 960					};
 961
 962					pdmic_gclk: pdmic_gclk {
 963						#clock-cells = <0>;
 964						reg = <48>;
 965					};
 966
 967					i2s0_gclk: i2s0_gclk {
 968						#clock-cells = <0>;
 969						reg = <54>;
 970					};
 971
 972					i2s1_gclk: i2s1_gclk {
 973						#clock-cells = <0>;
 974						reg = <55>;
 975					};
 976
 977					can0_gclk: can0_gclk {
 978						#clock-cells = <0>;
 979						reg = <56>;
 980						atmel,clk-output-range = <0 80000000>;
 981					};
 982
 983					can1_gclk: can1_gclk {
 984						#clock-cells = <0>;
 985						reg = <57>;
 986						atmel,clk-output-range = <0 80000000>;
 987					};
 988
 989					classd_gclk: classd_gclk {
 990						#clock-cells = <0>;
 991						reg = <59>;
 992						atmel,clk-output-range = <0 100000000>;
 993					};
 994				};
 995			};
 996
 997			qspi0: spi@f0020000 {
 998				compatible = "atmel,sama5d2-qspi";
 999				reg = <0xf0020000 0x100>, <0xd0000000 0x08000000>;
1000				reg-names = "qspi_base", "qspi_mmap";
1001				interrupts = <52 IRQ_TYPE_LEVEL_HIGH 7>;
1002				clocks = <&qspi0_clk>;
1003				#address-cells = <1>;
1004				#size-cells = <0>;
1005				status = "disabled";
1006			};
1007
1008			qspi1: spi@f0024000 {
1009				compatible = "atmel,sama5d2-qspi";
1010				reg = <0xf0024000 0x100>, <0xd8000000 0x08000000>;
1011				reg-names = "qspi_base", "qspi_mmap";
1012				interrupts = <53 IRQ_TYPE_LEVEL_HIGH 7>;
1013				clocks = <&qspi1_clk>;
1014				#address-cells = <1>;
1015				#size-cells = <0>;
1016				status = "disabled";
1017			};
1018
1019			sha@f0028000 {
1020				compatible = "atmel,at91sam9g46-sha";
1021				reg = <0xf0028000 0x100>;
1022				interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
1023				dmas = <&dma0
1024					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1025					 AT91_XDMAC_DT_PERID(30))>;
1026				dma-names = "tx";
1027				clocks = <&sha_clk>;
1028				clock-names = "sha_clk";
1029				status = "okay";
1030			};
1031
1032			aes@f002c000 {
1033				compatible = "atmel,at91sam9g46-aes";
1034				reg = <0xf002c000 0x100>;
1035				interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
1036				dmas = <&dma0
1037					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1038					 AT91_XDMAC_DT_PERID(26))>,
1039				       <&dma0
1040					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1041					 AT91_XDMAC_DT_PERID(27))>;
1042				dma-names = "tx", "rx";
1043				clocks = <&aes_clk>;
1044				clock-names = "aes_clk";
1045				status = "okay";
1046			};
1047
1048			spi0: spi@f8000000 {
1049				compatible = "atmel,at91rm9200-spi";
1050				reg = <0xf8000000 0x100>;
1051				interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
1052				dmas = <&dma0
1053					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1054					 AT91_XDMAC_DT_PERID(6))>,
1055				       <&dma0
1056					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1057					 AT91_XDMAC_DT_PERID(7))>;
1058				dma-names = "tx", "rx";
1059				clocks = <&spi0_clk>;
1060				clock-names = "spi_clk";
1061				atmel,fifo-size = <16>;
1062				#address-cells = <1>;
1063				#size-cells = <0>;
1064				status = "disabled";
1065			};
1066
1067			ssc0: ssc@f8004000 {
1068				compatible = "atmel,at91sam9g45-ssc";
1069				reg = <0xf8004000 0x4000>;
1070				interrupts = <43 IRQ_TYPE_LEVEL_HIGH 4>;
1071				dmas = <&dma0
1072					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1073					AT91_XDMAC_DT_PERID(21))>,
1074				       <&dma0
1075					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1076					AT91_XDMAC_DT_PERID(22))>;
1077				dma-names = "tx", "rx";
1078				clocks = <&ssc0_clk>;
1079				clock-names = "pclk";
1080				status = "disabled";
1081			};
1082
1083			macb0: ethernet@f8008000 {
1084				compatible = "atmel,sama5d2-gem";
1085				reg = <0xf8008000 0x1000>;
1086				interrupts = <5  IRQ_TYPE_LEVEL_HIGH 3		/* Queue 0 */
1087					      66 IRQ_TYPE_LEVEL_HIGH 3          /* Queue 1 */
1088					      67 IRQ_TYPE_LEVEL_HIGH 3>;        /* Queue 2 */
1089				#address-cells = <1>;
1090				#size-cells = <0>;
1091				clocks = <&macb0_clk>, <&macb0_clk>;
1092				clock-names = "hclk", "pclk";
1093				status = "disabled";
1094			};
1095
1096			tcb0: timer@f800c000 {
1097				compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
1098				#address-cells = <1>;
1099				#size-cells = <0>;
1100				reg = <0xf800c000 0x100>;
1101				interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>;
1102				clocks = <&tcb0_clk>, <&clk32k>;
1103				clock-names = "t0_clk", "slow_clk";
1104			};
1105
1106			tcb1: timer@f8010000 {
1107				compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
1108				#address-cells = <1>;
1109				#size-cells = <0>;
1110				reg = <0xf8010000 0x100>;
1111				interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
1112				clocks = <&tcb1_clk>, <&clk32k>;
1113				clock-names = "t0_clk", "slow_clk";
1114			};
1115
1116			hsmc: hsmc@f8014000 {
1117				compatible = "atmel,sama5d2-smc", "syscon", "simple-mfd";
1118				reg = <0xf8014000 0x1000>;
1119				interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>;
1120				clocks = <&hsmc_clk>;
1121				#address-cells = <1>;
1122				#size-cells = <1>;
1123				ranges;
1124
1125				pmecc: ecc-engine@f8014070 {
1126					compatible = "atmel,sama5d2-pmecc";
1127					reg = <0xf8014070 0x490>,
1128					      <0xf8014500 0x100>;
1129				};
1130			};
1131
1132			pdmic: pdmic@f8018000 {
1133				compatible = "atmel,sama5d2-pdmic";
1134				reg = <0xf8018000 0x124>;
1135				interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>;
1136				dmas = <&dma0
1137					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
1138					| AT91_XDMAC_DT_PERID(50))>;
1139				dma-names = "rx";
1140				clocks = <&pdmic_clk>, <&pdmic_gclk>;
1141				clock-names = "pclk", "gclk";
1142				status = "disabled";
1143			};
1144
1145			uart0: serial@f801c000 {
1146				compatible = "atmel,at91sam9260-usart";
1147				reg = <0xf801c000 0x100>;
1148				interrupts = <24 IRQ_TYPE_LEVEL_HIGH 7>;
1149				dmas = <&dma0
1150					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1151					 AT91_XDMAC_DT_PERID(35))>,
1152				       <&dma0
1153					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1154					 AT91_XDMAC_DT_PERID(36))>;
1155				dma-names = "tx", "rx";
1156				clocks = <&uart0_clk>;
1157				clock-names = "usart";
1158				status = "disabled";
1159			};
1160
1161			uart1: serial@f8020000 {
1162				compatible = "atmel,at91sam9260-usart";
1163				reg = <0xf8020000 0x100>;
1164				interrupts = <25 IRQ_TYPE_LEVEL_HIGH 7>;
1165				dmas = <&dma0
1166					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1167					 AT91_XDMAC_DT_PERID(37))>,
1168				       <&dma0
1169					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1170					 AT91_XDMAC_DT_PERID(38))>;
1171				dma-names = "tx", "rx";
1172				clocks = <&uart1_clk>;
1173				clock-names = "usart";
1174				status = "disabled";
1175			};
1176
1177			uart2: serial@f8024000 {
1178				compatible = "atmel,at91sam9260-usart";
1179				reg = <0xf8024000 0x100>;
1180				interrupts = <26 IRQ_TYPE_LEVEL_HIGH 7>;
1181				dmas = <&dma0
1182					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1183					 AT91_XDMAC_DT_PERID(39))>,
1184				       <&dma0
1185					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1186					 AT91_XDMAC_DT_PERID(40))>;
1187				dma-names = "tx", "rx";
1188				clocks = <&uart2_clk>;
1189				clock-names = "usart";
1190				status = "disabled";
1191			};
1192
1193			i2c0: i2c@f8028000 {
1194				compatible = "atmel,sama5d2-i2c";
1195				reg = <0xf8028000 0x100>;
1196				interrupts = <29 IRQ_TYPE_LEVEL_HIGH 7>;
1197				dmas = <&dma0
1198					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1199					 AT91_XDMAC_DT_PERID(0))>,
1200				       <&dma0
1201					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1202					 AT91_XDMAC_DT_PERID(1))>;
1203				dma-names = "tx", "rx";
1204				#address-cells = <1>;
1205				#size-cells = <0>;
1206				clocks = <&twi0_clk>;
1207				atmel,fifo-size = <16>;
1208				status = "disabled";
1209			};
1210
1211			pwm0: pwm@f802c000 {
1212				compatible = "atmel,sama5d2-pwm";
1213				reg = <0xf802c000 0x4000>;
1214				interrupts = <38 IRQ_TYPE_LEVEL_HIGH 7>;
1215				#pwm-cells = <3>;
1216				clocks = <&pwm_clk>;
1217			};
1218
1219			sfr: sfr@f8030000 {
1220				compatible = "atmel,sama5d2-sfr", "syscon";
1221				reg = <0xf8030000 0x98>;
1222			};
1223
1224			flx0: flexcom@f8034000 {
1225				compatible = "atmel,sama5d2-flexcom";
1226				reg = <0xf8034000 0x200>;
1227				clocks = <&flx0_clk>;
1228				#address-cells = <1>;
1229				#size-cells = <1>;
1230				ranges = <0x0 0xf8034000 0x800>;
1231				status = "disabled";
1232			};
1233
1234			flx1: flexcom@f8038000 {
1235				compatible = "atmel,sama5d2-flexcom";
1236				reg = <0xf8038000 0x200>;
1237				clocks = <&flx1_clk>;
1238				#address-cells = <1>;
1239				#size-cells = <1>;
1240				ranges = <0x0 0xf8038000 0x800>;
1241				status = "disabled";
1242			};
1243
1244			securam: sram@f8044000 {
1245				compatible = "atmel,sama5d2-securam", "mmio-sram";
1246				reg = <0xf8044000 0x1420>;
1247				clocks = <&securam_clk>;
1248				#address-cells = <1>;
1249				#size-cells = <1>;
1250				ranges = <0 0xf8044000 0x1420>;
1251			};
1252
1253			rstc@f8048000 {
1254				compatible = "atmel,sama5d3-rstc";
1255				reg = <0xf8048000 0x10>;
1256				clocks = <&clk32k>;
1257			};
1258
1259			shdwc@f8048010 {
1260				compatible = "atmel,sama5d2-shdwc";
1261				reg = <0xf8048010 0x10>;
1262				clocks = <&clk32k>;
1263				#address-cells = <1>;
1264				#size-cells = <0>;
1265				atmel,wakeup-rtc-timer;
1266			};
1267
1268			pit: timer@f8048030 {
1269				compatible = "atmel,at91sam9260-pit";
1270				reg = <0xf8048030 0x10>;
1271				interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
1272				clocks = <&h32ck>;
1273			};
1274
1275			watchdog@f8048040 {
1276				compatible = "atmel,sama5d4-wdt";
1277				reg = <0xf8048040 0x10>;
1278				interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
1279				clocks = <&clk32k>;
1280				status = "disabled";
1281			};
1282
1283			clk32k: sckc@f8048050 {
1284				compatible = "atmel,sama5d4-sckc";
1285				reg = <0xf8048050 0x4>;
1286
1287				clocks = <&slow_xtal>;
1288				#clock-cells = <0>;
1289			};
1290
1291			rtc@f80480b0 {
1292				compatible = "atmel,at91rm9200-rtc";
1293				reg = <0xf80480b0 0x30>;
1294				interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;
1295				clocks = <&clk32k>;
1296			};
1297
1298			can0: can@f8054000 {
1299				compatible = "bosch,m_can";
1300				reg = <0xf8054000 0x4000>, <0x210000 0x4000>;
1301				reg-names = "m_can", "message_ram";
1302				interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>,
1303					     <64 IRQ_TYPE_LEVEL_HIGH 7>;
1304				interrupt-names = "int0", "int1";
1305				clocks = <&can0_clk>, <&can0_gclk>;
1306				clock-names = "hclk", "cclk";
1307				assigned-clocks = <&can0_gclk>;
1308				assigned-clock-parents = <&utmi>;
1309				assigned-clock-rates = <40000000>;
1310				bosch,mram-cfg = <0x0 0 0 64 0 0 32 32>;
1311				status = "disabled";
1312			};
1313
1314			spi1: spi@fc000000 {
1315				compatible = "atmel,at91rm9200-spi";
1316				reg = <0xfc000000 0x100>;
1317				interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
1318				dmas = <&dma0
1319					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1320					 AT91_XDMAC_DT_PERID(8))>,
1321				       <&dma0
1322					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1323					 AT91_XDMAC_DT_PERID(9))>;
1324				dma-names = "tx", "rx";
1325				clocks = <&spi1_clk>;
1326				clock-names = "spi_clk";
1327				atmel,fifo-size = <16>;
1328				#address-cells = <1>;
1329				#size-cells = <0>;
1330				status = "disabled";
1331			};
1332
1333			uart3: serial@fc008000 {
1334				compatible = "atmel,at91sam9260-usart";
1335				reg = <0xfc008000 0x100>;
1336				interrupts = <27 IRQ_TYPE_LEVEL_HIGH 7>;
1337				dmas = <&dma1
1338					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1339					 AT91_XDMAC_DT_PERID(41))>,
1340				       <&dma1
1341					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1342					 AT91_XDMAC_DT_PERID(42))>;
1343				dma-names = "tx", "rx";
1344				clocks = <&uart3_clk>;
1345				clock-names = "usart";
1346				status = "disabled";
1347			};
1348
1349			uart4: serial@fc00c000 {
1350				compatible = "atmel,at91sam9260-usart";
1351				reg = <0xfc00c000 0x100>;
1352				dmas = <&dma0
1353					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1354					 AT91_XDMAC_DT_PERID(43))>,
1355				       <&dma0
1356					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1357					 AT91_XDMAC_DT_PERID(44))>;
1358				dma-names = "tx", "rx";
1359				interrupts = <28 IRQ_TYPE_LEVEL_HIGH 7>;
1360				clocks = <&uart4_clk>;
1361				clock-names = "usart";
1362				status = "disabled";
1363			};
1364
1365			flx2: flexcom@fc010000 {
1366				compatible = "atmel,sama5d2-flexcom";
1367				reg = <0xfc010000 0x200>;
1368				clocks = <&flx2_clk>;
1369				#address-cells = <1>;
1370				#size-cells = <1>;
1371				ranges = <0x0 0xfc010000 0x800>;
1372				status = "disabled";
1373			};
1374
1375			flx3: flexcom@fc014000 {
1376				compatible = "atmel,sama5d2-flexcom";
1377				reg = <0xfc014000 0x200>;
1378				clocks = <&flx3_clk>;
1379				#address-cells = <1>;
1380				#size-cells = <1>;
1381				ranges = <0x0 0xfc014000 0x800>;
1382				status = "disabled";
1383			};
1384
1385			flx4: flexcom@fc018000 {
1386				compatible = "atmel,sama5d2-flexcom";
1387				reg = <0xfc018000 0x200>;
1388				clocks = <&flx4_clk>;
1389				#address-cells = <1>;
1390				#size-cells = <1>;
1391				ranges = <0x0 0xfc018000 0x800>;
1392				status = "disabled";
1393			};
1394
1395			trng@fc01c000 {
1396				compatible = "atmel,at91sam9g45-trng";
1397				reg = <0xfc01c000 0x100>;
1398				interrupts = <47 IRQ_TYPE_LEVEL_HIGH 0>;
1399				clocks = <&trng_clk>;
1400			};
1401
1402			aic: interrupt-controller@fc020000 {
1403				#interrupt-cells = <3>;
1404				compatible = "atmel,sama5d2-aic";
1405				interrupt-controller;
1406				reg = <0xfc020000 0x200>;
1407				atmel,external-irqs = <49>;
1408			};
1409
1410			i2c1: i2c@fc028000 {
1411				compatible = "atmel,sama5d2-i2c";
1412				reg = <0xfc028000 0x100>;
1413				interrupts = <30 IRQ_TYPE_LEVEL_HIGH 7>;
1414				dmas = <&dma0
1415					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1416					 AT91_XDMAC_DT_PERID(2))>,
1417				       <&dma0
1418					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1419					 AT91_XDMAC_DT_PERID(3))>;
1420				dma-names = "tx", "rx";
1421				#address-cells = <1>;
1422				#size-cells = <0>;
1423				clocks = <&twi1_clk>;
1424				atmel,fifo-size = <16>;
1425				status = "disabled";
1426			};
1427
1428			adc: adc@fc030000 {
1429				compatible = "atmel,sama5d2-adc";
1430				reg = <0xfc030000 0x100>;
1431				interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>;
1432				clocks = <&adc_clk>;
1433				clock-names = "adc_clk";
1434				dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
1435				dma-names = "rx";
1436				atmel,min-sample-rate-hz = <200000>;
1437				atmel,max-sample-rate-hz = <20000000>;
1438				atmel,startup-time-ms = <4>;
1439				atmel,trigger-edge-type = <IRQ_TYPE_EDGE_RISING>;
1440				status = "disabled";
1441			};
1442
1443			pioA: pinctrl@fc038000 {
1444				compatible = "atmel,sama5d2-pinctrl";
1445				reg = <0xfc038000 0x600>;
1446				interrupts = <18 IRQ_TYPE_LEVEL_HIGH 7>,
1447					     <68 IRQ_TYPE_LEVEL_HIGH 7>,
1448					     <69 IRQ_TYPE_LEVEL_HIGH 7>,
1449					     <70 IRQ_TYPE_LEVEL_HIGH 7>;
1450				interrupt-controller;
1451				#interrupt-cells = <2>;
1452				gpio-controller;
1453				#gpio-cells = <2>;
1454				clocks = <&pioA_clk>;
1455			};
1456
1457			secumod@fc040000 {
1458				compatible = "atmel,sama5d2-secumod", "syscon";
1459				reg = <0xfc040000 0x100>;
1460			};
1461
1462			tdes@fc044000 {
1463				compatible = "atmel,at91sam9g46-tdes";
1464				reg = <0xfc044000 0x100>;
1465				interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
1466				dmas = <&dma0
1467					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1468					 AT91_XDMAC_DT_PERID(28))>,
1469				       <&dma0
1470					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1471					 AT91_XDMAC_DT_PERID(29))>;
1472				dma-names = "tx", "rx";
1473				clocks = <&tdes_clk>;
1474				clock-names = "tdes_clk";
1475				status = "okay";
1476			};
1477
1478			classd: classd@fc048000 {
1479				compatible = "atmel,sama5d2-classd";
1480				reg = <0xfc048000 0x100>;
1481				interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
1482				dmas = <&dma0
1483					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1484					 AT91_XDMAC_DT_PERID(47))>;
1485				dma-names = "tx";
1486				clocks = <&classd_clk>, <&classd_gclk>;
1487				clock-names = "pclk", "gclk";
1488				status = "disabled";
1489			};
1490
1491			can1: can@fc050000 {
1492				compatible = "bosch,m_can";
1493				reg = <0xfc050000 0x4000>, <0x210000 0x4000>;
1494				reg-names = "m_can", "message_ram";
1495				interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>,
1496					     <65 IRQ_TYPE_LEVEL_HIGH 7>;
1497				interrupt-names = "int0", "int1";
1498				clocks = <&can1_clk>, <&can1_gclk>;
1499				clock-names = "hclk", "cclk";
1500				assigned-clocks = <&can1_gclk>;
1501				assigned-clock-parents = <&utmi>;
1502				assigned-clock-rates = <40000000>;
1503				bosch,mram-cfg = <0x1100 0 0 64 0 0 32 32>;
1504				status = "disabled";
1505			};
1506
1507			sfrbu: sfr@fc05c000 {
1508				compatible = "atmel,sama5d2-sfrbu", "syscon";
1509				reg = <0xfc05c000 0x20>;
1510			};
1511
1512			chipid@fc069000 {
1513				compatible = "atmel,sama5d2-chipid";
1514				reg = <0xfc069000 0x8>;
1515			};
1516		};
1517	};
1518};