ARM: tegra: power: Powergate PCIE and SATA partitions on tegra 3
Karan Jhavar [Thu, 9 Jun 2011 21:50:35 +0000 (14:50 -0700)]
By defalut PCIE and SATA partitions are powergated. If needed,
respective drivers should un-powergate these partitions. Also
3D,3D1 and MPE are not powergated at startup.

Original-Change-Id: Ibc74868eb59af7c0e8b5a1ecd78e6f993dd5d3a6
Reviewed-on: http://git-master/r/35955
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>

Rebase-Id: Ra55d87d7d816d7cf0bea0d28e7865fa7760f869f

arch/arm/mach-tegra/common.c
arch/arm/mach-tegra/powergate.c

index ec350ed..c33ee70 100644 (file)
@@ -176,15 +176,10 @@ void tegra_init_cache(u32 tag_latency, u32 data_latency)
 
 static void __init tegra_init_power(void)
 {
-       tegra_powergate_partition_with_clk_off(TEGRA_POWERGATE_MPE);
-       tegra_powergate_partition_with_clk_off(TEGRA_POWERGATE_3D);
 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
-       tegra_powergate_partition_with_clk_off(TEGRA_POWERGATE_3D1);
+        tegra_powergate_partition_with_clk_off(TEGRA_POWERGATE_SATA);
 #endif
-#ifdef CONFIG_ARCH_TEGRA_2x_SOC
-       /* for TEGRA_3x_SOC it will be handled seperately */
        tegra_powergate_partition_with_clk_off(TEGRA_POWERGATE_PCIE);
-#endif
 }
 
 static inline unsigned long gizmo_readl(unsigned long offset)
index 0c5760c..214a7f7 100644 (file)
@@ -549,13 +549,10 @@ int tegra_powergate_partition_with_clk_off(int id)
 
 #ifndef CONFIG_ARCH_TEGRA_2x_SOC
        /* Restrict functions use to selected partitions */
-       BUG_ON(id != TEGRA_POWERGATE_PCIE && id != TEGRA_POWERGATE_SATA &&
-               id != TEGRA_POWERGATE_3D && id != TEGRA_POWERGATE_3D1 &&
-               id != TEGRA_POWERGATE_MPE);
+       BUG_ON(id != TEGRA_POWERGATE_PCIE && id != TEGRA_POWERGATE_SATA);
 #else
        /* Restrict functions use to selected partitions */
-       BUG_ON(id != TEGRA_POWERGATE_PCIE && id != TEGRA_POWERGATE_MPE &&
-               id != TEGRA_POWERGATE_3D);
+       BUG_ON(id != TEGRA_POWERGATE_PCIE);
 #endif
        /* Disable clks for the partition */
        partition_clk_disable(id);