5ebadc66794320fa94b84307b71fc6984906fcd9
[openwrt/svn-archive/archive.git] / target / linux / brcm63xx / files / arch / mips / bcm963xx / prom.c
1 /*
2 Copyright 2004 Broadcom Corp. All Rights Reserved.
3 Copyright 2007 OpenWrt,org, Florian Fainelli <florian@openwrt.org>
4
5 This program is free software; you can distribute it and/or modify it
6 under the terms of the GNU General Public License (Version 2) as
7 published by the Free Software Foundation.
8
9 This program is distributed in the hope it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 for more details.
13
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
17 */
18 /*
19 * prom.c: PROM library initialization code.
20 *
21 */
22 #include <linux/init.h>
23 #include <linux/mm.h>
24 #include <linux/sched.h>
25 #include <linux/bootmem.h>
26 #include <linux/blkdev.h>
27
28 #include <asm/addrspace.h>
29 #include <asm/bootinfo.h>
30 #include <asm/cpu.h>
31 #include <asm/time.h>
32 #include <asm/mach-bcm963xx/bootloaders.h>
33 #include <asm/mach-bcm963xx/6348_map_part.h>
34
35 #include "../cfe/cfe_private.h"
36
37 extern void __init detect_bootloader(void);
38 extern void serial_init(void);
39 extern int boot_loader_type;
40
41 #define MACH_BCM MACH_BCM96348
42
43 const char *get_system_type(void)
44 {
45 return "Broadcom BCM963xx";
46 }
47
48 void __init prom_init(void)
49 {
50 serial_init();
51
52 printk("%s prom init\n", get_system_type() );
53
54 PERF->IrqMask = 0;
55
56 /* Detect the bootloader */
57 detect_bootloader();
58
59 /* Register 16MB RAM minus the ADSL SDRAM by default */
60 add_memory_region(0, (0x01000000 - ADSL_SDRAM_IMAGE_SIZE), BOOT_MEM_RAM);
61
62 }
63
64 void __init prom_free_prom_memory(void)
65 {
66 /* We do not have any memory to free */
67 }