ARM: AM43XX: Call hw_data_init() again after relocation to update *ctrl
authorFaiz Abbas <faiz_abbas@ti.com>
Fri, 19 Jan 2018 10:02:48 +0000 (15:32 +0530)
committerTom Rini <trini@konsulko.com>
Sun, 28 Jan 2018 14:39:15 +0000 (09:39 -0500)
hw_data_init() is called before relocation to initialise hardware data.
Since ctrl is initialized to OMAP_SRAM_SCRATCH_SYS_CTRL in
arch/arm/mach-omap2/am33xx/hw_data.c, the pointer *ctrl will not be
updated during relocation and will hold a stale value.

Therefore call hw_data_init() again after relocation to
reinitialize *ctrl.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
board/ti/am43xx/board.c

index 2c417e75459c7741123bddc6d4f493bb4990f776..16150ad30a21155de8e9cc39399d9665beae125a 100644 (file)
@@ -580,6 +580,11 @@ int board_init(void)
        gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
        gpmc_init();
 
+       /*
+        * Call this to initialize *ctrl again
+        */
+       hw_data_init();
+
        /* Clear all important bits for DSS errata that may need to be tweaked*/
        mreqprio_0 = readl(&cdev->mreqprio_0) & MREQPRIO_0_SAB_INIT1_MASK &
                           MREQPRIO_0_SAB_INIT0_MASK;