diff options
Diffstat (limited to 'arch/arm/boot/dts/vexpress-v2m-rs1.dtsi')
-rw-r--r-- | arch/arm/boot/dts/vexpress-v2m-rs1.dtsi | 146 |
1 files changed, 137 insertions, 9 deletions
diff --git a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi index d8a827bd2bf3..ac870fb3fa0d 100644 --- a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi +++ b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi | |||
@@ -17,17 +17,16 @@ | |||
17 | * CHANGES TO vexpress-v2m.dtsi! | 17 | * CHANGES TO vexpress-v2m.dtsi! |
18 | */ | 18 | */ |
19 | 19 | ||
20 | / { | ||
21 | aliases { | ||
22 | arm,v2m_timer = &v2m_timer01; | ||
23 | }; | ||
24 | |||
25 | motherboard { | 20 | motherboard { |
26 | compatible = "simple-bus"; | 21 | model = "V2M-P1"; |
22 | arm,hbi = <0x190>; | ||
23 | arm,vexpress,site = <0>; | ||
27 | arm,v2m-memory-map = "rs1"; | 24 | arm,v2m-memory-map = "rs1"; |
25 | compatible = "arm,vexpress,v2m-p1", "simple-bus"; | ||
28 | #address-cells = <2>; /* SMB chipselect number and offset */ | 26 | #address-cells = <2>; /* SMB chipselect number and offset */ |
29 | #size-cells = <1>; | 27 | #size-cells = <1>; |
30 | #interrupt-cells = <1>; | 28 | #interrupt-cells = <1>; |
29 | ranges; | ||
31 | 30 | ||
32 | flash@0,00000000 { | 31 | flash@0,00000000 { |
33 | compatible = "arm,vexpress-flash", "cfi-flash"; | 32 | compatible = "arm,vexpress-flash", "cfi-flash"; |
@@ -72,14 +71,20 @@ | |||
72 | #size-cells = <1>; | 71 | #size-cells = <1>; |
73 | ranges = <0 3 0 0x200000>; | 72 | ranges = <0 3 0 0x200000>; |
74 | 73 | ||
75 | sysreg@010000 { | 74 | v2m_sysreg: sysreg@010000 { |
76 | compatible = "arm,vexpress-sysreg"; | 75 | compatible = "arm,vexpress-sysreg"; |
77 | reg = <0x010000 0x1000>; | 76 | reg = <0x010000 0x1000>; |
77 | gpio-controller; | ||
78 | #gpio-cells = <2>; | ||
78 | }; | 79 | }; |
79 | 80 | ||
80 | sysctl@020000 { | 81 | v2m_sysctl: sysctl@020000 { |
81 | compatible = "arm,sp810", "arm,primecell"; | 82 | compatible = "arm,sp810", "arm,primecell"; |
82 | reg = <0x020000 0x1000>; | 83 | reg = <0x020000 0x1000>; |
84 | clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>; | ||
85 | clock-names = "refclk", "timclk", "apb_pclk"; | ||
86 | #clock-cells = <1>; | ||
87 | clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; | ||
83 | }; | 88 | }; |
84 | 89 | ||
85 | /* PCI-E I2C bus */ | 90 | /* PCI-E I2C bus */ |
@@ -100,66 +105,92 @@ | |||
100 | compatible = "arm,pl041", "arm,primecell"; | 105 | compatible = "arm,pl041", "arm,primecell"; |
101 | reg = <0x040000 0x1000>; | 106 | reg = <0x040000 0x1000>; |
102 | interrupts = <11>; | 107 | interrupts = <11>; |
108 | clocks = <&smbclk>; | ||
109 | clock-names = "apb_pclk"; | ||
103 | }; | 110 | }; |
104 | 111 | ||
105 | mmci@050000 { | 112 | mmci@050000 { |
106 | compatible = "arm,pl180", "arm,primecell"; | 113 | compatible = "arm,pl180", "arm,primecell"; |
107 | reg = <0x050000 0x1000>; | 114 | reg = <0x050000 0x1000>; |
108 | interrupts = <9 10>; | 115 | interrupts = <9 10>; |
116 | cd-gpios = <&v2m_sysreg 0 0>; | ||
117 | wp-gpios = <&v2m_sysreg 1 0>; | ||
118 | max-frequency = <12000000>; | ||
119 | vmmc-supply = <&v2m_fixed_3v3>; | ||
120 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
121 | clock-names = "mclk", "apb_pclk"; | ||
109 | }; | 122 | }; |
110 | 123 | ||
111 | kmi@060000 { | 124 | kmi@060000 { |
112 | compatible = "arm,pl050", "arm,primecell"; | 125 | compatible = "arm,pl050", "arm,primecell"; |
113 | reg = <0x060000 0x1000>; | 126 | reg = <0x060000 0x1000>; |
114 | interrupts = <12>; | 127 | interrupts = <12>; |
128 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
129 | clock-names = "KMIREFCLK", "apb_pclk"; | ||
115 | }; | 130 | }; |
116 | 131 | ||
117 | kmi@070000 { | 132 | kmi@070000 { |
118 | compatible = "arm,pl050", "arm,primecell"; | 133 | compatible = "arm,pl050", "arm,primecell"; |
119 | reg = <0x070000 0x1000>; | 134 | reg = <0x070000 0x1000>; |
120 | interrupts = <13>; | 135 | interrupts = <13>; |
136 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
137 | clock-names = "KMIREFCLK", "apb_pclk"; | ||
121 | }; | 138 | }; |
122 | 139 | ||
123 | v2m_serial0: uart@090000 { | 140 | v2m_serial0: uart@090000 { |
124 | compatible = "arm,pl011", "arm,primecell"; | 141 | compatible = "arm,pl011", "arm,primecell"; |
125 | reg = <0x090000 0x1000>; | 142 | reg = <0x090000 0x1000>; |
126 | interrupts = <5>; | 143 | interrupts = <5>; |
144 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
145 | clock-names = "uartclk", "apb_pclk"; | ||
127 | }; | 146 | }; |
128 | 147 | ||
129 | v2m_serial1: uart@0a0000 { | 148 | v2m_serial1: uart@0a0000 { |
130 | compatible = "arm,pl011", "arm,primecell"; | 149 | compatible = "arm,pl011", "arm,primecell"; |
131 | reg = <0x0a0000 0x1000>; | 150 | reg = <0x0a0000 0x1000>; |
132 | interrupts = <6>; | 151 | interrupts = <6>; |
152 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
153 | clock-names = "uartclk", "apb_pclk"; | ||
133 | }; | 154 | }; |
134 | 155 | ||
135 | v2m_serial2: uart@0b0000 { | 156 | v2m_serial2: uart@0b0000 { |
136 | compatible = "arm,pl011", "arm,primecell"; | 157 | compatible = "arm,pl011", "arm,primecell"; |
137 | reg = <0x0b0000 0x1000>; | 158 | reg = <0x0b0000 0x1000>; |
138 | interrupts = <7>; | 159 | interrupts = <7>; |
160 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
161 | clock-names = "uartclk", "apb_pclk"; | ||
139 | }; | 162 | }; |
140 | 163 | ||
141 | v2m_serial3: uart@0c0000 { | 164 | v2m_serial3: uart@0c0000 { |
142 | compatible = "arm,pl011", "arm,primecell"; | 165 | compatible = "arm,pl011", "arm,primecell"; |
143 | reg = <0x0c0000 0x1000>; | 166 | reg = <0x0c0000 0x1000>; |
144 | interrupts = <8>; | 167 | interrupts = <8>; |
168 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
169 | clock-names = "uartclk", "apb_pclk"; | ||
145 | }; | 170 | }; |
146 | 171 | ||
147 | wdt@0f0000 { | 172 | wdt@0f0000 { |
148 | compatible = "arm,sp805", "arm,primecell"; | 173 | compatible = "arm,sp805", "arm,primecell"; |
149 | reg = <0x0f0000 0x1000>; | 174 | reg = <0x0f0000 0x1000>; |
150 | interrupts = <0>; | 175 | interrupts = <0>; |
176 | clocks = <&v2m_refclk32khz>, <&smbclk>; | ||
177 | clock-names = "wdogclk", "apb_pclk"; | ||
151 | }; | 178 | }; |
152 | 179 | ||
153 | v2m_timer01: timer@110000 { | 180 | v2m_timer01: timer@110000 { |
154 | compatible = "arm,sp804", "arm,primecell"; | 181 | compatible = "arm,sp804", "arm,primecell"; |
155 | reg = <0x110000 0x1000>; | 182 | reg = <0x110000 0x1000>; |
156 | interrupts = <2>; | 183 | interrupts = <2>; |
184 | clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>; | ||
185 | clock-names = "timclken1", "timclken2", "apb_pclk"; | ||
157 | }; | 186 | }; |
158 | 187 | ||
159 | v2m_timer23: timer@120000 { | 188 | v2m_timer23: timer@120000 { |
160 | compatible = "arm,sp804", "arm,primecell"; | 189 | compatible = "arm,sp804", "arm,primecell"; |
161 | reg = <0x120000 0x1000>; | 190 | reg = <0x120000 0x1000>; |
162 | interrupts = <3>; | 191 | interrupts = <3>; |
192 | clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>; | ||
193 | clock-names = "timclken1", "timclken2", "apb_pclk"; | ||
163 | }; | 194 | }; |
164 | 195 | ||
165 | /* DVI I2C bus */ | 196 | /* DVI I2C bus */ |
@@ -185,6 +216,8 @@ | |||
185 | compatible = "arm,pl031", "arm,primecell"; | 216 | compatible = "arm,pl031", "arm,primecell"; |
186 | reg = <0x170000 0x1000>; | 217 | reg = <0x170000 0x1000>; |
187 | interrupts = <4>; | 218 | interrupts = <4>; |
219 | clocks = <&smbclk>; | ||
220 | clock-names = "apb_pclk"; | ||
188 | }; | 221 | }; |
189 | 222 | ||
190 | compact-flash@1a0000 { | 223 | compact-flash@1a0000 { |
@@ -198,6 +231,8 @@ | |||
198 | compatible = "arm,pl111", "arm,primecell"; | 231 | compatible = "arm,pl111", "arm,primecell"; |
199 | reg = <0x1f0000 0x1000>; | 232 | reg = <0x1f0000 0x1000>; |
200 | interrupts = <14>; | 233 | interrupts = <14>; |
234 | clocks = <&v2m_oscclk1>, <&smbclk>; | ||
235 | clock-names = "clcdclk", "apb_pclk"; | ||
201 | }; | 236 | }; |
202 | }; | 237 | }; |
203 | 238 | ||
@@ -208,5 +243,98 @@ | |||
208 | regulator-max-microvolt = <3300000>; | 243 | regulator-max-microvolt = <3300000>; |
209 | regulator-always-on; | 244 | regulator-always-on; |
210 | }; | 245 | }; |
246 | |||
247 | v2m_clk24mhz: clk24mhz { | ||
248 | compatible = "fixed-clock"; | ||
249 | #clock-cells = <0>; | ||
250 | clock-frequency = <24000000>; | ||
251 | clock-output-names = "v2m:clk24mhz"; | ||
252 | }; | ||
253 | |||
254 | v2m_refclk1mhz: refclk1mhz { | ||
255 | compatible = "fixed-clock"; | ||
256 | #clock-cells = <0>; | ||
257 | clock-frequency = <1000000>; | ||
258 | clock-output-names = "v2m:refclk1mhz"; | ||
259 | }; | ||
260 | |||
261 | v2m_refclk32khz: refclk32khz { | ||
262 | compatible = "fixed-clock"; | ||
263 | #clock-cells = <0>; | ||
264 | clock-frequency = <32768>; | ||
265 | clock-output-names = "v2m:refclk32khz"; | ||
266 | }; | ||
267 | |||
268 | mcc { | ||
269 | compatible = "arm,vexpress,config-bus"; | ||
270 | arm,vexpress,config-bridge = <&v2m_sysreg>; | ||
271 | |||
272 | osc@0 { | ||
273 | /* MCC static memory clock */ | ||
274 | compatible = "arm,vexpress-osc"; | ||
275 | arm,vexpress-sysreg,func = <1 0>; | ||
276 | freq-range = <25000000 60000000>; | ||
277 | #clock-cells = <0>; | ||
278 | clock-output-names = "v2m:oscclk0"; | ||
279 | }; | ||
280 | |||
281 | v2m_oscclk1: osc@1 { | ||
282 | /* CLCD clock */ | ||
283 | compatible = "arm,vexpress-osc"; | ||
284 | arm,vexpress-sysreg,func = <1 1>; | ||
285 | freq-range = <23750000 63500000>; | ||
286 | #clock-cells = <0>; | ||
287 | clock-output-names = "v2m:oscclk1"; | ||
288 | }; | ||
289 | |||
290 | v2m_oscclk2: osc@2 { | ||
291 | /* IO FPGA peripheral clock */ | ||
292 | compatible = "arm,vexpress-osc"; | ||
293 | arm,vexpress-sysreg,func = <1 2>; | ||
294 | freq-range = <24000000 24000000>; | ||
295 | #clock-cells = <0>; | ||
296 | clock-output-names = "v2m:oscclk2"; | ||
297 | }; | ||
298 | |||
299 | volt@0 { | ||
300 | /* Logic level voltage */ | ||
301 | compatible = "arm,vexpress-volt"; | ||
302 | arm,vexpress-sysreg,func = <2 0>; | ||
303 | regulator-name = "VIO"; | ||
304 | regulator-always-on; | ||
305 | label = "VIO"; | ||
306 | }; | ||
307 | |||
308 | temp@0 { | ||
309 | /* MCC internal operating temperature */ | ||
310 | compatible = "arm,vexpress-temp"; | ||
311 | arm,vexpress-sysreg,func = <4 0>; | ||
312 | label = "MCC"; | ||
313 | }; | ||
314 | |||
315 | reset@0 { | ||
316 | compatible = "arm,vexpress-reset"; | ||
317 | arm,vexpress-sysreg,func = <5 0>; | ||
318 | }; | ||
319 | |||
320 | muxfpga@0 { | ||
321 | compatible = "arm,vexpress-muxfpga"; | ||
322 | arm,vexpress-sysreg,func = <7 0>; | ||
323 | }; | ||
324 | |||
325 | shutdown@0 { | ||
326 | compatible = "arm,vexpress-shutdown"; | ||
327 | arm,vexpress-sysreg,func = <8 0>; | ||
328 | }; | ||
329 | |||
330 | reboot@0 { | ||
331 | compatible = "arm,vexpress-reboot"; | ||
332 | arm,vexpress-sysreg,func = <9 0>; | ||
333 | }; | ||
334 | |||
335 | dvimode@0 { | ||
336 | compatible = "arm,vexpress-dvimode"; | ||
337 | arm,vexpress-sysreg,func = <11 0>; | ||
338 | }; | ||
339 | }; | ||
211 | }; | 340 | }; |
212 | }; | ||