1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Device Tree Include file for Marvell Armada 385 SoC. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2014 Marvell 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Lior Amsalem <alior@marvell.com> 8*4882a593Smuzhiyun * Gregory CLEMENT <gregory.clement@free-electrons.com> 9*4882a593Smuzhiyun * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun#include "armada-38x.dtsi" 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun/ { 15*4882a593Smuzhiyun model = "Marvell Armada 385 family SoC"; 16*4882a593Smuzhiyun compatible = "marvell,armada385", "marvell,armada380"; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun cpus { 19*4882a593Smuzhiyun #address-cells = <1>; 20*4882a593Smuzhiyun #size-cells = <0>; 21*4882a593Smuzhiyun enable-method = "marvell,armada-380-smp"; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun cpu@0 { 24*4882a593Smuzhiyun device_type = "cpu"; 25*4882a593Smuzhiyun compatible = "arm,cortex-a9"; 26*4882a593Smuzhiyun reg = <0>; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun cpu@1 { 29*4882a593Smuzhiyun device_type = "cpu"; 30*4882a593Smuzhiyun compatible = "arm,cortex-a9"; 31*4882a593Smuzhiyun reg = <1>; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun soc { 36*4882a593Smuzhiyun pciec: pcie { 37*4882a593Smuzhiyun compatible = "marvell,armada-370-pcie"; 38*4882a593Smuzhiyun status = "disabled"; 39*4882a593Smuzhiyun device_type = "pci"; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun #address-cells = <3>; 42*4882a593Smuzhiyun #size-cells = <2>; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun msi-parent = <&mpic>; 45*4882a593Smuzhiyun bus-range = <0x00 0xff>; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun ranges = 48*4882a593Smuzhiyun <0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000 49*4882a593Smuzhiyun 0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000 50*4882a593Smuzhiyun 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000 51*4882a593Smuzhiyun 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000 52*4882a593Smuzhiyun 0x82000000 0x1 0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 0 MEM */ 53*4882a593Smuzhiyun 0x81000000 0x1 0 MBUS_ID(0x08, 0xe0) 0 1 0 /* Port 0 IO */ 54*4882a593Smuzhiyun 0x82000000 0x2 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 1 MEM */ 55*4882a593Smuzhiyun 0x81000000 0x2 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 1 IO */ 56*4882a593Smuzhiyun 0x82000000 0x3 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 2 MEM */ 57*4882a593Smuzhiyun 0x81000000 0x3 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 2 IO */ 58*4882a593Smuzhiyun 0x82000000 0x4 0 MBUS_ID(0x04, 0xb8) 0 1 0 /* Port 3 MEM */ 59*4882a593Smuzhiyun 0x81000000 0x4 0 MBUS_ID(0x04, 0xb0) 0 1 0 /* Port 3 IO */>; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /* 62*4882a593Smuzhiyun * This port can be either x4 or x1. When 63*4882a593Smuzhiyun * configured in x4 by the bootloader, then 64*4882a593Smuzhiyun * pcie@4,0 is not available. 65*4882a593Smuzhiyun */ 66*4882a593Smuzhiyun pcie1: pcie@1,0 { 67*4882a593Smuzhiyun device_type = "pci"; 68*4882a593Smuzhiyun assigned-addresses = <0x82000800 0 0x80000 0 0x2000>; 69*4882a593Smuzhiyun reg = <0x0800 0 0 0 0>; 70*4882a593Smuzhiyun #address-cells = <3>; 71*4882a593Smuzhiyun #size-cells = <2>; 72*4882a593Smuzhiyun #interrupt-cells = <1>; 73*4882a593Smuzhiyun ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0 74*4882a593Smuzhiyun 0x81000000 0 0 0x81000000 0x1 0 1 0>; 75*4882a593Smuzhiyun bus-range = <0x00 0xff>; 76*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 77*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 78*4882a593Smuzhiyun marvell,pcie-port = <0>; 79*4882a593Smuzhiyun marvell,pcie-lane = <0>; 80*4882a593Smuzhiyun clocks = <&gateclk 8>; 81*4882a593Smuzhiyun status = "disabled"; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun /* x1 port */ 85*4882a593Smuzhiyun pcie2: pcie@2,0 { 86*4882a593Smuzhiyun device_type = "pci"; 87*4882a593Smuzhiyun assigned-addresses = <0x82000800 0 0x40000 0 0x2000>; 88*4882a593Smuzhiyun reg = <0x1000 0 0 0 0>; 89*4882a593Smuzhiyun #address-cells = <3>; 90*4882a593Smuzhiyun #size-cells = <2>; 91*4882a593Smuzhiyun #interrupt-cells = <1>; 92*4882a593Smuzhiyun ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0 93*4882a593Smuzhiyun 0x81000000 0 0 0x81000000 0x2 0 1 0>; 94*4882a593Smuzhiyun bus-range = <0x00 0xff>; 95*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 96*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 97*4882a593Smuzhiyun marvell,pcie-port = <1>; 98*4882a593Smuzhiyun marvell,pcie-lane = <0>; 99*4882a593Smuzhiyun clocks = <&gateclk 5>; 100*4882a593Smuzhiyun status = "disabled"; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun /* x1 port */ 104*4882a593Smuzhiyun pcie3: pcie@3,0 { 105*4882a593Smuzhiyun device_type = "pci"; 106*4882a593Smuzhiyun assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; 107*4882a593Smuzhiyun reg = <0x1800 0 0 0 0>; 108*4882a593Smuzhiyun #address-cells = <3>; 109*4882a593Smuzhiyun #size-cells = <2>; 110*4882a593Smuzhiyun #interrupt-cells = <1>; 111*4882a593Smuzhiyun ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0 112*4882a593Smuzhiyun 0x81000000 0 0 0x81000000 0x3 0 1 0>; 113*4882a593Smuzhiyun bus-range = <0x00 0xff>; 114*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 115*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 116*4882a593Smuzhiyun marvell,pcie-port = <2>; 117*4882a593Smuzhiyun marvell,pcie-lane = <0>; 118*4882a593Smuzhiyun clocks = <&gateclk 6>; 119*4882a593Smuzhiyun status = "disabled"; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun /* 123*4882a593Smuzhiyun * x1 port only available when pcie@1,0 is 124*4882a593Smuzhiyun * configured as a x1 port 125*4882a593Smuzhiyun */ 126*4882a593Smuzhiyun pcie4: pcie@4,0 { 127*4882a593Smuzhiyun device_type = "pci"; 128*4882a593Smuzhiyun assigned-addresses = <0x82000800 0 0x48000 0 0x2000>; 129*4882a593Smuzhiyun reg = <0x2000 0 0 0 0>; 130*4882a593Smuzhiyun #address-cells = <3>; 131*4882a593Smuzhiyun #size-cells = <2>; 132*4882a593Smuzhiyun #interrupt-cells = <1>; 133*4882a593Smuzhiyun ranges = <0x82000000 0 0 0x82000000 0x4 0 1 0 134*4882a593Smuzhiyun 0x81000000 0 0 0x81000000 0x4 0 1 0>; 135*4882a593Smuzhiyun bus-range = <0x00 0xff>; 136*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 137*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 138*4882a593Smuzhiyun marvell,pcie-port = <3>; 139*4882a593Smuzhiyun marvell,pcie-lane = <0>; 140*4882a593Smuzhiyun clocks = <&gateclk 7>; 141*4882a593Smuzhiyun status = "disabled"; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun }; 145*4882a593Smuzhiyun}; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun&pinctrl { 148*4882a593Smuzhiyun compatible = "marvell,mv88f6820-pinctrl"; 149*4882a593Smuzhiyun}; 150