Linux Audio

Check our new training course

Buildroot integration, development and maintenance

Need a Buildroot system for your embedded project?
Loading...
   1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
   2/*
   3 * sam9x60.dtsi - Device Tree Include file for Microchip SAM9X60 SoC
   4 *
   5 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
   6 *
   7 * Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
   8 */
   9
  10#include <dt-bindings/dma/at91.h>
  11#include <dt-bindings/pinctrl/at91.h>
  12#include <dt-bindings/interrupt-controller/irq.h>
  13#include <dt-bindings/gpio/gpio.h>
  14#include <dt-bindings/clock/at91.h>
  15#include <dt-bindings/mfd/at91-usart.h>
  16#include <dt-bindings/mfd/atmel-flexcom.h>
  17
  18/ {
  19	#address-cells = <1>;
  20	#size-cells = <1>;
  21	model = "Microchip SAM9X60 SoC";
  22	compatible = "microchip,sam9x60";
  23	interrupt-parent = <&aic>;
  24
  25	aliases {
  26		serial0 = &dbgu;
  27		gpio0 = &pioA;
  28		gpio1 = &pioB;
  29		gpio2 = &pioC;
  30		gpio3 = &pioD;
  31		tcb0 = &tcb0;
  32		tcb1 = &tcb1;
  33	};
  34
  35	cpus {
  36		#address-cells = <1>;
  37		#size-cells = <0>;
  38
  39		cpu@0 {
  40			compatible = "arm,arm926ej-s";
  41			device_type = "cpu";
  42			reg = <0>;
  43		};
  44	};
  45
  46	memory@20000000 {
  47		device_type = "memory";
  48		reg = <0x20000000 0x10000000>;
  49	};
  50
  51	clocks {
  52		slow_xtal: slow_xtal {
  53			compatible = "fixed-clock";
  54			#clock-cells = <0>;
  55		};
  56
  57		main_xtal: main_xtal {
  58			compatible = "fixed-clock";
  59			#clock-cells = <0>;
  60		};
  61	};
  62
  63	sram: sram@300000 {
  64		compatible = "mmio-sram";
  65		reg = <0x00300000 0x100000>;
  66		#address-cells = <1>;
  67		#size-cells = <1>;
  68		ranges = <0 0x00300000 0x100000>;
  69	};
  70
  71	ahb {
  72		compatible = "simple-bus";
  73		#address-cells = <1>;
  74		#size-cells = <1>;
  75		ranges;
  76
  77		usb0: gadget@500000 {
  78			#address-cells = <1>;
  79			#size-cells = <0>;
  80			compatible = "microchip,sam9x60-udc";
  81			reg = <0x00500000 0x100000
  82				0xf803c000 0x400>;
  83			interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
  84			clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
  85			clock-names = "pclk", "hclk";
  86			assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>;
  87			assigned-clock-rates = <480000000>;
  88			status = "disabled";
  89		};
  90
  91		usb1: ohci@600000 {
  92			compatible = "atmel,at91rm9200-ohci", "usb-ohci";
  93			reg = <0x00600000 0x100000>;
  94			interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
  95			clocks = <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_SYSTEM 6>;
  96			clock-names = "ohci_clk", "hclk", "uhpck";
  97			status = "disabled";
  98		};
  99
 100		usb2: ehci@700000 {
 101			compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
 102			reg = <0x00700000 0x100000>;
 103			interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
 104			clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 22>;
 105			clock-names = "usb_clk", "ehci_clk";
 106			assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>;
 107			assigned-clock-rates = <480000000>;
 108			status = "disabled";
 109		};
 110
 111		ebi: ebi@10000000 {
 112			compatible = "microchip,sam9x60-ebi";
 113			#address-cells = <2>;
 114			#size-cells = <1>;
 115			atmel,smc = <&smc>;
 116			microchip,sfr = <&sfr>;
 117			reg = <0x10000000 0x60000000>;
 118			ranges = <0x0 0x0 0x10000000 0x10000000
 119				  0x1 0x0 0x20000000 0x10000000
 120				  0x2 0x0 0x30000000 0x10000000
 121				  0x3 0x0 0x40000000 0x10000000
 122				  0x4 0x0 0x50000000 0x10000000
 123				  0x5 0x0 0x60000000 0x10000000>;
 124			clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
 125			status = "disabled";
 126
 127			nand_controller: nand-controller {
 128				compatible = "microchip,sam9x60-nand-controller";
 129				ecc-engine = <&pmecc>;
 130				#address-cells = <2>;
 131				#size-cells = <1>;
 132				ranges;
 133				status = "disabled";
 134			};
 135		};
 136
 137		sdmmc0: sdio-host@80000000 {
 138			compatible = "microchip,sam9x60-sdhci";
 139			reg = <0x80000000 0x300>;
 140			interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
 141			clocks = <&pmc PMC_TYPE_PERIPHERAL 12>, <&pmc PMC_TYPE_GCK 12>;
 142			clock-names = "hclock", "multclk";
 143			assigned-clocks = <&pmc PMC_TYPE_GCK 12>;
 144			assigned-clock-rates = <100000000>;
 145			status = "disabled";
 146		};
 147
 148		sdmmc1: sdio-host@90000000 {
 149			compatible = "microchip,sam9x60-sdhci";
 150			reg = <0x90000000 0x300>;
 151			interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
 152			clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_GCK 26>;
 153			clock-names = "hclock", "multclk";
 154			assigned-clocks = <&pmc PMC_TYPE_GCK 26>;
 155			assigned-clock-rates = <100000000>;
 156			status = "disabled";
 157		};
 158
 159		apb {
 160			compatible = "simple-bus";
 161			#address-cells = <1>;
 162			#size-cells = <1>;
 163			ranges;
 164
 165			flx4: flexcom@f0000000 {
 166				compatible = "atmel,sama5d2-flexcom";
 167				reg = <0xf0000000 0x200>;
 168				clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
 169				#address-cells = <1>;
 170				#size-cells = <1>;
 171				ranges = <0x0 0xf0000000 0x800>;
 172				status = "disabled";
 173
 174				uart4: serial@200 {
 175					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 176					reg = <0x200 0x200>;
 177					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
 178					dmas = <&dma0
 179						(AT91_XDMAC_DT_MEM_IF(0) |
 180						 AT91_XDMAC_DT_PER_IF(1) |
 181						 AT91_XDMAC_DT_PERID(8))>,
 182					       <&dma0
 183						(AT91_XDMAC_DT_MEM_IF(0) |
 184						 AT91_XDMAC_DT_PER_IF(1) |
 185						 AT91_XDMAC_DT_PERID(9))>;
 186					dma-names = "tx", "rx";
 187					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
 188					clock-names = "usart";
 189					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 190					atmel,use-dma-rx;
 191					atmel,use-dma-tx;
 192					atmel,fifo-size = <16>;
 193					status = "disabled";
 194				};
 195
 196				spi4: spi@400 {
 197					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 198					reg = <0x400 0x200>;
 199					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
 200					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
 201					clock-names = "spi_clk";
 202					dmas = <&dma0
 203						(AT91_XDMAC_DT_MEM_IF(0) |
 204						 AT91_XDMAC_DT_PER_IF(1) |
 205						 AT91_XDMAC_DT_PERID(8))>,
 206					       <&dma0
 207						(AT91_XDMAC_DT_MEM_IF(0) |
 208						 AT91_XDMAC_DT_PER_IF(1) |
 209						 AT91_XDMAC_DT_PERID(9))>;
 210					dma-names = "tx", "rx";
 211					atmel,fifo-size = <16>;
 212					status = "disabled";
 213				};
 214
 215				i2c4: i2c@600 {
 216					compatible = "microchip,sam9x60-i2c";
 217					reg = <0x600 0x200>;
 218					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
 219					#address-cells = <1>;
 220					#size-cells = <0>;
 221					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
 222					dmas = <&dma0
 223						(AT91_XDMAC_DT_MEM_IF(0) |
 224						 AT91_XDMAC_DT_PER_IF(1) |
 225						 AT91_XDMAC_DT_PERID(8))>,
 226					       <&dma0
 227						(AT91_XDMAC_DT_MEM_IF(0) |
 228						 AT91_XDMAC_DT_PER_IF(1) |
 229						 AT91_XDMAC_DT_PERID(9))>;
 230					dma-names = "tx", "rx";
 231					atmel,fifo-size = <16>;
 232					status = "disabled";
 233				};
 234			};
 235
 236			flx5: flexcom@f0004000 {
 237				compatible = "atmel,sama5d2-flexcom";
 238				reg = <0xf0004000 0x200>;
 239				clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
 240				#address-cells = <1>;
 241				#size-cells = <1>;
 242				ranges = <0x0 0xf0004000 0x800>;
 243				status = "disabled";
 244
 245				uart5: serial@200 {
 246					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 247					reg = <0x200 0x200>;
 248					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 249					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
 250					dmas = <&dma0
 251						(AT91_XDMAC_DT_MEM_IF(0) |
 252						 AT91_XDMAC_DT_PER_IF(1) |
 253						 AT91_XDMAC_DT_PERID(10))>,
 254					       <&dma0
 255						(AT91_XDMAC_DT_MEM_IF(0) |
 256						 AT91_XDMAC_DT_PER_IF(1) |
 257						 AT91_XDMAC_DT_PERID(11))>;
 258					dma-names = "tx", "rx";
 259					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
 260					clock-names = "usart";
 261					atmel,use-dma-rx;
 262					atmel,use-dma-tx;
 263					atmel,fifo-size = <16>;
 264					status = "disabled";
 265				};
 266
 267				spi5: spi@400 {
 268					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 269					reg = <0x400 0x200>;
 270					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
 271					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
 272					clock-names = "spi_clk";
 273					dmas = <&dma0
 274						(AT91_XDMAC_DT_MEM_IF(0) |
 275						 AT91_XDMAC_DT_PER_IF(1) |
 276						 AT91_XDMAC_DT_PERID(10))>,
 277					       <&dma0
 278						(AT91_XDMAC_DT_MEM_IF(0) |
 279						 AT91_XDMAC_DT_PER_IF(1) |
 280						 AT91_XDMAC_DT_PERID(11))>;
 281					dma-names = "tx", "rx";
 282					atmel,fifo-size = <16>;
 283					status = "disabled";
 284				};
 285
 286				i2c5: i2c@600 {
 287					compatible = "microchip,sam9x60-i2c";
 288					reg = <0x600 0x200>;
 289					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
 290					#address-cells = <1>;
 291					#size-cells = <0>;
 292					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
 293					dmas = <&dma0
 294						(AT91_XDMAC_DT_MEM_IF(0) |
 295						 AT91_XDMAC_DT_PER_IF(1) |
 296						 AT91_XDMAC_DT_PERID(10))>,
 297					       <&dma0
 298						(AT91_XDMAC_DT_MEM_IF(0) |
 299						 AT91_XDMAC_DT_PER_IF(1) |
 300						 AT91_XDMAC_DT_PERID(11))>;
 301					dma-names = "tx", "rx";
 302					atmel,fifo-size = <16>;
 303					status = "disabled";
 304				};
 305			};
 306
 307			dma0: dma-controller@f0008000 {
 308				compatible = "microchip,sam9x60-dma", "atmel,sama5d4-dma";
 309				reg = <0xf0008000 0x1000>;
 310				interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
 311				#dma-cells = <1>;
 312				clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
 313				clock-names = "dma_clk";
 314			};
 315
 316			ssc: ssc@f0010000 {
 317				compatible = "atmel,at91sam9g45-ssc";
 318				reg = <0xf0010000 0x4000>;
 319				interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>;
 320				dmas = <&dma0
 321					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 322					 AT91_XDMAC_DT_PERID(38))>,
 323				       <&dma0
 324					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 325					 AT91_XDMAC_DT_PERID(39))>;
 326				dma-names = "tx", "rx";
 327				clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
 328				clock-names = "pclk";
 329				status = "disabled";
 330			};
 331
 332			qspi: spi@f0014000 {
 333				compatible = "microchip,sam9x60-qspi";
 334				reg = <0xf0014000 0x100>, <0x70000000 0x10000000>;
 335				reg-names = "qspi_base", "qspi_mmap";
 336				interrupts = <35 IRQ_TYPE_LEVEL_HIGH 7>;
 337				dmas = <&dma0
 338					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 339					 AT91_XDMAC_DT_PERID(26))>,
 340				       <&dma0
 341					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 342					 AT91_XDMAC_DT_PERID(27))>;
 343				dma-names = "tx", "rx";
 344				clocks = <&pmc PMC_TYPE_PERIPHERAL 35>, <&pmc PMC_TYPE_SYSTEM 19>;
 345				clock-names = "pclk", "qspick";
 346				atmel,pmc = <&pmc>;
 347				#address-cells = <1>;
 348				#size-cells = <0>;
 349				status = "disabled";
 350			};
 351
 352			i2s: i2s@f001c000 {
 353				compatible = "microchip,sam9x60-i2smcc";
 354				reg = <0xf001c000 0x100>;
 355				interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
 356				dmas = <&dma0
 357					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 358					 AT91_XDMAC_DT_PERID(36))>,
 359				       <&dma0
 360					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 361					 AT91_XDMAC_DT_PERID(37))>;
 362				dma-names = "tx", "rx";
 363				clocks = <&pmc PMC_TYPE_PERIPHERAL 34>, <&pmc PMC_TYPE_GCK 34>;
 364				clock-names = "pclk", "gclk";
 365				status = "disabled";
 366			};
 367
 368			flx11: flexcom@f0020000 {
 369				compatible = "atmel,sama5d2-flexcom";
 370				reg = <0xf0020000 0x200>;
 371				clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
 372				#address-cells = <1>;
 373				#size-cells = <1>;
 374				ranges = <0x0 0xf0020000 0x800>;
 375				status = "disabled";
 376
 377				uart11: serial@200 {
 378					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 379					reg = <0x200 0x200>;
 380					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
 381					dmas = <&dma0
 382						(AT91_XDMAC_DT_MEM_IF(0) |
 383						 AT91_XDMAC_DT_PER_IF(1) |
 384						 AT91_XDMAC_DT_PERID(22))>,
 385					       <&dma0
 386						(AT91_XDMAC_DT_MEM_IF(0) |
 387						 AT91_XDMAC_DT_PER_IF(1) |
 388						 AT91_XDMAC_DT_PERID(23))>;
 389					dma-names = "tx", "rx";
 390					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
 391					clock-names = "usart";
 392					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 393					atmel,use-dma-rx;
 394					atmel,use-dma-tx;
 395					atmel,fifo-size = <16>;
 396					status = "disabled";
 397				};
 398
 399				i2c11: i2c@600 {
 400					compatible = "microchip,sam9x60-i2c";
 401					reg = <0x600 0x200>;
 402					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
 403					#address-cells = <1>;
 404					#size-cells = <0>;
 405					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
 406					dmas = <&dma0
 407						(AT91_XDMAC_DT_MEM_IF(0) |
 408						 AT91_XDMAC_DT_PER_IF(1) |
 409						 AT91_XDMAC_DT_PERID(22))>,
 410					       <&dma0
 411						(AT91_XDMAC_DT_MEM_IF(0) |
 412						 AT91_XDMAC_DT_PER_IF(1) |
 413						 AT91_XDMAC_DT_PERID(23))>;
 414					dma-names = "tx", "rx";
 415					atmel,fifo-size = <16>;
 416					status = "disabled";
 417				};
 418			};
 419
 420			flx12: flexcom@f0024000 {
 421				compatible = "atmel,sama5d2-flexcom";
 422				reg = <0xf0024000 0x200>;
 423				clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
 424				#address-cells = <1>;
 425				#size-cells = <1>;
 426				ranges = <0x0 0xf0024000 0x800>;
 427				status = "disabled";
 428
 429				uart12: serial@200 {
 430					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 431					reg = <0x200 0x200>;
 432					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
 433					dmas = <&dma0
 434						(AT91_XDMAC_DT_MEM_IF(0) |
 435						 AT91_XDMAC_DT_PER_IF(1) |
 436						 AT91_XDMAC_DT_PERID(24))>,
 437					       <&dma0
 438						(AT91_XDMAC_DT_MEM_IF(0) |
 439						 AT91_XDMAC_DT_PER_IF(1) |
 440						 AT91_XDMAC_DT_PERID(25))>;
 441					dma-names = "tx", "rx";
 442					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
 443					clock-names = "usart";
 444					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 445					atmel,use-dma-rx;
 446					atmel,use-dma-tx;
 447					atmel,fifo-size = <16>;
 448					status = "disabled";
 449				};
 450
 451				i2c12: i2c@600 {
 452					compatible = "microchip,sam9x60-i2c";
 453					reg = <0x600 0x200>;
 454					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
 455					#address-cells = <1>;
 456					#size-cells = <0>;
 457					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
 458					dmas = <&dma0
 459						(AT91_XDMAC_DT_MEM_IF(0) |
 460						 AT91_XDMAC_DT_PER_IF(1) |
 461						 AT91_XDMAC_DT_PERID(24))>,
 462					       <&dma0
 463						(AT91_XDMAC_DT_MEM_IF(0) |
 464						 AT91_XDMAC_DT_PER_IF(1) |
 465						 AT91_XDMAC_DT_PERID(25))>;
 466					dma-names = "tx", "rx";
 467					atmel,fifo-size = <16>;
 468					status = "disabled";
 469				};
 470			};
 471
 472			pit64b: timer@f0028000 {
 473				compatible = "microchip,sam9x60-pit64b";
 474				reg = <0xf0028000 0x100>;
 475				interrupts = <37 IRQ_TYPE_LEVEL_HIGH 7>;
 476				clocks = <&pmc PMC_TYPE_PERIPHERAL 37>, <&pmc PMC_TYPE_GCK 37>;
 477				clock-names = "pclk", "gclk";
 478			};
 479
 480			sha: crypto@f002c000 {
 481				compatible = "atmel,at91sam9g46-sha";
 482				reg = <0xf002c000 0x100>;
 483				interrupts = <41 IRQ_TYPE_LEVEL_HIGH 0>;
 484				dmas = <&dma0
 485					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 486					 AT91_XDMAC_DT_PERID(34))>;
 487				dma-names = "tx";
 488				clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
 489				clock-names = "sha_clk";
 490			};
 491
 492			trng: rng@f0030000 {
 493				compatible = "microchip,sam9x60-trng";
 494				reg = <0xf0030000 0x100>;
 495				interrupts = <38 IRQ_TYPE_LEVEL_HIGH 0>;
 496				clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
 497			};
 498
 499			aes: crypto@f0034000 {
 500				compatible = "atmel,at91sam9g46-aes";
 501				reg = <0xf0034000 0x100>;
 502				interrupts = <39 IRQ_TYPE_LEVEL_HIGH 0>;
 503				dmas = <&dma0
 504					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 505					 AT91_XDMAC_DT_PERID(32))>,
 506				       <&dma0
 507					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 508					 AT91_XDMAC_DT_PERID(33))>;
 509				dma-names = "tx", "rx";
 510				clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
 511				clock-names = "aes_clk";
 512			};
 513
 514			tdes: crypto@f0038000 {
 515				compatible = "atmel,at91sam9g46-tdes";
 516				reg = <0xf0038000 0x100>;
 517				interrupts = <40 IRQ_TYPE_LEVEL_HIGH 0>;
 518				dmas = <&dma0
 519					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 520					 AT91_XDMAC_DT_PERID(31))>,
 521				       <&dma0
 522					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 523					 AT91_XDMAC_DT_PERID(30))>;
 524				dma-names = "tx", "rx";
 525				clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
 526				clock-names = "tdes_clk";
 527			};
 528
 529			classd: classd@f003c000 {
 530				compatible = "atmel,sama5d2-classd";
 531				reg = <0xf003c000 0x100>;
 532				interrupts = <42 IRQ_TYPE_LEVEL_HIGH 7>;
 533				dmas = <&dma0
 534					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 535					 AT91_XDMAC_DT_PERID(35))>;
 536				dma-names = "tx";
 537				clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_GCK 42>;
 538				clock-names = "pclk", "gclk";
 539				status = "disabled";
 540			};
 541
 542			can0: can@f8000000 {
 543				compatible = "microchip,sam9x60-can", "atmel,at91sam9x5-can";
 544				reg = <0xf8000000 0x300>;
 545				interrupts = <29 IRQ_TYPE_LEVEL_HIGH 3>;
 546				clocks = <&pmc PMC_TYPE_PERIPHERAL 29>;
 547				clock-names = "can_clk";
 548				status = "disabled";
 549			};
 550
 551			can1: can@f8004000 {
 552				compatible = "microchip,sam9x60-can", "atmel,at91sam9x5-can";
 553				reg = <0xf8004000 0x300>;
 554				interrupts = <30 IRQ_TYPE_LEVEL_HIGH 3>;
 555				clocks = <&pmc PMC_TYPE_PERIPHERAL 30>;
 556				clock-names = "can_clk";
 557				status = "disabled";
 558			};
 559
 560			tcb0: timer@f8008000 {
 561				compatible = "microchip,sam9x60-tcb", "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
 562				#address-cells = <1>;
 563				#size-cells = <0>;
 564				reg = <0xf8008000 0x100>;
 565				interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
 566				clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&clk32k 0>;
 567				clock-names = "t0_clk", "slow_clk";
 568			};
 569
 570			tcb1: timer@f800c000 {
 571				compatible = "microchip,sam9x60-tcb", "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
 572				#address-cells = <1>;
 573				#size-cells = <0>;
 574				reg = <0xf800c000 0x100>;
 575				interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
 576				clocks = <&pmc PMC_TYPE_PERIPHERAL 45>, <&clk32k 0>;
 577				clock-names = "t0_clk", "slow_clk";
 578			};
 579
 580			flx6: flexcom@f8010000 {
 581				compatible = "atmel,sama5d2-flexcom";
 582				reg = <0xf8010000 0x200>;
 583				clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
 584				#address-cells = <1>;
 585				#size-cells = <1>;
 586				ranges = <0x0 0xf8010000 0x800>;
 587				status = "disabled";
 588
 589				uart6: serial@200 {
 590					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 591					reg = <0x200 0x200>;
 592					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
 593					dmas = <&dma0
 594						(AT91_XDMAC_DT_MEM_IF(0) |
 595						 AT91_XDMAC_DT_PER_IF(1) |
 596						 AT91_XDMAC_DT_PERID(12))>,
 597					       <&dma0
 598						(AT91_XDMAC_DT_MEM_IF(0) |
 599						 AT91_XDMAC_DT_PER_IF(1) |
 600						 AT91_XDMAC_DT_PERID(13))>;
 601					dma-names = "tx", "rx";
 602					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
 603					clock-names = "usart";
 604					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 605					atmel,use-dma-rx;
 606					atmel,use-dma-tx;
 607					atmel,fifo-size = <16>;
 608					status = "disabled";
 609				};
 610
 611				i2c6: i2c@600 {
 612					compatible = "microchip,sam9x60-i2c";
 613					reg = <0x600 0x200>;
 614					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
 615					#address-cells = <1>;
 616					#size-cells = <0>;
 617					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
 618					dmas = <&dma0
 619						(AT91_XDMAC_DT_MEM_IF(0) |
 620						 AT91_XDMAC_DT_PER_IF(1) |
 621						 AT91_XDMAC_DT_PERID(12))>,
 622					       <&dma0
 623						(AT91_XDMAC_DT_MEM_IF(0) |
 624						 AT91_XDMAC_DT_PER_IF(1) |
 625						 AT91_XDMAC_DT_PERID(13))>;
 626					dma-names = "tx", "rx";
 627					atmel,fifo-size = <16>;
 628					status = "disabled";
 629				};
 630			};
 631
 632			flx7: flexcom@f8014000 {
 633				compatible = "atmel,sama5d2-flexcom";
 634				reg = <0xf8014000 0x200>;
 635				clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
 636				#address-cells = <1>;
 637				#size-cells = <1>;
 638				ranges = <0x0 0xf8014000 0x800>;
 639				status = "disabled";
 640
 641				uart7: serial@200 {
 642					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 643					reg = <0x200 0x200>;
 644					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
 645					dmas = <&dma0
 646						(AT91_XDMAC_DT_MEM_IF(0) |
 647						 AT91_XDMAC_DT_PER_IF(1) |
 648						 AT91_XDMAC_DT_PERID(14))>,
 649					       <&dma0
 650						(AT91_XDMAC_DT_MEM_IF(0) |
 651						 AT91_XDMAC_DT_PER_IF(1) |
 652						 AT91_XDMAC_DT_PERID(15))>;
 653					dma-names = "tx", "rx";
 654					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
 655					clock-names = "usart";
 656					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 657					atmel,use-dma-rx;
 658					atmel,use-dma-tx;
 659					atmel,fifo-size = <16>;
 660					status = "disabled";
 661				};
 662
 663				i2c7: i2c@600 {
 664					compatible = "microchip,sam9x60-i2c";
 665					reg = <0x600 0x200>;
 666					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
 667					#address-cells = <1>;
 668					#size-cells = <0>;
 669					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
 670					dmas = <&dma0
 671						(AT91_XDMAC_DT_MEM_IF(0) |
 672						 AT91_XDMAC_DT_PER_IF(1) |
 673						 AT91_XDMAC_DT_PERID(14))>,
 674					       <&dma0
 675						(AT91_XDMAC_DT_MEM_IF(0) |
 676						 AT91_XDMAC_DT_PER_IF(1) |
 677						 AT91_XDMAC_DT_PERID(15))>;
 678					dma-names = "tx", "rx";
 679					atmel,fifo-size = <16>;
 680					status = "disabled";
 681				};
 682			};
 683
 684			flx8: flexcom@f8018000 {
 685				compatible = "atmel,sama5d2-flexcom";
 686				reg = <0xf8018000 0x200>;
 687				clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
 688				#address-cells = <1>;
 689				#size-cells = <1>;
 690				ranges = <0x0 0xf8018000 0x800>;
 691				status = "disabled";
 692
 693				uart8: serial@200 {
 694					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 695					reg = <0x200 0x200>;
 696					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
 697					dmas = <&dma0
 698						(AT91_XDMAC_DT_MEM_IF(0) |
 699						 AT91_XDMAC_DT_PER_IF(1) |
 700						 AT91_XDMAC_DT_PERID(16))>,
 701					       <&dma0
 702						(AT91_XDMAC_DT_MEM_IF(0) |
 703						 AT91_XDMAC_DT_PER_IF(1) |
 704						 AT91_XDMAC_DT_PERID(17))>;
 705					dma-names = "tx", "rx";
 706					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
 707					clock-names = "usart";
 708					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 709					atmel,use-dma-rx;
 710					atmel,use-dma-tx;
 711					atmel,fifo-size = <16>;
 712					status = "disabled";
 713				};
 714
 715				i2c8: i2c@600 {
 716					compatible = "microchip,sam9x60-i2c";
 717					reg = <0x600 0x200>;
 718					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
 719					#address-cells = <1>;
 720					#size-cells = <0>;
 721					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
 722					dmas = <&dma0
 723						(AT91_XDMAC_DT_MEM_IF(0) |
 724						 AT91_XDMAC_DT_PER_IF(1) |
 725						 AT91_XDMAC_DT_PERID(16))>,
 726					       <&dma0
 727						(AT91_XDMAC_DT_MEM_IF(0) |
 728						 AT91_XDMAC_DT_PER_IF(1) |
 729						 AT91_XDMAC_DT_PERID(17))>;
 730					dma-names = "tx", "rx";
 731					atmel,fifo-size = <16>;
 732					status = "disabled";
 733				};
 734			};
 735
 736			flx0: flexcom@f801c000 {
 737				compatible = "atmel,sama5d2-flexcom";
 738				reg = <0xf801c000 0x200>;
 739				clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
 740				#address-cells = <1>;
 741				#size-cells = <1>;
 742				ranges = <0x0 0xf801c000 0x800>;
 743				status = "disabled";
 744
 745				uart0: serial@200 {
 746					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 747					reg = <0x200 0x200>;
 748					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
 749					dmas = <&dma0
 750						(AT91_XDMAC_DT_MEM_IF(0) |
 751						 AT91_XDMAC_DT_PER_IF(1) |
 752						 AT91_XDMAC_DT_PERID(0))>,
 753					       <&dma0
 754						(AT91_XDMAC_DT_MEM_IF(0) |
 755						 AT91_XDMAC_DT_PER_IF(1) |
 756						 AT91_XDMAC_DT_PERID(1))>;
 757					dma-names = "tx", "rx";
 758					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
 759					clock-names = "usart";
 760					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 761					atmel,use-dma-rx;
 762					atmel,use-dma-tx;
 763					atmel,fifo-size = <16>;
 764					status = "disabled";
 765				};
 766
 767				spi0: spi@400 {
 768					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 769					reg = <0x400 0x200>;
 770					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
 771					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
 772					clock-names = "spi_clk";
 773					dmas = <&dma0
 774						(AT91_XDMAC_DT_MEM_IF(0) |
 775						 AT91_XDMAC_DT_PER_IF(1) |
 776						 AT91_XDMAC_DT_PERID(0))>,
 777					       <&dma0
 778						(AT91_XDMAC_DT_MEM_IF(0) |
 779						 AT91_XDMAC_DT_PER_IF(1) |
 780						 AT91_XDMAC_DT_PERID(1))>;
 781					dma-names = "tx", "rx";
 782					atmel,fifo-size = <16>;
 783					status = "disabled";
 784				};
 785
 786				i2c0: i2c@600 {
 787					compatible = "microchip,sam9x60-i2c";
 788					reg = <0x600 0x200>;
 789					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
 790					#address-cells = <1>;
 791					#size-cells = <0>;
 792					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
 793					dmas = <&dma0
 794						(AT91_XDMAC_DT_MEM_IF(0) |
 795						 AT91_XDMAC_DT_PER_IF(1) |
 796						 AT91_XDMAC_DT_PERID(0))>,
 797					       <&dma0
 798						(AT91_XDMAC_DT_MEM_IF(0) |
 799						 AT91_XDMAC_DT_PER_IF(1) |
 800						 AT91_XDMAC_DT_PERID(1))>;
 801					dma-names = "tx", "rx";
 802					atmel,fifo-size = <16>;
 803					status = "disabled";
 804				};
 805			};
 806
 807			flx1: flexcom@f8020000 {
 808				compatible = "atmel,sama5d2-flexcom";
 809				reg = <0xf8020000 0x200>;
 810				clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
 811				#address-cells = <1>;
 812				#size-cells = <1>;
 813				ranges = <0x0 0xf8020000 0x800>;
 814				status = "disabled";
 815
 816				uart1: serial@200 {
 817					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 818					reg = <0x200 0x200>;
 819					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
 820					dmas = <&dma0
 821						(AT91_XDMAC_DT_MEM_IF(0) |
 822						 AT91_XDMAC_DT_PER_IF(1) |
 823						 AT91_XDMAC_DT_PERID(2))>,
 824					       <&dma0
 825						(AT91_XDMAC_DT_MEM_IF(0) |
 826						 AT91_XDMAC_DT_PER_IF(1) |
 827						 AT91_XDMAC_DT_PERID(3))>;
 828					dma-names = "tx", "rx";
 829					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
 830					clock-names = "usart";
 831					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 832					atmel,use-dma-rx;
 833					atmel,use-dma-tx;
 834					atmel,fifo-size = <16>;
 835					status = "disabled";
 836				};
 837
 838				spi1: spi@400 {
 839					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 840					reg = <0x400 0x200>;
 841					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
 842					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
 843					clock-names = "spi_clk";
 844					dmas = <&dma0
 845						(AT91_XDMAC_DT_MEM_IF(0) |
 846						 AT91_XDMAC_DT_PER_IF(1) |
 847						 AT91_XDMAC_DT_PERID(2))>,
 848					       <&dma0
 849						(AT91_XDMAC_DT_MEM_IF(0) |
 850						 AT91_XDMAC_DT_PER_IF(1) |
 851						 AT91_XDMAC_DT_PERID(3))>;
 852					dma-names = "tx", "rx";
 853					atmel,fifo-size = <16>;
 854					status = "disabled";
 855				};
 856
 857				i2c1: i2c@600 {
 858					compatible = "microchip,sam9x60-i2c";
 859					reg = <0x600 0x200>;
 860					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
 861					#address-cells = <1>;
 862					#size-cells = <0>;
 863					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
 864					dmas = <&dma0
 865						(AT91_XDMAC_DT_MEM_IF(0) |
 866						 AT91_XDMAC_DT_PER_IF(1) |
 867						 AT91_XDMAC_DT_PERID(2))>,
 868					       <&dma0
 869						(AT91_XDMAC_DT_MEM_IF(0) |
 870						 AT91_XDMAC_DT_PER_IF(1) |
 871						 AT91_XDMAC_DT_PERID(3))>;
 872					dma-names = "tx", "rx";
 873					atmel,fifo-size = <16>;
 874					status = "disabled";
 875				};
 876			};
 877
 878			flx2: flexcom@f8024000 {
 879				compatible = "atmel,sama5d2-flexcom";
 880				reg = <0xf8024000 0x200>;
 881				clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
 882				#address-cells = <1>;
 883				#size-cells = <1>;
 884				ranges = <0x0 0xf8024000 0x800>;
 885				status = "disabled";
 886
 887				uart2: serial@200 {
 888					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 889					reg = <0x200 0x200>;
 890					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
 891					dmas = <&dma0
 892						(AT91_XDMAC_DT_MEM_IF(0) |
 893						 AT91_XDMAC_DT_PER_IF(1) |
 894						 AT91_XDMAC_DT_PERID(4))>,
 895					       <&dma0
 896						(AT91_XDMAC_DT_MEM_IF(0) |
 897						 AT91_XDMAC_DT_PER_IF(1) |
 898						 AT91_XDMAC_DT_PERID(5))>;
 899					dma-names = "tx", "rx";
 900					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
 901					clock-names = "usart";
 902					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 903					atmel,use-dma-rx;
 904					atmel,use-dma-tx;
 905					atmel,fifo-size = <16>;
 906					status = "disabled";
 907				};
 908
 909				spi2: spi@400 {
 910					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 911					reg = <0x400 0x200>;
 912					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
 913					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
 914					clock-names = "spi_clk";
 915					dmas = <&dma0
 916						(AT91_XDMAC_DT_MEM_IF(0) |
 917						 AT91_XDMAC_DT_PER_IF(1) |
 918						 AT91_XDMAC_DT_PERID(4))>,
 919					       <&dma0
 920						(AT91_XDMAC_DT_MEM_IF(0) |
 921						 AT91_XDMAC_DT_PER_IF(1) |
 922						 AT91_XDMAC_DT_PERID(5))>;
 923					dma-names = "tx", "rx";
 924					atmel,fifo-size = <16>;
 925					status = "disabled";
 926				};
 927
 928				i2c2: i2c@600 {
 929					compatible = "microchip,sam9x60-i2c";
 930					reg = <0x600 0x200>;
 931					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
 932					#address-cells = <1>;
 933					#size-cells = <0>;
 934					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
 935					dmas = <&dma0
 936						(AT91_XDMAC_DT_MEM_IF(0) |
 937						 AT91_XDMAC_DT_PER_IF(1) |
 938						 AT91_XDMAC_DT_PERID(4))>,
 939					       <&dma0
 940						(AT91_XDMAC_DT_MEM_IF(0) |
 941						 AT91_XDMAC_DT_PER_IF(1) |
 942						 AT91_XDMAC_DT_PERID(5))>;
 943					dma-names = "tx", "rx";
 944					atmel,fifo-size = <16>;
 945					status = "disabled";
 946				};
 947			};
 948
 949			flx3: flexcom@f8028000 {
 950				compatible = "atmel,sama5d2-flexcom";
 951				reg = <0xf8028000 0x200>;
 952				clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
 953				#address-cells = <1>;
 954				#size-cells = <1>;
 955				ranges = <0x0 0xf8028000 0x800>;
 956				status = "disabled";
 957
 958				uart3: serial@200 {
 959					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 960					reg = <0x200 0x200>;
 961					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
 962					dmas = <&dma0
 963						(AT91_XDMAC_DT_MEM_IF(0) |
 964						 AT91_XDMAC_DT_PER_IF(1) |
 965						 AT91_XDMAC_DT_PERID(6))>,
 966					       <&dma0
 967						(AT91_XDMAC_DT_MEM_IF(0) |
 968						 AT91_XDMAC_DT_PER_IF(1) |
 969						 AT91_XDMAC_DT_PERID(7))>;
 970					dma-names = "tx", "rx";
 971					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
 972					clock-names = "usart";
 973					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 974					atmel,use-dma-rx;
 975					atmel,use-dma-tx;
 976					atmel,fifo-size = <16>;
 977					status = "disabled";
 978				};
 979
 980				spi3: spi@400 {
 981					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 982					reg = <0x400 0x200>;
 983					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
 984					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
 985					clock-names = "spi_clk";
 986					dmas = <&dma0
 987						(AT91_XDMAC_DT_MEM_IF(0) |
 988						 AT91_XDMAC_DT_PER_IF(1) |
 989						 AT91_XDMAC_DT_PERID(6))>,
 990					       <&dma0
 991						(AT91_XDMAC_DT_MEM_IF(0) |
 992						 AT91_XDMAC_DT_PER_IF(1) |
 993						 AT91_XDMAC_DT_PERID(7))>;
 994					dma-names = "tx", "rx";
 995					atmel,fifo-size = <16>;
 996					status = "disabled";
 997				};
 998
 999				i2c3: i2c@600 {
1000					compatible = "microchip,sam9x60-i2c";
1001					reg = <0x600 0x200>;
1002					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
1003					#address-cells = <1>;
1004					#size-cells = <0>;
1005					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
1006					dmas = <&dma0
1007						(AT91_XDMAC_DT_MEM_IF(0) |
1008						 AT91_XDMAC_DT_PER_IF(1) |
1009						 AT91_XDMAC_DT_PERID(6))>,
1010					       <&dma0
1011						(AT91_XDMAC_DT_MEM_IF(0) |
1012						 AT91_XDMAC_DT_PER_IF(1) |
1013						 AT91_XDMAC_DT_PERID(7))>;
1014					dma-names = "tx", "rx";
1015					atmel,fifo-size = <16>;
1016					status = "disabled";
1017				};
1018			};
1019
1020			macb0: ethernet@f802c000 {
1021				compatible = "cdns,sam9x60-macb", "cdns,macb";
1022				reg = <0xf802c000 0x1000>;
1023				interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
1024				clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>;
1025				clock-names = "hclk", "pclk";
1026				status = "disabled";
1027			};
1028
1029			macb1: ethernet@f8030000 {
1030				compatible = "cdns,sam9x60-macb", "cdns,macb";
1031				reg = <0xf8030000 0x1000>;
1032				interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>;
1033				clocks = <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_PERIPHERAL 27>;
1034				clock-names = "hclk", "pclk";
1035				status = "disabled";
1036			};
1037
1038			pwm0: pwm@f8034000 {
1039				compatible = "microchip,sam9x60-pwm";
1040				reg = <0xf8034000 0x300>;
1041				interrupts = <18 IRQ_TYPE_LEVEL_HIGH 4>;
1042				clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
1043				#pwm-cells = <3>;
1044				status = "disabled";
1045			};
1046
1047			hlcdc: hlcdc@f8038000 {
1048				compatible = "microchip,sam9x60-hlcdc";
1049				reg = <0xf8038000 0x4000>;
1050				interrupts = <25 IRQ_TYPE_LEVEL_HIGH 0>;
1051				clocks = <&pmc PMC_TYPE_PERIPHERAL 25>, <&pmc PMC_TYPE_GCK 25>, <&clk32k 1>;
1052				clock-names = "periph_clk","sys_clk", "slow_clk";
1053				assigned-clocks = <&pmc PMC_TYPE_GCK 25>;
1054				assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_MCK>;
1055				status = "disabled";
1056
1057				hlcdc-display-controller {
1058					compatible = "atmel,hlcdc-display-controller";
1059					#address-cells = <1>;
1060					#size-cells = <0>;
1061
1062					port@0 {
1063						#address-cells = <1>;
1064						#size-cells = <0>;
1065						reg = <0>;
1066					};
1067				};
1068
1069				hlcdc_pwm: hlcdc-pwm {
1070					compatible = "atmel,hlcdc-pwm";
1071					#pwm-cells = <3>;
1072				};
1073			};
1074
1075			flx9: flexcom@f8040000 {
1076				compatible = "atmel,sama5d2-flexcom";
1077				reg = <0xf8040000 0x200>;
1078				clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
1079				#address-cells = <1>;
1080				#size-cells = <1>;
1081				ranges = <0x0 0xf8040000 0x800>;
1082				status = "disabled";
1083
1084				uart9: serial@200 {
1085					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
1086					reg = <0x200 0x200>;
1087					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
1088					dmas = <&dma0
1089						(AT91_XDMAC_DT_MEM_IF(0) |
1090						 AT91_XDMAC_DT_PER_IF(1) |
1091						 AT91_XDMAC_DT_PERID(18))>,
1092					       <&dma0
1093						(AT91_XDMAC_DT_MEM_IF(0) |
1094						 AT91_XDMAC_DT_PER_IF(1) |
1095						 AT91_XDMAC_DT_PERID(19))>;
1096					dma-names = "tx", "rx";
1097					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
1098					clock-names = "usart";
1099					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
1100					atmel,use-dma-rx;
1101					atmel,use-dma-tx;
1102					atmel,fifo-size = <16>;
1103					status = "disabled";
1104				};
1105
1106				i2c9: i2c@600 {
1107					compatible = "microchip,sam9x60-i2c";
1108					reg = <0x600 0x200>;
1109					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
1110					#address-cells = <1>;
1111					#size-cells = <0>;
1112					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
1113					dmas = <&dma0
1114						(AT91_XDMAC_DT_MEM_IF(0) |
1115						 AT91_XDMAC_DT_PER_IF(1) |
1116						 AT91_XDMAC_DT_PERID(18))>,
1117					       <&dma0
1118						(AT91_XDMAC_DT_MEM_IF(0) |
1119						 AT91_XDMAC_DT_PER_IF(1) |
1120						 AT91_XDMAC_DT_PERID(19))>;
1121					dma-names = "tx", "rx";
1122					atmel,fifo-size = <16>;
1123					status = "disabled";
1124				};
1125			};
1126
1127			flx10: flexcom@f8044000 {
1128				compatible = "atmel,sama5d2-flexcom";
1129				reg = <0xf8044000 0x200>;
1130				clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
1131				#address-cells = <1>;
1132				#size-cells = <1>;
1133				ranges = <0x0 0xf8044000 0x800>;
1134				status = "disabled";
1135
1136				uart10: serial@200 {
1137					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
1138					reg = <0x200 0x200>;
1139					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
1140					dmas = <&dma0
1141						(AT91_XDMAC_DT_MEM_IF(0) |
1142						 AT91_XDMAC_DT_PER_IF(1) |
1143						 AT91_XDMAC_DT_PERID(20))>,
1144					       <&dma0
1145						(AT91_XDMAC_DT_MEM_IF(0) |
1146						 AT91_XDMAC_DT_PER_IF(1) |
1147						 AT91_XDMAC_DT_PERID(21))>;
1148					dma-names = "tx", "rx";
1149					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
1150					clock-names = "usart";
1151					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
1152					atmel,use-dma-rx;
1153					atmel,use-dma-tx;
1154					atmel,fifo-size = <16>;
1155					status = "disabled";
1156				};
1157
1158				i2c10: i2c@600 {
1159					compatible = "microchip,sam9x60-i2c";
1160					reg = <0x600 0x200>;
1161					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
1162					#address-cells = <1>;
1163					#size-cells = <0>;
1164					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
1165					dmas = <&dma0
1166						(AT91_XDMAC_DT_MEM_IF(0) |
1167						 AT91_XDMAC_DT_PER_IF(1) |
1168						 AT91_XDMAC_DT_PERID(20))>,
1169					       <&dma0
1170						(AT91_XDMAC_DT_MEM_IF(0) |
1171						 AT91_XDMAC_DT_PER_IF(1) |
1172						 AT91_XDMAC_DT_PERID(21))>;
1173					dma-names = "tx", "rx";
1174					atmel,fifo-size = <16>;
1175					status = "disabled";
1176				};
1177			};
1178
1179			isi: isi@f8048000 {
1180				compatible = "microchip,sam9x60-isi", "atmel,at91sam9g45-isi";
1181				reg = <0xf8048000 0x100>;
1182				interrupts = <43 IRQ_TYPE_LEVEL_HIGH 5>;
1183				clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
1184				clock-names = "isi_clk";
1185				status = "disabled";
1186				port {
1187					#address-cells = <1>;
1188					#size-cells = <0>;
1189				};
1190			};
1191
1192			adc: adc@f804c000 {
1193				compatible = "microchip,sam9x60-adc", "atmel,sama5d2-adc";
1194				reg = <0xf804c000 0x100>;
1195				interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
1196				clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
1197				clock-names = "adc_clk";
1198				dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(40))>;
1199				dma-names = "rx";
1200				atmel,min-sample-rate-hz = <200000>;
1201				atmel,max-sample-rate-hz = <20000000>;
1202				atmel,startup-time-ms = <4>;
1203				atmel,trigger-edge-type = <IRQ_TYPE_EDGE_RISING>;
1204				#io-channel-cells = <1>;
1205				status = "disabled";
1206			};
1207
1208			sfr: sfr@f8050000 {
1209				compatible = "microchip,sam9x60-sfr", "syscon";
1210				reg = <0xf8050000 0x100>;
1211			};
1212
1213			matrix: matrix@ffffde00 {
1214				compatible = "microchip,sam9x60-matrix", "atmel,at91sam9x5-matrix", "syscon";
1215				reg = <0xffffde00 0x200>;
1216			};
1217
1218			pmecc: ecc-engine@ffffe000 {
1219				compatible = "microchip,sam9x60-pmecc", "atmel,at91sam9g45-pmecc";
1220				reg = <0xffffe000 0x300>,
1221				      <0xffffe600 0x100>;
1222			};
1223
1224			mpddrc: mpddrc@ffffe800 {
1225				compatible = "microchip,sam9x60-ddramc", "atmel,sama5d3-ddramc";
1226				reg = <0xffffe800 0x200>;
1227				clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 49>;
1228				clock-names = "ddrck", "mpddr";
1229			};
1230
1231			smc: smc@ffffea00 {
1232				compatible = "microchip,sam9x60-smc", "atmel,at91sam9260-smc", "syscon";
1233				reg = <0xffffea00 0x100>;
1234			};
1235
1236			aic: interrupt-controller@fffff100 {
1237				compatible = "microchip,sam9x60-aic";
1238				#interrupt-cells = <3>;
1239				interrupt-controller;
1240				reg = <0xfffff100 0x100>;
1241				atmel,external-irqs = <31>;
1242			};
1243
1244			dbgu: serial@fffff200 {
1245				compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
1246				reg = <0xfffff200 0x200>;
1247				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
1248				interrupts = <47 IRQ_TYPE_LEVEL_HIGH 7>;
1249				dmas = <&dma0
1250					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1251					 AT91_XDMAC_DT_PERID(28))>,
1252				       <&dma0
1253					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1254					 AT91_XDMAC_DT_PERID(29))>;
1255				dma-names = "tx", "rx";
1256				clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
1257				clock-names = "usart";
1258				status = "disabled";
1259			};
1260
1261			pinctrl: pinctrl@fffff400 {
1262				#address-cells = <1>;
1263				#size-cells = <1>;
1264				compatible = "microchip,sam9x60-pinctrl", "simple-mfd";
1265				ranges = <0xfffff400 0xfffff400 0x800>;
1266
1267				/* mux-mask corresponding to sam9x60 SoC in TFBGA228L package */
1268				atmel,mux-mask = <
1269						 /*	A	B	C	*/
1270						 0xffffffff 0xffe03fff 0xef00019d	/* pioA */
1271						 0x03ffffff 0x02fc7e7f 0x00780000	/* pioB */
1272						 0xffffffff 0xffffffff 0xf83fffff	/* pioC */
1273						 0x003fffff 0x003f8000 0x00000000	/* pioD */
1274						 >;
1275
1276				pioA: gpio@fffff400 {
1277					compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
1278					reg = <0xfffff400 0x200>;
1279					interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
1280					#gpio-cells = <2>;
1281					gpio-controller;
1282					interrupt-controller;
1283					#interrupt-cells = <2>;
1284					clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
1285				};
1286
1287				pioB: gpio@fffff600 {
1288					compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
1289					reg = <0xfffff600 0x200>;
1290					interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
1291					#gpio-cells = <2>;
1292					gpio-controller;
1293					#gpio-lines = <26>;
1294					interrupt-controller;
1295					#interrupt-cells = <2>;
1296					clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
1297				};
1298
1299				pioC: gpio@fffff800 {
1300					compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
1301					reg = <0xfffff800 0x200>;
1302					interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
1303					#gpio-cells = <2>;
1304					gpio-controller;
1305					interrupt-controller;
1306					#interrupt-cells = <2>;
1307					clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
1308				};
1309
1310				pioD: gpio@fffffa00 {
1311					compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
1312					reg = <0xfffffa00 0x200>;
1313					interrupts = <44 IRQ_TYPE_LEVEL_HIGH 1>;
1314					#gpio-cells = <2>;
1315					gpio-controller;
1316					#gpio-lines = <22>;
1317					interrupt-controller;
1318					#interrupt-cells = <2>;
1319					clocks = <&pmc PMC_TYPE_PERIPHERAL 44>;
1320				};
1321			};
1322
1323			pmc: clock-controller@fffffc00 {
1324				compatible = "microchip,sam9x60-pmc", "syscon";
1325				reg = <0xfffffc00 0x200>;
1326				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1327				#clock-cells = <2>;
1328				clocks = <&clk32k 1>, <&clk32k 0>, <&main_xtal>;
1329				clock-names = "td_slck", "md_slck", "main_xtal";
1330			};
1331
1332			reset_controller: reset-controller@fffffe00 {
1333				compatible = "microchip,sam9x60-rstc";
1334				reg = <0xfffffe00 0x10>;
1335				clocks = <&clk32k 0>;
1336			};
1337
1338			shutdown_controller: poweroff@fffffe10 {
1339				compatible = "microchip,sam9x60-shdwc";
1340				reg = <0xfffffe10 0x10>;
1341				clocks = <&clk32k 0>;
1342				#address-cells = <1>;
1343				#size-cells = <0>;
1344				atmel,wakeup-rtc-timer;
1345				atmel,wakeup-rtt-timer;
1346				status = "disabled";
1347			};
1348
1349			rtt: rtc@fffffe20 {
1350				compatible = "microchip,sam9x60-rtt", "atmel,at91sam9260-rtt";
1351				reg = <0xfffffe20 0x20>;
1352				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1353				clocks = <&clk32k 1>;
1354			};
1355
1356			pit: timer@fffffe40 {
1357				compatible = "atmel,at91sam9260-pit";
1358				reg = <0xfffffe40 0x10>;
1359				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1360				clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
1361			};
1362
1363			clk32k: clock-controller@fffffe50 {
1364				compatible = "microchip,sam9x60-sckc";
1365				reg = <0xfffffe50 0x4>;
1366				clocks = <&slow_xtal>;
1367				#clock-cells = <1>;
1368			};
1369
1370			gpbr: syscon@fffffe60 {
1371				compatible = "microchip,sam9x60-gpbr", "atmel,at91sam9260-gpbr", "syscon";
1372				reg = <0xfffffe60 0x10>;
1373			};
1374
1375			rtc: rtc@fffffea8 {
1376				compatible = "microchip,sam9x60-rtc", "atmel,at91sam9x5-rtc";
1377				reg = <0xfffffea8 0x100>;
1378				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1379				clocks = <&clk32k 1>;
1380			};
1381
1382			watchdog: watchdog@ffffff80 {
1383				compatible = "microchip,sam9x60-wdt";
1384				reg = <0xffffff80 0x24>;
1385				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1386				clocks = <&clk32k 0>;
1387				status = "disabled";
1388			};
1389		};
1390	};
1391};