Linux Audio

Check our new training course

Yocto / OpenEmbedded training

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