powergate.h revision 6cafa97d3ca6a480dc39e20bb2d12ec2c5ca025e
1/*
2 * drivers/regulator/tegra-regulator.c
3 *
4 * Copyright (c) 2010 Google, Inc
5 *
6 * Author:
7 *	Colin Cross <ccross@google.com>
8 *
9 * This software is licensed under the terms of the GNU General Public
10 * License version 2, as published by the Free Software Foundation, and
11 * may be copied, distributed, and modified under those terms.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 * GNU General Public License for more details.
17 *
18 */
19
20#ifndef _MACH_TEGRA_POWERGATE_H_
21#define _MACH_TEGRA_POWERGATE_H_
22
23#define TEGRA_POWERGATE_CPU	0
24#define TEGRA_POWERGATE_3D	1
25#define TEGRA_POWERGATE_VENC	2
26#define TEGRA_POWERGATE_PCIE	3
27#define TEGRA_POWERGATE_VDEC	4
28#define TEGRA_POWERGATE_L2	5
29#define TEGRA_POWERGATE_MPE	6
30#define TEGRA_POWERGATE_HEG	7
31#define TEGRA_POWERGATE_SATA	8
32#define TEGRA_POWERGATE_CPU1	9
33#define TEGRA_POWERGATE_CPU2	10
34#define TEGRA_POWERGATE_CPU3	11
35#define TEGRA_POWERGATE_CELP	12
36#define TEGRA_POWERGATE_3D1	13
37
38#define TEGRA_POWERGATE_CPU0	TEGRA_POWERGATE_CPU
39#define TEGRA_POWERGATE_3D0	TEGRA_POWERGATE_3D
40
41int tegra_powergate_is_powered(int id);
42int tegra_powergate_power_on(int id);
43int tegra_powergate_power_off(int id);
44int tegra_powergate_remove_clamping(int id);
45
46/* Must be called with clk disabled, and returns with clk enabled */
47int tegra_powergate_sequence_power_up(int id, struct clk *clk);
48
49#endif /* _MACH_TEGRA_POWERGATE_H_ */
50