diff options
Diffstat (limited to 'arch/arm/boot/dts/armada-370.dtsi')
-rw-r--r-- | arch/arm/boot/dts/armada-370.dtsi | 278 |
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 | }; |