use the global register access macros in the flash driver
authorGabor Juhos <juhosg@openwrt.org>
Sun, 9 Sep 2007 13:28:24 +0000 (13:28 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 9 Sep 2007 13:28:24 +0000 (13:28 +0000)
SVN-Revision: 8707

target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c

index 0a2590e609199f34e74d7ad3364459907033010f..7a55396e7fa6d7cc21e70273cc07babd8b5bcb67 100644 (file)
 
 #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");