summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/powergate-ops-txx.h
diff options
context:
space:
mode:
authorMayuresh Kulkarni <mkulkarni@nvidia.com>2012-11-16 19:28:17 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:49:30 -0700
commitf3d71c369c0c86088abf3d89bc588ed4d196a859 (patch)
treea5b6faf512d81939bbfe147e1368b3d9b111ae61 /arch/arm/mach-tegra/powergate-ops-txx.h
parent40e6d10a2e1a50f706404775811b3d884fe1ca36 (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.h31
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__ */