aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5pc100
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2010-05-20 02:59:05 -0400
committerBen Dooks <ben-linux@fluff.org>2010-05-20 04:48:36 -0400
commit999304be1177d42d16bc59c546228c6ac5a3e76a (patch)
treeab8ba2b618484e93033bcc53fe0a4e014434d99f /arch/arm/mach-s5pc100
parent504d36e91ac12ccdb0e1193cee7bef9831a1c99e (diff)
ARM: SAMSUNG: Add platform support code for OneNAND controller
This patch adds setup code for Samsung OneNAND controller driver. The driver needs to be aware on which SoC it is running, so the actual device id is being changed in cpu init code. S3C64xx SoCs have 2 OneNAND controllers while S5PC100 and S5PC110 has only one. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> [ben-linux@fluff.org: sort map.h entries] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-s5pc100')
-rw-r--r--arch/arm/mach-s5pc100/cpu.c4
-rw-r--r--arch/arm/mach-s5pc100/include/mach/map.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-s5pc100/cpu.c b/arch/arm/mach-s5pc100/cpu.c
index d79e7574a852..cb37ffee05b2 100644
--- a/arch/arm/mach-s5pc100/cpu.c
+++ b/arch/arm/mach-s5pc100/cpu.c
@@ -41,6 +41,8 @@
41#include <plat/clock.h> 41#include <plat/clock.h>
42#include <plat/sdhci.h> 42#include <plat/sdhci.h>
43#include <plat/iic-core.h> 43#include <plat/iic-core.h>
44#include <plat/onenand-core.h>
45
44#include <plat/s5pc100.h> 46#include <plat/s5pc100.h>
45 47
46/* Initial IO mappings */ 48/* Initial IO mappings */
@@ -82,6 +84,8 @@ void __init s5pc100_map_io(void)
82 /* the i2c devices are directly compatible with s3c2440 */ 84 /* the i2c devices are directly compatible with s3c2440 */
83 s3c_i2c0_setname("s3c2440-i2c"); 85 s3c_i2c0_setname("s3c2440-i2c");
84 s3c_i2c1_setname("s3c2440-i2c"); 86 s3c_i2c1_setname("s3c2440-i2c");
87
88 s3c_onenand_setname("s5pc100-onenand");
85} 89}
86 90
87void __init s5pc100_init_clocks(int xtal) 91void __init s5pc100_init_clocks(int xtal)
diff --git a/arch/arm/mach-s5pc100/include/mach/map.h b/arch/arm/mach-s5pc100/include/mach/map.h
index 4681ebe8bef6..aba3bb4e3412 100644
--- a/arch/arm/mach-s5pc100/include/mach/map.h
+++ b/arch/arm/mach-s5pc100/include/mach/map.h
@@ -31,6 +31,9 @@
31 * 31 *
32 */ 32 */
33 33
34#define S5PC100_PA_ONENAND_BUF (0xB0000000)
35#define S5PC100_SZ_ONENAND_BUF (SZ_256M - SZ_32M)
36
34/* Chip ID */ 37/* Chip ID */
35#define S5PC100_PA_CHIPID (0xE0000000) 38#define S5PC100_PA_CHIPID (0xE0000000)
36#define S5PC1XX_PA_CHIPID S5PC100_PA_CHIPID 39#define S5PC1XX_PA_CHIPID S5PC100_PA_CHIPID
@@ -60,6 +63,8 @@
60#define S5PC1XX_PA_VIC(x) (S5PC100_PA_VIC + ((x) * S5PC100_PA_VIC_OFFSET)) 63#define S5PC1XX_PA_VIC(x) (S5PC100_PA_VIC + ((x) * S5PC100_PA_VIC_OFFSET))
61#define S5PC1XX_VA_VIC(x) (S5PC100_VA_VIC + ((x) * S5PC100_VA_VIC_OFFSET)) 64#define S5PC1XX_VA_VIC(x) (S5PC100_VA_VIC + ((x) * S5PC100_VA_VIC_OFFSET))
62 65
66#define S5PC100_PA_ONENAND (0xE7100000)
67
63/* DMA */ 68/* DMA */
64#define S5PC100_PA_MDMA (0xE8100000) 69#define S5PC100_PA_MDMA (0xE8100000)
65#define S5PC100_PA_PDMA0 (0xE9000000) 70#define S5PC100_PA_PDMA0 (0xE9000000)
@@ -146,5 +151,8 @@
146#define S3C_PA_HSMMC2 S5PC100_PA_HSMMC2 151#define S3C_PA_HSMMC2 S5PC100_PA_HSMMC2
147#define S3C_PA_KEYPAD S5PC100_PA_KEYPAD 152#define S3C_PA_KEYPAD S5PC100_PA_KEYPAD
148#define S3C_PA_TSADC S5PC100_PA_TSADC 153#define S3C_PA_TSADC S5PC100_PA_TSADC
154#define S3C_PA_ONENAND S5PC100_PA_ONENAND
155#define S3C_PA_ONENAND_BUF S5PC100_PA_ONENAND_BUF
156#define S3C_SZ_ONENAND_BUF S5PC100_SZ_ONENAND_BUF
149 157
150#endif /* __ASM_ARCH_C100_MAP_H */ 158#endif /* __ASM_ARCH_C100_MAP_H */