summaryrefslogtreecommitdiffstats
path: root/lib_blackfin
diff options
context:
space:
mode:
authorAubrey Li <aubrey.adi@gmail.com>2007-04-05 18:33:04 +0800
committerAubrey Li <aubrey.adi@gmail.com>2007-04-05 18:33:04 +0800
commit7b7e30aa64bb6657a1bfd32fdbdbfeb561e6a48d (patch)
tree1c34a335d41275ab9124f472d1f632fbad239b34 /lib_blackfin
parent0445e3a264251d75b1be45ef713c70726a2952f0 (diff)
downloadu-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.c25
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;