diff options
author | Wolfgang Denk <wd@denx.de> | 2012-04-09 17:07:50 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2012-04-09 17:07:50 +0200 |
commit | 691288e14dc5cccc9ff1219765554981f73a7c14 (patch) | |
tree | ac69f4439cb87dd0234f89ca112789f744604256 /include | |
parent | 5c877b1ae0a4219ed6bd8d32cf3f7106b81ecb3b (diff) | |
parent | a08a649d7034333a3f47d11fa76f98abac70a256 (diff) | |
download | u-boot-imx-691288e14dc5cccc9ff1219765554981f73a7c14.zip u-boot-imx-691288e14dc5cccc9ff1219765554981f73a7c14.tar.gz u-boot-imx-691288e14dc5cccc9ff1219765554981f73a7c14.tar.bz2 |
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.h | 1 | ||||
-rw-r--r-- | include/linux/mtd/onenand.h | 5 | ||||
-rw-r--r-- | include/linux/mtd/samsung_onenand.h | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index 8286680..1301275 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 5465562..bb4a4a6 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 021fa27..ddb29bb 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 |