1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device Tree file for Marvell Armada XP evaluation board 4*724ba675SRob Herring * (DB-78460-BP) 5*724ba675SRob Herring * 6*724ba675SRob Herring * Copyright (C) 2012-2014 Marvell 7*724ba675SRob Herring * 8*724ba675SRob Herring * Lior Amsalem <alior@marvell.com> 9*724ba675SRob Herring * Gregory CLEMENT <gregory.clement@free-electrons.com> 10*724ba675SRob Herring * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 11*724ba675SRob Herring * 12*724ba675SRob Herring * 13*724ba675SRob Herring * Note: this Device Tree assumes that the bootloader has remapped the 14*724ba675SRob Herring * internal registers to 0xf1000000 (instead of the default 15*724ba675SRob Herring * 0xd0000000). The 0xf1000000 is the default used by the recent, 16*724ba675SRob Herring * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier 17*724ba675SRob Herring * boards were delivered with an older version of the bootloader that 18*724ba675SRob Herring * left internal registers mapped at 0xd0000000. If you are in this 19*724ba675SRob Herring * situation, you should either update your bootloader (preferred 20*724ba675SRob Herring * solution) or the below Device Tree should be adjusted. 21*724ba675SRob Herring */ 22*724ba675SRob Herring 23*724ba675SRob Herring/dts-v1/; 24*724ba675SRob Herring#include "armada-xp-mv78460.dtsi" 25*724ba675SRob Herring 26*724ba675SRob Herring/ { 27*724ba675SRob Herring model = "Marvell Armada XP Evaluation Board"; 28*724ba675SRob Herring compatible = "marvell,axp-db", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp"; 29*724ba675SRob Herring 30*724ba675SRob Herring chosen { 31*724ba675SRob Herring stdout-path = "serial0:115200n8"; 32*724ba675SRob Herring }; 33*724ba675SRob Herring 34*724ba675SRob Herring memory@0 { 35*724ba675SRob Herring device_type = "memory"; 36*724ba675SRob Herring reg = <0 0x00000000 0 0x80000000>; /* 2 GB */ 37*724ba675SRob Herring }; 38*724ba675SRob Herring 39*724ba675SRob Herring soc { 40*724ba675SRob Herring ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000 41*724ba675SRob Herring MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000 42*724ba675SRob Herring MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000 43*724ba675SRob Herring MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000 44*724ba675SRob Herring MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000 45*724ba675SRob Herring MBUS_ID(0x0c, 0x04) 0 0 0xf1200000 0x100000>; 46*724ba675SRob Herring 47*724ba675SRob Herring devbus-bootcs { 48*724ba675SRob Herring status = "okay"; 49*724ba675SRob Herring 50*724ba675SRob Herring /* Device Bus parameters are required */ 51*724ba675SRob Herring 52*724ba675SRob Herring /* Read parameters */ 53*724ba675SRob Herring devbus,bus-width = <16>; 54*724ba675SRob Herring devbus,turn-off-ps = <60000>; 55*724ba675SRob Herring devbus,badr-skew-ps = <0>; 56*724ba675SRob Herring devbus,acc-first-ps = <124000>; 57*724ba675SRob Herring devbus,acc-next-ps = <248000>; 58*724ba675SRob Herring devbus,rd-setup-ps = <0>; 59*724ba675SRob Herring devbus,rd-hold-ps = <0>; 60*724ba675SRob Herring 61*724ba675SRob Herring /* Write parameters */ 62*724ba675SRob Herring devbus,sync-enable = <0>; 63*724ba675SRob Herring devbus,wr-high-ps = <60000>; 64*724ba675SRob Herring devbus,wr-low-ps = <60000>; 65*724ba675SRob Herring devbus,ale-wr-ps = <60000>; 66*724ba675SRob Herring 67*724ba675SRob Herring /* NOR 16 MiB */ 68*724ba675SRob Herring nor@0 { 69*724ba675SRob Herring compatible = "cfi-flash"; 70*724ba675SRob Herring reg = <0 0x1000000>; 71*724ba675SRob Herring bank-width = <2>; 72*724ba675SRob Herring }; 73*724ba675SRob Herring }; 74*724ba675SRob Herring 75*724ba675SRob Herring internal-regs { 76*724ba675SRob Herring serial@12000 { 77*724ba675SRob Herring status = "okay"; 78*724ba675SRob Herring }; 79*724ba675SRob Herring serial@12100 { 80*724ba675SRob Herring status = "okay"; 81*724ba675SRob Herring }; 82*724ba675SRob Herring serial@12200 { 83*724ba675SRob Herring status = "okay"; 84*724ba675SRob Herring }; 85*724ba675SRob Herring serial@12300 { 86*724ba675SRob Herring status = "okay"; 87*724ba675SRob Herring }; 88*724ba675SRob Herring 89*724ba675SRob Herring sata@a0000 { 90*724ba675SRob Herring nr-ports = <2>; 91*724ba675SRob Herring status = "okay"; 92*724ba675SRob Herring }; 93*724ba675SRob Herring 94*724ba675SRob Herring ethernet@70000 { 95*724ba675SRob Herring status = "okay"; 96*724ba675SRob Herring phy = <&phy0>; 97*724ba675SRob Herring phy-mode = "rgmii-id"; 98*724ba675SRob Herring buffer-manager = <&bm>; 99*724ba675SRob Herring bm,pool-long = <0>; 100*724ba675SRob Herring }; 101*724ba675SRob Herring ethernet@74000 { 102*724ba675SRob Herring status = "okay"; 103*724ba675SRob Herring phy = <&phy1>; 104*724ba675SRob Herring phy-mode = "rgmii-id"; 105*724ba675SRob Herring buffer-manager = <&bm>; 106*724ba675SRob Herring bm,pool-long = <1>; 107*724ba675SRob Herring }; 108*724ba675SRob Herring ethernet@30000 { 109*724ba675SRob Herring status = "okay"; 110*724ba675SRob Herring phy = <&phy2>; 111*724ba675SRob Herring phy-mode = "sgmii"; 112*724ba675SRob Herring buffer-manager = <&bm>; 113*724ba675SRob Herring bm,pool-long = <2>; 114*724ba675SRob Herring }; 115*724ba675SRob Herring ethernet@34000 { 116*724ba675SRob Herring status = "okay"; 117*724ba675SRob Herring phy = <&phy3>; 118*724ba675SRob Herring phy-mode = "sgmii"; 119*724ba675SRob Herring buffer-manager = <&bm>; 120*724ba675SRob Herring bm,pool-long = <3>; 121*724ba675SRob Herring }; 122*724ba675SRob Herring 123*724ba675SRob Herring bm@c0000 { 124*724ba675SRob Herring status = "okay"; 125*724ba675SRob Herring }; 126*724ba675SRob Herring 127*724ba675SRob Herring mvsdio@d4000 { 128*724ba675SRob Herring pinctrl-0 = <&sdio_pins>; 129*724ba675SRob Herring pinctrl-names = "default"; 130*724ba675SRob Herring status = "okay"; 131*724ba675SRob Herring /* No CD or WP GPIOs */ 132*724ba675SRob Herring broken-cd; 133*724ba675SRob Herring }; 134*724ba675SRob Herring 135*724ba675SRob Herring usb@50000 { 136*724ba675SRob Herring status = "okay"; 137*724ba675SRob Herring }; 138*724ba675SRob Herring 139*724ba675SRob Herring usb@51000 { 140*724ba675SRob Herring status = "okay"; 141*724ba675SRob Herring }; 142*724ba675SRob Herring 143*724ba675SRob Herring usb@52000 { 144*724ba675SRob Herring status = "okay"; 145*724ba675SRob Herring }; 146*724ba675SRob Herring 147*724ba675SRob Herring nand-controller@d0000 { 148*724ba675SRob Herring status = "okay"; 149*724ba675SRob Herring 150*724ba675SRob Herring nand@0 { 151*724ba675SRob Herring reg = <0>; 152*724ba675SRob Herring label = "pxa3xx_nand-0"; 153*724ba675SRob Herring nand-rb = <0>; 154*724ba675SRob Herring nand-on-flash-bbt; 155*724ba675SRob Herring 156*724ba675SRob Herring partitions { 157*724ba675SRob Herring compatible = "fixed-partitions"; 158*724ba675SRob Herring #address-cells = <1>; 159*724ba675SRob Herring #size-cells = <1>; 160*724ba675SRob Herring 161*724ba675SRob Herring partition@0 { 162*724ba675SRob Herring label = "U-Boot"; 163*724ba675SRob Herring reg = <0 0x800000>; 164*724ba675SRob Herring }; 165*724ba675SRob Herring partition@800000 { 166*724ba675SRob Herring label = "Linux"; 167*724ba675SRob Herring reg = <0x800000 0x800000>; 168*724ba675SRob Herring }; 169*724ba675SRob Herring partition@1000000 { 170*724ba675SRob Herring label = "Filesystem"; 171*724ba675SRob Herring reg = <0x1000000 0x3f000000>; 172*724ba675SRob Herring }; 173*724ba675SRob Herring }; 174*724ba675SRob Herring }; 175*724ba675SRob Herring }; 176*724ba675SRob Herring }; 177*724ba675SRob Herring 178*724ba675SRob Herring bm-bppi { 179*724ba675SRob Herring status = "okay"; 180*724ba675SRob Herring }; 181*724ba675SRob Herring }; 182*724ba675SRob Herring}; 183*724ba675SRob Herring 184*724ba675SRob Herring&pciec { 185*724ba675SRob Herring status = "okay"; 186*724ba675SRob Herring 187*724ba675SRob Herring /* 188*724ba675SRob Herring * All 6 slots are physically present as 189*724ba675SRob Herring * standard PCIe slots on the board. 190*724ba675SRob Herring */ 191*724ba675SRob Herring pcie@1,0 { 192*724ba675SRob Herring /* Port 0, Lane 0 */ 193*724ba675SRob Herring status = "okay"; 194*724ba675SRob Herring }; 195*724ba675SRob Herring pcie@2,0 { 196*724ba675SRob Herring /* Port 0, Lane 1 */ 197*724ba675SRob Herring status = "okay"; 198*724ba675SRob Herring }; 199*724ba675SRob Herring pcie@3,0 { 200*724ba675SRob Herring /* Port 0, Lane 2 */ 201*724ba675SRob Herring status = "okay"; 202*724ba675SRob Herring }; 203*724ba675SRob Herring pcie@4,0 { 204*724ba675SRob Herring /* Port 0, Lane 3 */ 205*724ba675SRob Herring status = "okay"; 206*724ba675SRob Herring }; 207*724ba675SRob Herring pcie@9,0 { 208*724ba675SRob Herring /* Port 2, Lane 0 */ 209*724ba675SRob Herring status = "okay"; 210*724ba675SRob Herring }; 211*724ba675SRob Herring pcie@a,0 { 212*724ba675SRob Herring /* Port 3, Lane 0 */ 213*724ba675SRob Herring status = "okay"; 214*724ba675SRob Herring }; 215*724ba675SRob Herring}; 216*724ba675SRob Herring 217*724ba675SRob Herring&mdio { 218*724ba675SRob Herring phy0: ethernet-phy@0 { 219*724ba675SRob Herring reg = <0>; 220*724ba675SRob Herring }; 221*724ba675SRob Herring 222*724ba675SRob Herring phy1: ethernet-phy@1 { 223*724ba675SRob Herring reg = <1>; 224*724ba675SRob Herring }; 225*724ba675SRob Herring 226*724ba675SRob Herring phy2: ethernet-phy@2 { 227*724ba675SRob Herring reg = <25>; 228*724ba675SRob Herring }; 229*724ba675SRob Herring 230*724ba675SRob Herring phy3: ethernet-phy@3 { 231*724ba675SRob Herring reg = <27>; 232*724ba675SRob Herring }; 233*724ba675SRob Herring}; 234*724ba675SRob Herring 235*724ba675SRob Herring&spi0 { 236*724ba675SRob Herring status = "okay"; 237*724ba675SRob Herring 238*724ba675SRob Herring flash@0 { 239*724ba675SRob Herring #address-cells = <1>; 240*724ba675SRob Herring #size-cells = <1>; 241*724ba675SRob Herring compatible = "m25p64", "jedec,spi-nor"; 242*724ba675SRob Herring reg = <0>; /* Chip select 0 */ 243*724ba675SRob Herring spi-max-frequency = <20000000>; 244*724ba675SRob Herring }; 245*724ba675SRob Herring}; 246