diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c index 01af43281bc7d171fdde7f78e1ec01714bd2b8c6..7adab180e0ca61e32f6e4e811d09f041ddd1a4ee 100644 --- a/arch/mips/ath79/setup.c +++ b/arch/mips/ath79/setup.c @@ -207,18 +207,20 @@ void __init plat_mem_setup(void) else if (fw_arg0 == -2) __dt_setup_arch((void *)KSEG0ADDR(fw_arg1)); - ath79_reset_base = ioremap_nocache(AR71XX_RESET_BASE, - AR71XX_RESET_SIZE); - ath79_pll_base = ioremap_nocache(AR71XX_PLL_BASE, - AR71XX_PLL_SIZE); - ath79_detect_sys_type(); - ath79_ddr_ctrl_init(); - if (mips_machtype != ATH79_MACH_GENERIC_OF) { + ath79_reset_base = ioremap_nocache(AR71XX_RESET_BASE, + AR71XX_RESET_SIZE); + ath79_pll_base = ioremap_nocache(AR71XX_PLL_BASE, + AR71XX_PLL_SIZE); + ath79_detect_sys_type(); + ath79_ddr_ctrl_init(); + detect_memory_region(0, ATH79_MEM_SIZE_MIN, ATH79_MEM_SIZE_MAX); + /* OF machines should use the reset driver */ _machine_restart = ath79_restart; } + _machine_halt = ath79_halt; pm_power_off = ath79_halt; }