Linux Audio

Check our new training course

Embedded Linux training

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