ARM: tegra: Rearrange subsystem initialization order
authorColin Cross <ccross@android.com>
Wed, 24 Nov 2010 22:52:02 +0000 (14:52 -0800)
committerColin Cross <ccross@android.com>
Thu, 25 Nov 2010 05:49:11 +0000 (21:49 -0800)
Fuses must be initialized before clocks, so clocks can
determine the maximum cpu frequency.  Clocks must be
initialized before DMA, so DMA can enable the clock.
Once DMA is initialized, all fuses accesses must go
through DMA to avoid a hardware bug.

Change-Id: Id1f58e4f43152ec19000e02f2d1ea45abf141f9c
Signed-off-by: Colin Cross <ccross@android.com>
arch/arm/mach-tegra/common.c

index f98189c89d0469ecd16ed4869e6823e49b832023..a4b72dca230387f68507e1900eff326c6fd8910f 100644 (file)
@@ -134,14 +134,13 @@ static void tegra_pm_restart(char mode, const char *cmd)
 void __init tegra_common_init(void)
 {
        arm_pm_restart = tegra_pm_restart;
-#ifdef CONFIG_TEGRA_SYSTEM_DMA
-       tegra_dma_init();
-#endif
        tegra_init_fuse();
        tegra_init_clock();
        tegra_clk_init_from_table(common_clk_init_table);
        tegra_init_power();
        tegra_init_cache();
+       tegra_dma_init();
+       tegra_init_fuse_dma();
 }
 
 static int __init tegra_bootloader_fb_arg(char *options)