1*69ed3df4SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2*69ed3df4SEmmanuel Vadot/* 3*69ed3df4SEmmanuel Vadot * Copyright (c) 2025 Microchip Technology Inc. and its subsidiaries. 4*69ed3df4SEmmanuel Vadot */ 5*69ed3df4SEmmanuel Vadot 6*69ed3df4SEmmanuel Vadot#include <dt-bindings/dma/at91.h> 7*69ed3df4SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 8*69ed3df4SEmmanuel Vadot#include <dt-bindings/mfd/at91-usart.h> 9*69ed3df4SEmmanuel Vadot#include <dt-bindings/mfd/atmel-flexcom.h> 10*69ed3df4SEmmanuel Vadot 11*69ed3df4SEmmanuel Vadot#include "clk-lan9691.h" 12*69ed3df4SEmmanuel Vadot 13*69ed3df4SEmmanuel Vadot/ { 14*69ed3df4SEmmanuel Vadot #address-cells = <1>; 15*69ed3df4SEmmanuel Vadot #size-cells = <1>; 16*69ed3df4SEmmanuel Vadot 17*69ed3df4SEmmanuel Vadot model = "Microchip LAN969x"; 18*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691"; 19*69ed3df4SEmmanuel Vadot interrupt-parent = <&gic>; 20*69ed3df4SEmmanuel Vadot 21*69ed3df4SEmmanuel Vadot clocks { 22*69ed3df4SEmmanuel Vadot fx100_clk: fx100-clk { 23*69ed3df4SEmmanuel Vadot compatible = "fixed-clock"; 24*69ed3df4SEmmanuel Vadot #clock-cells = <0>; 25*69ed3df4SEmmanuel Vadot clock-frequency = <320000000>; 26*69ed3df4SEmmanuel Vadot }; 27*69ed3df4SEmmanuel Vadot 28*69ed3df4SEmmanuel Vadot cpu_clk: cpu-clk { 29*69ed3df4SEmmanuel Vadot compatible = "fixed-clock"; 30*69ed3df4SEmmanuel Vadot #clock-cells = <0>; 31*69ed3df4SEmmanuel Vadot clock-frequency = <1000000000>; 32*69ed3df4SEmmanuel Vadot }; 33*69ed3df4SEmmanuel Vadot 34*69ed3df4SEmmanuel Vadot ddr_clk: ddr-clk { 35*69ed3df4SEmmanuel Vadot compatible = "fixed-clock"; 36*69ed3df4SEmmanuel Vadot #clock-cells = <0>; 37*69ed3df4SEmmanuel Vadot clock-frequency = <600000000>; 38*69ed3df4SEmmanuel Vadot }; 39*69ed3df4SEmmanuel Vadot 40*69ed3df4SEmmanuel Vadot fabric_clk: fabric-clk { 41*69ed3df4SEmmanuel Vadot compatible = "fixed-clock"; 42*69ed3df4SEmmanuel Vadot #clock-cells = <0>; 43*69ed3df4SEmmanuel Vadot clock-frequency = <250000000>; 44*69ed3df4SEmmanuel Vadot }; 45*69ed3df4SEmmanuel Vadot }; 46*69ed3df4SEmmanuel Vadot 47*69ed3df4SEmmanuel Vadot cpus { 48*69ed3df4SEmmanuel Vadot #address-cells = <2>; 49*69ed3df4SEmmanuel Vadot #size-cells = <0>; 50*69ed3df4SEmmanuel Vadot 51*69ed3df4SEmmanuel Vadot cpu0: cpu@0 { 52*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a53"; 53*69ed3df4SEmmanuel Vadot device_type = "cpu"; 54*69ed3df4SEmmanuel Vadot reg = <0x0 0x0>; 55*69ed3df4SEmmanuel Vadot next-level-cache = <&l2_0>; 56*69ed3df4SEmmanuel Vadot }; 57*69ed3df4SEmmanuel Vadot 58*69ed3df4SEmmanuel Vadot l2_0: l2-cache { 59*69ed3df4SEmmanuel Vadot compatible = "cache"; 60*69ed3df4SEmmanuel Vadot cache-level = <2>; 61*69ed3df4SEmmanuel Vadot cache-unified; 62*69ed3df4SEmmanuel Vadot }; 63*69ed3df4SEmmanuel Vadot }; 64*69ed3df4SEmmanuel Vadot 65*69ed3df4SEmmanuel Vadot psci { 66*69ed3df4SEmmanuel Vadot compatible = "arm,psci-1.0"; 67*69ed3df4SEmmanuel Vadot method = "smc"; 68*69ed3df4SEmmanuel Vadot }; 69*69ed3df4SEmmanuel Vadot 70*69ed3df4SEmmanuel Vadot pmu { 71*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 72*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 73*69ed3df4SEmmanuel Vadot }; 74*69ed3df4SEmmanuel Vadot 75*69ed3df4SEmmanuel Vadot timer { 76*69ed3df4SEmmanuel Vadot compatible = "arm,armv8-timer"; 77*69ed3df4SEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Secure Phys IRQ */ 78*69ed3df4SEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Non-secure Phys IRQ */ 79*69ed3df4SEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virt IRQ */ 80*69ed3df4SEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hyp IRQ */ 81*69ed3df4SEmmanuel Vadot }; 82*69ed3df4SEmmanuel Vadot 83*69ed3df4SEmmanuel Vadot axi: axi { 84*69ed3df4SEmmanuel Vadot compatible = "simple-bus"; 85*69ed3df4SEmmanuel Vadot #address-cells = <1>; 86*69ed3df4SEmmanuel Vadot #size-cells = <1>; 87*69ed3df4SEmmanuel Vadot ranges; 88*69ed3df4SEmmanuel Vadot 89*69ed3df4SEmmanuel Vadot usb: usb@300000 { 90*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-dwc3", "snps,dwc3"; 91*69ed3df4SEmmanuel Vadot reg = <0x300000 0x80000>; 92*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 93*69ed3df4SEmmanuel Vadot clocks = <&clks GCK_GATE_USB_DRD>, 94*69ed3df4SEmmanuel Vadot <&clks GCK_ID_USB_REFCLK>; 95*69ed3df4SEmmanuel Vadot clock-names = "bus_early", "ref"; 96*69ed3df4SEmmanuel Vadot assigned-clocks = <&clks GCK_ID_USB_REFCLK>; 97*69ed3df4SEmmanuel Vadot assigned-clock-rates = <60000000>; 98*69ed3df4SEmmanuel Vadot maximum-speed = "high-speed"; 99*69ed3df4SEmmanuel Vadot dr_mode = "host"; 100*69ed3df4SEmmanuel Vadot status = "disabled"; 101*69ed3df4SEmmanuel Vadot }; 102*69ed3df4SEmmanuel Vadot 103*69ed3df4SEmmanuel Vadot flx0: flexcom@e0040000 { 104*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-flexcom", "atmel,sama5d2-flexcom"; 105*69ed3df4SEmmanuel Vadot reg = <0xe0040000 0x100>; 106*69ed3df4SEmmanuel Vadot ranges = <0x0 0xe0040000 0x800>; 107*69ed3df4SEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM0>; 108*69ed3df4SEmmanuel Vadot #address-cells = <1>; 109*69ed3df4SEmmanuel Vadot #size-cells = <1>; 110*69ed3df4SEmmanuel Vadot status = "disabled"; 111*69ed3df4SEmmanuel Vadot 112*69ed3df4SEmmanuel Vadot usart0: serial@200 { 113*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-usart", "atmel,at91sam9260-usart"; 114*69ed3df4SEmmanuel Vadot reg = <0x200 0x200>; 115*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 116*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(3)>, 117*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(2)>; 118*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 119*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 120*69ed3df4SEmmanuel Vadot clock-names = "usart"; 121*69ed3df4SEmmanuel Vadot atmel,fifo-size = <32>; 122*69ed3df4SEmmanuel Vadot atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 123*69ed3df4SEmmanuel Vadot status = "disabled"; 124*69ed3df4SEmmanuel Vadot }; 125*69ed3df4SEmmanuel Vadot 126*69ed3df4SEmmanuel Vadot spi0: spi@400 { 127*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-spi", "atmel,at91rm9200-spi"; 128*69ed3df4SEmmanuel Vadot reg = <0x400 0x200>; 129*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 130*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(3)>, 131*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(2)>; 132*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 133*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 134*69ed3df4SEmmanuel Vadot clock-names = "spi_clk"; 135*69ed3df4SEmmanuel Vadot #address-cells = <1>; 136*69ed3df4SEmmanuel Vadot #size-cells = <0>; 137*69ed3df4SEmmanuel Vadot atmel,fifo-size = <32>; 138*69ed3df4SEmmanuel Vadot status = "disabled"; 139*69ed3df4SEmmanuel Vadot }; 140*69ed3df4SEmmanuel Vadot 141*69ed3df4SEmmanuel Vadot i2c0: i2c@600 { 142*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-i2c", "microchip,sam9x60-i2c"; 143*69ed3df4SEmmanuel Vadot reg = <0x600 0x200>; 144*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 145*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(3)>, 146*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(2)>; 147*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 148*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 149*69ed3df4SEmmanuel Vadot #address-cells = <1>; 150*69ed3df4SEmmanuel Vadot #size-cells = <0>; 151*69ed3df4SEmmanuel Vadot status = "disabled"; 152*69ed3df4SEmmanuel Vadot }; 153*69ed3df4SEmmanuel Vadot }; 154*69ed3df4SEmmanuel Vadot 155*69ed3df4SEmmanuel Vadot flx1: flexcom@e0044000 { 156*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-flexcom", "atmel,sama5d2-flexcom"; 157*69ed3df4SEmmanuel Vadot reg = <0xe0044000 0x100>; 158*69ed3df4SEmmanuel Vadot ranges = <0x0 0xe0044000 0x800>; 159*69ed3df4SEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM1>; 160*69ed3df4SEmmanuel Vadot #address-cells = <1>; 161*69ed3df4SEmmanuel Vadot #size-cells = <1>; 162*69ed3df4SEmmanuel Vadot status = "disabled"; 163*69ed3df4SEmmanuel Vadot 164*69ed3df4SEmmanuel Vadot usart1: serial@200 { 165*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-usart", "atmel,at91sam9260-usart"; 166*69ed3df4SEmmanuel Vadot reg = <0x200 0x200>; 167*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 168*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(3)>, 169*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(2)>; 170*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 171*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 172*69ed3df4SEmmanuel Vadot clock-names = "usart"; 173*69ed3df4SEmmanuel Vadot atmel,fifo-size = <32>; 174*69ed3df4SEmmanuel Vadot atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 175*69ed3df4SEmmanuel Vadot status = "disabled"; 176*69ed3df4SEmmanuel Vadot }; 177*69ed3df4SEmmanuel Vadot 178*69ed3df4SEmmanuel Vadot spi1: spi@400 { 179*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-spi", "atmel,at91rm9200-spi"; 180*69ed3df4SEmmanuel Vadot reg = <0x400 0x200>; 181*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 182*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(3)>, 183*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(2)>; 184*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 185*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 186*69ed3df4SEmmanuel Vadot clock-names = "spi_clk"; 187*69ed3df4SEmmanuel Vadot #address-cells = <1>; 188*69ed3df4SEmmanuel Vadot #size-cells = <0>; 189*69ed3df4SEmmanuel Vadot atmel,fifo-size = <32>; 190*69ed3df4SEmmanuel Vadot status = "disabled"; 191*69ed3df4SEmmanuel Vadot }; 192*69ed3df4SEmmanuel Vadot 193*69ed3df4SEmmanuel Vadot i2c1: i2c@600 { 194*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-i2c", "microchip,sam9x60-i2c"; 195*69ed3df4SEmmanuel Vadot reg = <0x600 0x200>; 196*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 197*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(3)>, 198*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(2)>; 199*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 200*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 201*69ed3df4SEmmanuel Vadot #address-cells = <1>; 202*69ed3df4SEmmanuel Vadot #size-cells = <0>; 203*69ed3df4SEmmanuel Vadot status = "disabled"; 204*69ed3df4SEmmanuel Vadot }; 205*69ed3df4SEmmanuel Vadot }; 206*69ed3df4SEmmanuel Vadot 207*69ed3df4SEmmanuel Vadot trng: rng@e0048000 { 208*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-trng", "atmel,at91sam9g45-trng"; 209*69ed3df4SEmmanuel Vadot reg = <0xe0048000 0x100>; 210*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 211*69ed3df4SEmmanuel Vadot status = "disabled"; 212*69ed3df4SEmmanuel Vadot }; 213*69ed3df4SEmmanuel Vadot 214*69ed3df4SEmmanuel Vadot aes: crypto@e004c000 { 215*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-aes", "atmel,at91sam9g46-aes"; 216*69ed3df4SEmmanuel Vadot reg = <0xe004c000 0x100>; 217*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 218*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(12)>, 219*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(13)>; 220*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 221*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 222*69ed3df4SEmmanuel Vadot clock-names = "aes_clk"; 223*69ed3df4SEmmanuel Vadot status = "disabled"; 224*69ed3df4SEmmanuel Vadot }; 225*69ed3df4SEmmanuel Vadot 226*69ed3df4SEmmanuel Vadot flx2: flexcom@e0060000 { 227*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-flexcom", "atmel,sama5d2-flexcom"; 228*69ed3df4SEmmanuel Vadot reg = <0xe0060000 0x100>; 229*69ed3df4SEmmanuel Vadot ranges = <0x0 0xe0060000 0x800>; 230*69ed3df4SEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM2>; 231*69ed3df4SEmmanuel Vadot #address-cells = <1>; 232*69ed3df4SEmmanuel Vadot #size-cells = <1>; 233*69ed3df4SEmmanuel Vadot status = "disabled"; 234*69ed3df4SEmmanuel Vadot 235*69ed3df4SEmmanuel Vadot usart2: serial@200 { 236*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-usart", "atmel,at91sam9260-usart"; 237*69ed3df4SEmmanuel Vadot reg = <0x200 0x200>; 238*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 239*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(7)>, 240*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(6)>; 241*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 242*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 243*69ed3df4SEmmanuel Vadot clock-names = "usart"; 244*69ed3df4SEmmanuel Vadot atmel,fifo-size = <32>; 245*69ed3df4SEmmanuel Vadot atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 246*69ed3df4SEmmanuel Vadot status = "disabled"; 247*69ed3df4SEmmanuel Vadot }; 248*69ed3df4SEmmanuel Vadot 249*69ed3df4SEmmanuel Vadot spi2: spi@400 { 250*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-spi", "atmel,at91rm9200-spi"; 251*69ed3df4SEmmanuel Vadot reg = <0x400 0x200>; 252*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 253*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(7)>, 254*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(6)>; 255*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 256*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 257*69ed3df4SEmmanuel Vadot clock-names = "spi_clk"; 258*69ed3df4SEmmanuel Vadot #address-cells = <1>; 259*69ed3df4SEmmanuel Vadot #size-cells = <0>; 260*69ed3df4SEmmanuel Vadot atmel,fifo-size = <32>; 261*69ed3df4SEmmanuel Vadot status = "disabled"; 262*69ed3df4SEmmanuel Vadot }; 263*69ed3df4SEmmanuel Vadot 264*69ed3df4SEmmanuel Vadot i2c2: i2c@600 { 265*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-i2c", "microchip,sam9x60-i2c"; 266*69ed3df4SEmmanuel Vadot reg = <0x600 0x200>; 267*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 268*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(7)>, 269*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(6)>; 270*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 271*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 272*69ed3df4SEmmanuel Vadot #address-cells = <1>; 273*69ed3df4SEmmanuel Vadot #size-cells = <0>; 274*69ed3df4SEmmanuel Vadot status = "disabled"; 275*69ed3df4SEmmanuel Vadot }; 276*69ed3df4SEmmanuel Vadot }; 277*69ed3df4SEmmanuel Vadot 278*69ed3df4SEmmanuel Vadot flx3: flexcom@e0064000 { 279*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-flexcom", "atmel,sama5d2-flexcom"; 280*69ed3df4SEmmanuel Vadot reg = <0xe0064000 0x100>; 281*69ed3df4SEmmanuel Vadot ranges = <0x0 0xe0064000 0x800>; 282*69ed3df4SEmmanuel Vadot clocks = <&clks GCK_ID_FLEXCOM3>; 283*69ed3df4SEmmanuel Vadot #address-cells = <1>; 284*69ed3df4SEmmanuel Vadot #size-cells = <1>; 285*69ed3df4SEmmanuel Vadot status = "disabled"; 286*69ed3df4SEmmanuel Vadot 287*69ed3df4SEmmanuel Vadot usart3: serial@200 { 288*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-usart", "atmel,at91sam9260-usart"; 289*69ed3df4SEmmanuel Vadot reg = <0x200 0x200>; 290*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 291*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(9)>, 292*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(8)>; 293*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 294*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 295*69ed3df4SEmmanuel Vadot clock-names = "usart"; 296*69ed3df4SEmmanuel Vadot atmel,fifo-size = <32>; 297*69ed3df4SEmmanuel Vadot atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 298*69ed3df4SEmmanuel Vadot status = "disabled"; 299*69ed3df4SEmmanuel Vadot }; 300*69ed3df4SEmmanuel Vadot 301*69ed3df4SEmmanuel Vadot spi3: spi@400 { 302*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-spi", "atmel,at91rm9200-spi"; 303*69ed3df4SEmmanuel Vadot reg = <0x400 0x200>; 304*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 305*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(9)>, 306*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(8)>; 307*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 308*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 309*69ed3df4SEmmanuel Vadot clock-names = "spi_clk"; 310*69ed3df4SEmmanuel Vadot #address-cells = <1>; 311*69ed3df4SEmmanuel Vadot #size-cells = <0>; 312*69ed3df4SEmmanuel Vadot atmel,fifo-size = <32>; 313*69ed3df4SEmmanuel Vadot status = "disabled"; 314*69ed3df4SEmmanuel Vadot }; 315*69ed3df4SEmmanuel Vadot 316*69ed3df4SEmmanuel Vadot i2c3: i2c@600 { 317*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-i2c", "microchip,sam9x60-i2c"; 318*69ed3df4SEmmanuel Vadot reg = <0x600 0x200>; 319*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 320*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(9)>, 321*69ed3df4SEmmanuel Vadot <&dma AT91_XDMAC_DT_PERID(8)>; 322*69ed3df4SEmmanuel Vadot dma-names = "tx", "rx"; 323*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 324*69ed3df4SEmmanuel Vadot #address-cells = <1>; 325*69ed3df4SEmmanuel Vadot #size-cells = <0>; 326*69ed3df4SEmmanuel Vadot status = "disabled"; 327*69ed3df4SEmmanuel Vadot }; 328*69ed3df4SEmmanuel Vadot }; 329*69ed3df4SEmmanuel Vadot 330*69ed3df4SEmmanuel Vadot dma: dma-controller@e0068000 { 331*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-dma", "microchip,sama7g5-dma"; 332*69ed3df4SEmmanuel Vadot reg = <0xe0068000 0x1000>; 333*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 334*69ed3df4SEmmanuel Vadot dma-channels = <16>; 335*69ed3df4SEmmanuel Vadot #dma-cells = <1>; 336*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 337*69ed3df4SEmmanuel Vadot clock-names = "dma_clk"; 338*69ed3df4SEmmanuel Vadot }; 339*69ed3df4SEmmanuel Vadot 340*69ed3df4SEmmanuel Vadot sha: crypto@e006c000 { 341*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-sha", "atmel,at91sam9g46-sha"; 342*69ed3df4SEmmanuel Vadot reg = <0xe006c000 0xec>; 343*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 344*69ed3df4SEmmanuel Vadot dmas = <&dma AT91_XDMAC_DT_PERID(14)>; 345*69ed3df4SEmmanuel Vadot dma-names = "tx"; 346*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 347*69ed3df4SEmmanuel Vadot clock-names = "sha_clk"; 348*69ed3df4SEmmanuel Vadot status = "disabled"; 349*69ed3df4SEmmanuel Vadot }; 350*69ed3df4SEmmanuel Vadot 351*69ed3df4SEmmanuel Vadot timer: timer@e008c000 { 352*69ed3df4SEmmanuel Vadot compatible = "snps,dw-apb-timer"; 353*69ed3df4SEmmanuel Vadot reg = <0xe008c000 0x400>; 354*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 355*69ed3df4SEmmanuel Vadot clock-names = "timer"; 356*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 357*69ed3df4SEmmanuel Vadot status = "disabled"; 358*69ed3df4SEmmanuel Vadot }; 359*69ed3df4SEmmanuel Vadot 360*69ed3df4SEmmanuel Vadot watchdog: watchdog@e0090000 { 361*69ed3df4SEmmanuel Vadot compatible = "snps,dw-wdt"; 362*69ed3df4SEmmanuel Vadot reg = <0xe0090000 0x1000>; 363*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 364*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 365*69ed3df4SEmmanuel Vadot }; 366*69ed3df4SEmmanuel Vadot 367*69ed3df4SEmmanuel Vadot cpu_ctrl: syscon@e00c0000 { 368*69ed3df4SEmmanuel Vadot compatible = "microchip,lan966x-cpu-syscon", "syscon"; 369*69ed3df4SEmmanuel Vadot reg = <0xe00c0000 0x350>; 370*69ed3df4SEmmanuel Vadot }; 371*69ed3df4SEmmanuel Vadot 372*69ed3df4SEmmanuel Vadot switch: switch@e00c0000 { 373*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-switch"; 374*69ed3df4SEmmanuel Vadot reg = <0xe00c0000 0x0010000>, 375*69ed3df4SEmmanuel Vadot <0xe2010000 0x1410000>; 376*69ed3df4SEmmanuel Vadot reg-names = "cpu", "devices"; 377*69ed3df4SEmmanuel Vadot interrupt-names = "xtr", "fdma", "ptp"; 378*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 379*69ed3df4SEmmanuel Vadot <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 380*69ed3df4SEmmanuel Vadot <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 381*69ed3df4SEmmanuel Vadot resets = <&reset 0>; 382*69ed3df4SEmmanuel Vadot reset-names = "switch"; 383*69ed3df4SEmmanuel Vadot status = "disabled"; 384*69ed3df4SEmmanuel Vadot }; 385*69ed3df4SEmmanuel Vadot 386*69ed3df4SEmmanuel Vadot clks: clock-controller@e00c00b4 { 387*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-gck"; 388*69ed3df4SEmmanuel Vadot reg = <0xe00c00b4 0x30>, <0xe00c0308 0x4>; 389*69ed3df4SEmmanuel Vadot #clock-cells = <1>; 390*69ed3df4SEmmanuel Vadot clocks = <&cpu_clk>, <&ddr_clk>, <&fx100_clk>; 391*69ed3df4SEmmanuel Vadot clock-names = "cpu", "ddr", "sys"; 392*69ed3df4SEmmanuel Vadot }; 393*69ed3df4SEmmanuel Vadot 394*69ed3df4SEmmanuel Vadot reset: reset-controller@e201000c { 395*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-switch-reset", 396*69ed3df4SEmmanuel Vadot "microchip,lan966x-switch-reset"; 397*69ed3df4SEmmanuel Vadot reg = <0xe201000c 0x4>; 398*69ed3df4SEmmanuel Vadot reg-names = "gcb"; 399*69ed3df4SEmmanuel Vadot #reset-cells = <1>; 400*69ed3df4SEmmanuel Vadot cpu-syscon = <&cpu_ctrl>; 401*69ed3df4SEmmanuel Vadot }; 402*69ed3df4SEmmanuel Vadot 403*69ed3df4SEmmanuel Vadot gpio: pinctrl@e20100d4 { 404*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-pinctrl"; 405*69ed3df4SEmmanuel Vadot reg = <0xe20100d4 0xd4>, 406*69ed3df4SEmmanuel Vadot <0xe2010370 0xa8>; 407*69ed3df4SEmmanuel Vadot gpio-controller; 408*69ed3df4SEmmanuel Vadot #gpio-cells = <2>; 409*69ed3df4SEmmanuel Vadot gpio-ranges = <&gpio 0 0 66>; 410*69ed3df4SEmmanuel Vadot interrupt-controller; 411*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 412*69ed3df4SEmmanuel Vadot #interrupt-cells = <2>; 413*69ed3df4SEmmanuel Vadot }; 414*69ed3df4SEmmanuel Vadot 415*69ed3df4SEmmanuel Vadot mdio0: mdio@e20101a8 { 416*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-miim", "mscc,ocelot-miim"; 417*69ed3df4SEmmanuel Vadot reg = <0xe20101a8 0x24>; 418*69ed3df4SEmmanuel Vadot #address-cells = <1>; 419*69ed3df4SEmmanuel Vadot #size-cells = <0>; 420*69ed3df4SEmmanuel Vadot clocks = <&fx100_clk>; 421*69ed3df4SEmmanuel Vadot status = "disabled"; 422*69ed3df4SEmmanuel Vadot }; 423*69ed3df4SEmmanuel Vadot 424*69ed3df4SEmmanuel Vadot mdio1: mdio@e20101cc { 425*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-miim", "mscc,ocelot-miim"; 426*69ed3df4SEmmanuel Vadot reg = <0xe20101cc 0x24>; 427*69ed3df4SEmmanuel Vadot #address-cells = <1>; 428*69ed3df4SEmmanuel Vadot #size-cells = <0>; 429*69ed3df4SEmmanuel Vadot clocks = <&fx100_clk>; 430*69ed3df4SEmmanuel Vadot status = "disabled"; 431*69ed3df4SEmmanuel Vadot }; 432*69ed3df4SEmmanuel Vadot 433*69ed3df4SEmmanuel Vadot sgpio: gpio@e2010230 { 434*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-sgpio", "microchip,sparx5-sgpio"; 435*69ed3df4SEmmanuel Vadot reg = <0xe2010230 0x118>; 436*69ed3df4SEmmanuel Vadot clocks = <&fx100_clk>; 437*69ed3df4SEmmanuel Vadot resets = <&reset 0>; 438*69ed3df4SEmmanuel Vadot reset-names = "switch"; 439*69ed3df4SEmmanuel Vadot #address-cells = <1>; 440*69ed3df4SEmmanuel Vadot #size-cells = <0>; 441*69ed3df4SEmmanuel Vadot status = "disabled"; 442*69ed3df4SEmmanuel Vadot 443*69ed3df4SEmmanuel Vadot sgpio_in: gpio@0 { 444*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-sgpio-bank", 445*69ed3df4SEmmanuel Vadot "microchip,sparx5-sgpio-bank"; 446*69ed3df4SEmmanuel Vadot reg = <0>; 447*69ed3df4SEmmanuel Vadot gpio-controller; 448*69ed3df4SEmmanuel Vadot #gpio-cells = <3>; 449*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 450*69ed3df4SEmmanuel Vadot interrupt-controller; 451*69ed3df4SEmmanuel Vadot #interrupt-cells = <3>; 452*69ed3df4SEmmanuel Vadot }; 453*69ed3df4SEmmanuel Vadot 454*69ed3df4SEmmanuel Vadot sgpio_out: gpio@1 { 455*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-sgpio-bank", 456*69ed3df4SEmmanuel Vadot "microchip,sparx5-sgpio-bank"; 457*69ed3df4SEmmanuel Vadot reg = <1>; 458*69ed3df4SEmmanuel Vadot gpio-controller; 459*69ed3df4SEmmanuel Vadot #gpio-cells = <3>; 460*69ed3df4SEmmanuel Vadot }; 461*69ed3df4SEmmanuel Vadot }; 462*69ed3df4SEmmanuel Vadot 463*69ed3df4SEmmanuel Vadot tmon: hwmon@e2020100 { 464*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-temp", "microchip,sparx5-temp"; 465*69ed3df4SEmmanuel Vadot reg = <0xe2020100 0xc>; 466*69ed3df4SEmmanuel Vadot clocks = <&fx100_clk>; 467*69ed3df4SEmmanuel Vadot #thermal-sensor-cells = <0>; 468*69ed3df4SEmmanuel Vadot }; 469*69ed3df4SEmmanuel Vadot 470*69ed3df4SEmmanuel Vadot serdes: serdes@e3410000 { 471*69ed3df4SEmmanuel Vadot compatible = "microchip,lan9691-serdes"; 472*69ed3df4SEmmanuel Vadot reg = <0xe3410000 0x150000>; 473*69ed3df4SEmmanuel Vadot #phy-cells = <1>; 474*69ed3df4SEmmanuel Vadot clocks = <&fabric_clk>; 475*69ed3df4SEmmanuel Vadot }; 476*69ed3df4SEmmanuel Vadot 477*69ed3df4SEmmanuel Vadot gic: interrupt-controller@e8c11000 { 478*69ed3df4SEmmanuel Vadot compatible = "arm,gic-400"; 479*69ed3df4SEmmanuel Vadot reg = <0xe8c11000 0x1000>, /* Distributor GICD_ */ 480*69ed3df4SEmmanuel Vadot <0xe8c12000 0x2000>, /* CPU interface GICC_ */ 481*69ed3df4SEmmanuel Vadot <0xe8c14000 0x2000>, /* Virt interface control */ 482*69ed3df4SEmmanuel Vadot <0xe8c16000 0x2000>; /* Virt CPU interface */ 483*69ed3df4SEmmanuel Vadot #interrupt-cells = <3>; 484*69ed3df4SEmmanuel Vadot interrupt-controller; 485*69ed3df4SEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 486*69ed3df4SEmmanuel Vadot }; 487*69ed3df4SEmmanuel Vadot }; 488*69ed3df4SEmmanuel Vadot}; 489