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