Commit | Line | Data |
---|---|---|
82e9bd58 PW |
1 | /* |
2 | * linux/arch/arm/mach-omap2/clock_common_data.c | |
3 | * | |
4 | * Copyright (C) 2005-2009 Texas Instruments, Inc. | |
5 | * Copyright (C) 2004-2009 Nokia Corporation | |
6 | * | |
7 | * Contacts: | |
8 | * Richard Woodruff <r-woodruff2@ti.com> | |
9 | * Paul Walmsley | |
10 | * | |
11 | * This program is free software; you can redistribute it and/or modify | |
12 | * it under the terms of the GNU General Public License version 2 as | |
13 | * published by the Free Software Foundation. | |
14 | * | |
15 | * This file contains clock data that is common to both the OMAP2xxx and | |
16 | * OMAP3xxx clock definition files. | |
17 | */ | |
18 | ||
f9ae32a7 | 19 | #include <linux/clk-private.h> |
82e9bd58 PW |
20 | #include "clock.h" |
21 | ||
22 | /* clksel_rate data common to 24xx/343x */ | |
23 | const struct clksel_rate gpt_32k_rates[] = { | |
63405360 | 24 | { .div = 1, .val = 0, .flags = RATE_IN_24XX | RATE_IN_3XXX }, |
82e9bd58 PW |
25 | { .div = 0 } |
26 | }; | |
27 | ||
28 | const struct clksel_rate gpt_sys_rates[] = { | |
63405360 | 29 | { .div = 1, .val = 1, .flags = RATE_IN_24XX | RATE_IN_3XXX }, |
82e9bd58 PW |
30 | { .div = 0 } |
31 | }; | |
32 | ||
33 | const struct clksel_rate gfx_l3_rates[] = { | |
63405360 PW |
34 | { .div = 1, .val = 1, .flags = RATE_IN_24XX | RATE_IN_3XXX }, |
35 | { .div = 2, .val = 2, .flags = RATE_IN_24XX | RATE_IN_3XXX }, | |
36 | { .div = 3, .val = 3, .flags = RATE_IN_243X | RATE_IN_3XXX }, | |
37 | { .div = 4, .val = 4, .flags = RATE_IN_243X | RATE_IN_3XXX }, | |
82e9bd58 PW |
38 | { .div = 0 } |
39 | }; | |
40 | ||
22411396 PW |
41 | const struct clksel_rate dsp_ick_rates[] = { |
42 | { .div = 1, .val = 1, .flags = RATE_IN_24XX }, | |
43 | { .div = 2, .val = 2, .flags = RATE_IN_24XX }, | |
44 | { .div = 3, .val = 3, .flags = RATE_IN_243X }, | |
45 | { .div = 0 }, | |
46 | }; | |
571efa0d PW |
47 | |
48 | ||
49 | /* clksel_rate blocks shared between OMAP44xx and AM33xx */ | |
50 | ||
51 | const struct clksel_rate div_1_0_rates[] = { | |
52 | { .div = 1, .val = 0, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
53 | { .div = 0 }, | |
54 | }; | |
55 | ||
cb26867e RN |
56 | const struct clksel_rate div3_1to4_rates[] = { |
57 | { .div = 1, .val = 0, .flags = RATE_IN_4430 }, | |
58 | { .div = 2, .val = 1, .flags = RATE_IN_4430 }, | |
59 | { .div = 4, .val = 2, .flags = RATE_IN_4430 }, | |
60 | { .div = 0 }, | |
61 | }; | |
62 | ||
571efa0d PW |
63 | const struct clksel_rate div_1_1_rates[] = { |
64 | { .div = 1, .val = 1, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
65 | { .div = 0 }, | |
66 | }; | |
67 | ||
68 | const struct clksel_rate div_1_2_rates[] = { | |
69 | { .div = 1, .val = 2, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
70 | { .div = 0 }, | |
71 | }; | |
72 | ||
73 | const struct clksel_rate div_1_3_rates[] = { | |
74 | { .div = 1, .val = 3, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
75 | { .div = 0 }, | |
76 | }; | |
77 | ||
78 | const struct clksel_rate div_1_4_rates[] = { | |
79 | { .div = 1, .val = 4, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
80 | { .div = 0 }, | |
81 | }; | |
82 | ||
83 | const struct clksel_rate div31_1to31_rates[] = { | |
84 | { .div = 1, .val = 1, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
85 | { .div = 2, .val = 2, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
86 | { .div = 3, .val = 3, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
87 | { .div = 4, .val = 4, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
88 | { .div = 5, .val = 5, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
89 | { .div = 6, .val = 6, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
90 | { .div = 7, .val = 7, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
91 | { .div = 8, .val = 8, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
92 | { .div = 9, .val = 9, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
93 | { .div = 10, .val = 10, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
94 | { .div = 11, .val = 11, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
95 | { .div = 12, .val = 12, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
96 | { .div = 13, .val = 13, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
97 | { .div = 14, .val = 14, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
98 | { .div = 15, .val = 15, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
99 | { .div = 16, .val = 16, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
100 | { .div = 17, .val = 17, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
101 | { .div = 18, .val = 18, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
102 | { .div = 19, .val = 19, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
103 | { .div = 20, .val = 20, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
104 | { .div = 21, .val = 21, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
105 | { .div = 22, .val = 22, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
106 | { .div = 23, .val = 23, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
107 | { .div = 24, .val = 24, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
108 | { .div = 25, .val = 25, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
109 | { .div = 26, .val = 26, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
110 | { .div = 27, .val = 27, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
111 | { .div = 28, .val = 28, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
112 | { .div = 29, .val = 29, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
113 | { .div = 30, .val = 30, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
114 | { .div = 31, .val = 31, .flags = RATE_IN_4430 | RATE_IN_AM33XX }, | |
115 | { .div = 0 }, | |
116 | }; | |
117 | ||
118 | /* Clocks shared between various OMAP SoCs */ | |
cb26867e RN |
119 | |
120 | static struct clk_ops dummy_ck_ops = {}; | |
121 | ||
122 | struct clk dummy_ck = { | |
123 | .name = "dummy_clk", | |
124 | .ops = &dummy_ck_ops, | |
125 | .flags = CLK_IS_BASIC, | |
126 | }; |