22 Feb, 2018

2 commits

  • Do the following to make the symbol names less confusing.

    sed -i "s/\([TU][^_]\+\)_FUNCTION_DFU/DFU_OVER_\1/g" \
    `git grep _FUNCTION_DFU | cut -d ":" -f 1 | sort -u`

    Signed-off-by: Marek Vasut
    Cc: Lukasz Majewski

    Marek Vasut
     
  • Clean up the screaming mess of configuration options that DFU is.
    It was impossible to configure DFU such that TFTP is enabled and
    USB is not, this patch fixes that and assures that DFU TFTP and
    DFU USB can be enabled separatelly and that the correct pieces
    of code are compiled in.

    Signed-off-by: Marek Vasut
    Cc: Lukasz Majewski

    Marek Vasut
     

12 Jan, 2018

1 commit


08 Dec, 2017

2 commits


06 Oct, 2017

1 commit


19 Sep, 2017

1 commit


15 Aug, 2017

1 commit


13 Aug, 2017

1 commit

  • To allow for a finer-grained control of features for TPL and SPL
    builds all modules/boot-methods/etc. need to be consistently selected
    based on the $(SPL_TPL_) macros.

    This allows splitting the associated config-options in Kconfig: we
    don't split the Kconfig options here and now, as this should happen on
    an as-needed basis, whenever someone needs a feature/boot-method/etc.
    in their TPL.

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

    Philipp Tomsich
     

27 Jul, 2017

1 commit

  • Some platforms have very limited SRAM to run SPL code, so there may
    not be the same amount space for a malloc pool before relocation in
    the SPL stage as the normal U-Boot stage.

    Make SPL and (the full) U-Boot stage use independent SYS_MALLOC_F_LEN,
    so the size of pre-relocation malloc pool can be configured memory
    space independently.

    Signed-off-by: Andy Yan
    Reviewed-by: Tom Rini
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich
    [fixed up commit-message:]
    Signed-off-by: Philipp Tomsich

    Andy Yan
     

12 Jul, 2017

3 commits


11 Jul, 2017

2 commits


06 Jun, 2017

1 commit

  • At present bootstage only supports U-Boot proper. But SPL can also consume
    boot time so it is useful to have the record start there.

    Add bootstage support to SPL. Also support stashing the timing information
    when SPL finishes so that it can be picked up and reported by U-Boot
    proper. This provides a full boot time record, excluding only the time
    taken by the boot ROM.

    Signed-off-by: Simon Glass

    Simon Glass
     

23 May, 2017

2 commits

  • At present IDE support is controlled by CONFIG_CMD_IDE. Add a separate
    CONFIG_IDE option so that IDE support can be enabled without requiring
    the 'ide' command.

    Update existing users and move the ide driver into drivers/block since
    it should not be in common/.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present CONFIG_CMD_HASH enables the 'hash' command which also brings
    in the hashing API. Some boards may wish to enable the API without the
    command. Add a separate CONFIG to permit this.

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

    Simon Glass
     

12 May, 2017

2 commits

  • With gcc-6 and later we may get a warning such as:
    .../common/cli_readline.c:20:21: warning: ‘tab_seq’ defined but not used [-Wunused-const-variable=]
    static const char tab_seq[] = " "; /* used to expand TABs */
    ^~~~~~~
    .../common/cli_readline.c:19:19: warning: ‘erase_seq’ defined but not used [-Wunused-const-variable=]
    static const char erase_seq[] = "\b \b"; /* erase sequence */
    ^~~~~~~~~

    Because in SPL we're normally not doing interactive commands anyhow, so
    lets just not compile this at all in SPL. This also means that we need
    to correct the logic (and comment) about what the drivers/ddr/fsl/ and
    CONFIG_FSL_DDR_INTERACTIVE requires and this will be included in SPL
    there.

    Signed-off-by: Tom Rini

    Tom Rini
     
  • Adding support for fdt fixup to update the
    memory node in device tree for falcon boot.

    This is needed for single stage or falcon
    bootmode, to pass memory configuration to
    kernel through DT memory node.

    Signed-off-by: Ravi Babu
    Reviewed-by: Lukasz Majewski

    B, Ravi
     

13 Feb, 2017

1 commit


28 Sep, 2016

2 commits

  • The cmd_dfu functionality is been used by both SPL and
    u-boot, saperating the core dfu functionality moving
    it to common/dfu.c.

    Signed-off-by: Ravi Babu
    Reviewed-by: Tom Rini

    B, Ravi
     
  • Traditionally the DFU support is available only
    as part 2nd stage boot loader(u-boot) and DFU
    is not supported in SPL.

    The SPL-DFU feature is useful for boards which
    does not have MMC/SD, ethernet boot mechanism
    to boot the board and only has USB inteface.

    This patch add DFU support in SPL with RAM
    memory device support to load and execute u-boot.
    And then leverage full functionality DFU in
    u-boot to flash boot inital binary images to
    factory or bare-metal boards to memory devices
    like SPI, eMMC, MMC/SD card using USB interface.

    This SPL-DFU support can be enabled through
    Menuconfig->Boot Images->Enable SPL-DFU support

    Signed-off-by: Ravi Babu
    Reviewed-by: Tom Rini

    B, Ravi
     

17 Sep, 2016

1 commit

  • At present TPL uses the same options as SPL support. In a few cases the board
    config enables or disables the SPL options depending on whether
    CONFIG_TPL_BUILD is defined.

    With the move to Kconfig, options are determined for the whole build and
    (without a hack like an #undef in a header file) cannot be controlled in this
    way.

    Create new TPL options for these and update users. This will allow Kconfig
    conversion to proceed for these boards.

    Signed-off-by: Simon Glass

    Simon Glass
     

20 Aug, 2016

1 commit

  • The bootz and booti commands rely on common functionality that is found
    in common/bootm.c and common/bootm_os.c. They do not however rely on
    the rest of cmd/bootm.c to be implemented so split them into their own
    files. Have various Makefiles include the required infrastructure for
    CONFIG_CMD_BOOT[IZ] as well as CONFIG_CMD_BOOTM. Move the declaration
    of 'images' over to common/bootm.c.

    Cc: Masahiro Yamada
    Signed-off-by: Tom Rini

    Tom Rini
     

25 Jun, 2016

1 commit


20 Jun, 2016

1 commit

  • Since commit bb597c0eeb7e ("common: bootdelay: move CONFIG_BOOTDELAY
    into a Kconfig option"), CONFIG_BOOTDELAY is defined for all boards.

    Prior to that commit, it was allowed to unset CONFIG_BOOTDELAY to
    not compile common/autoboot.c, as described in common/Makefile:

    # This option is not just y/n - it can have a numeric value
    ifdef CONFIG_BOOTDELAY
    obj-y += autoboot.o
    endif

    It was a bit odd to enable/disable code with an integer type option,
    but it was how this option worked before that commit, and several
    boards actually unset it to opt out of the autoboot feature.

    This commit adds a new bool option, CONFIG_AUTOBOOT, and makes
    CONFIG_BOOTDELAY depend on it.

    I chose "default y" for this option because most boards use the
    autoboot. I added "# CONFIG_AUTOBOOT is not set" for the boards that
    had not set CONFIG_BOOTDELAY prior to the bad commit.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

13 Jun, 2016

1 commit

  • This allows a board to configure verified boot within the SPL using
    a FIT or FIT with external data. It also allows the SPL to perform
    signature verification without needing relocation.

    The board configuration will need to add the following feature defines:
    CONFIG_SPL_CRYPTO_SUPPORT
    CONFIG_SPL_HASH_SUPPORT
    CONFIG_SPL_SHA256

    In this example, SHA256 is the only selected hashing algorithm.

    And the following booleans:
    CONFIG_SPL=y
    CONFIG_SPL_DM=y
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_FIT=y
    CONFIG_SPL_OF_CONTROL=y
    CONFIG_SPL_OF_LIBFDT=y
    CONFIG_SPL_FIT_SIGNATURE=y

    Signed-off-by: Teddy Reed
    Acked-by: Simon Glass
    Acked-by: Andreas Dannenberg
    Acked-by: Sumit Garg

    Teddy Reed
     

28 May, 2016

1 commit


21 May, 2016

1 commit

  • Introduce the (optional) eeprom print and eeprom update commands.

    These commands are eeprom layout aware:
    * The eeprom print command prints the contents of the eeprom in a human
    readable way (eeprom layout fields, and data formatted to be fit for human
    consumption).
    * The eeprom update command allows user to update eeprom fields by specifying
    the field name, and providing the new data in a human readable format (same
    format as displayed by the eeprom print command).
    * Both commands can either auto detect the layout, or be told which layout to
    use.

    New CONFIG options:
    CONFIG_CMD_EEPROM_LAYOUT - enables commands.
    CONFIG_EEPROM_LAYOUT_HELP_STRING - tells user what layout names are supported

    Feature API:
    __weak int parse_layout_version(char *str)
    - override to provide your own layout name parsing
    __weak void __eeprom_layout_assign(struct eeprom_layout *layout, int layout_version);
    - override to setup the layout metadata based on the version
    __weak int eeprom_layout_detect(unsigned char *data)
    - override to provide your own algorithm for detecting layout version
    eeprom_field.c
    - contains various printing and updating functions for common types of
    eeprom fields. Can be used for defining custom layouts.

    Cc: Heiko Schocher
    Cc: Marek Vasut
    Cc: Simon Glass
    Cc: Igor Grinberg
    Cc: Tom Rini
    Signed-off-by: Nikita Kiryanov

    Nikita Kiryanov
     

17 May, 2016

3 commits

  • At present the SATA command code includes both the command-processing code
    and the core SATA functions and data structures.

    Separate the latter into its own file, adding functions as needed to avoid
    the command code accessing data structures directly.

    With this commit:
    - All CONFIG option are referenced from the non-command code
    - The concept of a 'current SATA device' is confined to the command code

    This will make it easier to convert this code to driver model.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present the IDE command code includes both the command-processing code
    and the core IDE functions and data structures.

    Separate the latter into its own file, adding functions as needed to avoid
    the command code accessing data structures directly.

    With this commit:
    - Most CONFIG option are referenced from the non-command code
    - The concept of a 'current IDE device' is confined to the command code

    This will make it easier to convert this code to driver model.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present the SCSI command code includes both the command-processing code
    and the core SCSI functions and data structures.

    Separate the latter into its own file, adding functions as needed to avoid
    the command code accessing data structures directly. This functions use the
    new legacy block functions.

    With this commit:
    - There is no CONFIG option referenced from the command code
    - The concept of a 'current SCSI device' is confined to the command code

    This will make it easier to convert this code to driver model.

    Signed-off-by: Simon Glass

    Simon Glass
     

19 Apr, 2016

1 commit

  • Introduce env support for sata device.
    1. Implement write_env/read_env/env_relocate_spec/saveenv/sata_get_env_dev
    2. If want to enable this feature, define CONFIG_ENV_IS_IN_SATA, and
    define CONFIG_SYS_SATA_ENV_DEV or implement your own sata_get_ev_dev.

    Signed-off-by: Peng Fan
    Cc: Simon Glass
    Cc: Joe Hershberger
    Cc: Bin Meng
    Cc: Stefan Roese
    Cc: Heiko Schocher
    Cc: Stuart Longland
    Cc: Maxime Ripard
    Cc: Tom Rini
    Reviewed-by: Tom Rini

    Peng Fan
     

23 Mar, 2016

1 commit


15 Mar, 2016

3 commits

  • Add an option to enable libfdt in SPL. This can be useful when decoding
    FIT files in SPL.

    We need to make sure this option is not enabled in SPL by this change.
    Also this option needs to be enabled in host builds. Si add a new
    IMAGE_USE_LIBFDT #define which can be used in files that are built on the
    host but must also build for U-Boot and SPL.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • There are already two FIT options in Kconfig but the CONFIG options are
    still in the header files. We need to do a proper move to fix this.

    Move these options to Kconfig and tidy up board configuration:

    CONFIG_FIT
    CONFIG_OF_BOARD_SETUP
    CONFIG_OF_SYSTEM_SETUP
    CONFIG_FIT_SIGNATURE
    CONFIG_FIT_BEST_MATCH
    CONFIG_FIT_VERBOSE
    CONFIG_OF_STDOUT_VIA_ALIAS
    CONFIG_RSA

    Unfortunately the first one is a little complicated. We need to make sure
    this option is not enabled in SPL by this change. Also this option is
    enabled automatically in the host builds by defining CONFIG_FIT in the
    image.h file. To solve this, add a new IMAGE_USE_FIT #define which can
    be used in files that are built on the host but must also build for U-Boot
    and SPL.

    Note: Masahiro's moveconfig.py script is amazing.

    Signed-off-by: Simon Glass
    [trini: Add microblaze change, various configs/ re-applies]
    Signed-off-by: Tom Rini

    Simon Glass
     
  • This is an enhancement that permits storing the environment file on an
    EXT4 partition such as the root filesystem. It is based on the existing
    FAT environment file code.

    Stuart Longland
     

08 Feb, 2016

1 commit


25 Jan, 2016

1 commit

  • There are a lot of unrelated files in common, including all of the commands.
    Moving them into their own directory makes them easier to find and is more
    logical.

    Some commands include non-command code, such as cmd_scsi.c. This should be
    sorted out at some point so that the function can be enabled with or without
    the associated command.

    Unfortunately, with m68k I get this error:

    m68k: + M5329AFEE
    +arch/m68k/cpu/mcf532x/start.o: In function `_start':
    +arch/m68k/cpu/mcf532x/start.S:159:(.text+0x452): relocation truncated to fit: R_68K_PC16 against symbol `board_init_f' defined in .text.board_init_f section in common/built-in.o

    I hope someone can shed some light on what this means. I hope it isn't
    depending on the position of code in the image.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng
    Reviewed-by: Heiko Schocher
    Acked-by: Stefan Roese
    Acked-by: Przemyslaw Marczak

    Simon Glass