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/rmu/rmu.c | |
parent | e0ac62d798ce60ec5d43125d4786e58b0d881836 (diff) | |
download | u-boot-imx-d94f92cbd7f4a4d3bf0d5d963b709c686e8f6633.zip u-boot-imx-d94f92cbd7f4a4d3bf0d5d963b709c686e8f6633.tar.gz u-boot-imx-d94f92cbd7f4a4d3bf0d5d963b709c686e8f6633.tar.bz2 |
* Fix ICU862 environment problem
* Fix RAM size detection for RMU board
* Implement "reset" for MGT5100/MPC5200 systems
Diffstat (limited to 'board/rmu/rmu.c')
-rw-r--r-- | board/rmu/rmu.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/board/rmu/rmu.c b/board/rmu/rmu.c index c9925d0..331fb98 100644 --- a/board/rmu/rmu.c +++ b/board/rmu/rmu.c @@ -96,7 +96,7 @@ long int initdram (int board_type) { volatile immap_t *immap = (immap_t *)CFG_IMMR; volatile memctl8xx_t *memctl = &immap->im_memctl; - long int size10 ; + long int size9 ; upmconfig(UPMA, (uint *)sdram_table, sizeof(sdram_table)/sizeof(uint)); @@ -109,7 +109,7 @@ long int initdram (int board_type) memctl->memc_or1 = CFG_OR1_PRELIM; memctl->memc_br1 = CFG_BR1_PRELIM; - memctl->memc_mamr = CFG_MAMR_10COL & (~(MAMR_PTAE)); /* no refresh yet */ + memctl->memc_mamr = CFG_MAMR_9COL & (~(MAMR_PTAE)); /* no refresh yet */ udelay(200); @@ -122,13 +122,20 @@ long int initdram (int board_type) udelay (1000); - /* Check Bank 0 Memory Size - * try 10 column mode + /* Check Bank 0 Memory Size, + * 9 column mode */ - size10 = dram_size (CFG_MAMR_10COL, (ulong *)SDRAM_BASE_PRELIM, SDRAM_MAX_SIZE) ; + size9 = dram_size (CFG_MAMR_9COL, (ulong *)SDRAM_BASE_PRELIM, SDRAM_MAX_SIZE) ; - return (size10); + /* + * Final mapping: + */ + + memctl->memc_or1 = ((-size9) & 0xFFFF0000) | CFG_OR_TIMING_SDRAM; + udelay (1000); + + return (size9); } /* ------------------------------------------------------------------------- */ |