diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-11 11:35:34 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-11 11:35:34 -0400 |
| commit | e413a19a8ef49ae3b76310bb569dabe66b22f5a3 (patch) | |
| tree | f171d40fd0ec69296458173d7ec470339f93f53b /include/linux/platform_data | |
| parent | 8d0304e69dc960ae7683943ac5b9c4c685d409d7 (diff) | |
| parent | f1900c79633e9ed757319e63aefb8e29443ea35e (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.h | 3 | ||||
| -rw-r--r-- | include/linux/platform_data/mtd-nand-omap2.h | 5 | ||||
| -rw-r--r-- | include/linux/platform_data/mtd-nand-pxa3xx.h | 3 |
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 @@ | |||
| 21 | enum bch_ecc { | 21 | enum 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 | ||
| 44 | void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc, | 45 | void 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 | ||
| 36 | struct gpmc_nand_regs { | 38 | struct 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 | ||
| 55 | struct omap_nand_platform_data { | 60 | struct 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 | ||
