aboutsummaryrefslogtreecommitdiff
path: root/include/linux/platform_data/mtd-nand-omap2.h
AgeCommit message (Collapse)AuthorFilesLines
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500Thomas Gleixner1-4/+1
Based on 2 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation # extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 4122 file(s). Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Enrico Weigelt <[email protected]> Reviewed-by: Kate Stewart <[email protected]> Reviewed-by: Allison Randal <[email protected]> Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2017-11-22Merge tag 'for-linus-20171120' of git://git.infradead.org/linux-mtdLinus Torvalds1-17/+0
Pull MTD updates from Richard Weinberger: "General changes: - Unconfuse get_unmapped_area and point/unpoint driver methods - New partition parser: sharpslpart - Kill GENERIC_IO - Various fixes NAND changes: - Add a flag to mark NANDs that require 3 address cycles to encode a page address - Set a default ECC/free layout when NAND_ECC_NONE is requested - Fix a bug in panic_nand_write() - Another batch of cleanups for the denali driver - Fix PM support in the atmel driver - Remove support for platform data in the omap driver - Fix subpage write in the omap driver - Fix irq handling in the mtk driver - Change link order of mtk_ecc and mtk_nand drivers to speed up boot time - Change log level of ECC error messages in the mxc driver - Patch the pxa3xx driver to support Armada 8k platforms - Add BAM DMA support to the qcom driver - Convert gpio-nand to the GPIO desc API - Fix ECC handling in the mt29f driver SPI-NOR changes: - Introduce system power management support - New mechanism to select the proper .quad_enable() hook by JEDEC ID, when needed, instead of only by manufacturer ID - Add support to new memory parts from Gigadevice, Winbond, Macronix and Everspin - Maintainance for Cadence, Intel, Mediatek and STM32 drivers" * tag 'for-linus-20171120' of git://git.infradead.org/linux-mtd: (85 commits) mtd: Avoid probe failures when mtd->dbg.dfs_dir is invalid mtd: sharpslpart: Add sharpslpart partition parser mtd: Add sanity checks in mtd_write/read_oob() mtd: remove the get_unmapped_area method mtd: implement mtd_get_unmapped_area() using the point method mtd: chips/map_rom.c: implement point and unpoint methods mtd: chips/map_ram.c: implement point and unpoint methods mtd: mtdram: properly handle the phys argument in the point method mtd: mtdswap: fix spelling mistake: 'TRESHOLD' -> 'THRESHOLD' mtd: slram: use memremap() instead of ioremap() kconfig: kill off GENERIC_IO option mtd: Fix C++ comment in include/linux/mtd/mtd.h mtd: constify mtd_partition mtd: plat-ram: Replace manual resource management by devm mtd: nand: Fix writing mtdoops to nand flash. mtd: intel-spi: Add Intel Lewisburg PCH SPI super SKU PCI ID mtd: nand: mtk: fix infinite ECC decode IRQ issue mtd: spi-nor: Add support for mr25h128 mtd: nand: mtk: change the compile sequence of mtk_nand.o and mtk_ecc.o mtd: spi-nor: enable 4B opcodes for mx66l51235l ...
2017-10-17memory: omap-gpmc: Drop gpmc_statusLadislav Michl1-2/+0
This field is no longer used, drop it. Signed-off-by: Ladislav Michl <[email protected]> Signed-off-by: Roger Quadros <[email protected]>
2017-10-14mtd: nand: omap2: Remove omap_nand_platform_dataLadislav Michl1-17/+0
As driver is now configured using DT, omap_nand_platform_data structure is no longer needed. Signed-off-by: Ladislav Michl <[email protected]> Acked-by: Roger Quadros <[email protected]> Signed-off-by: Boris Brezillon <[email protected]>
2016-04-15mtd: nand: omap2: Implement NAND ready using gpiolibRoger Quadros1-1/+1
The GPMC WAIT pin status are now available over gpiolib. Update the omap_dev_ready() function to use gpio instead of directly accessing GPMC register space. Signed-off-by: Roger Quadros <[email protected]> Acked-by: Brian Norris <[email protected]> Acked-by: Boris Brezillon <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2016-04-15memory: omap-gpmc: Prevent GPMC_STATUS from being accessed via gpmc_regsRoger Quadros1-1/+2
GPMC_STATUS register is private to the GPMC module and must not be accessed directly by NAND driver through the gpmc_regs. They must use gpmc_omap_get_nand_ops() instead. Signed-off-by: Roger Quadros <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2016-04-15mtd: nand: omap: Clean up device tree supportRoger Quadros1-2/+1
Move NAND specific device tree parsing to NAND driver. The NAND controller node must have a compatible id, register space resource and interrupt resource. Signed-off-by: Roger Quadros <[email protected]> Acked-by: Brian Norris <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2016-04-15mtd: nand: omap: Use gpmc_omap_get_nand_ops() to get NAND registersRoger Quadros1-1/+3
Deprecate nand register passing via platform data and use gpmc_omap_get_nand_ops() instead. Signed-off-by: Roger Quadros <[email protected]> Acked-by: Brian Norris <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2014-09-17nand: omap2: Add support for flash-based bad block tableEzequiel García1-0/+1
This commit adds a new platform-data boolean property that enables use of a flash-based bad block table. This can also be enabled by setting the 'nand-on-flash-bbt' devicetree property. If the flash BBT is not enabled, the driver falls back to use OOB bad block markers only, as before. If the flash BBT is enabled the kernel will keep track of bad blocks using a BBT, in addition to the OOB markers. As explained by Brian Norris the reasons for using a BBT are: "" The primary reason would be that NAND datasheets specify it these days. A better argument is that nobody guarantees that you can write a bad block marker to a worn out block; you may just get program failures. This has been acknowledged by several developers over the last several years. Additionally, you get a boot-time performance improvement if you only have to read a few pages, instead of a page or two from every block on the flash. "" Signed-off-by: Ezequiel Garcia <[email protected]> Acked-by: Roger Quadros <[email protected]> Signed-off-by: Brian Norris <[email protected]>
2014-08-25mtd: nand: omap: Revert to using software ECC by defaultRoger Quadros1-2/+11
For v3.12 and prior, 1-bit Hamming code ECC via software was the default choice. Commit c66d039197e4 in v3.13 changed the behaviour to use 1-bit Hamming code via Hardware using a different ECC layout i.e. (ROM code layout) than what is used by software ECC. This ECC layout change causes NAND filesystems created in v3.12 and prior to be unusable in v3.13 and later. So revert back to using software ECC by default if an ECC scheme is not explicitely specified. This defect can be observed on the following boards during legacy boot -omap3beagle -omap3touchbook -overo -am3517crane -devkit8000 -ldp -3430sdp Signed-off-by: Roger Quadros <[email protected]> Tested-by: Grazvydas Ignotas <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2014-05-20mtd: nand: omap: add support for BCH16_ECC - GPMC driver updatespekon gupta1-0/+5
This patch add support for BCH16_ECC in GPMC (controller) driver: - extends configuration space to include BCH16 registers - extends parsing of DT binding for selecting BCH16 ecc-scheme Signed-off-by: Pekon Gupta <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Brian Norris <[email protected]>
2014-01-11mtd: omap2: Cleanup header filesSachin Kamat1-2/+0
Commit 2203747c9771 ("ARM: omap: move platform_data definitions") moved the files to the current location but forgot to remove the pointer to its previous location. Clean it up. Signed-off-by: Sachin Kamat <[email protected]> Acked-by: Pekon Gupta <[email protected]> Signed-off-by: Brian Norris <[email protected]>
2013-11-06mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemesPekon Gupta1-6/+1
OMAP NAND driver currently supports multiple flavours of 1-bit Hamming ecc-scheme, like: - OMAP_ECC_HAMMING_CODE_DEFAULT 1-bit hamming ecc code using software library - OMAP_ECC_HAMMING_CODE_HW 1-bit hamming ecc-code using GPMC h/w engine - OMAP_ECC_HAMMING_CODE_HW_ROMCODE 1-bit hamming ecc-code using GPMC h/w engin with ecc-layout compatible to ROM code. This patch combines above multiple ecc-schemes into single implementation: - OMAP_ECC_HAM1_CODE_HW 1-bit hamming ecc-code using GPMC h/w engine with ROM-code compatible ecc-layout. Signed-off-by: Pekon Gupta <[email protected]> Reviewed-by: Felipe Balbi <[email protected]> Acked-by: Tony Lindgren <[email protected]> Tested-by: Ezequiel Garcia <[email protected]> Signed-off-by: Brian Norris <[email protected]>
2013-11-06ARM: OMAP2+: cleaned-up DT support of various ECC schemesPekon Gupta1-2/+11
OMAP NAND driver support multiple ECC scheme, which can used in different flavours, depending on in-build Hardware engines present on SoC. This patch updates following in DT bindings related to sectionion of ecc-schemes - ti,elm-id: replaces elm_id (maintains backward compatibility) - ti,nand-ecc-opts: selection of h/w or s/w implementation of an ecc-scheme depends on ti,elm-id. (supported values ham1, bch4, and bch8) - maintain backward compatibility to deprecated DT bindings (sw, hw, hw-romcode) Below table shows different flavours of ecc-schemes supported by OMAP devices +---------------------------------------+---------------+---------------+ | ECC scheme |ECC calculation|Error detection| +---------------------------------------+---------------+---------------+ |OMAP_ECC_HAM1_CODE_HW |H/W (GPMC) |S/W | +---------------------------------------+---------------+---------------+ |OMAP_ECC_BCH8_CODE_HW_DETECTION_SW |H/W (GPMC) |S/W | |(requires CONFIG_MTD_NAND_ECC_BCH) | | | +---------------------------------------+---------------+---------------+ |OMAP_ECC_BCH8_CODE_HW |H/W (GPMC) |H/W (ELM) | |(requires CONFIG_MTD_NAND_OMAP_BCH && | | | | ti,elm-id in DT) | | | +---------------------------------------+---------------+---------------+ To optimize footprint of omap2-nand driver, selection of some ECC schemes also require enabling following Kconfigs, in addition to setting appropriate DT bindings - Kconfig:CONFIG_MTD_NAND_ECC_BCH error detection done in software - Kconfig:CONFIG_MTD_NAND_OMAP_BCH error detection done by h/w engine Signed-off-by: Pekon Gupta <[email protected]> Reviewed-by: Felipe Balbi <[email protected]> Acked-by: Tony Lindgren <[email protected]> Tested-by: Ezequiel Garcia <[email protected]> Signed-off-by: Brian Norris <[email protected]>
2013-01-14mtd: omap-nand: pass device_node in platform dataDaniel Mack1-1/+3
Pass an optional device_node pointer in the platform data, which in turn will be put into a mtd_part_parser_data. This way, code that sets up the platform devices can pass along the node from DT so that the partitions can be parsed. For non-DT boards, this change has no effect. Signed-off-by: Daniel Mack <[email protected]> Acked-by: Grant Likely <[email protected]> Acked-by: Artem Bityutskiy <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2012-10-15ARM: OMAP2+: gpmc: nand register helper bch updateAfzal Mohammed1-1/+6
Update helper function that provides gpmc-nand register details for nand driver with bch register information. Using this nand driver can be made self sufficient to handle remaining gpmc-nand operations by itself instead of relying on gpmc exported nand functions. Signed-off-by: Afzal Mohammed <[email protected]>
2012-10-15ARM: OMAP2+: nand: header cleanupAfzal Mohammed1-12/+29
For common arm zImage existing nand header file in platform specific location was moved to generic platform data location, but it contained more than platform data, remove it. New local header has been created for exposing functions. Also move gpmc-nand platform data to platform header meant for nand from gpmc header file Signed-off-by: Afzal Mohammed <[email protected]>
2012-09-19ARM: omap: move platform_data definitionsArnd Bergmann1-0/+43
Platform data for device drivers should be defined in include/linux/platform_data/*.h, not in the architecture and platform specific directories. This moves such data out of the omap include directories Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Mark Brown <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Acked-by: Nicolas Pitre <[email protected]> Acked-by: Tony Lindgren <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: "Benoît Cousson" <[email protected]> Cc: Dmitry Torokhov <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Kyungmin Park <[email protected]> Cc: Ohad Ben-Cohen <[email protected]> Cc: Grant Likely <[email protected]> Cc: Omar Ramirez Luna <[email protected]> Cc: Tomi Valkeinen <[email protected]> Cc: Florian Tobias Schandinat <[email protected]> Cc: Peter Ujfalusi <[email protected]> Cc: Jarkko Nikula <[email protected]> Cc: Liam Girdwood <[email protected]> Cc: Artem Bityutskiy <[email protected]> Cc: Jean Pihet <[email protected]> Cc: J Keerthy <[email protected]> Cc: [email protected]