12 Dec, 2018

1 commit

  • Open configs to enable trusty for imx8mm_evk and also
    add new config imx8mm_evk_android_trusty_defconfig based
    on imx8mm_evk_android_defconfig.

    Test: Trusty starts ok.

    Change-Id: Iaea90de21f886ed23082a5e8e8d2fa7fb139a9cb
    Signed-off-by: Ji Luo

    Ji Luo
     

28 Nov, 2018

1 commit

  • compile waring info is as below:
    arch/arm/mach-imx/imx8/parser.c: In function ‘mmc_load_image_parse_container’:
    arch/arm/mach-imx/imx8/parser.c:244:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^

    previouse patch change ID:
    I40a791d5b5b1eba6a0170d6853626fb546be4b2c

    Change-Id: Ia605df11beab42e720fff6442a11b1e4b25ac209
    Signed-off-by: faqiang.zhu

    faqiang.zhu
     

27 Nov, 2018

1 commit

  • The SPL loads the FIT image FDT part to an address related with the device
    block length. This length is 512 for SD/MMC and is 1 for other devices
    like SDP, NOR, NAND, SPI, etc.
    When signing FIT image, we use fixed address caculated by SD/MMC block length
    to sign FDT part. Thus, when booting through uuu, this causes mismatch and
    gets authentication failed.

    Fix the issue by providing a override function for this FIT buffer address.
    When secure boot is enabled, adjust the addresses of other devices to be same
    with SD/MMC.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 710efd3ccb99e144bd30af8e1ee46459b4a54dd6)

    Ye Li
     

23 Nov, 2018

1 commit

  • When booting SPL from SD/MMC, the codes load and parse container image
    first, if its authentication is failed, the flow continues to load and parse
    for FIT image and cause crash in SPL.

    The correct way should stop the booting if authentication is failed, avoid
    trying the FIT image since FIT does not support AHAB on 8QM/QXP.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 7843ab1b619d53c24a11f7db10b277287dcd1b11)

    Ye Li
     

12 Nov, 2018

1 commit

  • Trusty image should be loaded to different address for AIY 1G/3G ddr
    board which have different ddr size. Use board id to distinguish
    different baseboard, load trusty image to 0x7e00_0000 for AIY 1G ddr
    board and 0xfe00_0000 for AIY 3G ddr board.

    Test: build and boot Trusty ok for AIY 1G/3G ddr board.

    Change-Id: I62d8a19b13fe19f38075512a6faa4bbb36f74791
    Signed-off-by: Ji Luo

    Ji Luo
     

09 Nov, 2018

1 commit


07 Nov, 2018

1 commit


03 Nov, 2018

2 commits

  • Generate the key blob and store it to the last block of boot1 partition
    after setting the rpmb key. The key blob should be checked in spl and be
    passed to Trusty OS if it's valid. If the key blob are damaged, RPMB
    storage proxy service will return fail and should make the device hang.

    Test: Build and boot ok on imx8qm/qxp.

    Change-Id: Ia274cd72109ab6ae15920e91b2a2008e1f1e667c
    Signed-off-by: Ji Luo

    Ji Luo
     
  • Add implementation necessary for supporting SPL on QXP
    ARM2 board with dynamic offset detection from container header.

    Signed-off-by: Teo Hall

    Teo Hall
     

16 Oct, 2018

1 commit


18 Sep, 2018

1 commit


21 Aug, 2018

2 commits

  • If we don't define CONFIG_SPL_FIT_IMAGE_TINY, when loading images from FIT,
    the SPL will record all loadables' info to u-boot's FDT. This causes
    problem when HAB is enabled, because FDT's content is modified before
    we authenticate it.

    Signed-off-by: Ye Li

    Ye Li
     
  • Bootloader image take fit format and the rollback index for bootloader
    is stored at the "rbindex" node, SPL will read the rollback index for
    bootloader and compare it with the one stored in RPMB. The stored
    rollback index will be updated only when current slot pass the verify
    and has been marked as successful.

    Bug:109947126
    Test: Rollback index protection feature works fine for imx8m.

    Change-Id: Ic12db4571287fbcb99e5eba0127e0b09378fa5d6
    Signed-off-by: Luo Ji

    Luo Ji
     

20 Aug, 2018

1 commit

  • Move the A/B slot check to SPL, the A/B slot switch
    workflow is just like what we have in libavb_ab.

    Test: A/B select works fine on imx8m.

    Change-Id: Ie3d827a9be0298b491bf2bc8d48833597fd70e90
    Signed-off-by: Luo Ji

    Luo Ji
     

15 Aug, 2018

1 commit


11 Aug, 2018

1 commit


10 Aug, 2018

1 commit


23 May, 2018

1 commit


27 Apr, 2018

1 commit

  • Introduce two board level callback functions to FIT image loading process, and
    a SPL_FIT_FOUND flag to differentiate FIT image or RAW image.

    Implement functions in imx common SPL codes to call HAB funtion
    to authenticate the FIT image. Generally, we have to sign multiple regions
    in FIT image:
    1. Sign FIT FDT data (configuration)
    2. Sign FIT external data (Sub-images)

    Because the CSF supports to sign multiple memory blocks, so that we can use one
    signature to cover all regions in FIT image and only authenticate once.
    The authentication should be done after the entire FIT image is loaded into
    memory including all sub-images.
    We use "-p" option to generate FIT image to reserve a space for FIT IVT
    and FIT CSF, also this help to fix the offset of the external data (u-boot-nodtb.bin,
    ATF, u-boot DTB).

    The signed FIT image layout is as below:
    --------------------------------------------------
    | | | | | | | |
    | FIT | FIT | FIT | | U-BOOT | ATF | U-BOOT |
    | FDT | IVT | CSF | | nodtb.bin | | DTB |
    | | | | | | | |
    --------------------------------------------------

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 078dd4eed6a04c3db7ec49a1bd1fbc63ebb82e1b)

    Ye Li
     

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

4 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