20 Sep, 2018

3 commits


22 Jul, 2018

3 commits


27 Jun, 2018

3 commits


03 Apr, 2018

4 commits


09 Feb, 2018

1 commit


08 Feb, 2018

1 commit


30 Jan, 2018

1 commit


11 Dec, 2017

1 commit


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 handling

    ZynqMP:
    - 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 board

    Drivers:
    - 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

    Tom Rini
     

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

    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

    Jeff Westfahl
     

17 Nov, 2017

1 commit


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_16BIT

    Signed-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

    Adam Ford
     

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

    Masahiro Yamada
     

12 Aug, 2017

1 commit


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

    Tom Rini
     

16 Jun, 2017

1 commit


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

    Maxime Ripard
     
  • 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

    Maxime Ripard
     
  • We'll need that symbol so that the default offset are defined

    Signed-off-by: Maxime Ripard
    Reviewed-by: Jagan Teki

    Maxime Ripard
     

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

    Andrey Yurovsky
     

15 Nov, 2016

1 commit


26 Oct, 2016

1 commit


25 Jul, 2016

1 commit


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

    Boris Brezillon
     
  • 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

    Boris Brezillon
     

13 Feb, 2016

1 commit


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

    Hans de Goede
     
  • 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

    Hans de Goede
     
  • 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

    Hans de Goede
     
  • 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

    Hans de Goede