1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2*f126890aSEmmanuel Vadot// Copyright (C) 2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 3*f126890aSEmmanuel Vadot 4*f126890aSEmmanuel Vadot#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16)) 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot/ { 7*f126890aSEmmanuel Vadot #address-cells = <1>; 8*f126890aSEmmanuel Vadot #size-cells = <1>; 9*f126890aSEmmanuel Vadot model = "Marvell Orion5x SoC"; 10*f126890aSEmmanuel Vadot compatible = "marvell,orion5x"; 11*f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 12*f126890aSEmmanuel Vadot 13*f126890aSEmmanuel Vadot aliases { 14*f126890aSEmmanuel Vadot gpio0 = &gpio0; 15*f126890aSEmmanuel Vadot }; 16*f126890aSEmmanuel Vadot 17*f126890aSEmmanuel Vadot soc { 18*f126890aSEmmanuel Vadot #address-cells = <2>; 19*f126890aSEmmanuel Vadot #size-cells = <1>; 20*f126890aSEmmanuel Vadot controller = <&mbusc>; 21*f126890aSEmmanuel Vadot 22*f126890aSEmmanuel Vadot devbus_bootcs: devbus-bootcs { 23*f126890aSEmmanuel Vadot compatible = "marvell,orion-devbus"; 24*f126890aSEmmanuel Vadot reg = <MBUS_ID(0xf0, 0x01) 0x1046C 0x4>; 25*f126890aSEmmanuel Vadot ranges = <0 MBUS_ID(0x01, 0x0f) 0 0xffffffff>; 26*f126890aSEmmanuel Vadot #address-cells = <1>; 27*f126890aSEmmanuel Vadot #size-cells = <1>; 28*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 29*f126890aSEmmanuel Vadot status = "disabled"; 30*f126890aSEmmanuel Vadot }; 31*f126890aSEmmanuel Vadot 32*f126890aSEmmanuel Vadot devbus_cs0: devbus-cs0 { 33*f126890aSEmmanuel Vadot compatible = "marvell,orion-devbus"; 34*f126890aSEmmanuel Vadot reg = <MBUS_ID(0xf0, 0x01) 0x1045C 0x4>; 35*f126890aSEmmanuel Vadot ranges = <0 MBUS_ID(0x01, 0x1e) 0 0xffffffff>; 36*f126890aSEmmanuel Vadot #address-cells = <1>; 37*f126890aSEmmanuel Vadot #size-cells = <1>; 38*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 39*f126890aSEmmanuel Vadot status = "disabled"; 40*f126890aSEmmanuel Vadot }; 41*f126890aSEmmanuel Vadot 42*f126890aSEmmanuel Vadot devbus_cs1: devbus-cs1 { 43*f126890aSEmmanuel Vadot compatible = "marvell,orion-devbus"; 44*f126890aSEmmanuel Vadot reg = <MBUS_ID(0xf0, 0x01) 0x10460 0x4>; 45*f126890aSEmmanuel Vadot ranges = <0 MBUS_ID(0x01, 0x1d) 0 0xffffffff>; 46*f126890aSEmmanuel Vadot #address-cells = <1>; 47*f126890aSEmmanuel Vadot #size-cells = <1>; 48*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 49*f126890aSEmmanuel Vadot status = "disabled"; 50*f126890aSEmmanuel Vadot }; 51*f126890aSEmmanuel Vadot 52*f126890aSEmmanuel Vadot devbus_cs2: devbus-cs2 { 53*f126890aSEmmanuel Vadot compatible = "marvell,orion-devbus"; 54*f126890aSEmmanuel Vadot reg = <MBUS_ID(0xf0, 0x01) 0x10464 0x4>; 55*f126890aSEmmanuel Vadot ranges = <0 MBUS_ID(0x01, 0x1b) 0 0xffffffff>; 56*f126890aSEmmanuel Vadot #address-cells = <1>; 57*f126890aSEmmanuel Vadot #size-cells = <1>; 58*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 59*f126890aSEmmanuel Vadot status = "disabled"; 60*f126890aSEmmanuel Vadot }; 61*f126890aSEmmanuel Vadot 62*f126890aSEmmanuel Vadot internal-regs { 63*f126890aSEmmanuel Vadot compatible = "simple-bus"; 64*f126890aSEmmanuel Vadot #address-cells = <1>; 65*f126890aSEmmanuel Vadot #size-cells = <1>; 66*f126890aSEmmanuel Vadot ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>; 67*f126890aSEmmanuel Vadot 68*f126890aSEmmanuel Vadot gpio0: gpio@10100 { 69*f126890aSEmmanuel Vadot compatible = "marvell,orion-gpio"; 70*f126890aSEmmanuel Vadot #gpio-cells = <2>; 71*f126890aSEmmanuel Vadot gpio-controller; 72*f126890aSEmmanuel Vadot reg = <0x10100 0x40>; 73*f126890aSEmmanuel Vadot ngpios = <32>; 74*f126890aSEmmanuel Vadot interrupt-controller; 75*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 76*f126890aSEmmanuel Vadot interrupts = <6>, <7>, <8>, <9>; 77*f126890aSEmmanuel Vadot }; 78*f126890aSEmmanuel Vadot 79*f126890aSEmmanuel Vadot spi: spi@10600 { 80*f126890aSEmmanuel Vadot compatible = "marvell,orion-spi"; 81*f126890aSEmmanuel Vadot #address-cells = <1>; 82*f126890aSEmmanuel Vadot #size-cells = <0>; 83*f126890aSEmmanuel Vadot cell-index = <0>; 84*f126890aSEmmanuel Vadot reg = <0x10600 0x28>; 85*f126890aSEmmanuel Vadot status = "disabled"; 86*f126890aSEmmanuel Vadot }; 87*f126890aSEmmanuel Vadot 88*f126890aSEmmanuel Vadot i2c: i2c@11000 { 89*f126890aSEmmanuel Vadot compatible = "marvell,mv64xxx-i2c"; 90*f126890aSEmmanuel Vadot reg = <0x11000 0x20>; 91*f126890aSEmmanuel Vadot #address-cells = <1>; 92*f126890aSEmmanuel Vadot #size-cells = <0>; 93*f126890aSEmmanuel Vadot interrupts = <5>; 94*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 95*f126890aSEmmanuel Vadot status = "disabled"; 96*f126890aSEmmanuel Vadot }; 97*f126890aSEmmanuel Vadot 98*f126890aSEmmanuel Vadot uart0: serial@12000 { 99*f126890aSEmmanuel Vadot compatible = "ns16550a"; 100*f126890aSEmmanuel Vadot reg = <0x12000 0x100>; 101*f126890aSEmmanuel Vadot reg-shift = <2>; 102*f126890aSEmmanuel Vadot interrupts = <3>; 103*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 104*f126890aSEmmanuel Vadot status = "disabled"; 105*f126890aSEmmanuel Vadot }; 106*f126890aSEmmanuel Vadot 107*f126890aSEmmanuel Vadot uart1: serial@12100 { 108*f126890aSEmmanuel Vadot compatible = "ns16550a"; 109*f126890aSEmmanuel Vadot reg = <0x12100 0x100>; 110*f126890aSEmmanuel Vadot reg-shift = <2>; 111*f126890aSEmmanuel Vadot interrupts = <4>; 112*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 113*f126890aSEmmanuel Vadot status = "disabled"; 114*f126890aSEmmanuel Vadot }; 115*f126890aSEmmanuel Vadot 116*f126890aSEmmanuel Vadot bridge_intc: bridge-interrupt-ctrl@20110 { 117*f126890aSEmmanuel Vadot compatible = "marvell,orion-bridge-intc"; 118*f126890aSEmmanuel Vadot interrupt-controller; 119*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 120*f126890aSEmmanuel Vadot reg = <0x20110 0x8>; 121*f126890aSEmmanuel Vadot interrupts = <0>; 122*f126890aSEmmanuel Vadot marvell,#interrupts = <4>; 123*f126890aSEmmanuel Vadot }; 124*f126890aSEmmanuel Vadot 125*f126890aSEmmanuel Vadot intc: interrupt-controller@20200 { 126*f126890aSEmmanuel Vadot compatible = "marvell,orion-intc"; 127*f126890aSEmmanuel Vadot interrupt-controller; 128*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 129*f126890aSEmmanuel Vadot reg = <0x20200 0x08>; 130*f126890aSEmmanuel Vadot }; 131*f126890aSEmmanuel Vadot 132*f126890aSEmmanuel Vadot timer: timer@20300 { 133*f126890aSEmmanuel Vadot compatible = "marvell,orion-timer"; 134*f126890aSEmmanuel Vadot reg = <0x20300 0x20>; 135*f126890aSEmmanuel Vadot interrupt-parent = <&bridge_intc>; 136*f126890aSEmmanuel Vadot interrupts = <1>, <2>; 137*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 138*f126890aSEmmanuel Vadot }; 139*f126890aSEmmanuel Vadot 140*f126890aSEmmanuel Vadot wdt: wdt@20300 { 141*f126890aSEmmanuel Vadot compatible = "marvell,orion-wdt"; 142*f126890aSEmmanuel Vadot reg = <0x20300 0x28>, <0x20108 0x4>; 143*f126890aSEmmanuel Vadot interrupt-parent = <&bridge_intc>; 144*f126890aSEmmanuel Vadot interrupts = <3>; 145*f126890aSEmmanuel Vadot clocks = <&core_clk 0>; 146*f126890aSEmmanuel Vadot status = "okay"; 147*f126890aSEmmanuel Vadot }; 148*f126890aSEmmanuel Vadot 149*f126890aSEmmanuel Vadot ehci0: ehci@50000 { 150*f126890aSEmmanuel Vadot compatible = "marvell,orion-ehci"; 151*f126890aSEmmanuel Vadot reg = <0x50000 0x1000>; 152*f126890aSEmmanuel Vadot interrupts = <17>; 153*f126890aSEmmanuel Vadot status = "disabled"; 154*f126890aSEmmanuel Vadot }; 155*f126890aSEmmanuel Vadot 156*f126890aSEmmanuel Vadot xor: dma-controller@60900 { 157*f126890aSEmmanuel Vadot compatible = "marvell,orion-xor"; 158*f126890aSEmmanuel Vadot reg = <0x60900 0x100 159*f126890aSEmmanuel Vadot 0x60b00 0x100>; 160*f126890aSEmmanuel Vadot status = "okay"; 161*f126890aSEmmanuel Vadot 162*f126890aSEmmanuel Vadot xor00 { 163*f126890aSEmmanuel Vadot interrupts = <30>; 164*f126890aSEmmanuel Vadot dmacap,memcpy; 165*f126890aSEmmanuel Vadot dmacap,xor; 166*f126890aSEmmanuel Vadot }; 167*f126890aSEmmanuel Vadot xor01 { 168*f126890aSEmmanuel Vadot interrupts = <31>; 169*f126890aSEmmanuel Vadot dmacap,memcpy; 170*f126890aSEmmanuel Vadot dmacap,xor; 171*f126890aSEmmanuel Vadot dmacap,memset; 172*f126890aSEmmanuel Vadot }; 173*f126890aSEmmanuel Vadot }; 174*f126890aSEmmanuel Vadot 175*f126890aSEmmanuel Vadot eth: ethernet-controller@72000 { 176*f126890aSEmmanuel Vadot compatible = "marvell,orion-eth"; 177*f126890aSEmmanuel Vadot #address-cells = <1>; 178*f126890aSEmmanuel Vadot #size-cells = <0>; 179*f126890aSEmmanuel Vadot reg = <0x72000 0x4000>; 180*f126890aSEmmanuel Vadot marvell,tx-checksum-limit = <1600>; 181*f126890aSEmmanuel Vadot status = "disabled"; 182*f126890aSEmmanuel Vadot 183*f126890aSEmmanuel Vadot ethport: ethernet-port@0 { 184*f126890aSEmmanuel Vadot compatible = "marvell,orion-eth-port"; 185*f126890aSEmmanuel Vadot reg = <0>; 186*f126890aSEmmanuel Vadot interrupts = <21>; 187*f126890aSEmmanuel Vadot /* overwrite MAC address in bootloader */ 188*f126890aSEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 189*f126890aSEmmanuel Vadot /* set phy-handle property in board file */ 190*f126890aSEmmanuel Vadot }; 191*f126890aSEmmanuel Vadot }; 192*f126890aSEmmanuel Vadot 193*f126890aSEmmanuel Vadot mdio: mdio-bus@72004 { 194*f126890aSEmmanuel Vadot compatible = "marvell,orion-mdio"; 195*f126890aSEmmanuel Vadot #address-cells = <1>; 196*f126890aSEmmanuel Vadot #size-cells = <0>; 197*f126890aSEmmanuel Vadot reg = <0x72004 0x84>; 198*f126890aSEmmanuel Vadot interrupts = <22>; 199*f126890aSEmmanuel Vadot status = "disabled"; 200*f126890aSEmmanuel Vadot 201*f126890aSEmmanuel Vadot /* add phy nodes in board file */ 202*f126890aSEmmanuel Vadot }; 203*f126890aSEmmanuel Vadot 204*f126890aSEmmanuel Vadot sata: sata@80000 { 205*f126890aSEmmanuel Vadot compatible = "marvell,orion-sata"; 206*f126890aSEmmanuel Vadot reg = <0x80000 0x5000>; 207*f126890aSEmmanuel Vadot interrupts = <29>; 208*f126890aSEmmanuel Vadot status = "disabled"; 209*f126890aSEmmanuel Vadot }; 210*f126890aSEmmanuel Vadot 211*f126890aSEmmanuel Vadot cesa: crypto@90000 { 212*f126890aSEmmanuel Vadot compatible = "marvell,orion-crypto"; 213*f126890aSEmmanuel Vadot reg = <0x90000 0x10000>; 214*f126890aSEmmanuel Vadot reg-names = "regs"; 215*f126890aSEmmanuel Vadot interrupts = <28>; 216*f126890aSEmmanuel Vadot marvell,crypto-srams = <&crypto_sram>; 217*f126890aSEmmanuel Vadot marvell,crypto-sram-size = <0x800>; 218*f126890aSEmmanuel Vadot status = "okay"; 219*f126890aSEmmanuel Vadot }; 220*f126890aSEmmanuel Vadot 221*f126890aSEmmanuel Vadot ehci1: ehci@a0000 { 222*f126890aSEmmanuel Vadot compatible = "marvell,orion-ehci"; 223*f126890aSEmmanuel Vadot reg = <0xa0000 0x1000>; 224*f126890aSEmmanuel Vadot interrupts = <12>; 225*f126890aSEmmanuel Vadot status = "disabled"; 226*f126890aSEmmanuel Vadot }; 227*f126890aSEmmanuel Vadot }; 228*f126890aSEmmanuel Vadot 229*f126890aSEmmanuel Vadot crypto_sram: sa-sram { 230*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 231*f126890aSEmmanuel Vadot reg = <MBUS_ID(0x09, 0x00) 0x0 0x800>; 232*f126890aSEmmanuel Vadot #address-cells = <1>; 233*f126890aSEmmanuel Vadot #size-cells = <1>; 234*f126890aSEmmanuel Vadot }; 235*f126890aSEmmanuel Vadot }; 236*f126890aSEmmanuel Vadot}; 237