11 Jul, 2018

1 commit

  • Use NXP logo.
    The vendor and board dir not changed, only replace the contents
    of freescale.bmp.

    Signed-off-by: Peng Fan
    (cherry picked from commit 0b381fdf1a45cb06a057724e708ce0bbeee67f4d)
    (cherry picked from commit 836461a95ca8df0f41dacf1d390a966624190524)

    Peng Fan
     

10 Mar, 2018

2 commits


09 Mar, 2018

1 commit

  • Sometimes imximage throws the following error:

    CFGS board/freescale/vf610twr/imximage.cfg.cfgtmp
    CFGS board/freescale/vf610twr/imximage.cfg.cfgtmp
    MKIMAGE u-boot-dtb.imx
    Error: No BOOT_FROM tag in board/freescale/vf610twr/imximage.cfg.cfgtmp
    arch/arm/mach-imx/Makefile:100: recipe for target 'u-boot-dtb.imx' failed

    Later on, when running mkimage for the u-boot.imx it will succeed in
    finding the IVT offset.

    Looks like some race condition happening during parallel build when
    processing mkimage for u-boot-dtb.imx and u-boot.imx.

    A proper fix still needs to be implemented, but as a workaround let's
    remove the error when the IVT offset is not found.

    It is useful to have such message, especially during bring-up phase,
    but the build error that it causes is severe, so better avoid the
    build error for now.

    The error checking can be re-implemented later when we have a proper
    fix.

    Reported-by: Breno Lima
    Reported-by: Thomas Petazzoni
    Signed-off-by: Fabio Estevam

    Fabio Estevam
     

05 Mar, 2018

3 commits

  • 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
     
  • There are no headers for libfdt in lib/libfdt, as they are instead
    located in scripts/dtc/libfdt. Specifying lib/libfdt for headers
    inclusion in host tools results in using the system libfdt headers,
    which is not what we want. Change this to the proper path.

    Signed-off-by: Paul Kocialkowski

    Paul Kocialkowski
     
  • Treat the first equal sign as a key/value separation too. This makes
    the script files compatible with mkenvimage input file format. It
    won't support variables with equal signs anymore, but this seems not
    really like a loss.

    Signed-off-by: Stefan Agner

    Stefan Agner
     

23 Feb, 2018

1 commit


15 Feb, 2018

1 commit


05 Feb, 2018

1 commit


29 Jan, 2018

6 commits

  • Fix a typo in help output (awailable -> available).
    Tidy the grammar - not the board connects to a port, we do.

    While at it, be consistent in upper-casing the comments.

    Fixes: eee4835d22 ("tools: Add Marvell recovery image download script")
    Cc: Konstantin Porotchkin
    Cc: Stefan Roese
    Cc: Igal Liberman
    Signed-off-by: Andreas Färber
    Reviewed-by: Konstantin Porotchkin
    Reviewed-by: Stefan Roese
    Signed-off-by: Stefan Roese

    Andreas Färber
     
  • minicom doesn't inherit the baudrate from stty but uses its own
    defaults, such as for example 57600, whereas we expect 115200 here.
    Explicitly tell minicom which baudrate to use.

    Fixes: eee4835d22 ("tools: Add Marvell recovery image download script")
    Cc: Konstantin Porotchkin
    Cc: Stefan Roese
    Cc: Igal Liberman
    Signed-off-by: Andreas Färber
    Reviewed-by: Konstantin Porotchkin
    Reviewed-by: Stefan Roese
    Signed-off-by: Stefan Roese

    Andreas Färber
     
  • libfdt_env.h is supposed to provide system-dependent defines.

    scripts/dtc/libfdt/libfdt_env.h from upstream DTC is suitable
    for user-space, so we should use this for USE_HOSTCC case.

    For compiling U-Boot, we need to override such system-dependent
    defines, so use imported from Linux.

    selects a proper one. Maybe, we should split header
    inclusion completely, but I do not want too many patches at one.

    I can rip off the include/libfdt_env.h from HOST_EXTRACFLAGS.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass

    Masahiro Yamada
     
  • Several host-tools use "bool" type without including .
    This relies on the crappy header inclusion chain.

    tools/Makefile has the following line:

    HOST_EXTRACFLAGS += -include $(srctree)/include/libfdt_env.h \

    All host-tools are forced to include libfdt_env.h even if they are
    totally unrelated to FDT. Then, is indirectly included
    as follows:

    include/libfdt_env.h
    -> include/linux/types.h
    ->

    I am fixing this horrible crap. In advance, I need to add necessary
    include directives explicitly. tools/fdtgrep.c needs more;
    for open() and for errno.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Joe Hershberger
    Reviewed-by: Simon Glass

    Masahiro Yamada
     
  • The only difference between scripts/dtc/libfdt/fdt_rw.c and
    lib/libfdt/fdt_rw.c is fdt_remove_unused_strings().

    It is only used by fdtgrep, so we do not need to compile it for U-Boot
    image. Move it to tools/libfdt/fdw_rw.c so that lib/libfdt/fdt_rw.c
    can be a wrapper of scripts/dtc/libfdt/fdt_rw.c.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass

    Masahiro Yamada
     
  • All of these host tools are apparently written for Python2,
    not Python3.

    Use 'python2' in the shebang line according to PEP 394
    (https://www.python.org/dev/peps/pep-0394/).

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass

    Masahiro Yamada
     

28 Jan, 2018

1 commit


23 Jan, 2018

1 commit

  • For testing EFI disk management we need an in-memory image of
    a disk.

    The tool file2include converts a file to a C include. The file
    is separated into strings of 8 bytes. Only the non-zero strings
    are written to the include. The output format has been designed
    to maintain readability.

    #define EFI_ST_DISK_IMG { 0x00010000, { \
    {0x000001b8, "\x94\x37\x69\xfc\x00\x00\x00\x00"}, /* .7i..... */ \
    {0x000001c0, "\x02\x00\x83\x02\x02\x00\x01\x00"}, /* ........ */ \
    {0x000001c8, "\x00\x00\x7f\x00\x00\x00\x00\x00"}, /* ........ */ \
    {0x000001f8, "\x00\x00\x00\x00\x00\x00\x55\xaa"}, /* ......U. */ \
    ...
    {0x00006000, "\x48\x65\x6c\x6c\x6f\x20\x77\x6f"}, /* Hello wo */ \
    {0x00006008, "\x72\x6c\x64\x21\x0a\x00\x00\x00"}, /* rld!.... */ \
    {0, NULL} } }

    As the disk image needed for testing contains mostly zeroes a high
    compression ratio can be attained.

    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     

22 Jan, 2018

1 commit


20 Jan, 2018

1 commit


17 Jan, 2018

1 commit

  • In some cases when "more" is told to page a given file it will prepend
    the output with:
    ::::::::::::::
    /PATH/TO/THE/FILE
    ::::::::::::::

    And when this happens the output will not match the expected length.
    Further, if we use a different pager we will instead fail the coverage
    tests as we will not have 100% coverage. Update the help test to remove
    the string in question.

    Reviewed-by: Simon Glass
    Signed-off-by: Tom Rini

    Tom Rini
     

16 Jan, 2018

3 commits


12 Jan, 2018

1 commit

  • Add prelink-riscv to arrange .rela.dyn and .rela.got
    in compile time. So that u-boot can be directly
    executed without fixup.

    Signed-off-by: Chih-Mao Chen
    Signed-off-by: Rick Chen
    Signed-off-by: Rick Chen
    Signed-off-by: Greentime Hu

    Rick Chen
     

09 Jan, 2018

1 commit

  • Introduce the recovery image download script for usage with
    Marvell Armada SoC families (excepting 37xx family).
    Since Marvell BootROM uses a sliding window in UART buffer
    for detecting escape sequence during the boot, it's easier
    to interrupt the normal boot flow by sending a long stream
    of chained escape sequences to the serial port instead of
    periodically sending a single escape sequence as it is done
    by kwboot utility.
    Additional benefit of using this script is the ability to
    adjust the escape sequence stream length withoiut need for
    compilation.

    Signed-off-by: Konstantin Porotchkin
    Cc: Stefan Roese
    Cc: Igal Liberman
    Signed-off-by: Stefan Roese

    Konstantin Porotchkin
     

19 Dec, 2017

1 commit


18 Dec, 2017

1 commit


13 Dec, 2017

9 commits

  • Add this feature to the README.

    Signed-off-by: Simon Glass
    Reviewed-by: Lukasz Majewski

    Simon Glass
     
  • Binman construct images consisting of multiple binary files. These files
    sometimes need to know (at run timme) where their peers are located. For
    example, SPL may want to know where U-Boot is located in the image, so
    that it can jump to U-Boot correctly on boot.

    In general the positions where the binaries end up after binman has
    finished packing them cannot be known at compile time. One reason for
    this is that binman does not know the size of the binaries until
    everything is compiled, linked and converted to binaries with objcopy.

    To make this work, we add a feature to binman which checks each binary
    for symbol names starting with '_binman'. These are then decoded to figure
    out which entry and property they refer to. Then binman writes the value
    of this symbol into the appropriate binary. With this, the symbol will
    have the correct value at run time.

    Macros are used to make this easier to use. As an example, this declares
    a symbol that will access the 'u-boot-spl' entry to find the 'pos' value
    (i.e. the position of SPL in the image):

    binman_sym_declare(unsigned long, u_boot_spl, pos);

    This converts to a symbol called '_binman_u_boot_spl_prop_pos' in any
    binary that includes it. Binman then updates the value in that binary,
    ensuring that it can be accessed at runtime with:

    ulong u_boot_pos = binman_sym(ulong, u_boot_spl, pos);

    This assigns the variable u_boot_pos to the position of SPL in the image.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • The elf module can provide some debugging information to assist with
    figuring out what is going wrong. This is also useful in tests. Update the
    -D option so that it is passed through to tests as well.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This is only 3 bytes long which is not enough to hold two symbol values,
    needed to test the binman symbols feature. Increase it to 15 bytes.

    Using very small regions is useful since we can easily compare them in
    tests and errors are fairly easy to diagnose.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • For testing we need to build some ELF files containing binman symbols. Add
    these to the Makefile and check in the binaries:

    u_boot_binman_syms - normal, valid ELF file
    u_boot_binman_syms_bad - missing the __image_copy_start symbol
    u_boot_binman_syms_size - has a binman symbol with an invalid size

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This feature is now supported. Drop the incorrect comment.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This file contains SPL image without a device tree. Add support for
    including this in images.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This file contains the SPL device tree. Add support for including this by
    itself in images.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • In some cases we need to read symbols from U-Boot. At present we have a
    a few cases which does this via 'nm' and 'grep'.

    It is better to use objdump since that tells us the size of the symbols
    and also whether it is weak or not.

    Add a new module which reads ELF information from files. Update existing
    uses of 'nm' to use this module.

    Signed-off-by: Simon Glass

    Simon Glass
     

06 Dec, 2017

1 commit

  • Since commit 2614a208471e ("common: command: tempory buffer should
    have size of command line buf"), there have been consistent Travis CI
    failures on my builds (interestingly not for Tom, even though building
    the same commit id) due to a SEGV in building the byteswapped
    omapimage:
    arm: pcm051_rev3
    make[2]: *** [MLO.byteswap] Error 139
    ^^^ error code for a SEGV

    Turns out that the word-based byte-swapping loop in omapimage.c is to
    blame. With the loop condition
    while (swapped st_size / sizeof(uint32_t)))
    there had been one-too-many iterations for all file sizes divisible by
    the sizeof(uint32_t). I.e. we had 1 iteration for 0 bytes (and also 1
    through 3 bytes) and 2 iterations at 4 bytes... clearly overshooting
    on 0 and 4 bytes.

    This commit fixes the calculation of an up-rounded word-count and
    makes sure to keep the zero-based loop-counter below the number of
    words to be processed.

    References: 2614a20 ("common: command: tempory buffer should have size of command line buf")
    Fixes: 79b9ebb ("omapimage: Add support for byteswapped SPI images")
    Signed-off-by: Philipp Tomsich
    Reviewed-by: Martin Elshuber

    Philipp Tomsich
     

04 Dec, 2017

1 commit


30 Nov, 2017

1 commit

  • Up to now we were able to read/write environment data from/to UBI
    volumes only indirectly by gluebi driver. This driver creates NAND MTD
    on top of UBI volumes, which is quite a workaroung for this use case.

    Add support for direct read/write UBI volumes in order to not use
    obsolete gluebi driver.

    Forward-ported from this patch:
    http://patchwork.ozlabs.org/patch/619305/

    Original patch:
    Signed-off-by: Marcin Niestroj

    Forward port:
    Signed-off-by: S. Lockwood-Childs

    S. Lockwood-Childs