lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c14b3c4d-668f-49c5-b521-575b895ed2c9@tuxon.dev>
Date: Mon, 15 Jul 2024 20:58:10 +0300
From: claudiu beznea <claudiu.beznea@...on.dev>
To: Varshini.Rajendran@...rochip.com, robh@...nel.org, krzk+dt@...nel.org,
 conor+dt@...nel.org, Nicolas.Ferre@...rochip.com,
 devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 25/27] ARM: dts: at91: sam9x7: add device tree for SoC



On 15.07.2024 13:47, Varshini.Rajendran@...rochip.com wrote:
> Hi Claudiu,
> 
> On 14/07/24 7:14 pm, claudiu beznea wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> Hi, Varshini,
>>
>> On 03.07.2024 13:29, Varshini Rajendran wrote:
>>> Add device tree file for SAM9X7 SoC family.
>>>
>>> Co-developed-by: Nicolas Ferre <nicolas.ferre@...rochip.com>
>>> Signed-off-by: Nicolas Ferre <nicolas.ferre@...rochip.com>
>>> Signed-off-by: Varshini Rajendran <varshini.rajendran@...rochip.com>
>>> ---
>>> Changed in v5:
>>> - Sorted node properties according dts coding style.
>>> - Removed space before pwn status.
>>> - Fixed DT schema warnings related to usart.
>>> - Aligned <> braces.
>>> - Changed spaces to tabs.
>>> - Changed node names to generic names.
>>> - Corrected the typo in gpbr compatible.
>>> ---
>>>   arch/arm/boot/dts/microchip/sam9x7.dtsi | 1226 +++++++++++++++++++++++
>>>   1 file changed, 1226 insertions(+)
>>>   create mode 100644 arch/arm/boot/dts/microchip/sam9x7.dtsi
>>>
>>> diff --git a/arch/arm/boot/dts/microchip/sam9x7.dtsi b/arch/arm/boot/dts/microchip/sam9x7.dtsi
>>> new file mode 100644
>>> index 000000000000..0e3fb94f40b6
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/microchip/sam9x7.dtsi
>>> @@ -0,0 +1,1226 @@
>>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>>> +/*
>>> + * sam9x7.dtsi - Device Tree Include file for Microchip SAM9X7 SoC family
>>> + *
>>> + * Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries
>>> + *
>>> + * Author: Varshini Rajendran <varshini.rajendran@...rochip.com>
>>> + */
>>> +
>>> +#include <dt-bindings/clock/at91.h>
>>> +#include <dt-bindings/dma/at91.h>
>>> +#include <dt-bindings/gpio/gpio.h>
>>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>>> +#include <dt-bindings/interrupt-controller/irq.h>
>>> +#include <dt-bindings/mfd/at91-usart.h>
>>> +#include <dt-bindings/mfd/atmel-flexcom.h>
>>> +#include <dt-bindings/pinctrl/at91.h>
>>> +
>>> +/ {
>>> +     model = "Microchip SAM9X7 SoC";
>>> +     compatible = "microchip,sam9x7";
>>> +     #address-cells = <1>;
>>> +     #size-cells = <1>;
>>> +     interrupt-parent = <&aic>;
>>> +
>>> +     aliases {
>>> +             serial0 = &dbgu;
>>> +             gpio0 = &pioA;
>>> +             gpio1 = &pioB;
>>> +             gpio2 = &pioC;
>>> +             gpio3 = &pioD;
>>> +     };
>>> +
>>> +     cpus {
>>> +             #address-cells = <1>;
>>> +             #size-cells = <0>;
>>> +
>>> +             cpu@0 {
>>> +                     compatible = "arm,arm926ej-s";
>>> +                     reg = <0>;
>>> +                     device_type = "cpu";
>>> +             };
>>> +     };
>>> +
>>> +     clocks {
>>> +             slow_xtal: clock-slowxtal {
>>> +                     compatible = "fixed-clock";
>>> +                     #clock-cells = <0>;
>>> +             };
>>> +
>>> +             main_xtal: clock-mainxtal {
>>> +                     compatible = "fixed-clock";
>>> +                     #clock-cells = <0>;
>>> +             };
>>> +     };
>>> +
>>> +     sram: sram@...000 {
>>> +             compatible = "mmio-sram";
>>> +             reg = <0x300000 0x10000>;
>>> +             ranges = <0 0x300000 0x10000>;
>>> +             #address-cells = <1>;
>>> +             #size-cells = <1>;
>>> +     };
>>> +
>>> +     ahb {
>>> +             compatible = "simple-bus";
>>> +             ranges;
>>> +             #address-cells = <1>;
>>> +             #size-cells = <1>;
>>> +
>>> +             sdmmc0: mmc@...00000 {
>>> +                     compatible = "microchip,sam9x7-sdhci", "microchip,sam9x60-sdhci";
>>> +                     reg = <0x80000000 0x300>;
>>> +                     interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 12>, <&pmc PMC_TYPE_GCK 12>;
>>> +                     clock-names = "hclock", "multclk";
>>> +                     assigned-clocks = <&pmc PMC_TYPE_GCK 12>;
>>> +                     assigned-clock-rates = <100000000>;
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             sdmmc1: mmc@...00000 {
>>> +                     compatible = "microchip,sam9x7-sdhci", "microchip,sam9x60-sdhci";
>>> +                     reg = <0x90000000 0x300>;
>>> +                     interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_GCK 26>;
>>> +                     clock-names = "hclock", "multclk";
>>> +                     assigned-clocks = <&pmc PMC_TYPE_GCK 26>;
>>> +                     assigned-clock-rates = <100000000>;
>>> +                     status = "disabled";
>>> +             };
>>> +     };
>>> +
>>> +     apb {
>>> +             compatible = "simple-bus";
>>> +             ranges;
>>> +             #address-cells = <1>;
>>> +             #size-cells = <1>;
>>> +
>>> +             flx4: flexcom@...00000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf0000000 0x200>;
>>> +                     ranges = <0x0 0xf0000000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart4: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>> According to dts coding style that vendor specific properties goes at the
>> end. I'll adjust it when applying, no need to resend for this. Valid for
>> all the uart flexcom nodes.
> Thanks Claudiu.
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(8))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(9))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     spi4: spi@400 {
>>> +                             compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
>>> +                             reg = <0x400 0x200>;
>>> +                             interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
>>> +                             clock-names = "spi_clk";
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(8))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(9))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c4: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(8))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(9))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx5: flexcom@...04000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf0004000 0x200>;
>>> +                     ranges = <0x0 0xf0004000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart5: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(10))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(11))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     spi5: spi@400 {
>>> +                             compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
>>> +                             reg = <0x400 0x200>;
>>> +                             interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
>>> +                             clock-names = "spi_clk";
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(10))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(11))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c5: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(10))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(11))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             dma0: dma-controller@...08000 {
>>> +                     compatible = "microchip,sam9x7-dma", "atmel,sama5d4-dma";
>>> +                     reg = <0xf0008000 0x1000>;
>>> +                     interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     #dma-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
>>> +                     clock-names = "dma_clk";
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             ssc: ssc@...10000 {
>>> +                     compatible = "microchip,sam9x7-ssc", "atmel,at91sam9g45-ssc";
>>> +                     reg = <0xf0010000 0x4000>;
>>> +                     interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
>>> +                     clock-names = "pclk";
>>> +                     dmas = <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(38))>,
>>> +                            <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(39))>;
>>> +                     dma-names = "tx", "rx";
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             i2s: i2s@...1c000 {
>>> +                     compatible = "microchip,sam9x7-i2smcc", "microchip,sam9x60-i2smcc";
>>> +                     reg = <0xf001c000 0x100>;
>>> +                     interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 34>, <&pmc PMC_TYPE_GCK 34>;
>>> +                     clock-names = "pclk", "gclk";
>>> +                     dmas = <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(36))>,
>>> +                            <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(37))>;
>>> +                     dma-names = "tx", "rx";
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             flx11: flexcom@...20000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf0020000 0x200>;
>>> +                     ranges = <0x0 0xf0020000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart11: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(22))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(23))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c11: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(22))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(23))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx12: flexcom@...24000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf0024000 0x200>;
>>> +                     ranges = <0x0 0xf0024000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart12: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(24))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(25))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c12: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(24))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(25))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             pit64b0: timer@...28000 {
>>> +                     compatible = "microchip,sam9x7-pit64b", "microchip,sam9x60-pit64b";
>>> +                     reg = <0xf0028000 0x100>;
>>> +                     interrupts = <37 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 37>, <&pmc PMC_TYPE_GCK 37>;
>>> +                     clock-names = "pclk", "gclk";
>>> +             };
>>> +
>>> +             sha: crypto@...2c000 {
>>> +                     compatible = "microchip,sam9x7-sha", "atmel,at91sam9g46-sha";
>>> +                     reg = <0xf002c000 0x100>;
>>> +                     interrupts = <41 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
>>> +                     clock-names = "sha_clk";
>>> +                     dmas = <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(34))>;
>>> +                     dma-names = "tx";
>>> +             };
>>> +
>>> +             trng: rng@...30000 {
>>> +                     compatible = "microchip,sam9x7-trng", "microchip,sam9x60-trng";
>>> +                     reg = <0xf0030000 0x100>;
>>> +                     interrupts = <38 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             aes: crypto@...34000 {
>>> +                     compatible = "microchip,sam9x7-aes", "atmel,at91sam9g46-aes";
>>> +                     reg = <0xf0034000 0x100>;
>>> +                     interrupts = <39 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
>>> +                     clock-names = "aes_clk";
>>> +                     dmas = <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(32))>,
>>> +                            <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(33))>;
>>> +                     dma-names = "tx", "rx";
>>> +             };
>>> +
>>> +             tdes: crypto@...38000 {
>>> +                     compatible = "microchip,sam9x7-tdes", "atmel,at91sam9g46-tdes";
>>> +                     reg = <0xf0038000 0x100>;
>>> +                     interrupts = <40 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
>>> +                     clock-names = "tdes_clk";
>>> +                     dmas = <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(31))>,
>>> +                            <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(30))>;
>>> +                     dma-names = "tx", "rx";
>>> +             };
>>> +
>>> +             classd: sound@...3c000 {
>>> +                     compatible = "microchip,sam9x7-classd", "atmel,sama5d2-classd";
>>> +                     reg = <0xf003c000 0x100>;
>>> +                     interrupts = <42 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_GCK 42>;
>>> +                     clock-names = "pclk", "gclk";
>>> +                     dmas = <&dma0
>>> +                             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
>>> +                              AT91_XDMAC_DT_PERID(35))>;
>>> +                     dma-names = "tx";
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             pit64b1: timer@...40000 {
>>> +                     compatible = "microchip,sam9x7-pit64b", "microchip,sam9x60-pit64b";
>>> +                     reg = <0xf0040000 0x100>;
>>> +                     interrupts = <58 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 58>, <&pmc PMC_TYPE_GCK 58>;
>>> +                     clock-names = "pclk", "gclk";
>>> +             };
>>> +
>>> +             can0: can@...00000 {
>>> +                     compatible = "bosch,m_can";
>>> +                     reg = <0xf8000000 0x100>, <0x300000 0x7800>;
>>> +                     reg-names = "m_can", "message_ram";
>>> +                     interrupts = <29 IRQ_TYPE_LEVEL_HIGH 0>,
>>> +                                  <68 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     interrupt-names = "int0", "int1";
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 29>, <&pmc PMC_TYPE_GCK 29>;
>>> +                     clock-names = "hclk", "cclk";
>>> +                     assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_GCK 29>;
>>> +                     assigned-clock-rates = <480000000>, <40000000>;
>>> +                     assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
>>> +                     bosch,mram-cfg = <0x3400 0 0 64 0 0 32 32>;
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             can1: can@...04000 {
>>> +                     compatible = "bosch,m_can";
>>> +                     reg = <0xf8004000 0x100>, <0x300000 0xbc00>;
>>> +                     reg-names = "m_can", "message_ram";
>>> +                     interrupts = <30 IRQ_TYPE_LEVEL_HIGH 0>,
>>> +                                  <69 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     interrupt-names = "int0", "int1";
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 30>, <&pmc PMC_TYPE_GCK 30>;
>>> +                     clock-names = "hclk", "cclk";
>>> +                     assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_GCK 30>;
>>> +                     assigned-clock-rates = <480000000>, <40000000>;
>>> +                     assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
>>> +                     bosch,mram-cfg = <0x7800 0 0 64 0 0 32 32>;
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             tcb: timer@...08000 {
>>> +                     compatible = "microchip,sam9x7-tcb","atmel,sama5d2-tcb", "simple-mfd", "syscon";
>>> +                     reg = <0xf8008000 0x100>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <0>;
>>> +                     interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_GCK 17>, <&clk32k 0>;
>>> +                     clock-names = "t0_clk", "gclk", "slow_clk";
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             flx6: flexcom@...10000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf8010000 0x200>;
>>> +                     ranges = <0x0 0xf8010000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart6: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(12))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(13))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c6: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(12))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(13))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx7: flexcom@...14000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf8014000 0x200>;
>>> +                     ranges = <0x0 0xf8014000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart7: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(14))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(15))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c7: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(14))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(15))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx8: flexcom@...18000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf8018000 0x200>;
>>> +                     ranges = <0x0 0xf8018000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart8: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(16))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(17))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c8: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(16))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(17))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx0: flexcom@...1c000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf801c000 0x200>;
>>> +                     ranges = <0x0 0xf801c000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart0: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(0))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(1))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     spi0: spi@400 {
>>> +                             compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
>>> +                             reg = <0x400 0x200>;
>>> +                             interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
>>> +                             clock-names = "spi_clk";
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(0))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(1))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c0: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(0))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(1))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx1: flexcom@...20000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf8020000 0x200>;
>>> +                     ranges = <0x0 0xf8020000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart1: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(2))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(3))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     spi1: spi@400 {
>>> +                             compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
>>> +                             reg = <0x400 0x200>;
>>> +                             interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
>>> +                             clock-names = "spi_clk";
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(2))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(3))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c1: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(2))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(3))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx2: flexcom@...24000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf8024000 0x200>;
>>> +                     ranges = <0x0 0xf8024000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart2: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(4))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(5))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     spi2: spi@400 {
>>> +                             compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
>>> +                             reg = <0x400 0x200>;
>>> +                             interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
>>> +                             clock-names = "spi_clk";
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(4))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(5))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c2: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(4))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(5))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx3: flexcom@...28000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf8028000 0x200>;
>>> +                     ranges = <0x0 0xf8028000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart3: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(6))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(7))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     spi3: spi@400 {
>>> +                             compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
>>> +                             reg = <0x400 0x200>;
>>> +                             interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
>>> +                             clock-names = "spi_clk";
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(6))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(7))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c3: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(6))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(7))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             gmac: ethernet@...2c000 {
>>> +                     compatible = "microchip,sam9x7-gem", "microchip,sama7g5-gem";
>>> +                     reg = <0xf802c000 0x1000>;
>>> +                     interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>,        /* Queue 0 */
>>> +                                  <60 IRQ_TYPE_LEVEL_HIGH 3>,        /* Queue 1 */
>>> +                                  <61 IRQ_TYPE_LEVEL_HIGH 3>,        /* Queue 2 */
>>> +                                  <62 IRQ_TYPE_LEVEL_HIGH 3>,        /* Queue 3 */
>>> +                                  <63 IRQ_TYPE_LEVEL_HIGH 3>,        /* Queue 4 */
>>> +                                  <64 IRQ_TYPE_LEVEL_HIGH 3>;        /* Queue 5 */
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_GCK 24>, <&pmc PMC_TYPE_GCK 67>;
>>> +                     clock-names = "hclk", "pclk", "tx_clk", "tsu_clk";
>>> +                     assigned-clocks = <&pmc PMC_TYPE_GCK 67>;
>> Is this needed?
> Sorry I missed to add this line under it. This is needed for the PTP 
> functionality.
> 
> assigned-clock-rates = <266666666>;
> 
> I can send another version if you want me to.
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             pwm0: pwm@...34000 {
>>> +                     compatible = "microchip,sam9x7-pwm", "microchip,sam9x60-pwm";
>>> +                     reg = <0xf8034000 0x300>;
>>> +                     interrupts = <18 IRQ_TYPE_LEVEL_HIGH 4>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
>>> +                     #pwm-cells = <3>;
>>> +                     status = "disabled";
>>> +             };
>>> +
>>> +             flx9: flexcom@...40000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf8040000 0x200>;
>>> +                     ranges = <0x0 0xf8040000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart9: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(18))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(19))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c9: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(18))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(19))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             flx10: flexcom@...44000 {
>>> +                     compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
>>> +                     reg = <0xf8044000 0x200>;
>>> +                     ranges = <0x0 0xf8044000 0x800>;
>>> +                     #address-cells = <1>;
>>> +                     #size-cells = <1>;
>>> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
>>> +                     status = "disabled";
>>> +
>>> +                     uart10: serial@200 {
>>> +                             compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
>>> +                             reg = <0x200 0x200>;
>>> +                             interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
>>> +                             clock-names = "usart";
>>> +                             atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(20))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(21))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,use-dma-rx;
>>> +                             atmel,use-dma-tx;
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +
>>> +                     i2c10: i2c@600 {
>>> +                             compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
>>> +                             reg = <0x600 0x200>;
>>> +                             interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
>>> +                             clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
>>> +                             dmas = <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(20))>,
>>> +                                    <&dma0
>>> +                                     (AT91_XDMAC_DT_MEM_IF(0) |
>>> +                                      AT91_XDMAC_DT_PER_IF(1) |
>>> +                                      AT91_XDMAC_DT_PERID(21))>;
>>> +                             dma-names = "tx", "rx";
>>> +                             atmel,fifo-size = <16>;
>>> +                             status = "disabled";
>>> +                     };
>>> +             };
>>> +
>>> +             sfr: sfr@...50000 {
>>> +                     compatible = "microchip,sam9x7-sfr", "microchip,sam9x60-sfr", "syscon";
>>> +                     reg = <0xf8050000 0x100>;
>>> +             };
>>> +
>>> +             matrix: matrix@...fde00 {
>>> +                     compatible = "microchip,sam9x7-matrix", "atmel,at91sam9x5-matrix", "syscon";
>>> +                     reg = <0xffffde00 0x200>;
>>> +             };
>>> +
>>> +             pmecc: ecc-engine@...fe000 {
>>> +                     compatible = "microchip,sam9x7-pmecc", "atmel,at91sam9g45-pmecc";
>>> +                     reg = <0xffffe000 0x300>, <0xffffe600 0x100>;
>>> +             };
>>> +
>>> +             mpddrc: mpddrc@...fe800 {
>>> +                     compatible = "microchip,sam9x7-ddramc", "atmel,sama5d3-ddramc";
>>> +                     reg = <0xffffe800 0x200>;
>>> +                     clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_CORE PMC_MCK>;
>>> +                     clock-names = "ddrck", "mpddr";
>>> +             };
>>> +
>>> +             smc: smc@...fea00 {
>>> +                     compatible = "microchip,sam9x7-smc", "atmel,at91sam9260-smc", "syscon";
>>> +                     reg = <0xffffea00 0x100>;
>>> +             };
>>> +
>>> +             aic: interrupt-controller@...ff100 {
>>> +                     compatible = "microchip,sam9x7-aic", "microchip,sam9x60-aic";
>>> +                     reg = <0xfffff100 0x100>;
>>> +                     #interrupt-cells = <3>;
>>> +                     interrupt-controller;
>>> +                     atmel,external-irqs = <31>;
>>> +                     microchip,nr-irqs = <70>;
>> Ah, this needs to be clarified before applying.
> Can you discard the property and apply the rest (if this version can be 
> applied)? 

I think it's not booting anyway w/o microchip,nr-irqs. Am I wrong?

> I can resolve the irq number related issue in a separate 
> series. Maybe fix the compatibles if required.

I prefer to have the driver ready before applying dts.

Thank you,
Claudiu Beznea

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ