summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-01-20block: Remove "select BLK" from non-block driversTom Rini
Now that block drivers are all selecting the BLK symbol, there's no need for other options to be select'ing BLK so that other required functionality can be enabled. Remove these places. Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-01-20mtd: Correct dependency of BLKTom Rini
In the case of MTD_BLOCK and UBI_BLOCK they should be select'ing BLK as they provide block device functionality and not depending on some other block device already being enabled too (as is the typical case). Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-01-20blk: Make block subsystems select BLKTom Rini
The BLK symbol has a few meanings, one of which is that it controls the driver model portion of a "block device". Rather than having this hidden symbol be "default y if ..." it should be select'd by the various block subsystems. Symbols such as PVBLOCK which already select'd BLK are unchanged". Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-01-20efi_loader: Depend on BLKTom Rini
In reworking the BLK usage in Kconfig, I found there's a few issues with EFI_LOADER=y and BLK=n. In general, we can easily say that lib/efi_loader/efi_file.c also should only be built with CONFIG_BLK. That however leaves the bootmgr code, eficonfig code and then parts of efi_device_path.c, efi_boottime.c and efi_setup.c which functionally depend on BLK. While these calls can be if'd out, I'm unsure if the result is usable. So rather than leave that buildable and imply that it is, I'm leaving that combination non-buildable and commenting that EFI_LOADER depends on BLK in the Kconfig currently. Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-01-20drivers/mmc/Kconfig: Make DM_MMC a hidden symbolTom Rini
At this point in time, DM is always enabled. So if MMC is enabled, it should select DM_MMC. No drivers need to depend on DM_MMC being enabled now, so remove that from dependency lists. This now means that a number of platforms which select'd DM_MMC need to select MMC instead. This also fixes a migration problem with espresso7420 in that MMC is built again with the platform. Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-01-20drivers/mmc/Kconfig: Remove extraneous BLK dependenciesTom Rini
At this point in time, we know that with the MMC symbol enabled we will always also have the BLK symbol enabled, so we do not need to list that as a dependency for MMC drivers. Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-01-20Merge tag 'u-boot-imx-master-20250120' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/24263 - Add i.MX95 EMDIO support - Guard binman nodes with CONFIG_OPTEE on imx8m - Enable CAAM in phycore-imx8mp SPL. - Fix Fix NULL dereference in imx_pinctrl_probe().
2025-01-20arch: arm: mach-k3: Delete tifs node in DT fixupUdit Kumar
Delete tifs DT node as part of fixup. TISCI API reported msmc_size, does not include 64KB reserved size for tifs aka MSMC comms memory, see documentation[0]. As part of fixup, original code uses TISCI API reported msmc_size as size for SRAM DT node. tifs node is similar to l3-cache, which should hold address above msmc_size, and should be deleted before passing control to OS. [0] https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html?highlight=msmc#tisci-msg-query-msmc Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Udit Kumar <u-kumar1@ti.com>
2025-01-20board: ti: j722s: j722s.env: Set remoteproc firmware namesBeleswar Padhi
Include k3_rproc.env to access rproc boot commands and specify rproc firmware names for adding remoteproc support in J722S SoCs. Signed-off-by: Beleswar Padhi <b-padhi@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
2025-01-20arch: arm: mach-k3: j784s4_init: Set CTRL_MMR for AUDIO_REFCLK1 clk_selJayesh Choudhary
The default value for the mux to select the parent clock, AUDIO_REFCLK1_CTRL_CLK_SEL is '11111' (31) but the mux input for 31 is marked as 'Reserved' so the ti-sci-clk call for get-parent fails. Mark it to a valid value, '11100' (28) for MAIN_PLL4_HSDIV2_CLKOUT to get rid of the linux failures during boot-time like: "[ 1.573193] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19" Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2025-01-20fs: eliminate YAFFS2 implementationHeinrich Schuchardt
Upstream development stopped 2012. Linux eliminated YAFFS2 in 2010. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-01-20phycore-imx8mp: Enable CAAM in splLeonard Anderweit
Enable CAAM in spl. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
2025-01-20pinctrl: imx: Fix NULL dereference in imx_pinctrl_probe()Jesse Taube
When converting to ofnode `ofnode_read_u32` was accedentally used to replace `fdtdec_get_int` instead of `ofnode_read_u32_default`. Use `ofnode_read_u32_default` to fix this. Fixes: 59382d2 ("pinctrl: imx: Convert to use livetree API for fdt access") Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
2025-01-20imx8m: Guard binman nodes with CONFIG_OPTEEFabio Estevam
Guard binman nodes with CONFIG_OPTEE to fix the following error when building without optee support: BINMAN .binman_stamp Image 'image' has faked external blobs and is non-functional: tee.bin Image 'image' is missing optional external blobs but is still functional: tee-os /binman/section/fit/images/tee/tee-os (tee.bin): See the documentation for your board. You may need to build Open Portable Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin Some images are invalid make: *** [Makefile:1135: .binman_stamp] Error 103 While at it, only pass tee to the loadables lines when CONFIG_OPTEE is defined. Reported-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Tested-by: Yannic Moog <y.moog@phytec.de>
2025-01-20net: fsl_enetc: Update enetc driver to support i.MX95Alice Guo
i.MX95 uses enetc version 4.1 controller. Update the enetc for i.MX95. Add ARM-specific cache handling and i.MX95 specific register layout handling. Signed-off-by: Alice Guo <alice.guo@nxp.com> Signed-off-by: Marek Vasut <marex@denx.de> # Clean up Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Tim Harvey <tharvey@gateworks.com>
2025-01-20net: fsl_enetc: add i.MX95 EMDIO supportAlice Guo
The verdor ID and device ID of i.MX95 EMDIO are different from LS1028A EMDIO, so add new vendor ID and device ID to pci_device_id table to support i.MX95 EMDIO. Signed-off-by: Alice Guo <alice.guo@nxp.com> Signed-off-by: Marek Vasut <marex@denx.de> # Clean up Signed-off-by: Ye Li <ye.li@nxp.com>
2025-01-20net: fsl_enetc: Add initial netc-blk-ctrl driver supportMarek Vasut
The netc-blk-ctrl driver is used to configure Integrated Endpoint Register Block (IERB) and Privileged Register Block (PRB) of NETC. For i.MX platforms, it is also used to configure the NETCMIX block. The IERB contains registers that are used for pre-boot initialization, debug, and non-customer configuration. The PRB controls global reset and global error handling for NETC. The NETCMIX block is mainly used to set MII protocol and PCS protocol of the links, it also contains settings for some other functions. Note the IERB configuration registers can only be written after being unlocked by PRB, otherwise, all write operations are inhibited. A warm reset is performed when the IERB is unlocked, and it results in an FLR to all NETC devices. Therefore, all NETC device drivers must be probed or initialized after the warm reset is finished. Ported from Linux 6.13-rc as of commit fe5ba6bf91b3 ("net: enetc: add initial netc-blk-ctrl driver support") Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Pass udevice pointer to accessorsMarek Vasut
Pass struct udevice * into the register accessors, so the accessors can reach driver data, which contain device specific register offsets. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Introduce driver dataMarek Vasut
Introduce driver data for each PCI device. The driver data carry offsets of registers which differ between different SoCs. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Split register accessorsMarek Vasut
Split register accessors to the port base/station interface/port/mac registers as those are at different offsets on different SoCs. This is a preparatory patch which will allow addition of adjusted offsets for new SoCs easily. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Inline register accessorsMarek Vasut
Move register accessors from header files and turn them into proper inline functions, so typechecking can be done on them. Drop no longer enetc_port_regs() and unused enetc_read() and enetc_bdr_read(). Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Introduce enetc_dev_id()Marek Vasut
Introduce mapping function enetc_dev_id(), which converts PCIe BDF of the ENETC into linear incrementing index usable e.g. as interface index. This replaces the current ad-hoc calculation used in the code with a dedicated function. No functional change. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Rename the driver and related structuresMarek Vasut
Rename the current driver structure and matching ops and PCI IDs and add _ls suffix to indicate this content is LS specific. This is done in preparation for addition of i.MX95 ENETCv4 which will require slightly different structure content. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Pass udevice pointer into enetc_enable_si_port()Marek Vasut
Pass udevice pointer into enetc_enable_si_port() so tests like enetc_is_ls1028a() an be used in the function. No functional change. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Fold DT MAC address update into enetc_set_ierb_primary_mac()Marek Vasut
The entire content of the loop can be folded into enetc_set_ierb_primary_mac(), do it. This changes the behavior slightly such that the DT is only updated in case of a LS1028A, which is the only SoC with ethernet MAC path in DT matching "/soc/pcie@1f0000000/ethernet@%x,%x" anyway, so this slight change should have no impact. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Remove ifdef around enetc_set_ierb_primary_mac()Marek Vasut
Use enetc_is_ls1028() instead of ifdef around enetc_set_ierb_primary_mac() and clean up the function. No functional change intended. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-20net: fsl_enetc: Introduce enetc_is_ls1028a()Marek Vasut
Introduce accurate test for LS1028A compatibility based both on IS_ENABLED(CONFIG_ARCH_LS1028A) and PCI vendor ID. This is done in preparation for adding ENETCv4 support, which has a different PCI vendor ID. Signed-off-by: Marek Vasut <marex@denx.de>
2025-01-18Merge patch series "add the support of sha256_hmac and sha256_hkdf"Tom Rini
Philippe Reynes <philippe.reynes@softathome.com> says: This serie adds the support of sha256_hmac and sha256_hkdf. A first version was sent several months ago just before the integration of mbedtls. This new version is based on mbedtls. The first patch of this serie add the support of hkdf using mbedtls. Link: https://lore.kernel.org/r/20241219130554.49825-1-philippe.reynes@softathome.com
2025-01-18configs: sandbox: enable mbedtlsPhilippe Reynes
Enable mbedtls to have at least one config with mbedtls enabled. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2025-01-18test: lib: add test for key derivationPhilippe Reynes
Adds a test for the function sha256_hkdf. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Raymond Mao <raymond.mao@linaro.org>
2025-01-18lib: mbedtls: sha256: add support of key derivationPhilippe Reynes
Adds the support of key derivation using the scheme hkdf. This scheme is defined in rfc5869. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Raymond Mao <raymond.mao@linaro.org>
2025-01-18test: lib: add test for sha256_hmacPhilippe Reynes
Adds a test for the function sha256_hmac Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Raymond Mao <raymond.mao@linaro.org>
2025-01-18lib: sha256: add feature sha256_hmacPhilippe Reynes
Adds the support of the hmac based on sha256. This implementation is based on rfc2104. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Raymond Mao <raymond.mao@linaro.org>
2025-01-18lib: sha256: move common function to sha256_common.cPhilippe Reynes
The function sha256_csum_wd is defined in lib/sha256.c and in lib/mbedtls/sha256.c. To avoid duplicating this function (and future function), we move this function to the file lib/sha256_common.c Reviewed-by: Raymond Mao <raymond.mao@linaro.org> Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2025-01-18mbedtls: enable support of hkdfPhilippe Reynes
Adds the support of key derivation using the scheme hkdf. Reviewed-by: Raymond Mao <raymond.mao@linaro.org> Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2025-01-18tools: renesas_spkgimage.h: use linux/compiler_attributes.hPhilippe Reynes
The attribute __packed was defined in the file tools/renesas_spkgimage.h but this attribute is already defined in linux/compiler_attributes.h. So we include <linux/compiler_attributes.h.h> and do not define __packed. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2025-01-18tools: kwbimage.h: use linux/compiler_attributes.hPhilippe Reynes
The attribute __packed was defined in the file tools/kwbimage.h but this attribute is already defined in linux/compiler_attributes.h. So we include <linux/compiler_attributes.h.h> and do not define __packed. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2025-01-18Merge tag 'efi-2025-04-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2025-04-rc1 Documentation: * Correct the defconfig name in the coolpi documentation UEFI: * Carve out the biggest part of the RISC-V and ARM linker scripts for EFI binary into a common include. * Correct the values of SizeOfCode and SizeOfInitializedData in generated EFI binaries for RISC-V and ARM. * Avoid gaps between sections in EFI binaries causing a failure in secure boot. * Makefile: let clean remove capsule_in.capsule*.efi-capsule * Refactor some of the code used for launching EFI binaries.
2025-01-18Gitlab: Add DEFAULT_FAST_ARM64_TAG as wellTom Rini
Upon further consideration, we should have both DEFAULT_FAST_ARM64_TAG and DEFAULT_ARM64_TAG values available. This will allow us to later run a matrix of some jobs, such as sandbox, on any arm64 host and still keep the world build to only fast arm64 hosts. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-01-18squashfs: Fix sqfs_inode_size() for xattr related SQFS_LSYMLINK_TYPENorbert van Bolhuis
A squashfs filesystem with extended attributes (xattrs) may have inodes of type SQFS_LSYMLINK_TYPE. This might cause u-boot to fail to handle the filesystem since it assumes a SYMLINK_TYPE and LSYMLINK_TYPE inode are the same size. This is wrong, see: https://github.com/plougher/squashfs-tools/blob/master/squashfs-tools/read_fs.c#L421 Using the mksquashfs '-no-xattrs' argument is probably best, but the mksquashfs '-xattrs' argument is the default. This patch fixes squashfs image handling by making sure parsing the uncompressed inode_table (with sqfs_find_inode) succeeeds. The only change needed is correctly determining the size of a SQFS_LSYMLINK_TYPE inode. Signed-off-by: Norbert van Bolhuis <nvbolhuis@gmail.com>
2025-01-18qconfig.py: Update resync messageTom Rini
When using qconfig.py to resync defconfig files and commit the result, update it to say: Resync all defconfig files using qconfig.py Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-01-18Makefile: Make sure all linker input objects existMarek Vasut
In case the build system builds a directory with empty Makefile, one which does not contain any obj-y entries, the build fails to link due to missing built-in.o . This happens because of this part of scripts/Makefile.build 81 ifneq ($(strip $(obj-y) $(obj-m) $(obj-) $(subdir-m) $(lib-target)),) 82 builtin-target := $(obj)/built-in.o 83 endif which does not assign builtin-target in case obj-y is empty. The built-in target is then not built at all, and built-in.o is not generated by this part of scripts/Makefile.build 325 ifdef builtin-target 326 quiet_cmd_link_o_target = AR $@ 327 # If the list of objects to link is empty, just create an empty built-in.o ... 335 targets += $(builtin-target) 336 endif # builtin-target This is the correct behavior. The final link however expects the built-in.o to exist in every directory included in the build, even in those where the aforementioned code skipped generation of built-in.o . Make sure the built-in.o does exist for every directory used in final link simply by doing touch on every built-in.o used for the link, which will create empty built-in.o in case any built-in.o is missing. A possible alternative fix is the always define the builtin-target and always generate built-in.o . Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Tested-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-01-18Merge https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
2025-01-18arm64: dts: renesas: Deduplicate extalr_clk bootph-allMarek Vasut
Most R-Car Gen3 and Gen4 systems require extalr_clk very early in the boot process. Currently the extalr_clk { bootph-all } DT property to indicate this clock should be available early is set in each SoC U-Boot DT extras file. Deduplicate this assignment to new common r8a779x-rcar64-u-boot.dtsi file. Note that R-Car Gen3 R8A77990 E3 and R8A77995 D3 and RZ R8A774C0 do not require extalr_clk early, therefore these SoCs still include plain r8a779x-u-boot.dtsi in their U-Boot DT extras . Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-01-18arm64: renesas: Rewrite u-boot-elf.srec base address if PIE for R-Car Gen3Marek Vasut
The flash_writer tool and previous recovery tools require the SREC load address to be 0x5000_0000 . The PIE U-Boot build sets the address to 0x0 instead, so override the address back to make u-boot-elf.srec compatible with the recovery tools. Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-01-17efi_loader: Make efi_run_image() staticSimon Glass
This function is not called from outside this file and has no entry in the header file, so mark it static. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2025-01-17efi_loader: Refactor device and image paths into a functionSimon Glass
Move this code into a function so it can be called from elsewhere. Note that the recently added network code uses the same 'global variable' approach. It could use a separate clean-up. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-01-17Makefile: let clean remove capsule_in.capsule*.efi-capsuleHeinrich Schuchardt
Update the CLEAN_FILES list to remove capsule*.*.efi-capsule. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-01-17efi_loader: use include in ARM EFI linker scriptHeinrich Schuchardt
Use the same include as arm64 for the linker script. Adjust the 32-bit ARM PE-COFF header accordingly and harmonize it with the 64-bit ARM header. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-01-17efi_loader: correct SizeOfCode, SizeOfInitializedDataHeinrich Schuchardt
The fields SizeOfCode, SizeOfInitializedData, and SizeOfUninitializedData are define in the PE-COFF specification [1]. * SizeOfCode must match the size of all .text sections. * SizeOfInitializedData must match the size of all .data sections. * SizeOfUninitializedData must match the size of all .bss sections. We only have one .text and one .data section. SizeOfCode and SizeOfInitializedData have to be calculated as the difference between the end and the start of the respective section. As we don't have any .bss sections in the generated EFI binaries. SizeOfUninitializedData must remain 0. [1] https://learn.microsoft.com/en-us/windows/win32/debug/pe-format Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>