1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. 7 */ 8#include <linux/init.h> 9#include <linux/of_platform.h> 10#include <linux/of_fdt.h> 11#include <linux/bootmem.h> 12 13#include <asm/mips-boards/generic.h> 14 15const char *get_system_type(void) 16{ 17 return "MIPS SEAD3"; 18} 19 20void __init plat_mem_setup(void) 21{ 22 /* 23 * Load the builtin devicetree. This causes the chosen node to be 24 * parsed resulting in our memory appearing 25 */ 26 __dt_setup_arch(&__dtb_start); 27} 28 29void __init device_tree_init(void) 30{ 31 unsigned long base, size; 32 33 if (!initial_boot_params) 34 return; 35 36 base = virt_to_phys((void *)initial_boot_params); 37 size = be32_to_cpu(initial_boot_params->totalsize); 38 39 /* Before we do anything, lets reserve the dt blob */ 40 reserve_bootmem(base, size, BOOTMEM_DEFAULT); 41 42 unflatten_device_tree(); 43} 44