#include <linux/squashfs_fs.h>
#include <linux/jffs2.h>
#include <linux/crc32.h>
#include <linux/squashfs_fs.h>
#include <linux/jffs2.h>
#include <linux/crc32.h>
#include <linux/ssb/ssb.h>
#include <linux/ssb/ssb.h>
#define WINDOW_SIZE 0x400000
#define BUSWIDTH 2
#define WINDOW_SIZE 0x400000
#define BUSWIDTH 2
extern struct ssb_bus ssb;
extern struct ssb_bus ssb;
static struct mtd_info *bcm947xx_mtd;
static struct map_info bcm947xx_map = {
static struct mtd_info *bcm947xx_mtd;
static struct map_info bcm947xx_map = {
int __init init_bcm947xx_map(void)
{
int __init init_bcm947xx_map(void)
{
struct ssb_mipscore *mcore = &ssb.mipscore;
struct ssb_mipscore *mcore = &ssb.mipscore;
size_t size;
int ret = 0;
#ifdef CONFIG_MTD_PARTITIONS
struct mtd_partition *parts;
int i;
#endif
size_t size;
int ret = 0;
#ifdef CONFIG_MTD_PARTITIONS
struct mtd_partition *parts;
int i;
#endif
u32 window = mcore->flash_window;
u32 window_size = mcore->flash_window_size;
u32 window = mcore->flash_window;
u32 window_size = mcore->flash_window_size;
bcm947xx_map.phys = window;
bcm947xx_map.size = window_size;
bcm947xx_map.virt = ioremap_nocache(window, window_size);
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");
if (!bcm947xx_map.virt) {
printk("Failed to ioremap\n");