02 Sep, 2017

1 commit


15 Aug, 2017

1 commit


13 Aug, 2017

1 commit

  • The (upstream) changes to break up SYS_MALLOC_F_LEN for the full
    U-Boot and the SPL stage, break TPL (if simple malloc is enabled in
    TPL).

    This adds support for a TPL-variant of SYS_MALLOC_F_LEN:
    - adds TPL_SYS_MALLOC_F_LEN
    - rewrites a test for CONFIG_SPL_SYS_MALLOC_F_LEN to access
    CONFIG_VAL(SYS_MALLOC_F_LEN)

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

    Philipp Tomsich
     

05 Aug, 2017

1 commit


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
     

23 May, 2017

1 commit


22 May, 2017

2 commits

  • Commit 94e3c8c4fd7b ("crypto/fsl - Add progressive hashing support
    using hardware acceleration.") created entries for CONFIG_SHA1,
    CONFIG_SHA256, CONFIG_SHA_HW_ACCEL, and CONFIG_SHA_PROG_HW_ACCEL.
    However, no defconfig has migrated to it. Complete the move by first
    adding additional logic to various Kconfig files to select this when
    required and then use the moveconfig tool. In many cases we can select
    these because they are required to implement other drivers. We also
    correct how we include the various hashing algorithms in SPL.

    This commit was generated as follows (after Kconfig additions):

    [1] tools/moveconfig.py -y SHA1 SHA256 SHA_HW_ACCEL
    [2] tools/moveconfig.py -y SHA_PROG_HW_ACCEL

    Note:
    We cannot move SHA_HW_ACCEL and SHA_PROG_HW_ACCEL simultaneously
    because there is dependency between them.

    Cc: Poonam Aggrwal
    Cc: Naveen Burmi
    Cc: Po Liu
    Cc: Shengzhou Liu
    Cc: Priyanka Jain
    Cc: Shaohui Xie
    Cc: Chunhe Lan
    Cc: Chander Kashyap
    Cc: Steve Rae
    Cc: Dirk Eibach
    Cc: Feng Li
    Cc: Alison Wang
    Cc: Sumit Garg
    Cc: Mingkai Hu
    Cc: York Sun
    Cc: Prabhakar Kushwaha
    Cc: Jaehoon Chung
    Cc: Akshay Saraswat
    Cc: Heiko Schocher
    Cc: Jagan Teki
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass
    Signed-off-by: Tom Rini

    Tom Rini
     
  • We rename CONFIG_FIT_DISABLE_SHA256 to CONFIG_FIT_ENABLE_SHA256_SUPPORT which
    is enabled by default and now a positive option. Convert the handful of boards
    that were disabling it before to save space.

    Cc: Dirk Eibach
    Cc: Lukasz Dalek
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass
    Reviewed-by: Simon Glass

    Tom Rini
     

18 May, 2017

3 commits

  • The Allwinner SoCs with 64-bit cores use an ARM Trusted Firmware binary,
    which needs to be loaded alongside U-Boot proper.
    Set the respective Kconfig options to let them select this feature and
    also automatically build the FIT image.

    Signed-off-by: Andre Przywara
    Acked-by: Maxime Ripard
    [Rename Kconfig path to arch/arm/mach-sunxi/Kconfig]
    Signed-off-by: Jagan Teki
    Reviewed-by: Jagan Teki

    Andre Przywara
     
  • Some platforms require more complex U-Boot images than we can easily
    generate via the mkimage command line, for instance to load additional
    image files.
    Introduce a CONFIG_SPL_FIT_SOURCE and CONFIG_SPL_FIT_GENERATOR symbol,
    which can either hold an .its source file describing the image layout,
    or, in the second case, a generator tool (script) to create such
    a source file. This script gets passed the list of device tree files
    from the CONFIG_OF_LIST variable.
    A platform or board can define either of those in their defconfig file
    to allow an easy building of such an image.

    Signed-off-by: Andre Przywara
    Reviewed-by: Jagan Teki

    Andre Przywara
     
  • SPL_FIT obviously requires libfdt in SPL, so let Kconfig express that by
    selecting SPL_OF_LIBFDT.
    Also make the actual options that users want (SPL signature and SPL FIT
    loading) visible in the menu and let them select the SPL_FIT as a
    requirement.
    Also remove the now redundant SPL_OF_LIBFDT from those Kconfigs that had
    it in for the SPL FIT loading feature.

    Signed-off-by: Andre Przywara
    Reviewed-by: Simon Glass
    [Remove change from configs/evb-rk3399_defconfig]
    Signed-off-by: Jagan Teki

    Andre Przywara
     

09 Apr, 2017

1 commit


06 Apr, 2017

1 commit


17 Mar, 2017

1 commit


09 Feb, 2017

2 commits

  • Add kconfig file to enable API support

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

    Emmanuel Vadot
     
  • This feature is inspired by /proc/config.gz of Linux. In Linux,
    if CONFIG_IKCONFIG is enabled, the ".config" file contents are
    embedded in the kernel image. If CONFIG_IKCONFIG_PROC is also
    enabled, the ".config" contents are exposed to /proc/config.gz.
    Users can do "zcat /proc/config.gz" to check which config options
    are enabled on the running kernel image.

    The idea is almost the same here; if CONFIG_CMD_CONFIG is enabled,
    the ".config" contents are compressed and saved in the U-Boot image,
    then printed by the new command "config".

    The usage is quite simple. Enable CONFIG_CMD_CONFIG, then run
    > config
    from the command line interface. The ".config" contents will be
    printed on the console.

    This feature increases the U-Boot image size by about 4KB (this is
    mostly due to the gzip-compressed .config file). By default, it is
    enabled only for Sandbox because we do not care about the memory
    footprint on it. Of course, this feature is architecture agnostic,
    so you can enable it on any board if the image size increase is
    acceptable for you.

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

    Masahiro Yamada
     

28 Jan, 2017

2 commits


21 Jan, 2017

1 commit

  • Use the generic "distro" boot framework to enable automatic DHCP boot.
    MMC and USB are not yet implemented, so this is the only boot option.

    The fdt and kernel addresses are adopted from downstream; ramdisk and
    scriptaddr addresses were chosen arbitrarily.

    Signed-off-by: Andreas Färber
    Reviewed-by: Alexander Graf

    Andreas Färber
     

15 Jan, 2017

1 commit

  • Some refactoring of the top-level Kconfig file which includes:

    * using "if" to remove numerous identical dependency tests
    * reordering config entries to group related ones
    * spelling and grammar fixes

    There should be no functional changes, only aesthetic ones.

    Signed-off-by: Robert P. J. Day

    Robert P. J. Day
     

12 Jan, 2017

1 commit


10 Jan, 2017

1 commit


04 Dec, 2016

3 commits

  • Tom Rini
     
  • Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so
    that general purpose distributions can rely on it being defined. This
    header is included, under conditions or not, by various archs or
    famillies of archs / SoCs.

    However, it is very possible that boards based on those SoCs will not
    have a physical ethernet connector at all, even if the have a MAC; for
    example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible
    that network booting is absolutely not necessary for a device.

    However, it is not possible to disable the PXE command, as it is
    forcibly enabled and is non-configurable.

    But it turns out we already have a config option to build a distro-ready
    image, in the name of DISTRO_DEFAULTS.

    Move CMD_PXE out of the hard-coded config_distro_defaults.h into a
    Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set.

    Signed-off-by: "Yann E. MORIN"
    Cc: Joe Hershberger
    [trini: Make it select MENU, run moveconfig.py]
    Signed-off-by: Tom Rini

    Yann E. MORIN
     
  • A number of platforms had been using the distro default feature before
    it was moved to Kconfig but did not enable the new Kconfig option when
    it was enabled. This caused a regression in terms of features and this
    introduces breakage when more things move to Kconfig.

    Signed-off-by: Tom Rini

    Tom Rini
     

03 Dec, 2016

1 commit

  • Commit e2f88dfd2d96 ("libfdt: Introduce new ARCH_FIXUP_FDT option")
    allows us to skip memory setup of DTB, but a problem for ARM is that
    spin_table_update_dt() and psci_update_dt() are skipped as well if
    CONFIG_ARCH_FIXUP_FDT is disabled.

    This commit allows us to skip only fdt_fixup_memory_banks() instead
    of the whole of arch_fixup_fdt(). It will be useful when we want to
    use a memory node from a kernel DTB as is, but need some fixups for
    Spin-Table/PSCI.

    Signed-off-by: Masahiro Yamada
    Acked-by: Alexey Brodkin
    Acked-by: Simon Glass
    Fixed build error for x86:
    Signed-off-by: Simon Glass

    Masahiro Yamada
     

29 Nov, 2016

1 commit

  • The DFU Kconfig menu entries should be part of the SPL
    Kconfig file. Also avoid using the top level Makefile by
    moving the config dependent build artifacts to the driver/
    and driver/usb/gadget/ Makfiles.

    With that, DFU can be built again in SPL if
    CONFIG_SPL_DFU_SUPPORT is enabled.

    Fixes: 6ad6102246d8 ("usb:gadget: Disallow DFU in SPL for now")

    Signed-off-by: Stefan Agner
    Reviewed-by: Simon Glass
    Acked-by: Lukasz Majewski

    Stefan Agner
     

17 Nov, 2016

1 commit

  • Most new systems in U-Boot these days make use of the generic "distro"
    framework which allows a user to have U-Boot scan for a bootable OS
    on all available media types.

    This patch extends the LS2080ARDB board to use that framework if the
    hard coded NOR flash location does not contain a bootable image.

    Signed-off-by: Alexander Graf

    Alexander Graf
     

28 Sep, 2016

1 commit

  • 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
     

20 Sep, 2016

1 commit

  • This reverts commit 90c08d9e08c7a108ab904f3bbdeb558081757892.

    I took a closer look at this after the commit was applied, and found
    CONFIG_SYS_MALLOC_F_LEN=0x2000 was too much. 8KB memory for SPL is
    actually too big for some boards. Perhaps 0x800 is enough, but the
    situation varies board by board.

    Let's postpone our decision until we come up with a better idea.

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

    Masahiro Yamada
     

17 Sep, 2016

1 commit


07 Sep, 2016

1 commit


20 Aug, 2016

2 commits


12 Aug, 2016

1 commit

  • This commit allows injecting a board/platform/device-specific post-
    processing function into the FIT image data loading process, which can
    include modifying the size and altering the starting source address of
    an image data artifact. This might be desired to do things like strip
    headers or footers attached to the images before they were packaged into
    the FIT, or to perform operations such as decryption or authentication.
    Introduce new configuration option CONFIG_FIT_IMAGE_POST_PROCESS to
    allow controlling this feature. If enabled, a platform-specific post-
    process function must be provided.

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

    Andreas Dannenberg
     

05 Aug, 2016

1 commit

  • We need to ensure that CONFIG_PHYS_64BIT is configured via Kconfig so
    that it is always available to the build system. Otherwise we can run
    into cases where we have inconsistent sizes of certain attributes.

    Ravi Babu reported offset mismatch of struct dwc3 across files since
    commit 95ebc253e6d4 ("types.h: move and redefine resource_size_t").
    Since the commit, resource_addr_t points to phys_addr_t, whose size
    is dependent on CONFIG_PHYS_64BIT for ARM architecture.

    I tried my best to use "select" where possible (for example, ARMv8
    architecture) because I think this kind of option is generally user-
    unconfigurable. However, I see some of PowerPC boards have 36BIT
    defconfigs as well as 32BIT ones. I moved CONFIG_PHYS_64BIT to the
    defconfigs for such boards.

    CONFIG_36BIT is no longer referenced, so all of the defines were
    removed from CONFIG_SYS_EXTRA_OPTIONS.

    Fixes: 95ebc253e6d4 ("types.h: move and redefine resource_size_t")
    Signed-off-by: Masahiro Yamada
    Reported-by: Ravi Babu
    Acked-by: Stefan Roese
    Reviewed-by: Tom Rini
    Reviewed-by: York Sun

    Masahiro Yamada
     

01 Aug, 2016

1 commit

  • Add new Kconfig option to disable arch_fixup_fdt() calls for cases where
    U-Boot shouldn't update memory setup in DTB file.
    One example of usage of this option is to boot OS with different memory
    setup than U-Boot use.

    Signed-off-by: Michal Simek
    Acked-by: Simon Glass

    Michal Simek
     

15 Jul, 2016

2 commits

  • Sometimes it is useful to build tools with debugging information included so
    that line-number information is available when run under gdb. Add a Kconfig
    option to support this.

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

    Simon Glass
     
  • The next stage boot loader image and the selected FDT can be post-
    processed by board/platform/device-specific code, which can include
    modifying the size and altering the starting source address before
    copying these binary blobs to their final destination. This might be
    desired to do things like strip headers or footers attached to the
    images before they were packaged into the FIT, or to perform operations
    such as decryption or authentication. Introduce new configuration
    option CONFIG_SPL_FIT_IMAGE_POST_PROCESS to allow controlling this
    feature. If enabled, a platform-specific post-process function must
    be provided.

    Signed-off-by: Daniel Allred
    Signed-off-by: Andreas Dannenberg
    Reviewed-by: Tom Rini
    Reviewed-by: Simon Glass

    Daniel Allred
     

21 Jun, 2016

1 commit

  • DISTRO_DEFAULTS is intended to mirror / replace
    include/config_distro_defaults.h.

    The intend is for boards which include this file to select this from
    their Kconfig files and when moving setting to Kconfig which are #define-ed
    in config_distro_defaults.h to select this from DISTRO_DEFAULTS so that
    boards which have selected DISTRO_DEFAULTS will keep the same configuration
    as before without needing any defconfig file changes.

    The initial list of selected things matches all settings recently removed
    from config_distro_defaults.h because they have been converted to Kconfig,
    with the exception of CMD_ELF and CMD_NET, which have a default of y, if
    the default of these ever changes they should be selected by DISTRO_DEFAULTS
    too.

    For testing and example purposes this commit also converts ARCH_SUNXI
    to use DISTRO_DEFAULT instead of selecting everything it needs itself.

    Signed-off-by: Hans de Goede

    Hans de Goede