1
From ce6ac11c14ce9c3cf4ab9b299612ecc5044a2c47 Mon Sep 17 00:00:00 2001
2
From: =?UTF-8?q?Juha=20Riihim=C3=A4ki?= <juha.riihimaki@nokia.com>
3
Date: Mon, 18 Feb 2013 16:58:25 +0000
4
Subject: [PATCH 11/70] hw/omap_clk.c: Add OMAP3 clock tree definitions
6
Content-Type: text/plain; charset=UTF-8
7
Content-Transfer-Encoding: 8bit
9
Add the clock tree definitions for OMAP3 SOCs.
11
Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
12
[Riku Voipio: Fixes and restructuring patchset]
13
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
14
[Peter Maydell: More fixes and cleanups for upstream submission]
15
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
17
hw/misc/omap_clk.c | 735 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
18
1 file changed, 727 insertions(+), 8 deletions(-)
20
diff --git a/hw/misc/omap_clk.c b/hw/misc/omap_clk.c
21
index 80a3c50..0ccb07a 100644
22
--- a/hw/misc/omap_clk.c
23
+++ b/hw/misc/omap_clk.c
24
@@ -34,7 +34,8 @@ struct clk {
25
#define CLOCK_IN_OMAP16XX (1 << 13)
26
#define CLOCK_IN_OMAP242X (1 << 14)
27
#define CLOCK_IN_OMAP243X (1 << 15)
28
-#define CLOCK_IN_OMAP343X (1 << 16)
29
+#define CLOCK_IN_OMAP34XX (1 << 16)
30
+#define CLOCK_IN_OMAP36XX (1 << 17)
34
@@ -947,6 +948,629 @@ static struct clk omapctrl_clk = {
35
.parent = &core_l4_iclk,
40
+static struct clk omap3_sys_32k = {
41
+ .name = "omap3_sys_32k",
43
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
46
+static struct clk omap3_osc_sys_clk12 = {
47
+ .name = "omap3_osc_sys_clk12",
49
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
52
+static struct clk omap3_osc_sys_clk13 = {
53
+ .name = "omap3_osc_sys_clk13",
55
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
58
+static struct clk omap3_osc_sys_clk168 = {
59
+ .name = "omap3_osc_sys_clk168",
61
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
64
+static struct clk omap3_osc_sys_clk192 = {
65
+ .name = "omap3_osc_sys_clk192",
67
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
70
+static struct clk omap3_osc_sys_clk26 = {
71
+ .name = "omap3_osc_sys_clk26",
73
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
76
+static struct clk omap3_osc_sys_clk384 = {
77
+ .name = "omap3_osc_sys_clk384",
79
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
82
+/*Is the altclk is enabled in beagle board?*/
83
+static struct clk omap3_sys_altclk = {
84
+ .name = "omap3_sys_altclk",
86
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
90
+static struct clk omap3_sys_clk = {
91
+ .name = "omap3_sys_clk",
92
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
93
+ .parent = &omap3_osc_sys_clk26,
96
+static struct clk omap3_32k_fclk = {
97
+ .name = "omap3_32k_fclk",
99
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
100
+ .parent = &omap3_sys_32k,
106
+ * DPLL3_M2_CLK (CORE_CLK)
107
+ * DPLL3_M2*2_CLK (CORE*2_CLK)
108
+ * EMULE_CORE_ALWON_CLK
110
+static struct clk omap3_core_clk = {
111
+ .name = "omap3_core_clk",
112
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
113
+ .parent = &omap3_sys_clk,
116
+static struct clk omap3_core2_clk = {
117
+ .name = "omap3_core2_clk",
118
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
119
+ .parent = &omap3_sys_clk,
122
+static struct clk omap3_emu_core_alwon_clk = {
123
+ .name = "omap3_emu_core_alwon_clk",
124
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
125
+ .parent = &omap3_sys_clk,
128
+/*DPLL1 : it is for MPU
130
+ * reference clock: SYS_CLK
131
+ * bypass clock : CORE_CLK from dpll3
133
+ * MPU_CLK (DPLL_CLK_M2)
135
+static struct clk omap3_mpu_clk = {
136
+ .name = "omap3_mpu_clk",
137
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
138
+ .parent = &omap3_core_clk, /*between sys_clk and core_clk*/
141
+/*DPLL2: it is for iva2*/
142
+static struct clk omap3_iva2_clk = {
143
+ .name = "omap3_iva2_clk",
144
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
145
+ .parent = &omap3_core_clk, /*between sys_clk and core_clk*/
152
+ * M3: TO TV(54M_FCLK)
153
+ * M4: DSS1_ALWON_CLK
155
+ * M6: EMUL_PER_ALWON_CLK
157
+static struct clk omap3_dpll4_inref = {
158
+ .name = "omap3_dpll4_inref",
159
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
160
+ .parent = &omap3_sys_clk,
163
+static struct clk omap3_96m_fclk = {
164
+ .name = "omap3_96m_fclk",
165
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
166
+ .parent = &omap3_dpll4_inref,
169
+static struct clk omap3_54m_fclk = {
170
+ .name = "omap3_54m_fclk",
171
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
172
+ .parent = &omap3_dpll4_inref,
175
+static struct clk omap3_dss1_alwon_fclk = {
176
+ .name = "omap3_dss1_alwon_fclk",
177
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
178
+ .parent = &omap3_dpll4_inref,
181
+static struct clk omap3_cam_mclk = {
182
+ .name = "omap3_cam_mclk",
183
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
184
+ .parent = &omap3_dpll4_inref,
187
+static struct clk omap3_per_alwon_clk = {
188
+ .name = "omap3_per_alwon_clk",
189
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
190
+ .parent = &omap3_dpll4_inref,
198
+static struct clk omap3_120m_fclk = {
199
+ .name = "omap3_120m_fclk",
200
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
201
+ .parent = &omap3_sys_clk,
205
+static struct clk omap3_48m_fclk = {
206
+ .name = "omap3_48m_fclk",
207
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
208
+ .parent = &omap3_96m_fclk, /* omap3_96m_fclk and omap3_sys_altclk */
213
+static struct clk omap3_12m_fclk = {
214
+ .name = "omap3_12m_fclk",
215
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
216
+ .parent = &omap3_96m_fclk, /*omap3_96m_fclk and omap3_sys_altclk */
221
+/*Common interface clock*/
229
+static struct clk omap3_l3x2_iclk = {
230
+ .name = "omap3_l3x2_iclk",
231
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
232
+ .parent = &omap3_core_clk,
235
+static struct clk omap3_l3_iclk = {
236
+ .name = "omap3_l3_iclk",
237
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
238
+ .parent = &omap3_core_clk,
241
+static struct clk omap3_l4_iclk = {
242
+ .name = "omap3_l4_iclk",
243
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
244
+ .parent = &omap3_l3_iclk,
246
+static struct clk omap3_rm_iclk = {
247
+ .name = "omap3_rm_iclk",
248
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
249
+ .parent = &omap3_l4_iclk,
252
+/*Core power domain clock*/
253
+/* Input: cm_sys_clk
274
+ * security_l4_iclk2
276
+static struct clk omap3_gp10_fclk = {
277
+ .name = "omap3_gp10_fclk",
278
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
279
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
282
+static struct clk omap3_gp11_fclk = {
283
+ .name = "omap3_gp11_fclk",
284
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
285
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
288
+static struct clk omap3_core_32k_fclk = {
289
+ .name = "omap3_core_32k_fclk",
290
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
291
+ .parent = &omap3_32k_fclk,
294
+static struct clk omap3_cpefuse_fclk = {
295
+ .name = "omap3_cpefuse_fclk",
296
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
297
+ .parent = &omap3_sys_clk,
300
+static struct clk omap3_core_120m_fclk = {
301
+ .name = "omap3_core_120m_fclk",
302
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
303
+ .parent = &omap3_120m_fclk,
306
+static struct clk omap3_core_96m_fclk = {
307
+ .name = "omap3_core_96m_fclk",
308
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
309
+ .parent = &omap3_96m_fclk,
314
+static struct clk omap3_core_48m_fclk = {
315
+ .name = "omap3_core_48m_fclk",
316
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
317
+ .parent = &omap3_48m_fclk,
320
+static struct clk omap3_core_12m_fclk = {
321
+ .name = "omap3_core_12m_fclk",
322
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
323
+ .parent = &omap3_12m_fclk,
326
+static struct clk omap3_core_l3_iclk = {
327
+ .name = "omap3_core_l3_iclk",
328
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
329
+ .parent = &omap3_l3_iclk,
332
+static struct clk omap3_core_l4_iclk = {
333
+ .name = "omap3_core_l4_iclk",
334
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX | ALWAYS_ENABLED,
335
+ .parent = &omap3_l4_iclk,
338
+/* CORE_L3 interface clock based clocks */
339
+static struct clk omap3_sdrc_iclk = {
340
+ .name = "omap3_sdrc_iclk",
341
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
342
+ .parent = &omap3_core_l3_iclk,
346
+/*WKUP Power Domain*/
347
+static struct clk omap3_wkup_32k_fclk = {
348
+ .name = "omap3_wkup_32k_fclk",
349
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
350
+ .parent = &omap3_32k_fclk,
353
+static struct clk omap3_wkup_l4_iclk = {
354
+ .name = "omap3_wkup_l4_iclk",
355
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
357
+ .parent = &omap3_sys_clk,
360
+static struct clk omap3_gp1_fclk = {
361
+ .name = "omap3_gp1_fclk",
362
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
363
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
366
+static struct clk omap3_gp12_fclk = {
367
+ .name = "omap3_gp12_fclk",
368
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
369
+ .parent = &omap3_32k_fclk, /* SECURE_32K_FCLK -> 32-kHz osc */
372
+/*PER Power Domain clock*/
374
+static struct clk omap3_gp2_fclk = {
375
+ .name = "omap3_gp2_fclk",
376
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
377
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
380
+static struct clk omap3_gp3_fclk = {
381
+ .name = "omap3_gp3_fclk",
382
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
383
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
386
+static struct clk omap3_gp4_fclk = {
387
+ .name = "omap3_gp4_fclk",
388
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
389
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
392
+static struct clk omap3_gp5_fclk = {
393
+ .name = "omap3_gp5_fclk",
394
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
395
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
398
+static struct clk omap3_gp6_fclk = {
399
+ .name = "omap3_gp6_fclk",
400
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
401
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
404
+static struct clk omap3_gp7_fclk = {
405
+ .name = "omap3_gp7_fclk",
406
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
407
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
410
+static struct clk omap3_gp8_fclk = {
411
+ .name = "omap3_gp8_fclk",
412
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
413
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
416
+static struct clk omap3_gp9_fclk = {
417
+ .name = "omap3_gp9_fclk",
418
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
419
+ .parent = &omap3_32k_fclk, /*omap3_32k_fclk and omap3_sys_clk*/
422
+static struct clk omap3_per_96m_fclk = {
423
+ .name = "omap3_per_96m_fclk",
424
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
425
+ .parent = &omap3_96m_fclk,
428
+static struct clk omap3_per_48m_fclk = {
429
+ .name = "omap3_per_48m_fclk",
430
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
431
+ .parent = &omap3_48m_fclk,
434
+static struct clk omap3_per_32k_fclk = {
435
+ .name = "omap3_per_32k_fclk",
436
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
437
+ .parent = &omap3_32k_fclk,
440
+static struct clk omap3_per_l4_iclk = {
441
+ .name = "omap3_per_l4_iclk",
442
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
444
+ .parent = &omap3_l4_iclk,
448
+static struct clk omap3_uart1_fclk = {
449
+ .name = "omap3_uart1_fclk",
450
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
451
+ .parent = &omap3_core_48m_fclk,
454
+static struct clk omap3_uart1_iclk = {
455
+ .name = "omap3_uart1_iclk",
456
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
457
+ .parent = &omap3_core_l4_iclk,
460
+static struct clk omap3_uart2_fclk = {
461
+ .name = "omap3_uart2_fclk",
462
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
463
+ .parent = &omap3_core_48m_fclk,
466
+static struct clk omap3_uart2_iclk = {
467
+ .name = "omap3_uart2_iclk",
468
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
469
+ .parent = &omap3_core_l4_iclk,
472
+static struct clk omap3_uart3_fclk = {
473
+ .name = "omap3_uart3_fclk",
474
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
475
+ .parent = &omap3_per_48m_fclk,
478
+static struct clk omap3_uart3_iclk = {
479
+ .name = "omap3_uart3_iclk",
480
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
481
+ .parent = &omap3_core_l4_iclk,
484
+static struct clk omap3_uart4_fclk = {
485
+ .name = "omap3_uart4_fclk",
486
+ .flags = CLOCK_IN_OMAP36XX,
487
+ .parent = &omap3_per_48m_fclk,
490
+static struct clk omap3_uart4_iclk = {
491
+ .name = "omap3_uart4_iclk",
492
+ .flags = CLOCK_IN_OMAP36XX,
493
+ .parent = &omap3_core_l4_iclk,
497
+static struct clk omap3_mpu_intc_fclk = {
498
+ .name = "omap3_mpu_intc_fclk",
499
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
501
+ .parent = &omap3_mpu_clk,
504
+static struct clk omap3_mpu_intc_iclk = {
505
+ .name = "omap3_mpu_intc_iclk",
506
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
508
+ .parent = &omap3_mpu_clk,
512
+static struct clk omap3_sdma_fclk = {
513
+ .name = "omap3_sdma_fclk",
514
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
515
+ .parent = &omap3_core_l3_iclk,
518
+static struct clk omap3_sdma_iclk = {
519
+ .name = "omap3_sdma_iclk",
520
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
521
+ .parent = &omap3_core_l4_iclk,
525
+static struct clk omap3_sys_clkout1 = {
526
+ .name = "omap3_sys_clkout1",
527
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
528
+ .parent = &omap3_osc_sys_clk26, /* same parent as as SYS_CLK */
531
+static struct clk omap3_sys_clkout2 = {
532
+ .name = "omap3_sys_clkout2",
533
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
534
+ .parent = &omap3_core_clk, /*CORE_CLK CM_SYS_CLK CM_96M_FCLK 54MHz clk*/
538
+static struct clk omap3_mmc1_fclk = {
539
+ .name = "omap3_mmc1_fclk",
540
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
541
+ .parent = &omap3_per_96m_fclk,
544
+static struct clk omap3_mmc1_iclk = {
545
+ .name = "omap3_mmc1_iclk",
546
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
547
+ .parent = &omap3_per_l4_iclk,
550
+static struct clk omap3_mmc2_fclk = {
551
+ .name = "omap3_mmc2_fclk",
552
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
553
+ .parent = &omap3_per_96m_fclk,
556
+static struct clk omap3_mmc2_iclk = {
557
+ .name = "omap3_mmc2_iclk",
558
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
559
+ .parent = &omap3_per_l4_iclk,
562
+static struct clk omap3_mmc3_fclk = {
563
+ .name = "omap3_mmc3_fclk",
564
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
565
+ .parent = &omap3_per_96m_fclk,
568
+static struct clk omap3_mmc3_iclk = {
569
+ .name = "omap3_mmc3_iclk",
570
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
571
+ .parent = &omap3_per_l4_iclk,
575
+static struct clk omap3_i2c1_fclk = {
576
+ .name = "omap3_i2c1_fclk",
577
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
578
+ .parent = &omap3_per_96m_fclk,
581
+static struct clk omap3_i2c1_iclk = {
582
+ .name = "omap3_i2c1_iclk",
583
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
584
+ .parent = &omap3_core_l4_iclk,
587
+static struct clk omap3_i2c2_fclk = {
588
+ .name = "omap3_i2c2_fclk",
589
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
590
+ .parent = &omap3_per_96m_fclk,
593
+static struct clk omap3_i2c2_iclk = {
594
+ .name = "omap3_i2c2_iclk",
595
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
596
+ .parent = &omap3_core_l4_iclk,
599
+static struct clk omap3_i2c3_fclk = {
600
+ .name = "omap3_i2c3_fclk",
601
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
602
+ .parent = &omap3_per_96m_fclk,
605
+static struct clk omap3_i2c3_iclk = {
606
+ .name = "omap3_i2c3_iclk",
607
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
608
+ .parent = &omap3_core_l4_iclk,
612
+static struct clk omap3_spi1_fclk = {
613
+ .name = "omap3_spi1_fclk",
614
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
615
+ .parent = &omap3_core_48m_fclk,
618
+static struct clk omap3_spi1_iclk = {
619
+ .name = "omap3_spi1_iclk",
620
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
621
+ .parent = &omap3_core_l4_iclk,
624
+static struct clk omap3_spi2_fclk = {
625
+ .name = "omap3_spi2_fclk",
626
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
627
+ .parent = &omap3_core_48m_fclk,
630
+static struct clk omap3_spi2_iclk = {
631
+ .name = "omap3_spi2_iclk",
632
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
633
+ .parent = &omap3_core_l4_iclk,
636
+static struct clk omap3_spi3_fclk = {
637
+ .name = "omap3_spi3_fclk",
638
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
639
+ .parent = &omap3_core_48m_fclk,
642
+static struct clk omap3_spi3_iclk = {
643
+ .name = "omap3_spi3_iclk",
644
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
645
+ .parent = &omap3_core_l4_iclk,
648
+static struct clk omap3_spi4_fclk = {
649
+ .name = "omap3_spi4_fclk",
650
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
651
+ .parent = &omap3_core_48m_fclk,
654
+static struct clk omap3_spi4_iclk = {
655
+ .name = "omap3_spi4_iclk",
656
+ .flags = CLOCK_IN_OMAP34XX | CLOCK_IN_OMAP36XX,
657
+ .parent = &omap3_core_l4_iclk,
661
static struct clk *onchip_clks[] = {
664
@@ -1090,6 +1714,98 @@ static struct clk *onchip_clks[] = {
671
+ &omap3_osc_sys_clk12,
672
+ &omap3_osc_sys_clk13,
673
+ &omap3_osc_sys_clk168,
674
+ &omap3_osc_sys_clk192,
675
+ &omap3_osc_sys_clk26,
676
+ &omap3_osc_sys_clk384,
682
+ &omap3_emu_core_alwon_clk,
685
+ &omap3_dpll4_inref,
688
+ &omap3_dss1_alwon_fclk,
690
+ &omap3_per_alwon_clk,
700
+ &omap3_core_32k_fclk,
701
+ &omap3_cpefuse_fclk,
702
+ &omap3_core_120m_fclk,
703
+ &omap3_core_96m_fclk,
704
+ &omap3_core_48m_fclk,
705
+ &omap3_core_12m_fclk,
706
+ &omap3_core_l3_iclk,
707
+ &omap3_core_l4_iclk,
709
+ &omap3_wkup_32k_fclk,
710
+ &omap3_wkup_l4_iclk,
721
+ &omap3_per_96m_fclk,
722
+ &omap3_per_48m_fclk,
723
+ &omap3_per_32k_fclk,
724
+ &omap3_per_l4_iclk,
733
+ &omap3_mpu_intc_fclk,
734
+ &omap3_mpu_intc_iclk,
737
+ &omap3_sys_clkout1,
738
+ &omap3_sys_clkout2,
763
@@ -1223,18 +1939,21 @@ void omap_clk_init(struct omap_mpu_state_s *mpu)
767
- if (cpu_is_omap310(mpu))
768
+ if (cpu_is_omap310(mpu)) {
769
flag = CLOCK_IN_OMAP310;
770
- else if (cpu_is_omap1510(mpu))
771
+ } else if (cpu_is_omap1510(mpu)) {
772
flag = CLOCK_IN_OMAP1510;
773
- else if (cpu_is_omap2410(mpu) || cpu_is_omap2420(mpu))
774
+ } else if (cpu_is_omap2410(mpu) || cpu_is_omap2420(mpu)) {
775
flag = CLOCK_IN_OMAP242X;
776
- else if (cpu_is_omap2430(mpu))
777
- flag = CLOCK_IN_OMAP243X;
778
- else if (cpu_is_omap3430(mpu))
779
+ } else if (cpu_is_omap2430(mpu)) {
780
flag = CLOCK_IN_OMAP243X;
782
+ } else if (cpu_is_omap3430(mpu)) {
783
+ flag = CLOCK_IN_OMAP34XX;
784
+ } else if (cpu_is_omap3630(mpu)) {
785
+ flag = CLOCK_IN_OMAP36XX;
790
for (i = onchip_clks, count = 0; *i; i ++)
791
if ((*i)->flags & flag)