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:
parent
b7281ca2a4
commit
b8b87aefef
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue