05 Mar, 2018

2 commits


22 Feb, 2018

1 commit


15 Feb, 2018

1 commit

  • Migrate the option CONFIG_SPL_FRAMEWORK and make this gate most of the
    current set of options we have in Kconfig. We will need to have some
    options available for SPL and !SPL_FRAMEWORK so this is important. In a
    few cases we re-order existing options so that we have less escapes from
    the SPL_FRAMEWORK guard.

    Signed-off-by: Tom Rini

    Tom Rini
     

08 Feb, 2018

1 commit

  • The goal of this patch is to clean up the code related to choosing SPL
    MMC boot mode.

    The spl_boot_mode() now is called only in spl_mmc_load_image() function,
    which is only compiled in if CONFIG_SPL_MMC_SUPPORT is enabled.

    To achieve the goal, all per mach/arch implementations eligible for
    unification has been replaced with one __weak implementation.

    Signed-off-by: Lukasz Majewski
    Reviewed-by: Marek Vasut
    Reviewed-by: Stefano Babic
    Acked-by: Michal Simek (For ZynqMP)
    Reviewed-by: Fabio Estevam

    Lukasz Majewski
     

30 Jan, 2018

1 commit


29 Jan, 2018

4 commits


12 Jan, 2018

1 commit


03 Jan, 2018

1 commit

  • While we expect to call a pointer to a valid FDT (or NULL) as the
    platform parameter to an ATF, some ATF versions are not U-Boot aware
    and have an insufficiently robust (or an overzealour) parameter
    validation: either way, this may cause a hard-stop with uncooperative
    ATF versions.

    This change adds the option to suppress passing a platform parameter
    and will always pass NULL.

    Debug output from ATF w/ this option disabled (i.e. default):
    INFO: plat_param_from_bl2: 0x291450
    Debug output from ATF w/ this option enabled:
    INFO: plat_param_from_bl2: 0

    Signed-off-by: Philipp Tomsich
    Tested-by: Philipp Tomsich
    Reviewed-by: Kever Yang

    Philipp Tomsich
     

15 Dec, 2017

1 commit


13 Dec, 2017

3 commits

  • SPL supports reading U-Boot from a RAM location. At present this is
    hard-coded to the U-Boot text base address. Use binman to allow this to
    come from the image file, if binman is used.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Allow SPL to access binman symbols and use this to get the address of
    U-Boot. This falls back to CONFIG_SYS_TEXT_BASE if the binman symbol
    is not available.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • For external data, FIT has a optional property "data-position" which
    can set the external data to a fixed offset to FIT beginning.
    Add the support for this property in SPL FIT.

    Signed-off-by: Ye Li
    Signed-off-by: Peng Fan
    Reviewed-by: Simon Glass
    Reviewed-by: Tomas Melin
    Cc: Pantelis Antoniou
    Cc: "Andrew F. Davis"
    Cc: Igor Grinberg
    Cc: "tomas.melin@vaisala.com"
    Cc: Kever Yang
    Cc: Andre Przywara
    Cc: York Sun
    Cc: Lokesh Vutla
    Cc: "Cooper Jr., Franklin"
    Cc: George McCollister
    Cc: Tuomas Tynkkynen
    Cc: Jean-Jacques Hiblot
    Cc: Rick Altherr
    Cc: Tom Rini
    Reviewed-by: Lokesh Vutla
    Reviewed-by: York Sun

    Peng Fan
     

28 Nov, 2017

1 commit


26 Nov, 2017

6 commits

  • A minor code-size increase from the changes for tracking the os-type
    of FIT images and from infrastructure for recording the loadables into
    the the loaded FDT, broke the builds for sun50i and some OMAP2+ devices.

    This change adds a new config option (enabled by default for
    MACH_SUN50I, MACH_SUN50I_H5 and ARCH_OMAP2PLUS) that does skips these
    processing steps (bringing code size down to below the limit
    again). The os-type is not evaluated, but assumed to be IH_OS_UBOOT
    (i.e. taking the code-paths intended for backward-compatibility).

    Note that enabling this config option precludes any useful downstream
    processing, such as utilising a special calling convention for ATF or
    OPTEE, based on the os-type of the loadables.

    Signed-off-by: Philipp Tomsich

    Philipp Tomsich
     
  • The SPL_ATF_TEXT_BASE configuration item has become obsolete.
    Remove it from Kconfig.

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

    Philipp Tomsich
     
  • Having CONFIG_SPL_ATF seems more natural.
    Rename it, while it it is easy and there's few boards that use it
    (only RK3399 and RK3368 boards).

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

    Philipp Tomsich
     
  • This adds a new interface spl_invoke_atf() that takes a spl_image_info
    argument and then derives the necessary parameters for the ATF entry.
    Based on the additional information recorded (into /fit-images) from
    the FIT loadables, we can now easily locate the next boot stage.

    We now pass a pointer to a FDT as the platform-specific parameter
    pointer to ATF (so we don't run into the future headache of every
    board/platform defining their own proprietary tag-structure), as
    FDT access is already available in ATF.

    With the necessary infrastructure in place, we can now update the
    support for the ARM Trusted Firmware to dispatch into the
    spl_invoke_atf function only if a IH_OS_ARM_TRUSTED_FIRMWARE image is
    loaded.

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

    Philipp Tomsich
     
  • If a FDT was loaded (e.g. to append it to U-Boot image), we store it's
    address and record information for all loadables into this FDT. This
    allows us to easily keep track of images for multiple privilege levels
    (e.g. with ATF) or of firmware images preloaded into temporary
    locations (e.g. PMU firmware that may overlap the SPL stage).

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

    Philipp Tomsich
     
  • To better support bootin through an ATF or OPTEE, we need to
    streamline some of the logic for when the FDT is appended to an image:
    depending on the image type, we'd like to append the FDT not at all
    (the case for the OS boot), to the 'firmware' image (if it is a
    U-Boot) or to one of the loadables (if the 'firmware' is an ATF, an
    OPTEE, or some other image-type and U-Boot is listed in the
    loadabled).

    To achieve this goal, we drop the os_boot flag and track the type of
    image loaded. If it is of type IH_OS_U_BOOT, we append the FDT.

    Signed-off-by: Philipp Tomsich
    Acked-by: York Sun
    Reviewed-by: Simon Glass

    Philipp Tomsich
     

21 Nov, 2017

1 commit


17 Nov, 2017

1 commit

  • The maximum length of the name of the image is
    obviously not sizeof(), which is just the
    length of a pointer, but IH_NMLEN.

    fixes: 62cf11c0921a90c6bd62344f4bc069668e6c698c
    ("SPL: Limit image name print length")

    Signed-off-by: André Draszik
    Acked-by: Simon Glass

    André Draszik
     

07 Nov, 2017

1 commit


06 Nov, 2017

1 commit


13 Oct, 2017

1 commit


09 Oct, 2017

1 commit

  • Commit 15eb1d43bf47 ("spl: reorder the assignment of board info to
    global data") intended to move assignment of board info earlier,
    into board_init_r(). However, function preload_console_init() is
    called either from spl_board_init() or from board_init_f(). For the
    latter case, the board info assignment is much earlier than proposed
    board_init_r(). Create a new function to fill gd->bd and call this
    function when needed.

    Signed-off-by: York Sun
    CC: Lokesh Vutla
    CC: Ravi Babu
    CC: Lukasz Majewski
    CC: Tom Rini
    Reviewed-by: Simon Glass

    York Sun
     

04 Oct, 2017

1 commit

  • U-Boot widely uses error() as a bit noisier variant of printf().

    This macro causes name conflict with the following line in
    include/linux/compiler-gcc.h:

    # define __compiletime_error(message) __attribute__((error(message)))

    This prevents us from using __compiletime_error(), and makes it
    difficult to fully sync BUILD_BUG macros with Linux. (Notice
    Linux's BUILD_BUG_ON_MSG is implemented by using compiletime_assert().)

    Let's convert error() into now treewide-available pr_err().

    Done with the help of Coccinelle, excluing tools/ directory.

    The semantic patch I used is as follows:

    //
    @@@@
    -error
    +pr_err
    (...)
    //

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass
    [trini: Re-run Coccinelle]
    Signed-off-by: Tom Rini

    Masahiro Yamada
     

30 Sep, 2017

1 commit


29 Sep, 2017

1 commit


22 Sep, 2017

2 commits


13 Sep, 2017

1 commit


11 Sep, 2017

3 commits


07 Sep, 2017

1 commit


29 Aug, 2017

1 commit