summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2012-04-09 17:07:50 +0200
committerWolfgang Denk <wd@denx.de>2012-04-09 17:07:50 +0200
commit691288e14dc5cccc9ff1219765554981f73a7c14 (patch)
treeac69f4439cb87dd0234f89ca112789f744604256 /include
parent5c877b1ae0a4219ed6bd8d32cf3f7106b81ecb3b (diff)
parenta08a649d7034333a3f47d11fa76f98abac70a256 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-onenand
* 'master' of git://git.denx.de/u-boot-onenand: onenand: samsung: Enable OneNAND support at Samsung's Exynos4210 onenand: Replace ONENAND_IS_MLC() with ONENAND_HAS_4KB() onenand:samsung OneNAND chip probe functions added for GONI and Exynos4210 onenand:samsung Target dependent OneNAND chip probe function
Diffstat (limited to 'include')
-rw-r--r--include/configs/s5pc210_universal.h1
-rw-r--r--include/linux/mtd/onenand.h5
-rw-r--r--include/linux/mtd/samsung_onenand.h2
3 files changed, 8 insertions, 0 deletions
diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h
index 8286680f26..13012756ab 100644
--- a/include/configs/s5pc210_universal.h
+++ b/include/configs/s5pc210_universal.h
@@ -233,6 +233,7 @@
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 2 sectors */
#define CONFIG_USE_ONENAND_BOARD_INIT
+#define CONFIG_SAMSUNG_ONENAND
#define CONFIG_SYS_ONENAND_BASE 0x0C000000
#define CONFIG_ENV_IS_IN_MMC 1
diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h
index 5465562639..bb4a4a6b28 100644
--- a/include/linux/mtd/onenand.h
+++ b/include/linux/mtd/onenand.h
@@ -101,6 +101,7 @@ struct onenand_chip {
size_t count);
unsigned short (*read_word) (void __iomem *addr);
void (*write_word) (unsigned short value, void __iomem *addr);
+ int (*chip_probe)(struct mtd_info *mtd);
void (*mmcontrol) (struct mtd_info *mtd, int sync_read);
int (*block_markbad)(struct mtd_info *mtd, loff_t ofs);
int (*scan_bbt)(struct mtd_info *mtd);
@@ -139,6 +140,9 @@ struct onenand_chip {
#define ONENAND_IS_DDP(this) \
(this->device_id & ONENAND_DEVICE_IS_DDP)
+#define ONENAND_IS_4KB_PAGE(this) \
+ (this->options & ONENAND_HAS_4KB_PAGE)
+
#define ONENAND_IS_2PLANE(this) (0)
/*
@@ -147,6 +151,7 @@ struct onenand_chip {
#define ONENAND_HAS_CONT_LOCK (0x0001)
#define ONENAND_HAS_UNLOCK_ALL (0x0002)
#define ONENAND_HAS_2PLANE (0x0004)
+#define ONENAND_HAS_4KB_PAGE (0x0008)
#define ONENAND_RUNTIME_BADBLOCK_CHECK (0x0200)
#define ONENAND_PAGEBUF_ALLOC (0x1000)
#define ONENAND_OOBBUF_ALLOC (0x2000)
diff --git a/include/linux/mtd/samsung_onenand.h b/include/linux/mtd/samsung_onenand.h
index 021fa27f7d..ddb29bbee7 100644
--- a/include/linux/mtd/samsung_onenand.h
+++ b/include/linux/mtd/samsung_onenand.h
@@ -127,5 +127,7 @@ struct samsung_onenand {
/* common initialize function */
extern void s3c_onenand_init(struct mtd_info *);
+extern int s5pc110_chip_probe(struct mtd_info *);
+extern int s5pc210_chip_probe(struct mtd_info *);
#endif