Linux Audio

Check our new training course

Loading...
v3.5.6
 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
 
19#include "clock.h"
20
21/* clksel_rate data common to 24xx/343x */
22const struct clksel_rate gpt_32k_rates[] = {
23	 { .div = 1, .val = 0, .flags = RATE_IN_24XX | RATE_IN_3XXX },
24	 { .div = 0 }
25};
26
27const struct clksel_rate gpt_sys_rates[] = {
28	 { .div = 1, .val = 1, .flags = RATE_IN_24XX | RATE_IN_3XXX },
29	 { .div = 0 }
30};
31
32const 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
40const 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};
v3.15
  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
 19#include <linux/clk-private.h>
 20#include "clock.h"
 21
 22/* clksel_rate data common to 24xx/343x */
 23const struct clksel_rate gpt_32k_rates[] = {
 24	 { .div = 1, .val = 0, .flags = RATE_IN_24XX | RATE_IN_3XXX },
 25	 { .div = 0 }
 26};
 27
 28const struct clksel_rate gpt_sys_rates[] = {
 29	 { .div = 1, .val = 1, .flags = RATE_IN_24XX | RATE_IN_3XXX },
 30	 { .div = 0 }
 31};
 32
 33const struct clksel_rate gfx_l3_rates[] = {
 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 },
 38	{ .div = 0 }
 39};
 40
 41const 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};
 47
 48
 49/* clksel_rate blocks shared between OMAP44xx and AM33xx */
 50
 51const struct clksel_rate div_1_0_rates[] = {
 52	{ .div = 1, .val = 0, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
 53	{ .div = 0 },
 54};
 55
 56const 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
 63const struct clksel_rate div_1_1_rates[] = {
 64	{ .div = 1, .val = 1, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
 65	{ .div = 0 },
 66};
 67
 68const struct clksel_rate div_1_2_rates[] = {
 69	{ .div = 1, .val = 2, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
 70	{ .div = 0 },
 71};
 72
 73const struct clksel_rate div_1_3_rates[] = {
 74	{ .div = 1, .val = 3, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
 75	{ .div = 0 },
 76};
 77
 78const struct clksel_rate div_1_4_rates[] = {
 79	{ .div = 1, .val = 4, .flags = RATE_IN_4430 | RATE_IN_AM33XX },
 80	{ .div = 0 },
 81};
 82
 83const 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 */
119
120static struct clk_ops dummy_ck_ops = {};
121
122struct clk dummy_ck = {
123	.name = "dummy_clk",
124	.ops = &dummy_ck_ops,
125	.flags = CLK_IS_BASIC,
126};