[ARM] 3452/1: [S3C2410] RX3715 - add nand information
Patch from Ben Dooks NAND definitions for the HP iPAQ RX3715's internal NAND flash Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
661e6acf7b
commit
272eb575eb
|
@ -32,6 +32,11 @@
|
||||||
#include <linux/serial_core.h>
|
#include <linux/serial_core.h>
|
||||||
#include <linux/serial.h>
|
#include <linux/serial.h>
|
||||||
|
|
||||||
|
#include <linux/mtd/mtd.h>
|
||||||
|
#include <linux/mtd/nand.h>
|
||||||
|
#include <linux/mtd/nand_ecc.h>
|
||||||
|
#include <linux/mtd/partitions.h>
|
||||||
|
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
#include <asm/mach/map.h>
|
#include <asm/mach/map.h>
|
||||||
#include <asm/mach/irq.h>
|
#include <asm/mach/irq.h>
|
||||||
|
@ -46,6 +51,7 @@
|
||||||
#include <asm/arch/regs-gpio.h>
|
#include <asm/arch/regs-gpio.h>
|
||||||
#include <asm/arch/regs-lcd.h>
|
#include <asm/arch/regs-lcd.h>
|
||||||
|
|
||||||
|
#include <asm/arch/nand.h>
|
||||||
#include <asm/arch/fb.h>
|
#include <asm/arch/fb.h>
|
||||||
|
|
||||||
#include "clock.h"
|
#include "clock.h"
|
||||||
|
@ -170,12 +176,39 @@ static struct s3c2410fb_mach_info rx3715_lcdcfg __initdata = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct mtd_partition rx3715_nand_part[] = {
|
||||||
|
[0] = {
|
||||||
|
.name = "Whole Flash",
|
||||||
|
.offset = 0,
|
||||||
|
.size = MTDPART_SIZ_FULL,
|
||||||
|
.mask_flags = MTD_WRITEABLE,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct s3c2410_nand_set rx3715_nand_sets[] = {
|
||||||
|
[0] = {
|
||||||
|
.name = "Internal",
|
||||||
|
.nr_chips = 1,
|
||||||
|
.nr_partitions = ARRAY_SIZE(rx3715_nand_part),
|
||||||
|
.partitions = rx3715_nand_part,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct s3c2410_platform_nand rx3715_nand_info = {
|
||||||
|
.tacls = 25,
|
||||||
|
.twrph0 = 50,
|
||||||
|
.twrph1 = 15,
|
||||||
|
.nr_sets = ARRAY_SIZE(rx3715_nand_sets),
|
||||||
|
.sets = rx3715_nand_sets,
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device *rx3715_devices[] __initdata = {
|
static struct platform_device *rx3715_devices[] __initdata = {
|
||||||
&s3c_device_usb,
|
&s3c_device_usb,
|
||||||
&s3c_device_lcd,
|
&s3c_device_lcd,
|
||||||
&s3c_device_wdt,
|
&s3c_device_wdt,
|
||||||
&s3c_device_i2c,
|
&s3c_device_i2c,
|
||||||
&s3c_device_iis,
|
&s3c_device_iis,
|
||||||
|
&s3c_device_nand,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct s3c24xx_board rx3715_board __initdata = {
|
static struct s3c24xx_board rx3715_board __initdata = {
|
||||||
|
@ -185,6 +218,8 @@ static struct s3c24xx_board rx3715_board __initdata = {
|
||||||
|
|
||||||
static void __init rx3715_map_io(void)
|
static void __init rx3715_map_io(void)
|
||||||
{
|
{
|
||||||
|
s3c_device_nand.dev.platform_data = &rx3715_nand_info;
|
||||||
|
|
||||||
s3c24xx_init_io(rx3715_iodesc, ARRAY_SIZE(rx3715_iodesc));
|
s3c24xx_init_io(rx3715_iodesc, ARRAY_SIZE(rx3715_iodesc));
|
||||||
s3c24xx_init_clocks(16934000);
|
s3c24xx_init_clocks(16934000);
|
||||||
s3c24xx_init_uarts(rx3715_uartcfgs, ARRAY_SIZE(rx3715_uartcfgs));
|
s3c24xx_init_uarts(rx3715_uartcfgs, ARRAY_SIZE(rx3715_uartcfgs));
|
||||||
|
|
Loading…
Reference in New Issue