summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-16dm: core: Correct reference to DM_SPL in SPL_DM_STATSSimon Glass
This does not existing anymore. Update SPL_DM_STATS to use the correct Kconfig option, which is SPL_DM Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-16fs: btrfs: fix reading when length specifiedSam Edwards
The btrfs read function limits the read length to ensure that it and the read offset do not together exceed the size of the file. However, this size was only being queried if the read length was passed a value of zero (meaning "whole file"), and the size is defaulted to 0 otherwise. This means the clamp will just zero out the length if one is specified, preventing reading of the file. Fix this by checking the file size unconditionally, and unifying the default length and clamping logic as a single range check instead. This bug was discovered when trying to boot Linux with initrd= via 'bootefi' from a btrfs partition. The EFI stub entered an infinite loop of zero-length reads while trying to read the initrd, and the boot process stalled indefinitely. Signed-off-by: Sam Edwards <CFSworks@gmail.com> Reviewed-by: Qu Wenruo <wqu@suse.com>
2023-11-16cmd: bcb: extend BCB C API to allow read/write the fieldsDmitrii Merkurev
Currently BCB C API only allows to modify 'command' BCB field. Extend it so that we can also read and modify all the available BCB fields (command, status, recovery, stage). Co-developed-by: Cody Schuffelen <schuffelen@google.com> Signed-off-by: Cody Schuffelen <schuffelen@google.com> Signed-off-by: Dmitrii Merkurev <dimorinny@google.com> Cc: Eugeniu Rosca <erosca@de.adit-jv.com> Cc: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> Cc: Simon Glass <sjg@chromium.org> Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com> Cc: Sean Anderson <sean.anderson@seco.com> Cc: Cody Schuffelen <schuffelen@google.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on vim3 Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-11-16cmd: bcb: support various block device interfaces for BCB commandDmitrii Merkurev
Currently BCB command-line, C APIs and implementation only support MMC interface. Extend it to allow various block device interfaces. Signed-off-by: Dmitrii Merkurev <dimorinny@google.com> Cc: Eugeniu Rosca <erosca@de.adit-jv.com> Cc: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> Cc: Simon Glass <sjg@chromium.org> Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com> Cc: Sean Anderson <sean.anderson@seco.com> Cc: Cody Schuffelen <schuffelen@google.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on vim3 Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-11-16poplar: provide more space for kernel imageIgor Opaniuk
Adjust mem layout, providing more space for linux kernel image. This fixes the problem: ERROR: FDT image overlaps OS image (OS=0x30000000..0x32580000) Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
2023-11-16poplar: use random mac addressIgor Opaniuk
Set CONFIG_NET_RANDOM_ETHADDR=y, which sets random eth address in case there is no configuration provided neither in CONFIG_ETHADDR nor in "ethaddr" env variable. This fixes the problem: poplar# dhcp Error: ethernet@9841000 address not set. Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
2023-11-16treewide: use linux/time.h for time conversion definesIgor Prusov
Now that we have time conversion defines from in time.h there is no need for each driver to define their own version. Signed-off-by: Igor Prusov <ivprusov@salutedevices.com> Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com> # tegra Reviewed-by: Eugen Hristev <eugen.hristev@collabora.com> #at91 Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org> #qcom geni Reviewed-by: Stefan Bosch <stefan_b@posteo.net> #nanopi2 Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2023-11-16spi: meson_spifc_a1: Use define for time intervalIgor Prusov
Use USEC_PER_MSEC define for timeout to sync code with Linux version. Signed-off-by: Igor Prusov <ivprusov@salutedevices.com>
2023-11-16linux/time.h: Add Linux time conversion definesIgor Prusov
Currently there are no defines for time conversion in time.h, which leads to drivers declaring those locally or not using defines at all, so add them from Linux. Signed-off-by: Igor Prusov <ivprusov@salutedevices.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-16fs: ext4: Remove unused parameter from ext4_mountSean Anderson
The part_length parameter is not used. Remove it. Signed-off-by: Sean Anderson <seanga2@gmail.com>
2023-11-16sysreset: Fix unsupported request return valuesPaul Barker
The description of the sysreset request method in <sysreset.h> says that the return value should be -EPROTONOSUPPORT if the requested reset type is not supported by this device. Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-16board: cssi: Remove usage of common.hChristophe Leroy
Remove inclusion of common.h and add relevant includes when necessary. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2023-11-16powerpc: mpc8xx: Remove usage of common.hChristophe Leroy
Remove inclusion of common.h and add relevant includes when necessary. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2023-11-16fs/squashfs: enable LZ4 compression supportDavid Oberhollenzer
The structure is identical to the existing compressor implementations, trivially adding lz4 decompression to sqfs_decompress. The changes were tested using a sandbox build. An LZ4 compressed squashfs image was bound as a host block device. Signed-off-by: David Oberhollenzer <goliath@infraroot.at> Reviewed-by: Joao Marcos Costa <jmcosta944@gmail.com>
2023-11-16fs/squashfs: remove unused declarationsDavid Oberhollenzer
This patch removes a number of struct and macro declaration that were found through `git-grep` to be unused. Most of those are related to compressor options and super block flags. For reading a SquashFS image, we do not need the compressor options or the flags. Those only encode settings used for packing the image, mksquashfs uses them when appending data to an existing image. The kernel implementation does not touch those, and we don't need them either. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2023-11-16test: eth: Don't crash if env_get returns NULLSean Anderson
env_get can return NULL if it fails to find the variable. Check its result before using it. Fixes: 6d9764c2a87 ("dm: test: Add a new test case against dm eth codes for NULL pointer access") Fixes: df33fd28897 ("test: eth: Add test for ethernet addresses") Signed-off-by: Sean Anderson <seanga2@gmail.com>
2023-11-16bootm: Enable legacy VxWorks booting from FITsSean Anderson
This works without issue, so don't fail. Signed-off-by: Sean Anderson <sean.anderson@seco.com>
2023-11-13Merge tag 'u-boot-stm32-20231113' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm into next Introduce STM32MP2 SoCs family support Add STM32MP257F-EV1 board [trini: Adjust some includes] Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-13stm32mp2: initial supportPatrice Chotard
Add initial support for STM32MP2 SoCs family. SoCs information are available here : https://www.st.com/content/st_com/en/campaigns/microprocessor-stm32mp2.html Migrate all MP1 related code into stm32mp1/ directory Create stm32mp2 directory dedicated for STM32MP2 SoCs. Common code to MP1, MP13 and MP25 is kept into arch/arm/mach-stm32/mach-stm32mp directory : - boot_params.c - bsec - cmd_stm32key - cmd_stm32prog - dram_init.c - syscon.c - ecdsa_romapi.c For STM32MP2, it also : - adds memory region description needed for ARMv8 MMU. - enables early data cache before relocation. During the transition before/after relocation, the MMU, initially setup at the beginning of DDR, must be setup again at a correct address after relocation. This is done in enables_caches() by disabling cache, force arch.tlb_fillptr to NULL which will force the MMU to be setup again but with a new value for gd->arch.tlb_addr. gd->arch.tlb_addr has been updated after relocation in arm_reserve_mmu(). Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-13ARM: dts: stm32: Add STM32MP257F Evaluation board supportPatrice Chotard
Add STM32MP257F Evaluation board support. It embeds a STM32MP257FAI SoC, with 4GB of DDR4, TSN switch (2+1 ports), 2*USB typeA, 1*USB2 typeC, SNOR OctoSPI, mini PCIe, STPMIC2 for power distribution ... Sync device tree with kernel v6.6-rc1. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-13pinctrl: pinctrl_stm32: Add stm32mp2 supportPatrice Chotard
Add stm32mp2 compatible. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-13serial: stm32: Fix AARCH64 compilation warningsPatrice Chotard
When building with AARCH64 defconfig, we got warnings, fix them by using registers base address defined as void __iomem * instead of fdt_addr_t. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-13stm32mp: bsec: Fix AARCH64 compilation warningsPatrice Chotard
When building with AARCH64 defconfig, we got warnings, fix them. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-13stm32mp: dram_init: Limit DDR usage under 4GB boundary for STM32MPPatrice Chotard
Limit DDR usage under 4GB boundary on STM32MP regardless of memory size declared in device tree. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-13stm32mp: dram_init: Fix AARCH64 compilation warningsPatrick Delaunay
When building with AARCH64 defconfig, we got warnings for debug message - format '%x' expects argument of type 'unsigned int', but argument 3 has type 'size_t' {aka 'long unsigned int'}). - format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'phys_addr_t' {aka 'long long unsigned int'} Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-13stm32mp: dram_init: Get RAM size from DT if no RAM driver foundPatrice Chotard
In case there is no RAM driver retrieve RAM size from DT as fallback. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-13arm: caches: Make DCACHE_DEFAULT_OPTION accessible for ARM64 archPatrice Chotard
This fixes the following compilation error in ARM64: arch/arm/mach-stm32mp/dram_init.c: In function ‘board_get_usable_ram_top’: arch/arm/mach-stm32mp/dram_init.c:59:45: error: ‘DCACHE_DEFAULT_OPTION’ undeclared (first use in this function) 59 | mmu_set_region_dcache_behaviour(reg, size, DCACHE_DEFAULT_OPTION); | ^~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-11-10Merge branch '2023-11-10-improve-semihosting-armv6' into nextTom Rini
To quote the author: This series has a few fixes for semihosting on ARMv6 and older CPUs. The first two patches address problems regarding the stack pointer and link register. U-Boot runs in supervisor mode, so taking a software interrupt will clobber sp/lr. I think we really should run in system mode, since it has separate sp/lr registers. To quote ARM DDI 0100I: > The remaining mode is System mode, which is not entered by any > exception and has exactly the same registers available as User mode. > However, it is a privileged mode and is therefore not subject to the > User mode restrictions. It is intended for use by operating system > tasks that need access to system resources, but wish to avoid using > the additional registers associated with the exception modes. Avoiding > such use ensures that the task state is not corrupted by the > occurrence of any exception. However, the processor mode has been supervisor for such a long time (since relocation got introduced) that I would rather not touch it.
2023-11-10arm: semihosting: Support semihosting fallback on 32-bit ARMSean Anderson
Add support for a semihosting fallback on 32-bit ARM. The assembly is lightly adapted from the irq return code, except there is no offset since lr already points to the correct instruction. The C side is mostly like ARM64, except we have fewer cases to deal with. Signed-off-by: Sean Anderson <sean.anderson@seco.com>
2023-11-10arm: semihosting: Fix returning from traps on ARMv6 and lowerSean Anderson
U-Boot runs in supervisor mode. On ARMv6 and lower, software interrupts are taken in supervisor mode. When entering an interrupt, the link register is set to the address of the next instruction. However, if we are already in supervisor mode, this clobbers the link register. The debugger can't help us, since by the time it notices we've taken a software interrupt, the link register is already gone. Work around this by moving the return address to another register. Signed-off-by: Sean Anderson <sean.anderson@seco.com>
2023-11-10arm: Fix software interrupt handlerSean Anderson
When we take a software interrupt, we are already in supervisor mode. get_bad_stack assumes we are not in supervisor mode so it can clobber the stack pointer. This causes us to have an invalid stack once that macro finishes. Revert back to the get_bad_stack_swi macro which was previously removed. Fixes: 41623c91b09 ("arm: move exception handling out of start.S files") Signed-off-by: Sean Anderson <sean.anderson@seco.com>
2023-11-07scsi: Forceably finish migration to DM_SCSITom Rini
The migration deadline for moving to DM_SCSI was v2023.04. A further reminder was sent out in August 2023 to the remaining platforms that had not migrated already, and that a few more over the line (or configs deleted). With this commit we: - Rename CONFIG_DM_SCSI to CONFIG_SCSI. - Remove all of the non-DM SCSI code. This includes removing other legacy symbols and code and removes some legacy non-DM AHCI code. - Some platforms that had previously been DM_SCSI=y && SCSI=n are now fully migrated to DM_SCSI as a few corner cases in the code assumed DM_SCSI=y meant SCSI=y. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07Merge branch '2023-11-07-assorted-big-cleanups' into nextTom Rini
- Merge in changes such that CONFIG_CMDLINE can be disabled and merge in a series that starts to remove <common.h> usage.
2023-11-07x86: Drop <common.h> from remaining header filesTom Rini
None of these header files need to include <common.h> so we can just drop that entirely. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07arm: Drop <common.h> from remaining header filesTom Rini
None of these header files need to include <common.h> so we can just drop that entirely. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07sandbox: Drop <common.h>Tom Rini
None of these headers need <common.h> to be included, drop it. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07ti: k3: Drop <common.h> usageTom Rini
None of these files need <common.h> to be included, drop it. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07include: Drop <common.h> from include listsTom Rini
At this point, we don't need to have <common.h> be included because of properties in the header itself, it only includes other common header files. We've also audited the code enough at this point that we can drop <common.h> from being included in headers and rely on code to have the correct inclusions themselves, or at least <common.h>. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07include/linux/mii.h: Add <linux/types.h>Tom Rini
As this file uses u8/u16 we need to bring in <linux/types.h> here. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07fsl-mc: Add prototype for bd_infoTom Rini
As the functions fsl_mc_ldpaa_init/fsl_mc_ldpaa_exit take a bd_info as an argument, add a struct bd_info to this header file rather than add <asm/u-boot.h> to the overall chain. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07ls2080aqds: Add missing headers to eth_ls1088aqds.cTom Rini
As we call sprintf in this file we need to include vsprintf.h in order to get the function prototype and we need linux/string.h for strcmp. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07ls1088a: Add missing headers to eth_ls1088aqds.cTom Rini
As we call sprintf in this file we need to include vsprintf.h in order to get the function prototype and we need linux/string.h for strcmp. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07pg-wcom-ls102xa: Include <config.h> in the board fileTom Rini
Given that this file references CFG_* defines, we need to be explicit in our inclusion of config.h, so that these will be defined. Reviewed-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitacienergy.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07powerpc: Rework <asm/fsl_lbc.h> includesTom Rini
This file should not include <config.h> nor should it include <common.h> so remove both. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07qe: Add <asm/ppc.h> on PowerPCTom Rini
This driver needs <asm/ppc.h> when building on PowerPC, add it. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07mpc85xx: Add missing include in mpc85xx_sleep.cTom Rini
This file needs the include file that provides the prototypes for flush_dcache() and others. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07powerpc: mpc83xx: Rework includes slightlyTom Rini
In order to not rely on common.h providing a number of common includes, cleanup what we include directly in order to be able to drop common.h later. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07spi: Add <errno.h> to spi-mem-nodm.cTom Rini
This file uses errno return values in functions, so include <errno.h> here rather than rely on indirect inclusion. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07omap3: Add <asm/arch/omap3.h> to <asm/arch/cpu.h>Tom Rini
The include <asm/arch/cpu.h> references values in <asm/arch/omap3.h> and so include it directly here rather than rely on indirect inclusion. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-11-07fsl_qe: Drop common.hTom Rini
In both include/fsl_qe.h and then also remove common.h from the files which had included fsl_qe.h Signed-off-by: Tom Rini <trini@konsulko.com>