summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2022-01-13bloblist: Relicense to allow BSD-3-ClauseSimon Glass
This implementation is intended to be copied to other projects and modified, to as to foster a standard means of communcating runtime information between firmware projects. The GPL-2 license is too restrictive for some projects, e.g. those intended as reference implementations rather than designed for collaborative open-source development. Update the license to make this easier to share. Signed-off-by: Simon Glass <[email protected]>
2022-01-13bloblist: doc: Bring in the API documentationSimon Glass
FIx up various minor errors and add the API documentation to the bloblist docs, since it is quite useful to see it in the same place. Signed-off-by: Simon Glass <[email protected]>
2022-01-13bloblist: Add functions to obtain base address and sizeSimon Glass
Add a few convenience functions to obtain useful information about the bloblist. Signed-off-by: Simon Glass <[email protected]>
2022-01-13bloblist: Refactor Kconfig to support alloc or fixedSimon Glass
At present we do support allocating the bloblist but the Kconfig is a bit strange, since we still have to specify an address in that case. Partly this is because it is a pain to have CONFIG options that disappears when its dependency is enabled. It means that we must have #ifdefs in the code, either in the C code or header file. Make use of IF_ENABLED_INT() and its friend to solve that problem, so we can separate out the location of bloblist into a choice. Put the address and size into variables so we can log the result. Add the options for SPL as well, so we can use CONFIG_IS_ENABLED(). Signed-off-by: Simon Glass <[email protected]>
2022-01-13bloblist: Use explicit numbering for the tagsSimon Glass
At present if someone adds a tag in the middle of the list it works well enough within a U-Boot build. But if these tags are used in another project, or with an older version of SPL, the numbers make become inconsistent. Use explicit tag numbers that never change, to resolve this problem. Allocate areas for existing U-Boot tags and set up an area for use by projects and vendors, as well as for private use. Keep tags above 0x10000 unallocated for now. Update bloblist_tag_name() and the tests to work with this new setup. Signed-off-by: Simon Glass <[email protected]>
2022-01-13bloblist: Drop unused tagsSimon Glass
The EC event log tag is no-longer used. The vboot handoff is now handled by the vboot context instead. Drop these unused tags. Signed-off-by: Simon Glass <[email protected]>
2022-01-13bloblist: Rename the SPL tagSimon Glass
Add a U_BOOT prefix to this tag since it is specific to the U-Boot project. Signed-off-by: Simon Glass <[email protected]>
2022-01-13bloblist: Put the magic number firstSimon Glass
It seems best to put the magic number right at the start of the bloblist header, so it is easier to check. This is how devicetree works. Make this change now, before other projects make use of bloblist. Other changes may be needed / discussed, but that is TBD. Add a checker function as well. Signed-off-by: Simon Glass <[email protected]>
2022-01-13fdt: Drop SPL_BUILD macroSimon Glass
This old macro is not needed anymore since we can use IS_ENABLED() now. Drop it. Signed-off-by: Simon Glass <[email protected]>
2022-01-13stddef: Avoid warning with clang with offsetof()Simon Glass
Some bright sparks have decided that a cast on a constant cannot be a constant, so offsetof() produces this warning on clang-10: include/intel_gnvs.h:113:1: error: static_assert expression is not an integral constant expression check_member(acpi_global_nvs, unused2, GNVS_CHROMEOS_ACPI_OFFSET); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:284:2: note: expanded from macro 'check_member' offsetof(struct structure, member) == (offset), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/stddef.h:20:32: note: expanded from macro 'offsetof' ^ include/intel_gnvs.h:113:1: note: cast that performs the conversions of a reinterpret_cast is ot allowed in a constant expression include/linux/stddef.h:20:33: note: expanded from macro 'offsetof' Fix it by using the compiler built-in version, if available. This syncs the function to the same implementation as Linux v5.16 in this header file. Signed-off-by: Simon Glass <[email protected]>
2022-01-13sandbox: compatibility of os_get_filesize()Heinrich Schuchardt
U-Boot define loff_t as long long. But the header /usr/include/linux/types.h may not define it. This has lead to a build error on Alpine Linux. So let's use long long instead of loff_t for the size parameter of function os_get_filesize(). Reported-by: Milan P. Stanić <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Tested-by: Milan P. Stanić <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-01-12pci: msc01: Use PCI_CONF1_ADDRESS() macroPali Rohár
PCI msc01 driver uses standard format of Config Address for PCI Configuration Mechanism #1 but with cleared Enable bit. So use new U-Boot macro PCI_CONF1_ADDRESS() with clearing PCI_CONF1_ENABLE bit and remove old custom driver address macros. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-01-12pci: gt64120: Use PCI_CONF1_ADDRESS() macroPali Rohár
PCI gt64120 driver uses standard format of Config Address for PCI Configuration Mechanism #1. So use new U-Boot macro PCI_CONF1_ADDRESS() and remove old custom driver address macros. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-01-12pci: Add standard PCI Config Address macrosPali Rohár
Lot of PCI and PCIe controllers are using standard Config Address for PCI Configuration Mechanism #1 or its extended version. So add PCI_CONF1_ADDRESS() and PCI_CONF1_EXT_ADDRESS() macros into U-Boot's pci.h header file which can be suitable for most PCI and PCIe controller drivers. Drivers do not have to invent their own macros and can use these new U-Boot macros. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-01-12mmc: unconditionally define mmc_deinit()Heinrich Schuchardt
We want to replace '#ifdef' by 'if (IS_ENABLED(CONFIG_...))' in our code. Therefore functions should be defined unconditionally even if they are not implemented. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Peng Fan <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2022-01-12mmc: fsl_esdhc_imx: replace most #ifdefs by IS_ENABLED()Sean Anderson
[ fsl_esdhc commit 52faec31827ec1a1837977e29c067424426634c5 ] Make the code cleaner and drop the old-style #ifdef constructs where it is possible. Signed-off-by: Michael Walle <[email protected]> Signed-off-by: Sean Anderson <[email protected]>
2022-01-12mmc: fsl_esdhc_imx: fix voltage validationSean Anderson
[ fsl_esdhc commit 5b05fc0310cd933acf76ee661577c6b07a95e684 ] Voltage validation should be done by CMD8. Current comparison between mmc_cfg voltages and host voltage capabilities is meaningless. So drop current comparison and let voltage validation is through CMD8. Signed-off-by: Yangbo Lu <[email protected]> Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2022-01-10Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2022-01-09Merge tag 'u-boot-amlogic-20220107' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-amlogic into next - disable CONFIG_NET_RANDOM_ETHADDR when unnecessary on amlogic based configs - meson64_android: add board specific env settings, in order to support VIM3/L for android - add changes to support VIM3/L android boot by using meson64_android.h config
2022-01-08udoo: Adjust the SD card device numberingFabio Estevam
After the conversion to DM the SD card shows up as 'mmc 2' device. Adjust the 'mmcdev' and the distro command 'func' accordingly. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peter Robinson <[email protected]>
2022-01-07udoo_neo: Enable support for USB and storagePeter Robinson
Enable support for USB and USB storage on the UDOO Neo. Signed-off-by: Peter Robinson <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-01-07udoo_neo: Fixes for booting from the mSD cardPeter Robinson
This fixes booting from the mSD card from both SPL and when using it for the OS booting. It also cleans up a few mmc booting bits that are no longer needed. Signed-off-by: Peter Robinson <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-01-07configs: prepare khadas-vim3{l}_ab_android for AOSP supportMattijs Korpershoek
In AOSP, both VIM3 and VIM3L have 2 bootloader flavors, depending on A/B enablement. For example, for vim3l, the naming is: - u-boot_kvim3l_noab.bin : legacy support - u-boot_kvim3l_ab.bin : A/B support Prepare a defconfig to support u-boot_kvim3_ab.bin and u-boot_kvim3l_ab.bin. This is identical to khadas-vim3{l}_ab_android but will be updated in the next commit. Also update partitioning tables for A/B support. Signed-off-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-01-07configs: add khadas-vim3{l}_android for AOSP supportMattijs Korpershoek
The Khadas VIM3 and VIM3L board are well supported in AOSP[1]. However, there is no mainline U-Boot support for it. The U-Boot used in AOSP is based on a vendor tree [2] Add all the necessary bits to flash and boot Android for both Khadas VIM3 and VIM3L boards. For Android instructions, refer to [1] [1] https://source.android.com/setup/build/devices#vim3_and_vim3l_boards [2] https://gitlab.com/baylibre/amlogic/atv/u-boot Signed-off-by: Guillaume La Roque <[email protected]> Signed-off-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-01-07configs: meson64_android: add board specific env settingsMattijs Korpershoek
This allows us to define extra board variables, such as "board" and "board_name". Signed-off-by: Guillaume La Roque <[email protected]> Signed-off-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-01-04arm: apple: Remove CONFIG_SYS_SDRAM_BASEMark Kettenis
The memory layout is taken from the device tree passed to us by m1n1, so there is no need to define this. Signed-off-by: Mark Kettenis <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2022-01-04vexpress64: Enable VIRTIO_NET network driverPeter Hoyes
The SMSC driver is using the old driver model. Init the virtio system in vexpress64.c so that the network device is discovered. Signed-off-by: Peter Hoyes <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2022-01-04vexpress64: Clean up BASE_FVP boot configurationPeter Hoyes
Move env var address values to #defines so they can be reused elsewhere. Rename env var names to those recommended in the README and modify addresses to allow more space for the kernel. Fix issue where fdt is called with invalid arguments when booting without a ramdisk. Signed-off-by: Peter Hoyes <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2022-01-04vexpress64: Refactor header file to make it easier to add new FVPsPeter Hoyes
Rename from vexpress_aemv8a.h -> vepxress_aemv8.h as new FVPs may not be v8-A. No change in behavior. This is towards future work to enable support for the FVP_BaseR. Signed-off-by: Peter Hoyes <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2022-01-04board: stemmy: Increase boot image to 64 MBLinus Walleij
When using a recent kernel with a bunch of compiled-in stuff the kernel image easily becomes bigger than 8 MB yielding this error: Loading Kernel Image Image too large: increase CONFIG_SYS_BOOTM_LEN Must RESET board to recover Fix this by bumping to SZ_64MB. Cc: Stephan Gerhold <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Stephan Gerhold <[email protected]>
2021-12-31Merge tag 'efi-next' of https://source.denx.de/u-boot/custodians/u-boot-efi ↵Tom Rini
into next Pull request of efi-next Documentation: * Add Sunxi board description UEFI: * Improvements to U-Boot running on top of UEFI
2021-12-31efi: Allow easy selection of serial-only operationSimon Glass
Add info about how to select vidconsole or serial. Also set up a demo boot command. Signed-off-by: Simon Glass <[email protected]>
2021-12-31efi: Mention that efi_info_get() is only used in the stubSimon Glass
This provides access to EFI tables after U-Boot has exited boot services. It is not needed in the app since boot services remain alive and we can just call them whenever needed. Add a comment to explain this. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2021-12-31efi: Share struct efi_priv between the app and stub codeSimon Glass
At present each of these has its own static variable and helper functions. Move them into a shared file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2021-12-31efi: Fix ll_boot_init() operation with the appSimon Glass
This should return false when the EFI app is running, since UEFI has done the required low-level init. Fix it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2021-12-31efi: Add comments to struct efi_privSimon Glass
This structure is uncommented. Fix it. Signed-off-by: Simon Glass <[email protected]>
2021-12-31efi: Drop device_path from struct efi_privSimon Glass
This is not used anywhere drop it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2021-12-31efi: Locate all block devices in the appSimon Glass
When starting the app, locate all block devices and make them available to U-Boot. This allows listing partitions and accessing files in filesystems. EFI also has the concept of 'disks', meaning boot media. For now, this is not obviously useful in U-Boot, but add code to at least locate these. This can be expanded later as needed. We cannot use printf() in the early stub or app since it is not compiled in Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2021-12-31efi_loader: Don't limit the StMM buffer size explicitlyIlias Apalodimas
Currently we allow and explicitly check a single shared page with StandAloneMM. This is dictated by OP-TEE which runs the application. However there's no way for us dynamically discover the number of pages we are allowed to use. Since writing big EFI signature list variable requires more than a page, OP-TEE has bumped the number of shared pages to four. Let's remove our explicit check and allow the request to reach OP-TEE even if it's bigger than what it supports. There's no need to sanitize the number of pages internally. OP-TEE will fail if we try to write more than it's allowed. The error will just trigger later on, during the StMM access. While at it add an error message to help users figure out what failed. Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Ying-Chun Liu (PaulLiu) <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2021-12-31efi: fix typo in description of struct efi_entry_hdrHeinrich Schuchardt
Add missing colon. Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-12-28Merge tag 'video-next-20211228' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-video into next - various fixes to the sandbox display support - support for showing a logo without splash screen config - support for BMP drawing to depths other than 16bpp - tests for the different types of supported BMP images - support showing a logo when running coreboot via qemu
2021-12-28Merge tag 'efi-2022-01-rc4-4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2022-01-rc4-4 UEFI: * allow for more than 16 KiB UEFI variable size when using StMM Others: * make watchdog sysreset compatible with separate poweroff driver * avoid OpenSSL deprecation warnings
2021-12-27Convert CONFIG_JFFS2_DEV et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_JFFS2_DEV CONFIG_JFFS2_LZO CONFIG_JFFS2_NAND CONFIG_JFFS2_PART_OFFSET CONFIG_JFFS2_PART_SIZE Signed-off-by: Tom Rini <[email protected]>
2021-12-27Convert CONFIG_KIRKWOOD_GPIO to KconfigTom Rini
This converts the following to Kconfig: CONFIG_KIRKWOOD_GPIO Signed-off-by: Tom Rini <[email protected]>
2021-12-27Convert CONFIG_SYS_KWD_CONFIG to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_KWD_CONFIG Signed-off-by: Tom Rini <[email protected]>
2021-12-27Convert CONFIG_88F5182 et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_88F5182 CONFIG_BOARD_IS_OPENRD_BASE CONFIG_BOARD_IS_OPENRD_CLIENT CONFIG_BOARD_IS_OPENRD_ULTIMATE CONFIG_D2NET_V2 CONFIG_FEROCEON CONFIG_FEROCEON_88FR131 CONFIG_INETSPACE_V2 CONFIG_KW88F6192 CONFIG_KW88F6281 CONFIG_KW88F6702 CONFIG_NET2BIG_V2 CONFIG_NETSPACE_LITE_V2 CONFIG_NETSPACE_MAX_V2 CONFIG_NETSPACE_MINI_V2 CONFIG_NETSPACE_V2 CONFIG_SHEEVA_88SV131 At this point mv-plug-common.h is now only an include of mv-common.h so remove that indirection. Signed-off-by: Tom Rini <[email protected]>
2021-12-27Convert CONFIG_CPU_FREQ_HZ to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CPU_FREQ_HZ Cc: Michal Simek <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-12-27Convert CONFIG_CPU_SH7751 to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CPU_SH7751 Signed-off-by: Tom Rini <[email protected]>
2021-12-27Convert CONFIG_CPU_PXA27X to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CPU_PXA27X Signed-off-by: Tom Rini <[email protected]>
2021-12-27serial: arm_dcc: Use CONFIG_ARM64 not CONFIG_CPU_ARMV8Tom Rini
The only place we use CONFIG_CPU_ARMV8 was in the arm_dcc serial driver. Switch this to CONFIG_ARM64 today, and if in the future we need finer granularity tuning here, a new CONFIG_SERIAL option needs to be introduced. Signed-off-by: Tom Rini <[email protected]>