18 Jan, 2020

1 commit


03 Dec, 2019

1 commit


12 Aug, 2019

2 commits


16 Jan, 2019

2 commits


15 Jan, 2019

3 commits


27 Nov, 2018

1 commit


18 Nov, 2018

3 commits

  • Use the global MIPS specific u-boot.lds for linking standalone programs
    instead of the outdated ones in examples/standalone/. Also pass --gc-sections
    in LDFLAGS_STANDALONE to optimize the size of standalone programs.
    Finally remove the deprecated config.mk files in arch/mips/cpu/mips[32,64]/.

    Signed-off-by: Daniel Schwierzeck

    Daniel Schwierzeck
     
  • Currently the OBJCOPYFLAGS are cleared when assigning "-O srec"
    or "-O binary" for standalone programs. All flags set by arch-specific
    Makefiles are lost. This is bad if an arch demands arch-specific
    flags for the objcopy step.

    Signed-off-by: Daniel Schwierzeck
    Reviewed-by: Tom Rini

    Daniel Schwierzeck
     
  • Introduce a new Makefile variable for passing LDFLAGS to standalone
    programs. Currently the variable CONFIG_STANDALONE_LOAD_ADDR is
    misued on some archs to pass a specific linker script.

    Signed-off-by: Daniel Schwierzeck
    Reviewed-by: Tom Rini
    Reviewed-by: Rick Chen

    Daniel Schwierzeck
     

13 Jun, 2018

1 commit

  • Often during debugging session it's very interesting to see
    what data we were dealing with. For example what we write or read
    to/from memory or peripherals.

    This change introduces functions that allow to dump binary
    data with one simple function invocation like:
    ------------------->8----------------
    print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, buf, len);
    ------------------->8----------------

    which gives us the following:
    ------------------->8----------------
    00000000: f2 b7 c9 88 62 61 75 64 72 61 74 65 3d 31 31 35 ....baudrate=115
    00000010: 32 30 30 00 62 6f 6f 74 61 72 67 73 3d 63 6f 6e 200.bootargs=con
    00000020: 73 6f 6c 65 3d 74 74 79 53 33 2c 31 31 35 32 30 sole=ttyS3,11520
    00000030: 30 6e 38 00 62 6f 6f 74 64 65 6c 61 79 3d 33 00 0n8.bootdelay=3.
    00000040: 62 6f 6f 74 66 69 6c 65 3d 75 49 6d 61 67 65 00 bootfile=uImage.
    00000050: 66 64 74 63 6f 6e 74 72 6f 6c 61 64 64 72 3d 39 fdtcontroladdr=9
    00000060: 66 66 62 31 62 61 30 00 6c 6f 61 64 61 64 64 72 ffb1ba0.loadaddr
    00000070: 3d 30 78 38 32 30 30 30 30 30 30 00 73 74 64 65 =0x82000000.stde
    00000080: 72 72 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32 rr=serial0@e0022
    00000090: 30 30 30 00 73 74 64 69 6e 3d 73 65 72 69 61 6c 000.stdin=serial
    000000a0: 30 40 65 30 30 32 32 30 30 30 00 73 74 64 6f 75 0@e0022000.stdou
    000000b0: 74 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32 30 t=serial0@e00220
    000000c0: 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..............
    ...
    ------------------->8----------------

    Source of hexdump.c was copied from Linux kernel v4.7-rc2.

    Signed-off-by: Alexey Brodkin
    Cc: Anatolij Gustschin
    Cc: Mario Six
    Cc: Simon Glass
    Cc: Tom Rini
    Cc: Stefan Roese

    Alexey Brodkin
     

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
     

23 Jan, 2018

1 commit

  • For debugging efi_loader we need the capability to print EFI
    device paths. With this patch we can write:

    debug("device path: %pD", dp);

    A possible output would be

    device path: /MemoryMapped(0x0,0x3ff93a82,0x3ff93a82)

    This enhancement is not available when building without EFI support
    and neither in the SPL nor in the API example.

    A test is provided. It can be executed in the sandbox with command
    ut_print.

    The development for EFI support in the sandbox is currently in
    branch u-boot-dm/efi-working. The branch currently lacks
    commit 6ea8b580f06b ("efi_loader: correct DeviceNodeToText
    for media types"). Ater rebasing the aforementioned branch on
    U-Boot v2018.01 the test is executed successfully.

    Without EFI support in the sandbox the test is simply skipped.

    Suggested-by: Rob Clark
    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Simon Glass
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     

12 Jan, 2018

1 commit

  • Run hello_world successfully.

    U-Boot 2018.01-rc2-00033-gb265b91-dirty (Dec 22 2017 - 13:54:21 +0800)

    DRAM: 1 GiB
    MMC: mmc@f0e00000: 0
    SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
    In: serial@f0300000
    Out: serial@f0300000
    Err: serial@f0300000
    Net:
    Warning: mac@e0100000 (eth0) using random MAC address - 0a:47:9b:f8:b4:f2
    eth0: mac@e0100000
    RISC-V # mmc rescan
    RISC-V # fatls mmc 0:1
    318907 u-boot-ae250-64.bin
    1252 hello_world_ae250_32.bin
    328787 u-boot-ae250-32.bin

    3 file(s), 0 dir(s)

    RISC-V # fatload mmc 0:1 0x600000 hello_world_ae250_32.bin
    reading hello_world_ae250_32.bin
    1252 bytes read in 23 ms (52.7 KiB/s)
    RISC-V # go 0x600000
    Example expects ABI version 9
    Actual U-Boot ABI version 9
    Hello World
    argc = 1
    argv[0] = "0x600000"
    argv[1] = "$B@"
    Hit any key to exit ...

    RISC-V #

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

    Rick Chen
     

13 Sep, 2017

3 commits

  • Solves build issue:

    Building current source for 134 boards (12 threads, 1 job per thread)
    arm: + lsxhl
    +examples/api/vsprintf.o: In function `string16':
    +lib/vsprintf.c:278: undefined reference to `memcpy'
    +examples/api/uuid.o: In function `uuid_bin_to_str':
    +lib/uuid.c:197: undefined reference to `memcpy'
    +lib/uuid.c:199: undefined reference to `memcpy'
    +make[3]: *** [examples/api/demo] Error 1
    +make[2]: *** [examples/api] Error 2
    +make[1]: *** [examples] Error 2
    +make: *** [sub-make] Error 2
    133 0 1 /134 sheevaplug

    Signed-off-by: Rob Clark

    Rob Clark
     
  • This works (roughly) the same way as linux's, but we currently always
    print lower-case (ie. we just keep %pUB and %pUL for compat with linux),
    mostly just because that is what uuid_bin_to_str() supports.

    %pUb: 01020304-0506-0708-090a-0b0c0d0e0f10
    %pUl: 04030201-0605-0807-090a-0b0c0d0e0f10

    It will be used by a later efi_loader paths for efi variables and for
    device-path-to-text protocol, and also quite useful for debug prints
    of protocol GUIDs.

    Signed-off-by: Rob Clark
    Tested-by: Heinrich Schuchardt
    Reviewed-by: Simon Glass

    Rob Clark
     
  • This is convenient for efi_loader which deals a lot with UTF-16. Only
    enabled with CC_SHORT_WCHAR, leaving room to add a UTF-32 version when
    CC_SHORT_WCHAR is not enabled.

    Signed-off-by: Rob Clark
    Reviewed-by: Simon Glass
    Reviewed-by: Simon Glass

    Rob Clark
     

07 Jul, 2017

1 commit

  • AVR32 is gone. It's already more than two years for no support in Buildroot,
    even longer there is no support in GCC (last version is heavily patched 4.2.4).

    Linux kernel v4.12 got rid of it (and v4.11 didn't build successfully).

    There is no good point to keep this support in U-Boot either.

    Reviewed-by: Simon Glass
    Reviewed-by: Tom Rini
    Reviewed-by: Heiko Schocher
    Signed-off-by: Andy Shevchenko

    Andy Shevchenko
     

16 Jun, 2017

1 commit


12 Jun, 2017

2 commits


06 Apr, 2017

3 commits

  • The OpenRISC architecture is currently unmaintained, remove.

    Cc: Stefan Kristiansson
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass

    Tom Rini
     
  • The SPARC architecture is currently unmaintained, remove.

    Cc: Francois Retief
    Signed-off-by: Tom Rini

    Tom Rini
     
  • The architecture is currently unmaintained, remove.

    Cc: Benjamin Matthews
    Cc: Chong Huang
    Cc: Dimitar Penev
    Cc: Haitao Zhang
    Cc: I-SYST Micromodule
    Cc: M.Hasewinkel (MHA)
    Cc: Marek Vasut
    Cc: Martin Strubel
    Cc: Peter Meerwald
    Cc: Sonic Zhang
    Cc: Valentin Yakovenkov
    Cc: Wojtek Skulski
    Cc: Wojtek Skulski
    Signed-off-by: Tom Rini

    Tom Rini
     

21 Jan, 2017

1 commit

  • We have long had available optimized versions of the memset and memcpy
    functions that are borrowed from the Linux kernel. We should use these
    in normal conditions as the speed wins in many workflows outweigh the
    relatively minor size increase. However, we have a number of places
    where we're simply too close to size limits in SPL and must be able to
    make the size vs performance trade-off in those cases.

    Cc: Philippe Reynes
    Cc: Eric Jarrige
    Cc: Heiko Schocher
    Cc: Magnus Lilja
    Cc: Lokesh Vutla
    Cc: Chander Kashyap
    Cc: Akshay Saraswat
    Cc: Simon Glass
    Cc: Stefan Roese
    Signed-off-by: Tom Rini
    Acked-by: Stefan Roese
    Reviewed-by: Simon Glass

    Tom Rini
     

27 Sep, 2016

1 commit


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
     

21 May, 2016

2 commits


08 Feb, 2016

1 commit


06 Feb, 2016

1 commit

  • Correct spelling of "U-Boot" shall be used in all written text
    (documentation, comments in source files etc.).

    Signed-off-by: Bin Meng
    Reviewed-by: Heiko Schocher
    Reviewed-by: Simon Glass
    Reviewed-by: Minkyu Kang

    Bin Meng
     

23 Nov, 2015

1 commit

  • This patch adds a small printf() version that supports all basic formats.
    Its intented to be used in U-Boot SPL versions on platforms with very
    limited internal RAM sizes.

    To enable it, just define CONFIG_USE_TINY_PRINTF in your defconfig. This
    will result in the SPL using this tiny function and the main U-Boot
    still using the full-blown printf() function.

    This code was copied from:
    http://www.sparetimelabs.com/printfrevisited
    With mostly only coding style related changes so that its checkpatch
    clean.

    The size reduction is about 2.5KiB. Here a comparison for the db-mv784mp-gp
    (Marvell AXP) SPL:

    Without this patch:
    58963 18536 1928 79427 13643 ./spl/u-boot-spl

    With this patch:
    56542 18536 1956 77034 12cea ./spl/u-boot-spl

    Note:
    To make it possible to compile tiny-printf.c instead of vsprintf.c when
    CONFIG_USE_TINY_PRINTF is defined, the functions printf() and vprintf() are
    moved from common/console.c into vsprintf.c in this patch.

    Signed-off-by: Stefan Roese
    Cc: Simon Glass
    Cc: Hans de Goede
    Cc: Tom Rini
    Cc: Albert Aribaud

    Stefan Roese
     

20 Nov, 2015

1 commit


11 Nov, 2015

1 commit


10 Nov, 2015

2 commits

  • After consulting with some of the SPDX team, the conclusion is that
    Makefiles are worth adding SPDX-License-Identifier tags too, and most of
    ours have one. This adds tags to ones that lack them and converts a few
    that had full (or in one case, very partial) license blobs into the
    equivalent tag.

    Cc: Kate Stewart
    Signed-off-by: Tom Rini

    Tom Rini
     
  • When building a Thumb-1-only target with CONFIG_SYS_THUMB_BUILD,
    some files fail to build, most of the time because they include
    mcr instructions, which only exist for Thumb-2.

    This patch introduces a Kconfig option CONFIG_THUMB2 and uses
    it to select between Thumb-2 and ARM mode for the aforementioned
    files.

    Signed-off-by: Albert ARIBAUD

    Albert ARIBAUD
     

20 May, 2015

1 commit