2007-12-21 07:39:28 +03:00
/*
* Old U - boot compatibility for Taishan
*
* Author : Hugh Blemings < hugh @ au . ibm . com >
*
* Copyright 2007 Hugh Blemings , IBM Corporation .
* Based on cuboot - ebony . c which is :
* Copyright 2007 David Gibson , IBM Corporation .
* Based on cuboot - 83 xx . c , which is :
* Copyright ( c ) 2007 Freescale Semiconductor , Inc .
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation .
*/
# include "ops.h"
# include "stdio.h"
# include "cuboot.h"
# include "reg.h"
# include "dcr.h"
# include "4xx.h"
2008-02-26 17:58:53 +03:00
# define TARGET_4xx
2007-12-21 07:39:28 +03:00
# define TARGET_44x
2008-02-26 17:58:53 +03:00
# define TARGET_440GX
2007-12-21 07:39:28 +03:00
# include "ppcboot.h"
static bd_t bd ;
BSS_STACK ( 4096 ) ;
static void taishan_fixups ( void )
{
/* FIXME: sysclk should be derived by reading the FPGA
registers */
unsigned long sysclk = 33000000 ;
2007-12-21 07:39:33 +03:00
ibm440gx_fixup_clocks ( sysclk , 6 * 1843200 , 25000000 ) ;
2007-12-21 07:39:28 +03:00
2007-12-21 07:39:31 +03:00
ibm4xx_sdram_fixup_memsize ( ) ;
2007-12-21 07:39:28 +03:00
2008-02-26 03:43:20 +03:00
dt_fixup_mac_address_by_alias ( " ethernet0 " , bd . bi_enetaddr ) ;
dt_fixup_mac_address_by_alias ( " ethernet1 " , bd . bi_enet1addr ) ;
2007-12-21 07:39:28 +03:00
ibm4xx_fixup_ebc_ranges ( " /plb/opb/ebc " ) ;
}
void platform_init ( unsigned long r3 , unsigned long r4 , unsigned long r5 ,
unsigned long r6 , unsigned long r7 )
{
CUBOOT_INIT ( ) ;
platform_ops . fixups = taishan_fixups ;
fdt_init ( _dtb_start ) ;
serial_console_init ( ) ;
}