Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
clock_common_data.c
Go to the documentation of this file.
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 <[email protected]>
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 
19 #include "clock.h"
20 
21 /* clksel_rate data common to 24xx/343x */
22 const struct clksel_rate gpt_32k_rates[] = {
23  { .div = 1, .val = 0, .flags = RATE_IN_24XX | RATE_IN_3XXX },
24  { .div = 0 }
25 };
26 
27 const struct clksel_rate gpt_sys_rates[] = {
28  { .div = 1, .val = 1, .flags = RATE_IN_24XX | RATE_IN_3XXX },
29  { .div = 0 }
30 };
31 
32 const struct clksel_rate gfx_l3_rates[] = {
33  { .div = 1, .val = 1, .flags = RATE_IN_24XX | RATE_IN_3XXX },
34  { .div = 2, .val = 2, .flags = RATE_IN_24XX | RATE_IN_3XXX },
35  { .div = 3, .val = 3, .flags = RATE_IN_243X | RATE_IN_3XXX },
36  { .div = 4, .val = 4, .flags = RATE_IN_243X | RATE_IN_3XXX },
37  { .div = 0 }
38 };
39 
40 const struct clksel_rate dsp_ick_rates[] = {
41  { .div = 1, .val = 1, .flags = RATE_IN_24XX },
42  { .div = 2, .val = 2, .flags = RATE_IN_24XX },
43  { .div = 3, .val = 3, .flags = RATE_IN_243X },
44  { .div = 0 },
45 };
46 
47 
48 /* clksel_rate blocks shared between OMAP44xx and AM33xx */
49 
50 const struct clksel_rate div_1_0_rates[] = {
51  { .div = 1, .val = 0, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
52  { .div = 0 },
53 };
54 
55 const struct clksel_rate div_1_1_rates[] = {
56  { .div = 1, .val = 1, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
57  { .div = 0 },
58 };
59 
60 const struct clksel_rate div_1_2_rates[] = {
61  { .div = 1, .val = 2, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
62  { .div = 0 },
63 };
64 
65 const struct clksel_rate div_1_3_rates[] = {
66  { .div = 1, .val = 3, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
67  { .div = 0 },
68 };
69 
70 const struct clksel_rate div_1_4_rates[] = {
71  { .div = 1, .val = 4, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
72  { .div = 0 },
73 };
74 
75 const struct clksel_rate div31_1to31_rates[] = {
76  { .div = 1, .val = 1, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
77  { .div = 2, .val = 2, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
78  { .div = 3, .val = 3, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
79  { .div = 4, .val = 4, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
80  { .div = 5, .val = 5, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
81  { .div = 6, .val = 6, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
82  { .div = 7, .val = 7, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
83  { .div = 8, .val = 8, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
84  { .div = 9, .val = 9, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
85  { .div = 10, .val = 10, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
86  { .div = 11, .val = 11, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
87  { .div = 12, .val = 12, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
88  { .div = 13, .val = 13, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
89  { .div = 14, .val = 14, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
90  { .div = 15, .val = 15, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
91  { .div = 16, .val = 16, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
92  { .div = 17, .val = 17, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
93  { .div = 18, .val = 18, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
94  { .div = 19, .val = 19, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
95  { .div = 20, .val = 20, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
96  { .div = 21, .val = 21, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
97  { .div = 22, .val = 22, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
98  { .div = 23, .val = 23, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
99  { .div = 24, .val = 24, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
100  { .div = 25, .val = 25, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
101  { .div = 26, .val = 26, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
102  { .div = 27, .val = 27, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
103  { .div = 28, .val = 28, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
104  { .div = 29, .val = 29, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
105  { .div = 30, .val = 30, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
106  { .div = 31, .val = 31, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
107  { .div = 0 },
108 };
109 
110 /* Clocks shared between various OMAP SoCs */
111 
113  .name = "virt_19200000_ck",
114  .ops = &clkops_null,
115  .rate = 19200000,
116 };
117 
119  .name = "virt_26000000_ck",
120  .ops = &clkops_null,
121  .rate = 26000000,
122 };