diff options
author | Ben Dooks <ben-linux@fluff.org> | 2010-05-20 07:25:59 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2010-05-20 07:25:59 -0400 |
commit | 206a1a825dc67060ee319c99569755ba11250907 (patch) | |
tree | e4cdbd7b8b745e0ad4adfd59fa57c3bcabe3daf4 /arch/arm/plat-samsung/include | |
parent | 6aeaad51aaecc9ebc8c1e8f132655e2ae8141f8c (diff) | |
parent | 999304be1177d42d16bc59c546228c6ac5a3e76a (diff) |
ARM: Merge for-2635-4/onenand
Merge branch 'for-2635-4/onenand' into for-2635-4/partial2
Conflicts:
arch/arm/mach-s5pc100/cpu.c
arch/arm/mach-s5pc100/include/mach/map.h
arch/arm/mach-s5pv210/Makefile
Diffstat (limited to 'arch/arm/plat-samsung/include')
-rw-r--r-- | arch/arm/plat-samsung/include/plat/devs.h | 3 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/onenand-core.h | 37 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/regs-onenand.h | 63 |
3 files changed, 103 insertions, 0 deletions
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h index 8d516d498051..e6144e4b9118 100644 --- a/arch/arm/plat-samsung/include/plat/devs.h +++ b/arch/arm/plat-samsung/include/plat/devs.h | |||
@@ -69,6 +69,9 @@ extern struct platform_device s5p6440_device_spi1; | |||
69 | extern struct platform_device s3c_device_hwmon; | 69 | extern struct platform_device s3c_device_hwmon; |
70 | 70 | ||
71 | extern struct platform_device s3c_device_nand; | 71 | extern struct platform_device s3c_device_nand; |
72 | extern struct platform_device s3c_device_onenand; | ||
73 | extern struct platform_device s3c64xx_device_onenand1; | ||
74 | extern struct platform_device s5pc110_device_onenand; | ||
72 | 75 | ||
73 | extern struct platform_device s3c_device_usbgadget; | 76 | extern struct platform_device s3c_device_usbgadget; |
74 | extern struct platform_device s3c_device_usb_hsotg; | 77 | extern struct platform_device s3c_device_usb_hsotg; |
diff --git a/arch/arm/plat-samsung/include/plat/onenand-core.h b/arch/arm/plat-samsung/include/plat/onenand-core.h new file mode 100644 index 000000000000..7701cb7020c8 --- /dev/null +++ b/arch/arm/plat-samsung/include/plat/onenand-core.h | |||
@@ -0,0 +1,37 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/plat-samsung/onenand-core.h | ||
3 | * | ||
4 | * Copyright (c) 2010 Samsung Electronics | ||
5 | * Kyungmin Park <kyungmin.park@samsung.com> | ||
6 | * Marek Szyprowski <m.szyprowski@samsung.com> | ||
7 | * | ||
8 | * Samsung OneNAD Controller core functions | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #ifndef __ASM_ARCH_ONENAND_CORE_H | ||
16 | #define __ASM_ARCH_ONENAND_CORE_H __FILE__ | ||
17 | |||
18 | /* These functions are only for use with the core support code, such as | ||
19 | * the cpu specific initialisation code | ||
20 | */ | ||
21 | |||
22 | /* re-define device name depending on support. */ | ||
23 | static inline void s3c_onenand_setname(char *name) | ||
24 | { | ||
25 | #ifdef CONFIG_S3C_DEV_ONENAND | ||
26 | s3c_device_onenand.name = name; | ||
27 | #endif | ||
28 | } | ||
29 | |||
30 | static inline void s3c64xx_onenand1_setname(char *name) | ||
31 | { | ||
32 | #ifdef CONFIG_S3C64XX_DEV_ONENAND1 | ||
33 | s3c64xx_device_onenand1.name = name; | ||
34 | #endif | ||
35 | } | ||
36 | |||
37 | #endif /* __ASM_ARCH_ONENAND_CORE_H */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/regs-onenand.h b/arch/arm/plat-samsung/include/plat/regs-onenand.h new file mode 100644 index 000000000000..930ea8b88ed3 --- /dev/null +++ b/arch/arm/plat-samsung/include/plat/regs-onenand.h | |||
@@ -0,0 +1,63 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/plat-s3c/include/plat/regs-onenand.h | ||
3 | * | ||
4 | * Copyright (C) 2008-2010 Samsung Electronics | ||
5 | * Kyungmin Park <kyungmin.park@samsung.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | #ifndef __SAMSUNG_ONENAND_H__ | ||
12 | #define __SAMSUNG_ONENAND_H__ | ||
13 | |||
14 | #include <mach/hardware.h> | ||
15 | |||
16 | /* | ||
17 | * OneNAND Controller | ||
18 | */ | ||
19 | #define MEM_CFG_OFFSET 0x0000 | ||
20 | #define BURST_LEN_OFFSET 0x0010 | ||
21 | #define MEM_RESET_OFFSET 0x0020 | ||
22 | #define INT_ERR_STAT_OFFSET 0x0030 | ||
23 | #define INT_ERR_MASK_OFFSET 0x0040 | ||
24 | #define INT_ERR_ACK_OFFSET 0x0050 | ||
25 | #define ECC_ERR_STAT_OFFSET 0x0060 | ||
26 | #define MANUFACT_ID_OFFSET 0x0070 | ||
27 | #define DEVICE_ID_OFFSET 0x0080 | ||
28 | #define DATA_BUF_SIZE_OFFSET 0x0090 | ||
29 | #define BOOT_BUF_SIZE_OFFSET 0x00A0 | ||
30 | #define BUF_AMOUNT_OFFSET 0x00B0 | ||
31 | #define TECH_OFFSET 0x00C0 | ||
32 | #define FBA_WIDTH_OFFSET 0x00D0 | ||
33 | #define FPA_WIDTH_OFFSET 0x00E0 | ||
34 | #define FSA_WIDTH_OFFSET 0x00F0 | ||
35 | #define TRANS_SPARE_OFFSET 0x0140 | ||
36 | #define DBS_DFS_WIDTH_OFFSET 0x0160 | ||
37 | #define INT_PIN_ENABLE_OFFSET 0x01A0 | ||
38 | #define ACC_CLOCK_OFFSET 0x01C0 | ||
39 | #define FLASH_VER_ID_OFFSET 0x01F0 | ||
40 | #define FLASH_AUX_CNTRL_OFFSET 0x0300 /* s3c64xx only */ | ||
41 | |||
42 | #define ONENAND_MEM_RESET_HOT 0x3 | ||
43 | #define ONENAND_MEM_RESET_COLD 0x2 | ||
44 | #define ONENAND_MEM_RESET_WARM 0x1 | ||
45 | |||
46 | #define CACHE_OP_ERR (1 << 13) | ||
47 | #define RST_CMP (1 << 12) | ||
48 | #define RDY_ACT (1 << 11) | ||
49 | #define INT_ACT (1 << 10) | ||
50 | #define UNSUP_CMD (1 << 9) | ||
51 | #define LOCKED_BLK (1 << 8) | ||
52 | #define BLK_RW_CMP (1 << 7) | ||
53 | #define ERS_CMP (1 << 6) | ||
54 | #define PGM_CMP (1 << 5) | ||
55 | #define LOAD_CMP (1 << 4) | ||
56 | #define ERS_FAIL (1 << 3) | ||
57 | #define PGM_FAIL (1 << 2) | ||
58 | #define INT_TO (1 << 1) | ||
59 | #define LD_FAIL_ECC_ERR (1 << 0) | ||
60 | |||
61 | #define TSRF (1 << 0) | ||
62 | |||
63 | #endif | ||