linux/drivers/mtd/nand/raw
Christophe Kerello 4114b17af4 mtd: rawnand: stm32_fmc2: avoid to lock the CPU bus
We are currently using nand_soft_waitrdy to poll the status of the NAND
flash. FMC2 enables the wait feature bit (this feature is mandatory for
the sequencer mode). By enabling this feature, we can't poll the status
of the NAND flash, the read status command is stucked in FMC2 pipeline
until R/B# signal is high, and locks the CPU bus.
To avoid to lock the CPU bus, we poll FMC2 ISR register. This register
reports the status of the R/B# signal.

Fixes: 2cd457f328 ("mtd: rawnand: stm32_fmc2: add STM32 FMC2 NAND flash controller driver")
Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2020-01-09 20:03:41 +01:00
..
atmel treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
bcm47xxnflash treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
brcmnand mtd: rawnand: brcmnand: Fix NULL pointer assignment 2019-10-29 14:40:40 +01:00
gpmi-nand mtd: rawnand: gpmi: remove double assignment to block_size 2019-06-27 20:06:42 +02:00
ingenic Main MIPS changes for v5.4: 2019-09-22 09:30:30 -07:00
ams-delta.c mtd: rawnand: ams-delta: Use GPIO API for data I/O 2018-12-07 10:38:27 +01:00
au1550nd.c mtd: rawnand: au1550nd: Fix au_read_buf16() prototype 2019-10-07 09:56:36 +02:00
cadence-nand-controller.c mtd: rawnand: remove unecessary checking if dmac is NULL 2019-10-30 09:22:13 +01:00
cafe_nand.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
cmx270_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cs553x_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
davinci_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
denali_dt.c Raw NAND core 2019-11-17 18:34:25 +01:00
denali_pci.c mtd: rawnand: denali: decouple controller and NAND chips 2019-04-18 08:54:03 +02:00
denali.c mtd: rawnand: denali: clean up coding style 2019-04-18 08:54:04 +02:00
denali.h mtd: rawnand: denali: decouple controller and NAND chips 2019-04-18 08:54:03 +02:00
diskonchip.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
fsl_elbc_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
fsl_ifc_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
fsl_upm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsmc_nand.c mtd: rawnand: fsmc: Use nand_op_trace for operation tracing 2019-06-27 20:05:26 +02:00
gpio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
hisi504_nand.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
internals.h mtd: rawnand: Support bad block markers in first, second or last page 2019-04-18 08:54:08 +02:00
Kconfig mtd: rawnand: Add new Cadence NAND driver to MTD subsystem 2019-10-04 18:02:22 +02:00
lpc32xx_mlc.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
lpc32xx_slc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
Makefile mtd: rawnand: Add new Cadence NAND driver to MTD subsystem 2019-10-04 18:02:22 +02:00
marvell_nand.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
meson_nand.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
mpc5121_nfc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
mtk_ecc.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
mtk_ecc.h mtd: rawnand: mtk: Re-license MTK NAND driver as Dual MIT/GPL 2019-06-27 20:07:46 +02:00
mtk_nand.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
mxc_nand.c mtd: rawnand: Deprecate the dummy_controller field 2018-12-07 10:58:11 +01:00
mxic_nand.c mtd: rawnand: mxic: Remove dev_err() on platform_get_irq() failure 2019-10-29 14:40:42 +01:00
nand_amd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
nand_base.c mtd: rawnand: Change calculating of position page containing BBM 2019-10-04 18:02:20 +02:00
nand_bbt.c mtd: rawnand: Fix a memory leak bug 2019-08-24 13:13:41 +02:00
nand_bch.c mtd: rawnand: Use kzalloc() instead of kmalloc() and memset() 2019-06-28 12:00:46 +02:00
nand_ecc.c docs: mtd: move it to the driver-api book 2019-07-15 09:20:28 -03:00
nand_esmt.c mtd: rawnand: ESMT: Also use the last page for bad block markers 2019-04-18 08:54:08 +02:00
nand_hynix.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
nand_ids.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
nand_jedec.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nand_legacy.c mtd: rawnand: Annotate implicit fall through in nand_command/nand_command_lp 2019-02-05 16:56:10 +01:00
nand_macronix.c mtd: rawnand: Add Macronix NAND read retry support 2019-06-27 20:06:40 +02:00
nand_micron.c mtd: rawnand: Change calculating of position page containing BBM 2019-10-04 18:02:20 +02:00
nand_onfi.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nand_samsung.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
nand_timings.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
nand_toshiba.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
nandsim.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 150 2019-05-30 11:25:19 -07:00
ndfc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
omap2.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
omap_elm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
orion_nand.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
oxnas_nand.c mtd: rawnand: oxnas: Add of_node_put() 2019-07-25 14:21:44 +02:00
pasemi_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
plat_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
qcom_nandc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
r852.c mtd: rawnand: r852: Use dev_get_drvdata 2019-08-07 18:15:38 +02:00
r852.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
s3c2410.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
sh_flctl.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
sharpsl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sm_common.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sm_common.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
socrates_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
stm32_fmc2_nand.c mtd: rawnand: stm32_fmc2: avoid to lock the CPU bus 2020-01-09 20:03:41 +01:00
sunxi_nand.c mtd: Remove dev_err() usage after platform_get_irq() 2019-10-08 19:01:49 +02:00
tango_nand.c mtd: rawnand: tango: Add of_node_put() before return 2019-07-25 14:21:44 +02:00
tegra_nand.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
tmio_nand.c mtd: rawnand: Stop using chip->state in drivers 2019-02-05 15:39:40 +01:00
txx9ndfmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
vf610_nfc.c mtd: rawnand: vf610: Add of_node_put() before goto 2019-07-25 14:21:44 +02:00
xway_nand.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00