ARM: 6903/1: Realview: Use physmap driver instead of integrator-flash

Tested on a PB11-MPCore.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Marc Zyngier 2011-05-18 10:51:49 +01:00 committed by Russell King
parent b7281ca2a4
commit b8b87aefef
3 changed files with 6 additions and 29 deletions

View File

@ -38,7 +38,7 @@ CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_INTELEXT=y CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_ARM_INTEGRATOR=y CONFIG_MTD_PHYSMAP=y
CONFIG_ARM_CHARLCD=y CONFIG_ARM_CHARLCD=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
CONFIG_SMSC_PHY=y CONFIG_SMSC_PHY=y

View File

@ -37,7 +37,7 @@ CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_INTELEXT=y CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_ARM_INTEGRATOR=y CONFIG_MTD_PHYSMAP=y
CONFIG_ARM_CHARLCD=y CONFIG_ARM_CHARLCD=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
CONFIG_SMSC_PHY=y CONFIG_SMSC_PHY=y

View File

@ -31,6 +31,7 @@
#include <linux/amba/mmci.h> #include <linux/amba/mmci.h>
#include <linux/gfp.h> #include <linux/gfp.h>
#include <linux/clkdev.h> #include <linux/clkdev.h>
#include <linux/mtd/physmap.h>
#include <asm/system.h> #include <asm/system.h>
#include <mach/hardware.h> #include <mach/hardware.h>
@ -41,7 +42,6 @@
#include <asm/hardware/icst.h> #include <asm/hardware/icst.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <asm/mach/flash.h>
#include <asm/mach/irq.h> #include <asm/mach/irq.h>
#include <asm/mach/map.h> #include <asm/mach/map.h>
@ -77,27 +77,7 @@ void __init realview_adjust_zones(unsigned long *size, unsigned long *hole)
#define REALVIEW_FLASHCTRL (__io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_FLASH_OFFSET) #define REALVIEW_FLASHCTRL (__io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_FLASH_OFFSET)
static int realview_flash_init(void) static void realview_flash_set_vpp(struct map_info *map, int on)
{
u32 val;
val = __raw_readl(REALVIEW_FLASHCTRL);
val &= ~REALVIEW_FLASHPROG_FLVPPEN;
__raw_writel(val, REALVIEW_FLASHCTRL);
return 0;
}
static void realview_flash_exit(void)
{
u32 val;
val = __raw_readl(REALVIEW_FLASHCTRL);
val &= ~REALVIEW_FLASHPROG_FLVPPEN;
__raw_writel(val, REALVIEW_FLASHCTRL);
}
static void realview_flash_set_vpp(int on)
{ {
u32 val; u32 val;
@ -109,16 +89,13 @@ static void realview_flash_set_vpp(int on)
__raw_writel(val, REALVIEW_FLASHCTRL); __raw_writel(val, REALVIEW_FLASHCTRL);
} }
static struct flash_platform_data realview_flash_data = { static struct physmap_flash_data realview_flash_data = {
.map_name = "cfi_probe",
.width = 4, .width = 4,
.init = realview_flash_init,
.exit = realview_flash_exit,
.set_vpp = realview_flash_set_vpp, .set_vpp = realview_flash_set_vpp,
}; };
struct platform_device realview_flash_device = { struct platform_device realview_flash_device = {
.name = "armflash", .name = "physmap-flash",
.id = 0, .id = 0,
.dev = { .dev = {
.platform_data = &realview_flash_data, .platform_data = &realview_flash_data,