blob: cff1269f3fbfd14f3b43da67f5ef9909b17c8d5d [file] [log] [blame]
Gregory CLEMENT69f56892018-03-15 14:40:56 +01001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +01002/*
3 * Device Tree Include file for Marvell Armada 380 SoC.
4 *
5 * Copyright (C) 2014 Marvell
6 *
7 * Lior Amsalem <alior@marvell.com>
8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010010 */
11
Thomas Petazzonia2be1562014-02-20 12:11:29 +010012#include "armada-38x.dtsi"
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010013
14/ {
15 model = "Marvell Armada 380 family SoC";
Gregory CLEMENT8dbdb8e2014-06-23 16:16:51 +020016 compatible = "marvell,armada380";
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010017
18 cpus {
19 #address-cells = <1>;
20 #size-cells = <0>;
Thomas Petazzoni19b06d72014-04-14 15:54:08 +020021 enable-method = "marvell,armada-380-smp";
22
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010023 cpu@0 {
24 device_type = "cpu";
25 compatible = "arm,cortex-a9";
26 reg = <0>;
27 };
28 };
29
30 soc {
31 internal-regs {
Maxime Ripard4a254322015-01-08 18:38:05 +010032 pinctrl@18000 {
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010033 compatible = "marvell,mv88f6810-pinctrl";
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010034 };
35 };
36
Rob Herring28fbb9c2017-07-26 16:09:37 -050037 pcie {
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010038 compatible = "marvell,armada-370-pcie";
39 status = "disabled";
40 device_type = "pci";
41
42 #address-cells = <3>;
43 #size-cells = <2>;
44
45 msi-parent = <&mpic>;
46 bus-range = <0x00 0xff>;
47
48 ranges =
49 <0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000
50 0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
51 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000
52 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000
53 0x82000000 0x1 0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 0 MEM */
54 0x81000000 0x1 0 MBUS_ID(0x08, 0xe0) 0 1 0 /* Port 0 IO */
55 0x82000000 0x2 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 1 MEM */
56 0x81000000 0x2 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 1 IO */
57 0x82000000 0x3 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 2 MEM */
58 0x81000000 0x3 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 2 IO */>;
59
60 /* x1 port */
61 pcie@1,0 {
62 device_type = "pci";
63 assigned-addresses = <0x82000800 0 0x80000 0 0x2000>;
64 reg = <0x0800 0 0 0 0>;
65 #address-cells = <3>;
66 #size-cells = <2>;
67 #interrupt-cells = <1>;
68 ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
69 0x81000000 0 0 0x81000000 0x1 0 1 0>;
Rob Herring28fbb9c2017-07-26 16:09:37 -050070 bus-range = <0x00 0xff>;
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010071 interrupt-map-mask = <0 0 0 0>;
Thomas Petazzonid11548e2014-02-20 12:11:31 +010072 interrupt-map = <0 0 0 0 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010073 marvell,pcie-port = <0>;
74 marvell,pcie-lane = <0>;
75 clocks = <&gateclk 8>;
76 status = "disabled";
77 };
78
79 /* x1 port */
80 pcie@2,0 {
81 device_type = "pci";
82 assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
83 reg = <0x1000 0 0 0 0>;
84 #address-cells = <3>;
85 #size-cells = <2>;
86 #interrupt-cells = <1>;
87 ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
88 0x81000000 0 0 0x81000000 0x2 0 1 0>;
Rob Herring28fbb9c2017-07-26 16:09:37 -050089 bus-range = <0x00 0xff>;
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010090 interrupt-map-mask = <0 0 0 0>;
Thomas Petazzonid11548e2014-02-20 12:11:31 +010091 interrupt-map = <0 0 0 0 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +010092 marvell,pcie-port = <1>;
93 marvell,pcie-lane = <0>;
94 clocks = <&gateclk 5>;
95 status = "disabled";
96 };
97
98 /* x1 port */
99 pcie@3,0 {
100 device_type = "pci";
101 assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
Thomas Petazzonic2a3dd92014-05-20 16:43:28 +0200102 reg = <0x1800 0 0 0 0>;
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +0100103 #address-cells = <3>;
104 #size-cells = <2>;
105 #interrupt-cells = <1>;
106 ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0
107 0x81000000 0 0 0x81000000 0x3 0 1 0>;
Rob Herring28fbb9c2017-07-26 16:09:37 -0500108 bus-range = <0x00 0xff>;
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +0100109 interrupt-map-mask = <0 0 0 0>;
Thomas Petazzonid11548e2014-02-20 12:11:31 +0100110 interrupt-map = <0 0 0 0 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
Thomas Petazzoni0d3d96a2014-02-17 15:23:28 +0100111 marvell,pcie-port = <2>;
112 marvell,pcie-lane = <0>;
113 clocks = <&gateclk 6>;
114 status = "disabled";
115 };
116 };
117 };
118};