05 Feb, 2020

1 commit

  • Convert the designware watchdog timer driver to DM and add DT probing
    support. Perform minor coding style clean up, like drop superfluous
    braces. These ought to be no functional change.

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dalon Westergreen
    Cc: Dinh Nguyen
    Cc: Jagan Teki
    Cc: Ley Foon Tan
    Cc: Philipp Tomisch
    Cc: Simon Goldschmidt
    Cc: Tien Fong Chee
    Reviewed-by: Jagan Teki
    Tested-by: Jagan Teki # roc-rk3399-pc

    Marek Vasut
     

03 Feb, 2020

6 commits


02 Feb, 2020

1 commit


01 Feb, 2020

10 commits

  • UniPhier SoC updates for v2020.04 (2nd)

    Denali NAND driver changes:
    - Set up more registers in denali-spl for SOCFPGA
    - Make clocks optional
    - Do not assert reset signals in the remove hook
    - associate SPARE_AREA_SKIP_BYTES with DT compatible
    - switch to UCLASS_MTD

    UniPhier platform changes:
    - fix a bug in dram_init()
    - specify loadaddr for "source" command

    Tom Rini
     
  • If the "source" command is not given the address, it uses
    CONFIG_SYS_LOAD_ADDR, which is compile-time determined.

    Using the "loadaddr" environment variable is handier because it is
    relocated according to the memory base when CONFIG_POSITION_INDEPENDENT
    is enabled.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • gd->ram_base is not set at all if the end address of the DRAM ch0
    exceeds the 4GB limit.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • UCLASS_MTD is a better fit for NAND drivers.

    Make NAND_DENALI_DT depend on DM_MTD, which is needed to compile
    drivers/mtd/mtd-uclass.c

    Also, make ARCH_UNIPHIER select DM_MTD because all the defconfig
    of this platform enables NAND_DENALI_DT.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Miquel Raynal

    Masahiro Yamada
     
  • Now that the reset controlling of the Denali NAND driver (denali_dt.c)
    works for this platform, remove the adhoc reset deassert code.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Currently, the denali NAND driver in U-Boot configures the
    SPARE_AREA_SKIP_BYTES based on the CONFIG option.

    Recently, Linux kernel merged a patch that associates the proper
    value for this register with the DT compatible string.

    Do likewise in U-Boot too.

    The denali_spl.c still uses CONFIG_NAND_DENALI_SPARE_AREA_SKIP_BYTES.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • When the reset signal is de-asserted, the HW-controlled bootstrap
    starts running unless it is disabled in the SoC integration.
    It issues some commands to detect a NAND chip, and sets up registers
    automatically. Until this process finishes, software should avoid
    any register access.

    Without this delay function, some of UniPhier boards hangs up while
    executing nand_scan_ident(). (denali_read_byte() is blocked)

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The Denali NAND driver in mainline Linux currently cannot deassert the
    reset. The upcoming Linux 5.6 will support the reset controlling, and
    also set up SPARE_AREA_SKIP_BYTES correctly. So, the Denali driver in
    the future kernel will work without relying on any bootloader or firmware.
    However, we still need to take care of stable kernel versions for a while.
    U-boot should not assert the reset of this controller.

    Fixes: ed784ac3822b ("mtd: rawnand: denali: add reset handling")
    Signed-off-by: Marek Vasut
    [yamada.masahiro: reword the commit description]
    Signed-off-by: Masahiro Yamada

    Marek Vasut
     
  • The "nand_x" and "ecc" clocks are currently optional. Make the core
    clock optional in the same way. This will allow platforms with no clock
    driver support to use this driver.

    Signed-off-by: Masahiro Yamada
    Tested-by: Marek Vasut # On SoCFPGA Arria V

    Masahiro Yamada
     
  • On Altera SoCFPGA, upon either cold-boot or power-on reset, the
    Denali NAND IP is initialized by the BootROM ; upon warm-reset,
    the Denali NAND IP is NOT initialized by BootROM. In fact, upon
    warm-reset, the SoCFPGA BootROM checks whether the SPL image in
    on-chip RAM is valid and if so, completely skips re-loading the
    SPL from the boot media.

    This does sometimes lead to problems where the software left
    the boot media in inconsistent state before warm-reset, and
    because the BootROM does not reset the boot media, the boot
    media is left in this inconsistent state, often until another
    component attempts to access the boot media and fails with an
    difficult to debug failure. To mitigate this problem, the SPL
    on Altera SoCFPGA always resets all the IPs on the SoC early
    on boot.

    This results in a couple of register values, pre-programmed by
    the BootROM, to be lost during this reset. To restore correct
    operation of the IP on SoCFPGA, these values must be programmed
    back into the controller by the driver. Note that on other SoCs
    which do not use the HW-controlled bootstrap, more registers
    may have to be programmed.

    This also aligns the SPL behavior with the full Denali NAND
    driver, which sets these values in denali_hw_init().

    Signed-off-by: Marek Vasut
    Signed-off-by: Masahiro Yamada

    Marek Vasut
     

31 Jan, 2020

13 commits


30 Jan, 2020

9 commits

  • This enables readning the cpuid from e-fuse, and deriving a static
    MAC address from it.

    Signed-off-by: Mark Kettenis
    Reviewed-by: Kever Yang

    Mark Kettenis
     
  • Add alias for mmc/sdmmc so that we can have a fix mmc number for emmc.

    Signed-off-by: Kever Yang
    Reviewed-by: Jagan Teki

    Kever Yang
     
  • Rockchip use CONFIG_SPL_OPTEE for OPTEE support, which is load and run
    before U-Boot, but not use CONFIG_OPTEE which is after U-Boot.

    Signed-off-by: Kever Yang

    Kever Yang
     
  • update lpddr3 setting for fix init fail about "col error".

    Signed-off-by: YouMin Chen
    Signed-off-by: Kever Yang

    YouMin Chen
     
  • Add rk3328-sdram-ddr4-666.dtsi for support ddr4 init.

    Signed-off-by: YouMin Chen
    Signed-off-by: Kever Yang

    YouMin Chen
     
  • No need to do twice data training for rk3328 ddr sdram, we re-use the
    setting for both channel. And adjust the sdram_init properly for correct
    init flow.

    Signed-off-by: Kever Yang
    Signed-off-by: YouMin Chen

    Kever Yang
     
  • Rockchip has documentation file, doc/README.rockchip but
    which is not so readable to add or understand the existing
    contents. Even the format that support is legacy readme
    in U-Boot.

    Add rockchip specific documentation file using new rst
    format, which describes the information about Rockchip
    supported boards and it's usage steps.

    Added minimal information about rk3288, rk3328, rk3368
    and rk3399 boards and usage. This would indeed updated
    further based on the requirements and updates.

    Cc: Kever Yang
    Cc: Matwey V. Kornilov
    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • All rockchip platforms support TPL or SPL-based bootloader
    in mainline with U-Boot proper as final stage. For each
    stage we need to burn the image on to flash with respective
    offsets.

    This patch creates a single boot image component using
    - binman, for arm32 rockchip platforms
    - pad_cat, for arm64 rockchip platforms.

    This would help users to get rid of burning different
    boot stage images.

    The new image called 'u-boot-rockchip.bin'
    which can burn into flash like:

    ₹ sudo dd if=u-boot-rockchip.bin of=/dev/sda seek=64

    This would support all rockchip platforms, except rk3128
    since it doesn't support for SPL yet.

    Cc: Matwey V. Kornilov
    Cc: Wadim Egorov
    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki
     
  • Add U-Boot specific dtsi file for rk3188 SoC. This
    would help to add U-Boot specific dts nodes, properties
    which are common across rk3188.

    Right now, the file is empty, will add required changes
    in future patches.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang

    Jagan Teki