28 Nov, 2018

2 commits


27 Nov, 2018

3 commits

  • uuu doesn't parse SPL+FIT format for mek_8q platforms. this patch
    delete SPL and FIT related configurations in defconfig file for uuu
    uboot.

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

    faqiang.zhu
     
  • defconfig files for uuu uboot and uboot flashed to board need to be
    different.
    because ab slot feature need to be used, defconfig of BSP team won't
    be used.

    this patch add for defconfig files for uuu uboot used on imx8. these
    two files are directly copied from the files below:
    1. imx8qm_mek_android_defconfig
    2. imx8qxp_mek_android_defconfig
    3. imx8mm_evk_android_defconfig
    4. imx8mq_evk_android_defconfig

    they are respectively be pasted as:
    1. imx8qm_mek_android_uuu_defconfig
    2. imx8qxp_mek_android_uuu_defconfig
    3. imx8mm_evk_android_uuu_defconfig
    4. imx8mq_evk_android_uuu_defconfig

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

    faqiang.zhu
     
  • 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
     

26 Nov, 2018

4 commits

  • Get build warning below because the CONFIG_SERIAL_TAG is not defined.

    drivers/usb/gadget/f_fastboot.c: In function ‘fastboot_setup’:
    drivers/usb/gadget/f_fastboot.c:1768:2: warning: ‘serialnr.high’ is used
    uninitialized in this function [-Wuninitialized]
    sprintf(serial, "%08x%08x", serialnr.high, serialnr.low);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    drivers/usb/gadget/f_fastboot.c:1768:2: warning: ‘serialnr.low’ is used
    uninitialized in this function [-Wuninitialized]

    Signed-off-by: Ye Li
    (cherry picked from commit 5a438e8daa7dfe9ae8c8e782a2656e9329c7d4a1)

    Ye Li
     
  • Remove the fuse operation commands for imx8qm, this will
    help reduce the u-boot binary size.

    Test: build and boot ok on imx8qm.

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

    Luo Ji
     
  • The HABv4 secure boot procedure is now documented in different files:

    .
    └── habv4
    ├── csf_examples
    │   ├── additional_images
    │   │   └── csf_additional_images.txt
    │   ├── mx6_mx7
    │   │   ├── csf_uboot_fast_authentication.txt
    │   │   └── csf_uboot.txt
    │   └── mx8m_mx8mm
    │   ├── csf_fit.txt
    │   └── csf_spl.txt
    ├── guides
    │   ├── mx6_mx7_secure_boot.txt
    │   ├── mx8m_mx8mm_secure_boot.pdf
    │   └── mx8m_mx8mm_secure_boot.txt
    ├── introduction_habv4.txt
    └── script_examples
    └── genIVT.pl

    The old documentation secure_boot.txt can be removed.

    Reviewed-by: Utkarsh Gupta
    Signed-off-by: Breno Lima
    (cherry picked from commit b0300fcf732ff1e79e771c386bf083e79eacc36a)

    Breno Lima
     
  • Add HABv4 documentation for i.MX8M and i.MX8MM targets covering the
    following topics:

    - How to sign an securely boot an flash.bin image.
    - How to extend the root of trust for additional boot images.
    - Add 2 CSF examples.

    Reviewed-by: Utkarsh Gupta
    Signed-off-by: Breno Lima
    (cherry picked from commit cc63be298a3e5f44e417f4098c124715917d09e1)

    Breno Lima
     

23 Nov, 2018

7 commits


22 Nov, 2018

3 commits

  • Fix typo "ONFIG_CMD_FLASH=y" in defconfig, correct it to
    CONFIG_CMD_FLASH=y

    Signed-off-by: Ye Li
    (cherry picked from commit eabb33f2a422aa677816bb984efd1885ae3b9c19)

    Ye Li
     
  • The CONFIG_MMC_ENV_DEV binds with CONFIG_ENV_IS_IN_MMC on mx6sabreauto.
    When booting from other boot devices like EIMNOR, SPINOR, they need to
    load kernel from SD, if the configuration is not set, the loading will fail.

    Signed-off-by: Ye Li
    (cherry picked from commit 59f6322db37945cf69cd418704ffef39b6fd5b31)

    Ye Li
     
  • Too many macros are used in fsl_avbkey.c and
    make it difficult to maintain.
    This patch made some refine by:
    1. Move all avb/atx operations to fsl_avb.c.
    2. Refine the functions logic.
    3. Drop some unsupported conditions/functions.

    Test: build and boot on
    imx8qm_mek/imx8mq_evk/imx6qp_sabresd/imx7d_pico/imx8m_aiy.

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

    Luo Ji
     

21 Nov, 2018

2 commits


20 Nov, 2018

1 commit

  • Update the ddrc Qos setting for B1 to align with B0'ssetting.
    Correct the initial clock for dram_pll. This setting will be
    overwrite before ddr phy training. Although there is no impact
    on the dram init, we still need to correct it to eliminate
    confusion.

    Signed-off-by: Bai Ping
    Reviewed-by: Ye Li
    Tested-by: Robby Cai
    (cherry picked from commit 566b798213ab9690966f163de2765acdbfe647a7)

    Bai Ping
     

19 Nov, 2018

1 commit

  • Some platforms don't have alias for usb1 device, so when initialize the
    second controller, its seq is allocated by u-boot automatically.
    This introduces a problem if the initialization of first controller is failed,
    for example nothing connect to first controller, then the seq allocated
    for second controller is 0 not 1. EHCI driver uses the seq as index for
    USB controller and phy, so it will cause initialization problem for second
    controller.

    Fix the issue by adding the usb1 alias for second USB controller.

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

    Ye Li
     

16 Nov, 2018

2 commits


15 Nov, 2018

6 commits


14 Nov, 2018

3 commits


13 Nov, 2018

6 commits

  • Current code uses strlen of string to get the property data
    length, which is wrong for unicode string, also the whole
    property length also should be corrected(descriptor length
    minus head length, 142-10=132), detail data format of single
    GUID see below table:

    Table 4a: Microsoft Extended Properties Feature Descriptor
    ===================================================================
    Value | TYPE | Description
    ===================================================================
    0x8E, 0x00, 0x00, 0x00 | DWORD (LE) | Descriptor length
    | | (142 bytes)
    --------------------------------------------------------------------
    0x00, 0x01 | BCD WORD (LE) | Version ('1.0')
    --------------------------------------------------------------------
    0x05, 0x00 | WORD (LE) | Extended Property
    | | Descriptor index (5)
    --------------------------------------------------------------------
    0x01, 0x00 | WORD (LE) | Number of sections (1)
    --------------------------------------------------------------------
    0x84, 0x00, 0x00, 0x00 | DWORD (LE) | Size of the property
    | | section (132 bytes)
    --------------------------------------------------------------------
    0x01, 0x00, 0x00, 0x00 | DWORD (LE) | Property data type
    | | (1 = Unicode
    | | REG_SZ,
    | | see table below)
    --------------------------------------------------------------------
    0x28, 0x00 | WORD (LE) | Property name
    | | length (40 bytes)
    --------------------------------------------------------------------
    0x44, 0x00, 0x65, 0x00, | NUL-terminated | Property name
    (...) | Unicode String | "DeviceInterfaceGUID"
    0x74, 0x00, 0x00, 0x00 | (LE) |
    --------------------------------------------------------------------
    0x4e, 0x00, 0x00, 0x00 | DWORD (LE) | Property data
    | | length (78 bytes)
    --------------------------------------------------------------------
    0x7b, 0x00, 0x46, 0x00, | NUL-terminated | Property name
    (...) | Unicode String | "{xxxxxxxx-xxxx-
    0x7d, 0x00, 0x00, 0x00 | (LE) | xxxx-xxxx-
    | | xxxxxxxxxxxx}\0"
    --------------------------------------------------------------------

    Details of WCID see below link:
    https://github.com/pbatard/libwdi/wiki/WCID-Devices

    Reviewed-by: Ye Li
    Signed-off-by: Li Jun

    Li Jun
     
  • Fix coverity issue CID 5015449: Dereference before null check (REVERSE_INULL)
    check_after_deref: Null-checking mmc suggests that it may be null, but it has
    already been dereferenced on all paths leading to the check

    Signed-off-by: Ye Li

    Ye Li
     
  • Fix coverity issue CID 1898965: Dereference null return value (NULL_RETURNS)
    dereference: Dereferencing a pointer that might be NULL dev_desc when calling
    write_backup_gpt_partitions

    Signed-off-by: Ye Li

    Ye Li
     
  • Fix coverity issue CID 3826473: Destination buffer too small (STRING_OVERFLOW)
    string_overflow: You might overrun the 16-character destination string buffer by
    writing 20 characters from

    The size of g_ptable->name is 20, but we use 16 bytes buffer for strcpy. It may
    cause buffer overflow.

    Signed-off-by: Ye Li

    Ye Li
     
  • Fix coverity issue CID 3606685: Structurally dead code (UNREACHABLE)
    unreachable: This code cannot be reached: return esdhc_getcd_common

    Should not return true directly, otherwise the esdhc_getcd_common is
    bypassed.

    Signed-off-by: Ye Li

    Ye Li
     
  • Fix coverity issue CID 3411367: Missing break in switch (MISSING_BREAK)
    unterminated_case: The case for value 1U is not terminated by a 'break' statement.

    Signed-off-by: Ye Li

    Ye Li