3 * Copyright (C) 2010 Google, Inc.
6 * Colin Cross <ccross@google.com>
8 * This software is licensed under the terms of the GNU General Public
9 * License version 2, as published by the Free Software Foundation, and
10 * may be copied, distributed, and modified under those terms.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
19 #ifndef _TEGRA_DVFS_H_
20 #define _TEGRA_DVFS_H_
22 #define MAX_DVFS_FREQS 16
27 /* Used only by tegra2_clock.c */
32 /* Must be initialized before tegra_dvfs_init */
35 unsigned long freqs[MAX_DVFS_FREQS];
36 unsigned long millivolts[MAX_DVFS_FREQS];
40 /* Filled in by tegra_dvfs_init */
43 struct dvfs_reg *dvfs_reg;
46 unsigned long cur_rate;
47 struct list_head node;
48 struct list_head debug_node;
49 struct list_head reg_node;
52 void tegra2_init_dvfs(void);
53 int tegra_enable_dvfs_on_clk(struct clk *c, struct dvfs *d);
54 int dvfs_debugfs_init(struct dentry *clk_debugfs_root);
55 int tegra_dvfs_late_init(void);