summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2021-09-08common/spl: Drop [ST]PL_HASH_SUPPORT in favor of [ST]PL_HASHAlexandru Gagniuc
All of these configs exist. Stick to using CONFIG_[ST]PL_HASH, and drop all references to CONFIG_[ST]PL_HASH_SUPPORT. This means we need for CHAIN_OF_TRUST to select SPL_HASH now. Signed-off-by: Alexandru Gagniuc <[email protected]> [trini: Add TPL case, fix CHAIN_OF_TRUST, other tweaks] Signed-off-by: Tom Rini <[email protected]>
2021-09-08common: Remove unused CONFIG_FIT_SHAxxx selectorsAlexandru Gagniuc
Originally CONFIG_FIT_SHAxxx enabled specific SHA algos for and only for hash_calculate() in common/image-fit.c. However, since commit 14f061dcb1 ("image: Drop IMAGE_ENABLE_SHAxxx"), the correct selector was changed to CONFIG_SHAxxx. The extra "_FIT_" variants are neither used, nor needed. Remove them. One defconfig disables FIT_SHA256, which is now changed to 'SHA256'. CMD_MVEBU_BUBT needs to select select SHA256 to avoid undefined references to "sha256_*()". bubt.c needs sha256, so this selection is correct. It is not clear why this problem did not manifest before. Note that SHA selection in SPL is broken for this exact reason. There is no corresponding SPL_SHAxxx. Fixing this is is beyond the scope of this change. Also note that we make CONFIG_FIT now imply SHA256, to make up for FIT_SHA256 previously being a default y option. Signed-off-by: Alexandru Gagniuc <[email protected]> [trini: Add imply SHA256 to FIT] Signed-off-by: Tom Rini <[email protected]>
2021-09-07arm: Finish migration of CONFIG_MACH_TYPETom Rini
As this is only useful when booting with ATAGs, which are now largely disabled, remove this value for the remaining platforms. We have a few places in the code that had been testing for MACH_TYPE as a sort of internal logic. Update those to use different but still correct CONFIG symbols. Cc: Phil Sutter <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-09-07arm: Add Kconfig entry for MACH_TYPETom Rini
As part of migrating support for ATAGs to Kconfig, add an option for setting and passing MACH_TYPE. Signed-off-by: Tom Rini <[email protected]>
2021-09-07arm: Disable ATAGs supportTom Rini
With the exceptions of ds109, ds414, icnova-a20-swac, nokia_rx51 and stemmy, disable ATAG support. A large number of platforms had enabled support but never supported a kernel so old as to require it. Further, some platforms are old enough to support both, but are well supported by devicetree booting, and have been for a number of years. This is because some of the ATAGs related functions have been re-used to provide the same kind of information, but for devicetree or just generally to inform the user. When needed still, rename these functions to get_board_revision() instead, to avoid conflicts. In other cases, these functions were simply unused, so drop them. Cc: Andre Przywara <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Phil Sutter <[email protected]> Cc: Stefan Bosch <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-09-07imx: Convert SERIAL_TAG support to ENV_VARS_UBOOT_RUNTIME_CONFIGTom Rini
No iMX platforms have supported ATAG-based booting. They have however re-used the CONFIG_SERIAL_TAG option as a way to enable support of reading the OTP fuses and setting the serial# environment variable in some cases. Change the warp7 support to use this symbol, use this for updating the rest of the imx7 code, and update the imx8 conditionals. Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: NXP i.MX U-Boot Team <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-09-07Convert CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG to KconfigTom Rini
This converts the following to Kconfig: CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG Signed-off-by: Tom Rini <[email protected]>
2021-09-07riscv: enable booting HiFive Unmatched from SATAHeinrich Schuchardt
On the HiFive Unmatched a PCI to SATA adapter may be used to install a SATA drive. Enable booting from it. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Mark Kettenis <[email protected]>
2021-09-04net: Move network rules to drivers/netSimon Glass
The code under drivers/net is related to ethernet networking drivers, in some fashion or another. Drop these from the top-level Makefile and also move the phy rule into drivers/net/Makefile which is where it belongs. Make the new rule for drivers/net check for the build-stage relevant ETH symbol. Fix up some Kconfig dependencies while we're here to mirror how the Makefile logic now works. Signed-off-by: Simon Glass <[email protected]> [trini: Introduce ETH, Kconfig dependency changes, am43xx fix] Signed-off-by: Tom Rini <[email protected]>
2021-09-04i2c: Convert CONFIG_POWER_I2C et al to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_POWER_I2C CONFIG_POWER_LEGACY They are handled at the same time due to a dependency between them. Update the Makefile rule to use legacy power only in U-Boot proper. Unfortunately a separate rule is needed in SPL to be able to build legacy power. Add SPL related symbols for both, to allow for SPL-only usage. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> [trini: More SPL related cleanups, reword commit message] Signed-off-by: Tom Rini <[email protected]>
2021-09-04power: Rename CONFIG_POWER to CONFIG_POWER_LEGACYSimon Glass
This option is used in pre-driver model code and much of it has never been converted to driver model. We want to add a new option to enable power support, so we can use a simple rule in the Makefile. Rename this one, which is really about a particular implementation of power. Also update the pmic.h header file so it either includes the legacy API or the driver model one. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-09-04power: Tidy up #undef of CONFIG_DM_PMICSimon Glass
Add a proper Kconfig option for SPL so we can remove the hack in some of the board config files. This involves adding CONFIG_SPL_DM_PMIC to some of the configs as well as updateing the Makefile rule for PMIC_RK8XX to exclude SPL. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> [trini: Add SPL_PMIC_RK8XX, enable when needed, handle undef of CONFIG_DM_PMIC_PFUZE100 as well] Signed-off-by: Tom Rini <[email protected]>
2021-09-04Convert CONFIG_DMA_LPC32XX to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_DMA_LPC32XX Signed-off-by: Simon Glass <[email protected]>
2021-09-04ti: Convert CONFIG_TI_EDMA3 to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_TI_EDMA3 Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]>
2021-09-04sata: Rename SATA_SUPPORT to SATASimon Glass
Rename this options so that CONFIG_IS_ENABLED can be used with it. Signed-off-by: Simon Glass <[email protected]>
2021-09-04serial: Rename SERIAL_SUPPORT to SERIALSimon Glass
Rename these options so that CONFIG_IS_ENABLED can be used with them. Signed-off-by: Simon Glass <[email protected]>
2021-09-04mmc: Rename MMC_SUPPORT to MMCSimon Glass
Rename these options so that CONFIG_IS_ENABLED can be used with them. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> [trini: Fixup some incorrect renames] Signed-off-by: Tom Rini <[email protected]>
2021-09-04efi_loader: fix efi_tcg2_hash_log_extend_event() parameter checkMasahisa Kojima
TCG EFI Protocol Specification defines that PCRIndex parameter passed from caller must be 0 to 23. TPM2_MAX_PCRS is currently used to check the range of PCRIndex, but TPM2_MAX_PCRS is tpm2 device dependent and may have larger value. This commit newly adds EFI_TCG2_MAX_PCR_INDEX macro, it is used to check the range of PCRIndex parameter. Signed-off-by: Masahisa Kojima <[email protected]> Acked-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2021-09-04efi_loader: fix boot_service_capability_min calculationMasahisa Kojima
TCG EFI Protocol Specification requires to the input ProtocolCapability.Size < size of the EFI_TCG2_BOOT_SERVICE_CAPABILITY up to and including the vendor ID field. Current implementation does different calculation, let's fix it. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2021-09-04efi_loader: efi_auth_var_type for AuditMode, DeployedModeHeinrich Schuchardt
Writing variables AuditMode and DeployedMode serves to switch between Secure Boot modes. Provide a separate value for these in efi_auth_var_type. With this patch the variables will not be read from from file even if they are marked as non-volatile by mistake. Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-09-04efi_loader: don't load signature database from fileHeinrich Schuchardt
The UEFI specification requires that the signature database may only be stored in tamper-resistant storage. So these variable may not be read from an unsigned file. Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-09-03Revert most of the series for adding vexpress_aemv8r supportTom Rini
Per a request from Andre Przywara and agreed with by Peter Hoyes, the vexpress aemv8r support wasn't quite ready to be merged, but the discussion had moved off list. We should keep the first patch in the series for now, but revert the rest. This reverts the following commits: e0bd6f31ce41 doc: Add documentation for the Arm vexpress board configs 30e5a449e8c7 arm: Use armv8_switch_to_el1 env to switch to EL1 b53bbca63bf4 vexpress64: Add BASER_FVP vexpress board variant 2f5b7b74903f armv8: Add ARMv8 MPU configuration logic 37a757e227cc armv8: Ensure EL1&0 VMSA is enabled Signed-off-by: Tom Rini <[email protected]>
2021-09-02vexpress64: Add BASER_FVP vexpress board variantPeter Hoyes
The BASER_FVP board variant is implemented on top of the BASE_FVP board config (which, in turn, is based on the Juno Versatile Express board config). They all share a similar memory map - for BASER_FVP the map is inverted from the BASE_FVP (https://developer.arm.com/documentation/100964/1114/Base-Platform/Base---memory/BaseR-Platform-memory-map) * Create new TARGET_VEXPRESS64_BASER_FVP target, which uses the same board config as BASE_FVP and JUNO * Adapt vexpress_aemv8a.h header file to support BASER_FVP (and rename to vexpress_aemv8.h) * Enable config to switch to EL1 for the BASER_FVP * Create vexpress_aemv8r defconfig * Provide an MPU memory map for the BASER_FVP For now, only single core boot is supported. Signed-off-by: Peter Hoyes <[email protected]> [trini: Add MAINTAINERS, move BOOTCOMMAND to defconfig] Signed-off-by: Tom Rini <[email protected]>
2021-09-01board: stemmy: Add basic Fastboot supportStephan Gerhold
Make use of the new drivers for ARM U8500 introduced in the U-Boot 2021.10 merge window by adding basic support for USB Fastboot with the "stemmy" board. As a first step this will always boot directly into USB Fastboot for now with the console displayed on the screen to make that obvious. Samsung uses quite strange GPT partition labels on these boards, so also add a bunch of fastboot_partition_alias_* to make this more easy to use. Signed-off-by: Stephan Gerhold <[email protected]>
2021-09-01dm: hash: Add new UCLASS_HASH supportChia-Wei Wang
Add UCLASS_HASH for hash driver development. Thus the hash drivers (SW or HW-accelerated) can be developed in the DM-based fashion. Signed-off-by: Chia-Wei Wang <[email protected]>
2021-09-01lib/md5: Export progressive APIsChia-Wei Wang
Export the MD5 hash init/update/finish progressive APIs for better flexibility. Signed-off-by: Chia-Wei Wang <[email protected]>
2021-09-01arm: mvebu: a38x: Define supported UART baudratesPali Rohár
Define all standard baudrates plus 3 non-standard high speed: 3125000 4000000 5150000 3125000 matches divisor 5 with 250 MHz TCLK and divisor 4 with 200 MHz TCLK. 4000000 is the rounded value for divisor 4 with 250 MHz TCLK (3906250) and divisor 3 with 200 MHz TCLK (4166666). 5150000 is the rounded value (5208333) for divisor 3 with 250 MHz TCLK. Testing showed that rounded value is more stable then exactly calculated. And it is the highest possible baudrate which is stable on A38x platform. Any other baudrate values above 2500000 are unstable, which is reason why e.g. standard value 3000000 is not defined, and it is needed to use non-standard value 3125000. Tested all defined UART baudrates on Turris Omnia (A38x with 250 MHz TCLK). Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-08-31Merge branch 'next' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-marvell into next - Handling all DM watchdogs in watchdog_reset() (Rasmus)
2021-08-31Convert CONFIG_SYS_MALLOC_LEN to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_MALLOC_LEN Signed-off-by: Tom Rini <[email protected]> Acked-by: Sean Anderson <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-08-31Convert CONFIG_SKIP_LOWLEVEL_INIT et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SKIP_LOWLEVEL_INIT CONFIG_SKIP_LOWLEVEL_INIT_ONLY In order to do this, we need to introduce SPL and TPL variants of these options so that we can clearly disable these options only in SPL in some cases, and both instances in other cases. Signed-off-by: Tom Rini <[email protected]>
2021-08-31Finish converting CONFIG_SYS_CACHELINE_SIZE to KconfigTom Rini
We move the SYS_CACHE_SHIFT_N options from arch/arm/Kconfig to arch/Kconfig, and introduce SYS_CACHE_SHIFT_4 to provide a size of 16. Introduce select statements for other architectures based on current usage. For MIPS, we take the existing arch-specific symbol and migrate to the generic symbol. This lets us remove a little bit of otherwise unused code. Cc: Alexey Brodkin <[email protected]> Cc: Anup Patel <[email protected]> Cc: Atish Patra <[email protected]> Cc: Bin Meng <[email protected]> Cc: Leo <[email protected]> Cc: Palmer Dabbelt <[email protected]> Cc: Paul Walmsley <[email protected]> Cc: Sean Anderson <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Sean Anderson <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-08-31Convert CONFIG_RAMBOOT_PBL et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_RAMBOOT_PBL CONFIG_SYS_FSL_PBL_PBI CONFIG_SYS_FSL_PBL_RCW Signed-off-by: Tom Rini <[email protected]>
2021-08-31nitrogen6x: Populate FDTFILE at build-time for all platformsTom Rini
Rather than using CONFIG_SABRELITE to set FDTFILE for only that platform, switch to always setting this based on CONFIG_DEFAULT_DEVICE_TREE as this should always match the kernel device tree name anyhow. Signed-off-by: Tom Rini <[email protected]> Acked-by: Troy Kisky <[email protected]>
2021-08-31Convert CONFIG_SYS_LOAD_ADDR to KconfigTom Rini
Now that we have consistent usage, migrate this symbol to Kconfig. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-08-31global: Convert CONFIG_LOADADDR to CONFIG_SYS_LOADADDRTom Rini
- In most of the codebase, we reference CONFIG_SYS_LOAD_ADDR and not CONFIG_LOADADDR. - Generally, CONFIG_SYS_LOADADDR is set to CONFIG_LOADADDR and then as noted, we use CONFIG_SYS_LOADADDR. Signed-off-by: Tom Rini <[email protected]>
2021-08-31Convert CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT Signed-off-by: Tom Rini <[email protected]>
2021-08-31nxp: Migrate a number of DDR related symbols to KconfigTom Rini
- Guard most of the options in drivers/ddr/fsl/Kconfig with SYS_FSL_DDR || SYS_FSL_MMDC. - Migrate FSL_DMA, DDR_ECC, DDR_ECC_CMD, and ECC_INIT_VIA_DDRCONTROLLER to Kconfig. - Clean up the logic for including the DDR_ECC_CMD code. Signed-off-by: Tom Rini <[email protected]>
2021-08-31nxp: Migrate CONFIG_DDR_CLK_FREQ to KconfigTom Rini
As this symbol can either be a fixed value or the function get_board_ddr_clk, migration is tricky. Introduce a choice of DYNAMIC or STATIC_DDR_CLK_FREQ. If DYNAMIC, we continue to use the board defined get_board_ddr_clk function. If STATIC, set CONFIG_DDR_CLK_FREQ to that value and now include/clock_legacy.h contains the function prototype or defines get_board_ddr_clk() to that static value. Update callers to test for DYNAMIC or STATIC. Signed-off-by: Tom Rini <[email protected]>
2021-08-31mvebu: ddr: Rename CONFIG_DDR_FIXED_SIZE to CONFIG_SYS_SDRAM_SIZETom Rini
We have a number of CONFIG symbols to express the fixed size of system memory. For now, rename CONFIG_DDR_FIXED_SIZE to CONFIG_SYS_SDRAM_SIZE and adjust usage to match that CONFIG_SYS_SDRAM_SIZE expects the entire size rather than MiB. Cc: Marek Behún <[email protected]> Cc: Stefan Roese <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Marek Behún <[email protected]>
2021-08-31mvebu: Migrate CONFIG_DDR_32BIT/64BIT to KconfigTom Rini
Move CONFIG_DDR_32BIT/64BIT to Kconfig as a choice for Armada XP platforms. Make 64bit the default as this mirrors the current code. Signed-off-by: Tom Rini <[email protected]> Acked-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-08-31watchdog: wdt-uclass.c: handle all DM watchdogs in watchdog_reset()Rasmus Villemoes
A board can have and make use of more than one watchdog device, say one built into the SOC and an external gpio-petted one. Having wdt-uclass only handle the first is both a little arbitrary and unexpected. So change initr_watchdog() so we visit (probe) all DM watchdog devices, and call the init_watchdog_dev helper for each. Similarly let watchdog_reset() loop over the whole uclass - each having their own ratelimiting metadata, and a separate "is this device running" flag. This gets rid of the watchdog_dev member of struct global_data. We do, however, still need the GD_FLG_WDT_READY set in initr_watchdog(). This is because watchdog_reset() can get called before DM is ready, and I don't think we can call uclass_get() that early. The current code just returns 0 if "getting" the first device fails - that can of course happen because there are no devices, but it could also happen if its ->probe call failed. In keeping with that, continue with the handling of the remaining devices even if one fails to probe. This is also why we cannot use uclass_probe_all(). If desired, it's possible to later add a per-device "u-boot,autostart" boolean property, so that one can do CONFIG_WATCHDOG_AUTOSTART per-device. Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2021-08-31watchdog: wdt-uclass.c: add wdt_stop_all() helperRasmus Villemoes
Since the watchdog_dev member of struct global_data is going away in favor of the wdt-uclass handling all watchdog devices, prepare for that by adding a helper to call wdt_stop() on all known devices. If an error is encountered, still do wdt_stop() on remaining devices, but remember and return the first error seen. Initially, this will only be used in one single place (board/alliedtelesis/x530/x530.c). Signed-off-by: Rasmus Villemoes <[email protected]>
2021-08-30global: Remove unused or unnecessary CONFIG symbols related to DDRTom Rini
These symbols are now either unused or were only used within the config file to determine other logic, which could be done in a way that doesn't further pollute the CONFIG namespace. Signed-off-by: Tom Rini <[email protected]>
2021-08-30astro_mcf5373l: Rework ASTRO_ID logicTom Rini
Rather than using CONFIG namespace for logic internal to include/configs/astro_mcf5373l.h to select ASTRO_ID (and populate the default environment), strip CONFIG from the various options used and set. Signed-off-by: Tom Rini <[email protected]>
2021-08-30mpc83xx: Update commentTom Rini
Update the comment here to refer to PCI_CONFIG_ADDRESS rather than CONFIG_ADDRESS. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2021-08-30video: Remove ati_radeon_fbTom Rini
This driver is currently unused. Remove. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2021-08-30global: Remove dead code that starts with CONFIG_[0-9A]Tom Rini
This removes a number of spots of dead code based on symbols that start with CONFIG_[0-9] or CONFIG_A. Signed-off-by: Tom Rini <[email protected]>
2021-08-30i8042: Do not abuse CONFIG namespaceTom Rini
This driver uses the CONFIG namespace to set the chips internal CONFIG namespace related bits. However, CONFIG is reserved for the top-level Kconfig based configuration system. Use CFG as the namespace here instead to avoid pollution. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2021-08-30ppc: Rework some hard-coded BOOTCOMMANDSTom Rini
There are an assortment of hard-coded CONFIG_BOOTCOMMAND options in some board headers. Rework these so that they do not add to the CONFIG namespace. Signed-off-by: Tom Rini <[email protected]>
2021-08-30arm: Migrate GICV2 / GICV3 to KconfigTom Rini
Migrate CONFIG_GICV2 and CONFIG_GICV3 to Kconfig. We still have the GIC related registers that need to be handled more cleanly but start by moving this symbol to Kconfig. Signed-off-by: Tom Rini <[email protected]>