27 Apr, 2020

1 commit

  • Add the fsl CAAM driver and new commands to implement DEK blob operations,
    like "caam genblob" to generate encrypted blob and "caam decap" to output
    orignal plain data.

    Signed-off-by: Ye Li
    (cherry picked from commit 4ec81a0b075d8d853ac696172660a7771064405d)
    (cherry picked from commit fcd29e9dd2e13e4650741603ca1bfb40fe1a9ede)

    Ye Li
     

04 Feb, 2020

1 commit

  • This command can be used to extract fields and image payloads from
    Android Boot Image. It can be used for example to implement boot flow
    where dtb is taken from boot.img (as v2 incorporated dtb inside of
    boot.img). Using this command, one can obtain needed dtb blob from
    boot.img in scripting manner, and then apply needed dtbo's (from "dtbo"
    partition) on top of that, providing then the resulting image to bootm
    command in order to boot the Android.

    Also right now this command has the sub-command to get an address and
    size of recovery dtbo from recovery image (for non-A/B devices only,
    see [1,2] for details).

    It can be tested like this:

    => mmc dev 1
    => part start mmc 1 boot_a boot_start
    => part size mmc 1 boot_a boot_size
    => mmc read $loadaddr $boot_start $boot_size
    => abootimg get ver
    => abootimg dump dtb

    [1] https://source.android.com/devices/bootloader/boot-image-header
    [2] https://source.android.com/devices/architecture/dto/partitions

    Signed-off-by: Sam Protsenko
    Signed-off-by: Lokesh Vutla

    Sam Protsenko
     

21 Jan, 2020

1 commit

  • Add support for read/write of ONIE "Tlvinfo" EEPROM data format. TLV
    stands for Type-Length-Value. The data format is described here:

    https://opencomputeproject.github.io/onie/design-spec/hw_requirements.html#board-eeprom-information-format

    Based on U-Boot patch from the Open Compute project:

    https://github.com/opencomputeproject/onie/blob/ec87e872d46b9805565d2c6124b2f701ef1c07b1/patches/u-boot/common/feature-sys-eeprom-tlv-common.patch

    Keep only I2C EEPROM support. Use the generic eeprom driver. Fix
    checkpatch issues.

    Add support for multiple EEPROM TLV stores on the same system. This is
    useful in case of SOM and carrier that both provide ID and hardware
    configuration information.

    Add option to enable for SPL. This allows selection of RAM configuration
    based on EEPROM stored board identification.

    Signed-off-by: Baruch Siach

    Baruch Siach
     

18 Jan, 2020

1 commit


11 Jan, 2020

1 commit

  • Rename the existing 'dtimg' command to 'adtimg', in order to:
    - Suggest the Android origins and scope
    - Be consistent with the upcoming 'abootimg' command (naming
    suggested by Simon [*])

    The change in _not_ backward compatible, but its benefits outweigh its
    downsides, given that we don't expect active users of 'dtimg' today.

    Perform the rename in several steps:
    1. Rename *.c file and Kconfig symbol. This should allow
    'git log --follow' to properly track the history of 'adtimg.c'
    2. 's/dtimg/adtimg/g' in the internal namespace of 'adtimg.c'

    ELF comparison [**] before and after shows no functional change.

    [*] https://patchwork.ozlabs.org/patch/1182212/#2291600
    [**] diff -u
    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Simon Glass
    Reviewed-by: Sam Protsenko

    Eugeniu Rosca
     

08 Jan, 2020

1 commit

  • For the RNG uclass we currently only have a test working on the sandbox.

    Provide a command to test the hardware random number generator on
    non-sandbox systems.

    Signed-off-by: Heinrich Schuchardt

    Heinrich Schuchardt
     

15 Dec, 2019

1 commit


09 Dec, 2019

1 commit


07 Dec, 2019

2 commits


05 Dec, 2019

1 commit

  • The 'sf' command is not supposed to rely on the MTD stack, but both
    'sf' and 'nand' commands use helpers located in mtd_uboot.c. Despite
    their location, these functions do not depend at all on the MTD
    stack.

    This file (drivers/mtd/mtd_uboot.c) is only compiled if CONFIG_MTD is
    selected, which is inconsistent with the current situation. Solve this
    by moving these three functions (which are only used by the above two
    commands) out of mtd_uboot.c and put them in a C file only compiled
    with cmd/sf.c and cmd/nand.c.

    Signed-off-by: Miquel Raynal
    [trini: Don't export get_part function now]
    Signed-off-by: Tom Rini

    Miquel Raynal
     

03 Dec, 2019

1 commit

  • When we do not have CONFIG_BLK (or SPL/TPL) enabled there are very few
    cases where we need the blk_legacy code linked in. To catch these, build
    when we have CONFIG_HAVE_BLOCK_DEVICE set. In addition, we only need
    cmd/blk_common.o to be linked in when we have CONFIG_HAVE_BLOCK_DEVICE
    set, so make use of that directly.

    Signed-off-by: Tom Rini

    Tom Rini
     

24 Oct, 2019

1 commit


05 Sep, 2019

1 commit

  • Add support for capturing ethernet packets and storing
    them in memory in PCAP(2.4) format, later to be analyzed by
    any PCAP viewer software (IE. Wireshark)

    This feature greatly assist debugging network issues such
    as detecting dropped packets, packet corruption etc.

    Signed-off-by: Ramon Fried
    Reviewed-by: Alex Marginean
    Tested-by: Alex Marginean
    Acked-by: Joe Hershberger

    Ramon Fried
     

12 Aug, 2019

1 commit


25 Jul, 2019

1 commit

  • For A/B system update support the Android boot process requires to send
    'androidboot.slot_suffix' parameter as a command line argument. This
    patch implementes 'ab_select' command which allows us to obtain current
    slot by processing the A/B metadata.

    The patch was extracted from commit [1] with one modification: the
    separator for specifying the name of metadata partition was changed
    from ';' to '#', because ';' is used for commands separation.

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

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

    Ruslan Trofymenko
     

15 Jul, 2019

1 commit

  • The mmc_spi command was added to manually setup MMC over SPI bus
    using command. This was required by the legacy non-DM MMC_SPI driver.

    With DM based MMC_SPI driver in-place, we can now use all general
    storge commands and mmc command for MMC over SPI bus hence we remove
    the mmc_spi command all it's references.

    Suggested-by: Bin Meng
    Signed-off-by: Anup Patel
    Reviewed-by: Bin Meng

    Anup Patel
     

12 Jul, 2019

1 commit

  • 'Bootloader Control Block' (BCB) is a well established term/acronym in
    the Android namespace which refers to a location in a dedicated raw
    (i.e. FS-unaware) flash (e.g. eMMC) partition, usually called "misc",
    which is used as media for exchanging messages between Android userspace
    (particularly recovery [1]) and an Android-capable bootloader.

    On higher level, this allows implementing a subset of Android Bootloader
    Requirements [2], amongst which is the Android-specific bootloader
    flow [3]. Regardless how the latter is implemented in U-Boot ([3] being
    the most memorable example), reading/writing/dumping the BCB fields in
    the development process from inside the U-Boot is a convenient feature.
    Hence, make it available to the users.

    Some usage examples of the new command recorded on R-Car H3ULCB-KF
    ('>>>' is an overlay on top of the original console output):

    => bcb
    bcb - Load/set/clear/test/dump/store Android BCB fields

    Usage:
    bcb load - load BCB from mmc :
    bcb set - set BCB to
    bcb clear [] - clear BCB or all fields
    bcb test - test BCB against
    bcb dump - dump BCB
    bcb store - store BCB back to mmc

    Legend:
    - MMC device index containing the BCB partition
    - MMC partition index or name containing the BCB
    - one of {command,status,recovery,stage,reserved}
    - the binary operator used in 'bcb test':
    '=' returns true if matches the string stored in
    '~' returns true if matches a subset of 's string
    - string/text provided as input to bcb {set,test}
    NOTE: any ':' character in will be replaced by line feed
    during 'bcb set' and used as separator by upper layers

    => bcb dump command
    Error: Please, load BCB first!
    >>> Users must specify mmc device and partition before any other call

    => bcb load 1 misc
    => bcb load 1 1
    >>> The two calls are equivalent (assuming "misc" has index 1)

    => bcb dump command
    00000000: 62 6f 6f 74 6f 6e 63 65 2d 73 68 65 6c 6c 00 72 bootonce-shell.r
    00000010: 79 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 y.r.............
    >>> The output is in binary/string format for convenience
    >>> The output size matches the size of inspected BCB field
    >>> (32 bytes in case of 'command')

    => bcb test command = bootonce-shell && echo true
    true
    => bcb test command = bootonce-shell- && echo true
    => bcb test command = bootonce-shel && echo true
    >>> The '=' operator returns 'true' on perfect match

    => bcb test command ~ bootonce-shel && echo true
    true
    => bcb test command ~ bootonce-shell && echo true
    true
    >>> The '~' operator returns 'true' on substring match

    => bcb set command recovery
    => bcb dump command
    00000000: 72 65 63 6f 76 65 72 79 00 73 68 65 6c 6c 00 72 recovery.shell.r
    00000010: 79 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 y.r.............
    >>> The new value is NULL-terminated and stored in the BCB field

    => bcb set recovery "msg1:msg2:msg3"
    => bcb dump recovery
    00000040: 6d 73 67 31 0a 6d 73 67 32 0a 6d 73 67 33 00 00 msg1.msg2.msg3..
    00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    >>> --- snip ---
    >>> Every ':' is replaced by line-feed '\n' (0xA). The latter is used
    >>> as separator between individual commands by Android userspace

    => bcb store
    >>> Flush/store the BCB structure to MMC

    [1] https://android.googlesource.com/platform/bootable/recovery
    [2] https://source.android.com/devices/bootloader
    [3] https://patchwork.ozlabs.org/patch/746835/
    ("[U-Boot,5/6] Initial support for the Android Bootloader flow")

    Signed-off-by: Eugeniu Rosca

    Eugeniu Rosca
     

29 May, 2019

1 commit

  • Compiling the display command leads to an error

    undefined reference to `display_set'

    No implementation of display_set() exists in U-Boot.

    Eliminate the `display` command as well as the accompanying files.

    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Simon Glass

    Heinrich Schuchardt
     

23 Apr, 2019

1 commit

  • The 'exception' command allows to test exception handling.

    This implementation supports ARM, x86, RISC-V and the following exceptions:
    * 'breakpoint' - prefetch abort exception (ARM 32bit only)
    * 'unaligned' - data abort exception (ARM only)
    * 'undefined' - undefined instruction exception

    Signed-off-by: Heinrich Schuchardt

    Heinrich Schuchardt
     

12 Apr, 2019

1 commit

  • Add a command to control the watchdog devices. This is useful if the
    watchdog is rather long running (eg. seconds) and it should be
    controlled by scripts. It is also handy during debugging.

    Signed-off-by: Michael Walle
    Signed-off-by: Stefan Roese

    Michael Walle
     

25 Feb, 2019

2 commits

  • Currently, there is no easy way to add or modify UEFI variables.
    In particular, bootmgr supports BootOrder/BootXXXX variables, it is
    quite hard to define them as u-boot variables because they are represented
    in a complicated and encoded format.

    The new command, efidebug, helps address these issues and give us
    more friendly interfaces:
    * efidebug boot add: add BootXXXX variable
    * efidebug boot rm: remove BootXXXX variable
    * efidebug boot dump: display all BootXXXX variables
    * efidebug boot next: set BootNext variable
    * efidebug boot order: set/display a boot order (BootOrder)

    Signed-off-by: AKASHI Takahiro
    Reviewed-by: Heinrich Schuchardt

    AKASHI Takahiro
     
  • "env [print|set] -e" allows for handling uefi variables without
    knowing details about mapping to corresponding u-boot variables.

    Signed-off-by: AKASHI Takahiro
    Reviewed-by: Heinrich Schuchardt

    AKASHI Takahiro
     

20 Feb, 2019

1 commit


16 Dec, 2018

1 commit


05 Dec, 2018

1 commit

  • Add common clear screen command for configurations
    CONFIG_DM_VIDEO, CONFIG_LCD and CONFIG_CFB_CONSOLE.

    Remove the existing cls command implementation from
    lcd.c code and activate the command for all boards
    enabling CONFIG_LCD for compatibility reasons.

    Signed-off-by: Anatolij Gustschin
    Tested-by: Patrick.Delaunay

    Anatolij Gustschin
     

26 Nov, 2018

1 commit

  • The old 'sb' command was deprecated in 2015 and replaced with 'host'. It
    is useful to be able to access some internal sandbox state, particularly
    for testing.

    Resurrect the old command and provide a way to print some basic state
    information (currently just the arguments to sandbox).

    Signed-off-by: Simon Glass

    Simon Glass
     

17 Nov, 2018

1 commit

  • pinmux command allows to :
    - list all pin-controllers available on platforms
    - select a pin-controller
    - display the muxing of all pins of the current pin-controller
    or all pin-controllers depending of given options

    Signed-off-by: Patrice Chotard
    cmd: pinmux: Fix pinmux command

    if "pinmux status" command is used without having
    set dev using "pinmux dev", print pinmux usage
    Reviewed-by: Simon Glass

    Patrice Chotard
     

15 Nov, 2018

1 commit


01 Nov, 2018

1 commit


03 Oct, 2018

2 commits

  • This is the PR for SPI-NAND changes along with few spi changes.

    [trini: Re-sync changes for ls1012afrwy_qspi*_defconfig]
    Signed-off-by: Tom Rini

    Tom Rini
     
  • There should not be a 'nand' command, a 'sf' command and certainly not
    a new 'spi-nand' command. Write a 'mtd' command instead to manage all
    MTD devices/partitions at once. This should be the preferred way to
    access any MTD device.

    Signed-off-by: Miquel Raynal
    Acked-by: Jagan Teki
    Reviewed-by: Stefan Roese
    Reviewed-by: Boris Brezillon

    Miquel Raynal
     

30 Sep, 2018

1 commit


29 Sep, 2018

2 commits


26 Sep, 2018

1 commit

  • The 'conitrace' command prints the codes received from the console input as
    hexadecimal numbers.

    This developer utility is useful for testing the handling of special keys
    by keyboard drivers.

    Signed-off-by: Heinrich Schuchardt

    Heinrich Schuchardt
     

19 Sep, 2018

1 commit


25 Aug, 2018

1 commit


21 Aug, 2018

1 commit

  • In some cases it can be useful to be able to bind a device to a driver from
    the command line.
    The obvious example is for versatile devices such as USB gadget.
    Another use case is when the devices are not yet ready at startup and
    require some setup before the drivers are bound (ex: FPGA which bitsream is
    fetched from a mass storage or ethernet)

    usage example:

    bind usb_dev_generic 0 usb_ether
    unbind usb_dev_generic 0 usb_ether
    or
    unbind eth 1

    bind /ocp/omap_dwc3@48380000/usb@48390000 usb_ether
    unbind /ocp/omap_dwc3@48380000/usb@48390000

    Signed-off-by: Jean-Jacques Hiblot

    Jean-Jacques Hiblot
     

20 Aug, 2018

1 commit

  • dtimg command allows user to work with Android DTB/DTBO image format.
    Such as, getting the address of desired DTB/DTBO file, printing the dump
    of the image in U-Boot shell, etc.

    This command is needed to provide Android boot with new Android DT image
    format further.

    Signed-off-by: Sam Protsenko
    Reviewed-by: Tom Rini

    Sam Protsenko