Skip to content

Commit

Permalink
[ARM] 5393/1: Add W90P910 EVB NOR flash driver
Browse files Browse the repository at this point in the history
Add W90P910 Evaluate Board NOR flash driver support,
The EV Board default support W19B320ABT7H of Winbond inc.

Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
wanzongshun authored and Russell King committed Feb 12, 2009
1 parent 9ee8c9f commit a12370f
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions arch/arm/mach-w90x900/mach-w90p910evb.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <linux/timer.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/mtd/physmap.h>

#include <asm/mach/arch.h>
#include <asm/mach/map.h>
Expand All @@ -32,6 +33,52 @@
#include <mach/map.h>

#include "cpu.h"
/*w90p910 evb norflash driver data */

#define W90P910_FLASH_BASE 0xA0000000
#define W90P910_FLASH_SIZE 0x400000

static struct mtd_partition w90p910_flash_partitions[] = {
{
.name = "NOR Partition 1 for kernel (960K)",
.size = 0xF0000,
.offset = 0x10000,
},
{
.name = "NOR Partition 2 for image (1M)",
.size = 0x100000,
.offset = 0x100000,
},
{
.name = "NOR Partition 3 for user (2M)",
.size = 0x200000,
.offset = 0x00200000,
}
};

static struct physmap_flash_data w90p910_flash_data = {
.width = 2,
.parts = w90p910_flash_partitions,
.nr_parts = ARRAY_SIZE(w90p910_flash_partitions),
};

static struct resource w90p910_flash_resources[] = {
{
.start = W90P910_FLASH_BASE,
.end = W90P910_FLASH_BASE + W90P910_FLASH_SIZE - 1,
.flags = IORESOURCE_MEM,
}
};

static struct platform_device w90p910_flash_device = {
.name = "physmap-flash",
.id = 0,
.dev = {
.platform_data = &w90p910_flash_data,
},
.resource = w90p910_flash_resources,
.num_resources = ARRAY_SIZE(w90p910_flash_resources),
};

static struct map_desc w90p910_iodesc[] __initdata = {
};
Expand All @@ -40,6 +87,7 @@ static struct map_desc w90p910_iodesc[] __initdata = {

static struct platform_device *w90p910evb_dev[] __initdata = {
&w90p910_serial_device,
&w90p910_flash_device,
};

static void __init w90p910evb_map_io(void)
Expand Down

0 comments on commit a12370f

Please sign in to comment.