18 May, 2020

3 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
     
  • 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
     

27 Apr, 2020

8 commits

  • On 2019.04 SPL, we enabled DM gadget driver for QM/QXP to support
    dual USB ports. The CI_UDC DM gadget driver will call init function
    inside EHCI mx6 driver, so when building SPL on iMX8QM/QXP with CI UDC
    enabled, we have to enable usb host driver as well, and this introduces
    about more than 40KB size to SPL.

    Move the common codes to a independent file, so that both host driver
    and gadget driver can call it, then decouple the host and gadget driver.

    Note: the patch only applies to ci_udc gadget DM driver. For non-DM gadget
    driver, it still depends ehci host interfaces.

    Signed-off-by: Ye Li
    Acked-by: Peng Fan
    (cherry picked from commit 1afed171a77b4c95cd4ea76f29d5a0a6bb199820)

    Ye Li
     
  • Set MCR0 RXCLKSRC to 1 to enable DQS loopback from pad to support
    higher frequency.

    Signed-off-by: Ye Li
    (cherry picked from commit 256fcd3df1b0a0b9c0fb730fabb7497800cda3a6)
    (cherry picked from commit fd90ac4654cf63d7518fc549f7a2b39d6a2e0230)

    Ye Li
     
  • Add the uuu environment to each board, when booting from USB, the
    u-boot will use them by default

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

    Ye Li
     
  • Porting the FSL android fastboot features from imx u-boot v2018.03 to
    support all SoCs: imx6/imx7/imx7ulp/imx8/imx8m.

    The UUU commands like UCmd and ACmd are also added. Users need set
    CONFIG_FASTBOOT_UUU_SUPPORT=y to enable the feature.

    Signed-off-by: Frank Li
    Signed-off-by: Ye Li
    (cherry picked from commit 65120b06a7f750b9b1a6e0db3d2082cc7088d5a8)
    (cherry picked from commit 9b149c2a28829fe7017f83981d634157bc31cc94)

    Ye Li
     
  • Add emmc support which needs board rework.
    Add I2C2.
    Update DM PMIC settings and LDO bypass support.
    Add BMODE support.
    Add LVDS and LCD splash screen support
    Add PCI power and reset GPIO and disable PCI at default.
    Update QSPI settings for QSPI boot and M4 fastup.
    Update environment settings

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

    Ye Li
     
  • The i.MX6SL EVK needs this driver in android fastboot support. Add
    this driver to u-boot.

    To use the driver, user must define:

    CONFIG_MXC_KPD Enable the driver
    CONFIG_MXC_KEYMAPPING Key mapping matrix
    CONFIG_MXC_KPD_COLMAX The column size of key mapping matrix
    CONFIG_MXC_KPD_ROWMAX The row size of the key mapping matrix

    Signed-off-by: Ye Li
    (cherry picked from commit 5096e572667ff41217deb4ba9b1bd15e93fa6b59)
    (cherry picked from commit e84160eaf5c057da45a227039c6f8a7911f43a82)
    (cherry picked from commit 7f8757016e97adeacba256bd0cb6ad8882f6a51e)
    (cherry picked from commit 79f5e8a3cc9bb1460dd06fa4909ff200d147377c)

    Ye Li
     
  • Add gis module, current gis is support vadc input.
    Add power down function to lcdif driver.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit a007b00dd8ef9f773dfdebef0b1deb0990281793)
    (cherry picked from commit a31dcdafb0963381e7213c59f79a340ef27ec2e2)
    (cherry picked from commit 02dfe2e4af5f51d39a51542fb0e81f93faf505bc)
    (cherry picked from commit a8e94954d8ccc44c41d77a5e356d6a99b3d45649)
    (cherry picked from commit 0864a17afbc93fed72273c7d7d3be0fc8681e794)
    (cherry picked from commit 20918f8e062111ca11bc9e3b82732145792c87c2)

    Ye.Li
     
  • Since we don't support DM in SPL, undefine the DM USB in SPL build,
    so it can use non-DM USB driver.

    Signed-off-by: Ye Li
    (cherry picked from commit 1e02825ab852f31111b875af9b84f82a974df64c)
    (cherry picked from commit 62efea1e99a02fc282d0a22c36fddb1b14a09612)

    Ye Li
     

23 Apr, 2020

4 commits

  • This driver is ported from NXP i.MX U-Boot version imx_v2019.04
    and some changes have also been made to adapt to U-Boot.

    Add the Cadence USB3 IP(CDNS3) driver for the gadget (device mode).
    The CDNS3 gadget driver support DM mode. CONFIG_DM_USB_GADGET should
    be enabled when use this driver.

    Signed-off-by: Sherry Sun
    Signed-off-by: Ye Li

    Sherry Sun
     
  • Upstream version is an initial version, it can't be used directly.
    We will use downstream version instead.

    Signed-off-by: Ye Li

    Ye Li
     
  • Port fsl_fspi driver for flexspi controller from imx_v2019.04.
    This driver supports:
    1. DDR Quad output
    2. Prefetch function for improve read performance.
    3. Fast read and Quad read for one line read mode.
    4. Read flash FSR register.
    5. DM driver and SPI-MEM supported

    Signed-off-by: Han Xu
    Signed-off-by: Ye Li
    (cherry picked from commit ae4e80b7b0debd2ad868781aaeb28ca4f2d9a8aa)
    (cherry picked from commit dcd5504f6493d9aed415f397f1c13611fc202605)
    (cherry picked from commit 902fba8f72e98d6c742674d305c855f3595c48b6)

    Ye Li
     
  • - one lane pcie gen2 link is okay, the cfg space
    of the rc/ep can be accessed.
    rc cfg base 0x5f00_0000. ep cfg base 0x6000_0000
    - limit to gen2 speed
    - mask the wait of eq3 finish, because it is used
    for gen3.
    - use pcie_ctrla_init_rc() to do the initialization
    of the pciea controller
    - setup the common pcie codes in pcie_imx8x.c, separate
    the different soc speicifed initialization codes into
    their own pcie/board codes, move the macro definitions
    into the new header file imx8_hsio.h.
    - i.MX8QXP only have PCIe Control B. Enable PORT B at default.
    i.MX8QM needs to set CONFIG_IMX_PCIEB to enable PORT B.
    - Disable the LTSSM when link is down.

    Signed-off-by: Frank Li
    Signed-off-by: Richard Zhu
    Signed-off-by: Shenwei Wang
    Signed-off-by: Ye Li
    (cherry picked from commit 03141c2b955ce6034f06e701126aea1493dc2b4b)
    (cherry picked from commit 99c90ff2de4849aafa0043932353e2c199d22e5f)
    (cherry picked from commit ededb7dfeeb765bc64939dc8ba09c826568ff04e)

    Ye Li
     

29 Feb, 2020

1 commit


13 Feb, 2020

1 commit


11 Feb, 2020

1 commit


06 Feb, 2020

1 commit

  • This is needed when importing mainline DTs into U-Boot, as some started
    using this /omit-if-no-ref/ tag, so won't compile with U-Boot's current
    dtc copy. This is just a cherry-pick of the patch introducing this
    feature.
    Original commit message from Maxime:
    ------------------
    A number of platforms have a need to reduce the number of DT nodes,
    mostly because of two similar constraints: the size of the DT blob, and
    the time it takes to parse it.

    As the DT is used in more and more SoCs, and by more projects, some
    constraints start to appear in bootloaders running from SRAM with an
    order of magnitude of 10kB. A typical DT is in the same order of
    magnitude, so any effort to reduce the blob size is welcome in such an
    environment.

    Some platforms also want to reach very fast boot time, and the time it
    takes to parse a typical DT starts to be noticeable.

    Both of these issues can be mitigated by reducing the number of nodes in
    the DT. The biggest provider of nodes is usually the pin controller and
    its subnodes, usually one for each valid pin configuration in a given
    SoC.

    Obviously, a single, fixed, set of these nodes will be used by a given
    board, so we can introduce a node property that will tell the DT
    compiler to drop the nodes when they are not referenced in the tree, and
    as such wouldn't be useful in the targetted system.

    Signed-off-by: Maxime Ripard
    Reviewed-by: Rob Herring
    Signed-off-by: Andre Przywara
    Reviewed-by: Simon Glass

    Maxime Ripard
     

03 Feb, 2020

1 commit

  • Migrate CONFIG_DESIGNWARE_WATCHDOG to Kconfig and update the headers
    accordingly, no functional change. The S10 enables the WDT only in
    SPL, but does not enable it in U-Boot itself, hence disable it in
    the config again.

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dalon Westergreen
    Cc: Dinh Nguyen
    Cc: Jagan Teki
    Cc: Ley Foon Tan
    Cc: Philipp Tomisch
    Cc: Simon Goldschmidt
    Cc: Tien Fong Chee

    Marek Vasut
     

31 Jan, 2020

2 commits

  • Same as the upstream fix for building dtc with gcc 10.

    Signed-off-by: Peter Robinson

    Peter Robinson
     
  • In upstream libfdt, 6dcb8ba4 "libfdt: Add helpers for accessing
    unaligned words" introduced changes to support unaligned reads for ARM
    platforms and 11738cf01f15 "libfdt: Don't use memcpy to handle unaligned
    reads on ARM" improved the performance of these helpers.

    In practice however, this only occurs when the user has forced the
    device tree to be placed in memory in a non-aligned way, which in turn
    violates both our rules and the Linux Kernel rules for how things must
    reside in memory to function.

    This "in practice" part is important as handling these other cases adds
    visible (1 second or more) delay to boot in what would be considered the
    fast path of the code.

    Cc: Patrice CHOTARD
    Cc: Patrick DELAUNAY
    Link: https://www.spinics.net/lists/devicetree-compiler/msg02972.html
    Signed-off-by: Tom Rini
    Tested-by: Patrice Chotard

    Tom Rini
     

28 Jan, 2020

1 commit

  • This can be used for device tree size reduction similar as
    CONFIG_OF_SPL_REMOVE_PROPS option. Some boards must pass the
    built-in DTB unchanged to the kernel, thus we may not cut it
    down unconditionally. Therefore enable the property removal
    list option only if CONFIG_OF_DTB_PROPS_REMOVE is selected.

    Signed-off-by: Anatolij Gustschin

    Anatolij Gustschin
     

23 Jan, 2020

4 commits


18 Jan, 2020

3 commits


16 Jan, 2020

1 commit

  • The below patch added eSDHC periperhal clock code initially.
    2d9ca2c mmc: fsl_esdhc: Add peripheral clock support

    The purpose was to fix up device tree properties "peripheral-frequency"
    so that linux could get the periperhal clock by it.
    However the implementation on both u-boot and linux was only
    for a Freescale SDK release. The linux part implementation had never
    been upstreamed. These code should not have been exist on u-boot
    mainline.

    Let's remove the powerpc part changes but keep the changes in
    fsl_esdhc driver. The changes in fsl_esdhc driver could be utilized
    to support SD UHS and eMMC HS200/HS400 speed modes for current
    Layerscape ARM platforms.

    Signed-off-by: Yangbo Lu

    Yangbo Lu
     

10 Jan, 2020

2 commits


08 Jan, 2020

1 commit


07 Jan, 2020

3 commits


23 Dec, 2019

2 commits


15 Dec, 2019

1 commit

  • When device-tree compilation fails it is sometimes tricky to see which
    line is broken, since the input file to dtc is a pre-processed version
    of the device tree.

    Add a line that points to the file that needs to be checked:

    When the error is in the main .dts file, output is something like this:

    output: 'Error: arch/x86/dts/.chromebook_coral.dtb.pre.tmp:478.46-47
    syntax error
    FATAL ERROR: Unable to parse input tree

    but in fact looking at that file shows nothing useful:

    PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_157, UP_20K, DEEP, NF1, HIZCRX1, DISPUPD)

    Instead we need to look at the preprocessed file, which shows:

    163 ((1U << 30) | (1 << 10)) ((0xb << 10) | PAD_CFG1_IOSSTATE_HIZCRX1)

    Here it is clear that PAD_CFG1_IOSSTATE_HIZCRX1 is not defined and so is
    not being resolved by the preprocessor.

    This commit adds an additional useful message:

    Check arch/x86/dts/.chromebook_coral.dtb.dts.tmp for errors

    Note that if the error is reported in an included file, such as
    u-boot.dtsi then the output is the following:

    Error: arch/x86/dts/u-boot.dtsi:137.14-15 syntax error
    FATAL ERROR: Unable to parse input tree

    But again, if the error is due to a preprocessor failure, like this:

    filename = CONFIG_IFW_INPUT_FILE;

    then you can't tell what the problem is by looking at the source. All you
    see is the original code:

    intel-ifwi {
    filename = CONFIG_IFW_INPUT_FILE;
    ...
    };
    };
    intel-fsp-m {
    filename = CONFIG_FSP_FILE_M;
    };

    Everything looks fine. But looking at the output of the preprocessor:

    intel-ifwi {
    filename = CONFIG_IFW_INPUT_FILE;
    ...
    };
    intel-fsp-m {
    filename = "fsp_m.bin";
    };

    This shows that the filename (normally "fitimage.bin") has not been
    inserted the preprocess, leading to the realisation that the value should
    be CONFIG_IFWI_INPUT_FILE.

    If the above does not make sense, I encourage people to try introducing
    errors in the device tree preprocessed values.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass