ARM: tegra12: set CPU rate to 2.2GHz for sku 0x87
[linux-3.10.git] / arch / arm / mach-tegra / include / mach / pm_domains.h
1 /*
2  * arch/arm/mach-tegra/include/mach/pm_domains.h
3  *
4  * Copyright (c) 2012-2013, NVIDIA CORPORATION.  All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18  */
19
20 #ifndef _MACH_TEGRA_PM_DOMAINS_H_
21 #define _MACH_TEGRA_PM_DOMAINS_H_
22
23 #include <linux/clk.h>
24 #include <linux/pm_domain.h>
25
26 struct tegra_pm_domain {
27         struct generic_pm_domain gpd;
28         struct clk *clk;
29 };
30
31 #define to_tegra_pd(_pd) container_of(_pd, struct tegra_pm_domain, gpd);
32
33 int tegra_dma_restore(void);
34 int tegra_dma_save(void);
35 int tegra_actmon_save(void);
36 int tegra_actmon_restore(void);
37
38 #ifdef CONFIG_TEGRA_MC_DOMAINS
39 void tegra_pd_add_device(struct device *dev);
40 void tegra_pd_remove_device(struct device *dev);
41 void tegra_pd_add_sd(struct generic_pm_domain *sd);
42 #else
43 #define tegra_pd_add_device(dev) do { } while (0)
44 #define tegra_pd_remove_device(dev) do { } while (0)
45 #define tegra_pd_add_sd(sd) do { } while (0)
46 #endif /* CONFIG_TEGRA_MC_DOMAINS */
47
48 #endif /* _MACH_TEGRA_PM_DOMAINS_H_ */