18 Apr, 2022

3 commits

  • Refine the dependency of some configs to make it
    easier to add/modify android config files.

    Test: builds.

    Change-Id: Iccb044dadc7ce1e0b839bf83e2e9157e718f286c
    Signed-off-by: Ji Luo
    (cherry picked from commit 86f4f99a367bbc0ef99d4ab2a0b4078babfbfbd2)
    (cherry picked from commit 8f3e86b52a27948ba1be1d93dae5e5a4c8a73a0a)
    (cherry picked from commit ff17b410ea60f6450c2ef9342a5b9e55e1929470)

    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
    (cherry picked from commit: bd0682f5b3208525363690d446bc86da15a43120)
    (cherry picked from commit: 11126b31964eabdd321cdbc284e0abccfc6af9cd)

    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
    (cherry picked from commit d00da7c6e2d3b0ed5f3f93eb98d841d1b7a114ca)

    Ji Luo
     

06 Apr, 2022

12 commits

  • JRO is reserved in ATF for use by HAB(secure boot)
    and not released to non secure(NS).
    CAAM crypto operation are failing when use JR0 in uboot.

    when DM is enabled
    set the status of JR0 as disabled in device tree,
    so JR0 is not initialized.
    JR1 is initialized in SPL and Uboot.

    when DM is not enabled
    SEC job ring address is defined with JR1 offset(0x2000).

    Signed-off-by: Gaurav Jain
    Reviewed-by: Ye Li
    Reviewed-by: Franck LENORMAND
    (cherry picked from commit ed618ce6a95b51ec30f37311d374f9178e0cc44c)

    Gaurav Jain
     
  • This allows the u-boot to be built separately for different
    clusters (A53 or A72) on i.MX8QM.

    Signed-off-by: Seb Fagard
    Signed-off-by: Fabrice Goucem
    Signed-off-by: Abel Vesa
    Signed-off-by: Nitin Garg
    (cherry picked from commit edb54f88b014bdd0379370678d54de60e3962b38)
    (cherry picked from commit e8ec7faa4cb53461da3c397ee3d95fc4a82a5d21)
    (cherry picked from commit f0f26c2b9a13467879e31aadca9d9cd596d50dab)
    (cherry picked from commit 8c7819c39f870648a40bce6dcda44c6065b508f0)

    Nitin Garg
     
  • 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)
    (cherry picked from commit 6680499ca4d3a740df5c0aa5a5e66f6d93f827fb)
    (cherry picked from commit f1fc6faa99e66ceb801503db28b3ce8fc01c4138)
    (cherry picked from commit 89d47b48f0f598ef080bc99385f831c698ca7c98)
    (cherry picked from commit 937de0f31667e89e7b4250b233c1fd8da3412d24)

    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)
    (cherry picked from commit c5b1c86f07f4e99e4df9ce7b65e01f31aefc770a)
    (cherry picked from commit 7a40904525aba68346fb5f553682c71f89302c49)
    (cherry picked from commit 70dd923d283538219c3a7a33af02465c1aa0e3b5)

    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)
    (cherry picked from commit 9f99e9de1d37e9f6c02c1b27348ea3dcdab94569)
    (cherry picked from commit 6ae1c043431a4987f563026b179b33945a5880ee)
    (cherry picked from commit 806c9ba15e8742a23b1b9147d9b85219133b6f10)
    (cherry picked from commit 1357b84595d617f6ebc09f23e7b9d14b080f8048)

    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)
    (cherry picked from commit 462883d1a88e59fd2b854c3f751e75a329fad500)
    (cherry picked from commit 2a7b7f9dc55412860b040959b06e11bfaab574b9)
    (cherry picked from commit 67b5e672e457523ea40a58f73a977026cff2a05e)

    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)
    (cherry picked from commit d62830ee536b70d2ac75a6ac692c67ee151d65e2)
    (cherry picked from commit ed7eed7a3fd615628032a04e5d4d58f488cc983e)
    (cherry picked from commit 2ab81ace60b3bf7521b0ca3ba4defd8d8fc62689)

    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)
    (cherry picked from commit eb335355b9563c74ef0f54259439e6f2b57a3167)
    (cherry picked from commit 6aa9553cab564f2cbe7ed43f51f4d966282c7f54)
    (cherry picked from commit 1dbc8d32fba24bc85a41037f763203ef5550fc4d)

    Ye.Li
     
  • Porting the mx6dq/dqp/dl/s sabresd and sabreauto codes from v2018.03
    The major change is moving back to non-SPL mode for sabre boards.
    which means all old things like DCD, plugin are added back for each
    platform. This inherits the way used in v2018.03

    Signed-off-by: Ye Li
    (cherry picked from commit 3a3a0f07c85b0ae86b18709445206db0310c3b63)
    (cherry picked from commit 90b86014f70f44db3b18e96b2643a57a0a6f92a3)
    (cherry picked from commit 2660660f213e117c3445ba6f18e78d44df1683bc)
    (cherry picked from commit 7e4494e316fd48aad0cee22f45722147ff1f6dcd)
    (cherry picked from commit b29f22f4314bc67305e1533ba21ddaa67aa8df49)

    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)
    (cherry picked from commit 8a44b2ce1cc80e9c28625b84a7db00c75880b70f)
    (cherry picked from commit d2714bf8a344a27d48ba272609617a5502901d94)

    Ye Li
     
  • 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
    (cherry picked from commit 09d22730a9b022dd6354740d46c6fa155553bbd0)
    (cherry picked from commit 7069c6cc75111ff35b61278e768abcd7cb2b6cb1)

    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
    (cherry picked from commit a956dfbc2a09a53c6a7a143ffdd807735526017b)
    (cherry picked from commit 59681eeda696cc1345b836e9ee6ae7f61c031365)

    Ye Li
     

26 Feb, 2022

1 commit

  • There is a conflict between the static file
    lib/acpi/dsdt.c and the file dsdt.c generated
    dynamicaly by scripts/Makefile.lib. When a
    mrproper is done, the static file dsdt.c is
    removed. If a build with acpi enabled is
    launched after, the following error is raised:

    CC lib/acpi/acpi_table.o
    make[2]: *** No rule to make target 'lib/acpi/dsdt.asl', needed by 'lib/acpi/dsdt.c'. Stop.
    scripts/Makefile.build:394: recipe for target 'lib/acpi' failed

    To avoid such error, the generated file is named
    dsdt_generated.c instead of dstdt.c.

    Signed-off-by: Philippe Reynes
    Tested-by: Heiko Thiery

    Philippe Reynes
     

24 Feb, 2022

1 commit


23 Feb, 2022

1 commit

  • On some configs (like stm32mp15_dhcom_basic_defconfig), if configs
    SPL_LOAD_FIT_FULL and SPL_FIT_FULL_CHECK are enabled. Then the compilatio
    fails with the following error:

    arm-linux-gnueabi-ld.bfd: boot/image-fit.o: in function `fit_check_format':
    /uboot/u-boot-stm/boot/image-fit.c:1641: undefined reference to `fdt_check_full'
    scripts/Makefile.spl:509: recipe for target 'spl/u-boot-spl' failed

    This issue happens because the function fdt_check_full is only defined if
    "!defined(FDT_ASSUME_MASK) || FDT_ASSUME_MASK != 0xff". But this function
    may be called even if this condition are not verified. To avoid this issue,
    the function fdt_check_full is always defined.

    Signed-off-by: Philippe Reynes
    Reviewed-by: Simon Glass

    Philippe Reynes
     

15 Feb, 2022

1 commit


12 Feb, 2022

1 commit


11 Feb, 2022

3 commits


10 Feb, 2022

3 commits

  • patman snake-case conversion
    binman fit improvements
    ACPI fixes and making MCFG available to ARM

    [trini: Update scripts/pylint.base]
    Signed-off-by: Tom Rini

    Tom Rini
     
  • Update the new baseline since various scores have improved.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • When building for a custom board, it is quite common to maintain a
    private branch which include some defconfig and .dts files. But to
    hook up those .dts files requires modifying a file "belonging" to
    upstream U-Boot, the arch/*/dts/Makefile. Forward-porting that branch
    to a newer upstream then often results in a conflict which, while it
    is trivial to resolve by hand, makes it harder to have a CI do "try to
    build our board against latest upstream".

    The .config usually includes information on precisely what .dtb(s) are
    needed, so to avoid having to modify the Makefile, simply add the
    files in (SPL_)OF_LIST to dtb-y.

    A technicality is that (SPL_)OF_LIST is not always defined, so rework
    the Kconfig symbols so that (SPL_)OF_LIST is always defined (when
    (SPL_)OF_CONTROL), but only prompted for in the cases which used to be
    their "depends on".

    nios2 and microblaze already have something like this in their
    dts/Makefile, and the rationale in commit 41f59f68539 is similar to
    the above. So this simply generalizes existing practice. Followup
    patches could remove the logic in those two makefiles, just as there's
    potential for moving some common boilerplate from all the
    arch/*/dts/Makefile files to the new scripts/Makefile.dts.

    Signed-off-by: Rasmus Villemoes
    Reviewed-by: Simon Glass

    Rasmus Villemoes
     

09 Feb, 2022

7 commits

  • Rsync all defconfig files using moveconfig.py and update
    scripts/pylint.base

    Signed-off-by: Tom Rini

    Tom Rini
     
  • This converts the following to Kconfig:
    CONFIG_SCSI_AHCI_PLAT
    CONFIG_SYS_SCSI_MAX_SCSI_ID
    CONFIG_SYS_SCSI_MAX_LUN
    CONFIG_SYS_SATA_MAX_DEVICE

    Drop CONFIG_SCSI for everything except the sandbox build. We only need
    one build for tests.

    Signed-off-by: Simon Glass
    Reviewed-by: Stefan Roese

    Simon Glass
     
  • This is defined based on two other CONFIGs for all boards except sandbox
    and durian.

    For sandbox the value does not matter. For durian the value seems
    excessive.

    Drop the option completely, to simplify configuration and reduce the
    number of things we need to convert to Kconfig.

    Signed-off-by: Simon Glass
    Reviewed-by: Stefan Roese

    Simon Glass
     
  • This converts the following to Kconfig:
    CONFIG_REMAKE_ELF

    Signed-off-by: Alper Nebi Yasak

    Alper Nebi Yasak
     
  • This option is not used in U-Boot. Drop it.

    Signed-off-by: Simon Glass
    Reviewed-by: Stefan Roese

    Simon Glass
     
  • This converts the following to Kconfig:
    CONFIG_SYS_IDE_MAXBUS
    CONFIG_SYS_IDE_MAXDEVICE
    CONFIG_SYS_ATA_BASE_ADDR
    CONFIG_SYS_ATA_STRIDE
    CONFIG_SYS_ATA_DATA_OFFSET
    CONFIG_SYS_ATA_REG_OFFSET
    CONFIG_SYS_ATA_ALT_OFFSET
    CONFIG_SYS_ATA_IDE0_OFFSET
    CONFIG_SYS_ATA_IDE1_OFFSET
    CONFIG_ATAPI
    CONFIG_IDE_RESET

    Signed-off-by: Simon Glass
    Reviewed-by: Stefan Roese

    Simon Glass
     
  • At present if an optional Kconfig value needs to be used it must be
    bracketed by #ifdef. For example, with this Kconfig setup:

    config WIBBLE
    bool "Support wibbles, the world needs more wibbles"

    config WIBBLE_ADDR
    hex "Address of the wibble"
    depends on WIBBLE

    then the following code must be used:

    #ifdef CONFIG_WIBBLE
    static void handle_wibble(void)
    {
    int val = CONFIG_WIBBLE_ADDR;

    ...
    }
    #endif

    static void init_machine()
    {
    ...
    #ifdef CONFIG_WIBBLE
    handle_wibble();
    #endif
    }

    Add a new IF_ENABLED_INT() to help with this. So now it is possible to
    write, without #ifdefs:

    static void handle_wibble(void)
    {
    int val = IF_ENABLED_INT(CONFIG_WIBBLE, CONFIG_WIBBLE_ADDR);

    ...
    }

    static void init_machine()
    {
    ...
    if (IS_ENABLED(CONFIG_WIBBLE))
    handle_wibble();
    }

    The value will be CONFIG_WIBBLE_ADDR if CONFIG_WIBBLE is defined and will
    produce a build error if not.. This allows us to reduce the use of #ifdef
    in the code, ensuring that the compiler still checks the code even if it
    is not ultimately used for a particular build.

    Add a CONFIG_IF_ENABLED_INT() version as well.

    If an attempt is made to use a value that does not exist (i.e. when the
    conditional is not enabled), an error about a non-existing function is
    generated, e.g.:

    common/bloblist.c:447: undefined reference to `invalid_use_of_IF_ENABLED_INT'

    Signed-off-by: Simon Glass

    Simon Glass
     

04 Feb, 2022

2 commits

  • This resyncs us with the version found in v5.16 of the Linux kernel with
    the following exceptions:
    - Keep our u-boot specific tests / code area.
    - Change the location of checkpatch.rst
    - Drop the "use strscpy" test as we don't have that, but do have strlcpy
    and want that used now.
    - Keep debug/printf in the list for $logFunctions

    This also syncs the spdxcheck.py tool and all the associated
    documentation.
    S
    Signed-off-by: Simon Glass

    Simon Glass
     
  • Since commit 93b196532254 ("Makefile: Only build dtc if needed"),
    the sub directory scripts/dtc is never cleaned.
    Adds the directory dtc to subdir to always clean it.

    Signed-off-by: Philippe Reynes
    Reviewed-by: Simon Glass

    Philippe Reynes
     

31 Jan, 2022

1 commit

  • The current Makefile rule requires there to be a 'Module' line in the
    pylint output, like this:

    ************* Module binman.fip_util

    This line only appears if pylint has some comments about the module. We
    cannot rely on it for naming.

    Update the code to instead use the filename as the identifier for each
    score, so rather than:

    multiplexed_log 7.49

    we output:

    test_multiplexed_log.py 7.20

    It is still easy to see which file the score relates to. In fact the new
    naming is nicer since the full subdirectories are shown.

    The avoids the problem where a module name is not produced, and the output
    gets out of sync.

    Regenerate pylint.base so we can start from the current baseline.

    Signed-off-by: Simon Glass

    Simon Glass
     

26 Jan, 2022

2 commits

  • The build system already automatically looks for and includes an
    in-tree *-u-boot.dtsi when building the control .dtb. However, there
    are some things that are awkward to maintain in such an in-tree file,
    most notably the metadata associated to public keys used for verified
    boot.

    The only "official" API to get that metadata into the .dtb is via
    mkimage, as a side effect of building an actual signed image. But
    there are multiple problems with that. First of all, the final U-Boot
    (be it U-Boot proper or an SPL) image is built based on a binary
    image, the .dtb, and possibly some other binary artifacts. So
    modifying the .dtb after the build requires the meta-buildsystem
    (Yocto, buildroot, whatnot) to know about and repeat some of the steps
    that are already known to and handled by U-Boot's build system,
    resulting in needless duplication of code. It's also somewhat annoying
    and inconsistent to have a .dtb file in the build folder which is not
    generated by the command listed in the corresponding .cmd file (that
    of course applies to any generated file).

    So the contents of the /signature node really needs to be baked into
    the .dtb file when it is first created, which means providing the
    relevant data in the form of a .dtsi file. One could in theory put
    that data into the *-u-boot.dtsi file, but it's more convenient to be
    able to provide it externally: For example, when developing for a
    customer, it's common to use a set of dummy keys for development,
    while the consultants do not (and should not) have access to the
    actual keys used in production. For such a setup, it's easier if the
    keys used are chosen via the meta-buildsystem and the path(s) patched
    in during the configure step. And of course, nothing prevents anybody
    from having DEVICE_TREE_INCLUDES point at files maintained in git, or
    for that matter from including the public key metadata in the
    *-u-boot.dtsi directly and ignore this feature.

    There are other uses for this, e.g. in combination with ENV_IMPORT_FDT
    it can be used for providing the contents of the /config/environment
    node, so I don't want to tie this exclusively to use for verified
    boot.

    Reviewed-by: Simon Glass
    Signed-off-by: Rasmus Villemoes
    Fix doc formatting error (make htmldocs)
    Signed-off-by: Simon Glass

    Rasmus Villemoes
     
  • Some .asl files include others using the iasl 'include' directive. This
    needs to be able to find the files referenced.

    For an out-of-tree build the source directory is not the current
    directory. Moreover, U-Boot preprocesses the input file and puts the
    result in the output directory. So iasl does not know where the real
    source file came from.

    Add a -I option to produce the correct behaviour. We could add an option
    to not preprocess the .asl source, but for now that seems unnecessary.

    Signed-off-by: Simon Glass

    Simon Glass
     

25 Jan, 2022

2 commits