20 Sep, 2018
3 commits
-
Add a SPI NAND framework based on the generic NAND framework and the
spi-mem infrastructure.In its current state, this framework supports the following features:
- single/dual/quad IO modes
- on-die ECCSigned-off-by: Peter Pan
Signed-off-by: Boris Brezillon
Signed-off-by: Miquel Raynal
Acked-by: Jagan Teki -
Add an intermediate layer to abstract NAND device interface so that
some logic can be shared between SPI NANDs, parallel/raw NANDs,
OneNANDs, ...Signed-off-by: Boris Brezillon
Signed-off-by: Miquel Raynal
Acked-by: Jagan Teki -
NAND flavors, like serial and parallel, have a lot in common and would
benefit to share code. Let's move raw (parallel) NAND specific code in a
raw/ subdirectory, to ease the addition of a core file in nand/ and the
introduction of a spi/ subdirectory specific to SPI NANDs.Signed-off-by: Miquel Raynal
22 Jul, 2018
3 commits
-
This converts the following to Kconfig:
CONFIG_NAND_DAVINCISigned-off-by: Adam Ford
-
This converts the following to Kconfig:
CONFIG_NAND_ATMELSigned-off-by: Adam Ford
-
This converts the following to Kconfig:
CONFIG_NAND_LPC32XX_SLCSigned-off-by: Adam Ford
27 Jun, 2018
3 commits
-
Support driver data from device tree. Also support fsl,use-minimal-ecc
similar to Linux' GPMI NAND driver.Signed-off-by: Stefan Agner
-
Add support for minimum ECC strength supported by the NAND chip.
This aligns with the behavior when using the fsl,use-minimum-ecc
device tree property in Linux.Signed-off-by: Stefan Agner
-
Instead of completing initialization via scan_bbt callback use
NAND self init to initialize the GPMI (MXS) NAND controller.Suggested-by: Scott Wood
Signed-off-by: Stefan Agner
03 Apr, 2018
4 commits
-
Move the NAND parameters from defconfig files to Kconfig for SUNXI
architecture only. Fort now only the CHIP pro is migrated.It would have been better to convert this defconfig entry to Kconfig for
all supported machines/architectures but it has been abandoned due to a
fairly high amount of errors reported by the moveconfig.py tool. This is
due to defines quite often being multiplications of values/other defines
not correctly handled.Signed-off-by: Miquel Raynal
Acked-by: Maxime Ripard
Signed-off-by: Maxime Ripard -
Remove NAND_SUNXI from the CHIP pro defconfig to be automatically
selected depending on the state of ARCH_SUNXI.Signed-off-by: Miquel Raynal
Acked-by: Maxime Ripard
Signed-off-by: Maxime Ripard -
Make SUNXI_NAND select SPL_NAND_SUPPORT in Kconfig, this limit the
number of entries to add in defconfig files when adding NAND support.For now, the only board using it is the CHIP pro.
Signed-off-by: Miquel Raynal
Acked-by: Maxime Ripard
Signed-off-by: Maxime Ripard -
Add some clocks/PLL definitions as well as the dependency on MACH_SUN8I
in Kconfig.Signed-off-by: Miquel Raynal
Signed-off-by: Maxime Ripard
09 Feb, 2018
1 commit
-
This converts the following to Kconfig:
CONFIG_APBH_DMA
CONFIG_APBH_DMA_BURST
CONFIG_APBH_DMA_BURST8Signed-off-by: Adam Ford
Reviewed-by: Stefan Agner
[trini: Add in MMC as well]
Signed-off-by: Tom Rini
08 Feb, 2018
1 commit
-
This converts CONFIG_NAND_MXS to Kconfig.
Signed-off-by: Stefan Agner
30 Jan, 2018
1 commit
-
The Arasan NFC driver requires the self-init mode,
so it should select it.Instead of having the config header define the macro,
it's cleaner to select the option at the Kconfig level.Signed-off-by: Ezequiel Garcia
Signed-off-by: Michal Simek
11 Dec, 2017
1 commit
-
denali.c has no driver entry in itself. It makes sense only when
compiled together with denali_dt.cLet NAND_DENALI_DT select NAND_DENALI, and hide NAND_DENALI from
the Kconfig menu.Signed-off-by: Masahiro Yamada
29 Nov, 2017
1 commit
-
Xilinx changes for v2018.1
Zynq:
- Add support for Syzygy and cc108 boards
- Add support for mini u-boot configurations (cse)
- dts updates
- config/defconfig updates in connection to Kconfig changes
- Fix psu_init handlingZynqMP:
- SPL fixes
- Remove slcr.c
- Fixing r5 startup sequence
- Add support for external pmufw
- Add support for new ZynqMP chips
- dts updates
- Add support for zcu102 rev1.0 boardDrivers:
- nand: Support external timing setting and board init
- ahci: Fix wording
- axi_emac: Wait for bit, non processor mode, readl/write conversion
- zynq_gem: Fix SGMII/PCS support
28 Nov, 2017
2 commits
-
I largely reworked the Denali NAND controller driver in Linux.
This commit imports the improvements from Linux. The code is
almost synced with Linux 4.15-rc1.Signed-off-by: Masahiro Yamada
-
In legacy method, 1st stage bootloader was used to configure the HW
setting such as NAND timing. Hence, adding a config option in Zynq
NAND driver for the compatibility of device that using 1st stage
bootloder instead of U-boot SPL.This commit is to add config option
CONFIG_NAND_ZYNQ_USE_BOOTLOADER1_TIMINGS that allow NAND driver use
timing values set by the 1st stage bootloader, instead of the hard-coded
values in the Zynq NAND driver.Signed-off-by: Jeff Westfahl
Signed-off-by: Wilson Lee
Cc: Joe Hershberger
Cc: Keng Soon Cheah
Cc: Chen Yee Chew
Cc: Siva Durga Prasad Paladugu
Cc: Michal Simek
Cc: Scott Wood
Signed-off-by: Michal Simek
17 Nov, 2017
1 commit
-
This option provides better performance and should really always be
enabled. Make this be default y.Signed-off-by: Tom Rini
Acked-by: Jeroen Hofstee
21 Oct, 2017
1 commit
-
This converts the following to Kconfig:
CONFIG_NAND_MXC
CONFIG_NAND_OMAP_GPMC
CONFIG_NAND_OMAP_GPMC_PREFETCH
CONFIG_NAND_OMAP_ELM
CONFIG_SPL_NAND_AM33XX_BCH
CONFIG_SPL_NAND_SIMPLE
CONFIG_SYS_NAND_BUSWIDTH_16BITSigned-off-by: Adam Ford
Reviewed-by: Heiko Schocher
[trini: Finish migration of CONFIG_SPL_NAND_SIMPLE, fix some build issues,
add CONFIG_NAND_MXC so we can do CONFIG_SYS_NAND_BUSWIDTH_16BIT]
Signed-off-by: Tom Rini
30 Aug, 2017
1 commit
-
A patch for NAND uclass support was proposed about half a year ago:
https://patchwork.ozlabs.org/patch/722282/It was not merged and I do not see on-going work for this.
Without DM-based probing, we need to set up pinctrl etc. in an ad-hoc
way and give lots of crappy CONFIG options for base addresses and
properties, which are supposed to be specified by DT. This is painful.This commit just provides a probe hook to retrieve "reg" from DT and
allocate private data in a DM manner. This DT driver is not essentially
a NAND driver, in fact it is (ab)using UCLASS_MISC. Once UCLASS_NAND is
supported, it would be possible to migrate to it.Signed-off-by: Masahiro Yamada
12 Aug, 2017
1 commit
-
This converts the following to Kconfig:
CONFIG_NANDSigned-off-by: Adam Ford
[trini: Sync up a few more, add imply's]
Signed-off-by: Tom Rini
01 Aug, 2017
1 commit
-
Migrate all remaining instances of CMD_NAND, CMD_NAND_TRIMFFS
CMD_NAND_LOCK_UNLOCK and CMD_NAND_TORTURE from the headers into the
defconfig files.Tested-by: Adam Ford
Signed-off-by: Tom Rini
Reviewed-by: Bin Meng
16 Jun, 2017
1 commit
-
There was for long time no activity in the mpx5xxx area.
We need to go further and convert to Kconfig, but it
turned out, nobody is interested anymore in mpc5xxx,
so remove it.Signed-off-by: Heiko Schocher
07 Apr, 2017
3 commits
-
The SPL image needs to be built with a different ECC configuration than the
U-Boot binary.Add Kconfig options with defaults to provide a value that should work for
anyone, but is still configurable if needs be.Signed-off-by: Maxime Ripard
Acked-by: Boris Brezillon
Reviewed-by: Hans de Goede
Acked-by: Scott Wood
Reviewed-by: Jagan Teki -
The default U-Boot offset for the Allwinner SoCs was set to 32kB.
This was probably to try to maintain some compatibility with the current
image that we build for the MMC where the U-Boot binary is also located at
a 32kB offset.However, this causes a number of issues. The first one is that it prevents
us from using a backup SPL entirely, which is troublesome in case where the
first would be corrupt (especially on MLC which have a higher number of
bitflips).We also cannot use the original MMC image on the NAND, because we need to
prepare the SPL image to include the ECCs and randomizer settings, which
reduces the interest of setting it at that particular offset.It also prevents us from upgrading and flashing the U-Boot and SPLs
independantly, since it's very likely that it will fall in the same erase
block.Since that default wasn't used by any board, change it for 8MB, which will
be in an erase block of its own, all the erase blocks being multiple of
two. The highest erase block size we encountered is 4MB, which means that
in this particular setup, the first and second erase blocks will be for the
SPL and its backup, and the third for U-Boot.Signed-off-by: Maxime Ripard
Reviewed-by: Tom Rini
Reviewed-by: Jagan Teki -
We'll need that symbol so that the default offset are defined
Signed-off-by: Maxime Ripard
Reviewed-by: Jagan Teki
19 Feb, 2017
1 commit
-
The i.MX7 has the same GPMI controller as i.MX6 and is covered by the MXS
driver. Tell Kconfig that we can use this driver on the MX7 platform (the MXS
driver already has the few i.MX7-specific changes needed for basic operation
and the board itself sets the pinmux correctly).Tested on i.MX7D with the Sabre board and a NAND Flash soldered to U12.
Signed-off-by: Andrey Yurovsky
15 Nov, 2016
1 commit
-
Add nand flash controller driver support for zynq SoC.
Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek
26 Oct, 2016
1 commit
-
Added kconfig for NAND_MXS driver.
Cc: Scott Wood
Cc: Simon Glass
Cc: Fabio Estevam
Cc: Stefano Babic
Cc: Peng Fan
Cc: Matteo Lisi
Cc: Michael Trimarchi
Signed-off-by: Jagan Teki
25 Jul, 2016
1 commit
-
We already have an SPL driver for the sunxi NAND controller, now add
the normal/standard one.The source has been copied from Linux 4.6 with a few changes to make
it work in u-boot.Signed-off-by: Boris Brezillon
Acked-by: Hans de Goede
20 Jun, 2016
2 commits
-
On modern NAND it's more than recommended to have a backup copy of the
u-boot binary to recover from corruption: bitflips are quite common on
MLC NANDs, and the read-disturbance will corrupt your u-boot partitition
more quickly than what you would see on an SLC NAND.Add an extra Kconfig option to specify the offset of the redundant u-boot
image.Signed-off-by: Boris Brezillon
Acked-by: Hans de Goede
[scottwood: added ifdef to fix build break]
Signed-off-by: Scott Wood -
The SYS_NAND_U_BOOT_OFFS is quite generic, but the Kconfig entry is forced
to explicitly depend on platforms that are not already defining it in their
include/configs/.h header.Add the SYS_NAND_U_BOOT_LOCATIONS option, make the SYS_NAND_U_BOOT_OFFS
depends on it, remove the dependency on NAND_SUNXI and make it dependent
on SPL selection.Signed-off-by: Boris Brezillon
Acked-by: Hans de Goede
13 Feb, 2016
1 commit
-
Add nand driver support for zynqmp. The Nand
controller used in ZynqMP is Arasan Nand Flash
controller.Signed-off-by: Siva Durga Prasad Paladugu
[scottwood: Fix checkpatch warning]
Signed-off-by: Scott Wood
31 Aug, 2015
4 commits
-
Make CONFIG_SYS_NAND_U_BOOT_OFFS configurable through Kconfig, just like
SYS_NAND_BUSWIDTH_16BIT this is only enabled on some SoCs using depends,
to avoid double defining it for SoCs which have not yet moved to Kconfig
for this.Having this in Kconfig is useful because this is something which may
differ from one board to the other even when using the same SoC.Signed-off-by: Hans de Goede
Acked-by: Ian Campbell
Acked-by: Scott Wood -
We only ever use syndrome mode for the partitions which contain the SPL,
as that is required for the BROM to be able to read the SPL.Instead of using some arbritray limit for deciding whether or not to
use syndrome, be smart and check if u-boot-dtb.bin is directly behind
the SPL, if it is not then it is on its own partition and we should not
use syndrome.Note the reason why we only use syndrome mode for the SPL is because it
comeswith weaker randomization, introducing a risk for more bit errors,
so we want to avoid it when possible.Signed-off-by: Hans de Goede
Acked-by: Ian Campbell -
We eventually want to add full nand support, since it makes no sense
to build SPL with nand support and u-boot without, or the other way
around, a single option will suffice.Renaming the Kconfig option now makes things easier when we add full
nand support in the future.The "obj-$(CONFIG_NAND_SUNXI) += sunxi_nand_spl.o" is moved to an
"ifdef CONFIG_SPL_BUILD" block in the Makefile.Signed-off-by: Hans de Goede
Acked-by: Ian Campbell -
Auto detect the nand configuration parameters, like the BROM does.
This allows us to get rid of various Kconfig settings, and is
necessary to support generic boards like the mk802 which have seen
many production runs with different nands.The full blown u-boot/kernel nand driver uses the nand id to determine
this info, for the SPL we do as the BROM does and simply try a few
standard configs.Note the table only contains configs which are known to actually be used,
rather then all the configs the BROM tries. This means that it may need
to be updated in the future as we add support for nand on more boards.Signed-off-by: Hans de Goede
Acked-by: Ian Campbell