01 Jan, 2019

1 commit

  • i.MX8M bootable image type is like i.MX6/7, but there is signed HDMI
    firmware image in front of A53 bootable image, which is also has an IVT
    header.

    Here we also include fit image to generate a bootable image.

    Signed-off-by: Peng Fan
    Signed-off-by: Stefano Babic

    Peng Fan
     

29 Nov, 2018

1 commit


22 Oct, 2018

1 commit

  • i.MX8/8X bootable image type is container type.
    The bootable image, containers a container set which supports two
    container. The 1st container is for SECO firmware, the 2nd container
    needs to include scfw, m4_0/1 image, ACore images per your requirement.

    Signed-off-by: Peng Fan

    Peng Fan
     

13 Jun, 2018

1 commit


11 May, 2018

2 commits

  • Xilinx changes for v2018.07

    microblaze:
    - Align defconfig

    zynq:
    - Rework fpga initialization and cpuinfo handling

    zynqmp:
    - Add ZynqMP R5 support
    - Wire and enable watchdog on zcu100-revC
    - Setup MMU map for DDR at run time
    - Show board info based on DT and cleanup IDENT_STRING

    zynqmp tools:
    - Add read partition support
    - Add initial support for Xilinx bif format for boot.bin generation

    mmc:
    - Fix get_timer usage on 64bit cpus
    - Add support for SD3.0 UHS mode

    nand-zynq:
    - Add support for 16bit buswidth
    - Use address cycles from onfi params

    scsi:
    - convert ceva sata to UCLASS_AHCI

    timer:
    - Add Cadence TTC for ZynqMP r5

    watchdog:
    - Minor cadence driver cleanup

    Tom Rini
     
  • The officially described way to generate boot.bin files for ZynqMP is to
    describe the contents of the target binary using a file of the "bif"
    format. This file then links to other files that all get packed into a
    bootable image.

    This patch adds support to read such a .bif file and generate a respective
    ZynqMP boot.bin file that can include the normal image and pmu files, but
    also supports image partitions now. This makes it a handy replacement for
    the proprietary "bootgen" utility that is currently used to generate
    boot.bin files with FSBL.

    Signed-off-by: Alexander Graf
    Signed-off-by: Michal Simek

    Alexander Graf
     

09 May, 2018

1 commit


07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

30 Mar, 2018

1 commit


20 Mar, 2018

2 commits

  • This patch adds a new type IH_OS_TEE. This new OS type will be used for
    chain-loading to Linux via a TEE.

    With this patch in-place you can generate a bootable OPTEE image like this:

    mkimage -A arm -T kernel -O tee -C none -d tee.bin uTee.optee

    where "tee.bin" is the input binary prefixed with an OPTEE header and
    uTee.optee is the output prefixed with a u-boot wrapper header.

    This image type "-T kernel -O tee" is differentiated from the existing
    IH_TYPE_TEE "-T tee" in that the IH_TYPE is installed by u-boot (flow
    control returns to u-boot) whereas for the new IH_OS_TEE control passes to
    the OPTEE firmware and the firmware chainloads onto Linux.

    Andrew Davis gave the following ASCII diagram:

    IH_OS_TEE: (mkimage -T kernel -O tee)
    Non-Secure Secure

    BootROM
    |
    -------------
    |
    v
    SPL
    |
    v
    U-Boot ------>


    Suggested-by: Andrew F. Davis
    Cc: Harinarayan Bhatta
    Cc: Andrew F. Davis
    Cc: Tom Rini
    Cc: Kever Yang
    Cc: Philipp Tomsich
    Cc: Peng Fan
    Link: http://mrvan.github.io/optee-imx6ul

    Bryan O'Donoghue
     
  • STM32MP157 bootrom needs a specific header for first boot stage.
    This patch adds support of this header in mkimage.

    Signed-off-by: Patrick Delaunay

    Patrick Delaunay
     

05 Mar, 2018

1 commit

  • Thomas reported U-Boot failed to build host tools if libfdt-devel
    package is installed because tools include libfdt headers from
    /usr/include/ instead of using internal ones.

    This commit moves the header code:
    include/libfdt.h -> include/linux/libfdt.h
    include/libfdt_env.h -> include/linux/libfdt_env.h

    and replaces include directives:
    #include -> #include
    #include -> #include

    Reported-by: Thomas Petazzoni
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

19 Dec, 2017

1 commit


14 Dec, 2017

1 commit

  • This drops the limit that fpga is only loaded from FIT images for Xilinx.
    This is done by moving the 'partial' check from 'common/image.c' to
    'drivers/fpga/xilinx.c' (the only driver supporting partial images yet)
    and supplies a weak default implementation in 'drivers/fpga/fpga.c'.

    Signed-off-by: Simon Goldschmidt
    Tested-by: Michal Simek (On zcu102)
    Signed-off-by: Michal Simek

    Goldschmidt Simon
     

08 Dec, 2017

1 commit


26 Nov, 2017

1 commit

  • To boot on ARMv8 systems with ARM Trusted Firmware, we need to
    assemble an ATF-specific parameter structure and also provide the
    address of the images started by ATF (e.g. BL3-3, which may be the
    full U-Boot).

    To allow us to identify an ARM Trusted Firmware contained in a FIT
    image, this adds the necessary definitions.

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

    Philipp Tomsich
     

16 Oct, 2017

2 commits


13 Sep, 2017

1 commit


16 Aug, 2017

2 commits

  • We are now using an env_ prefix for environment functions. Rename these
    other functions as well, for consistency:

    getenv_vlan()
    getenv_bootm_size()
    getenv_bootm_low()
    getenv_bootm_mapsize()
    env_get_default()

    Suggested-by: Wolfgang Denk
    Signed-off-by: Simon Glass

    Simon Glass
     
  • We are now using an env_ prefix for environment functions. Rename these
    two functions for consistency. Also add function comments in common.h.

    Quite a few places use getenv() in a condition context, provoking a
    warning from checkpatch. These are fixed up in this patch also.

    Suggested-by: Wolfgang Denk
    Signed-off-by: Simon Glass

    Simon Glass
     

21 Jan, 2017

1 commit


20 Jan, 2017

1 commit

  • In 35fc84f, bootm was refactored so plain 'bootm' and
    'bootm ' shared a common implementation.
    The 'bootm ramdisk' command implementation is now part of the common
    implementation but not invoke by plain 'bootm' since the original
    implementation never did ramdisk relocation. Instead, ramdisk
    relocation happened in image_setup_linux() which is typically called
    during the OS portion of 'bootm'.

    On ARM, parameters to the Linux kernel can either be passed by FDT or
    ATAGS. When using FDT, image_setup_linux() is called which also triggers
    ramdisk relocation. When using ATAGS, image_setup_linux() is _not_
    called because it mostly does FDT setup.

    Instead of calling image_setup_linux() in both FDT and ATAGS cases,
    include BOOTM_STATE_RAMDISK in the requested states during a plain
    'bootm' if CONFIG_SYS_BOOT_RAMDISK_HIGH is set and remove the ramdisk
    relocation from image_setup_linux(). This causes ramdisk relocation to
    happen on any system where CONFIG_SYS_BOOT_RAMDISK_HIGH regardless of
    the OS being booted. Also remove IMAGE_ENABLE_RAMDISK_HIGH as it was
    only used by the now-removed code from image_setup_linux().

    Signed-off-by: Rick Altherr
    Reviewed-by: Simon Glass
    Reviewed-by: Joel Stanley

    Rick Altherr
     

03 Jan, 2017

1 commit

  • When we want to use Secure Boot with HAB from SPL over U-Boot.img,
    we need to append the IVT to the image and leave space for the CSF.
    Images generated as firmware_ivt can directly be signed using the
    Freescale code signing tool. For creation of a CSF, mkimage outputs
    the correct HAB Blocks for the image.
    The changes to the usual firmware image class are quite small,
    that is why I implemented that directly into the default_image.

    Cc: sbabic@denx.de

    v2-Changes: None

    Signed-off-by: Sven Ebenfeld
    Reviewed-by: George McCollister
    Tested-by: George McCollister

    Sven Ebenfeld
     

20 Dec, 2016

1 commit


04 Dec, 2016

2 commits


05 Nov, 2016

1 commit


14 Oct, 2016

1 commit

  • These have now landed upstream. The naming is different and in one case the
    function signature has changed. Update the code to match.

    This applies the following upstream commits by
    Thierry Reding :

    604e61e fdt: Add functions to retrieve strings
    8702bd1 fdt: Add a function to get the index of a string
    2218387 fdt: Add a function to count strings

    Signed-off-by: Simon Glass

    Simon Glass
     

06 Oct, 2016

1 commit


24 Sep, 2016

1 commit


22 Sep, 2016

1 commit

  • Commit bac17b78dace ("image-fit: switch ENOLINK to ENOENT") changed
    fit_get_node_from_config to return -ENOENT when a property doesn't
    exist, but didn't change any of its callers which check return values.
    Notably it didn't change boot_get_ramdisk, which leads to U-Boot failing
    to boot FIT images which don't include ramdisks with the following
    message:

    Ramdisk image is corrupt or invalid

    It also didn't take into account that by returning -ENOENT to denote the
    lack of a property we lost the ability to determine from the return
    value of fit_get_node_from_config whether it was the property or the
    configuration node that was missing, which may potentially lead callers
    to accept invalid FIT images.

    Fix this by having fit_get_node_from_config return -EINVAL when the
    configuration node isn't found and -ENOENT when the property isn't
    found, which seems to make semantic sense. Callers that previously
    checked for -ENOLINK are adjusted to check for -ENOENT, which fixes the
    breakage introduced by commit bac17b78dace ("image-fit: switch ENOLINK
    to ENOENT").

    The only other user of the return fit_get_node_from_config return value,
    indirectly, is bootm_find_os which already checked for -ENOENT. From a
    read-through of the code I suspect it ought to have been checking for
    -ENOLINK prior to bac17b78dace ("image-fit: switch ENOLINK to ENOENT")
    anyway, which would make it right after this patch, but this would be
    good to get verified by someone who knows this x86 code or is able to
    test it.

    Signed-off-by: Paul Burton
    Cc: Jonathan Gray
    Cc: Marek Vasut
    Acked-by: Marek Vasut
    Acked-by: Stefan Roese
    Acked-by: George McCollister
    Tested-by: George McCollister

    Paul Burton
     

16 Aug, 2016

1 commit

  • The Xtensa processor architecture is a configurable, extensible,
    and synthesizable 32-bit RISC processor core provided by Cadence.

    This is the first part of the basic architecture port with changes to
    common files. The 'arch/xtensa' directory, and boards and additional
    drivers will be in separate commits.

    Signed-off-by: Chris Zankel
    Signed-off-by: Max Filippov
    Reviewed-by: Simon Glass
    Reviewed-by: Tom Rini

    Chris Zankel
     

15 Jul, 2016

3 commits


24 May, 2016

3 commits


15 Mar, 2016

1 commit