1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * lan966x.dtsi - Device Tree Include file for Microchip LAN966 family SoC 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * Copyright (C) 2021 Microchip Technology, Inc. and its subsidiaries 6*f126890aSEmmanuel Vadot * 7*f126890aSEmmanuel Vadot * Author: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com> 8*f126890aSEmmanuel Vadot * 9*f126890aSEmmanuel Vadot */ 10*f126890aSEmmanuel Vadot 11*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 12*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 13*f126890aSEmmanuel Vadot#include <dt-bindings/mfd/atmel-flexcom.h> 14*f126890aSEmmanuel Vadot#include <dt-bindings/dma/at91.h> 15*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 16*f126890aSEmmanuel Vadot#include <dt-bindings/clock/microchip,lan966x.h> 17*f126890aSEmmanuel Vadot 18*f126890aSEmmanuel Vadot/ { 19*f126890aSEmmanuel Vadot model = "Microchip LAN966 family SoC"; 20*f126890aSEmmanuel Vadot compatible = "microchip,lan966"; 21*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 22*f126890aSEmmanuel Vadot #address-cells = <1>; 23*f126890aSEmmanuel Vadot #size-cells = <1>; 24*f126890aSEmmanuel Vadot 25*f126890aSEmmanuel Vadot cpus { 26*f126890aSEmmanuel Vadot #address-cells = <1>; 27*f126890aSEmmanuel Vadot #size-cells = <0>; 28*f126890aSEmmanuel Vadot 29*f126890aSEmmanuel Vadot cpu@0 { 30*f126890aSEmmanuel Vadot device_type = "cpu"; 31*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 32*f126890aSEmmanuel Vadot clock-frequency = <600000000>; 33*f126890aSEmmanuel Vadot reg = <0x0>; 34*f126890aSEmmanuel Vadot }; 35*f126890aSEmmanuel Vadot }; 36*f126890aSEmmanuel Vadot 37*f126890aSEmmanuel Vadot clocks { 38*f126890aSEmmanuel Vadot sys_clk: sys_clk { 39*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 40*f126890aSEmmanuel Vadot #clock-cells = <0>; 41*f126890aSEmmanuel Vadot clock-frequency = <165625000>; 42*f126890aSEmmanuel Vadot }; 43*f126890aSEmmanuel Vadot 44*f126890aSEmmanuel Vadot cpu_clk: cpu_clk { 45*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 46*f126890aSEmmanuel Vadot #clock-cells = <0>; 47*f126890aSEmmanuel Vadot clock-frequency = <600000000>; 48*f126890aSEmmanuel Vadot }; 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot ddr_clk: ddr_clk { 51*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 52*f126890aSEmmanuel Vadot #clock-cells = <0>; 53*f126890aSEmmanuel Vadot clock-frequency = <300000000>; 54*f126890aSEmmanuel Vadot }; 55*f126890aSEmmanuel Vadot 56*f126890aSEmmanuel Vadot nic_clk: nic_clk { 57*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 58*f126890aSEmmanuel Vadot #clock-cells = <0>; 59*f126890aSEmmanuel Vadot clock-frequency = <200000000>; 60*f126890aSEmmanuel Vadot }; 61*f126890aSEmmanuel Vadot }; 62*f126890aSEmmanuel Vadot 63*f126890aSEmmanuel Vadot clks: clock-controller@e00c00a8 { 64*f126890aSEmmanuel Vadot compatible = "microchip,lan966x-gck"; 65*f126890aSEmmanuel Vadot #clock-cells = <1>; 66*f126890aSEmmanuel Vadot clocks = <&cpu_clk>, <&ddr_clk>, <&sys_clk>; 67*f126890aSEmmanuel Vadot clock-names = "cpu", "ddr", "sys"; 68*f126890aSEmmanuel Vadot reg = <0xe00c00a8 0x38>, <0xe00c02cc 0x4>; 69*f126890aSEmmanuel Vadot }; 70*f126890aSEmmanuel Vadot 71*f126890aSEmmanuel Vadot timer { 72*f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 73*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 74*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 75*f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 76*f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 77*f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 78*f126890aSEmmanuel Vadot clock-frequency = <37500000>; 79*f126890aSEmmanuel Vadot }; 80*f126890aSEmmanuel Vadot 81*f126890aSEmmanuel Vadot soc { 82*f126890aSEmmanuel Vadot compatible = "simple-bus"; 83*f126890aSEmmanuel Vadot #address-cells = <1>; 84*f126890aSEmmanuel Vadot #size-cells = <1>; 85*f126890aSEmmanuel Vadot ranges; 86*f126890aSEmmanuel Vadot 87*f126890aSEmmanuel Vadot udc: usb@200000 { 88*f126890aSEmmanuel Vadot compatible = "microchip,lan9662-udc", 89*f126890aSEmmanuel Vadot "atmel,sama5d3-udc"; 90*f126890aSEmmanuel Vadot reg = <0x00200000 0x80000>, 91*f126890aSEmmanuel Vadot <0xe0808000 0x400>; 92*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 93*f126890aSEmmanuel Vadot clocks = <&clks GCK_GATE_UDPHS>, <&nic_clk>; 94*f126890aSEmmanuel Vadot clock-names = "pclk", "hclk"; 95*f126890aSEmmanuel Vadot status = "disabled"; 96*f126890aSEmmanuel Vadot }; 97*f126890aSEmmanuel Vadot 98*f126890aSEmmanuel Vadot switch: switch@e0000000 { 99*f126890aSEmmanuel Vadot compatible = "microchip,lan966x-switch"; 100*f126890aSEmmanuel Vadot reg = <0xe0000000 0x0100000>, 101*f126890aSEmmanuel Vadot <0xe2000000 0x0800000>; 102*f126890aSEmmanuel Vadot reg-names = "cpu", "gcb"; 103*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 104*f126890aSEmmanuel Vadot <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 105*f126890aSEmmanuel Vadot <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 106*f126890aSEmmanuel Vadot <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 107*f126890aSEmmanuel Vadot <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 108*f126890aSEmmanuel Vadot interrupt-names = "xtr", "fdma", "ana", "ptp", 109*f126890aSEmmanuel Vadot "ptp-ext"; 110*f126890aSEmmanuel Vadot resets = <&reset 0>; 111*f126890aSEmmanuel Vadot reset-names = "switch"; 112*f126890aSEmmanuel Vadot status = "disabled"; 113*f126890aSEmmanuel Vadot 114*f126890aSEmmanuel Vadot ethernet-ports { 115*f126890aSEmmanuel Vadot #address-cells = <1>; 116*f126890aSEmmanuel Vadot #size-cells = <0>; 117*f126890aSEmmanuel Vadot 118*f126890aSEmmanuel Vadot port0: port@0 { 119*f126890aSEmmanuel Vadot reg = <0>; 120*f126890aSEmmanuel Vadot status = "disabled"; 121*f126890aSEmmanuel Vadot }; 122*f126890aSEmmanuel Vadot 123*f126890aSEmmanuel Vadot port1: port@1 { 124*f126890aSEmmanuel Vadot reg = <1>; 125*f126890aSEmmanuel Vadot status = "disabled"; 126*f126890aSEmmanuel Vadot }; 127*f126890aSEmmanuel Vadot 128*f126890aSEmmanuel Vadot port2: port@2 { 129*f126890aSEmmanuel Vadot reg = <2>; 130*f126890aSEmmanuel Vadot status = "disabled"; 131*f126890aSEmmanuel Vadot }; 132*f126890aSEmmanuel Vadot 133*f126890aSEmmanuel Vadot port3: port@3 { 134*f126890aSEmmanuel Vadot reg = <3>; 135*f126890aSEmmanuel Vadot status = "disabled"; 136*f126890aSEmmanuel Vadot }; 137*f126890aSEmmanuel Vadot 138*f126890aSEmmanuel Vadot port4: port@4 { 139*f126890aSEmmanuel Vadot reg = <4>; 140*f126890aSEmmanuel Vadot status = "disabled"; 141*f126890aSEmmanuel Vadot }; 142*f126890aSEmmanuel Vadot 143*f126890aSEmmanuel Vadot port5: port@5 { 144*f126890aSEmmanuel Vadot reg = <5>; 145*f126890aSEmmanuel Vadot status = "disabled"; 146*f126890aSEmmanuel Vadot }; 147*f126890aSEmmanuel Vadot 148*f126890aSEmmanuel Vadot port6: port@6 { 149*f126890aSEmmanuel Vadot reg = <6>; 150*f126890aSEmmanuel Vadot status = "disabled"; 151*f126890aSEmmanuel Vadot }; 152*f126890aSEmmanuel Vadot 153*f126890aSEmmanuel Vadot port7: port@7 { 154*f126890aSEmmanuel Vadot reg = <7>; 155*f126890aSEmmanuel Vadot status = "disabled"; 156*f126890aSEmmanuel Vadot }; 157*f126890aSEmmanuel Vadot }; 158*f126890aSEmmanuel Vadot }; 159*f126890aSEmmanuel Vadot 160*f126890aSEmmanuel Vadot otp: otp@e0021000 { 161*f126890aSEmmanuel Vadot compatible = "microchip,lan9668-otpc", "microchip,lan9662-otpc"; 162*f126890aSEmmanuel Vadot reg = <0xe0021000 0x300>; 163*f126890aSEmmanuel Vadot }; 164*f126890aSEmmanuel Vadot 165*f126890aSEmmanuel Vadot flx0: flexcom@e0040000 { 166*f126890aSEmmanuel Vadot compatible = "atmel,sama5d2-flexcom"; 167*f126890aSEmmanuel Vadot reg = <0xe0040000 0x100>; 168*f126890aSEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM0>; 169*f126890aSEmmanuel Vadot #address-cells = <1>; 170*f126890aSEmmanuel Vadot #size-cells = <1>; 171*f126890aSEmmanuel Vadot ranges = <0x0 0xe0040000 0x800>; 172*f126890aSEmmanuel Vadot status = "disabled"; 173*f126890aSEmmanuel Vadot 174*f126890aSEmmanuel Vadot usart0: serial@200 { 175*f126890aSEmmanuel Vadot compatible = "atmel,at91sam9260-usart"; 176*f126890aSEmmanuel Vadot reg = <0x200 0x200>; 177*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 178*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(3)>, 179*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(2)>; 180*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 181*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 182*f126890aSEmmanuel Vadot clock-names = "usart"; 183*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 184*f126890aSEmmanuel Vadot status = "disabled"; 185*f126890aSEmmanuel Vadot }; 186*f126890aSEmmanuel Vadot 187*f126890aSEmmanuel Vadot spi0: spi@400 { 188*f126890aSEmmanuel Vadot compatible = "atmel,at91rm9200-spi"; 189*f126890aSEmmanuel Vadot reg = <0x400 0x200>; 190*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 191*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(3)>, 192*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(2)>; 193*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 194*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 195*f126890aSEmmanuel Vadot clock-names = "spi_clk"; 196*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 197*f126890aSEmmanuel Vadot #address-cells = <1>; 198*f126890aSEmmanuel Vadot #size-cells = <0>; 199*f126890aSEmmanuel Vadot status = "disabled"; 200*f126890aSEmmanuel Vadot }; 201*f126890aSEmmanuel Vadot 202*f126890aSEmmanuel Vadot i2c0: i2c@600 { 203*f126890aSEmmanuel Vadot compatible = "microchip,sam9x60-i2c"; 204*f126890aSEmmanuel Vadot reg = <0x600 0x200>; 205*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 206*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(3)>, 207*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(2)>; 208*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 209*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 210*f126890aSEmmanuel Vadot #address-cells = <1>; 211*f126890aSEmmanuel Vadot #size-cells = <0>; 212*f126890aSEmmanuel Vadot status = "disabled"; 213*f126890aSEmmanuel Vadot }; 214*f126890aSEmmanuel Vadot }; 215*f126890aSEmmanuel Vadot 216*f126890aSEmmanuel Vadot flx1: flexcom@e0044000 { 217*f126890aSEmmanuel Vadot compatible = "atmel,sama5d2-flexcom"; 218*f126890aSEmmanuel Vadot reg = <0xe0044000 0x100>; 219*f126890aSEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM1>; 220*f126890aSEmmanuel Vadot #address-cells = <1>; 221*f126890aSEmmanuel Vadot #size-cells = <1>; 222*f126890aSEmmanuel Vadot ranges = <0x0 0xe0044000 0x800>; 223*f126890aSEmmanuel Vadot status = "disabled"; 224*f126890aSEmmanuel Vadot 225*f126890aSEmmanuel Vadot usart1: serial@200 { 226*f126890aSEmmanuel Vadot compatible = "atmel,at91sam9260-usart"; 227*f126890aSEmmanuel Vadot reg = <0x200 0x200>; 228*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 229*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(5)>, 230*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(4)>; 231*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 232*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 233*f126890aSEmmanuel Vadot clock-names = "usart"; 234*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 235*f126890aSEmmanuel Vadot status = "disabled"; 236*f126890aSEmmanuel Vadot }; 237*f126890aSEmmanuel Vadot 238*f126890aSEmmanuel Vadot spi1: spi@400 { 239*f126890aSEmmanuel Vadot compatible = "atmel,at91rm9200-spi"; 240*f126890aSEmmanuel Vadot reg = <0x400 0x200>; 241*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 242*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(5)>, 243*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(4)>; 244*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 245*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 246*f126890aSEmmanuel Vadot clock-names = "spi_clk"; 247*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 248*f126890aSEmmanuel Vadot #address-cells = <1>; 249*f126890aSEmmanuel Vadot #size-cells = <0>; 250*f126890aSEmmanuel Vadot status = "disabled"; 251*f126890aSEmmanuel Vadot }; 252*f126890aSEmmanuel Vadot 253*f126890aSEmmanuel Vadot i2c1: i2c@600 { 254*f126890aSEmmanuel Vadot compatible = "microchip,sam9x60-i2c"; 255*f126890aSEmmanuel Vadot reg = <0x600 0x200>; 256*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 257*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(5)>, 258*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(4)>; 259*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 260*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 261*f126890aSEmmanuel Vadot #address-cells = <1>; 262*f126890aSEmmanuel Vadot #size-cells = <0>; 263*f126890aSEmmanuel Vadot status = "disabled"; 264*f126890aSEmmanuel Vadot }; 265*f126890aSEmmanuel Vadot }; 266*f126890aSEmmanuel Vadot 267*f126890aSEmmanuel Vadot trng: rng@e0048000 { 268*f126890aSEmmanuel Vadot compatible = "atmel,at91sam9g45-trng"; 269*f126890aSEmmanuel Vadot reg = <0xe0048000 0x100>; 270*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 271*f126890aSEmmanuel Vadot }; 272*f126890aSEmmanuel Vadot 273*f126890aSEmmanuel Vadot aes: crypto@e004c000 { 274*f126890aSEmmanuel Vadot compatible = "atmel,at91sam9g46-aes"; 275*f126890aSEmmanuel Vadot reg = <0xe004c000 0x100>; 276*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 277*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(12)>, 278*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(13)>; 279*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 280*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 281*f126890aSEmmanuel Vadot clock-names = "aes_clk"; 282*f126890aSEmmanuel Vadot }; 283*f126890aSEmmanuel Vadot 284*f126890aSEmmanuel Vadot flx2: flexcom@e0060000 { 285*f126890aSEmmanuel Vadot compatible = "atmel,sama5d2-flexcom"; 286*f126890aSEmmanuel Vadot reg = <0xe0060000 0x100>; 287*f126890aSEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM2>; 288*f126890aSEmmanuel Vadot #address-cells = <1>; 289*f126890aSEmmanuel Vadot #size-cells = <1>; 290*f126890aSEmmanuel Vadot ranges = <0x0 0xe0060000 0x800>; 291*f126890aSEmmanuel Vadot status = "disabled"; 292*f126890aSEmmanuel Vadot 293*f126890aSEmmanuel Vadot usart2: serial@200 { 294*f126890aSEmmanuel Vadot compatible = "atmel,at91sam9260-usart"; 295*f126890aSEmmanuel Vadot reg = <0x200 0x200>; 296*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 297*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(7)>, 298*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(6)>; 299*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 300*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 301*f126890aSEmmanuel Vadot clock-names = "usart"; 302*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 303*f126890aSEmmanuel Vadot status = "disabled"; 304*f126890aSEmmanuel Vadot }; 305*f126890aSEmmanuel Vadot 306*f126890aSEmmanuel Vadot spi2: spi@400 { 307*f126890aSEmmanuel Vadot compatible = "atmel,at91rm9200-spi"; 308*f126890aSEmmanuel Vadot reg = <0x400 0x200>; 309*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 310*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(7)>, 311*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(6)>; 312*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 313*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 314*f126890aSEmmanuel Vadot clock-names = "spi_clk"; 315*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 316*f126890aSEmmanuel Vadot #address-cells = <1>; 317*f126890aSEmmanuel Vadot #size-cells = <0>; 318*f126890aSEmmanuel Vadot status = "disabled"; 319*f126890aSEmmanuel Vadot }; 320*f126890aSEmmanuel Vadot 321*f126890aSEmmanuel Vadot i2c2: i2c@600 { 322*f126890aSEmmanuel Vadot compatible = "microchip,sam9x60-i2c"; 323*f126890aSEmmanuel Vadot reg = <0x600 0x200>; 324*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 325*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(7)>, 326*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(6)>; 327*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 328*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 329*f126890aSEmmanuel Vadot #address-cells = <1>; 330*f126890aSEmmanuel Vadot #size-cells = <0>; 331*f126890aSEmmanuel Vadot status = "disabled"; 332*f126890aSEmmanuel Vadot }; 333*f126890aSEmmanuel Vadot }; 334*f126890aSEmmanuel Vadot 335*f126890aSEmmanuel Vadot flx3: flexcom@e0064000 { 336*f126890aSEmmanuel Vadot compatible = "atmel,sama5d2-flexcom"; 337*f126890aSEmmanuel Vadot reg = <0xe0064000 0x100>; 338*f126890aSEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM3>; 339*f126890aSEmmanuel Vadot #address-cells = <1>; 340*f126890aSEmmanuel Vadot #size-cells = <1>; 341*f126890aSEmmanuel Vadot ranges = <0x0 0xe0064000 0x800>; 342*f126890aSEmmanuel Vadot status = "disabled"; 343*f126890aSEmmanuel Vadot 344*f126890aSEmmanuel Vadot usart3: serial@200 { 345*f126890aSEmmanuel Vadot compatible = "atmel,at91sam9260-usart"; 346*f126890aSEmmanuel Vadot reg = <0x200 0x200>; 347*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 348*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(9)>, 349*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(8)>; 350*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 351*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 352*f126890aSEmmanuel Vadot clock-names = "usart"; 353*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 354*f126890aSEmmanuel Vadot status = "disabled"; 355*f126890aSEmmanuel Vadot }; 356*f126890aSEmmanuel Vadot 357*f126890aSEmmanuel Vadot spi3: spi@400 { 358*f126890aSEmmanuel Vadot compatible = "atmel,at91rm9200-spi"; 359*f126890aSEmmanuel Vadot reg = <0x400 0x200>; 360*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 361*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(9)>, 362*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(8)>; 363*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 364*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 365*f126890aSEmmanuel Vadot clock-names = "spi_clk"; 366*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 367*f126890aSEmmanuel Vadot #address-cells = <1>; 368*f126890aSEmmanuel Vadot #size-cells = <0>; 369*f126890aSEmmanuel Vadot status = "disabled"; 370*f126890aSEmmanuel Vadot }; 371*f126890aSEmmanuel Vadot 372*f126890aSEmmanuel Vadot i2c3: i2c@600 { 373*f126890aSEmmanuel Vadot compatible = "microchip,sam9x60-i2c"; 374*f126890aSEmmanuel Vadot reg = <0x600 0x200>; 375*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 376*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(9)>, 377*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(8)>; 378*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 379*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 380*f126890aSEmmanuel Vadot #address-cells = <1>; 381*f126890aSEmmanuel Vadot #size-cells = <0>; 382*f126890aSEmmanuel Vadot status = "disabled"; 383*f126890aSEmmanuel Vadot }; 384*f126890aSEmmanuel Vadot }; 385*f126890aSEmmanuel Vadot 386*f126890aSEmmanuel Vadot dma0: dma-controller@e0068000 { 387*f126890aSEmmanuel Vadot compatible = "microchip,sama7g5-dma"; 388*f126890aSEmmanuel Vadot reg = <0xe0068000 0x1000>; 389*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 390*f126890aSEmmanuel Vadot #dma-cells = <1>; 391*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 392*f126890aSEmmanuel Vadot clock-names = "dma_clk"; 393*f126890aSEmmanuel Vadot }; 394*f126890aSEmmanuel Vadot 395*f126890aSEmmanuel Vadot sha: crypto@e006c000 { 396*f126890aSEmmanuel Vadot compatible = "atmel,at91sam9g46-sha"; 397*f126890aSEmmanuel Vadot reg = <0xe006c000 0xec>; 398*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 399*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(14)>; 400*f126890aSEmmanuel Vadot dma-names = "tx"; 401*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 402*f126890aSEmmanuel Vadot clock-names = "sha_clk"; 403*f126890aSEmmanuel Vadot }; 404*f126890aSEmmanuel Vadot 405*f126890aSEmmanuel Vadot flx4: flexcom@e0070000 { 406*f126890aSEmmanuel Vadot compatible = "atmel,sama5d2-flexcom"; 407*f126890aSEmmanuel Vadot reg = <0xe0070000 0x100>; 408*f126890aSEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM4>; 409*f126890aSEmmanuel Vadot #address-cells = <1>; 410*f126890aSEmmanuel Vadot #size-cells = <1>; 411*f126890aSEmmanuel Vadot ranges = <0x0 0xe0070000 0x800>; 412*f126890aSEmmanuel Vadot status = "disabled"; 413*f126890aSEmmanuel Vadot 414*f126890aSEmmanuel Vadot usart4: serial@200 { 415*f126890aSEmmanuel Vadot compatible = "atmel,at91sam9260-usart"; 416*f126890aSEmmanuel Vadot reg = <0x200 0x200>; 417*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 418*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(11)>, 419*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(10)>; 420*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 421*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 422*f126890aSEmmanuel Vadot clock-names = "usart"; 423*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 424*f126890aSEmmanuel Vadot status = "disabled"; 425*f126890aSEmmanuel Vadot }; 426*f126890aSEmmanuel Vadot 427*f126890aSEmmanuel Vadot spi4: spi@400 { 428*f126890aSEmmanuel Vadot compatible = "atmel,at91rm9200-spi"; 429*f126890aSEmmanuel Vadot reg = <0x400 0x200>; 430*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 431*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(11)>, 432*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(10)>; 433*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 434*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 435*f126890aSEmmanuel Vadot clock-names = "spi_clk"; 436*f126890aSEmmanuel Vadot atmel,fifo-size = <32>; 437*f126890aSEmmanuel Vadot #address-cells = <1>; 438*f126890aSEmmanuel Vadot #size-cells = <0>; 439*f126890aSEmmanuel Vadot status = "disabled"; 440*f126890aSEmmanuel Vadot }; 441*f126890aSEmmanuel Vadot 442*f126890aSEmmanuel Vadot i2c4: i2c@600 { 443*f126890aSEmmanuel Vadot compatible = "microchip,sam9x60-i2c"; 444*f126890aSEmmanuel Vadot reg = <0x600 0x200>; 445*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 446*f126890aSEmmanuel Vadot dmas = <&dma0 AT91_XDMAC_DT_PERID(11)>, 447*f126890aSEmmanuel Vadot <&dma0 AT91_XDMAC_DT_PERID(10)>; 448*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 449*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 450*f126890aSEmmanuel Vadot #address-cells = <1>; 451*f126890aSEmmanuel Vadot #size-cells = <0>; 452*f126890aSEmmanuel Vadot status = "disabled"; 453*f126890aSEmmanuel Vadot }; 454*f126890aSEmmanuel Vadot }; 455*f126890aSEmmanuel Vadot 456*f126890aSEmmanuel Vadot timer0: timer@e008c000 { 457*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 458*f126890aSEmmanuel Vadot reg = <0xe008c000 0x400>; 459*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 460*f126890aSEmmanuel Vadot clock-names = "timer"; 461*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 462*f126890aSEmmanuel Vadot }; 463*f126890aSEmmanuel Vadot 464*f126890aSEmmanuel Vadot watchdog: watchdog@e0090000 { 465*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 466*f126890aSEmmanuel Vadot reg = <0xe0090000 0x1000>; 467*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 468*f126890aSEmmanuel Vadot clocks = <&nic_clk>; 469*f126890aSEmmanuel Vadot status = "disabled"; 470*f126890aSEmmanuel Vadot }; 471*f126890aSEmmanuel Vadot 472*f126890aSEmmanuel Vadot cpu_ctrl: syscon@e00c0000 { 473*f126890aSEmmanuel Vadot compatible = "microchip,lan966x-cpu-syscon", "syscon"; 474*f126890aSEmmanuel Vadot reg = <0xe00c0000 0x350>; 475*f126890aSEmmanuel Vadot }; 476*f126890aSEmmanuel Vadot 477*f126890aSEmmanuel Vadot can0: can@e081c000 { 478*f126890aSEmmanuel Vadot compatible = "bosch,m_can"; 479*f126890aSEmmanuel Vadot reg = <0xe081c000 0xfc>, <0x00100000 0x4000>; 480*f126890aSEmmanuel Vadot reg-names = "m_can", "message_ram"; 481*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 482*f126890aSEmmanuel Vadot <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 483*f126890aSEmmanuel Vadot interrupt-names = "int0", "int1"; 484*f126890aSEmmanuel Vadot clocks = <&clks GCK_ID_MCAN0>, <&clks GCK_ID_MCAN0>; 485*f126890aSEmmanuel Vadot clock-names = "hclk", "cclk"; 486*f126890aSEmmanuel Vadot assigned-clocks = <&clks GCK_ID_MCAN0>; 487*f126890aSEmmanuel Vadot assigned-clock-rates = <40000000>; 488*f126890aSEmmanuel Vadot bosch,mram-cfg = <0x0 0 0 64 0 0 32 32>; 489*f126890aSEmmanuel Vadot status = "disabled"; 490*f126890aSEmmanuel Vadot }; 491*f126890aSEmmanuel Vadot 492*f126890aSEmmanuel Vadot can1: can@e0820000 { 493*f126890aSEmmanuel Vadot compatible = "bosch,m_can"; 494*f126890aSEmmanuel Vadot reg = <0xe0820000 0xfc>, <0x00100000 0x8000>; 495*f126890aSEmmanuel Vadot reg-names = "m_can", "message_ram"; 496*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 497*f126890aSEmmanuel Vadot <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 498*f126890aSEmmanuel Vadot interrupt-names = "int0", "int1"; 499*f126890aSEmmanuel Vadot clocks = <&clks GCK_ID_MCAN1>, <&clks GCK_ID_MCAN1>; 500*f126890aSEmmanuel Vadot clock-names = "hclk", "cclk"; 501*f126890aSEmmanuel Vadot assigned-clocks = <&clks GCK_ID_MCAN1>; 502*f126890aSEmmanuel Vadot assigned-clock-rates = <40000000>; 503*f126890aSEmmanuel Vadot bosch,mram-cfg = <0x4000 0 0 64 0 0 32 32>; 504*f126890aSEmmanuel Vadot status = "disabled"; 505*f126890aSEmmanuel Vadot }; 506*f126890aSEmmanuel Vadot 507*f126890aSEmmanuel Vadot reset: reset-controller@e200400c { 508*f126890aSEmmanuel Vadot compatible = "microchip,lan966x-switch-reset"; 509*f126890aSEmmanuel Vadot reg = <0xe200400c 0x4>; 510*f126890aSEmmanuel Vadot reg-names = "gcb"; 511*f126890aSEmmanuel Vadot #reset-cells = <1>; 512*f126890aSEmmanuel Vadot cpu-syscon = <&cpu_ctrl>; 513*f126890aSEmmanuel Vadot }; 514*f126890aSEmmanuel Vadot 515*f126890aSEmmanuel Vadot gpio: pinctrl@e2004064 { 516*f126890aSEmmanuel Vadot compatible = "microchip,lan966x-pinctrl"; 517*f126890aSEmmanuel Vadot reg = <0xe2004064 0xb4>, 518*f126890aSEmmanuel Vadot <0xe2010024 0x138>; 519*f126890aSEmmanuel Vadot resets = <&reset 0>; 520*f126890aSEmmanuel Vadot reset-names = "switch"; 521*f126890aSEmmanuel Vadot gpio-controller; 522*f126890aSEmmanuel Vadot #gpio-cells = <2>; 523*f126890aSEmmanuel Vadot gpio-ranges = <&gpio 0 0 78>; 524*f126890aSEmmanuel Vadot interrupt-controller; 525*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 526*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 527*f126890aSEmmanuel Vadot }; 528*f126890aSEmmanuel Vadot 529*f126890aSEmmanuel Vadot mdio0: mdio@e2004118 { 530*f126890aSEmmanuel Vadot compatible = "microchip,lan966x-miim"; 531*f126890aSEmmanuel Vadot #address-cells = <1>; 532*f126890aSEmmanuel Vadot #size-cells = <0>; 533*f126890aSEmmanuel Vadot reg = <0xe2004118 0x24>; 534*f126890aSEmmanuel Vadot clocks = <&sys_clk>; 535*f126890aSEmmanuel Vadot status = "disabled"; 536*f126890aSEmmanuel Vadot }; 537*f126890aSEmmanuel Vadot 538*f126890aSEmmanuel Vadot mdio1: mdio@e200413c { 539*f126890aSEmmanuel Vadot compatible = "microchip,lan966x-miim"; 540*f126890aSEmmanuel Vadot #address-cells = <1>; 541*f126890aSEmmanuel Vadot #size-cells = <0>; 542*f126890aSEmmanuel Vadot reg = <0xe200413c 0x24>, 543*f126890aSEmmanuel Vadot <0xe2010020 0x4>; 544*f126890aSEmmanuel Vadot clocks = <&sys_clk>; 545*f126890aSEmmanuel Vadot status = "disabled"; 546*f126890aSEmmanuel Vadot 547*f126890aSEmmanuel Vadot phy0: ethernet-phy@1 { 548*f126890aSEmmanuel Vadot reg = <1>; 549*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 550*f126890aSEmmanuel Vadot status = "disabled"; 551*f126890aSEmmanuel Vadot }; 552*f126890aSEmmanuel Vadot 553*f126890aSEmmanuel Vadot phy1: ethernet-phy@2 { 554*f126890aSEmmanuel Vadot reg = <2>; 555*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 556*f126890aSEmmanuel Vadot status = "disabled"; 557*f126890aSEmmanuel Vadot }; 558*f126890aSEmmanuel Vadot }; 559*f126890aSEmmanuel Vadot 560*f126890aSEmmanuel Vadot sgpio: gpio@e2004190 { 561*f126890aSEmmanuel Vadot compatible = "microchip,sparx5-sgpio"; 562*f126890aSEmmanuel Vadot reg = <0xe2004190 0x118>; 563*f126890aSEmmanuel Vadot clocks = <&sys_clk>; 564*f126890aSEmmanuel Vadot resets = <&reset 0>; 565*f126890aSEmmanuel Vadot reset-names = "switch"; 566*f126890aSEmmanuel Vadot #address-cells = <1>; 567*f126890aSEmmanuel Vadot #size-cells = <0>; 568*f126890aSEmmanuel Vadot status = "disabled"; 569*f126890aSEmmanuel Vadot 570*f126890aSEmmanuel Vadot sgpio_in: gpio@0 { 571*f126890aSEmmanuel Vadot compatible = "microchip,sparx5-sgpio-bank"; 572*f126890aSEmmanuel Vadot reg = <0>; 573*f126890aSEmmanuel Vadot gpio-controller; 574*f126890aSEmmanuel Vadot #gpio-cells = <3>; 575*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 576*f126890aSEmmanuel Vadot interrupt-controller; 577*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 578*f126890aSEmmanuel Vadot }; 579*f126890aSEmmanuel Vadot 580*f126890aSEmmanuel Vadot sgpio_out: gpio@1 { 581*f126890aSEmmanuel Vadot compatible = "microchip,sparx5-sgpio-bank"; 582*f126890aSEmmanuel Vadot reg = <1>; 583*f126890aSEmmanuel Vadot gpio-controller; 584*f126890aSEmmanuel Vadot #gpio-cells = <3>; 585*f126890aSEmmanuel Vadot }; 586*f126890aSEmmanuel Vadot }; 587*f126890aSEmmanuel Vadot 588*f126890aSEmmanuel Vadot hwmon: hwmon@e2010180 { 589*f126890aSEmmanuel Vadot compatible = "microchip,lan9668-hwmon"; 590*f126890aSEmmanuel Vadot reg = <0xe2010180 0xc>, 591*f126890aSEmmanuel Vadot <0xe20042a8 0xc>; 592*f126890aSEmmanuel Vadot reg-names = "pvt", "fan"; 593*f126890aSEmmanuel Vadot clocks = <&sys_clk>; 594*f126890aSEmmanuel Vadot }; 595*f126890aSEmmanuel Vadot 596*f126890aSEmmanuel Vadot serdes: serdes@e202c000 { 597*f126890aSEmmanuel Vadot compatible = "microchip,lan966x-serdes"; 598*f126890aSEmmanuel Vadot reg = <0xe202c000 0x9c>, 599*f126890aSEmmanuel Vadot <0xe2004010 0x4>; 600*f126890aSEmmanuel Vadot #phy-cells = <2>; 601*f126890aSEmmanuel Vadot status = "disabled"; 602*f126890aSEmmanuel Vadot }; 603*f126890aSEmmanuel Vadot 604*f126890aSEmmanuel Vadot gic: interrupt-controller@e8c11000 { 605*f126890aSEmmanuel Vadot compatible = "arm,gic-400", "arm,cortex-a7-gic"; 606*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 607*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 608*f126890aSEmmanuel Vadot interrupt-controller; 609*f126890aSEmmanuel Vadot reg = <0xe8c11000 0x1000>, 610*f126890aSEmmanuel Vadot <0xe8c12000 0x2000>, 611*f126890aSEmmanuel Vadot <0xe8c14000 0x2000>, 612*f126890aSEmmanuel Vadot <0xe8c16000 0x2000>; 613*f126890aSEmmanuel Vadot }; 614*f126890aSEmmanuel Vadot }; 615*f126890aSEmmanuel Vadot}; 616