diff options
author | Aubrey Li <aubrey.adi@gmail.com> | 2007-04-05 18:33:04 +0800 |
---|---|---|
committer | Aubrey Li <aubrey.adi@gmail.com> | 2007-04-05 18:33:04 +0800 |
commit | 7b7e30aa64bb6657a1bfd32fdbdbfeb561e6a48d (patch) | |
tree | 1c34a335d41275ab9124f472d1f632fbad239b34 /lib_blackfin | |
parent | 0445e3a264251d75b1be45ef713c70726a2952f0 (diff) | |
download | u-boot-7b7e30aa64bb6657a1bfd32fdbdbfeb561e6a48d.tar.gz u-boot-7b7e30aa64bb6657a1bfd32fdbdbfeb561e6a48d.tar.xz u-boot-7b7e30aa64bb6657a1bfd32fdbdbfeb561e6a48d.zip |
[Blackfin][PATCH] Fix dynamic CPLB generation issue
Diffstat (limited to 'lib_blackfin')
-rw-r--r-- | lib_blackfin/board.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c index 554fae6a3e..1538da3f29 100644 --- a/lib_blackfin/board.c +++ b/lib_blackfin/board.c @@ -182,7 +182,7 @@ void init_cplbtables(void) icplb_table[j][1] = L1_IMEMORY; j++; - for (i = 0; i <= CONFIG_MEM_SIZE / 4; i++) { + for (i = 0; i < CONFIG_MEM_SIZE / 4; i++) { icplb_table[j][0] = (i * 4 * 1024 * 1024); if (i * 4 * 1024 * 1024 <= CFG_MONITOR_BASE && (i + 1) * 4 * 1024 * 1024 >= CFG_MONITOR_BASE) { @@ -193,14 +193,19 @@ void init_cplbtables(void) j++; } #if defined(CONFIG_BF561) + /* MAC space */ + icplb_table[j][0] = 0x2C000000; + icplb_table[j][1] = SDRAM_INON_CHBL; + j++; /* Async Memory space */ for (i = 0; i < 3; i++) { - icplb_table[j++][0] = 0x20000000 + i * 4 * 1024 * 1024; - icplb_table[j++][1] = SDRAM_IGENERIC; + icplb_table[j][0] = 0x20000000 + i * 4 * 1024 * 1024; + icplb_table[j][1] = SDRAM_INON_CHBL; + j++; } #else icplb_table[j][0] = 0x20000000; - icplb_table[j][1] = SDRAM_IGENERIC; + icplb_table[j][1] = SDRAM_INON_CHBL; #endif j = 0; dcplb_table[j][0] = 0xFF800000; @@ -220,13 +225,15 @@ void init_cplbtables(void) #if defined(CONFIG_BF561) /* MAC space */ - dcplb_table[j++][0] = CONFIG_ASYNC_EBIU_BASE; - dcplb_table[j++][1] = SDRAM_EBIU; + dcplb_table[j][0] = 0x2C000000; + dcplb_table[j][1] = SDRAM_EBIU; + j++; /* Flash space */ - for (i = 0; i < 2; i++) { - dcplb_table[j++][0] = 0x20000000 + i * 4 * 1024 * 1024; - dcplb_table[j++][1] = SDRAM_EBIU; + for (i = 0; i < 3; i++) { + dcplb_table[j][0] = 0x20000000 + i * 4 * 1024 * 1024; + dcplb_table[j][1] = SDRAM_EBIU; + j++; } #else dcplb_table[j][0] = 0x20000000; |