diff options
author | Mayuresh Kulkarni <mkulkarni@nvidia.com> | 2012-11-16 19:28:17 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 12:49:30 -0700 |
commit | f3d71c369c0c86088abf3d89bc588ed4d196a859 (patch) | |
tree | a5b6faf512d81939bbfe147e1368b3d9b111ae61 /arch/arm/mach-tegra/powergate-ops-txx.h | |
parent | 40e6d10a2e1a50f706404775811b3d884fe1ca36 (diff) |
arm: tegra: refactor powergate code per-SoC
- split the current power-gate code into common and
SoC specific code
- every SoC now exports a set of ops to the common APIs
- following is the new file structure:
powergate.c - common powergate APIs
powergate-ops-txx.c - t20/t30 specific common implementation
powergate-ops-t1xx.c - t114 specific common implementation.
this will also take care of t148 and t124 (in future)
powergate-t20 - t20 specific structures and ids
powergate-t30 - t30 specific strcutures and ids
powergate-t11x - t11x specific structures and ids
powergate-t14x - t14x specific structures and ids (stub in
this commit. it will be populated in a separate commit
as a part of bug 1190194)
- powergate.c also provides a low level common APIs
for all SoCs
- each SoC now has 2 arrays: 1 for power partition info
and other for mc client list info. amongst these 2 arrays,
mc client list array is static
Bug 1180197
Change-Id: I62b2d894c683fe9a18b82c7f9d87c08ce5b3864f
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-on: http://git-master/r/145591
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'arch/arm/mach-tegra/powergate-ops-txx.h')
-rw-r--r-- | arch/arm/mach-tegra/powergate-ops-txx.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/powergate-ops-txx.h b/arch/arm/mach-tegra/powergate-ops-txx.h new file mode 100644 index 000000000000..7acbd06efed4 --- /dev/null +++ b/arch/arm/mach-tegra/powergate-ops-txx.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef __POWERGATE_OPS_TXX_H__ +#define __POWERGATE_OPS_TXX_H__ + +/* Common APIs for tegra2 and tegra3 SoCs */ +int tegraxx_powergate_partition(int id, + struct powergate_partition_info *pg_info); + +int tegraxx_unpowergate_partition(int id, + struct powergate_partition_info *pg_info); + +int tegraxx_powergate_partition_with_clk_off(int id, + struct powergate_partition_info *pg_info); + +int tegraxx_unpowergate_partition_with_clk_on(int id, + struct powergate_partition_info *pg_info); + +#endif /* __POWERGATE_OPS_TXX_H__ */ |