linux/drivers/mtd/nand/raw
Sivaprakash Murugesan cb272395dc mtd: rawnand: qcom: set BAM mode only if not set already
BAM is DMA controller on QCOM ipq platforms, BAM mode on NAND driver
is set by writing BAM_MODE_EN bit on NAND_CTRL register.

NAND_CTRL is an operational register and in BAM mode operational
registers are read only.

So, before enabling BAM mode by writing the NAND_CTRL register, check
if BAM mode was already enabled by the bootloader, and enable BAM mode
only if it is not enabled already.

Signed-off-by: Sivaprakash Murugesan <sivaprak@codeaurora.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/1591948696-16015-3-git-send-email-sivaprak@codeaurora.org
2020-06-26 08:35:10 +02:00
..
atmel mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
bcm47xxnflash mtd: rawnand: bcm47xx: Stop using nand_release() 2020-05-31 10:53:33 +02:00
brcmnand Raw NAND core changes: 2020-06-01 19:50:58 +02:00
gpmi-nand mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
ingenic mtd: rawnand: ingenic: Convert the driver to exec_op() 2020-05-31 10:53:37 +02:00
ams-delta.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
arasan-nand-controller.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
au1550nd.c mtd: rawnand: au1550nd: Stop using nand_release() 2020-05-31 10:53:26 +02:00
cadence-nand-controller.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
cafe_nand.c mtd: rawnand: cafe: Stop using nand_release() 2020-05-31 10:53:33 +02:00
cs553x_nand.c mtd: rawnand: cs553x: Stop using nand_release() 2020-05-31 10:53:33 +02:00
davinci_nand.c mtd: rawnand: Drop OOB_FIRST placement scheme 2020-05-31 10:53:41 +02:00
denali_dt.c mtd: rawnand: denali_dt: add reset controlling 2020-01-21 20:00:33 +01:00
denali_pci.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
denali.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
denali.h mtd: rawnand: Replace zero-length array with flexible-array member 2020-03-11 16:17:54 +01:00
diskonchip.c mtd: rawnand: diskonchip: Stop using nand_release() 2020-05-31 10:53:33 +02:00
fsl_elbc_nand.c mtd: rawnand: fsl_elbc: Stop using nand_release() 2020-05-31 10:53:33 +02:00
fsl_ifc_nand.c mtd: rawnand: fsl_ifc: Stop using nand_release() 2020-05-31 10:53:33 +02:00
fsl_upm.c mtd: rawnand: fsl_upm: Get rid of the legacy interface implementation 2020-06-26 08:35:09 +02:00
fsmc_nand.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
gpio.c mtd: rawnand: gpio: Get rid of the legacy interface implementation 2020-06-26 08:35:09 +02:00
hisi504_nand.c mtd: rawnand: hisi504: Stop using nand_release() 2020-05-31 10:53:34 +02:00
internals.h mtd: rawnand: Allocate the interface configurations dynamically 2020-06-26 08:35:08 +02:00
Kconfig mtd: nand: Drop useless 'depends on' in Kconfig 2020-06-26 08:35:03 +02:00
lpc32xx_mlc.c mtd: rawnand: lpc32xx_mlc: Stop using nand_release() 2020-05-31 10:53:34 +02:00
lpc32xx_slc.c mtd: rawnand: lpc32xx_slc: Stop using nand_release() 2020-05-31 10:53:34 +02:00
Makefile mtd: rawnand: arasan: Add new Arasan NAND controller 2020-05-24 22:34:55 +02:00
marvell_nand.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
meson_nand.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
mpc5121_nfc.c mtd: rawnand: mpc5121: Stop using nand_release() 2020-05-31 10:53:34 +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: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
mxc_nand.c mtd: rawnand: trivial spelling 2020-06-26 08:35:10 +02:00
mxic_nand.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
nand_amd.c
nand_base.c mtd: rawnand: Allocate the interface configurations dynamically 2020-06-26 08:35:08 +02:00
nand_bbt.c mtd: rawnand: trivial spelling 2020-06-26 08:35:10 +02:00
nand_bch.c lib/bch: Allow easy bit swapping 2020-05-24 20:48:11 +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
nand_hynix.c mtd: rawnand: hynix: Implement ->choose_interface_config() for H27UCG8T2ATR-BC 2020-06-26 08:35:08 +02:00
nand_ids.c mtd: rawnand: toshiba: Choose the interface configuration for TH58NVG2S3HBAI4 2020-06-26 08:35:08 +02:00
nand_jedec.c mtd: rawnand: jedec: Adapt the parameter page read to constraint controllers 2020-05-11 09:51:43 +02:00
nand_legacy.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
nand_macronix.c mtd: rawnand: Create a nand_chip operations structure 2020-06-26 08:35:04 +02:00
nand_micron.c mtd: rawnand: Create a nand_chip operations structure 2020-06-26 08:35:04 +02:00
nand_onfi.c mtd: rawnand: onfi: Adapt the parameter page read to constraint controllers 2020-05-11 09:51:43 +02:00
nand_samsung.c
nand_timings.c mtd: rawnand: Allocate the interface configurations dynamically 2020-06-26 08:35:08 +02:00
nand_toshiba.c mtd: rawnand: toshiba: Choose the interface configuration for TH58NVG2S3HBAI4 2020-06-26 08:35:08 +02:00
nandsim.c mtd: rawnand: nandsim: Reorganize ns_cleanup_module() 2020-05-31 10:53:40 +02:00
ndfc.c mtd: rawnand: ndfc: Stop using nand_release() 2020-05-31 10:53:34 +02:00
omap2.c mtd: rawnand: omap2: Stop using nand_release() 2020-05-31 10:53:35 +02:00
omap_elm.c mtd: rawnand: omap_elm: Fix runtime PM imbalance on error 2020-05-31 10:53:37 +02:00
orion_nand.c mtd: rawnand: orion: Stop using nand_release() 2020-05-31 10:53:35 +02:00
oxnas_nand.c mtd: rawnand: oxnas: Stop using nand_release() 2020-05-31 10:53:35 +02:00
pasemi_nand.c mtd: rawnand: pasemi: Stop using nand_release() 2020-05-31 10:53:35 +02:00
plat_nand.c mtd: rawnand: plat_nand: Stop using nand_release() 2020-05-31 10:53:35 +02:00
qcom_nandc.c mtd: rawnand: qcom: set BAM mode only if not set already 2020-06-26 08:35:10 +02:00
r852.c mtd: rawnand: r852: Stop using nand_release() 2020-05-31 10:53:35 +02:00
r852.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
s3c2410.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
sh_flctl.c mtd: rawnand: sh_flctl: Stop using nand_release() 2020-05-31 10:53:35 +02:00
sharpsl.c mtd: rawnand: sharpsl: Stop using nand_release() 2020-05-31 10:53:36 +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 mtd: rawnand: socrates: Stop using nand_release() 2020-05-31 10:53:36 +02:00
stm32_fmc2_nand.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
sunxi_nand.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
tango_nand.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
tegra_nand.c mtd: rawnand: s/data_interface/interface_config/ 2020-06-26 08:35:07 +02:00
tmio_nand.c mtd: rawnand: tmio: Stop using nand_release() 2020-05-31 10:53:36 +02:00
txx9ndfmc.c mtd: rawnand: txx9ndfmc: Stop using nand_release() 2020-05-31 10:53:36 +02:00
vf610_nfc.c mtd: rawnand: vf610: Stop using nand_release() 2020-05-31 10:53:36 +02:00
xway_nand.c mtd: rawnand: xway: Stop using nand_release() 2020-05-31 10:53:36 +02:00