u-boot/drivers/mtd/nand/raw
Masahiro Yamada 1c193c0c6e mtd: rawnand: denali: deassert write protect pin
[ Linux commit 9afbe7c0140f663586edb6e823b616bd7076c00a ]

If the write protect signal from this IP is connected to the NAND
device, this IP can handle the WP# pin via the WRITE_PROTECT
register.

The Denali NAND Flash Memory Controller User's Guide describes
this register like follows:

  When the controller is in reset, the WP# pin is always asserted
  to the device. Once the reset is removed, the WP# is de-asserted.
  The software will then have to come and program this bit to
  assert/de-assert the same.

    1 - Write protect de-assert
    0 - Write protect assert

The default value is 1, so the write protect is de-asserted after
the reset is removed. The driver can write to the device unless
someone has explicitly cleared register before booting the kernel.

The boot ROM of some UniPhier SoCs (LD4, Pro4, sLD8, Pro5) is the
case; the boot ROM clears the WRITE_PROTECT register when the system
is booting from the NAND device, so the NAND device becomes read-only.

Set it to 1 in the driver in order to allow the write access to the
device.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2020-05-22 11:21:06 +09:00
..
brcmnand common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
am335x_spl_bch.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
arasan_nfc.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
atmel_nand.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
atmel_nand_ecc.h mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
davinci_nand.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
denali.c mtd: rawnand: denali: deassert write protect pin 2020-05-22 11:21:06 +09:00
denali.h mtd: rawnand: denali: Do not reset the block before booting the kernel 2020-02-01 01:14:32 +09:00
denali_dt.c arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
denali_spl.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
fsl_elbc_nand.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
fsl_elbc_spl.c common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
fsl_ifc_nand.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
fsl_ifc_spl.c common: Drop part.h from common header 2020-05-18 17:33:33 -04:00
fsl_upm.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
fsmc_nand.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
kb9202_nand.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
Kconfig mtd: rawnand: denali: configure SPARE_AREA_SKIP_BYTES only for denali_spl 2020-05-22 11:21:06 +09:00
kirkwood_nand.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
kmeter1_nand.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
lpc32xx_nand_mlc.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
lpc32xx_nand_slc.c common: Drop linux/bug.h from common header 2020-05-18 21:19:23 -04:00
Makefile drivers: nand: brcmnand: add initial support 2019-04-22 11:55:58 -04:00
mxc_nand.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
mxc_nand.h mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
mxc_nand_spl.c common: Move hang() to the same header as panic() 2020-01-17 17:53:40 -05:00
mxs_nand.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
mxs_nand_dt.c MXS_NAND: Add clock support for iMX8 2020-05-10 20:55:20 +02:00
mxs_nand_spl.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
nand.c mtd: rename CONFIG_MTD_DEVICE -> CONFIG_MTD 2019-12-03 23:04:10 -05:00
nand_base.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
nand_bbt.c common: Drop linux/bug.h from common header 2020-05-18 21:19:23 -04:00
nand_bch.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
nand_ecc.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
nand_ids.c mtd: nand: raw: Add Hynix H27UBG8T2BTR id table 2019-01-02 00:58:16 +05:30
nand_plat.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
nand_spl_load.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
nand_spl_loaders.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
nand_spl_simple.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
nand_timings.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
nand_util.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
omap_elm.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
omap_gpmc.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pxa3xx_nand.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pxa3xx_nand.h mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
stm32_fmc2_nand.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
sunxi_nand.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
sunxi_nand_spl.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
tegra_nand.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
tegra_nand.h mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
vf610_nfc.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
zynq_nand.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00