aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorArnaud Ebalard <arno@natisbad.org>2013-11-05 15:46:02 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-12 01:36:29 -0500
commita5f196ca90a717c0c40c33c4ca815c6c606d19c2 (patch)
treec88b5cd812b78585c88ac54e972256079e52424a /arch/arm/boot
parentc899b3f0e266c1c67a70819fc587ab8155010ea7 (diff)
ARM: mvebu: fix second and third PCIe unit of Armada XP mv78260
commit 2163e61c92d9337e721a0d067d88ae62b52e0d3e upstream. mv78260 flavour of Marvell Armada XP SoC has 3 PCIe units. The two first units are both x4 and quad x1 capable. The third unit is only x4 capable. This patch fixes mv78260 .dtsi to reflect those capabilities. Signed-off-by: Arnaud Ebalard <arno@natisbad.org> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78260.dtsi78
1 files changed, 64 insertions, 14 deletions
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
index f4029f015aff..55cdd58c155f 100644
--- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
@@ -101,7 +101,7 @@
101 /* 101 /*
102 * MV78260 has 3 PCIe units Gen2.0: Two units can be 102 * MV78260 has 3 PCIe units Gen2.0: Two units can be
103 * configured as x4 or quad x1 lanes. One unit is 103 * configured as x4 or quad x1 lanes. One unit is
104 * x4/x1. 104 * x4 only.
105 */ 105 */
106 pcie-controller { 106 pcie-controller {
107 compatible = "marvell,armada-xp-pcie"; 107 compatible = "marvell,armada-xp-pcie";
@@ -119,7 +119,9 @@
119 0x82000000 0 0x48000 0x48000 0 0x00002000 /* Port 0.2 registers */ 119 0x82000000 0 0x48000 0x48000 0 0x00002000 /* Port 0.2 registers */
120 0x82000000 0 0x4c000 0x4c000 0 0x00002000 /* Port 0.3 registers */ 120 0x82000000 0 0x4c000 0x4c000 0 0x00002000 /* Port 0.3 registers */
121 0x82000000 0 0x80000 0x80000 0 0x00002000 /* Port 1.0 registers */ 121 0x82000000 0 0x80000 0x80000 0 0x00002000 /* Port 1.0 registers */
122 0x82000000 0 0x82000 0x82000 0 0x00002000 /* Port 3.0 registers */ 122 0x82000000 0 0x84000 0x84000 0 0x00002000 /* Port 1.1 registers */
123 0x82000000 0 0x88000 0x88000 0 0x00002000 /* Port 1.2 registers */
124 0x82000000 0 0x8c000 0x8c000 0 0x00002000 /* Port 1.3 registers */
123 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */ 125 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */
124 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */ 126 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */
125 127
@@ -187,35 +189,83 @@
187 status = "disabled"; 189 status = "disabled";
188 }; 190 };
189 191
190 pcie@9,0 { 192 pcie@5,0 {
191 device_type = "pci"; 193 device_type = "pci";
192 assigned-addresses = <0x82000800 0 0x42000 0 0x2000>; 194 assigned-addresses = <0x82000800 0 0x80000 0 0x2000>;
193 reg = <0x4800 0 0 0 0>; 195 reg = <0x2800 0 0 0 0>;
194 #address-cells = <3>; 196 #address-cells = <3>;
195 #size-cells = <2>; 197 #size-cells = <2>;
196 #interrupt-cells = <1>; 198 #interrupt-cells = <1>;
197 ranges; 199 ranges;
198 interrupt-map-mask = <0 0 0 0>; 200 interrupt-map-mask = <0 0 0 0>;
199 interrupt-map = <0 0 0 0 &mpic 99>; 201 interrupt-map = <0 0 0 0 &mpic 62>;
200 marvell,pcie-port = <2>; 202 marvell,pcie-port = <1>;
201 marvell,pcie-lane = <0>; 203 marvell,pcie-lane = <0>;
202 clocks = <&gateclk 26>; 204 clocks = <&gateclk 9>;
205 status = "disabled";
206 };
207
208 pcie@6,0 {
209 device_type = "pci";
210 assigned-addresses = <0x82000800 0 0x84000 0 0x2000>;
211 reg = <0x3000 0 0 0 0>;
212 #address-cells = <3>;
213 #size-cells = <2>;
214 #interrupt-cells = <1>;
215 ranges;
216 interrupt-map-mask = <0 0 0 0>;
217 interrupt-map = <0 0 0 0 &mpic 63>;
218 marvell,pcie-port = <1>;
219 marvell,pcie-lane = <1>;
220 clocks = <&gateclk 10>;
221 status = "disabled";
222 };
223
224 pcie@7,0 {
225 device_type = "pci";
226 assigned-addresses = <0x82000800 0 0x88000 0 0x2000>;
227 reg = <0x3800 0 0 0 0>;
228 #address-cells = <3>;
229 #size-cells = <2>;
230 #interrupt-cells = <1>;
231 ranges;
232 interrupt-map-mask = <0 0 0 0>;
233 interrupt-map = <0 0 0 0 &mpic 64>;
234 marvell,pcie-port = <1>;
235 marvell,pcie-lane = <2>;
236 clocks = <&gateclk 11>;
203 status = "disabled"; 237 status = "disabled";
204 }; 238 };
205 239
206 pcie@10,0 { 240 pcie@8,0 {
207 device_type = "pci"; 241 device_type = "pci";
208 assigned-addresses = <0x82000800 0 0x82000 0 0x2000>; 242 assigned-addresses = <0x82000800 0 0x8c000 0 0x2000>;
209 reg = <0x5000 0 0 0 0>; 243 reg = <0x4000 0 0 0 0>;
210 #address-cells = <3>; 244 #address-cells = <3>;
211 #size-cells = <2>; 245 #size-cells = <2>;
212 #interrupt-cells = <1>; 246 #interrupt-cells = <1>;
213 ranges; 247 ranges;
214 interrupt-map-mask = <0 0 0 0>; 248 interrupt-map-mask = <0 0 0 0>;
215 interrupt-map = <0 0 0 0 &mpic 103>; 249 interrupt-map = <0 0 0 0 &mpic 65>;
216 marvell,pcie-port = <3>; 250 marvell,pcie-port = <1>;
251 marvell,pcie-lane = <3>;
252 clocks = <&gateclk 12>;
253 status = "disabled";
254 };
255
256 pcie@9,0 {
257 device_type = "pci";
258 assigned-addresses = <0x82000800 0 0x42000 0 0x2000>;
259 reg = <0x4800 0 0 0 0>;
260 #address-cells = <3>;
261 #size-cells = <2>;
262 #interrupt-cells = <1>;
263 ranges;
264 interrupt-map-mask = <0 0 0 0>;
265 interrupt-map = <0 0 0 0 &mpic 99>;
266 marvell,pcie-port = <2>;
217 marvell,pcie-lane = <0>; 267 marvell,pcie-lane = <0>;
218 clocks = <&gateclk 27>; 268 clocks = <&gateclk 26>;
219 status = "disabled"; 269 status = "disabled";
220 }; 270 };
221 }; 271 };