diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2013-04-09 17:06:34 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2013-04-15 10:53:19 -0400 |
commit | 9d8f44f02d4a5f6e7b8d138ea8f8c6e30ae6e1a3 (patch) | |
tree | 4c7ad0350ed597537fc7ac545d0314a27f735291 /arch/arm/boot/dts/armada-xp-mv78230.dtsi | |
parent | a09a0b7c6ff122e3e74efab2565ded2a4bbef854 (diff) |
arm: mvebu: add PCIe Device Tree informations for Armada XP
The Armada XP SoCs have multiple PCIe interfaces. The MV78230 has 2
PCIe units (one 4x or quad 1x, the other 1x only), the MV78260 has 3
PCIe units (two 4x or quad 1x and one 4x/1x), the MV78460 has 4 PCIe
units (two 4x or quad 1x and two 4x/1x). We therefore add the
necessary Device Tree informations to make those PCIe interfaces
usable.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/boot/dts/armada-xp-mv78230.dtsi')
-rw-r--r-- | arch/arm/boot/dts/armada-xp-mv78230.dtsi | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/arch/arm/boot/dts/armada-xp-mv78230.dtsi index f56c40599f5b..c2c78459a4d4 100644 --- a/arch/arm/boot/dts/armada-xp-mv78230.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78230.dtsi | |||
@@ -76,5 +76,109 @@ | |||
76 | #interrupts-cells = <2>; | 76 | #interrupts-cells = <2>; |
77 | interrupts = <87>, <88>, <89>; | 77 | interrupts = <87>, <88>, <89>; |
78 | }; | 78 | }; |
79 | |||
80 | /* | ||
81 | * MV78230 has 2 PCIe units Gen2.0: One unit can be | ||
82 | * configured as x4 or quad x1 lanes. One unit is | ||
83 | * x4/x1. | ||
84 | */ | ||
85 | pcie-controller { | ||
86 | compatible = "marvell,armada-xp-pcie"; | ||
87 | status = "disabled"; | ||
88 | device_type = "pci"; | ||
89 | |||
90 | #address-cells = <3>; | ||
91 | #size-cells = <2>; | ||
92 | |||
93 | bus-range = <0x00 0xff>; | ||
94 | |||
95 | ranges = <0x82000000 0 0xd0040000 0xd0040000 0 0x00002000 /* Port 0.0 registers */ | ||
96 | 0x82000000 0 0xd0042000 0xd0042000 0 0x00002000 /* Port 2.0 registers */ | ||
97 | 0x82000000 0 0xd0044000 0xd0044000 0 0x00002000 /* Port 0.1 registers */ | ||
98 | 0x82000000 0 0xd0048000 0xd0048000 0 0x00002000 /* Port 0.2 registers */ | ||
99 | 0x82000000 0 0xd004c000 0xd004c000 0 0x00002000 /* Port 0.3 registers */ | ||
100 | 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */ | ||
101 | 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */ | ||
102 | |||
103 | pcie@1,0 { | ||
104 | device_type = "pci"; | ||
105 | assigned-addresses = <0x82000800 0 0xd0040000 0 0x2000>; | ||
106 | reg = <0x0800 0 0 0 0>; | ||
107 | #address-cells = <3>; | ||
108 | #size-cells = <2>; | ||
109 | #interrupt-cells = <1>; | ||
110 | ranges; | ||
111 | interrupt-map-mask = <0 0 0 0>; | ||
112 | interrupt-map = <0 0 0 0 &mpic 58>; | ||
113 | marvell,pcie-port = <0>; | ||
114 | marvell,pcie-lane = <0>; | ||
115 | clocks = <&gateclk 5>; | ||
116 | status = "disabled"; | ||
117 | }; | ||
118 | |||
119 | pcie@2,0 { | ||
120 | device_type = "pci"; | ||
121 | assigned-addresses = <0x82000800 0 0xd0044000 0 0x2000>; | ||
122 | reg = <0x1000 0 0 0 0>; | ||
123 | #address-cells = <3>; | ||
124 | #size-cells = <2>; | ||
125 | #interrupt-cells = <1>; | ||
126 | ranges; | ||
127 | interrupt-map-mask = <0 0 0 0>; | ||
128 | interrupt-map = <0 0 0 0 &mpic 59>; | ||
129 | marvell,pcie-port = <0>; | ||
130 | marvell,pcie-lane = <1>; | ||
131 | clocks = <&gateclk 6>; | ||
132 | status = "disabled"; | ||
133 | }; | ||
134 | |||
135 | pcie@3,0 { | ||
136 | device_type = "pci"; | ||
137 | assigned-addresses = <0x82000800 0 0xd0048000 0 0x2000>; | ||
138 | reg = <0x1800 0 0 0 0>; | ||
139 | #address-cells = <3>; | ||
140 | #size-cells = <2>; | ||
141 | #interrupt-cells = <1>; | ||
142 | ranges; | ||
143 | interrupt-map-mask = <0 0 0 0>; | ||
144 | interrupt-map = <0 0 0 0 &mpic 60>; | ||
145 | marvell,pcie-port = <0>; | ||
146 | marvell,pcie-lane = <2>; | ||
147 | clocks = <&gateclk 7>; | ||
148 | status = "disabled"; | ||
149 | }; | ||
150 | |||
151 | pcie@4,0 { | ||
152 | device_type = "pci"; | ||
153 | assigned-addresses = <0x82000800 0 0xd004c000 0 0x2000>; | ||
154 | reg = <0x2000 0 0 0 0>; | ||
155 | #address-cells = <3>; | ||
156 | #size-cells = <2>; | ||
157 | #interrupt-cells = <1>; | ||
158 | ranges; | ||
159 | interrupt-map-mask = <0 0 0 0>; | ||
160 | interrupt-map = <0 0 0 0 &mpic 61>; | ||
161 | marvell,pcie-port = <0>; | ||
162 | marvell,pcie-lane = <3>; | ||
163 | clocks = <&gateclk 8>; | ||
164 | status = "disabled"; | ||
165 | }; | ||
166 | |||
167 | pcie@9,0 { | ||
168 | device_type = "pci"; | ||
169 | assigned-addresses = <0x82000800 0 0xd0042000 0 0x2000>; | ||
170 | reg = <0x4800 0 0 0 0>; | ||
171 | #address-cells = <3>; | ||
172 | #size-cells = <2>; | ||
173 | #interrupt-cells = <1>; | ||
174 | ranges; | ||
175 | interrupt-map-mask = <0 0 0 0>; | ||
176 | interrupt-map = <0 0 0 0 &mpic 99>; | ||
177 | marvell,pcie-port = <2>; | ||
178 | marvell,pcie-lane = <0>; | ||
179 | clocks = <&gateclk 26>; | ||
180 | status = "disabled"; | ||
181 | }; | ||
182 | }; | ||
79 | }; | 183 | }; |
80 | }; | 184 | }; |