" Note: S5PC110 and S5PC210 have same OneNAND driver."

Yes I also think it's same device. At least Spec is same. But I heard it has
some different feature related with DMA operation.
I'm not yet receive the official release from LSI. So I can't tell the exact
one.

If it's true. we need to separate it if required.

Thank you,
Kyungmin Park

-----Original Message-----
From: Kukjin Kim [mailto:kgene....@samsung.com] 
Sent: Monday, August 23, 2010 9:07 AM
To: linux-arm-ker...@lists.infradead.org; linux-samsung-soc@vger.kernel.org
Cc: ben-li...@fluff.org; Kukjin Kim; Kyungmin Park
Subject: [PATCH RE-SEND] ARM: S5P: Move OneNAND device definitions in
plat-s5p

This patch moves OneNAND device definitions from mach-s5pv210 to plat-s5p
so that can support it commonly.

Note: S5PC110 and S5PC210 have same OneNAND driver.

Signed-off-by: Kukjin Kim <kgene....@samsung.com>
Cc: Kyungmin Park <Kyungmin Park <kyungmin.p...@samsung.com>
---
 arch/arm/mach-s5pv210/Kconfig                     |    9 +-----
 arch/arm/mach-s5pv210/Makefile                    |    1 -
 arch/arm/mach-s5pv210/include/mach/map.h          |    3 ++
 arch/arm/mach-s5pv210/mach-aquila.c               |    2 +-
 arch/arm/mach-s5pv210/mach-goni.c                 |    2 +-
 arch/arm/mach-s5pv310/include/mach/irqs.h         |    2 +
 arch/arm/mach-s5pv310/include/mach/map.h          |    6 ++++
 arch/arm/plat-s5p/Kconfig                         |    5 +++
 arch/arm/plat-s5p/Makefile                        |    1 +
 arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c |   28
+++++++++++---------
 arch/arm/plat-samsung/include/plat/devs.h         |    2 +-
 11 files changed, 37 insertions(+), 24 deletions(-)
 rename arch/arm/{mach-s5pv210 => plat-s5p}/dev-onenand.c (59%)

diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig
index d3a3895..5315fec 100644
--- a/arch/arm/mach-s5pv210/Kconfig
+++ b/arch/arm/mach-s5pv210/Kconfig
@@ -53,11 +53,6 @@ config S5PV210_SETUP_SDHCI_GPIO
        help
          Common setup code for SDHCI gpio.
 
-config S5PC110_DEV_ONENAND
-       bool
-       help
-         Compile in platform device definition for OneNAND1 controller
-
 menu "S5PC110 Machines"
 
 config MACH_AQUILA
@@ -71,7 +66,7 @@ config MACH_AQUILA
        select S3C_DEV_HSMMC
        select S3C_DEV_HSMMC1
        select S3C_DEV_HSMMC2
-       select S5PC110_DEV_ONENAND
+       select S5P_DEV_ONENAND
        select S5PV210_SETUP_FB_24BPP
        select S5PV210_SETUP_SDHCI
        help
@@ -88,7 +83,7 @@ config MACH_GONI
        select S3C_DEV_HSMMC
        select S3C_DEV_HSMMC1
        select S3C_DEV_HSMMC2
-       select S5PC110_DEV_ONENAND
+       select S5P_DEV_ONENAND
        select S5PV210_SETUP_FB_24BPP
        select S5PV210_SETUP_SDHCI
        help
diff --git a/arch/arm/mach-s5pv210/Makefile b/arch/arm/mach-s5pv210/Makefile
index 05048c5..7045489 100644
--- a/arch/arm/mach-s5pv210/Makefile
+++ b/arch/arm/mach-s5pv210/Makefile
@@ -26,7 +26,6 @@ obj-$(CONFIG_MACH_GONI)               += mach-goni.o
 
 obj-y                          += dev-audio.o
 obj-$(CONFIG_S3C64XX_DEV_SPI)  += dev-spi.o
-obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o
 
 obj-$(CONFIG_S5PV210_SETUP_FB_24BPP)   += setup-fb-24bpp.o
 obj-$(CONFIG_S5PV210_SETUP_I2C1)       += setup-i2c1.o
diff --git a/arch/arm/mach-s5pv210/include/mach/map.h
b/arch/arm/mach-s5pv210/include/mach/map.h
index dd4fb6b..aa19d2f 100644
--- a/arch/arm/mach-s5pv210/include/mach/map.h
+++ b/arch/arm/mach-s5pv210/include/mach/map.h
@@ -17,7 +17,10 @@
 #include <plat/map-s5p.h>
 
 #define S5PC110_PA_ONENAND     (0xB0000000)
+#define S5P_PA_ONENAND         S5PC110_PA_ONENAND
+
 #define S5PC110_PA_ONENAND_DMA (0xB0600000)
+#define S5P_PA_ONENAND_DMA     S5PC110_PA_ONENAND_DMA
 
 #define S5PV210_PA_CHIPID      (0xE0000000)
 #define S5P_PA_CHIPID          S5PV210_PA_CHIPID
diff --git a/arch/arm/mach-s5pv210/mach-aquila.c
b/arch/arm/mach-s5pv210/mach-aquila.c
index 0dda801..bf772de 100644
--- a/arch/arm/mach-s5pv210/mach-aquila.c
+++ b/arch/arm/mach-s5pv210/mach-aquila.c
@@ -477,7 +477,7 @@ static struct platform_device *aquila_devices[]
__initdata = {
        &aquila_i2c_gpio_pmic,
        &aquila_device_gpiokeys,
        &s3c_device_fb,
-       &s5pc110_device_onenand,
+       &s5p_device_onenand,
        &s3c_device_hsmmc0,
        &s3c_device_hsmmc1,
        &s3c_device_hsmmc2,
diff --git a/arch/arm/mach-s5pv210/mach-goni.c
b/arch/arm/mach-s5pv210/mach-goni.c
index 53754d7..fdc5cca 100644
--- a/arch/arm/mach-s5pv210/mach-goni.c
+++ b/arch/arm/mach-s5pv210/mach-goni.c
@@ -456,7 +456,7 @@ static void goni_setup_sdhci(void)
 
 static struct platform_device *goni_devices[] __initdata = {
        &s3c_device_fb,
-       &s5pc110_device_onenand,
+       &s5p_device_onenand,
        &goni_i2c_gpio_pmic,
        &goni_device_gpiokeys,
        &s5p_device_fimc0,
diff --git a/arch/arm/mach-s5pv310/include/mach/irqs.h
b/arch/arm/mach-s5pv310/include/mach/irqs.h
index 522352f..7b4b09f 100644
--- a/arch/arm/mach-s5pv310/include/mach/irqs.h
+++ b/arch/arm/mach-s5pv310/include/mach/irqs.h
@@ -73,6 +73,8 @@
 #define IRQ_HSMMC2             COMBINER_IRQ(29, 2)
 #define IRQ_HSMMC3             COMBINER_IRQ(29, 3)
 
+#define IRQ_ONENAND_AUDI       COMBINER_IRQ(34, 0)
+
 /* Set the default NR_IRQS */
 
 #define NR_IRQS                        COMBINER_IRQ(MAX_COMBINER_NR, 0)
diff --git a/arch/arm/mach-s5pv310/include/mach/map.h
b/arch/arm/mach-s5pv310/include/mach/map.h
index 6c7b1fc..5288f5a 100644
--- a/arch/arm/mach-s5pv310/include/mach/map.h
+++ b/arch/arm/mach-s5pv310/include/mach/map.h
@@ -23,6 +23,12 @@
 
 #include <plat/map-s5p.h>
 
+#define S5PC210_PA_ONENAND             (0x0C000000)
+#define S5P_PA_ONENAND                 S5PC210_PA_ONENAND
+
+#define S5PC210_PA_ONENAND_DMA         (0x0C600000)
+#define S5P_PA_ONENAND_DMA             S5PC210_PA_ONENAND_DMA
+
 #define S5PV310_PA_CHIPID              (0x10000000)
 #define S5P_PA_CHIPID                  S5PV310_PA_CHIPID
 
diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig
index c6a855d..407e323 100644
--- a/arch/arm/plat-s5p/Kconfig
+++ b/arch/arm/plat-s5p/Kconfig
@@ -46,3 +46,8 @@ config S5P_DEV_FIMC2
        bool
        help
          Compile in platform device definitions for FIMC controller 2
+
+config S5P_DEV_ONENAND
+       bool
+       help
+         Compile in platform device definition for OneNAND controller
diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile
index b2e0296..f3e917e 100644
--- a/arch/arm/plat-s5p/Makefile
+++ b/arch/arm/plat-s5p/Makefile
@@ -24,3 +24,4 @@ obj-$(CONFIG_S5P_EXT_INT)     += irq-eint.o
 obj-$(CONFIG_S5P_DEV_FIMC0)    += dev-fimc0.o
 obj-$(CONFIG_S5P_DEV_FIMC1)    += dev-fimc1.o
 obj-$(CONFIG_S5P_DEV_FIMC2)    += dev-fimc2.o
+obj-$(CONFIG_S5P_DEV_ONENAND)  += dev-onenand.o
diff --git a/arch/arm/mach-s5pv210/dev-onenand.c
b/arch/arm/plat-s5p/dev-onenand.c
similarity index 59%
rename from arch/arm/mach-s5pv210/dev-onenand.c
rename to arch/arm/plat-s5p/dev-onenand.c
index f8ede33..6db9262 100644
--- a/arch/arm/mach-s5pv210/dev-onenand.c
+++ b/arch/arm/plat-s5p/dev-onenand.c
@@ -1,10 +1,12 @@
-/*
- * linux/arch/arm/mach-s5pv210/dev-onenand.c
+/* linux/arch/arm/plat-s5p/dev-onenand.c
+ *
+ * Copyright 2010 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
  *
  *  Copyright (c) 2008-2010 Samsung Electronics
  *  Kyungmin Park <kyungmin.p...@samsung.com>
  *
- * S5PC110 series device definition for OneNAND devices
+ * S5P series device definition for OneNAND devices
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -19,15 +21,15 @@
 #include <mach/irqs.h>
 #include <mach/map.h>
 
-static struct resource s5pc110_onenand_resources[] = {
+static struct resource s5p_onenand_resources[] = {
        [0] = {
-               .start  = S5PC110_PA_ONENAND,
-               .end    = S5PC110_PA_ONENAND + SZ_128K - 1,
+               .start  = S5P_PA_ONENAND,
+               .end    = S5P_PA_ONENAND + SZ_128K - 1,
                .flags  = IORESOURCE_MEM,
        },
        [1] = {
-               .start  = S5PC110_PA_ONENAND_DMA,
-               .end    = S5PC110_PA_ONENAND_DMA + SZ_8K - 1,
+               .start  = S5P_PA_ONENAND_DMA,
+               .end    = S5P_PA_ONENAND_DMA + SZ_8K - 1,
                .flags  = IORESOURCE_MEM,
        },
        [2] = {
@@ -37,19 +39,19 @@ static struct resource s5pc110_onenand_resources[] = {
        },
 };
 
-struct platform_device s5pc110_device_onenand = {
+struct platform_device s5p_device_onenand = {
        .name           = "s5pc110-onenand",
        .id             = -1,
-       .num_resources  = ARRAY_SIZE(s5pc110_onenand_resources),
-       .resource       = s5pc110_onenand_resources,
+       .num_resources  = ARRAY_SIZE(s5p_onenand_resources),
+       .resource       = s5p_onenand_resources,
 };
 
-void s5pc110_onenand_set_platdata(struct onenand_platform_data *pdata)
+void s5p_onenand_set_platdata(struct onenand_platform_data *pdata)
 {
        struct onenand_platform_data *pd;
 
        pd = kmemdup(pdata, sizeof(struct onenand_platform_data),
GFP_KERNEL);
        if (!pd)
                printk(KERN_ERR "%s: no memory for platform data\n",
__func__);
-       s5pc110_device_onenand.dev.platform_data = pd;
+       s5p_device_onenand.dev.platform_data = pd;
 }
diff --git a/arch/arm/plat-samsung/include/plat/devs.h
b/arch/arm/plat-samsung/include/plat/devs.h
index 85f6f23..cb12102 100644
--- a/arch/arm/plat-samsung/include/plat/devs.h
+++ b/arch/arm/plat-samsung/include/plat/devs.h
@@ -73,7 +73,7 @@ extern struct platform_device s3c_device_hwmon;
 extern struct platform_device s3c_device_nand;
 extern struct platform_device s3c_device_onenand;
 extern struct platform_device s3c64xx_device_onenand1;
-extern struct platform_device s5pc110_device_onenand;
+extern struct platform_device s5p_device_onenand;
 
 extern struct platform_device s3c_device_usbgadget;
 extern struct platform_device s3c_device_usb_hsotg;
-- 
1.6.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to