12eb4d8dcSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*c9ccf3a3SEmmanuel Vadot/* Copyright (c) 2020-2021 Microchip Technology Inc */ 32eb4d8dcSEmmanuel Vadot 42eb4d8dcSEmmanuel Vadot/dts-v1/; 5*c9ccf3a3SEmmanuel Vadot#include "dt-bindings/clock/microchip,mpfs-clock.h" 6*c9ccf3a3SEmmanuel Vadot#include "microchip-mpfs-fabric.dtsi" 72eb4d8dcSEmmanuel Vadot 82eb4d8dcSEmmanuel Vadot/ { 92eb4d8dcSEmmanuel Vadot #address-cells = <2>; 102eb4d8dcSEmmanuel Vadot #size-cells = <2>; 118cc087a1SEmmanuel Vadot model = "Microchip PolarFire SoC"; 128cc087a1SEmmanuel Vadot compatible = "microchip,mpfs"; 132eb4d8dcSEmmanuel Vadot 142eb4d8dcSEmmanuel Vadot cpus { 152eb4d8dcSEmmanuel Vadot #address-cells = <1>; 162eb4d8dcSEmmanuel Vadot #size-cells = <0>; 172eb4d8dcSEmmanuel Vadot 18*c9ccf3a3SEmmanuel Vadot cpu0: cpu@0 { 192eb4d8dcSEmmanuel Vadot compatible = "sifive,e51", "sifive,rocket0", "riscv"; 202eb4d8dcSEmmanuel Vadot device_type = "cpu"; 212eb4d8dcSEmmanuel Vadot i-cache-block-size = <64>; 222eb4d8dcSEmmanuel Vadot i-cache-sets = <128>; 232eb4d8dcSEmmanuel Vadot i-cache-size = <16384>; 242eb4d8dcSEmmanuel Vadot reg = <0>; 252eb4d8dcSEmmanuel Vadot riscv,isa = "rv64imac"; 26*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_CPU>; 272eb4d8dcSEmmanuel Vadot status = "disabled"; 282eb4d8dcSEmmanuel Vadot 292eb4d8dcSEmmanuel Vadot cpu0_intc: interrupt-controller { 302eb4d8dcSEmmanuel Vadot #interrupt-cells = <1>; 312eb4d8dcSEmmanuel Vadot compatible = "riscv,cpu-intc"; 322eb4d8dcSEmmanuel Vadot interrupt-controller; 332eb4d8dcSEmmanuel Vadot }; 342eb4d8dcSEmmanuel Vadot }; 352eb4d8dcSEmmanuel Vadot 36*c9ccf3a3SEmmanuel Vadot cpu1: cpu@1 { 372eb4d8dcSEmmanuel Vadot compatible = "sifive,u54-mc", "sifive,rocket0", "riscv"; 382eb4d8dcSEmmanuel Vadot d-cache-block-size = <64>; 392eb4d8dcSEmmanuel Vadot d-cache-sets = <64>; 402eb4d8dcSEmmanuel Vadot d-cache-size = <32768>; 412eb4d8dcSEmmanuel Vadot d-tlb-sets = <1>; 422eb4d8dcSEmmanuel Vadot d-tlb-size = <32>; 432eb4d8dcSEmmanuel Vadot device_type = "cpu"; 442eb4d8dcSEmmanuel Vadot i-cache-block-size = <64>; 452eb4d8dcSEmmanuel Vadot i-cache-sets = <64>; 462eb4d8dcSEmmanuel Vadot i-cache-size = <32768>; 472eb4d8dcSEmmanuel Vadot i-tlb-sets = <1>; 482eb4d8dcSEmmanuel Vadot i-tlb-size = <32>; 492eb4d8dcSEmmanuel Vadot mmu-type = "riscv,sv39"; 502eb4d8dcSEmmanuel Vadot reg = <1>; 512eb4d8dcSEmmanuel Vadot riscv,isa = "rv64imafdc"; 52*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_CPU>; 532eb4d8dcSEmmanuel Vadot tlb-split; 542eb4d8dcSEmmanuel Vadot status = "okay"; 552eb4d8dcSEmmanuel Vadot 562eb4d8dcSEmmanuel Vadot cpu1_intc: interrupt-controller { 572eb4d8dcSEmmanuel Vadot #interrupt-cells = <1>; 582eb4d8dcSEmmanuel Vadot compatible = "riscv,cpu-intc"; 592eb4d8dcSEmmanuel Vadot interrupt-controller; 602eb4d8dcSEmmanuel Vadot }; 612eb4d8dcSEmmanuel Vadot }; 622eb4d8dcSEmmanuel Vadot 63*c9ccf3a3SEmmanuel Vadot cpu2: cpu@2 { 642eb4d8dcSEmmanuel Vadot compatible = "sifive,u54-mc", "sifive,rocket0", "riscv"; 652eb4d8dcSEmmanuel Vadot d-cache-block-size = <64>; 662eb4d8dcSEmmanuel Vadot d-cache-sets = <64>; 672eb4d8dcSEmmanuel Vadot d-cache-size = <32768>; 682eb4d8dcSEmmanuel Vadot d-tlb-sets = <1>; 692eb4d8dcSEmmanuel Vadot d-tlb-size = <32>; 702eb4d8dcSEmmanuel Vadot device_type = "cpu"; 712eb4d8dcSEmmanuel Vadot i-cache-block-size = <64>; 722eb4d8dcSEmmanuel Vadot i-cache-sets = <64>; 732eb4d8dcSEmmanuel Vadot i-cache-size = <32768>; 742eb4d8dcSEmmanuel Vadot i-tlb-sets = <1>; 752eb4d8dcSEmmanuel Vadot i-tlb-size = <32>; 762eb4d8dcSEmmanuel Vadot mmu-type = "riscv,sv39"; 772eb4d8dcSEmmanuel Vadot reg = <2>; 782eb4d8dcSEmmanuel Vadot riscv,isa = "rv64imafdc"; 79*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_CPU>; 802eb4d8dcSEmmanuel Vadot tlb-split; 812eb4d8dcSEmmanuel Vadot status = "okay"; 822eb4d8dcSEmmanuel Vadot 832eb4d8dcSEmmanuel Vadot cpu2_intc: interrupt-controller { 842eb4d8dcSEmmanuel Vadot #interrupt-cells = <1>; 852eb4d8dcSEmmanuel Vadot compatible = "riscv,cpu-intc"; 862eb4d8dcSEmmanuel Vadot interrupt-controller; 872eb4d8dcSEmmanuel Vadot }; 882eb4d8dcSEmmanuel Vadot }; 892eb4d8dcSEmmanuel Vadot 90*c9ccf3a3SEmmanuel Vadot cpu3: cpu@3 { 912eb4d8dcSEmmanuel Vadot compatible = "sifive,u54-mc", "sifive,rocket0", "riscv"; 922eb4d8dcSEmmanuel Vadot d-cache-block-size = <64>; 932eb4d8dcSEmmanuel Vadot d-cache-sets = <64>; 942eb4d8dcSEmmanuel Vadot d-cache-size = <32768>; 952eb4d8dcSEmmanuel Vadot d-tlb-sets = <1>; 962eb4d8dcSEmmanuel Vadot d-tlb-size = <32>; 972eb4d8dcSEmmanuel Vadot device_type = "cpu"; 982eb4d8dcSEmmanuel Vadot i-cache-block-size = <64>; 992eb4d8dcSEmmanuel Vadot i-cache-sets = <64>; 1002eb4d8dcSEmmanuel Vadot i-cache-size = <32768>; 1012eb4d8dcSEmmanuel Vadot i-tlb-sets = <1>; 1022eb4d8dcSEmmanuel Vadot i-tlb-size = <32>; 1032eb4d8dcSEmmanuel Vadot mmu-type = "riscv,sv39"; 1042eb4d8dcSEmmanuel Vadot reg = <3>; 1052eb4d8dcSEmmanuel Vadot riscv,isa = "rv64imafdc"; 106*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_CPU>; 1072eb4d8dcSEmmanuel Vadot tlb-split; 1082eb4d8dcSEmmanuel Vadot status = "okay"; 1092eb4d8dcSEmmanuel Vadot 1102eb4d8dcSEmmanuel Vadot cpu3_intc: interrupt-controller { 1112eb4d8dcSEmmanuel Vadot #interrupt-cells = <1>; 1122eb4d8dcSEmmanuel Vadot compatible = "riscv,cpu-intc"; 1132eb4d8dcSEmmanuel Vadot interrupt-controller; 1142eb4d8dcSEmmanuel Vadot }; 1152eb4d8dcSEmmanuel Vadot }; 1162eb4d8dcSEmmanuel Vadot 117*c9ccf3a3SEmmanuel Vadot cpu4: cpu@4 { 1182eb4d8dcSEmmanuel Vadot compatible = "sifive,u54-mc", "sifive,rocket0", "riscv"; 1192eb4d8dcSEmmanuel Vadot d-cache-block-size = <64>; 1202eb4d8dcSEmmanuel Vadot d-cache-sets = <64>; 1212eb4d8dcSEmmanuel Vadot d-cache-size = <32768>; 1222eb4d8dcSEmmanuel Vadot d-tlb-sets = <1>; 1232eb4d8dcSEmmanuel Vadot d-tlb-size = <32>; 1242eb4d8dcSEmmanuel Vadot device_type = "cpu"; 1252eb4d8dcSEmmanuel Vadot i-cache-block-size = <64>; 1262eb4d8dcSEmmanuel Vadot i-cache-sets = <64>; 1272eb4d8dcSEmmanuel Vadot i-cache-size = <32768>; 1282eb4d8dcSEmmanuel Vadot i-tlb-sets = <1>; 1292eb4d8dcSEmmanuel Vadot i-tlb-size = <32>; 1302eb4d8dcSEmmanuel Vadot mmu-type = "riscv,sv39"; 1312eb4d8dcSEmmanuel Vadot reg = <4>; 1322eb4d8dcSEmmanuel Vadot riscv,isa = "rv64imafdc"; 133*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_CPU>; 1342eb4d8dcSEmmanuel Vadot tlb-split; 1352eb4d8dcSEmmanuel Vadot status = "okay"; 1362eb4d8dcSEmmanuel Vadot cpu4_intc: interrupt-controller { 1372eb4d8dcSEmmanuel Vadot #interrupt-cells = <1>; 1382eb4d8dcSEmmanuel Vadot compatible = "riscv,cpu-intc"; 1392eb4d8dcSEmmanuel Vadot interrupt-controller; 1402eb4d8dcSEmmanuel Vadot }; 1412eb4d8dcSEmmanuel Vadot }; 1422eb4d8dcSEmmanuel Vadot }; 1432eb4d8dcSEmmanuel Vadot 144*c9ccf3a3SEmmanuel Vadot refclk: mssrefclk { 145e67e8565SEmmanuel Vadot compatible = "fixed-clock"; 146e67e8565SEmmanuel Vadot #clock-cells = <0>; 147e67e8565SEmmanuel Vadot }; 148e67e8565SEmmanuel Vadot 1492eb4d8dcSEmmanuel Vadot soc { 1502eb4d8dcSEmmanuel Vadot #address-cells = <2>; 1512eb4d8dcSEmmanuel Vadot #size-cells = <2>; 1522eb4d8dcSEmmanuel Vadot compatible = "simple-bus"; 1532eb4d8dcSEmmanuel Vadot ranges; 1542eb4d8dcSEmmanuel Vadot 155*c9ccf3a3SEmmanuel Vadot cctrllr: cache-controller@2010000 { 1562eb4d8dcSEmmanuel Vadot compatible = "sifive,fu540-c000-ccache", "cache"; 157*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x2010000 0x0 0x1000>; 1582eb4d8dcSEmmanuel Vadot cache-block-size = <64>; 1592eb4d8dcSEmmanuel Vadot cache-level = <2>; 1602eb4d8dcSEmmanuel Vadot cache-sets = <1024>; 1612eb4d8dcSEmmanuel Vadot cache-size = <2097152>; 1622eb4d8dcSEmmanuel Vadot cache-unified; 1632eb4d8dcSEmmanuel Vadot interrupt-parent = <&plic>; 164e67e8565SEmmanuel Vadot interrupts = <1>, <2>, <3>; 1652eb4d8dcSEmmanuel Vadot }; 1662eb4d8dcSEmmanuel Vadot 167*c9ccf3a3SEmmanuel Vadot clint: clint@2000000 { 1688cc087a1SEmmanuel Vadot compatible = "sifive,fu540-c000-clint", "sifive,clint0"; 1692eb4d8dcSEmmanuel Vadot reg = <0x0 0x2000000 0x0 0xC000>; 170e67e8565SEmmanuel Vadot interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, 171e67e8565SEmmanuel Vadot <&cpu1_intc 3>, <&cpu1_intc 7>, 172e67e8565SEmmanuel Vadot <&cpu2_intc 3>, <&cpu2_intc 7>, 173e67e8565SEmmanuel Vadot <&cpu3_intc 3>, <&cpu3_intc 7>, 174e67e8565SEmmanuel Vadot <&cpu4_intc 3>, <&cpu4_intc 7>; 1752eb4d8dcSEmmanuel Vadot }; 1762eb4d8dcSEmmanuel Vadot 1772eb4d8dcSEmmanuel Vadot plic: interrupt-controller@c000000 { 1788cc087a1SEmmanuel Vadot compatible = "sifive,fu540-c000-plic", "sifive,plic-1.0.0"; 1792eb4d8dcSEmmanuel Vadot reg = <0x0 0xc000000 0x0 0x4000000>; 180e67e8565SEmmanuel Vadot #address-cells = <0>; 181e67e8565SEmmanuel Vadot #interrupt-cells = <1>; 1822eb4d8dcSEmmanuel Vadot interrupt-controller; 183e67e8565SEmmanuel Vadot interrupts-extended = <&cpu0_intc 11>, 184e67e8565SEmmanuel Vadot <&cpu1_intc 11>, <&cpu1_intc 9>, 185e67e8565SEmmanuel Vadot <&cpu2_intc 11>, <&cpu2_intc 9>, 186e67e8565SEmmanuel Vadot <&cpu3_intc 11>, <&cpu3_intc 9>, 187e67e8565SEmmanuel Vadot <&cpu4_intc 11>, <&cpu4_intc 9>; 188e67e8565SEmmanuel Vadot riscv,ndev = <186>; 1892eb4d8dcSEmmanuel Vadot }; 1902eb4d8dcSEmmanuel Vadot 1912eb4d8dcSEmmanuel Vadot clkcfg: clkcfg@20002000 { 1922eb4d8dcSEmmanuel Vadot compatible = "microchip,mpfs-clkcfg"; 193*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20002000 0x0 0x1000>, <0x0 0x3E001000 0x0 0x1000>; 1942eb4d8dcSEmmanuel Vadot clocks = <&refclk>; 1952eb4d8dcSEmmanuel Vadot #clock-cells = <1>; 1962eb4d8dcSEmmanuel Vadot }; 1972eb4d8dcSEmmanuel Vadot 198*c9ccf3a3SEmmanuel Vadot mmuart0: serial@20000000 { 1992eb4d8dcSEmmanuel Vadot compatible = "ns16550a"; 2002eb4d8dcSEmmanuel Vadot reg = <0x0 0x20000000 0x0 0x400>; 2012eb4d8dcSEmmanuel Vadot reg-io-width = <4>; 2022eb4d8dcSEmmanuel Vadot reg-shift = <2>; 2032eb4d8dcSEmmanuel Vadot interrupt-parent = <&plic>; 2042eb4d8dcSEmmanuel Vadot interrupts = <90>; 2052eb4d8dcSEmmanuel Vadot current-speed = <115200>; 206*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_MMUART0>; 207*c9ccf3a3SEmmanuel Vadot status = "disabled"; /* Reserved for the HSS */ 2082eb4d8dcSEmmanuel Vadot }; 2092eb4d8dcSEmmanuel Vadot 210*c9ccf3a3SEmmanuel Vadot mmuart1: serial@20100000 { 2112eb4d8dcSEmmanuel Vadot compatible = "ns16550a"; 2122eb4d8dcSEmmanuel Vadot reg = <0x0 0x20100000 0x0 0x400>; 2132eb4d8dcSEmmanuel Vadot reg-io-width = <4>; 2142eb4d8dcSEmmanuel Vadot reg-shift = <2>; 2152eb4d8dcSEmmanuel Vadot interrupt-parent = <&plic>; 2162eb4d8dcSEmmanuel Vadot interrupts = <91>; 2172eb4d8dcSEmmanuel Vadot current-speed = <115200>; 218*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_MMUART1>; 2192eb4d8dcSEmmanuel Vadot status = "disabled"; 2202eb4d8dcSEmmanuel Vadot }; 2212eb4d8dcSEmmanuel Vadot 222*c9ccf3a3SEmmanuel Vadot mmuart2: serial@20102000 { 2232eb4d8dcSEmmanuel Vadot compatible = "ns16550a"; 2242eb4d8dcSEmmanuel Vadot reg = <0x0 0x20102000 0x0 0x400>; 2252eb4d8dcSEmmanuel Vadot reg-io-width = <4>; 2262eb4d8dcSEmmanuel Vadot reg-shift = <2>; 2272eb4d8dcSEmmanuel Vadot interrupt-parent = <&plic>; 2282eb4d8dcSEmmanuel Vadot interrupts = <92>; 2292eb4d8dcSEmmanuel Vadot current-speed = <115200>; 230*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_MMUART2>; 2312eb4d8dcSEmmanuel Vadot status = "disabled"; 2322eb4d8dcSEmmanuel Vadot }; 2332eb4d8dcSEmmanuel Vadot 234*c9ccf3a3SEmmanuel Vadot mmuart3: serial@20104000 { 2352eb4d8dcSEmmanuel Vadot compatible = "ns16550a"; 2362eb4d8dcSEmmanuel Vadot reg = <0x0 0x20104000 0x0 0x400>; 2372eb4d8dcSEmmanuel Vadot reg-io-width = <4>; 2382eb4d8dcSEmmanuel Vadot reg-shift = <2>; 2392eb4d8dcSEmmanuel Vadot interrupt-parent = <&plic>; 2402eb4d8dcSEmmanuel Vadot interrupts = <93>; 2412eb4d8dcSEmmanuel Vadot current-speed = <115200>; 242*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_MMUART3>; 243*c9ccf3a3SEmmanuel Vadot status = "disabled"; 244*c9ccf3a3SEmmanuel Vadot }; 245*c9ccf3a3SEmmanuel Vadot 246*c9ccf3a3SEmmanuel Vadot mmuart4: serial@20106000 { 247*c9ccf3a3SEmmanuel Vadot compatible = "ns16550a"; 248*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20106000 0x0 0x400>; 249*c9ccf3a3SEmmanuel Vadot reg-io-width = <4>; 250*c9ccf3a3SEmmanuel Vadot reg-shift = <2>; 251*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 252*c9ccf3a3SEmmanuel Vadot interrupts = <94>; 253*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_MMUART4>; 254*c9ccf3a3SEmmanuel Vadot current-speed = <115200>; 2552eb4d8dcSEmmanuel Vadot status = "disabled"; 2562eb4d8dcSEmmanuel Vadot }; 2572eb4d8dcSEmmanuel Vadot 2588cc087a1SEmmanuel Vadot /* Common node entry for emmc/sd */ 2598cc087a1SEmmanuel Vadot mmc: mmc@20008000 { 2608cc087a1SEmmanuel Vadot compatible = "microchip,mpfs-sd4hc", "cdns,sd4hc"; 2612eb4d8dcSEmmanuel Vadot reg = <0x0 0x20008000 0x0 0x1000>; 2622eb4d8dcSEmmanuel Vadot interrupt-parent = <&plic>; 263*c9ccf3a3SEmmanuel Vadot interrupts = <88>; 264*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_MMC>; 2652eb4d8dcSEmmanuel Vadot max-frequency = <200000000>; 2662eb4d8dcSEmmanuel Vadot status = "disabled"; 2672eb4d8dcSEmmanuel Vadot }; 2682eb4d8dcSEmmanuel Vadot 269*c9ccf3a3SEmmanuel Vadot spi0: spi@20108000 { 270*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-spi"; 271*c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 272*c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 273*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20108000 0x0 0x1000>; 274*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 275*c9ccf3a3SEmmanuel Vadot interrupts = <54>; 276*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_SPI0>; 277*c9ccf3a3SEmmanuel Vadot spi-max-frequency = <25000000>; 278*c9ccf3a3SEmmanuel Vadot status = "disabled"; 279*c9ccf3a3SEmmanuel Vadot }; 280*c9ccf3a3SEmmanuel Vadot 281*c9ccf3a3SEmmanuel Vadot spi1: spi@20109000 { 282*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-spi"; 283*c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 284*c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 285*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20109000 0x0 0x1000>; 286*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 287*c9ccf3a3SEmmanuel Vadot interrupts = <55>; 288*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_SPI1>; 289*c9ccf3a3SEmmanuel Vadot spi-max-frequency = <25000000>; 290*c9ccf3a3SEmmanuel Vadot status = "disabled"; 291*c9ccf3a3SEmmanuel Vadot }; 292*c9ccf3a3SEmmanuel Vadot 293*c9ccf3a3SEmmanuel Vadot qspi: spi@21000000 { 294*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-qspi"; 295*c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 296*c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 297*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x21000000 0x0 0x1000>; 298*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 299*c9ccf3a3SEmmanuel Vadot interrupts = <85>; 300*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_QSPI>; 301*c9ccf3a3SEmmanuel Vadot spi-max-frequency = <25000000>; 302*c9ccf3a3SEmmanuel Vadot status = "disabled"; 303*c9ccf3a3SEmmanuel Vadot }; 304*c9ccf3a3SEmmanuel Vadot 305*c9ccf3a3SEmmanuel Vadot i2c0: i2c@2010a000 { 306*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-i2c", "microchip,corei2c-rtl-v7"; 307*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x2010a000 0x0 0x1000>; 308*c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 309*c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 310*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 311*c9ccf3a3SEmmanuel Vadot interrupts = <58>; 312*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_I2C0>; 313*c9ccf3a3SEmmanuel Vadot clock-frequency = <100000>; 314*c9ccf3a3SEmmanuel Vadot status = "disabled"; 315*c9ccf3a3SEmmanuel Vadot }; 316*c9ccf3a3SEmmanuel Vadot 317*c9ccf3a3SEmmanuel Vadot i2c1: i2c@2010b000 { 318*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-i2c", "microchip,corei2c-rtl-v7"; 319*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x2010b000 0x0 0x1000>; 320*c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 321*c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 322*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 323*c9ccf3a3SEmmanuel Vadot interrupts = <61>; 324*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_I2C1>; 325*c9ccf3a3SEmmanuel Vadot clock-frequency = <100000>; 326*c9ccf3a3SEmmanuel Vadot status = "disabled"; 327*c9ccf3a3SEmmanuel Vadot }; 328*c9ccf3a3SEmmanuel Vadot 329*c9ccf3a3SEmmanuel Vadot mac0: ethernet@20110000 { 3302eb4d8dcSEmmanuel Vadot compatible = "cdns,macb"; 3312eb4d8dcSEmmanuel Vadot reg = <0x0 0x20110000 0x0 0x2000>; 3322eb4d8dcSEmmanuel Vadot #address-cells = <1>; 3332eb4d8dcSEmmanuel Vadot #size-cells = <0>; 334*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 335*c9ccf3a3SEmmanuel Vadot interrupts = <64>, <65>, <66>, <67>, <68>, <69>; 336*c9ccf3a3SEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 337*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_MAC0>, <&clkcfg CLK_AHB>; 338*c9ccf3a3SEmmanuel Vadot clock-names = "pclk", "hclk"; 339*c9ccf3a3SEmmanuel Vadot status = "disabled"; 3402eb4d8dcSEmmanuel Vadot }; 3412eb4d8dcSEmmanuel Vadot 342*c9ccf3a3SEmmanuel Vadot mac1: ethernet@20112000 { 3432eb4d8dcSEmmanuel Vadot compatible = "cdns,macb"; 3442eb4d8dcSEmmanuel Vadot reg = <0x0 0x20112000 0x0 0x2000>; 3452eb4d8dcSEmmanuel Vadot #address-cells = <1>; 3462eb4d8dcSEmmanuel Vadot #size-cells = <0>; 347*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 348*c9ccf3a3SEmmanuel Vadot interrupts = <70>, <71>, <72>, <73>, <74>, <75>; 349*c9ccf3a3SEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 350*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_MAC1>, <&clkcfg CLK_AHB>; 351*c9ccf3a3SEmmanuel Vadot clock-names = "pclk", "hclk"; 352*c9ccf3a3SEmmanuel Vadot status = "disabled"; 3532eb4d8dcSEmmanuel Vadot }; 3542eb4d8dcSEmmanuel Vadot 355*c9ccf3a3SEmmanuel Vadot gpio0: gpio@20120000 { 356*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-gpio"; 357*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20120000 0x0 0x1000>; 358*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 359*c9ccf3a3SEmmanuel Vadot interrupt-controller; 360*c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 361*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_GPIO0>; 362*c9ccf3a3SEmmanuel Vadot gpio-controller; 363*c9ccf3a3SEmmanuel Vadot #gpio-cells = <2>; 364*c9ccf3a3SEmmanuel Vadot status = "disabled"; 365*c9ccf3a3SEmmanuel Vadot }; 366*c9ccf3a3SEmmanuel Vadot 367*c9ccf3a3SEmmanuel Vadot gpio1: gpio@20121000 { 368*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-gpio"; 369*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20121000 0x0 0x1000>; 370*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 371*c9ccf3a3SEmmanuel Vadot interrupt-controller; 372*c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 373*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_GPIO1>; 374*c9ccf3a3SEmmanuel Vadot gpio-controller; 375*c9ccf3a3SEmmanuel Vadot #gpio-cells = <2>; 376*c9ccf3a3SEmmanuel Vadot status = "disabled"; 377*c9ccf3a3SEmmanuel Vadot }; 378*c9ccf3a3SEmmanuel Vadot 379*c9ccf3a3SEmmanuel Vadot gpio2: gpio@20122000 { 380*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-gpio"; 381*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20122000 0x0 0x1000>; 382*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 383*c9ccf3a3SEmmanuel Vadot interrupt-controller; 384*c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 385*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_GPIO2>; 386*c9ccf3a3SEmmanuel Vadot gpio-controller; 387*c9ccf3a3SEmmanuel Vadot #gpio-cells = <2>; 388*c9ccf3a3SEmmanuel Vadot status = "disabled"; 389*c9ccf3a3SEmmanuel Vadot }; 390*c9ccf3a3SEmmanuel Vadot 391*c9ccf3a3SEmmanuel Vadot rtc: rtc@20124000 { 392*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-rtc"; 393*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20124000 0x0 0x1000>; 394*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 395*c9ccf3a3SEmmanuel Vadot interrupts = <80>, <81>; 396*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_RTC>, <&clkcfg CLK_RTCREF>; 397*c9ccf3a3SEmmanuel Vadot clock-names = "rtc", "rtcref"; 398*c9ccf3a3SEmmanuel Vadot status = "disabled"; 399*c9ccf3a3SEmmanuel Vadot }; 400*c9ccf3a3SEmmanuel Vadot 401*c9ccf3a3SEmmanuel Vadot usb: usb@20201000 { 402*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-musb"; 403*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x20201000 0x0 0x1000>; 404*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 405*c9ccf3a3SEmmanuel Vadot interrupts = <86>, <87>; 406*c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg CLK_USB>; 407*c9ccf3a3SEmmanuel Vadot interrupt-names = "dma","mc"; 408*c9ccf3a3SEmmanuel Vadot status = "disabled"; 409*c9ccf3a3SEmmanuel Vadot }; 410*c9ccf3a3SEmmanuel Vadot 411*c9ccf3a3SEmmanuel Vadot pcie: pcie@2000000000 { 412*c9ccf3a3SEmmanuel Vadot compatible = "microchip,pcie-host-1.0"; 413*c9ccf3a3SEmmanuel Vadot #address-cells = <0x3>; 414*c9ccf3a3SEmmanuel Vadot #interrupt-cells = <0x1>; 415*c9ccf3a3SEmmanuel Vadot #size-cells = <0x2>; 416*c9ccf3a3SEmmanuel Vadot device_type = "pci"; 417*c9ccf3a3SEmmanuel Vadot reg = <0x20 0x0 0x0 0x8000000>, <0x0 0x43000000 0x0 0x10000>; 418*c9ccf3a3SEmmanuel Vadot reg-names = "cfg", "apb"; 419*c9ccf3a3SEmmanuel Vadot bus-range = <0x0 0x7f>; 420*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 421*c9ccf3a3SEmmanuel Vadot interrupts = <119>; 422*c9ccf3a3SEmmanuel Vadot interrupt-map = <0 0 0 1 &pcie_intc 0>, 423*c9ccf3a3SEmmanuel Vadot <0 0 0 2 &pcie_intc 1>, 424*c9ccf3a3SEmmanuel Vadot <0 0 0 3 &pcie_intc 2>, 425*c9ccf3a3SEmmanuel Vadot <0 0 0 4 &pcie_intc 3>; 426*c9ccf3a3SEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 427*c9ccf3a3SEmmanuel Vadot clocks = <&fabric_clk1>, <&fabric_clk1>, <&fabric_clk3>; 428*c9ccf3a3SEmmanuel Vadot clock-names = "fic0", "fic1", "fic3"; 429*c9ccf3a3SEmmanuel Vadot ranges = <0x3000000 0x0 0x8000000 0x20 0x8000000 0x0 0x80000000>; 430*c9ccf3a3SEmmanuel Vadot msi-parent = <&pcie>; 431*c9ccf3a3SEmmanuel Vadot msi-controller; 432*c9ccf3a3SEmmanuel Vadot microchip,axi-m-atr0 = <0x10 0x0>; 433*c9ccf3a3SEmmanuel Vadot status = "disabled"; 434*c9ccf3a3SEmmanuel Vadot pcie_intc: legacy-interrupt-controller { 435*c9ccf3a3SEmmanuel Vadot #address-cells = <0>; 436*c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 437*c9ccf3a3SEmmanuel Vadot interrupt-controller; 438*c9ccf3a3SEmmanuel Vadot }; 439*c9ccf3a3SEmmanuel Vadot }; 440*c9ccf3a3SEmmanuel Vadot 441*c9ccf3a3SEmmanuel Vadot mbox: mailbox@37020000 { 442*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-mailbox"; 443*c9ccf3a3SEmmanuel Vadot reg = <0x0 0x37020000 0x0 0x1000>, <0x0 0x2000318C 0x0 0x40>; 444*c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 445*c9ccf3a3SEmmanuel Vadot interrupts = <96>; 446*c9ccf3a3SEmmanuel Vadot #mbox-cells = <1>; 447*c9ccf3a3SEmmanuel Vadot status = "disabled"; 448*c9ccf3a3SEmmanuel Vadot }; 449*c9ccf3a3SEmmanuel Vadot 450*c9ccf3a3SEmmanuel Vadot syscontroller: syscontroller { 451*c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-sys-controller"; 452*c9ccf3a3SEmmanuel Vadot mboxes = <&mbox 0>; 453*c9ccf3a3SEmmanuel Vadot }; 4542eb4d8dcSEmmanuel Vadot }; 4552eb4d8dcSEmmanuel Vadot}; 456