--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -679,7 +679,6 @@ static void __init arch_mem_init(char **
 				crashk_res.end - crashk_res.start + 1,
 				BOOTMEM_DEFAULT);
 #endif
-	device_tree_init();
 	sparse_init();
 	plat_swiotlb_setup();
 	paging_init();
@@ -788,6 +787,7 @@ void __init setup_arch(char **cmdline_p)
 	prefill_possible_map();
 
 	cpu_cache_init();
+	device_tree_init();
 }
 
 unsigned long kernelsp[NR_CPUS];
