03 Apr, 2020

1 commit

  • Commit f4dc714aaa2d ("arm64: Turn u-boot.bin back into an ELF file after
    relocate-rela")
    introduce REMAKE_ELF option to recreate u-boot.elf from u-boot ->
    u-boot.bin + DT -> u-boot.elf.

    The best is to ilustrate it from make V=1 output
    cat u-boot-nodtb.bin dts/dt.dtb > u-boot-dtb.bin
    cp u-boot-dtb.bin u-boot.bin
    aarch64-linux-gnu-objcopy -I binary -B aarch64 -O elf64-littleaarch64 u-boot.bin u-boot-elf.o
    aarch64-linux-gnu-ld.bfd u-boot-elf.o -o u-boot.elf --defsym="_start"=0x8000000 -Ttext=0x8000000

    Last command has no explicit linker script passed that's why toolchain
    internal linker script is used.
    In Binutils 2.32 case it contains SIZEOF_HEADERS symbol which has changed
    behavior by commit
    https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=64029e93683a266c38d19789e780f3748bd6a188
    which result in situation that program headers has changed from
    (xilinx_zynqmp_mini_defconfig)

    Program Headers:
    Type Offset VirtAddr PhysAddr
    FileSiz MemSiz Flags Align
    LOAD 0x0000000000010000 0x00000000fffc0000 0x00000000fffc0000
    0x0000000000018918 0x0000000000018918 RW 0x10000

    to

    Program Headers:
    Type Offset VirtAddr PhysAddr
    FileSiz MemSiz Flags Align
    LOAD 0x0000000000000000 0x00000000fffb0000 0x00000000fffb0000
    0x0000000000028918 0x0000000000028918 RW 0x10000

    Xilinx tools like XSDB or Bootgen are using program headers for loading ELF
    to the right location and by above binutils change ELF is loaded to
    incorrect location.

    The patch is explicitly use u-boot-elf.lds (just cat now) for u-boot.elf
    recreation which is called when REMAKE_ELF is setup.
    By purpose u-boot-elf.lds doesn't contain OUTPUT_FORMAT/OUTPUT_ARCH to be
    able to use by all archs.

    Signed-off-by: Michal Simek
    Reviewed-by: Tom Rini
    Reviewed-by: Daniel Schwierzeck
    Tested-By: Álvaro Fernández Rojas

    Michal Simek
     

18 Mar, 2020

1 commit

  • Some config symbols are found in *almost* every _defconfig file for
    Allwinner boards, because those options are actually a platform choice,
    and not a per-board decision.
    Some of these options are older, some have recently been added.

    Move those options to be set for all Allwinner boards in their
    respective Kconfig files.

    The rationales are as follows:
    - NR_DRAM_BANKS: All Allwinner SoC map DRAM at one contiguous region of
    address space only, starting at 1 GB. So it's always one bank.
    - SPL_{DOS,EFI}_PARTITION: The Allwinner SPL does only support raw MMC
    accesses, we don't care about filesystems or partitions in there, so
    there is no need to define those symbols at all.
    - USE_PREBOOT: We start USB early when a keyboard is configured, using the
    preboot env variable, so we need to set this variable.
    - SYS_RELOC_GD_ENV_ADDR: We don't specify any ENV_ADDR, so need this
    symbol to be set (according to 8d8ee47e03e).
    - SYS_USB_EVENT_POLL_VIA_INT_QUEUE: According to commit eab9433aa55428,
    specifying this reduces the latency of the USB keyboard handling, so
    this was formerly enabled in config headers for all Allwinner boards.

    Signed-off-by: Andre Przywara
    Acked-by: Maxime Ripard
    Tested-by: Jagan Teki # Amarula A64-Relic
    Reviewed-by: Jagan Teki

    Andre Przywara
     

04 Feb, 2020

1 commit


17 Jan, 2020

1 commit

  • This commit add the support of encrypting image with aes
    in mkimage. To enable the ciphering, a node cipher with
    a reference to a key and IV (Initialization Vector) must
    be added to the its file. Then mkimage add the encrypted
    image to the FIT and add the key and IV to the u-boot
    device tree.

    Signed-off-by: Philippe Reynes

    Philippe Reynes
     

14 Jan, 2020

1 commit

  • Follow i.MX, Sunxi, RISC-V and Rockchip to generate u-boot.itb which
    includes U-Boot proper, ATF and DTBs in FIT format. ZynqMP supports FIT for
    quite a long time but with using out of tree solution. The patch is filling
    this gap.

    Tested on zcu102, zcu104 and zcu100/Ultra96.

    zcu100/Ultra96 v2.2 ATF build by:
    make DEBUG=0 ZYNQMP_CONSOLE=cadence1 RESET_TO_BL31=1 PLAT=zynqmp bl31

    Signed-off-by: Michal Simek

    Michal Simek
     

08 Jan, 2020

2 commits

  • If the node describing an overlay does not specify a load address, it will
    be loaded at the address previously used.
    Fixing it by allocating a temporary buffer that will be used as a
    default load address. By default, the size of the buffer is 64kB which
    should be plenty for most use cases.

    Signed-off-by: Jean-Jacques Hiblot
    Reviewed-by: Simon Glass

    Jean-Jacques Hiblot
     
  • doc/uImage.FIT/overlay-fdt-boot.txt is describing how to create FIT
    image with DT overlays in it.
    Add support for this feature to SPL.

    Here is the ZynqMP fragment where dtb points to full DT and dtbo is
    overlay which should be applied on the top of dtb.
    config {
    description = "ATF with full u-boot overlay";
    firmware = "atf";
    loadables = "uboot";
    fdt = "dtb", "dtbo";
    };

    The whole feature depends on OF_LIBFDT_OVERLAY which is adding +4kB code
    and 0 for platforms which are not enabling this feature.

    Signed-off-by: Michal Simek
    Signed-off-by: Jean-Jacques Hiblot
    Reviewed-by: Simon Glass

    Michal Simek
     

15 Dec, 2019

1 commit

  • The existing work-around for positioning U-Boot in the ROM when it
    actually runs from RAM still exists and there is not obvious way to change
    this.

    Add a proper Kconfig option to handle this case. This also adds a new bool
    property to indicate whether CONFIG_SYS_TEXT_BASE exists.

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

    Simon Glass
     

07 Dec, 2019

1 commit


23 Nov, 2019

1 commit

  • For all the Rockchip SoCs with SPL_LOAD_FIT enable, we need to build
    u-boot.itb with U-Boot proper and ATF/OPTEE.

    All the Rockchip boards with SPL_LOAD_FIT now supports FIT generator to
    get ATF/OPTEE binary path from environment and pass the build even if no
    ATF/OPTEE binary exist, so we can enable this feature for the rockchip
    platform.

    Signed-off-by: Kever Yang

    Kever Yang
     

08 Nov, 2019

1 commit

  • Some U-Boot pointers have redundant information, so we can use a scheme
    where we can return either an error code or a pointer with the same
    return value. The default implementation just casts the pointer to a
    number, however, this may fail on platforms where the end of the address
    range is used for valid pointers (e.g. 0xffffff00 is a valid heap pointer
    in socfpga SPL). For such platforms, this value provides an upper range
    of those error pointer values - up to 'MAX_ERRNO' bytes below this value
    must be unused/invalid addresses.

    Signed-off-by: Simon Goldschmidt

    Simon Goldschmidt
     

08 Oct, 2019

1 commit


26 Aug, 2019

1 commit


24 Aug, 2019

2 commits


23 Aug, 2019

1 commit


12 Jul, 2019

1 commit


26 Jun, 2019

1 commit


17 Jun, 2019

1 commit


15 Jun, 2019

1 commit


13 Jun, 2019

1 commit

  • Add a new option, CONFIG_DEPRECATED, for code that relies on deprecated
    functionality and has not been converted past the deadline for
    conversion.

    Signed-off-by: Tom Rini
    Reviewed-by: Jagan Teki

    Tom Rini
     

11 Jun, 2019

1 commit

  • Commit 3a7c45f6a772 ("simple-bus: add DM_FLAG_PRE_RELOC flag to
    simple-bus driver") causes some i.MX boards that were converted
    to DM, such as warp7, to fail to boot.

    As explained by Lukas Auer:

    "With the patch, U-Boot probes the drivers for devices under simple-bus
    device tree nodes in the pre-relocation device model. The default value
    of CONFIG_SYS_MALLOC_F_LEN (0x400) leaves U-Boot with not enough memory to
    do this, causing it to hang."

    Fix this problem by providing a convenient default value for
    CONFIG_SYS_MALLOC_F_LEN.

    Reported-by: Pierre-Jean Texier
    Suggested-by: Lukas Auer
    Signed-off-by: Fabio Estevam
    Tested-by: Pierre-Jean Texier
    Tested-by: Bryan O'Donoghue
    Reviewed-by: Lukas Auer
    Reviewed-by: Peng Fan
    Tested-by: Heiko Schocher

    Fabio Estevam
     

29 May, 2019

1 commit


27 May, 2019

1 commit


23 May, 2019

1 commit


22 May, 2019

1 commit

  • Build an SPL which can be started via SCIF download mode on R-Car Gen3
    and allows loading and executing U-Boot uImage with the next stage code.
    This is also useful for starting e.g. ATF BL2, which inits the hardware
    and returns to the U-Boot SPL, which can then load e.g. U-Boot proper.

    The H3, M3-W, M3-N SoCs have plenty of SRAM for storing the U-Boot SPL
    while the payload, e.g. ATF BL2, executes, so there is no problem here.

    However, E3 and D3 have much less SRAM, hence the loader uses a trick
    where it copies itself beyond the area used by BL2 and executes from
    there. That area is 32kiB large and not enough to hold U-Boot SPL, BSS,
    stack and malloc area, so the later two are placed at +0x4000 offset
    from start of SRAM, another area not used by ATF BL2. To make things
    even more complicated, the SCIF loader cannot load to the upper 32kiB
    of the SRAM directly, hence the copying approach.

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

    Marek Vasut
     

21 May, 2019

1 commit

  • MPC83xx uses CONFIG_83XX_CLKIN instead of CONFIG_SYS_CLK_FREQ to set the
    system clock. To migrate the architecture, we can replace
    CONFIG_83XX_CLKIN with CONFIG_SYS_CLK_FREQ.

    To do this
    * replace all occurrences of CONFIG_83XX_CLKIN with CONFIG_SYS_CLK_FREQ
    * set CONFIG_SYS_CLK_FREQ to the old value of CONFIG_83XX_CLKIN in all
    MPC83xx config files

    Signed-off-by: Mario Six

    Mario Six
     

19 May, 2019

1 commit


08 May, 2019

1 commit

  • Add default SPL_FIT_GENERATOR py script for rockchip platforms if
    specific target enabled SPL_LOAD_FIT.

    So, this would help get rid of explicitly mentioning the default
    SPL FIT generator in defconfigs. however some targets, like puma_rk3399
    still require their own FIT generator so in those cases the default will
    override with defconfig defined generator.

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

    Jagan Teki
     

09 Apr, 2019

1 commit

  • This patch adds the CONFIG_SPL_IMAGE option to select the SPL image that
    shall be used to generate the combined SPL + U-Boot image. The default
    value is the current value "spl/u-boot-spl.bin".

    This patch also sets CONFIG_SPL_IMAGE to "spl/boot.bin" for AT91 targets
    which use SPL NAND support (boot from NAND). For these build targets the
    combined image "u-boot-with-spl.bin" is now automatically generated and
    can be programmed into NAND as one single image (vs. SPL image and U-Boot
    as 2 separate images).

    Signed-off-by: Stefan Roese
    Cc: Heiko Schocher
    Cc: Andreas Bießmann
    Cc: Eugen Hristev

    Stefan Roese
     

21 Mar, 2019

1 commit


11 Feb, 2019

1 commit

  • Commit dc146ca11187 ("Kconfig: Migrate CONFIG_BUILD_TARGET") made the
    mvebu default build target depend on CONFIG_SPL_BUILD. Unfortunately,
    there is no such Kconfig symbol. Use the CONFIG_SPL symbol instead to
    fix that.

    Cc: Jagan Teki
    Signed-off-by: Baruch Siach
    Reviewed-by: Stefan Roese
    Reviewed-by: Jagan Teki
    Signed-off-by: Stefan Roese

    Baruch Siach
     

02 Feb, 2019

2 commits


18 Jan, 2019

1 commit


01 Jan, 2019

2 commits


14 Dec, 2018

1 commit


04 Dec, 2018

1 commit

  • Patch queue for efi - 2018-12-03

    This release is fully packed with lots of glorious improvements in UEFI
    land again!

    - Make PE images more standards compliant
    - Improve sandbox support
    - Improve correctness
    - Fix RISC-V execution on virt model
    - Honor board defined top of ram (fixes a few boards)
    - Imply DM USB access when distro boot is available
    - Code cleanups

    Tom Rini
     

03 Dec, 2018

1 commit