summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen Martin <amartin@nvidia.com>2012-08-31 08:30:11 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-09-01 14:58:22 +0200
commita49716aa7cda96f5e8cd15e57587da7a99f9e330 (patch)
treea50f2aee0174a09a34e5a799797ac56cc38afc9b
parent984df4ec92aa05117e34bda7b937ec75ef80afc8 (diff)
downloadu-boot-imx-a49716aa7cda96f5e8cd15e57587da7a99f9e330.zip
u-boot-imx-a49716aa7cda96f5e8cd15e57587da7a99f9e330.tar.gz
u-boot-imx-a49716aa7cda96f5e8cd15e57587da7a99f9e330.tar.bz2
tegra20: move SDRAM param save to later in boot
Move warmboot_save_sdram_params() to later in the boot sequence. This code relies on devicetree to get the address of the memory controller and with upcoming changes for SPL boot it gets called early in the boot process when devicetree is not initialized yet. Signed-off-by: Allen Martin <amartin@nvidia.com> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Tested-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Tom Warren <twarren@nvidia.com>
-rw-r--r--arch/arm/cpu/tegra20-common/ap20.c5
-rw-r--r--board/nvidia/common/board.c3
2 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/cpu/tegra20-common/ap20.c b/arch/arm/cpu/tegra20-common/ap20.c
index 8b6afbc..6ff71e0 100644
--- a/arch/arm/cpu/tegra20-common/ap20.c
+++ b/arch/arm/cpu/tegra20-common/ap20.c
@@ -345,11 +345,6 @@ void init_pmc_scratch(void)
/* ODMDATA is for kernel use to determine RAM size, LP config, etc. */
odmdata = get_odmdata();
writel(odmdata, &pmc->pmc_scratch20);
-
-#ifdef CONFIG_TEGRA20_LP0
- /* save Sdram params to PMC 2, 4, and 24 for WB0 */
- warmboot_save_sdram_params();
-#endif
}
void tegra20_start(void)
diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c
index 6753f95..7ab2040 100644
--- a/board/nvidia/common/board.c
+++ b/board/nvidia/common/board.c
@@ -133,6 +133,9 @@ int board_init(void)
#endif
#ifdef CONFIG_TEGRA20_LP0
+ /* save Sdram params to PMC 2, 4, and 24 for WB0 */
+ warmboot_save_sdram_params();
+
/* prepare the WB code to LP0 location */
warmboot_prepare_code(TEGRA_LP0_ADDR, TEGRA_LP0_SIZE);
#endif