diff options
| author | wdenk <wdenk> | 2003-08-28 09:41:22 +0000 | 
|---|---|---|
| committer | wdenk <wdenk> | 2003-08-28 09:41:22 +0000 | 
| commit | d94f92cbd7f4a4d3bf0d5d963b709c686e8f6633 (patch) | |
| tree | c85dd4a10c5a68ca09b9139c1b6428d55ada6451 /board/icecube/icecube.c | |
| parent | e0ac62d798ce60ec5d43125d4786e58b0d881836 (diff) | |
| download | olio-uboot-2014.01-d94f92cbd7f4a4d3bf0d5d963b709c686e8f6633.tar.xz olio-uboot-2014.01-d94f92cbd7f4a4d3bf0d5d963b709c686e8f6633.zip | |
* Fix ICU862 environment problem
* Fix RAM size detection for RMU board
* Implement "reset" for MGT5100/MPC5200 systems
Diffstat (limited to 'board/icecube/icecube.c')
| -rw-r--r-- | board/icecube/icecube.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/board/icecube/icecube.c b/board/icecube/icecube.c index 396ad2a4f..f75e67518 100644 --- a/board/icecube/icecube.c +++ b/board/icecube/icecube.c @@ -25,6 +25,7 @@  #include <mpc5xxx.h>  #include <pci.h> +#ifndef CFG_RAMBOOT  static long int dram_size(long int *base, long int maxsize)  {  	volatile long int *addr; @@ -86,11 +87,14 @@ static void sdram_start (int hi_addr)  	/* normal operation */  	*(vu_long *)MPC5XXX_SDRAM_CTRL = 0x504f0000 | hi_addr_bit;  } +#endif  long int initdram (int board_type)  { -	ulong test1, test2, dramsize = 0; +	ulong dramsize = 0;  #ifndef CFG_RAMBOOT +	ulong test1, test2; +  	/* configure SDRAM start/end */  #if defined(CONFIG_MPC5200)  	*(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0x0000001e;/* 2G at 0x0 */ @@ -133,8 +137,11 @@ long int initdram (int board_type)  #else  #ifdef CONFIG_MGT5100  	*(vu_long *)MPC5XXX_ADDECR |= (1 << 22); /* Enable SDRAM */ +	dramsize = ((*(vu_long *)MPC5XXX_SDRAM_STOP + 1) << 15); +#else +	dramsize = ((1 << (*(vu_long *)MPC5XXX_SDRAM_CS0CFG - 0x13)) << 20);  #endif -#endif +#endif /* CFG_RAMBOOT */  	/* return total ram size */  	return dramsize;  } |