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