- 03 9月, 2015 3 次提交
-
-
由 Roger Quadros 提交于
As both omap2 onenand and omap2 nand driver modules are named the same i.e. "omap2.ko", only one of them gets shipped during MODPOST if both are configured as loadable modules. To avoid this ambiguity let's ship the omap2 nand driver as "omap2_nand.ko" Reported by Pierre Neyron via github https://github.com/beagleboard/linux/issues/40 Cc: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: NRoger Quadros <rogerq@ti.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Alexis Ballier 提交于
It is a 256KiB flash with 4 KiB erase sectors and 64KiB overlay blocks. This is the one available on Hardkernel's Odroid U3 shield. Signed-off-by: NAlexis Ballier <aballier@gentoo.org> [Brian: seems like this does NOT require the usual SST_WRITE hacks] Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Mika Westerberg 提交于
Add Micron (n25q064a) 8MB flash to the list of supported chips. Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: NJagan Teki <jteki@openedev.com> [Brian: fixup context] Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 28 8月, 2015 1 次提交
-
-
由 Roger Quadros 提交于
When vary_offset is set (e.g. test case 3), the offset is not always zero so memcmpshow() will show the wrong offset in the print message. To fix this we introduce a new function memcmpshowoffset() which takes offset as a parameter and displays the right offset and use it in the case where offset is non zero. The old memcmpshow() functionality is preserved by converting it into a macro with offset preset to 0. Signed-off-by: NRoger Quadros <rogerq@ti.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 26 8月, 2015 3 次提交
-
-
由 Tomer Barletz 提交于
With gcc 5.1 I get: warning: switch condition has boolean value [-Wswitch-bool] Signed-off-by: NTomer Barletz <barletz@gmail.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Rafał Miłecki 提交于
Using struct spi_device_id for storing list of flash devices comes from early SPI NOR framework days. Thanks to the commit 70f3ce05 ("mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id") we can stop using spi_device_id and just switch to our own struct. Signed-off-by: NRafał Miłecki <zajec5@gmail.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Oleksij Rempel 提交于
Add the full description of the Toshiba TC58NVG0S3E NAND chip in the nand_ids table so that we can later use the NAND ECC info and ONFI timing mode in controller drivers. Tested with asm9260_nand driver. [Brian: driver still under review] Signed-off-by: NOleksij Rempel <linux@rempel-privat.de> Reviewed-by: NBoris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 22 8月, 2015 1 次提交
-
-
由 Javier Martinez Canillas 提交于
The SPI core currently reports the MODALIAS uevent as "spi:<modalias>" even for SPI devices that were registered by OF. That means the OF module alias exported by MODULE_OF_TABLE(of,...) is currently not used and user-space has no way to autoload this module. But it is still a good practice to add the OF module alias information into the kernel module even when it currently is unused so once the SPI core is changed to report a correct OF modalias uevent, module autoloading will be working for this driver. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 20 8月, 2015 3 次提交
-
-
由 Ezequiel García 提交于
The read ID count should be made as large as the maximum READ_ID size, so there's no need to have dynamic size. This commit sets the hardware maximum read ID count, which should be more than enough on all cases. Also, we get rid of the read_id_bytes, and use a macro instead. Signed-off-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar> Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Robert Jarzmik 提交于
When 2 commands are submitted in a row, and the second is very quick, the completion of the second command might never come. This happens especially if the second command is quick, such as a status read after an erase. The issue is that in the interrupt handler, the status bits are cleared after the new command is issued. There is a small temporal window where this happens : - the previous command has set the command done bit - the ready for a command bit is set - the handler submits the next command - just then, the command completes, and the command done bit is still set - the handler clears the "previous" command done bit - the handler exits In this flow, the "command done" of the next command will never trigger a new interrupt to finish the status command, as it was cleared for both commands. Fix this by clearing the status bit before submitting a new command. Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Acked-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar> Tested-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Robert Jarzmik 提交于
When the nand is first probe, and upon the first command start, the status bits should be cleared before the interrupts are unmasked. The bug is tricky : if the bootloader left a status bit set, the unmasking of interrupts does trigger the interrupt handler before the first command is issued, blocking the good behavior of the nand. The same would happen if in pxa3xx_nand code flow a status bit is left, and then a command is started. Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Acked-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar> Tested-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 19 8月, 2015 8 次提交
-
-
由 Antoine Ténart 提交于
When keeping the configuration set by the bootloader (by using the marvell,nand-keep-config property), the pxa3xx_nand_detect_config() function is called and set the chunk size to 512 as a default value if NDCR_PAGE_SZ is not set. In the other case, when not keeping the bootloader configuration, no chunk size is set. Fix this by adding a default chunk size of 512. Fixes: 70ed8523 ("mtd: nand: pxa3xx: Introduce multiple page I/O support") Signed-off-by: NAntoine Tenart <antoine.tenart@free-electrons.com> Acked-by: NRobert Jarzmik <robert.jarzmik@free> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Axel Lin 提交于
Remove extra space after the "platform:" prefix and make the alias matches driver name. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NRoger Quadros <rogerq@ti.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Colin Ian King 提交于
static analysis by smatch caught the following error: drivers/mtd/maps/physmap_of.c:135 of_get_probes() error: potential null dereference 'res'. (kzalloc returns null) Check for failed kzalloc and return -ENOMEM in of_flash_probe if this occurs. Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Alexey Khoroshilov 提交于
If mtd_device_register() fails in nettel_init(), iomap left mapped. The patch adds failure handling for mtd_device_register(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: NAlexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Andy Shevchenko 提交于
It is better to have device name prefixed the actual error message. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Andy Shevchenko 提交于
In recent kernels we have a lot of helper functions, including devres API, to make life of device driver developer easy. Convert the driver using devm_kzalloc() and pcim_enable_device(). Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Andy Shevchenko 提交于
Let's use module_pci_driver() macro to reduce code base of the driver. There is no functional change. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Andy Shevchenko 提交于
There is no need to user to see the core part of the driver. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 15 8月, 2015 5 次提交
-
-
由 Antony Pavlov 提交于
Spansion S25FL204K is a 4-Mbit 3.0V Serial Flash Memory with Uniform 4 kB Sectors. Signed-off-by: NAntony Pavlov <antonynpavlov@gmail.com> Acked-by: NRafał Miłecki <zajec5@gmail.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Fabio Estevam 提交于
The current "We only connect the NOR to this controller now." text is not very clear, so explain it better by saying that generic SPI is not supported by SPI_FSL_QUADSPI and only SPI NOR is. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Joachim Eastwood 提交于
Add SPI-NOR driver for the SPI Flash Interface (SPIFI) controller that is found on newer NXP MCU devices. The controller supports serial SPI Flash devices with 1-, 2- and 4-bit width in either SPI mode 0 or 3. The controller can operate in either command or memory mode. In memory mode the Flash is exposed as normal memory and can be directly accessed by the CPU. Signed-off-by: NJoachim Eastwood <manabian@gmail.com> Reviewed-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Joachim Eastwood 提交于
Add device tree binding documentation for the SPI Flash Interface (SPIFI) found on NXP LPC18xx and LPC43xx devies. Signed-off-by: NJoachim Eastwood <manabian@gmail.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Ezequiel Garcia 提交于
The initial buffer is used for the initial commands used to detect a flash device (STATUS, READID and PARAM). ONFI param page is 256 bytes, and there are three redundant copies to be read. JEDEC param page is 512 bytes, and there are also three redundant copies to be read. Hence this buffer should be at least 512 x 3. This commits rounds the buffer size to 2048. Signed-off-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 08 8月, 2015 1 次提交
-
-
由 Axel Lin 提交于
While IS_ENABLED() is perfectly fine for CONFIG_* symbols, it is not for other symbols such as __BIG_ENDIAN that is provided directly by the compiler. Switch to use CONFIG_CPU_BIG_ENDIAN instead of __BIG_ENDIAN. Fixes: 27c5b17c ("mtd: nand: add NAND driver "library" for Broadcom STB NAND controller") Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 07 8月, 2015 10 次提交
-
-
由 Frank Li 提交于
Erase function will use cmd 0x20 (SPINOR_OP_BE_4K) if kenrel enable option CONFIG_MTD_SPI_NOR_USE_4K_SECTORS. This command is not in fsl-quadspi driver LUT. So driver continue report fsl-quadspi 21e0000.qspi: Unsupported cmd 0x20. This patch fix this issue. Signed-off-by: NFrank Li <Frank.Li@freescale.com> Acked-by: NHan Xu <Han.xu@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Frank Li 提交于
The uboot may run the QuadSpi controler with command: #sf probe So we should reset the module in the probe. This patch also clear the pending interrupts which arised by the uboot code. Signed-off-by: NHuang Shijie <shijie8@gmail.com> Signed-off-by: NFrank Li <Frank.Li@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Frank Li 提交于
QSPI1 cannot wake up CCM from WAIT mode on SX ARD board, add pmqos to let PM NOT enter WAIT mode when accessing QSPI1, refer to TKT245618. Signed-off-by: NFrank Li <Frank.Li@freescale.com> Signed-off-by: NHan Xu <Han.xu@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Allen Xu 提交于
We found there is a low probability(5%) QSPI access timeout issue, usually it happened on kernel boot stage, the first time kernel tried to access QSPI chip. The READ_ID command was sent but not executed, consequently the probe function failed. The root cause is that the divider is not glitchless in i.MX6SX chip. If qspi clock enabled then change clock frequency by call clk_set_rate, there will be glitch at low possiblity rate and pass to qspi controller. The controler will be hang by this glitch. Based on the new clock flag(CLK_SET_RATE_GATE) and new framework, we need to change the approach of seting clock rate. 1. Disable clock. 2. call clk_set_rate. 3. Enable clock again. Signed-off-by: NHan Xu <han.xu@freescale.com> Signed-off-by: NFrank Li <Frank.Li@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Frank Li 提交于
new compatible string: "fsl,imx6ul-qspi". Signed-off-by: NFrank Li <Frank.Li@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Frank Li 提交于
Add i.mx6ul chip support Signed-off-by: NFrank Li <Frank.Li@freescale.com> Acked-by: NHan xu <han.xu@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Frank Li 提交于
new compatible string: "fsl,imx7d-qspi" Signed-off-by: NFrank Li <Frank.Li@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Frank Li 提交于
Support i.mx7d. quadspi in i.mx7d increase rxfifo. require fill at least 16byte to trigger data transfer. Signed-off-by: NFrank Li <Frank.Li@freescale.com> Signed-off-by: NHan Xu <han.xu@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Han Xu 提交于
add several quirk to distinguish different version of qspi module. Signed-off-by: NHan Xu <han.xu@freescale.com> Signed-off-by: NFrank Li <Frank.Li@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Han Xu 提交于
QSPI may failed to map enough memory (256MB) for AHB read in previous implementation, especially in 3G/1G memory layout kernel. Dynamically map memory to avoid such issue. This implementation generally map QUADSPI_MAX_IOMAP (default 4MB) memory for AHB read, it should be enough for common scenarios, and the side effect (0.6% performance drop) is minor. Previous implementation root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=1K count=32K 32768+0 records in 32768+0 records out 33554432 bytes (34 MB) copied, 2.16006 s, 15.5 MB/s root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB) copied, 1.43149 s, 23.4 MB/s After applied the patch root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=1K count=32K 32768+0 records in 32768+0 records out 33554432 bytes (34 MB) copied, 2.1743 s, 15.4 MB/s root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB) copied, 1.43158 s, 23.4 MB/s Signed-off-by: NHan Xu <han.xu@freescale.com> Signed-off-by: NFrank Li <Frank.Li@freescale.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 22 7月, 2015 1 次提交
-
-
由 Brian Norris 提交于
When we added the "jedec,spi-nor" compatible string for use in this driver, we added it as a modalias option. The modalias can be derived in different ways for platform devices vs. device tree (of_*) matching. But for device tree matching (the primary target of this identifier string), the modalias is determined from the first entry in the 'compatible' property. IOW, the following properties would bind to this driver: // Option (a), modalias = "spi-nor" compatible = "jedec,spi-nor"; // Option (b), modalias = "spi-nor" compatible = "idontknowwhatimdoing,spi-nor"; But the following would not: // Option (c), modalias = "shinynewdevice" compatible = "myvendor,shinynewdevice", "jedec,spi-nor"; So, we'd like to match (a) and (c) (even when we don't have an explicit entry for "shinynewdevice"), and we'd rather not allow (b). To do this, we (1) always (for devices without specific platform data) pass the modalias to the spi-nor library; (2) rework the spi-nor library to not reject "bad" names, and instead just fall back to autodetection; and (3) add the .of_match_table to properly catch all "jedec,spi-nor". This allows (a) and (c) without warnings, and rejects (b). Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
- 21 7月, 2015 4 次提交
-
-
由 Roy Spliet 提交于
Replaces the hard coded "always use EDO" policy with that prescribed by the ONFI 3.1 specification that EDO mode should always be used if tRC is below 30ns. Signed-off-by: NRoy Spliet <r.spliet@ultimaker.com> Acked-by: NBoris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Roy Spliet 提交于
The TIMING_CFG register was previously statically set to a magic value (extracted from Allwinner's BSP) when initializing the NAND controller. Now that we have more details about the TIMING_CFG register layout (extracted from the A83 user manual) we can dynamically calculate the appropriate value for each NAND chip and set it when selecting the chip. Signed-off-by: NRoy Spliet <r.spliet@ultimaker.com> Acked-by: NBoris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Alexey Firago 提交于
Micron n25q064 flash supports 4 KiB erase sectors. Signed-off-by: NAlexey Firago <alexey_firago@mentor.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-
由 Alexander Stein 提交于
QUADSPI_MCR_CLR_TXF_MASK is the correct mask for clearing the TX FIFO. Signed-off-by: NAlexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
-