diff options
Diffstat (limited to 'target/linux/adm5120/files/drivers')
-rw-r--r-- | target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c b/target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c index 0a2590e60..7a55396e7 100644 --- a/target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c +++ b/target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c @@ -41,10 +41,10 @@ #include <asm/io.h> -#include <asm/mach-adm5120/adm5120_defs.h> -#include <asm/mach-adm5120/adm5120_switch.h> -#include <asm/mach-adm5120/adm5120_mpmc.h> -#include <asm/mach-adm5120/adm5120_platform.h> +#include <adm5120_defs.h> +#include <adm5120_switch.h> +#include <adm5120_mpmc.h> +#include <adm5120_platform.h> #define DRV_NAME "adm5120-flash" #define DRV_DESC "ADM5120 flash MAP driver" @@ -78,7 +78,6 @@ struct adm5120_flash_info { struct flash_desc { u32 phys; u32 srs_shift; - u32 mpmc_reg; }; /* @@ -98,11 +97,9 @@ static u32 flash_sizes[8] = { static struct flash_desc flash_descs[2] = { { .phys = ADM5120_SRAM0_BASE, - .mpmc_reg = MPMC_REG_SC1, .srs_shift = MEMCTRL_SRS0_SHIFT, }, { .phys = ADM5120_SRAM1_BASE, - .mpmc_reg = MPMC_REG_SC0, .srs_shift = MEMCTRL_SRS1_SHIFT, } }; @@ -242,11 +239,6 @@ out: return err; } -#define SWITCH_READ(r) *(u32 *)(KSEG1ADDR(ADM5120_SWITCH_BASE)+(r)) -#define SWITCH_WRITE(r,v) *(u32 *)(KSEG1ADDR(ADM5120_SWITCH_BASE)+(r))=(v) -#define MPMC_READ(r) *(u32 *)(KSEG1ADDR(ADM5120_MPMC_BASE)+(r)) -#define MPMC_WRITE(r,v) *(u32 *)(KSEG1ADDR(ADM5120_MPMC_BASE)+(r))=(v) - static int adm5120_flash_initinfo(struct adm5120_flash_info *info, struct platform_device *dev) { @@ -265,7 +257,7 @@ static int adm5120_flash_initinfo(struct adm5120_flash_info *info, fdesc = &flash_descs[dev->id]; /* get memory window size */ - t = SWITCH_READ(SWITCH_REG_MEMCTRL) >> fdesc->srs_shift; + t = SW_READ_REG(MEMCTRL) >> fdesc->srs_shift; t &= MEMCTRL_SRS_MASK; info->amap.window_size = flash_sizes[t]; if (info->amap.window_size == 0) { @@ -274,7 +266,14 @@ static int adm5120_flash_initinfo(struct adm5120_flash_info *info, } /* get flash bus width */ - t = MPMC_READ(fdesc->mpmc_reg) & SC_MW_MASK; + switch (dev->id) { + case 0: + t = MPMC_READ_REG(SC1) & SC_MW_MASK; + break; + case 1: + t = MPMC_READ_REG(SC0) & SC_MW_MASK; + break; + } map->bankwidth = flash_bankwidths[t]; if (map->bankwidth == 0) { MAP_ERR(map, "invalid bus width detected\n"); |