Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[linux-2.6.git] / include / linux / tegra-powergate.h
blobfd4498329c7c509b3614ad820c7c717d976afa2f
1 /*
2 * Copyright (c) 2010 Google, Inc
4 * Author:
5 * Colin Cross <ccross@google.com>
7 * This software is licensed under the terms of the GNU General Public
8 * License version 2, as published by the Free Software Foundation, and
9 * may be copied, distributed, and modified under those terms.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
18 #ifndef _MACH_TEGRA_POWERGATE_H_
19 #define _MACH_TEGRA_POWERGATE_H_
21 struct clk;
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 #define TEGRA_POWERGATE_CPU0 14
38 #define TEGRA_POWERGATE_C0NC 15
39 #define TEGRA_POWERGATE_C1NC 16
40 #define TEGRA_POWERGATE_DIS 18
41 #define TEGRA_POWERGATE_DISB 19
42 #define TEGRA_POWERGATE_XUSBA 20
43 #define TEGRA_POWERGATE_XUSBB 21
44 #define TEGRA_POWERGATE_XUSBC 22
46 #define TEGRA_POWERGATE_3D0 TEGRA_POWERGATE_3D
48 #ifdef CONFIG_ARCH_TEGRA
49 int tegra_powergate_is_powered(int id);
50 int tegra_powergate_power_on(int id);
51 int tegra_powergate_power_off(int id);
52 int tegra_powergate_remove_clamping(int id);
54 /* Must be called with clk disabled, and returns with clk enabled */
55 int tegra_powergate_sequence_power_up(int id, struct clk *clk);
56 #else
57 static inline int tegra_powergate_is_powered(int id)
59 return -ENOSYS;
62 static inline int tegra_powergate_power_on(int id)
64 return -ENOSYS;
67 static inline int tegra_powergate_power_off(int id)
69 return -ENOSYS;
72 static inline int tegra_powergate_remove_clamping(int id)
74 return -ENOSYS;
77 static inline int tegra_powergate_sequence_power_up(int id, struct clk *clk)
79 return -ENOSYS;
81 #endif
83 #endif /* _MACH_TEGRA_POWERGATE_H_ */