diff options
author | Michal Simek <michal.simek@xilinx.com> | 2015-10-20 10:36:33 -0400 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2016-02-25 08:01:03 -0500 |
commit | 5087bccb2f184bad0abfb0b5840279f1540ed44c (patch) | |
tree | d95e605f4682e4750888d20e9af40ecb14d75692 | |
parent | 72e5df437bc930b937971a14a8bf545ba99bbf62 (diff) |
ARM64: zynqmp: Extract clock information from EP108
Extract clocks and put it specific file to help with platform
autogeneration.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi | 88 | ||||
-rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts | 1 | ||||
-rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 43 |
3 files changed, 90 insertions, 42 deletions
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi new file mode 100644 index 000000000000..cdc6a437dcc7 --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi | |||
@@ -0,0 +1,88 @@ | |||
1 | /* | ||
2 | * clock specification for Xilinx ZynqMP ep108 development board | ||
3 | * | ||
4 | * (C) Copyright 2015, Xilinx, Inc. | ||
5 | * | ||
6 | * Michal Simek <michal.simek@xilinx.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as | ||
10 | * published by the Free Software Foundation; either version 2 of | ||
11 | * the License, or (at your option) any later version. | ||
12 | */ | ||
13 | |||
14 | &amba { | ||
15 | misc_clk: misc_clk { | ||
16 | compatible = "fixed-clock"; | ||
17 | #clock-cells = <0>; | ||
18 | clock-frequency = <25000000>; | ||
19 | }; | ||
20 | |||
21 | i2c_clk: i2c_clk { | ||
22 | compatible = "fixed-clock"; | ||
23 | #clock-cells = <0x0>; | ||
24 | clock-frequency = <111111111>; | ||
25 | }; | ||
26 | |||
27 | sata_clk: sata_clk { | ||
28 | compatible = "fixed-clock"; | ||
29 | #clock-cells = <0>; | ||
30 | clock-frequency = <75000000>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | &can0 { | ||
35 | clocks = <&misc_clk &misc_clk>; | ||
36 | }; | ||
37 | |||
38 | &gem0 { | ||
39 | clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>; | ||
40 | }; | ||
41 | |||
42 | &gpio { | ||
43 | clocks = <&misc_clk>; | ||
44 | }; | ||
45 | |||
46 | &i2c0 { | ||
47 | clocks = <&i2c_clk>; | ||
48 | }; | ||
49 | |||
50 | &i2c1 { | ||
51 | clocks = <&i2c_clk>; | ||
52 | }; | ||
53 | |||
54 | &sata { | ||
55 | clocks = <&sata_clk>; | ||
56 | }; | ||
57 | |||
58 | &sdhci0 { | ||
59 | clocks = <&misc_clk>, <&misc_clk>; | ||
60 | }; | ||
61 | |||
62 | &sdhci1 { | ||
63 | clocks = <&misc_clk>, <&misc_clk>; | ||
64 | }; | ||
65 | |||
66 | &spi0 { | ||
67 | clocks = <&misc_clk &misc_clk>; | ||
68 | }; | ||
69 | |||
70 | &spi1 { | ||
71 | clocks = <&misc_clk &misc_clk>; | ||
72 | }; | ||
73 | |||
74 | &uart0 { | ||
75 | clocks = <&misc_clk &misc_clk>; | ||
76 | }; | ||
77 | |||
78 | &usb0 { | ||
79 | clocks = <&misc_clk>, <&misc_clk>; | ||
80 | }; | ||
81 | |||
82 | &usb1 { | ||
83 | clocks = <&misc_clk>, <&misc_clk>; | ||
84 | }; | ||
85 | |||
86 | &watchdog0 { | ||
87 | clocks= <&misc_clk>; | ||
88 | }; | ||
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts b/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts index ce5d848251fa..acb0527fdc4a 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts | |||
@@ -14,6 +14,7 @@ | |||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | 15 | ||
16 | /include/ "zynqmp.dtsi" | 16 | /include/ "zynqmp.dtsi" |
17 | /include/ "zynqmp-ep108-clk.dtsi" | ||
17 | 18 | ||
18 | / { | 19 | / { |
19 | model = "ZynqMP EP108"; | 20 | model = "ZynqMP EP108"; |
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi index 7bc65e391530..e595f22e7e4b 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi +++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi | |||
@@ -90,7 +90,7 @@ | |||
90 | }; | 90 | }; |
91 | }; | 91 | }; |
92 | 92 | ||
93 | amba { | 93 | amba: amba { |
94 | compatible = "simple-bus"; | 94 | compatible = "simple-bus"; |
95 | #address-cells = <2>; | 95 | #address-cells = <2>; |
96 | #size-cells = <1>; | 96 | #size-cells = <1>; |
@@ -99,7 +99,6 @@ | |||
99 | can0: can@ff060000 { | 99 | can0: can@ff060000 { |
100 | compatible = "xlnx,zynq-can-1.0"; | 100 | compatible = "xlnx,zynq-can-1.0"; |
101 | status = "disabled"; | 101 | status = "disabled"; |
102 | clocks = <&misc_clk &misc_clk>; | ||
103 | clock-names = "can_clk", "pclk"; | 102 | clock-names = "can_clk", "pclk"; |
104 | reg = <0x0 0xff060000 0x1000>; | 103 | reg = <0x0 0xff060000 0x1000>; |
105 | interrupts = <0 23 4>; | 104 | interrupts = <0 23 4>; |
@@ -111,7 +110,6 @@ | |||
111 | can1: can@ff070000 { | 110 | can1: can@ff070000 { |
112 | compatible = "xlnx,zynq-can-1.0"; | 111 | compatible = "xlnx,zynq-can-1.0"; |
113 | status = "disabled"; | 112 | status = "disabled"; |
114 | clocks = <&misc_clk &misc_clk>; | ||
115 | clock-names = "can_clk", "pclk"; | 113 | clock-names = "can_clk", "pclk"; |
116 | reg = <0x0 0xff070000 0x1000>; | 114 | reg = <0x0 0xff070000 0x1000>; |
117 | interrupts = <0 24 4>; | 115 | interrupts = <0 24 4>; |
@@ -120,12 +118,6 @@ | |||
120 | rx-fifo-depth = <0x40>; | 118 | rx-fifo-depth = <0x40>; |
121 | }; | 119 | }; |
122 | 120 | ||
123 | misc_clk: misc_clk { | ||
124 | compatible = "fixed-clock"; | ||
125 | #clock-cells = <0>; | ||
126 | clock-frequency = <25000000>; | ||
127 | }; | ||
128 | |||
129 | gem0: ethernet@ff0b0000 { | 121 | gem0: ethernet@ff0b0000 { |
130 | compatible = "cdns,gem"; | 122 | compatible = "cdns,gem"; |
131 | status = "disabled"; | 123 | status = "disabled"; |
@@ -133,7 +125,6 @@ | |||
133 | interrupts = <0 57 4>, <0 57 4>; | 125 | interrupts = <0 57 4>, <0 57 4>; |
134 | reg = <0x0 0xff0b0000 0x1000>; | 126 | reg = <0x0 0xff0b0000 0x1000>; |
135 | clock-names = "pclk", "hclk", "tx_clk"; | 127 | clock-names = "pclk", "hclk", "tx_clk"; |
136 | clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>; | ||
137 | #address-cells = <1>; | 128 | #address-cells = <1>; |
138 | #size-cells = <0>; | 129 | #size-cells = <0>; |
139 | }; | 130 | }; |
@@ -145,7 +136,6 @@ | |||
145 | interrupts = <0 59 4>, <0 59 4>; | 136 | interrupts = <0 59 4>, <0 59 4>; |
146 | reg = <0x0 0xff0c0000 0x1000>; | 137 | reg = <0x0 0xff0c0000 0x1000>; |
147 | clock-names = "pclk", "hclk", "tx_clk"; | 138 | clock-names = "pclk", "hclk", "tx_clk"; |
148 | clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>; | ||
149 | #address-cells = <1>; | 139 | #address-cells = <1>; |
150 | #size-cells = <0>; | 140 | #size-cells = <0>; |
151 | }; | 141 | }; |
@@ -157,7 +147,6 @@ | |||
157 | interrupts = <0 61 4>, <0 61 4>; | 147 | interrupts = <0 61 4>, <0 61 4>; |
158 | reg = <0x0 0xff0d0000 0x1000>; | 148 | reg = <0x0 0xff0d0000 0x1000>; |
159 | clock-names = "pclk", "hclk", "tx_clk"; | 149 | clock-names = "pclk", "hclk", "tx_clk"; |
160 | clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>; | ||
161 | #address-cells = <1>; | 150 | #address-cells = <1>; |
162 | #size-cells = <0>; | 151 | #size-cells = <0>; |
163 | }; | 152 | }; |
@@ -169,7 +158,6 @@ | |||
169 | interrupts = <0 63 4>, <0 63 4>; | 158 | interrupts = <0 63 4>, <0 63 4>; |
170 | reg = <0x0 0xff0e0000 0x1000>; | 159 | reg = <0x0 0xff0e0000 0x1000>; |
171 | clock-names = "pclk", "hclk", "tx_clk"; | 160 | clock-names = "pclk", "hclk", "tx_clk"; |
172 | clocks = <&misc_clk>, <&misc_clk>, <&misc_clk>; | ||
173 | #address-cells = <1>; | 161 | #address-cells = <1>; |
174 | #size-cells = <0>; | 162 | #size-cells = <0>; |
175 | }; | 163 | }; |
@@ -178,7 +166,6 @@ | |||
178 | compatible = "xlnx,zynqmp-gpio-1.0"; | 166 | compatible = "xlnx,zynqmp-gpio-1.0"; |
179 | status = "disabled"; | 167 | status = "disabled"; |
180 | #gpio-cells = <0x2>; | 168 | #gpio-cells = <0x2>; |
181 | clocks = <&misc_clk>; | ||
182 | interrupt-parent = <&gic>; | 169 | interrupt-parent = <&gic>; |
183 | interrupts = <0 16 4>; | 170 | interrupts = <0 16 4>; |
184 | interrupt-controller; | 171 | interrupt-controller; |
@@ -186,19 +173,12 @@ | |||
186 | reg = <0x0 0xff0a0000 0x1000>; | 173 | reg = <0x0 0xff0a0000 0x1000>; |
187 | }; | 174 | }; |
188 | 175 | ||
189 | i2c_clk: i2c_clk { | ||
190 | compatible = "fixed-clock"; | ||
191 | #clock-cells = <0x0>; | ||
192 | clock-frequency = <111111111>; | ||
193 | }; | ||
194 | |||
195 | i2c0: i2c@ff020000 { | 176 | i2c0: i2c@ff020000 { |
196 | compatible = "cdns,i2c-r1p10"; | 177 | compatible = "cdns,i2c-r1p10"; |
197 | status = "disabled"; | 178 | status = "disabled"; |
198 | interrupt-parent = <&gic>; | 179 | interrupt-parent = <&gic>; |
199 | interrupts = <0 17 4>; | 180 | interrupts = <0 17 4>; |
200 | reg = <0x0 0xff020000 0x1000>; | 181 | reg = <0x0 0xff020000 0x1000>; |
201 | clocks = <&i2c_clk>; | ||
202 | #address-cells = <1>; | 182 | #address-cells = <1>; |
203 | #size-cells = <0>; | 183 | #size-cells = <0>; |
204 | }; | 184 | }; |
@@ -209,24 +189,16 @@ | |||
209 | interrupt-parent = <&gic>; | 189 | interrupt-parent = <&gic>; |
210 | interrupts = <0 18 4>; | 190 | interrupts = <0 18 4>; |
211 | reg = <0x0 0xff030000 0x1000>; | 191 | reg = <0x0 0xff030000 0x1000>; |
212 | clocks = <&i2c_clk>; | ||
213 | #address-cells = <1>; | 192 | #address-cells = <1>; |
214 | #size-cells = <0>; | 193 | #size-cells = <0>; |
215 | }; | 194 | }; |
216 | 195 | ||
217 | sata_clk: sata_clk { | ||
218 | compatible = "fixed-clock"; | ||
219 | #clock-cells = <0>; | ||
220 | clock-frequency = <75000000>; | ||
221 | }; | ||
222 | |||
223 | sata: ahci@fd0c0000 { | 196 | sata: ahci@fd0c0000 { |
224 | compatible = "ceva,ahci-1v84"; | 197 | compatible = "ceva,ahci-1v84"; |
225 | status = "disabled"; | 198 | status = "disabled"; |
226 | reg = <0x0 0xfd0c0000 0x2000>; | 199 | reg = <0x0 0xfd0c0000 0x2000>; |
227 | interrupt-parent = <&gic>; | 200 | interrupt-parent = <&gic>; |
228 | interrupts = <0 133 4>; | 201 | interrupts = <0 133 4>; |
229 | clocks = <&sata_clk>; | ||
230 | }; | 202 | }; |
231 | 203 | ||
232 | sdhci0: sdhci@ff160000 { | 204 | sdhci0: sdhci@ff160000 { |
@@ -236,7 +208,6 @@ | |||
236 | interrupts = <0 48 4>; | 208 | interrupts = <0 48 4>; |
237 | reg = <0x0 0xff160000 0x1000>; | 209 | reg = <0x0 0xff160000 0x1000>; |
238 | clock-names = "clk_xin", "clk_ahb"; | 210 | clock-names = "clk_xin", "clk_ahb"; |
239 | clocks = <&misc_clk>, <&misc_clk>; | ||
240 | }; | 211 | }; |
241 | 212 | ||
242 | sdhci1: sdhci@ff170000 { | 213 | sdhci1: sdhci@ff170000 { |
@@ -246,7 +217,6 @@ | |||
246 | interrupts = <0 49 4>; | 217 | interrupts = <0 49 4>; |
247 | reg = <0x0 0xff170000 0x1000>; | 218 | reg = <0x0 0xff170000 0x1000>; |
248 | clock-names = "clk_xin", "clk_ahb"; | 219 | clock-names = "clk_xin", "clk_ahb"; |
249 | clocks = <&misc_clk>, <&misc_clk>; | ||
250 | }; | 220 | }; |
251 | 221 | ||
252 | smmu: smmu@fd800000 { | 222 | smmu: smmu@fd800000 { |
@@ -268,7 +238,6 @@ | |||
268 | interrupts = <0 19 4>; | 238 | interrupts = <0 19 4>; |
269 | reg = <0x0 0xff040000 0x1000>; | 239 | reg = <0x0 0xff040000 0x1000>; |
270 | clock-names = "ref_clk", "pclk"; | 240 | clock-names = "ref_clk", "pclk"; |
271 | clocks = <&misc_clk &misc_clk>; | ||
272 | #address-cells = <1>; | 241 | #address-cells = <1>; |
273 | #size-cells = <0>; | 242 | #size-cells = <0>; |
274 | }; | 243 | }; |
@@ -280,7 +249,6 @@ | |||
280 | interrupts = <0 20 4>; | 249 | interrupts = <0 20 4>; |
281 | reg = <0x0 0xff050000 0x1000>; | 250 | reg = <0x0 0xff050000 0x1000>; |
282 | clock-names = "ref_clk", "pclk"; | 251 | clock-names = "ref_clk", "pclk"; |
283 | clocks = <&misc_clk &misc_clk>; | ||
284 | #address-cells = <1>; | 252 | #address-cells = <1>; |
285 | #size-cells = <0>; | 253 | #size-cells = <0>; |
286 | }; | 254 | }; |
@@ -291,7 +259,6 @@ | |||
291 | interrupt-parent = <&gic>; | 259 | interrupt-parent = <&gic>; |
292 | interrupts = <0 36 4>, <0 37 4>, <0 38 4>; | 260 | interrupts = <0 36 4>, <0 37 4>, <0 38 4>; |
293 | reg = <0x0 0xff110000 0x1000>; | 261 | reg = <0x0 0xff110000 0x1000>; |
294 | clocks = <&misc_clk>; | ||
295 | timer-width = <32>; | 262 | timer-width = <32>; |
296 | }; | 263 | }; |
297 | 264 | ||
@@ -301,7 +268,6 @@ | |||
301 | interrupt-parent = <&gic>; | 268 | interrupt-parent = <&gic>; |
302 | interrupts = <0 39 4>, <0 40 4>, <0 41 4>; | 269 | interrupts = <0 39 4>, <0 40 4>, <0 41 4>; |
303 | reg = <0x0 0xff120000 0x1000>; | 270 | reg = <0x0 0xff120000 0x1000>; |
304 | clocks = <&misc_clk>; | ||
305 | timer-width = <32>; | 271 | timer-width = <32>; |
306 | }; | 272 | }; |
307 | 273 | ||
@@ -311,7 +277,6 @@ | |||
311 | interrupt-parent = <&gic>; | 277 | interrupt-parent = <&gic>; |
312 | interrupts = <0 42 4>, <0 43 4>, <0 44 4>; | 278 | interrupts = <0 42 4>, <0 43 4>, <0 44 4>; |
313 | reg = <0x0 0xff130000 0x1000>; | 279 | reg = <0x0 0xff130000 0x1000>; |
314 | clocks = <&misc_clk>; | ||
315 | timer-width = <32>; | 280 | timer-width = <32>; |
316 | }; | 281 | }; |
317 | 282 | ||
@@ -321,7 +286,6 @@ | |||
321 | interrupt-parent = <&gic>; | 286 | interrupt-parent = <&gic>; |
322 | interrupts = <0 45 4>, <0 46 4>, <0 47 4>; | 287 | interrupts = <0 45 4>, <0 46 4>, <0 47 4>; |
323 | reg = <0x0 0xff140000 0x1000>; | 288 | reg = <0x0 0xff140000 0x1000>; |
324 | clocks = <&misc_clk>; | ||
325 | timer-width = <32>; | 289 | timer-width = <32>; |
326 | }; | 290 | }; |
327 | 291 | ||
@@ -332,7 +296,6 @@ | |||
332 | interrupts = <0 21 4>; | 296 | interrupts = <0 21 4>; |
333 | reg = <0x0 0xff000000 0x1000>; | 297 | reg = <0x0 0xff000000 0x1000>; |
334 | clock-names = "uart_clk", "pclk"; | 298 | clock-names = "uart_clk", "pclk"; |
335 | clocks = <&misc_clk &misc_clk>; | ||
336 | }; | 299 | }; |
337 | 300 | ||
338 | uart1: serial@ff010000 { | 301 | uart1: serial@ff010000 { |
@@ -342,7 +305,6 @@ | |||
342 | interrupts = <0 22 4>; | 305 | interrupts = <0 22 4>; |
343 | reg = <0x0 0xff010000 0x1000>; | 306 | reg = <0x0 0xff010000 0x1000>; |
344 | clock-names = "uart_clk", "pclk"; | 307 | clock-names = "uart_clk", "pclk"; |
345 | clocks = <&misc_clk &misc_clk>; | ||
346 | }; | 308 | }; |
347 | 309 | ||
348 | usb0: usb@fe200000 { | 310 | usb0: usb@fe200000 { |
@@ -352,7 +314,6 @@ | |||
352 | interrupts = <0 65 4>; | 314 | interrupts = <0 65 4>; |
353 | reg = <0x0 0xfe200000 0x40000>; | 315 | reg = <0x0 0xfe200000 0x40000>; |
354 | clock-names = "clk_xin", "clk_ahb"; | 316 | clock-names = "clk_xin", "clk_ahb"; |
355 | clocks = <&misc_clk>, <&misc_clk>; | ||
356 | }; | 317 | }; |
357 | 318 | ||
358 | usb1: usb@fe300000 { | 319 | usb1: usb@fe300000 { |
@@ -362,13 +323,11 @@ | |||
362 | interrupts = <0 70 4>; | 323 | interrupts = <0 70 4>; |
363 | reg = <0x0 0xfe300000 0x40000>; | 324 | reg = <0x0 0xfe300000 0x40000>; |
364 | clock-names = "clk_xin", "clk_ahb"; | 325 | clock-names = "clk_xin", "clk_ahb"; |
365 | clocks = <&misc_clk>, <&misc_clk>; | ||
366 | }; | 326 | }; |
367 | 327 | ||
368 | watchdog0: watchdog@fd4d0000 { | 328 | watchdog0: watchdog@fd4d0000 { |
369 | compatible = "cdns,wdt-r1p2"; | 329 | compatible = "cdns,wdt-r1p2"; |
370 | status = "disabled"; | 330 | status = "disabled"; |
371 | clocks= <&misc_clk>; | ||
372 | interrupt-parent = <&gic>; | 331 | interrupt-parent = <&gic>; |
373 | interrupts = <0 52 1>; | 332 | interrupts = <0 52 1>; |
374 | reg = <0x0 0xfd4d0000 0x1000>; | 333 | reg = <0x0 0xfd4d0000 0x1000>; |