aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-11 11:35:34 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-11 11:35:34 -0400
commite413a19a8ef49ae3b76310bb569dabe66b22f5a3 (patch)
treef171d40fd0ec69296458173d7ec470339f93f53b /include/linux/platform_data
parent8d0304e69dc960ae7683943ac5b9c4c685d409d7 (diff)
parentf1900c79633e9ed757319e63aefb8e29443ea35e (diff)
Merge tag 'for-linus-20140610' of git://git.infradead.org/linux-mtd
Pull MTD updates from Brian Norris: - refactor m25p80.c driver for use as a general SPI NOR framework for other drivers which may speak to SPI NOR flash without providing full SPI support (i.e., not part of drivers/spi/) - new Freescale QuadSPI driver (utilizing new SPI NOR framework) - updates for the STMicro "FSM" SPI NOR driver - fix sync/flush behavior on mtd_blkdevs - fixup subpage write support on a few NAND drivers - correct the MTD OOB test for odd-sized OOB areas - add BCH-16 support for OMAP NAND - fix warnings and trivial refactoring - utilize new ECC DT bindings in pxa3xx NAND driver - new LPDDR NVM driver - address a few assorted bugs caught by Coverity - add new imx6sx support for GPMI NAND - use a bounce buffer for NAND when non-DMA-able buffers are used * tag 'for-linus-20140610' of git://git.infradead.org/linux-mtd: (77 commits) mtd: gpmi: add gpmi support for imx6sx mtd: maps: remove check for CONFIG_MTD_SUPERH_RESERVE mtd: bf5xx_nand: use the managed version of kzalloc mtd: pxa3xx_nand: make the driver work on big-endian systems mtd: nand: omap: fix omap_calculate_ecc_bch() for-loop error mtd: nand: r852: correct write_buf loop bounds mtd: nand_bbt: handle error case for nand_create_badblock_pattern() mtd: nand_bbt: remove unused variable mtd: maps: sc520cdp: fix warnings mtd: slram: fix unused variable warning mtd: pfow: remove unused variable mtd: lpddr: fix Kconfig dependency, for I/O accessors mtd: nand: pxa3xx: Add supported ECC strength and step size to the DT binding mtd: nand: pxa3xx: Use ECC strength and step size devicetree binding mtd: nand: pxa3xx: Clean pxa_ecc_init() error handling mtd: nand: Warn the user if the selected ECC strength is too weak mtd: nand: omap: Documentation: How to select correct ECC scheme for your device ? mtd: nand: omap: add support for BCH16_ECC - NAND driver updates mtd: nand: omap: add support for BCH16_ECC - ELM driver updates mtd: nand: omap: add support for BCH16_ECC - GPMC driver updates ...
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/elm.h3
-rw-r--r--include/linux/platform_data/mtd-nand-omap2.h5
-rw-r--r--include/linux/platform_data/mtd-nand-pxa3xx.h3
3 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/platform_data/elm.h b/include/linux/platform_data/elm.h
index 4edb40676b3f..780d1e97f620 100644
--- a/include/linux/platform_data/elm.h
+++ b/include/linux/platform_data/elm.h
@@ -21,6 +21,7 @@
21enum bch_ecc { 21enum bch_ecc {
22 BCH4_ECC = 0, 22 BCH4_ECC = 0,
23 BCH8_ECC, 23 BCH8_ECC,
24 BCH16_ECC,
24}; 25};
25 26
26/* ELM support 8 error syndrome process */ 27/* ELM support 8 error syndrome process */
@@ -38,7 +39,7 @@ struct elm_errorvec {
38 bool error_reported; 39 bool error_reported;
39 bool error_uncorrectable; 40 bool error_uncorrectable;
40 int error_count; 41 int error_count;
41 int error_loc[ERROR_VECTOR_MAX]; 42 int error_loc[16];
42}; 43};
43 44
44void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc, 45void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc,
diff --git a/include/linux/platform_data/mtd-nand-omap2.h b/include/linux/platform_data/mtd-nand-omap2.h
index 3e9dd6676b97..660c029d694f 100644
--- a/include/linux/platform_data/mtd-nand-omap2.h
+++ b/include/linux/platform_data/mtd-nand-omap2.h
@@ -31,6 +31,8 @@ enum omap_ecc {
31 OMAP_ECC_BCH8_CODE_HW_DETECTION_SW, 31 OMAP_ECC_BCH8_CODE_HW_DETECTION_SW,
32 /* 8-bit ECC calculation by GPMC, Error detection by ELM */ 32 /* 8-bit ECC calculation by GPMC, Error detection by ELM */
33 OMAP_ECC_BCH8_CODE_HW, 33 OMAP_ECC_BCH8_CODE_HW,
34 /* 16-bit ECC calculation by GPMC, Error detection by ELM */
35 OMAP_ECC_BCH16_CODE_HW,
34}; 36};
35 37
36struct gpmc_nand_regs { 38struct gpmc_nand_regs {
@@ -50,6 +52,9 @@ struct gpmc_nand_regs {
50 void __iomem *gpmc_bch_result1[GPMC_BCH_NUM_REMAINDER]; 52 void __iomem *gpmc_bch_result1[GPMC_BCH_NUM_REMAINDER];
51 void __iomem *gpmc_bch_result2[GPMC_BCH_NUM_REMAINDER]; 53 void __iomem *gpmc_bch_result2[GPMC_BCH_NUM_REMAINDER];
52 void __iomem *gpmc_bch_result3[GPMC_BCH_NUM_REMAINDER]; 54 void __iomem *gpmc_bch_result3[GPMC_BCH_NUM_REMAINDER];
55 void __iomem *gpmc_bch_result4[GPMC_BCH_NUM_REMAINDER];
56 void __iomem *gpmc_bch_result5[GPMC_BCH_NUM_REMAINDER];
57 void __iomem *gpmc_bch_result6[GPMC_BCH_NUM_REMAINDER];
53}; 58};
54 59
55struct omap_nand_platform_data { 60struct omap_nand_platform_data {
diff --git a/include/linux/platform_data/mtd-nand-pxa3xx.h b/include/linux/platform_data/mtd-nand-pxa3xx.h
index a94147124929..ac4ea2e641c7 100644
--- a/include/linux/platform_data/mtd-nand-pxa3xx.h
+++ b/include/linux/platform_data/mtd-nand-pxa3xx.h
@@ -58,6 +58,9 @@ struct pxa3xx_nand_platform_data {
58 /* use an flash-based bad block table */ 58 /* use an flash-based bad block table */
59 bool flash_bbt; 59 bool flash_bbt;
60 60
61 /* requested ECC strength and ECC step size */
62 int ecc_strength, ecc_step_size;
63
61 const struct mtd_partition *parts[NUM_CHIP_SELECT]; 64 const struct mtd_partition *parts[NUM_CHIP_SELECT];
62 unsigned int nr_parts[NUM_CHIP_SELECT]; 65 unsigned int nr_parts[NUM_CHIP_SELECT];
63 66