ARM: tegra: Special-case the 3D clamps on Tegra124
[deliverable/linux.git] / include / linux / tegra-powergate.h
CommitLineData
ce1e3262 1/*
ce1e3262
CC
2 * Copyright (c) 2010 Google, Inc
3 *
4 * Author:
5 * Colin Cross <ccross@google.com>
6 *
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.
10 *
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.
15 *
16 */
17
18#ifndef _MACH_TEGRA_POWERGATE_H_
19#define _MACH_TEGRA_POWERGATE_H_
20
a25186eb 21struct clk;
80b28791 22struct reset_control;
a25186eb 23
ce1e3262
CC
24#define TEGRA_POWERGATE_CPU 0
25#define TEGRA_POWERGATE_3D 1
26#define TEGRA_POWERGATE_VENC 2
27#define TEGRA_POWERGATE_PCIE 3
28#define TEGRA_POWERGATE_VDEC 4
29#define TEGRA_POWERGATE_L2 5
30#define TEGRA_POWERGATE_MPE 6
6cafa97d
PDS
31#define TEGRA_POWERGATE_HEG 7
32#define TEGRA_POWERGATE_SATA 8
33#define TEGRA_POWERGATE_CPU1 9
34#define TEGRA_POWERGATE_CPU2 10
35#define TEGRA_POWERGATE_CPU3 11
36#define TEGRA_POWERGATE_CELP 12
37#define TEGRA_POWERGATE_3D1 13
bd6a9ddc
TR
38#define TEGRA_POWERGATE_CPU0 14
39#define TEGRA_POWERGATE_C0NC 15
40#define TEGRA_POWERGATE_C1NC 16
9a716579 41#define TEGRA_POWERGATE_SOR 17
bd6a9ddc
TR
42#define TEGRA_POWERGATE_DIS 18
43#define TEGRA_POWERGATE_DISB 19
44#define TEGRA_POWERGATE_XUSBA 20
45#define TEGRA_POWERGATE_XUSBB 21
46#define TEGRA_POWERGATE_XUSBC 22
9a716579
TR
47#define TEGRA_POWERGATE_VIC 23
48#define TEGRA_POWERGATE_IRAM 24
6cafa97d 49
6cafa97d 50#define TEGRA_POWERGATE_3D0 TEGRA_POWERGATE_3D
ce1e3262 51
9886e1fd 52#ifdef CONFIG_ARCH_TEGRA
6ac8cb5c 53int tegra_powergate_is_powered(int id);
ce1e3262
CC
54int tegra_powergate_power_on(int id);
55int tegra_powergate_power_off(int id);
ce1e3262
CC
56int tegra_powergate_remove_clamping(int id);
57
58/* Must be called with clk disabled, and returns with clk enabled */
80b28791
SW
59int tegra_powergate_sequence_power_up(int id, struct clk *clk,
60 struct reset_control *rst);
9886e1fd
TR
61#else
62static inline int tegra_powergate_is_powered(int id)
63{
64 return -ENOSYS;
65}
66
67static inline int tegra_powergate_power_on(int id)
68{
69 return -ENOSYS;
70}
71
72static inline int tegra_powergate_power_off(int id)
73{
74 return -ENOSYS;
75}
76
77static inline int tegra_powergate_remove_clamping(int id)
78{
79 return -ENOSYS;
80}
81
80b28791
SW
82static inline int tegra_powergate_sequence_power_up(int id, struct clk *clk,
83 struct reset_control *rst);
9886e1fd
TR
84{
85 return -ENOSYS;
86}
87#endif
ce1e3262
CC
88
89#endif /* _MACH_TEGRA_POWERGATE_H_ */
This page took 0.202304 seconds and 5 git commands to generate.