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