27 May, 2020

14 commits

  • Find below warning on some boards, because sci.h does not include
    log.h. Fix the issue by replacing linux/errno.h to common.h

    ./arch/arm/include/asm/arch/sci/sci.h: In function ‘sc_err_to_linux’:
    ./arch/arm/include/asm/arch/sci/sci.h:56:2: warning: implicit declaration
    of function ‘debug’ [-Wimplicit-function-declaration]
    56 | debug("%s %d %d\n", _func_, err, ret);

    Signed-off-by: Ye Li
    Signed-off-by: Peng Fan
    (cherry picked from commit 29509c2104e6820f6618074fd1f109c7ff70bdd2)

    Ye Li
     
  • Update xen defconfig
    Update dts to let xen serial could be used in early stage,
    but seems without mmu enabled, it output nothing. It only
    output data after mmu enabled.

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

    Peng Fan
     
  • To U-Boot on DomU, the lpuart0 is replaced with a xen paravirtual
    consol driver, but reused the previous lpuart node. However
    there is an power-domains entry in lpuart0 which will call
    power_domain_on and failed to probe xen paravirtual driver,
    because of recent change:
    commit 8524ca764d8f("MLK-20945-2 dm: device: Check the power up result in probe ")

    So remove the power-domains entry in lpuart0 to let DomU U-Boot could
    output again.

    Signed-off-by: Peng Fan
    Reviewed-by: Flynn xu
    (cherry picked from commit 38155100481a07e961f375052241d9d03e20a899)
    (cherry picked from commit 92104edf74363ab1a322e186887bf4515d47aa9c)
    (cherry picked from commit 75074ecb28d47cb1064d10e3d0b85defd7fb3c87)
    (cherry picked from commit 87b6d6158dcd4132328a4891f6446a4b565e5ab6)

    Peng Fan
     
  • Enable dm usb using the base board otg usb port for fastboot usage

    Signed-off-by: Peng Fan
    Reviewed-by: Ye Li
    (cherry picked from commit 88a1718aa7096782e9cf538e391762aaef631bb2)
    (cherry picked from commit 279e82b731e7671536b729934e1dc88b760ea05a)
    (cherry picked from commit b874dc0882e329af07de4f6bb0d01573d4e02da2)

    Peng Fan
     
  • Enable dm serial for xen uboot.

    Log as below:
    #xl console 1
    MMC: FSL_SDHC: 0
    Loading Environment from ... *** Warning - bad CRC, using default environment

    Failed (-5)
    In: serial@5a060000
    Out: serial@5a060000
    Err: serial@5a060000
    flash target is MMC:0
    Fastboot: Normal
    Normal Boot
    =>

    Signed-off-by: Peng Fan
    Reviewed-by: Peng Fan
    Reviewed-by: Flynn xu
    (cherry picked from commit 132cb6f74bcd963b180de83279f00aef31bbbdca)
    (cherry picked from commit 38313a6f8e437568dbc15075251d344fa67fd14b)
    (cherry picked from commit 653f877b1beb4779ef0c24b81ba428503ce8ae3d)

    Peng Fan
     
  • Update mem map table for xen uboot.
    xen console and some magic pages needs to be mappe as normal memory.

    Signed-off-by: Peng Fan
    Reviewed-by: Peng Fan
    Reviewed-by: Flynn xu
    (cherry picked from commit c96a9844cd3342f6e31627ccc4f3e63544ffd78e)
    (cherry picked from commit 30b2d9f4a7c0cfc9b3f999f1c3a1a8c466d66a68)
    (cherry picked from commit 152de9a5752881e43dd7afc9b47afa56b3b230e8)

    Peng Fan
     
  • Introduce new hypercalls

    Signed-off-by: Peng Fan
    Reviewed-by: Peng Fan
    Reviewed-by: Flynn xu
    (cherry picked from commit e1610fa574b20794c184e00d86c9d0f7505672f1)
    (cherry picked from commit 6e9e957e8d0891e4ec3bfb4b6c2bbef747eb8812)
    (cherry picked from commit 46a34b4456fb895786d25721b54a10e0182cb312)

    Peng Fan
     
  • Introduce xen header files from Linux Kernel commit
    e2b623fbe6a3("Merge tag 's390-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux")

    Signed-off-by: Peng Fan
    Reviewed-by: Peng Fan
    Reviewed-by: Flynn xu
    (cherry picked from commit ddb393c45158f6114bd53c83dcd8397a6c2acbdc)
    (cherry picked from commit 8591f37af6345695a98216c136e9209a880901f1)
    (cherry picked from commit b93308506902dd30b84640f59fa75ada21d8775a)

    Peng Fan
     
  • Fixes 9486251ced24("MLK-19494 configs: imx8qm mek android audo: correct xen physical memory")

    correct text base, IPC address, memmap.

    Signed-off-by: Peng Fan
    (cherry picked from commit 884cada50b9a9fcda09d259cf145d87a29122cac)
    (cherry picked from commit 55822e16786817f843d32c1347d705c2a2a435dd)
    (cherry picked from commit f13108a1842a2819489975f0d0040c9c65c3856c)

    Peng Fan
     
  • Because the Xen u-boot is using OTG port not typec port, the CONFIG_FASTBOOT_USB_DEV
    should set to 0 not 1. Otherwise the fastboot will fail.

    Remove duplicated "/dts-v1/;" from Xen DTB.

    Signed-off-by: Ye Li
    (cherry picked from commit ceaa529b34752045dcd294572c30c7c56a48abe7)
    (cherry picked from commit 2942cb192c0fff45307042bf60da08a30ccddaf2)
    (cherry picked from commit 9e8b963dc74f54a781cdb495f24b9b6a669cd17e)
    (cherry picked from commit 17fd71abdfa9895275be17ed9391fb8b68cd85ef)

    Ye Li
     
  • We are targeting let uboot loading images from emmc to boot android.
    Currently only emmc1 is enabled, so other devices are disabled.

    Also change memory layout according to VM layout. The memory layout
    needs to be samesize as what you configured in as "memory = "3584"".

    Add a new dts dedicated for this kind uboot, add a new defconfig
    to select CONFIG_XEN/CONFIG_XEN_DEBUG_SERIAL, deselect CONFIG_DM_SERIAL,
    select CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK, and disable some devices
    compared with imx8qm_mek_androidauto_defconfig.

    Reviewed-by: Ye Li
    Signed-off-by: Peng Fan
    (cherry picked from commit a4e932cae433b9d2e1cff6a94b12e4abcac45543)
    (cherry picked from commit a26de6e05563d3e3e6734e0d99e464437aa89db5)
    (cherry picked from commit 74ac579ee195c4a2f6651ccc0f86efb0eebd889e)
    (cherry picked from commit 7efc2eca10c9d48da6e01ba6a5df63b6f619d7ab)

    Peng Fan
     
  • Starting U-Boot in a XEN VM, needs a header, just like Linux Kernel.
    Without it, xen tool will take is as a file not supported.

    Signed-off-by: Peng Fan
    (cherry picked from commit 344ddf76c6de808699ab742d3c11728ca62f36ee)
    (cherry picked from commit d260e97be35718bea46019b7ca8666e83d0b9f01)
    (cherry picked from commit fa6d1e299da0f6913564dcb11c171cee69a43f8e)
    (cherry picked from commit 2f1f8069405bdb74d811bb594cbbea3d552fa31a)

    Peng Fan
     
  • Update SOC code to support U-Boot in a XEN VM. Currently
    we only support to boot android using uboot in a VM,
    so there is hardcode that using MMC1_BOOT boot.

    There are a few small fixes included.

    For the mmu configuration, the mem map is used from xen
    guest VM and our iomem space in vm cfg file.

    Signed-off-by: Peng Fan
    (cherry picked from commit 533087bc1bce0c35fead0956b0613971862c280f)
    (cherry picked from commit c2ba2460d8985aa0b084f7beef2d0bc8773d90e3)
    (cherry picked from commit 2b0a537f59646f3f222d60ebe46611160ba6bdc9)
    (cherry picked from commit 179a0a6ff3eba16fcf8d5966904b810531fe8665)

    Peng Fan
     
  • Introduce console write hypercall to let Uboot could directly
    output with xen console, this needs CONFIG_VERBOSE_DEBUG
    enabled in xen.

    Because input is not a must requirement in android VM,
    and develop pvconsole needs more efforts, so let's use
    this hypercall first.

    Signed-off-by: Peng Fan
    (cherry picked from commit 8836c3104a1edfe542e0c1cef6690bc9d3d842a0)
    (cherry picked from commit aea71150857d4617009730683c95d858acb43392)
    (cherry picked from commit 3173d3ac39bed27a3197829ea13ffce5a89b07ac)
    (cherry picked from commit 8ece41f15c8d9c407ab0946fa28ba7365419c030)

    Peng Fan
     

22 May, 2020

2 commits


20 May, 2020

1 commit


19 May, 2020

5 commits

  • Fix fec phy addr for network support on imx8mn/imx8mn
    audio board 2 targets

    Reviewed-by: Ye Li
    Signed-off-by: Adrian Alonso
    (cherry picked from commit cef3045bd7cc620051c8dd8e9248157d19b4514f)

    Adrian Alonso
     
  • Current iMX8QM DTSi is a version with full nodes, but this introduces
    overhead in u-boot initf_dm phase because the initf_dm will search all
    subnodes of the root. This is does not like SPL which has slimmed the
    DTB.

    During initf_dm the dcache is not enabled, so the overhead is large
    if we have many unused nodes in the DTS. This patch removed iMX8QM
    nodes those we won't ever used in SPL/u-boot, like VPU/GPU, Audio,
    camera, M4 i2c, flexcan, pwm, etc.

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

    Ye Li
     
  • Add board level implementation to get the ON-OFF button
    status for imx8q/imx8m.

    Test: Get ON-OFF button status on imx7ulp/imx8m/imx8q.

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

    Ji Luo
     
  • Porting the scu api 'sc_misc_get_button_status()' to get the
    ON-OFF button status.

    Test: Get the ON-OFF button status.

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

    Ji Luo
     
  • Some gpio pins are disabled for automotive to save boot time, but now
    we need to enable them on uboot 2020 or the display won't work.

    Test: boots with lvds-hdmi display on imx8qm.

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

    Ji Luo
     

18 May, 2020

9 commits

  • Add board level support and configs for standard android and android automotive,
    each board has android/android auto specific header files include.

    Test: boot/fastboot/avb/AB switch/trusty test.

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

    Ji Luo
     
  • 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.

    add CONFIG_SKIP_RESOURCE_CHECKING to skip checking resource when load
    dtb.

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

    Ji Luo
     
  • To avoid both A/B slots are marked as unbootable because
    of some random failures, we will need to reset at spl stage
    when current slot load/verify fail but already with flag
    "successful_boot" set.

    imx8q can't be reset via the psci driver because the atf
    is not avaiable at spl stage, porting the sc_pm_reboot()
    scu api so we can do reset at spl stage for imx8qm/imx8qxp
    mek boards.

    Test: reset on imx8qm_mek and imx8qxp_mek.

    Change-Id: Ifa0bdea9393e413942a8a0188a4f937fa0aa9ab8
    Signed-off-by: Ji Luo
    (cherry picked from a5c5748101c383bc3afb424a3ef2689ab2664846)

    Ji Luo
     
  • Add implementation to load hdmi rx/tx firmwares, use different config to
    guide the function.

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

    Ji Luo
     
  • Add new keymaster commands to get Manufacure Production key (mppubk).
    Since the mppubk can only be generated in OEM CLOSED imx8q board, so
    we can only use this command when the board is HAB/AHAB closed.

    Commands to extract the mppubk:
    * $fastboot oem get-mppubk
    * $fastboot get_staged mppubk.bin

    Test: Generate and dump the mppubk.bin

    Change-Id: Idc59e78ca6345497e744162664b8293f50d1eda4
    Signed-off-by: Ji Luo
    (cherry picked from commit 52300d644a275dfa4fe73ecb51601a8efaff8ab7)

    Ji Luo
     
  • new imx8mn chips have Cortex-M7 inside, not like other imx8m devices
    of imx8mm and imx8mq which have Cortex-M4 inside. the names of MACROs
    used to boot MCU on imx8m devices is modified to make them more common
    to cover M4 and M7.
    annotations are also modified based on the differences between M4 and
    M7.

    Change-Id: Ida272e6ecdf577eeaadb9f1242f4524bd1014cac
    Signed-off-by: faqiang.zhu
    (cherry picked from commit eb825f8d4fbc2289b9ccf8f457fcba04922c8259)

    faqiang.zhu
     
  • imx-regs-imx8mm.h is used both for imx8mm and imx8mn, while mcu in
    imx8mn is Cortex-M7, it's different from Cortex-M4 in imx8mm, change
    the MACRO name of mcu TCM base address from M4_BOOTROM_BASE_ADDR to
    MCU_BOOTROM_BASE_ADDR.
    since this MACRO will be used in common code for i.MX chips, the same
    MACRO name in other files are also modified.

    Change-Id: I433dd78d11c485d0f4cb82bab299f61cb29dce45
    Signed-off-by: faqiang.zhu
    (cherry picked from commit e2eb616fdbc4ce6475b084ab11b77cd5dcaa6fd2)

    faqiang.zhu
     
  • This commit enables dual bootloader feature for imx8m/imx8q, but
    as commit 'a2018ab' already brings in some dual bootloader codes
    when enabling fastboot support, so this commit won't be a complete
    and standalone patch to introduce the dual bootloader feature.

    This commit will do the following:
    1. clean up dual bootloader flow and add missing implementation.
    2. Merge the dual bootloader entry for fit and container to one
    function 'mmc_load_image_raw_sector_dual_uboot'.

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

    Ji Luo
     
  • The CAAM driver in u-boot will use JR0 by default, but for
    imx8q, both JR0 and JR1 are assigned to SECO and A core
    should never access them.
    Power on the JR3 in this patchset and use it to complete
    the CAAM operations for imx8q.

    Test: CAAM self test cases pass for imx8q.

    below patches are merged to this commit:
    MA-13964 imx8q: Kick the CAAM JR before kicking the SMMU
    MA-13969 Fix CAAM build warnings

    Change-Id: Ie3d77d1f2910e7f4c257c797c12b5c8a30ad936a
    Signed-off-by: Ji Luo
    (cherry picked from commit d6e0fdcde5773fed4804cdacf927808bd2da3d7d)

    Ji Luo
     

13 May, 2020

2 commits


11 May, 2020

7 commits