[Blackfin][PATCH] Fix dynamic CPLB generation issue

This commit is contained in:
Aubrey Li
2007-04-05 18:33:04 +08:00
parent 0445e3a264
commit 7b7e30aa64
5 changed files with 23 additions and 906 deletions

View File

@@ -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;