25 Jul, 2019

7 commits

  • Minor driver-model fixes and tweaks
    A few device-tree fixes
    Binman support for extracting files from an image

    Tom Rini
     
  • The fdt_pci_dma_ranges() cannot work on e.g. ARM, since the DT entries
    endianness is not adjusted at all. Fix this.

    Signed-off-by: Marek Vasut
    Cc: Tom Rini

    Marek Vasut
     
  • Currently, fdt_get_base_address() returns 0 if the "reg" property is
    missing. Since 0 is a valid value, it is not suitable for the error
    handling. Return OF_BAD_ADDR instead.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Bin Meng

    Masahiro Yamada
     
  • Support load of the U-Boot image from raw SATA disk sector. This is
    equivalent to load from MMC raw sector.

    Signed-off-by: Baruch Siach

    Baruch Siach
     
  • This patch determines the A/B-specific bootloader message structure
    that is the basis for implementation of recovery and A/B update
    functions. A/B metadata is stored in this structure and used to decide
    which slot should we use to boot the device. Also some basic functions
    for A/B metadata manipulation are implemented (like slot selection).

    The patch was extracted from commits [1], [2] with some coding style
    fixes.

    [1] https://android-review.googlesource.com/c/platform/external/u-boot/+/729878/2
    [2] https://android-review.googlesource.com/c/platform/external/u-boot/+/729880/2

    Signed-off-by: Ruslan Trofymenko
    Signed-off-by: Igor Opaniuk
    Reviewed-by: Sam Protsenko
    Reviewed-by: Simon Glass

    Ruslan Trofymenko
     
  • This allows to use any available compression format with Android boot image

    Since not all available compression formats have a magic number we should
    explicitly specify type of compression.

    For this purpose using uImage format becomes very useful, as this format is
    well-known by the community and mkimage tool is already available.

    Usage example:
    mkimage -A ARM64 -T kernel -C lzma -d Image.lzma out/kernel

    At this moment only -C option is handled, but specifying -A and -T options
    are recommended for compatibility reasons in the future.

    Kernel that compressed with LZ4 can be already used without wrapping into
    the uImage, but I recommend wrapping it into the uImage in order to avoid
    situations when by some mistake legacy LZ4 is used, that is interpreted as
    raw Image and causes CPU to enter Exception Handler without providing any
    meaningful explanation to the user.

    Signed-off-by: Roman Stratiienko

    Roman Stratiienko
     
  • If there is only one menu item available, prompting user to enter
    choice makes little sense and just causes unnecessary boot delay. This
    change makes menu_get_choice return the only one item when there is no
    other choices.

    Signed-off-by: Leon Yu
    Cc: Tom Warren
    Cc: Stephen Warren
    Cc: Thierry Reding

    Leon Yu
     

22 Jul, 2019

1 commit

  • Add the following functions to translate DMA address to CPU address:
    - dev_translate_dma_address()
    - ofnode_translate_dma_address()
    - of_translate_dma_address()
    - fdt_translate_dma_address()
    These functions work the same way as xxx_translate_address(), with the
    difference that the translation relies on the "dma-ranges" property
    instead of the "ranges" property.

    Add related test. Test report:
    => ut dm fdt_translation
    Test: dm_test_fdt_translation: test-fdt.c
    Test: dm_test_fdt_translation: test-fdt.c (flat tree)
    Failures: 0

    Signed-off-by: Fabien Dessenne

    Fabien Dessenne
     

18 Jul, 2019

2 commits

  • - Various FS/disk related fixes with security implications.
    - Proper fix for the pci_ep test.
    - Assorted bugfixes
    - Some MediaTek updates.
    - 'env erase' support.

    Tom Rini
     
  • The autocompletion did not work if CONFIG_CMDLINE_PS_SUPPORT was enabled
    because U-Boot was comparing the prompt string with CONFIG_SYS_PROMPT .
    While this works if CONFIG_CMDLINE_PS_SUPPORT is disabled, this no longer
    works if it's enabled because user can override the PS1 . Fix this by
    checking prompt string against the current PS1 value.

    Signed-off-by: Marek Vasut
    Cc: Tom Rini

    Marek Vasut
     

17 Jul, 2019

2 commits

  • The current U-Boot SPL image loader infrastructure is very powerful,
    able to initialize and load from a variety of boot media however it
    is strongly geared towards loading specific types of images in a very
    specific way. To address the need being able to use this infrastructure
    to load arbitrary image files go ahead and refactor it as follows:

    - Refactor existing spl_mmc_load_image function into superset function,
    accepting additional arguments such as filenames and media load offset
    (same concept can also be applied toother spl_XXX_load_image functions)
    - Extend the loader function to "remember" their peripheral initialization
    status so that the init is only done once during the boot process,
    - Extend the FIT image loading function to allow skipping the parsing/
    processing of the FIT contents (so that this can be done separately
    in a more customized fashion)
    - Populate the SPL_LOAD_IMAGE_METHOD() list with a trampoline function,
    invoking the newly refactored superset functions in a way to maintain
    compatibility with the existing behavior

    This refactoring initially covers MMC/SD card loading (RAW and FS-based).

    Signed-off-by: Andreas Dannenberg
    Reviewed-by: Tom Rini

    Andreas Dannenberg
     
  • On some platform we have sufficient memory available early on to allow
    setting up and using a basic BSS prior to entering board_init_f(). Doing
    so can for example be used to carry state over to board_init_r() without
    having to resort to extending U-Boot's global data structure.

    To support such scenarios add a Kconfig option called CONFIG_SPL_EARLY_BSS
    to allow moving the initialization of BSS prior to entering board_init_f(),
    if enabled. Note that using this option usually should go along with using
    CONFIG_SPL_SEPARATE_BSS and configuring BSS to be located in memory
    actually available prior to board_init_f().

    Signed-off-by: Andreas Dannenberg

    Andreas Dannenberg
     

15 Jul, 2019

1 commit

  • The choice of the SPL_TEXT_BASE is not really a decision that should be
    specified by each board's defconfig, as this setting is actually
    dictated by the SoC's memory map and the BootROM behaviour.

    To make this obvious and reduce the clutter in the defconfig files,
    let's specify the SoC constraints in the Kconfig stanza.
    This allows us to remove these lines from the defconfig files again.

    Signed-off-by: Andre Przywara
    Acked-by: Maxime Ripard
    Reviewed-by: Jagan Teki

    Andre Przywara
     

13 Jul, 2019

2 commits


12 Jul, 2019

4 commits


11 Jul, 2019

7 commits


09 Jul, 2019

3 commits

  • This allows to silence ubi and ubispl individually.

    Signed-off-by: Markus Klotzbuecher
    Reviewed-by: Heiko Schocher
    Cc: Kyungmin Park

    Markus Klotzbuecher
     
  • The motivation is to use the UBI atomic volume rename functionality to
    allow double copy software updates on UBI. To that end the SPL is
    configured to always load the same volume name (e.g. "u-boot"),
    whereas a software updater always installs into the secondary volume
    "u-boot_r". After successful installation, these two volume names are
    switched.

    This extension is protected by #ifdefs as it will somewhat slow down
    loading of volumes by id. This is because the code needs to disable
    the optimization of ignoring all volume ids which are not
    to-be-loaded, since these can only be resolved after attaching.

    This adds two vtbl related functions from Linux, which are taken from
    the same kernel version as the current main U-Boot UBI code (Linux 4.2
    64291f7db5bd8).

    Signed-off-by: Hamish Guthrie
    Signed-off-by: Markus Klotzbuecher
    Reviewed-by: Heiko Schocher
    Cc: Kyungmin Park

    Hamish Guthrie
     
  • Move the ubispl configuration to KConfig and drop them from the
    whitelist.

    Signed-off-by: Markus Klotzbuecher
    Cc: Heiko Schocher
    Cc: Kyungmin Park
    Cc: Javier Martínez Canillas
    Cc: Enric Balletbo i Serra

    Markus Klotzbuecher
     

08 Jul, 2019

1 commit

  • The initr_watchdog is currently placed before initr_serial. The
    initr_watchdog calls printf and printf finally calls ops->putc of a serial
    driver.

    However, gd->cur_serial_dev points to a udevice allocated in board_f. The
    gd->cur_serial_dev->driver->ops->putc points the the code region before
    relocation.

    Some serial drivers call WATCHDOG_RESET() in ops->putc. When DM is enabled
    for watchdog, watchdog_reset() is called. watchdog_reset() calls get_timer
    to get current timer.

    On some platforms the timer driver is also a DM driver. initr_watchdog is
    placed right after initr_dm, which means the timer driver hasn't been
    initialized. So dm_timer_init() is called. To create a new udevice, calloc
    is called.

    However start from ops->putc, u-boot execution flow is redirected into the
    memory region before relocation (board_f). In board_f, dlmalloc hasn't
    been initialized. The call to calloc will fail, and this will cause DM to
    print out an error message, and it will call printf again, causing
    recursive error outputs.

    This patch places initr_watchdog after initr_serial to solve this issue.

    Cc: Stefan Roese
    Reviewed-by: Ryder Lee
    Signed-off-by: Weijie Gao
    Reviewed-by: Stefan Roese
    Tested-by: Frank Wunderlich
    Tested-by: Suniel Mahesh

    Weijie Gao
     

02 Jul, 2019

1 commit

  • The pointer to struct atf_image_info in
    bl31_params_mem.bl31_params.bl31_image_info is not initialized before
    being dereferenced. This can cause U-Boot to crash right before jumping
    to the BL31 ATF binary.

    Signed-off-by: Frieder Schrempf
    Fixes: bcc1726a7bdd ("spl: add support to booting with ATF")
    Reviewed-by: Kever Yang

    Frieder Schrempf
     

28 Jun, 2019

1 commit


27 Jun, 2019

1 commit


21 Jun, 2019

1 commit


17 Jun, 2019

1 commit


15 Jun, 2019

2 commits


14 Jun, 2019

2 commits


12 Jun, 2019

1 commit

  • u-boot-imx-20190612
    --------------------

    - Board fixes:
    - imx6logic
    - wandboard
    - mx6sabre boots again
    - imx8qm_mek
    - pico-* boards
    - Toradex apalis / colibri
    - engicam imx6 (environment)
    - KP MX53
    - opos6ul
    - Switch to DM:
    - vining2000
    - dh MX6
    - Toradex colibri i.MX7
    - Novena
    - Security : fix CSF size for HAB
    - Other:
    - imx: fix building for i.mx8 without spl
    - pcie and switch to DM

    mx6sabreauto: Enable SPL SDP support

    Tom Rini