[Blackfin] arch: take DDR DEVWD into consideration as well for BF548

Pointed-out-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
Michael Hennerich 2008-04-25 04:31:23 +08:00 committed by Bryan Wu
parent 5d750b9e4f
commit 1e78042c77
1 changed files with 13 additions and 6 deletions

View File

@ -680,13 +680,20 @@ static inline int __init get_mem_size(void)
return EBSZ_TO_MEG(bfin_read_EBIU_SDBCTL());
# endif
# elif defined(EBIU_DDRCTL1)
switch (bfin_read_EBIU_DDRCTL1() & 0xc0000) {
case DEVSZ_64: return 64 / 8;
case DEVSZ_128: return 128 / 8;
case DEVSZ_256: return 256 / 8;
case DEVSZ_512: return 512 / 8;
default: return 0;
u32 ddrctl = bfin_read_EBIU_DDRCTL1();
int ret = 0;
switch (ddrctl & 0xc0000) {
case DEVSZ_64: ret = 64 / 8;
case DEVSZ_128: ret = 128 / 8;
case DEVSZ_256: ret = 256 / 8;
case DEVSZ_512: ret = 512 / 8;
}
switch (ddrctl & 0x30000) {
case DEVWD_4: ret *= 2;
case DEVWD_8: ret *= 2;
case DEVWD_16: break;
}
return ret;
# endif
#endif
BUG();