aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/devices/m25p80.c
Commit message (Collapse)AuthorAge
* mtd: m25p80: add support for Micron N25Q128Jan Luebbe2012-09-29
| | | | | | Signed-off-by: Jan Luebbe <jlu@pengutronix.de> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: add support for Micron N25Q256AVivien Didelot2012-09-29
| | | | | | | | | | | The manufacturer datasheet can be found on the Micron website, under the name n25q_256mb_3v_65nm.pdf: http://www.micron.com/search?source=ps&q=n25q_256mb_3v_65nm Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Fix the Spansion chip detectionMarek Vasut2012-09-29
| | | | | | | | | | | | | | | | | | | | | Due to the implementation of the following loop at the end of jedec_probe(): 776 for (tmp = 0; tmp < ARRAY_SIZE(m25p_ids) - 1; tmp++) { 777 info = (void *)m25p_ids[tmp].driver_data; 778 if (info->jedec_id == jedec) { 779 if (info->ext_id != 0 && info->ext_id != ext_jedec) 780 continue; 781 return &m25p_ids[tmp]; 782 } 783 } In particular line 779 in the above numbering, the chips with ext_id != 0 must be ordered first in the list of chips (m25p_ids[]). Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: add support for Spansion s25sl064p chipMarek Vasut2012-09-29
| | | | | | Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add support for serial flash STM/Micron N25Q032Knut Wohlrab2012-07-17
| | | | | Signed-off-by: Knut Wohlrab <knut.wohlrab@de.bosch.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add support for Atmel at45db081dChunhe Lan2012-07-06
| | | | | | Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add support for n25q064Alexandre Pereira da Silva2012-07-06
| | | | | | Signed-off-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add support for m25pe20Alexandre Pereira da Silva2012-07-06
| | | | | | Signed-off-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: add JEDEC ID for w25q32dw to chip tableing. Federico Fuga2012-07-06
| | | | | | | | Adds JEDEC ID for the 1.8V version of WinBond w25q32. Signed-off-by: Federico Fuga <fuga@studiofuga.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add support for Winbond W25Q80BWThomas Abraham2012-05-14
| | | | | | | | Winbond W25Q80BW is a 8Mbit serial flash memory device. Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: add m25p80 id for mx25l2005aJohn Crispin2012-05-14
| | | | | | | | Add the id and sector mappings for mx25l2005a flash chips. Signed-off-by: John Crispin <blogic@openwrt.org> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: add support for Everspin MR25H256 MRAM chipMarek Vasut2012-05-14
| | | | | | | | This chip isn't JEDEC-compatible. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: move zero length verification to MTD API functionsArtem Bityutskiy2012-03-26
| | | | | | | | | | | In many places in drivers we verify for the zero length, but this is very inconsistent across drivers. This is obviously the right thing to do, though. This patch moves the check to the MTD API functions instead and removes a lot of duplication. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: remove retlen zeroing duplicationArtem Bityutskiy2012-03-26
| | | | | | | | | | | | | | | The MTD API function now zero the 'retlen' parameter before calling the driver's method — do not do this again in drivers. This removes duplicated '*retlen = 0' assignent from the following methods: 'mtd_point()' 'mtd_read()' 'mtd_write()' 'mtd_writev()' 'mtd_panic_write()' Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: do not duplicate length and offset checks in driversArtem Bityutskiy2012-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | We already verify that offset and length are within the MTD device size in the MTD API functions. Let's remove the duplicated checks in drivers. This patch only affects the following API's: 'mtd_erase()' 'mtd_point()' 'mtd_unpoint()' 'mtd_get_unmapped_area()' 'mtd_read()' 'mtd_write()' 'mtd_panic_write()' 'mtd_lock()' 'mtd_unlock()' 'mtd_is_locked()' 'mtd_block_isbad()' 'mtd_block_markbad()' This patch adds a bit of noise by removing too sparse empty lines, but this is not too bad. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: set writebufsizeBrian Norris2012-03-26
| | | | | | | | | | | | | | Using UBI on m25p80 can give messages like: UBI error: io_init: bad write buffer size 0 for 1 min. I/O unit We need to initialize writebufsize; I think "page_size" is the correct "bufsize", although I'm not sure. Comments? Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: stable@kernel.org [2.6.38+] Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: add leading underscore to all mtd functionsArtem Bityutskiy2012-03-26
| | | | | | | | | | | | | | | | | | | | | This patch renames all MTD functions by adding a "_" prefix: mtd->erase -> mtd->_erase mtd->read_oob -> mtd->_read_oob ... The reason is that we are re-working the MTD API and from now on it is an error to use MTD function pointers directly - we have a corresponding API call for every pointer. By adding a leading "_" we achieve the following: 1. Make sure we convert every direct pointer users 2. A leading "_" suggests that this interface is internal and it becomes less likely that people will use them directly 3. Make sure all the out-of-tree modules stop compiling and the owners spot the big API change and amend them. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: convert drivers/mtd/* to use module_spi_driver()Axel Lin2012-03-26
| | | | | | | | | This patch converts the drivers in drivers/mtd/* to use the module_spi_driver() macro which makes the code smaller and a bit simpler. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: Remove redundant spi driver bus initializationLars-Peter Clausen2012-01-09
| | | | | | | | | | | | | | | | | | | | | | In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_driver_register(), so we can drop the manual assignment. The patch was generated using the following coccinelle semantic patch: // <smpl> @@ identifier _driver; @@ struct spi_driver _driver = { .driver = { - .bus = &spi_bus_type, }, }; // </smpl> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: don't probe device which has status of 'disabled'Shaohui Xie2011-10-16
| | | | | | | | | On some platforms such as P3060QDS, has multiple spi flashes, but they are not available at same time, so if their status is 'disabled', which is set by u-boot, will not be probed. Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
* mtd: m25p80: add EON flash EN25Q32B into spi flash id tableShaohui Xie2011-10-14
| | | | | | | | | | Add support for EON spi flash EN25Q32B, which is not listed in id table, need to add it in the id table to support the EON flash. Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
* mtd: m25p80: add support for at25df321a spi data flashMikhail Kshevetskiy2011-09-26
| | | | | Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
* mtd: cleanup style on pr_debug messagesBrian Norris2011-09-11
| | | | | Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
* mtd: replace DEBUG() with pr_debug()Brian Norris2011-09-11
| | | | | | | | | | | | | | Start moving away from the MTD_DEBUG_LEVEL messages. The dynamic debugging feature is a generic kernel feature that provides more flexibility. (See Documentation/dynamic-debug-howto.txt) Also fix some punctuation, indentation, and capitalization that went along with the affected lines. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
* mtd: m25p80.c: use mtd_device_parse_registerDmitry Eremin-Solenikov2011-09-11
| | | | | | | | | Replace custom invocations of parse_mtd_partitions and mtd_device_register with common mtd_device_parse_register call. This would bring: standard handling of all errors, fallback to default partitions, etc. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
* mtd: m25p80: use ofpart through generic parsingDmitry Eremin-Solenikov2011-09-11
| | | | | | | | Convert the driver to use ofpart partitions parsing through the generic parse_mtd_partitions(). Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
* mtd: m25p80 don't specify default parsing optionsDmitry Eremin-Solenikov2011-09-11
| | | | | | | | | Since 'cmdline, NULL' is now a default for parse_mtd_partitions, don't specify this in every driver, instead pass NULL to force parse_mtd_partitions to use default. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
* mtd: m25p80: convert to mtd_device_register()Jamie Iles2011-05-24
| | | | | | | | | Convert to mtd_device_register() and remove the CONFIG_MTD_PARTITIONS preprocessor conditionals as partitioning is always available. Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add Spansion S25FL512S, S70FL01GSKevin Cernekee2011-05-24
| | | | | | | | | | | | S25FL512S = 64MiB single die, same family as S25FL256S S70FL01GS = 2x S25FL512S dies in one package (separate chip selects) These devices are not sampling yet, but they are expected to be very similar to S25FL256S, which has been tested. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add Spansion S25FL256SKevin Cernekee2011-05-24
| | | | | | | | | | | These are 32MiB parts which use a slightly different 4-byte enable sequence from Macronix. Default to the Spansion 4-byte scheme in set_4byte(), as it is more likely to be copied by other vendors. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Clean up JEDEC manufacturer checksKevin Cernekee2011-05-24
| | | | | | | | | Use the manufacturer ID names from cfi.h instead of hard-coding hex constants. Introduce a JEDEC_MFR macro for clarity. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add Numonyx m25px32 familyKevin Cernekee2011-05-24
| | | | | | Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: add support for the MX25L1606E chipGabor Juhos2011-05-24
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: add support for M25PX64Yoshihiro Shimoda2011-03-11
| | | | | Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: add support for the EON EN25F32 chipGabor Juhos2011-03-11
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Fix JEDEC ID for AT26DF321Aleksandr Koltsoff2011-01-06
| | | | | | | | | The last byte of the ID should be zero for this chip. Was added in commit d0e8c47c58575b9131e786edb488fd029eba443e . Reported by Tomi Varjo. Signed-off-by: Aleksandr Koltsoff <aleksandr.koltsoff@ebts.fi> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: add debugging trace in sst_writeNicolas Ferre2011-01-06
| | | | | | | | Add a DEBUG(MTD_DEBUG_LEVEL2, ..) trace at beginning of sst_write() function as it is done in m25p80_write() function. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add support for Macronix MX25L25655EKevin Cernekee2010-12-03
| | | | | | | | | Untested, but expected to be compatible with MX25L25635E which I did test. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Add support for Macronix MX25L25635EKevin Cernekee2010-12-03
| | | | | | | | | This is a 256Mbit (32MiB) part so minor changes were made to support 4-byte addressing. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: Reinstate error print on unrecognized flashKevin Cernekee2010-12-03
| | | | | | | | | | | | | Commit b34bc037b26e621e5fc13466767e4da110a7b3d3 removed the "unrecognized JEDEC id" error message, causing the probe function to silently abort if the flash ID is unrecognized. It is desirable to produce diagnostic output in this situation so that the user has some idea what went wrong. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: fix build error in m25p80.cAndres Salomon2010-10-30
| | | | | | | | | | | | | | | | While building an x86 distro kernel, I hit the following: Kernel: arch/x86/boot/bzImage is ready (#7) ERROR: "of_mtd_parse_partitions" [drivers/mtd/devices/m25p80.ko] undefined! of_mtd_parse_partitions is defined with MTD_OF_PARTS, and that's only built on PPC and microblaze. The code in question should be wrapped w/ a stricter #ifdef. Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* Merge branch 'master' of ↵David Woodhouse2010-10-30
|\ | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Conflicts: drivers/mtd/mtd_blkdevs.c Merge Grant's device-tree bits so that we can apply the subsequent fixes. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| * mtd/m25p80: add support to parse the partitions by OF nodeMingkai Hu2010-10-22
| | | | | | | | | | | | Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com> [grant.likely@secretlab.ca: wrap hunk with #ifdef CONFIG_OF] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* | mtd: m25p80.c: Add support for S25FL032P spi-nor flash devices.David Jander2010-10-24
| | | | | | | | | | | | Signed-off-by: David Jander <david@protonic.nl> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* | mtd: m25p80: Add support for the Winbond W25Q64Thierry Reding2010-10-24
| | | | | | | | | | | | | | | | This patch adds support for the Winbond W25Q64 serial flash. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* | mtd: m25p80: Add support for two new Spansion SPI devices (S25FL-K)Gernot Hoyler2010-10-24
|/ | | | | | | | | This patch adds support for Spansion S25FL016K and S25FL064K SPI flash. It has been tested with physical devices. Note that both parts exhibit a Winbond manufacturer ID so they might also be added to that section. Signed-off-by: Gernot Hoyler <Gernot.Hoyler@spansion.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd/m25p80: fix test for end of loopDan Carpenter2010-08-12
| | | | | | | | | | | | "plat_id" is always non-NULL here. There is a zero element on the end of the m25p_ids[] array and if we hit the end of the loop then plat_id points to that. This would lead to a NULL pointer dereference later on in the function. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd/m25p80: retlen is never NULLDan Carpenter2010-08-12
| | | | | | | | | | | | | | | | This is just a cleanup, it doesn't fix any bugs. These functions all check retlen inconsistently and it generates a warning in Smatch (http://smatch.sf.net). If retlen were ever NULL it would cause an oops and the code has been this way since 2006 so someone would have complained. Also I looked at other places that implemented the mtd read and write functions and they dereference retlen without checking. I removed the checks. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* mtd: m25p80: add support for the Winbond W25Q32 SPI flash chipGabor Juhos2010-08-06
| | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
* mtd: m25p80: add support for the Intel/Numonyx {16,32,64}0S33B SPI flash chipsGabor Juhos2010-08-06
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>