You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.4 KiB
56 lines
1.4 KiB
/* |
|
* Copyright 2010 Ben. Herrenschmidt, IBM Corporation. |
|
* |
|
* Based on earlier code: |
|
* Copyright (C) Paul Mackerras 1997. |
|
* |
|
* Matt Porter <mporter@kernel.crashing.org> |
|
* Copyright 2002-2005 MontaVista Software Inc. |
|
* |
|
* Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> |
|
* Copyright (c) 2003, 2004 Zultys Technologies |
|
* |
|
* Copyright 2007 David Gibson, IBM Corporation. |
|
* |
|
* This program is free software; you can redistribute it and/or |
|
* modify it under the terms of the GNU General Public License |
|
* as published by the Free Software Foundation; either version |
|
* 2 of the License, or (at your option) any later version. |
|
*/ |
|
#include <stdarg.h> |
|
#include <stddef.h> |
|
#include "types.h" |
|
#include "elf.h" |
|
#include "string.h" |
|
#include "stdio.h" |
|
#include "page.h" |
|
#include "ops.h" |
|
#include "reg.h" |
|
#include "io.h" |
|
#include "dcr.h" |
|
#include "4xx.h" |
|
#include "44x.h" |
|
#include "libfdt.h" |
|
|
|
BSS_STACK(4096); |
|
|
|
static void iss_4xx_fixups(void) |
|
{ |
|
ibm4xx_sdram_fixup_memsize(); |
|
} |
|
|
|
#define SPRN_PIR 0x11E /* Processor Indentification Register */ |
|
void platform_init(void) |
|
{ |
|
unsigned long end_of_ram = 0x08000000; |
|
unsigned long avail_ram = end_of_ram - (unsigned long)_end; |
|
u32 pir_reg; |
|
|
|
simple_alloc_init(_end, avail_ram, 128, 64); |
|
platform_ops.fixups = iss_4xx_fixups; |
|
platform_ops.exit = ibm44x_dbcr_reset; |
|
pir_reg = mfspr(SPRN_PIR); |
|
fdt_set_boot_cpuid_phys(_dtb_start, pir_reg); |
|
fdt_init(_dtb_start); |
|
serial_console_init(); |
|
}
|
|
|