12 Oct, 2018

1 commit

  • Currently it's not possible to authenticate additional boot images in HAB
    open configuration.

    The hab.c code is checking if the SEC_CONFIG[1] fuse is programmed prior
    to calling the hab_authenticate_image() API function. Users cannot check
    if their additional boot images has been correctly signed prior to closing
    their device.

    Enable hab.c to authenticate additional boot images in open mode so HAB
    events can be retrieved through get_hab_status() function.

    Signed-off-by: Breno Lima
    Reviewed-by: Ye Li

    Breno Lima
     

10 Oct, 2018

2 commits

  • The mmc_get_boot_dev reads from SRC SBMR register. When booting with USB
    serial download, this function does not return correctly. Because SBMR won't
    reflect the USB boot.

    The patch adds USB boot checking to this function to fix the issue.

    Signed-off-by: Ye Li

    Ye Li
     
  • Currently the is_boot_from_usb is checking the USB PHY Powerdown bit. This
    way has a defect that if we run any usb function in u-boot the checking will
    always return true.

    This patch improves the way to avoid such problem above. A new arch-specific flag is
    added to indicate if it is USB boot. We check the USB PHY PWD bit at early of boot
    stage then set that flag. So any following calling of is_boot_from_usb will return
    correct value.

    Signed-off-by: Ye Li

    Ye Li
     

01 Oct, 2018

4 commits


28 Sep, 2018

2 commits


26 Sep, 2018

2 commits

  • Because we power off all devices in board_quiesce_devices which is prior then
    executing dm_remove_devices_flags. So any access to HW in dm_remove_devices_flags
    will cause problem.
    However, some drivers like ethernet which implements the pre_remove callback is always
    called without any flags check, and this finally accesses FEC controller.

    Since we don't need to remove all devices in u-boot before starting kernel, disable
    this feature when power domain is enabled.

    Signed-off-by: Ye Li

    Ye Li
     
  • Enable RTC in bootloader to avoid rtc time less than jiffies time
    when linux first bootup after RTC lose power.
    It will cause the issue as
    MA-9554[Android_6DL_SD]RTC: Sometimes the RTC reset to the initial
    time 1970 after softare reboot the first time. 40%

    Change-Id: I048a148003241f73345aeb8ff0fda8fc328c0efb
    Signed-off-by: Zhang Bo

    Zhang Bo
     

25 Sep, 2018

1 commit


21 Sep, 2018

1 commit

  • camera sometime can't been open once run M4 image.
    ISI-CH0 probe funtion is not called when meet issue.

    The root cause is:
    M4 image set assign resource SC_R_ISI_CH0 into m4 partition
    when open camera in m4 side.
    Uboot will call update_fdt_with_owned_resources to check the pd
    in current dts node. it will call sc_rm_is_resource_owned to
    check the pd whether in other partition, If yes, it will delete
    the dts node. uboot delete isi_0 node whose pd is SC_R_ISI_CH0.

    Change-Id: I4e2afbed2c55caad0a9f804fa8d85511c3bfea38
    Signed-off-by: zhang sanshan

    zhang sanshan
     

20 Sep, 2018

1 commit

  • When running uuu on iMX8MQ, meet USB enumeration failure in fastboot.
    The root cause is a cache issue in dwc3 driver. When the issue happens, the ctrl_req in
    gadget driver is allocated at 0xfe932f40, and the usb_composite_dev (cdev)
    is allocated at 0xfe932f60. So after we submit the setup request (cache flushed) to USB
    controller, any accessing to usb_composite_dev variable will cause the cache refill, then
    when setup transfer is completed, reading the setup data in ctrl_req will gets old value from
    cache not from memory.

    The ctrl_req is allocated by API dma_alloc_coherent, but u-boot don't have cohernet memory.
    so it still needs cache maintain operations before/after HW accessing. Since the cache flush or
    invalidate bases on cache line, so when the allocated memory size is not cache line aligned,
    potentially it may meet such issue.

    This patch modifies the dma_alloc_coherent API to round the size to cache line aligned.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan

    Ye Li
     

18 Sep, 2018

2 commits


17 Sep, 2018

1 commit


14 Sep, 2018

2 commits


13 Sep, 2018

1 commit


12 Sep, 2018

9 commits


11 Sep, 2018

3 commits


10 Sep, 2018

1 commit

  • The script used to add qspi header to u-boot.imx/u-boot-dtb.imx fails to
    build out of tree when using O= option.

    Some problems found:
    1. The qspi-header file need to be copied out of source tree.
    2. In mkimage flags, we need to add $(QSPI-HEADER) and %$(PLUGIN).bin.
    Otherwise it will fails to filter out $(QSPI-HEADER) and $(PLUGIN).bin because the $(PLUGIN) is
    extend to full path.
    3. u-boot-dtb.imx also need update to add qspi-header.

    Signed-off-by: Ye Li

    Ye Li
     

07 Sep, 2018

2 commits


06 Sep, 2018

2 commits

  • We read the ROM version to determine the CPU revision before B1 chip.
    The rom version is 4 bytes word, it has major version at low byte,
    minor version at second byte.

    On B0.1 chip, the value is 0x1020 not 0x20, if reading the word and comparing
    with 0x20, the result is wrong.

    Fix the issue by only reading the lowest byte for major version.

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

    Ye Li
     
  • At default, u-boot reserves the memory from SP-4KB to DRAM end for lmb in arch_lmb_reserve.
    So lmb won't allocate any memory from it.
    But we found the 4K gap for SP is not enough now, because some FDT updating operations are added
    in our u-boot before jumping to kernel, which needs large stack. This causes the lmb allocated memory
    is overwritten by stack.

    Fix the issue by implementing the board_lmb_reserve to reserve from SP-16KB to memory end for lmb.

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

    Ye Li
     

04 Sep, 2018

3 commits

  • The mscale B1 uses OCOTP_HW_OCOTP_READ_FUSE_DATA register for chip id.
    It returns a magic number 0xff0055aa.
    Update get_cpu_rev to support this way, also enable OCOTP clock to allow
    access OCOTP register.

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

    Ye Li
     
  • Add common CHIP_REV_2_1 for chip revision 2.1

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

    Ye Li
     
  • ipg_stop from GPC is not connected to WDOG directly, the sec_debug clock is
    used to sample the ipg_stop from GPC. So when this clock is off, ipg_stop input
    of WDOG can’t assert, WDOG will fail to stop in DSM mode.
    Enable this clock forever in SPL, so other SW don't need to touch it.

    Signed-off-by: Ye Li
    Tested-by: Bai Ping
    (cherry picked from commit 1da6c9b3a837d15c25086af449462d5e8b56c290)

    Ye Li