aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/armada-370.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/armada-370.dtsi')
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi278
1 files changed, 173 insertions, 105 deletions
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 8188d138020e..b2c1b5af9749 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -16,16 +16,11 @@
16 */ 16 */
17 17
18/include/ "armada-370-xp.dtsi" 18/include/ "armada-370-xp.dtsi"
19/include/ "skeleton.dtsi"
19 20
20/ { 21/ {
21 model = "Marvell Armada 370 family SoC"; 22 model = "Marvell Armada 370 family SoC";
22 compatible = "marvell,armada370", "marvell,armada-370-xp"; 23 compatible = "marvell,armada370", "marvell,armada-370-xp";
23 L2: l2-cache {
24 compatible = "marvell,aurora-outer-cache";
25 reg = <0xd0008000 0x1000>;
26 cache-id-part = <0x100>;
27 wt-override;
28 };
29 24
30 aliases { 25 aliases {
31 gpio0 = &gpio0; 26 gpio0 = &gpio0;
@@ -33,125 +28,198 @@
33 gpio2 = &gpio2; 28 gpio2 = &gpio2;
34 }; 29 };
35 30
36 mpic: interrupt-controller@d0020000 {
37 reg = <0xd0020a00 0x1d0>,
38 <0xd0021870 0x58>;
39 };
40
41 soc { 31 soc {
42 system-controller@d0018200 { 32 ranges = <0 0xd0000000 0x100000>;
33 internal-regs {
34 system-controller@18200 {
43 compatible = "marvell,armada-370-xp-system-controller"; 35 compatible = "marvell,armada-370-xp-system-controller";
44 reg = <0xd0018200 0x100>; 36 reg = <0x18200 0x100>;
45 }; 37 };
46
47 pinctrl {
48 compatible = "marvell,mv88f6710-pinctrl";
49 reg = <0xd0018000 0x38>;
50 38
51 sdio_pins1: sdio-pins1 { 39 L2: l2-cache {
52 marvell,pins = "mpp9", "mpp11", "mpp12", 40 compatible = "marvell,aurora-outer-cache";
53 "mpp13", "mpp14", "mpp15"; 41 reg = <0xd0008000 0x1000>;
54 marvell,function = "sd0"; 42 cache-id-part = <0x100>;
43 wt-override;
55 }; 44 };
56 45
57 sdio_pins2: sdio-pins2 { 46 mpic: interrupt-controller@20000 {
58 marvell,pins = "mpp47", "mpp48", "mpp49", 47 reg = <0x20a00 0x1d0>, <0x21870 0x58>;
59 "mpp50", "mpp51", "mpp52";
60 marvell,function = "sd0";
61 }; 48 };
62 };
63
64 gpio0: gpio@d0018100 {
65 compatible = "marvell,orion-gpio";
66 reg = <0xd0018100 0x40>;
67 ngpios = <32>;
68 gpio-controller;
69 #gpio-cells = <2>;
70 interrupt-controller;
71 #interrupts-cells = <2>;
72 interrupts = <82>, <83>, <84>, <85>;
73 };
74 49
75 gpio1: gpio@d0018140 { 50 pinctrl {
76 compatible = "marvell,orion-gpio"; 51 compatible = "marvell,mv88f6710-pinctrl";
77 reg = <0xd0018140 0x40>; 52 reg = <0x18000 0x38>;
78 ngpios = <32>; 53
79 gpio-controller; 54 sdio_pins1: sdio-pins1 {
80 #gpio-cells = <2>; 55 marvell,pins = "mpp9", "mpp11", "mpp12",
81 interrupt-controller; 56 "mpp13", "mpp14", "mpp15";
82 #interrupts-cells = <2>; 57 marvell,function = "sd0";
83 interrupts = <87>, <88>, <89>, <90>; 58 };
84 }; 59
60 sdio_pins2: sdio-pins2 {
61 marvell,pins = "mpp47", "mpp48", "mpp49",
62 "mpp50", "mpp51", "mpp52";
63 marvell,function = "sd0";
64 };
65
66 sdio_pins3: sdio-pins3 {
67 marvell,pins = "mpp48", "mpp49", "mpp50",
68 "mpp51", "mpp52", "mpp53";
69 marvell,function = "sd0";
70 };
71 };
85 72
86 gpio2: gpio@d0018180 { 73 gpio0: gpio@18100 {
87 compatible = "marvell,orion-gpio"; 74 compatible = "marvell,orion-gpio";
88 reg = <0xd0018180 0x40>; 75 reg = <0x18100 0x40>;
89 ngpios = <2>; 76 ngpios = <32>;
90 gpio-controller; 77 gpio-controller;
91 #gpio-cells = <2>; 78 #gpio-cells = <2>;
92 interrupt-controller; 79 interrupt-controller;
93 #interrupts-cells = <2>; 80 #interrupts-cells = <2>;
94 interrupts = <91>; 81 interrupts = <82>, <83>, <84>, <85>;
95 }; 82 };
96 83
97 coreclk: mvebu-sar@d0018230 { 84 gpio1: gpio@18140 {
98 compatible = "marvell,armada-370-core-clock"; 85 compatible = "marvell,orion-gpio";
99 reg = <0xd0018230 0x08>; 86 reg = <0x18140 0x40>;
100 #clock-cells = <1>; 87 ngpios = <32>;
101 }; 88 gpio-controller;
89 #gpio-cells = <2>;
90 interrupt-controller;
91 #interrupts-cells = <2>;
92 interrupts = <87>, <88>, <89>, <90>;
93 };
102 94
103 gateclk: clock-gating-control@d0018220 { 95 gpio2: gpio@18180 {
104 compatible = "marvell,armada-370-gating-clock"; 96 compatible = "marvell,orion-gpio";
105 reg = <0xd0018220 0x4>; 97 reg = <0x18180 0x40>;
106 clocks = <&coreclk 0>; 98 ngpios = <2>;
107 #clock-cells = <1>; 99 gpio-controller;
108 }; 100 #gpio-cells = <2>;
101 interrupt-controller;
102 #interrupts-cells = <2>;
103 interrupts = <91>;
104 };
109 105
110 xor@d0060800 { 106 coreclk: mvebu-sar@18230 {
111 compatible = "marvell,orion-xor"; 107 compatible = "marvell,armada-370-core-clock";
112 reg = <0xd0060800 0x100 108 reg = <0x18230 0x08>;
113 0xd0060A00 0x100>; 109 #clock-cells = <1>;
114 status = "okay"; 110 };
115 111
116 xor00 { 112 gateclk: clock-gating-control@18220 {
117 interrupts = <51>; 113 compatible = "marvell,armada-370-gating-clock";
118 dmacap,memcpy; 114 reg = <0x18220 0x4>;
119 dmacap,xor; 115 clocks = <&coreclk 0>;
116 #clock-cells = <1>;
120 }; 117 };
121 xor01 { 118
122 interrupts = <52>; 119 xor@60800 {
123 dmacap,memcpy; 120 compatible = "marvell,orion-xor";
124 dmacap,xor; 121 reg = <0x60800 0x100
125 dmacap,memset; 122 0x60A00 0x100>;
123 status = "okay";
124
125 xor00 {
126 interrupts = <51>;
127 dmacap,memcpy;
128 dmacap,xor;
129 };
130 xor01 {
131 interrupts = <52>;
132 dmacap,memcpy;
133 dmacap,xor;
134 dmacap,memset;
135 };
126 }; 136 };
127 };
128 137
129 xor@d0060900 { 138 xor@60900 {
130 compatible = "marvell,orion-xor"; 139 compatible = "marvell,orion-xor";
131 reg = <0xd0060900 0x100 140 reg = <0x60900 0x100
132 0xd0060b00 0x100>; 141 0x60b00 0x100>;
133 status = "okay"; 142 status = "okay";
143
144 xor10 {
145 interrupts = <94>;
146 dmacap,memcpy;
147 dmacap,xor;
148 };
149 xor11 {
150 interrupts = <95>;
151 dmacap,memcpy;
152 dmacap,xor;
153 dmacap,memset;
154 };
155 };
134 156
135 xor10 { 157 usb@50000 {
136 interrupts = <94>; 158 clocks = <&coreclk 0>;
137 dmacap,memcpy;
138 dmacap,xor;
139 }; 159 };
140 xor11 { 160
141 interrupts = <95>; 161 usb@51000 {
142 dmacap,memcpy; 162 clocks = <&coreclk 0>;
143 dmacap,xor;
144 dmacap,memset;
145 }; 163 };
146 };
147 164
148 usb@d0050000 { 165 thermal@18300 {
149 clocks = <&coreclk 0>; 166 compatible = "marvell,armada370-thermal";
150 }; 167 reg = <0x18300 0x4
168 0x18304 0x4>;
169 status = "okay";
170 };
151 171
152 usb@d0051000 { 172 pcie-controller {
153 clocks = <&coreclk 0>; 173 compatible = "marvell,armada-370-pcie";
174 status = "disabled";
175 device_type = "pci";
176
177 #address-cells = <3>;
178 #size-cells = <2>;
179
180 bus-range = <0x00 0xff>;
181
182 reg = <0x40000 0x2000>, <0x80000 0x2000>;
183
184 reg-names = "pcie0.0", "pcie1.0";
185
186 ranges = <0x82000000 0 0x40000 0x40000 0 0x00002000 /* Port 0.0 registers */
187 0x82000000 0 0x80000 0x80000 0 0x00002000 /* Port 1.0 registers */
188 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */
189 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */
190
191 pcie@1,0 {
192 device_type = "pci";
193 assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
194 reg = <0x0800 0 0 0 0>;
195 #address-cells = <3>;
196 #size-cells = <2>;
197 #interrupt-cells = <1>;
198 ranges;
199 interrupt-map-mask = <0 0 0 0>;
200 interrupt-map = <0 0 0 0 &mpic 58>;
201 marvell,pcie-port = <0>;
202 marvell,pcie-lane = <0>;
203 clocks = <&gateclk 5>;
204 status = "disabled";
205 };
206
207 pcie@2,0 {
208 device_type = "pci";
209 assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
210 reg = <0x1000 0 0 0 0>;
211 #address-cells = <3>;
212 #size-cells = <2>;
213 #interrupt-cells = <1>;
214 ranges;
215 interrupt-map-mask = <0 0 0 0>;
216 interrupt-map = <0 0 0 0 &mpic 62>;
217 marvell,pcie-port = <1>;
218 marvell,pcie-lane = <0>;
219 clocks = <&gateclk 9>;
220 status = "disabled";
221 };
222 };
154 }; 223 };
155
156 }; 224 };
157}; 225};