diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c b/target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c index 50fff896f..bc8d88737 100644 --- a/target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c +++ b/target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c @@ -49,7 +49,9 @@ #include <linux/squashfs_fs.h> #include <linux/jffs2.h> #include <linux/crc32.h> +#ifdef CONFIG_SSB #include <linux/ssb/ssb.h> +#endif #include <asm/io.h> @@ -74,7 +76,9 @@ struct trx_header { #define WINDOW_SIZE 0x400000 #define BUSWIDTH 2 +#ifdef CONFIG_SSB extern struct ssb_bus ssb; +#endif static struct mtd_info *bcm947xx_mtd; static struct map_info bcm947xx_map = { @@ -385,13 +389,17 @@ init_mtd_partitions(struct mtd_info *mtd, size_t size) int __init init_bcm947xx_map(void) { +#ifdef CONFIG_SSB struct ssb_mipscore *mcore = &ssb.mipscore; +#endif size_t size; int ret = 0; #ifdef CONFIG_MTD_PARTITIONS struct mtd_partition *parts; int i; #endif + +#ifdef CONFIG_SSB u32 window = mcore->flash_window; u32 window_size = mcore->flash_window_size; @@ -399,6 +407,10 @@ int __init init_bcm947xx_map(void) bcm947xx_map.phys = window; bcm947xx_map.size = window_size; bcm947xx_map.virt = ioremap_nocache(window, window_size); +#else + printk("flash init: 0x%08x 0x%08x\n", WINDOW_ADDR, WINDOW_SIZE); + bcm947xx_map.virt = ioremap_nocache(WINDOW_ADDR, WINDOW_SIZE); +#endif if (!bcm947xx_map.virt) { printk("Failed to ioremap\n"); |