From a3da6dbe771004330c86359c090f4c8e2706a591 Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Sun, 2 Apr 2006 10:00:09 +0100 Subject: [PATCH] --- yaml --- r: 25287 b: refs/heads/master c: dee9b2e932ef7c8f19540ad67e425fae30f33421 h: refs/heads/master i: 25285: d55bda17a80adb09f993ebe90f4fb5873edac387 25283: a7c7ca20d330d689df4f646ad3617ab8f26e6d94 25279: dcc88a557493fa6ef8b9819660cedf5f2c28b22b v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-s3c2410/common-smdk.c | 85 ++++++++++++++++++++++- 2 files changed, 85 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d5a7ea2ee47f..71f45b9d7e5d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 66ce229fe057e35275a5f5176b29ed70795506a1 +refs/heads/master: dee9b2e932ef7c8f19540ad67e425fae30f33421 diff --git a/trunk/arch/arm/mach-s3c2410/common-smdk.c b/trunk/arch/arm/mach-s3c2410/common-smdk.c index f903dc2ab29b..36b8291b5e03 100644 --- a/trunk/arch/arm/mach-s3c2410/common-smdk.c +++ b/trunk/arch/arm/mach-s3c2410/common-smdk.c @@ -20,6 +20,11 @@ #include #include +#include +#include +#include +#include + #include #include #include @@ -27,12 +32,86 @@ #include #include #include -#include #include +#include + +#include "devs.h" #include "pm.h" +/* NAND parititon from 2.4.18-swl5 */ + +static struct mtd_partition smdk_default_nand_part[] = { + [0] = { + .name = "Boot Agent", + .size = SZ_16K, + .offset = 0, + }, + [1] = { + .name = "S3C2410 flash parition 1", + .offset = 0, + .size = SZ_2M, + }, + [2] = { + .name = "S3C2410 flash partition 2", + .offset = SZ_4M, + .size = SZ_4M, + }, + [3] = { + .name = "S3C2410 flash partition 3", + .offset = SZ_8M, + .size = SZ_2M, + }, + [4] = { + .name = "S3C2410 flash partition 4", + .offset = SZ_1M * 10, + .size = SZ_4M, + }, + [5] = { + .name = "S3C2410 flash partition 5", + .offset = SZ_1M * 14, + .size = SZ_1M * 10, + }, + [6] = { + .name = "S3C2410 flash partition 6", + .offset = SZ_1M * 24, + .size = SZ_1M * 24, + }, + [7] = { + .name = "S3C2410 flash partition 7", + .offset = SZ_1M * 48, + .size = SZ_16M, + } +}; + +static struct s3c2410_nand_set smdk_nand_sets[] = { + [0] = { + .name = "NAND", + .nr_chips = 1, + .nr_partitions = ARRAY_SIZE(smdk_default_nand_part), + .partitions = smdk_default_nand_part, + }, +}; + +/* choose a set of timings which should suit most 512Mbit + * chips and beyond. +*/ + +static struct s3c2410_platform_nand smdk_nand_info = { + .tacls = 20, + .twrph0 = 60, + .twrph1 = 20, + .nr_sets = ARRAY_SIZE(smdk_nand_sets), + .sets = smdk_nand_sets, +}; + +/* devices we initialise */ + +static struct platform_device __initdata *smdk_devs[] = { + &s3c_device_nand, +}; + void __init smdk_machine_init(void) { /* Configure the LEDs (even if we have no LED support)*/ @@ -47,5 +126,9 @@ void __init smdk_machine_init(void) s3c2410_gpio_setpin(S3C2410_GPF6, 1); s3c2410_gpio_setpin(S3C2410_GPF7, 1); + s3c_device_nand.dev.platform_data = &smdk_nand_info; + + platform_add_devices(smdk_devs, ARRAY_SIZE(smdk_devs)); + s3c2410_pm_init(); }