01 Dec, 2017

16 commits

  • The reset circuitry in the RK3399 only resets 'almost all logic' when
    a software reset is performed. To make our software maintenance
    easier in the future, we want to have the option (controlled by a DTS
    property) to force all reset causes other than a power-on reset to
    trigger a power-on reset via a GPIO trigger.

    This adds the necessary support to the rk3399-puma (i.e. RK3399-Q7)
    board-support and the documentation for the new property
    (sysreset-gpio) within the /config-node.

    Signed-off-by: Philipp Tomsich
    Tested-by: Klaus Goger
    Reviewed-by: Simon Glass

    Philipp Tomsich
     
  • USB1 is connected to the on-module USB 3.0 hub and power to the hub
    (actually it's a reset signal, modeled as a fixed regulator, that will
    be released) should be enabled only during the first probing of the
    device to avoid the hub from entering its low-power mode (where it
    tries to attach on a fixed interval, but we always miss the timeslot
    when U-Boot has the controller listening).

    This adds a 'tsd,usb-port-power' stringlist to enable the
    infrastructure in the board-specific usb_hub_reset_devices to find and
    control the fixed regulator associated with control of the USB hub.

    Signed-off-by: Philipp Tomsich
    Tested-by: Jakob Unterwurzacher

    Philipp Tomsich
     
  • For some versions of the RK3399-Q7 (at least revisions v1.1 and v1.2
    are affected), we need to turn on the power for the port connected to
    the on-module USB hub only when the device is probed for the first
    time to ensure that the hub does not enter a low-power mode (that
    U-Boot's USB stack can't deal with).

    Note that this is needed for U-Boot only, as Linux eventually manages
    to attach the hub even when it has entered into its low-power state
    (when the hub wakes up the next time) after a few seconds.

    Signed-off-by: Philipp Tomsich
    Tested-by: Jakob Unterwurzacher

    Philipp Tomsich
     
  • According to rk3036 TRM, should be set to '1' for the pll
    integer mode, while the '0' means the frac mode.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • After the MASK MACRO update, we need to update the driver at the same time.
    This is a fix to:
    37943aa rockchip: rk3036: clean mask definition for cru reg

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • There is a fixed div-2 between PLL and clk_ddr/clk_ddrphy,
    so we need to double to pll output and then ddr can work
    in correct frequency.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Even if the board-specific directory Makefile doesn't have any
    targets, it still needs to exist.

    This adds a minimal Makefile for the board/rockchip/evb_rk3128
    directory and a evk-rk3128.c (as built-in.o needs to be built
    for every directory that a Makefile gets run for).

    Fixes: c7a6866 ("rockchip: rk3128: add evb-rk3128 support")
    Signed-off-by: Philipp Tomsich

    Philipp Tomsich
     
  • RK3128 support up to 2GB DDR3 sdram, one channel, 32bit data width.

    This patch is only used for U-Boot, but not for SPL which will
    comes later, maybe after we merge all the common code into a common
    file.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Enable board config for evb-rk3128.
    Serial output and eMMC works in this version.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • evb-rk3128 is an evb from Rockchip based on rk3128 SoC:
    - 2 USB2.0 Host port;
    - 1 HDMI port;
    - 2 10/100M eth port;
    - 2GB ddr;
    - 16GB eMMC;
    - UART to USB debug port;

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Add rk3128 pinctrl driver and grf/iomux structure definition.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Add rk3128 clock driver and cru structure definition.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • RK3128 is a SoC from Rockchip with quad-core Cortex-A7 CPU
    and mali400 GPU. Support Nand flash, eMMC, SD card, USB 2.0 host
    and device, HDMI/LVDS/MIPI display.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Add dts binding header for rk3128, files origin from kernel.

    Series-Changes: 2
    - fix i2c address
    - add saradc and usb phy node
    - emmc using fifo mode for there is no dma support in rk3128 emmc
    - add some clock id in cru.h

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • After commit d962e5dadc2c("rockchip: mkimage: use spl_boot0 for all Rockchip SoCs"),
    the mkimage will not pad the Tag memroy, so we shoud
    pass a Taged ddr.bin/spl.bin to it.

    Signed-off-by: Andy Yan
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Andy Yan
     
  • With some of the recent cleanups (e.g. moving the DRAM controller
    drivers for Rockchip devices to drivers/ram/rockchip), the files
    and paths listed in MAINTAINERS no longer covered what really is
    looked after as part of the Rockchip port.

    This commit updates the files/paths listed in MAINTAINERS for the
    Rockchip port. I am certain, though, that this will have missed some
    additional paths that should have been included...

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass
    Acked-by: Philipp Tomsich

    Philipp Tomsich
     

30 Nov, 2017

24 commits

  • Tom Rini
     
  • Tom Rini
     
  • Tom Rini
     
  • Rework the ULCB CPLD driver and make it into a sysreset driver,
    since that is what the ULCB CPLD driver is mostly for.

    Signed-off-by: Marek Vasut
    Cc: Nobuhiro Iwamatsu

    Marek Vasut
     
  • The order of members in struct hws_topology_map is cas_wl, cas_l. The
    comments in the original db-88f6820-gp.c had this wrong and have been
    copied to other Armada-385 based boards. Practically this hasn't made a
    difference since all these boards set both cas_wl and cas_l to 0
    (autodetect) but if there were ever a board that did need to set these
    explicitly they would run into unexpected issued.

    Update the comments to reflect the correct order of structure members.

    Reported-by: Tobi Wulff
    Signed-off-by: Chris Packham
    Reviewed-by: Stefan Roese
    Signed-off-by: Stefan Roese

    Chris Packham
     
  • CONFIG_ENV_IS_IN_NAND has been removed in commit 2be296538e2e (Convert
    CONFIG_ENV_IS_IN_MMC/NAND/UBI and NOWHERE to Kconfig).
    CONFIG_ENV_IS_IN_SPI_FLASH has been removed in commit 91c868fe7cd
    (Convert CONFIG_ENV_IS_IN_SPI_FLASH to Kconfig). The environment #ifdef
    is now empty. Remove it.

    Signed-off-by: Baruch Siach
    Signed-off-by: Stefan Roese

    Baruch Siach
     
  • Check if we are booting from NAND and let the bootrom
    continue to load the rest of the bootloader

    Signed-off-by: Sean Nyekjaer
    Signed-off-by: Stefan Roese

    Sean Nyekjaer
     
  • It's the first 8 bits of the bootrom error register that
    contain the boot error/fallback error code. Let's check that
    and continue to boot from UART.

    Signed-off-by: Sean Nyekjaer
    Signed-off-by: Stefan Roese

    Sean Nyekjaer
     
  • Signed-off-by: Sean Nyekjaer
    Signed-off-by: Stefan Roese

    Sean Nyekjaer
     
  • bbt_mirror_descr and bbt_main_descr is defined but not used
    when compiling without CONFIG_SYS_NAND_USE_FLASH_BBT set.

    Signed-off-by: Sean Nyekjaer
    Signed-off-by: Stefan Roese

    Sean Nyekjaer
     
  • This patch removes the inclusion of the libgcc math functions and
    replaces them by functions coded in C, taken from the coreboot
    project. This makes U-Boot building more independent from the toolchain
    installed / available on the build system.

    The code taken from coreboot is authored from Vadim Bendebury
    on 2014-11-28 and committed with commit
    ID e63990ef [libpayload: provide basic 64bit division implementation]
    (coreboot git repository located here [1]).

    I modified the code so that its checkpatch clean without any
    functional changes.

    [1] git://github.com/coreboot/coreboot.git

    Signed-off-by: Stefan Roese
    Cc: Simon Glass
    Cc: Bin Meng
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Stefan Roese
     
  • Currently X86 does not properly support distro defaults.
    This patch is only a partial fix.

    It provides the name of the bootloader EFI application
    for the X86 architecture.

    The architecture dependent file names are defined in the UEFI
    specification.

    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Simon Glass
    Reviewed-by: Bin Meng

    Heinrich Schuchardt
     
  • This reverts commit 13c531e52a09b4e6ffa8b5a1457199b0a574cb27.

    The error message with FIT style image mentioned in the above commit
    only happens when booting using FIT image containing bzImage kernel
    and without setup node (setup.bin). The current documentation for
    x86 FIT support in doc/uImage.FIT/x86-fit-boot.txt mentions that
    kernel's setup.bin file is required for building x86 FIT images.
    The above commit breaks FIT images generated as described in the
    documentation. Revert it to allow booting with images built in the
    documented way.

    Signed-off-by: Anatolij Gustschin
    Reviewed-by: Stefan Roese
    Acked-by: Bin Meng

    Anatolij Gustschin
     
  • x86_vendor_name is defined as

    static const char *const x86_vendor_name[]

    So its elements should not be compared to 0.

    Remove superfluous paranthesis.

    Problem identified with Coccinelle.

    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Bin Meng

    Heinrich Schuchardt
     
  • Adjust VGA rom address to 0xfffb0000 so that u-boot.rom image
    can be built again.

    Signed-off-by: Anatolij Gustschin
    Reviewed-by: Stefan Roese
    Acked-by: Bin Meng

    Anatolij Gustschin
     
  • ROM has been made read-only in qemu recently (namely commit 208fa0e4:
    "pc: make 'pc.rom' readonly when machine has PCI enabled"). So this
    patch restores compatibility between U-Boot and qemu.

    Signed-off-by: Anton Gerasimov
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng
    [bmeng: mention qemu commit title in the commit message]
    Signed-off-by: Bin Meng

    Anton Gerasimov
     
  • Before this patch one could receive following errors when executing "fatls"
    command on machine with cache enabled (ex i.MX6Q) :

    => fatls mmc 0:1
    CACHE: Misaligned operation at range [4f59dfc8, 4f59e7c8]
    CACHE: Misaligned operation at range [4f59dfc8, 4f59e7c8]
    ERROR: v7_outer_cache_inval_range - start address is not aligned - 0x4f59dfc8
    ERROR: v7_outer_cache_inval_range - stop address is not aligned - 0x4f59e7c8
    CACHE: Misaligned operation at range [4f59dfc8, 4f59e7c8]
    CACHE: Misaligned operation at range [4f59dfc8, 4f59e7c8]
    ERROR: v7_outer_cache_inval_range - start address is not aligned - 0x4f59dfc8
    ERROR: v7_outer_cache_inval_range - stop address is not aligned - 0x4f59e7c8

    To alleviate this problem - the calloc()s have been replaced with
    malloc_cache_aligned() and memset().

    After those changes the buffers are properly aligned (with both start
    address and size) to SoC cache line.

    Fixes: 09fa964bba80 ("fs/fat: Fix 'CACHE: Misaligned operation at range' warnings")
    Suggested-by: Lukasz Majewski
    Signed-off-by: Neil Armstrong
    Reviewed-by: Lukasz Majewski
    Reviewed-by: Fabio Estevam

    Neil Armstrong
     
  • This board is based on the Atmel sama5d3 eval boards.
    Supporting the following features:
    - Boot from NAND Flash
    - Ethernet
    - FIT
    - SPL

    Signed-off-by: Ben Whitten
    Signed-off-by: Dan Kephart

    Ben Whitten
     
  • This board is based on the Atmel 9x5 eval board.
    Supporting the following features:
    - Boot from NAND Flash
    - Ethernet
    - FIT
    - SPL

    Signed-off-by: Ben Whitten
    Signed-off-by: Dan Kephart

    Ben Whitten
     
  • GCC 7.1 seems to be smart enough to track val through the various
    static inline functions, but not smart enough to see that val will
    always be initialised when no error is returned. This triggers
    the following warning:
    env/mmc.c: In function 'mmc_get_env_addr':
    env/mmc.c:121:12: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]

    To make it easier for compiler to understand what is going on, let's
    initialise val.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     
  • Building spl with CONFIG_OF_EMBED enabled results in an error message
    on my board: "SPL image too big". This is because the fdtgrep build
    step is only executed for CONFIG_OF_SEPARATE.

    Fix this by moving the fdtgrep build step ('cmd_fdtgreo') from
    scripts/Makefile.spl to dts/Makefile so that the reduced dtb is
    available for all kinds of spl builds.

    The resulting variable name for the embedded device tree blob changes,
    too, which is why common.h and fdtdec.c have tiny changes.

    Signed-off-by: Simon Goldschmidt
    Reviewed-by: Simon Glass

    Goldschmidt Simon
     
  • In U-Boot, this device tree is compatible with both the Torpedo and
    SOM-LV kits. Let's rename it in the device tree since the U-Boot code and
    show a more generic OMAP3 name. The code auto detects between the two and
    loads the proper DTB file for Linux. This would eliminate the SOM-LV showing
    the name Torpedo during boot and hopefully eliminate some confusion.

    Signed-off-by: Adam Ford

    Adam Ford
     
  • It is unwise to first dereference a variable
    and then to check if it was NULL.

    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Marek Behun
    Reviewed-by: Bin Meng

    Heinrich Schuchardt
     
  • Remove an unreachable return statement.

    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Bin Meng

    Heinrich Schuchardt