[ARM] 3039/1: AAEC-2000 - Add MTD support

Patch from Bellido Nicolas

This adds platform code for MTD devices on AAEC-2000.

Signed-off-by: Nicolas Bellido <ml@acolin.be>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Bellido Nicolas 2005-10-28 16:51:42 +01:00 committed by Russell King
parent f0904e2936
commit 4a91ca2eb6
2 changed files with 34 additions and 0 deletions

View File

@ -13,6 +13,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/device.h>
#include <linux/list.h> #include <linux/list.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
@ -22,6 +23,7 @@
#include <asm/hardware.h> #include <asm/hardware.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/mach/flash.h>
#include <asm/mach/irq.h> #include <asm/mach/irq.h>
#include <asm/mach/time.h> #include <asm/mach/time.h>
#include <asm/mach/map.h> #include <asm/mach/map.h>
@ -163,3 +165,32 @@ struct sys_timer aaec2000_timer = {
.offset = aaec2000_gettimeoffset, .offset = aaec2000_gettimeoffset,
}; };
static struct flash_platform_data aaec2000_flash_data = {
.map_name = "cfi_probe",
.width = 4,
};
static struct resource aaec2000_flash_resource = {
.start = AAEC_FLASH_BASE,
.end = AAEC_FLASH_BASE + AAEC_FLASH_SIZE,
.flags = IORESOURCE_MEM,
};
static struct platform_device aaec2000_flash_device = {
.name = "armflash",
.id = 0,
.dev = {
.platform_data = &aaec2000_flash_data,
},
.num_resources = 1,
.resource = &aaec2000_flash_resource,
};
static int __init aaec2000_init(void)
{
platform_device_register(&aaec2000_flash_device);
return 0;
};
arch_initcall(aaec2000_init);

View File

@ -23,6 +23,9 @@
#define AAEC_CS2 0x20000000 #define AAEC_CS2 0x20000000
#define AAEC_CS3 0x30000000 #define AAEC_CS3 0x30000000
/* Flash */
#define AAEC_FLASH_BASE AAEC_CS0
#define AAEC_FLASH_SIZE SZ_64M
/* Interrupt controller */ /* Interrupt controller */
#define IRQ_BASE __REG(0x80000500) #define IRQ_BASE __REG(0x80000500)