@ -18,6 +18,8 @@
# include <linux/kernel.h>
# include <linux/list.h>
# include <linux/dm9000.h>
# include <linux/mtd/mtd.h>
# include <linux/mtd/partitions.h>
# include <linux/serial_core.h>
# include <linux/types.h>
@ -32,6 +34,7 @@
# include <plat/cpu.h>
# include <plat/devs.h>
# include <plat/nand.h>
# include <plat/regs-serial.h>
# define UCON (S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK)
@ -103,11 +106,47 @@ static struct platform_device mini6410_device_eth = {
} ,
} ;
static struct mtd_partition mini6410_nand_part [ ] = {
[ 0 ] = {
. name = " uboot " ,
. size = SZ_1M ,
. offset = 0 ,
} ,
[ 1 ] = {
. name = " kernel " ,
. size = SZ_2M ,
. offset = SZ_1M ,
} ,
[ 2 ] = {
. name = " rootfs " ,
. size = MTDPART_SIZ_FULL ,
. offset = SZ_1M + SZ_2M ,
} ,
} ;
static struct s3c2410_nand_set mini6410_nand_sets [ ] = {
[ 0 ] = {
. name = " nand " ,
. nr_chips = 1 ,
. nr_partitions = ARRAY_SIZE ( mini6410_nand_part ) ,
. partitions = mini6410_nand_part ,
} ,
} ;
static struct s3c2410_platform_nand mini6410_nand_info = {
. tacls = 25 ,
. twrph0 = 55 ,
. twrph1 = 40 ,
. nr_sets = ARRAY_SIZE ( mini6410_nand_sets ) ,
. sets = mini6410_nand_sets ,
} ;
static struct platform_device * mini6410_devices [ ] __initdata = {
& mini6410_device_eth ,
& s3c_device_hsmmc0 ,
& s3c_device_hsmmc1 ,
& s3c_device_ohci ,
& s3c_device_nand ,
} ;
static void __init mini6410_map_io ( void )
@ -121,6 +160,8 @@ static void __init mini6410_machine_init(void)
{
u32 cs1 ;
s3c_nand_set_platdata ( & mini6410_nand_info ) ;
/* configure nCS1 width to 16 bits */
cs1 = __raw_readl ( S3C64XX_SROM_BW ) &