summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-02-18arm: mediatek: add CONFIG_MTK_MEM_MAP_DDR_BASE_PHYDavid Lechner
Add a CONFIG_MTK_MEM_MAP_DDR_BASE_PHY variable to specify the DDR base physical address for the Mediatek ARMv8 memory map. This will be used by MT8196 in the future which has a different DDR base address than other Mediatek SoCs. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Macpaul Lin <[email protected]>
2026-02-18arm: mediatek: consolidate ARMv8 memory mapsDavid Lechner
Consolidate all mem_map definitions for MediaTek ARMv8 platforms into a single file. The size of the DDR and MMIO regions can vary, so Kconfig options are added to configure them by target. Signed-off-by: David Lechner <[email protected]>
2026-02-18board/mediatek: move EVK MAINTAINERS to common fileDavid Lechner
Move the mt8365_evk and mt8390_evk MAINTAINERS files to a common MAINTAINERS file. We will be deleting the board-specific directories soon but we need to keep the MAINTAINERS for the defconfig entries. Signed-off-by: David Lechner <[email protected]>
2026-02-18arm: mediatek: make mtk_pll_early_init() staticDavid Lechner
Make the mtk_pll_early_init() function static in several files. It is only used within those files, so there is no need to have it in the global namespace. Reviewed-by: Macpaul Lin <[email protected]>
2026-02-18arm: mediatek: mt8183: remove unused functionDavid Lechner
Remove the mtk_pll_early_init() function as it is not used anywhere. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Macpaul Lin <[email protected]>
2026-02-18board: mediatek: mt8390_evk: remove empty board_init()David Lechner
Remove empty board_init() function and adjust defconfig to not require it. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Macpaul Lin <[email protected]>
2026-02-18arm: mediatek: use default weak mtk_soc_early_init()David Lechner
Add a weak default implementation of mtk_soc_early_init() in spl.c to avoid having to define it in every SoC init.c file that does not need any additional early initialization. The init.h header file is no longer needed in this case and is removed. Signed-off-by: David Lechner <[email protected]>
2026-02-18Merge patch series "Implement all missing SMBIOS types required by distro ↵Tom Rini
tooling" Raymond Mao <[email protected]> says: From: Raymond Mao <[email protected]> This series finish the last missing puzzle of required SMBIOS types by: 1) Fixing duplicated handles when multiple instances exist in one type; 2) Implementing the rest of required types 9/16/17/19; 3) Adding version control when printing properties for all types. Type 9/16/17/19 are generally DT-based, the idea is to write these tables using a hybrid approach: Explicit DT definitions under existing '/smbios/smbios' take precedence, with fallback to scan and interpret values from the entire DT. Moreover, all below APIs: smbios_get_val_si() smbios_get_u64_si() smbios_add_prop_si() are on top of sysinfo, thus allow vendors to get values from other subsystems by implementing their own sysinfo driver if needed. Link: https://lore.kernel.org/r/[email protected]
2026-02-18smbios: print the properties only when they exist in a specified version of specRaymond Mao
By checking the payload length, we can know the version of the spec and skip the ones which are not expected to exist. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: add support for dynamic generation of Type 19 tableRaymond Mao
This commit implements SMBIOS Type 19 (Memory Array Mapped Address) generation with a hybrid approach supporting both: 1. Explicit definition via Device Tree 'smbios' node: Child node under '/smbios/smbios/memory-array-mapped-address' will be used to populate as individual Type 19 structure directly. - Properties follow SMBIOS field names with lowercase letters and hyphen-separated words (e.g., 'starting-address', 'ending-address', 'partition-width', etc.). - This method supports precise platform-defined overrides and system descriptions. 2. Fallback to automatic DT-based discovery: If child node under '/smbios/smbios/memory-array-mapped-address' does not exist, the implementation will: - Scan all top-level 'memory@' nodes to populate Type 19 structure with inferred size and location data. - Scan nodes named or marked as 'memory-controller' and parse associated 'dimm@' subnodes (if present) to extract DIMM sizes and map them accordingly. This dual-mode support enables flexible firmware SMBIOS reporting while aligning with spec-compliant naming and runtime-detected memory topology. Type 19 support is under GENERATE_SMBIOS_TABLE_VERBOSE to avoid increasing rom size for those platforms which only require basic SMBIOS support. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: add support for dynamic generation of Type 17 tableRaymond Mao
This commit implements SMBIOS Type 17 (Memory Device) generation with a hybrid approach supporting both: 1. Explicit definition via Device Tree 'smbios' node: Child node under '/smbios/smbios/memory-device' will be used to populate as individual Type 17 structure directly. - Properties follow SMBIOS field names with lowercase letters and hyphen-separated words (e.g., 'physical-memory-array-handle', ' memory-error-information-handle', 'configured-memory-speed', etc.). - This method supports precise platform-defined overrides and system descriptions. 2. Fallback to automatic DT-based discovery: If child node under '/smbios/smbios/memory-device' does not exist, the implementation will: - Scan all top-level 'memory@' nodes to populate Type 17 structure with inferred size and location data. - Scan nodes named or marked as 'memory-controller' and parse associated 'dimm@' subnodes (if present) to extract DIMM sizes and map them accordingly. This dual-mode support enables flexible firmware SMBIOS reporting while aligning with spec-compliant naming and runtime-detected memory topology. Type 17 support is under GENERATE_SMBIOS_TABLE_VERBOSE to avoid increasing rom size for those platforms which only require basic SMBIOS support. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: add support for dynamic generation of Type 16 tableRaymond Mao
This commit implements SMBIOS Type 16 (Physical Memory Array) generation with a hybrid approach supporting both: 1. Explicit definition via Device Tree 'smbios' node: Child node under '/smbios/smbios/memory-array' will be used to populate as individual Type 16 structure directly. - Properties follow SMBIOS field names with lowercase letters and hyphen-separated words (e.g., 'memory-error-correction', 'maximum-capacity', 'extended-maximum-capacity', etc.). - This method supports precise platform-defined overrides and system descriptions. 2. Fallback to automatic DT-based discovery: If child node under '/smbios/smbios/memory-array' does not exist, the implementation will: - Scan all top-level 'memory@' nodes to populate Type 16 structure with inferred size and location data. - Scan nodes named or marked as 'memory-controller' and parse associated 'dimm@' subnodes (if present) to extract DIMM sizes and map them accordingly. This dual-mode support enables flexible firmware SMBIOS reporting while aligning with spec-compliant naming and runtime-detected memory topology. Type 16 support is under GENERATE_SMBIOS_TABLE_VERBOSE to avoid increasing rom size for those platforms which only require basic SMBIOS support. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: add support for dynamic generation of Type 9 system slot tablesRaymond Mao
This commit introduces support for generating SMBIOS Type 9 (System Slot) tables using a hybrid approach: 1. Explicit Device Tree definitions: Child node under '/smbios/smbios/system-slot' will be interpreted as individual slot definitions. - Each child represents a slot (e.g., isa, pcmcia, etc.). - Properties follow the SMBIOS specification using lowercase hyphen-separated names such as 'slot-type', 'slot-id', 'segment-group-number', 'bus-number', 'slot-information', etc. - This approach allows full customization of each system slot and is especially suitable for platforms with well-defined slot topology. 2. Automatic detection fallback: If child node under '/smbios/smbios/system-slot' does not exist, the implementation will scan the entire device tree for nodes whose 'device_type' matches known slot-related types ("pci", "isa", "pcmcia", etc.). - When a match is found, default values or heuristics are applied to populate to the System Slot table. - This mode is useful for platforms that lack explicit SMBIOS nodes but still expose slot topology via standard DT conventions. Together, two approaches ensure that SMBIOS Type 9 entries are available whether explicitly described or automatically derived. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: Fix duplicated smbios handlesRaymond Mao
Some smbios types can have multiple instances (e.g. Type 7, 9, 16, 17, 19), thus the 'handle' argument should be a pointer so that the value can be accumulated when writing all the instances. This also fix the observed duplicated Type 7 handles. Fixes: bcf456dd369e ("smbios: add detailed smbios information") Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-17Merge patch series "treewide: Clean up usage of DECLARE_GLOBAL_DATA_PTR"Tom Rini
Peng Fan (OSS) <[email protected]> says: This patch set primarily removes unused DECLARE_GLOBAL_DATA_PTR instances. Many files declare DECLARE_GLOBAL_DATA_PTR and include asm/global_data.h even though gd is never used. In these cases, asm/global_data.h is effectively treated as a proxy header, which is not a good practice. Following the Include What You Use principle, files should include only the headers they actually depend on, rather than relying on global_data.h indirectly. This approach is also adopted in Linux kernel [1]. The first few patches are prepartion to avoid building break after remove the including of global_data.h. A script is for filtering the files: list=`find . -name "*.[ch]"` for source in ${list} do result=`sed -n '/DECLARE_GLOBAL_DATA_PTR/p' ${source}` if [ "${result}" == "DECLARE_GLOBAL_DATA_PTR;" ]; then echo "Found in ${source}" result=`sed -n '/\<gd\>/p' ${source}` result2=`sed -n '/\<gd_/p' ${source}` result3=`sed -n '/\<gd->/p' ${source}` if [ "${result}" == "" ] && [ "${result2}" == "" ] && [ "${result3}" == "" ];then echo "Cleanup ${source}" sed -i '/DECLARE_GLOBAL_DATA_PTR/{N;/\n[[:space:]]*$/d;s/.*\n//;}' ${source} sed -i '/DECLARE_GLOBAL_DATA_PTR/d' ${source} sed -i '/global_data.h/d' ${source} git add ${source} fi fi done [1] https://lpc.events/event/17/contributions/1620/attachments/1228/2520/Linux%20Kernel%20Header%20Optimization.pdf CI: https://github.com/u-boot/u-boot/pull/865 Link: https://lore.kernel.org/r/[email protected]
2026-02-17treewide: Clean up DECLARE_GLOBAL_DATA_PTR usagePeng Fan
Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and drop the unnecessary inclusion of asm/global_data.h. Headers should be included directly by the files that need them, rather than indirectly via global_data.h. Reviewed-by: Patrice Chotard <[email protected]> #STMicroelectronics boards and STM32MP1 ram test driver Tested-by: Anshul Dalal <[email protected]> #TI boards Acked-by: Yao Zi <[email protected]> #TH1520 Signed-off-by: Peng Fan <[email protected]>
2026-02-17socfpga: clock_manager_s10: Add missing header filesPeng Fan
struct udevice and u32 are used in this file. Add missing header to avoid building break after asm/global_data.h is removed from this file. Signed-off-by: Peng Fan <[email protected]>
2026-02-17renesas: common: Include asm-generic/u-boot.hPeng Fan
struct bd_info is defined in asm-generic/u-boot.h. Include it to avoid building error after asm/global_data.h are removed from this file. Signed-off-by: Peng Fan <[email protected]>
2026-02-17pci: layerspace: Add missing header filesPeng Fan
struct fdt_resource, u32 and bool types are used in this header, add missing header files following "include what you use". Signed-off-by: Peng Fan <[email protected]>
2026-02-17nxp: emc2305: Cleanup headersPeng Fan
There is no user of gd, drop the usage of DECLARE_GLOBAL_DATA_PTR and the including of "asm/global_data.h". Include config.h to avoid build error. Signed-off-by: Peng Fan <[email protected]>
2026-02-17rockchip: evk_rk3308: Cleanup headersPeng Fan
There is no user of 'gd', so drop the usage of DECLARE_GLOBAL_DATA_PTR and the including of 'asm/global_data.h'. Also include correct headers to avoid build error. Signed-off-by: Peng Fan <[email protected]>
2026-02-17tegra: pmc: Cleanup headersPeng Fan
No gd users, so remove DECLARE_GLOBAL_DATA_PTR and the including of "asm/global_data.h". And include "asm/arch-tegra/tegra.h" to avoid build error. Signed-off-by: Peng Fan <[email protected]>
2026-02-17toradex: common: Add missing headersPeng Fan
Include linux/types.h and asm-generic/u-boot.h. Missing the two header files will cause building error after cleaning up usage of asm/global_data.h. Signed-off-by: Peng Fan <[email protected]>
2026-02-17xtensa: relocate: Add missing headersPeng Fan
memset and size_t are used in this file, so add missing headers. Signed-off-by: Peng Fan <[email protected]>
2026-02-17test: log_filter: Include vsprintf.hPeng Fan
snprintf is used, need to include vsprintf.h. Otherwise there will be build error after asm/global_data.h is removed. Signed-off-by: Peng Fan <[email protected]>
2026-02-17cmd: mem: Include vsprintf.hPeng Fan
hextoul is used in this file, so include header file vsprintf.h. Signed-off-by: Peng Fan <[email protected]>
2026-02-17common: cli_hush: Include vsprintf.hPeng Fan
sprintf is used in this file, so include header vsprintf.h. Signed-off-by: Peng Fan <[email protected]>
2026-02-17mediatek: mt7622: Drop useless board filesPeng Fan
No functions except reserving gd in the board files. The files are useless, remove them. Signed-off-by: Peng Fan <[email protected]>
2026-02-17beacon: imx8mm/n: Drop useless filesPeng Fan
No functions except reserving gd in the board files. The files are useless, remove them. Signed-off-by: Peng Fan <[email protected]>
2026-02-16x86/coreboot: Exclude memory regions starting above 4GBJeremy Compostella
This commit updates the RAM region filtering logic in board_get_usable_ram_top() to skip any memory regions whose start address is above 4GB. Previously, only the end address was capped at 4GB, but regions entirely above this threshold were still considered. Typically, the following memory map entries would cause board_get_usable_ram_top() to return 0x100000000, which is incorrect. start=00000000, end=00001000, type=16 start=00001000, end=000a0000, type=1 start=000a0000, end=000f6000, type=2 start=000f6000, end=000f7000, type=16 start=000f7000, end=00100000, type=2 start=00100000, end=6f170000, type=1 start=6f170000, end=70000000, type=16 start=70000000, end=80800000, type=2 start=e0000000, end=f8000000, type=2 start=fa000000, end=fc000000, type=2 start=fc800000, end=fc880000, type=2 start=fd800000, end=fe800000, type=2 start=feb00000, end=feb80000, type=2 start=fec00000, end=fed00000, type=2 start=fed20000, end=fed80000, type=2 start=feda1000, end=feda2000, type=2 start=fedc0000, end=fede0000, type=2 start=100000000, end=102400000, type=2 start=102400000, end=47f800000, type=1 start=4000000000, end=4020000000, type=2 By adding a check to continue the loop if the region's start address exceeds 0xffffffffULL, the function now properly ignores regions that are not usable in 32-bit address space. Signed-off-by: Jeremy Compostella <[email protected]>
2026-02-16board: ti: j721e,j7200: fix do_main_cpsw0_qsgmii_phyinitSiddharth Vadapalli
Since commit 27cc5951c862 ("include: env: ti: add default for do_main_cpsw0_qsgmii_phyinit"), the value of the environment variable do_main_cpsw0_qsgmii_phyinit happened to remain '0' and couldn't be changed without user intervention. This behavior is due to the following cyclic dependency: A) ti_common.env sets do_main_cpsw0_qsgmii_phyinit to '0' and its value can only be updated automatically by main_cpsw0_qsgmii_phyinit. B) main_cpsw0_qsgmii_phyinit is defined in j721e.env and it can run only if 'do_main_cpsw0_qsgmii_phyinit' is already '1' which isn't possible unless the user manually assigns the value. Fix the aforementioned cyclic dependency by using board_late_init() to detect the QSGMII Daughtercard and set do_main_cpsw0_qsgmii_phyinit. Additionally, to address the issue of do_main_cpsw0_qsgmii_phyinit being 'undefined' for other platforms, replace: if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1; with: if env exists do_main_cpsw0_qsgmii_phyinit; in ti_common.env. Fixes: 27cc5951c862 ("include: env: ti: add default for do_main_cpsw0_qsgmii_phyinit") Signed-off-by: Siddharth Vadapalli <[email protected]> Reviewed-by: Anshul Dalal <[email protected]>
2026-02-16bootstd: rauc: Fix null pointer access while checking root partMartin Schwan
Fix a segmentation fault caused by a null pointer access during root partition checking. The function part_get_info() was falsely given null for the disk_partition struct, which later resulted in accessing a null pointer and thus undefined behavior. Fixes: 5d7c080ae5dc ("bootstd: rauc: Don't check root part filesystem") Signed-off-by: Martin Schwan <[email protected]>
2026-02-16cmd: pxe_utils: fix syntax error in commentsHugo Villeneuve
Add missing "to" so that the sentence makes sense. Signed-off-by: Hugo Villeneuve <[email protected]>
2026-02-16image: fit: Apply overlays using aligned writable FDT copiesJames Hilliard
libfdt expects FDT/DTO blobs to be 8-byte aligned. When loading the base FDT or overlays from a FIT, the mapped buffer may be unaligned, which can break fdt_open_into() on strict-alignment architectures. boot_get_fdt_fit() relocates the base FDT with boot_relocate_fdt() before applying overlays. That uses the bootm memory map and can overlap with the FIT buffer when the FIT is loaded into RAM, corrupting data needed to load the kernel and ramdisk. Allocate writable, 8-byte aligned copies of the base FDT and overlays with memalign() and fdt_open_into(). Grow the base buffer as needed, apply overlays to it and pack the final tree. Free each temporary overlay copy after application and check fdt_pack() errors. Fixes: 8fbcc0e0e839 ("boot: Assure FDT is always 8-byte aligned") Fixes: 881f0b77dc8c ("image: apply FDTOs on FDT image node") Signed-off-by: James Hilliard <[email protected]> Cc: Jamie Gibbons <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2026-02-16MAINTAINERS: Remove a few inactive peopleTom Rini
It has been a long while since Jagan Teki, Joe Hershberger or Ramon Fried have been active in the community. We thank them for their time over the years. Remove them from the active maintainer list and mark a few things as Orphaned for now. Signed-off-by: Tom Rini <[email protected]>
2026-02-16test/py: Fix spelling of source_dir in docstringDavid Lechner
Fix a typo in the docstring for run_build() where source_dir was misspelled. Signed-off-by: David Lechner <[email protected]>
2026-02-16Merge branch 'master' of git://source.denx.de/u-boot-usbTom Rini
- A fix for CDNS3 in correctly determining dr_mode for OTG.
2026-02-16Merge tag 'xilinx-for-v2026.07-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze into next AMD/Xilinx/FPGA changes for v2026.07-rc1 gpio: - Add gpio delay driver zynqmp: - Wire gpio usb delay - Enable SPL pinctrl per pin xilinx: - Enable NFS support versal2: - Extend DDR initialization zynqmp-rtc: - Use clock framework for calibration value
2026-02-16Merge tag 'ab-next-13022026' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm into next CI: https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/29283 An update on AB subsystem allowing multiple FWU metadata storage drivers to be selected simultaneously instead of being mutually exclusive. The board can then select the appropriate driver at runtime based on the devicetree description.
2026-02-16usb: cdns3: use VBUS Valid to determine role for dr_mode OTGSiddharth Vadapalli
The cdns3_bind() function is responsible for identifying the appropriate driver to bind to the USB Controller's device-tree node. If the device-tree node has the 'dr_mode' property set to 'otg', the existing approach fails to bind a driver, leading to loss of functionality. To address this, use the VBUS Valid field of the OTG Status register to determine the role as follows: - If VBUS Valid field is set, it indicates that a USB Host is supplying power and the Controller should assume the Peripheral role. - If VBUS Valid field is clear, it indicates the absence of a USB Host and the Controller should assume the Host role. Additionally, when 'dr_mode' happens to be 'otg' and the STRAP settings are not specified, use VBUS Valid to determine the role in cdns3_drd_init() and assign it to cdns->dr_mode. Signed-off-by: Siddharth Vadapalli <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2026-02-15Merge tag 'efi-2026-04-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2026-04-rc3 CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/29293 UEFI: * add missing EFI_CALL around tcg2 read_blocks calls * fix ECPT table size computation
2026-02-15Merge tag 'efi-next-2026-02-15' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi into next Pull request efi-next-2026-02-15 CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/jobs/1380382 UEFI: * Add MBR support to EFI_PARTITION_INFO_PROTOCOL * disk: part_dos: Move header to the main include directory * disk: part_dos: Align dos_partition_t with struct partition * disk: part_efi: Remove redundant struct partition definition * disk: part_dos: Document part_get_info_extended() helper function * disk: part_dos: Refactor to allow retrieving raw MBR partition data * efi_loader: disk: Extend EFI_PARTITION_INFO_PROTOCOL to support MBR * efi_selftest: Enhance MBR test for PARTITION_INFO_PROTOCOL * Prepare for supporting more stores (e.g. SPI-flash) for EFI variables. * efi_var: Unify read/write access helper function * efi_loader: Setup default location for UEFI Variables storing * efi_var_file: refactor to move buffer functions
2026-02-15efi_loader: Setup default location for UEFI Variables storingMichal Simek
EFI_VARIABLE_FILE_STORE is only available when FAT_WRITE is enabled but that's not valid for all platforms and dependency should be covered. Also Kconfig behavior is that if default option is not valid then Kconfig selects the first presented valid option instead hence it is better to record EFI_VARIABLE_NO_STORE as safe default option. Suggested-by: Tom Rini <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2026-02-15efi_var: Unify read/write access helper functionMichal Simek
efi_var_to/from_file() suggest method where variables are placed. But there is no reason for it and generic name can be used to wire also different locations for variables. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Tested-by: Neil Armstrong <[email protected]> # on AML-S905D3-CC Reviewed-by: Heinrich Schuchardt <[email protected]>
2026-02-15efi_var_file: refactor to move buffer functionsShantur Rathore
Currently efi_var_file.c has functions to store/read EFI variables to/from memory buffer. These functions can be used with other EFI variable stores so move them out to efi_var_common.c Signed-off-by: Shantur Rathore <[email protected]> Signed-off-by: Michal Simek <[email protected]> Tested-by: Neil Armstrong <[email protected]> # on AML-S905D3-CC Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2026-02-15efi_selftest: Enhance MBR test for PARTITION_INFO_PROTOCOLJavier Martinez Canillas
The EFI_PARTITION_INFO_PROTOCOL test was added before the protocol fully supported MBR partitions. As a result, it lacked specific checks for the content of the raw MBR partition record. Now that MBR support has been implemented, enhance the selftest to provide coverage for the MBR entries too. This verifies that the protocol correctly reads and exposes MBR partition records and prevents this functionality to regress due future changes. Signed-off-by: Javier Martinez Canillas <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2026-02-15efi_loader: disk: Extend EFI_PARTITION_INFO_PROTOCOL to support MBRJavier Martinez Canillas
The EFI_PARTITION_INFO_PROTOCOL provides detailed information about partitions. The UEFI specification mentions that both GPT and MBR partition schemes are supported, but the U-Boot implementation only supports the former. This can cause compatibility issues for platforms whose boot ROM only supports MBR. This change adds support for MBR partition tables to the protocol, making U-Boot compatible with systems that require a legacy MBR table. Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2026-02-15disk: part_dos: Refactor to allow retrieving raw MBR partition dataJavier Martinez Canillas
Refactor the part_get_info_extended() helper function (which already recursively traverses DOS partitions) to optionally return the raw MBR partition structure (dos_partition_t). This allows other subsystems, such as EFI, to retrieve the partition details in the legacy MBR format. Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2026-02-15disk: part_dos: Document part_get_info_extended() helper functionJavier Martinez Canillas
The function receives many parameters but these are not documented. Add a description for these to make it easier to follow what it does. Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2026-02-15disk: part_efi: Remove redundant struct partition definitionJavier Martinez Canillas
Now that dos_partition_t and struct partition are identical, the duplicated data structure definition in the part_efi.h header can just be removed. This results in a single, shared definition for MBR partition table entries, instead of having the same definition in two different places. Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>