summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2024-05-13zfs: recognize zpools formatted with features supportWHR
Currently no features are implemented, only the zpool version 5000 that indicating the features support, is recognized. Since it is possible for OpenZFS to create a pool with features support enabled, but without enabling any actual feature, this change enables U-Boot to read such pools. Signed-off-by: WHR <[email protected]>
2024-05-13Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"Tom Rini
Roger Quadros <[email protected]> says: Sync AM62 device tree files with Linux v6.9 and add in the missing bits in -u-boot.dtsi to get CPSW Ethernet working. CI testing: https://github.com/u-boot/u-boot/pull/534
2024-05-07Merge patch series "arm: Add Analog Devices SC5xx Machine Type"Tom Rini
Greg Malysa <[email protected]> says: This series adds support for the ADI SC5xx machine type and includes two core drivers that are required for being able to boot any board--a UART driver, the gptimer driver which is used as a clock reference (CNTVCNT is not supported on the armv7 sc5xx SoCs) and the clock tree driver. Our corresponding Linux support relies on u-boot configuring the clocks correctly before booting, so it is not possible to boot any board without the CGU/CDU configuration happening here. There are also no board files, device trees, or defconfigs included here, but some common definitions that will be used to build board files currently are. The sc5xx SoCs themselves include many armv7 families (sc57x, sc58x, and sc594) all using an ARM Cortex-A5, and one armv8 family (sc598) indended to be a drop-in replacement for the SC594 in terms of peripherals, with a Cortex-A55 instead. Some of the configuration code in dmcinit and clkinit is quite scary and causes a lot of checkpatch violations. It is modified from code initially provided by ADI, but it has not been fully rewritten. There's a question of how important it is to clean up this code--it has some quality violations, but it has been in use (including in production) for over two years and is known to work for performing the low level SoC initialization, while a rewrite might introduce timing or sequence bugs that could take a significant amount of time to detect in the future.
2024-05-07drivers: clk: adi: Add in SC5XX-family clock driverNathan Barrett-Morrison
This adds support for the SC5XX clock trees which are required for reading clock speeds on the SoCs. This is largely a port of the same support for Linux, which has not yet been submitted upstream. Co-developed-by: Greg Malysa <[email protected]> Signed-off-by: Greg Malysa <[email protected]> Co-developed-by: Ian Roberts <[email protected]> Signed-off-by: Ian Roberts <[email protected]> Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]>
2024-05-07arch: arm: Add Analog Devices SC5xx machine typeNathan Barrett-Morrison
Add support for the SC5xx machine type from Analog Devices. This includes support for the SC57x, SC58x, SC59x, and SC59x-64 SoCs, which have many common features such as common ADI IP blocks, and SHARC DSP cores. This commit introduces core functionality required for all boards using an SC5xx SoC, such as: - SPL configuration - Required CPU hooks such as reset - Boot ROM interaction to load the stage 2 bootloader in the reference configuration. Other options are possible but not officially supported at this time - SoC-common configuration expected to be reused by all boards - Early initialization for system clocks and DDR controller Co-developed-by: Greg Malysa <[email protected]> Signed-off-by: Greg Malysa <[email protected]> Co-developed-by: Ian Roberts <[email protected]> Signed-off-by: Ian Roberts <[email protected]> Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]>
2024-05-07common.h: Remove this file and all referencesTom Rini
With all files that had included this file directly having been updated, we can now remove this file. Signed-off-by: Tom Rini <[email protected]>
2024-05-07api: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from here and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-07xen: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this driver directory and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-07virtio: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this driver directory and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-07include/linux/compat.h: Add <time.h>Tom Rini
As this file has macros which use get_timer() it must include <time.h> to resolve this. Signed-off-by: Tom Rini <[email protected]>
2024-05-07fsl_ifc.h: Add <asm/ppc.h>Tom Rini
In the case of PowerPC, this file needs to include <asm/ppc.h> in order to resolve all of the references it makes. Signed-off-by: Tom Rini <[email protected]>
2024-05-07include: Add missing <linux/types.h>Tom Rini
These files have many "Linux" style types in them, add <linux/types.h> Signed-off-by: Tom Rini <[email protected]>
2024-05-07mmc: Migrate MMC_SUPPORTS_TUNING to KconfigTom Rini
The constraints on the MMC_SUPPORTS_TUNING symbol can easily be expressed in Kconfig (with the addition of SPL_MMC_SUPPORTS_TUNING). Furthermore, in order to remove <common.h> from the MMC subsystem, the way this symbol is used today needs to be changed in order to continue functioning. Reviewed-by: Jaehoon Chung <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-07board: ti: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this board vendor directory and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-07rockchip: rk3588: Remove redundant device tree filesJonas Karlman
Remove redundant device tree files now that RK3588 boards have been migrated to use OF_UPSTREAM. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-05-07rockchip: rk356x: Remove redundant device tree filesJonas Karlman
Remove redundant device tree files now that RK356x boards have been migrated to use OF_UPSTREAM. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-05-07rockchip: rk3399: Remove redundant device tree filesJonas Karlman
Remove redundant device tree files now that RK3399 boards have been migrated to use OF_UPSTREAM. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-05-07rockchip: rk3328: Remove redundant device tree filesJonas Karlman
Remove redundant device tree files now that RK3328 boards have been migrated to use OF_UPSTREAM. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-05-07rockchip: rk3308: Remove redundant device tree filesJonas Karlman
Remove redundant device tree files now that RK3308 boards have been migrated to use OF_UPSTREAM. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-05-07clk: rockchip: rk3399: Rename SCLK_DDRCLK to SCLK_DDRCJonas Karlman
Sync rk3399-cru.h with one from Linux kernel v6.2+ and fix use of the SCLK_DDRCLK name that was only used by U-Boot. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-05-06extension_board.h: Add missing <linux/list.h>Tom Rini
This file has "struct list" in one of the structures, so add <linux/list.h>. Signed-off-by: Tom Rini <[email protected]>
2024-05-06splash.h: Add missing <linux/types.h>Tom Rini
This file has many "Linux" style types in it, add <linux/types.h> Signed-off-by: Tom Rini <[email protected]>
2024-05-06eeprom.h: Add missing <linux/types.h>Tom Rini
This file has many "Linux" style types in it, add <linux/types.h> Signed-off-by: Tom Rini <[email protected]>
2024-05-06global: Make <asm/global_data.h> include <asm/u-boot.h>Tom Rini
This follows the example of RISC-V where <asm/global_data.h> includes <asm/u-boot.h> directly as "gd" includes a reference to bd_info already and so the first must include the second anyhow. We then remove <asm/u-boot.h> from all of the places which include references to "gd" an so have <asm/global_data.h> already. Signed-off-by: Tom Rini <[email protected]>
2024-05-06include: Add missing headers in a few instancesTom Rini
A few headers rely on indirect inclusion of <linux/types.h> or <linux/kernel.h> so add them directly. In the case of <netdev.h> add a "struct bd_info;" as well rather than the large header chain to resolve that. Signed-off-by: Tom Rini <[email protected]>
2024-05-06fs: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all "fs/" files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06env: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all "env/" files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06common: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all "commmon/" files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06cmd: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all "cmd/" files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06test: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all "test/" files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06powerpc: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all powerpc architecture files and when needed add missing include files directly. This typically involves using <asm/u-boot.h> instead due to the difficult nested structure of the PowerPC includes themselves. Signed-off-by: Tom Rini <[email protected]>
2024-05-06x86: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all x86 architecture files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06mpc85xx.h: Use <config.h> directlyTom Rini
To ensure that board config headers which set values here in the CFG_SYS range are used, this header needs to include <config.h> directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06pci.h: Add missing <linux/types.h>Tom Rini
This file has many "Linux" style types in it, add <linux/types.h> Signed-off-by: Tom Rini <[email protected]>
2024-05-06init.h: Add "struct cmd_tbl"Tom Rini
In order to avoid needing to add <command.h> to this file, add "struct cmd_tbl" before the prototype for do_bdinfo(). Signed-off-by: Tom Rini <[email protected]>
2024-05-03configs: arbel: increase u-boot mapping sizeJim Liu
When u-boot enable CONFIG_SYS_BOOT_RAMDISK_HIGH, rootfs image relocated from FIU address space to memory address before jump to kernel. Since Arbel reserved memory from 0x00000000 to 0x06200000 for tip image, and rootfs image may too large that cannot found a suitable location before 128MB(0x8000000), so increase mapping size from 128MB to 192MB. Signed-off-by: Jim Liu <[email protected]>
2024-05-03Arm: npcm: fix npcm7xx boot to kernel errorJim Liu
Add mem and console env information and modify the wrong earlycon env. Signed-off-by: Jim Liu <[email protected]>
2024-05-03event: typo arguemntsHeinrich Schuchardt
%s/arguemnts/arguments/ Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-05-02mmc: sdhci: Correct ADMA_DESC_LEN to 12Alexander Sverdlin
Commit 37cb626da25d0d ("mmc: sdhci: Add Support for ADMA2") introduced ADMA_DESC_LEN == 16 (64 bit case), but it was never used before commit 74755c1fed1b0 ("mmc: sdhci: introduce adma_write_desc() hook to struct sdhci_ops"). "sizeof(struct sdhci_adma_desc)" (== 12 for 64bit case) was used instead. Confusion probably originates from Linux commit 685e444bbaa0 ("mmc: sdhci: Add ADMA2 64-bit addressing support for V4 mode"), but the latter "V4 mode" was never ported to U-Boot. Fixes: 74755c1fed1b0 ("mmc: sdhci: introduce adma_write_desc() hook to struct sdhci_ops") Signed-off-by: Alexander Sverdlin <[email protected]> Tested-by: Jonathan Humphreys <[email protected]> Tested-by: Judith Mendez <[email protected]>
2024-05-01efi_loader: pass GUID by address to efi_dp_from_loHeinrich Schuchardt
We should not pass GUIDs by value as this requires copying. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-05-01efi_selftest: add tests for QueryVariableInfo at runtimeIlias Apalodimas
Since we support QueryVariableInfo at runtime now add the relevant tests. Since we want those to be reusable at bootime, add them in a separate file Add tests for - Test QueryVariableInfo returns EFI_SUCCESS - Test null pointers for the function arguments - Test invalid combination of attributes Signed-off-by: Ilias Apalodimas <[email protected]>
2024-04-29Merge patch series "upstream DT compatibility"Tom Rini
Caleb Connolly <[email protected]> says: This is a subset of [1]. With more platform maintainers switching to OF_UPSTREAM I didn't want to get in the way (it has also proven more difficult than I hoped to remove only the fully compatible header files). This series removes only the dt-bindings headers which contain generic data like GPIO flags, input event codes, etc. It then implements support for building all DTBs for a vendor with OF_UPSTREAM_BUILD_VENDOR. This removes the need to maintain a set list of DTBs that can be built by U-Boot and opens up the possibility of new boards becoming supported "by default" just by landing their DT upstream. [1]: https://lore.kernel.org/u-boot/[email protected]
2024-04-29dt-bindings: drop generic headersCaleb Connolly
Drop all the subsystem headers that are compatible with the headers in dts/upstream. Signed-off-by: Caleb Connolly <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2024-04-29board: toradex: verdin-am62: Remove not needed env variablesFrancesco Dolcini
Remove not needed variables from environment. - boot_scripts is not needed, the default value is just fine and already includes boot.scr - setup variable used to be executed from some bootscript, however it's not required and there is no point on having this small helper here Signed-off-by: Francesco Dolcini <[email protected]>
2024-04-29Merge tag 'u-boot-imx-master-20240429' 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/20563 - Fix missing fdt_fixup on colibri-imx(6ull|imx7). - Enable PCIe and NVMe on DH i.MX8M Plus DHCOM PDK3. - Convert i.MX8M flash.bin image generation to binman - Convert imx93-11x11-evk to OF_UPSTREAM.
2024-04-29power: tps65941: Add macros of TPS65224 PMICBhargav Raviprakash
Re-use the TPS65941 PMIC driver for TPS65224 PMIC. Add additional macros of TPS65224 to aid in the driver re-use. Signed-off-by: Bhargav Raviprakash <[email protected]> Reviewed-by: Dhruva Gole <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2024-04-28dt-bindings: imx93: sync clock headerPeng Fan
Sync clock header with kernel 6.8 Signed-off-by: Peng Fan <[email protected]>
2024-04-28board: toradex: colibri-imx(6ull|imx7): Fix missing fdt_fixup boot errorFrancesco Dolcini
In commit 51aaaf5e7975 ("board: toradex: imx: Remove not needed env variables") the empty definition of fdt_fixup variable was removed, however this was still referenced from the boot command leading to boot failures: ## Error: \"fdt_fixup\" not defined` Fix this by removing "run fdt_fixup" from the boot command and instead enable CONFIG_OF_ENV_SETUP in the defconfig that would achieve the same but in a more robust way (it works fine even if the variable is not defined). Fixes: 51aaaf5e7975 ("board: toradex: imx: Remove not needed env variables") Signed-off-by: Francesco Dolcini <[email protected]>
2024-04-26mmc: Support 32-bit only ADMA on 64-bit platformsGreg Malysa
Some arm64 platforms may include SDIO host controllers that only support 32-bit ADMA. While the Linux kernel detects which size is supported and adjusts the descriptor size used dynamically, the previous u-boot implementation statically selected between the two depending on whether DMA_ADDR_T_64BIT was defined. Because the static selection is already in place and effective for most platforms, this patch logically separates "64 bit addresses are used for DMA on this platform" and "64 bit addresses are used by the SDIO host controller for ADMA" in order to support the small number of platforms where these statements are not equivalent. Using 32 bits is opt-in and existing 64 bit platforms should be unaffected by this change. Co-developed-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]> Co-developed-by: Ian Roberts <[email protected]> Signed-off-by: Ian Roberts <[email protected]> Signed-off-by: Greg Malysa <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2024-04-26mmc: sdhci: Fix potential ADMA descriptor table overflowIan Roberts
Change ADMA_TABLE_NO_ENTRIES to round the division up to fully contain CONFIG_SYS_MMC_MAX_BLK_COUNT, fixing potential buffer overflow of the ADMA descriptor table. sdhci_prepare_adma_table() expecitily states it does _not_ check for overflow as the descriptor table size is dependent on CONFIG_SYS_MMC_MAX_BLK_COUNT. However, the ADMA_TABLE_NO_ENTRIES calculation does not round up the divison, so with the current u-boot defaults: max_mmc_transfer = (CONFIG_SYS_MMC_MAX_BLK_COUNT * MMC_MAX_BLOCK_LEN) = 65535 * 512 = 33553920 bytes. ADMA_TABLE_NO_ENTRIES = max_mmc_transfer / ADMA_MAX_LEN = 33553920 / 65532, which does not divide cleanly. actual_max_transfer = ADMA_TABLE_NO_ENTRIES * ADMA_MAX_LEN = 512 * 65532 = 33552384, which is smaller than max_mmc_transfer. This can cause sdhci_prepare_adma_table() to write one extra descriptor, overflowing the table when a transaction larger than actual_max_transfer is issued. Co-developed-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Greg Malysa <[email protected]> Signed-off-by: Ian Roberts <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>