summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-02video: Add a test for font measurementSimon Glass
Add a simple test which measures a line of text using a Truetype font. Signed-off-by: Simon Glass <[email protected]>
2025-05-02sandbox: Select white-on-blackSimon Glass
Use white on black for the expo menu as it is easier on the eyes. Signed-off-by: Simon Glass <[email protected]>
2025-05-02video: Make white-on-black a video-device propertySimon Glass
The CONFIG_WHITE_ON_BLACK setting is hard-coded at build-time. It is useful to be able to control this when showing menus. Create a property to hold this information, using the CONFIG as the initial value. Signed-off-by: Simon Glass <[email protected]>
2025-05-02console: Support a format string for stderr outputSimon Glass
Add a console_printf_select_stderr() function so that it is not necessary for the caller to process the format string. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]>
2025-05-02Merge patch series "Qualcomm: cleanup OF_LIVE fixup and fix RB1/2"Tom Rini
Caleb Connolly <[email protected]> says: Introduce a new event to signal that the live tree has been built, allowing boards to perform fixups on the tree before devices are bound. Crucially this allows for devices to be enabled or disabled, but also allows for properties that are parsed during the bind stage to be modified (such as dr_mode for dwc3). With this in place, mach-snapdragon is switched over to use the event and some hacky U-Boot specific DT overrides (which had to be undone prior to booting an image) are removed in favour of fixing up the livetree (which is not passed on to further boot stages). Finally, some minor fixes are made for the QCM2290 RB1 board, the sdcard is enabled and it now uses USB host mode in U-Boot like it's bigger sibling the RB2. Link: https://lore.kernel.org/r/[email protected]
2025-05-02pinctrl: qcom: qcm2290: fix off by 1 in pin_countCaleb Connolly
There are 134 pins not 133, oops! This fixes the sdcard on the RB1 as the pins now all get configured correctly. Fixes: 0ecb8cfcb930 ("pinctrl: qcom: add qcm2290 pinctrl driver") Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Tested-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2025-05-02clk/qcom: qcm2290: show clock name in set_rate()Caleb Connolly
The device name is always clk_qcom... Not very useful. Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Tested-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2025-05-02mach-snapdragon: of_fixup: set dr_mode for RB1/2 boardsCaleb Connolly
The RB1 and RB2 have a single USB controller which is manually muxed between a type-c port and an internal USB hub via a DIP switch. OTG is supported in Linux, but the DWC3 driver in U-Boot can only handle a single mode, and defaults to peripheral mode. We did hack around this on the RB2, but the RB1 got left out. Now that we can fix up the live tree before devices are bound, drop the DTS hacks and do the fixup at runtime instead. Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Tested-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2025-05-02mach-snapdragon: of_fixup: update commentCaleb Connolly
we don't rewrite the volume buttons any more. Signed-off-by: Caleb Connolly <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2025-05-02mach-snapdragon: of_fixup: remove confusing log messageCaleb Connolly
The debug log here had the logic completely backwards, even though the code is actually correct. Remove it since it's extraneous anyway. Signed-off-by: Caleb Connolly <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2025-05-02mach-snapdragon: of_fixup: skip disabled USB nodesCaleb Connolly
There's no need to waste time fixing up nodes that aren't used on this device. Skip them. Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Tested-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2025-05-02mach-snapdragon: use EVT_OF_LIVE_INIT to apply DT fixupsCaleb Connolly
This will now apply fixups prior to devices being bound, which makes it possible to enable/disable devices and adjust more properties that might be read before devices probe. Signed-off-by: Caleb Connolly <[email protected]>
2025-05-02event: signal when livetree has been builtCaleb Connolly
OF_LIVE offers a variety of benefits, one of them being that the live tree can be modified without caring about the underlying FDT. This is particularly valuable for working around U-Boot limitations like lacking USB superspeed support on Qualcomm platforms, no runtime OTG, or peripherals like the sdcard being broken (and displaying potentially worrying error messages). Add an event to signal when the live tree has been built so that we can apply fixups to it directly before devices are bound. Signed-off-by: Caleb Connolly <[email protected]>
2025-05-01Merge tag 'dm-pull-mayday' of git://git.denx.de/u-boot-dmTom Rini
Support for calculating video damage
2025-05-01Merge tag 'efi-2025-07-rc2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2025-07-rc2 CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/26025 Documentation: * ti: update bash code-block directives to prompt * ti: k3: add language for code-block directive * correct uthread inline documentation UEFI: * correctly handle EFI FIT images without initrd * pass kernel load address not entry point for EFI FIT images Other: * boot:let BOOTSTAGE_RECORD_COUNT default to 50
2025-05-01video: Enable VIDEO_DAMAGE for drivers that need itAlexander Graf
Some drivers call video_set_flush_dcache() to indicate that they want to have the dcache flushed for the frame buffer. These drivers benefit from our new video damage control, because we can reduce the amount of memory that gets flushed significantly. This patch enables video damage control for all device drivers that call video_set_flush_dcache() to make sure they benefit from it. Signed-off-by: Alexander Graf <[email protected]> [Alper: Add to VIDEO_TIDSS, imply instead of select] Co-developed-by: Alper Nebi Yasak <[email protected]> Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-05-01video: Always compile cache flushing codeAlexander Graf
The dcache flushing code path was conditional on ARM && !DCACHE config options. However, dcaches exist on other platforms as well and may need clearing if their driver requires it. Simplify the compile logic and always enable the dcache flush logic in the video core. That way, drivers can always rely on it to call the arch specific callbacks. This will increase code size for non-ARM platforms with CONFIG_VIDEO=y slightly. Reported-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/ Added workaround for CONFIG_SYS_CACHELINE_SIZE for ibex-ast2700: Signed-off-by: Simon Glass <[email protected]>
2025-05-01video: Use VIDEO_DAMAGE for VIDEO_COPYAlexander Graf
CONFIG_VIDEO_COPY implemented a range-based copying mechanism: If we print a single character, it will always copy the full range of bytes from the top left corner of the character to the lower right onto the uncached frame buffer. This includes pretty much the full line contents of the printed character. Since we now have proper damage tracking, let's make use of that to reduce the amount of data we need to copy. With this patch applied, we will only copy the tiny rectangle surrounding characters when we print them, speeding up the video console. After this, changes to the main frame buffer are not immediately copied to the copy frame buffer, but postponed until the next video device sync. So issue an explicit sync before inspecting the copy frame buffer contents for the video tests. Signed-off-by: Alexander Graf <[email protected]> [Alper: Rebase for fontdata->height/w, fill_part(), fix memmove(dev), drop from defconfig, use damage.xstart/yend, use IS_ENABLED(), call video_sync() before copy_fb check, update video_copy test] Co-developed-by: Alper Nebi Yasak <[email protected]> Signed-off-by: Alper Nebi Yasak <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01video: Only dcache flush damaged linesAlexander Graf
Now that we have a damage area tells us which parts of the frame buffer actually need updating, let's only dcache flush those on video_sync() calls. With this optimization in place, frame buffer updates - especially on large screen such as 4k displays - speed up significantly. Signed-off-by: Alexander Graf <[email protected]> Reported-by: Da Xue <[email protected]> [Alper: Use damage.xstart/yend, IS_ENABLED()] Co-developed-by: Alper Nebi Yasak <[email protected]> Signed-off-by: Alper Nebi Yasak <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01efi_loader: GOP: Add damage notification on BLTAlexander Graf
Now that we have a damage tracking API, let's populate damage done by UEFI payloads when they BLT data onto the screen. Signed-off-by: Alexander Graf <[email protected]> Reported-by: Da Xue <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> [Alper: Add struct comment for new member] Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01video: Add damage notification on bmp displayAlexander Graf
Let's report the video damage when we draw a bitmap on the screen. This way we can later lazily flush only relevant regions to hardware. Signed-off-by: Alexander Graf <[email protected]> Reported-by: Da Xue <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01video: test: Test video damage tracking via vidconsoleAlper Nebi Yasak
With VIDEO_DAMAGE, the video uclass tracks updated regions of the frame buffer in order to avoid unnecessary work during a video sync. Enable the config in sandbox and add a test for it, by printing strings at a few locations and checking the tracked region. Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]> Adjust test avoid temporary failures in this patch: Signed-off-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01vidconsole: Add damage notifications to all vidconsole driversAlexander Graf
Now that we have a damage tracking API, let's populate damage done by vidconsole drivers. We try to declare as little memory as damaged as possible. Signed-off-by: Alexander Graf <[email protected]> Reported-by: Da Xue <[email protected]> [Alper: Rebase for met->baseline, fontdata->height/width, make rotated console_putc_xy() damages pass tests, edit patch message] Co-developed-by: Alper Nebi Yasak <[email protected]> Signed-off-by: Alper Nebi Yasak <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01dm: video: Add damage notification on display fillsAlexander Graf
Let's report the video damage when we fill parts of the screen. This way we can later lazily flush only relevant regions to hardware. Signed-off-by: Alexander Graf <[email protected]> Reported-by: Da Xue <[email protected]> [Alper: Move from video_clear() to video_fill(), video_fill_part()] Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01dm: video: Add damage tracking APIAlexander Graf
We are going to introduce image damage tracking to fasten up screen refresh on large displays. This patch adds damage tracking for up to one rectangle of the screen which is typically enough to hold blt or text print updates. Callers into this API and a reduced dcache flush code path will follow in later patches. Signed-off-by: Alexander Graf <[email protected]> Reported-by: Da Xue <[email protected]> [Alper: Use xstart/yend, document new fields, return void from video_damage(), declare priv, drop headers, use IS_ENABLED()] Co-developed-by: Alper Nebi Yasak <[email protected]> Signed-off-by: Alper Nebi Yasak <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/ Reviewed-by: Simon Glass <[email protected]>
2025-05-01video: test: Test partial updates of hardware frame bufferAlper Nebi Yasak
With VIDEO_COPY enabled, only the modified parts of the frame buffer are intended to be copied to the hardware. Add a test that checks this, by overwriting contents we prepared without telling the video uclass and then checking if the overwritten contents have been redrawn on the next sync. Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01video: test: Support checking copy frame buffer contentsAlper Nebi Yasak
The video tests have a helper function to generate a pseudo-digest of frame buffer contents, but it only does so for the main one. There is another check that the copy frame buffer is the same as that. But neither is enough to test if only the modified regions are copied to the copy frame buffer, since we will want the two to be different in very specific ways. Add a boolean argument to the existing helper function to indicate which frame buffer we want to inspect, and update the existing callers. Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01video: test: Split copy frame buffer check into a functionAlper Nebi Yasak
While checking frame buffer contents, the video tests also check if the copy frame buffer contents match the main frame buffer. To test if only the modified regions are updated after a sync, we will need to create situations where the two are mismatched. Split this check into another function that we can skip calling, since we won't want it to error on those mismatched cases. Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/u-boot/[email protected]/
2025-05-01boot: let BOOTSTAGE_RECORD_COUNT default to 50Heinrich Schuchardt
BOOTSTAGE_RECORD_COUNT=30 is too small to record booting a FIT image with EFI kernel, initrd, dtb as seen on the StarFive VisionFive 2 board. Increase the default for BOOTSTAGE_RECORD_COUNT to 50. Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-05-01bootm: pass kernel load address not entry point for IH_OS_EFIHeinrich Schuchardt
The EFI sub-system needs the load address and not the entry point to boot the binary passed from the bootm command. The entry point is derived from the PE-COFF header of the binary. Fixes: ecc7fdaa9ef1 ("bootm: Add a bootm command for type IH_OS_EFI") Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-05-01doc: ti: k3: add language for code-block directiveAnshul Dalal
The code-block directive supports the optional language property which enables syntax highlighting for the block[1]. This patch adds the relevant language property for code-blocks in k3 docs. [1]: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-code-block Signed-off-by: Anshul Dalal <[email protected]>
2025-05-01doc: ti: update bash code-block directives to promptAnshul Dalal
The code-block directive requires addition of the prompt symbol for each line, using the prompt directive instead allows for auto insertion of the symbol per line[1]. For the readers, the character added by the prompt directive is un-selectable i.e the entire line can be more easily selected for copy pasting etc. Whereas with code-block, the prompt symbol like "$" is also selectable which is usually not the intent. This is mostly a QoL addition + making the docs consistent since k3.rst makes use of prompt directives which these board docs include from. [1]: https://pypi.org/project/sphinx-prompt/ Signed-off-by: Anshul Dalal <[email protected]>
2025-05-01efi_loader: fix typo initd_sz to initrd_szAdriano Cordova
Signed-off-by: Adriano Cordova <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-05-01efi_loader: bootbin: do not load an initrd if none is providedAdriano Cordova
Do not try to create an initrd device path nor try to register an initrd with the EFI_LOAD_FILE2_PROTOCOL if none is provided. Handle initrd installation in efi_binary_run_dp with efi_install_initrd, imitating what is done for the fdt. Fixes: 36835a9105c ("efi_loader: binary_run: register an initrd") Reported-by: Weizhao Ouyang <[email protected]> Signed-off-by: Adriano Cordova <[email protected]> Tested-by: Weizhao Ouyang <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-05-01uthread: doc: fix inline documentationJerome Forissier
Fix Sphinx warnings: $ make htmldocs [...] ./include/uthread.h:56: warning: cannot understand function prototype: 'enum uthread_mutex_state ' ./include/uthread.h:64: warning: cannot understand function prototype: 'struct uthread_mutex ' ./include/uthread.h:56: warning: cannot understand function prototype: 'enum uthread_mutex_state ' ./include/uthread.h:64: warning: cannot understand function prototype: 'struct uthread_mutex ' Signed-off-by: Jerome Forissier <[email protected]> Reported-by: Tom Rini <[email protected]> Tested-by: Heinrich Schuchardt <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-04-30mtd: mtdpart: Support MTDPART_SIZ_FULL in fixed-partitionsMike Looijmans
Flash partitions may specify MTDPART_SIZ_FULL (=0) as the size of the partition to indicate "the remainder of the flash". Make this work with device-tree "fixed-partitions" as well. This makes MTD partitioning compatible with the Linux kernel, see: https://github.com/torvalds/linux/blob/master/include/linux/mtd/partitions.h#L29 https://github.com/torvalds/linux/blob/master/drivers/mtd/mtdpart.c#L123 Previously, this could only be done through MTDPARTS so this change allows boards like topic_miami to migrate from `mtdparts`/`mtdids` to devicetree partitions. Signed-off-by: Mike Looijmans <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]>
2025-04-30clk: fix crash on clk_set_rate clean rate cacheChristian Marangi
It's currently possible to make the bootloader crash on calling clk_set_rate caused by the loop in clk_clean_rate_cache. The loop assume that every child of the clock node are also clock device but this is not always the case. For example it's common for a clock to bind to a reset device or also expose a syscon if the clock register map is also used to apply special configuration. In such case, on accessing a device as a clock, the bootloader crash. To correctly handle this, check if the child device is actually a clock and ignore otherwise. Fixes: 6b7fd3128f71 ("clk: fix set_rate to clean up cached rates for the hierarchy") Signed-off-by: Christian Marangi <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]>
2025-04-30common: board: fix build condition of noncached memory initcallWeijie Gao
CONFIG_SYS_NONCACHED_MEMORY is defined as hex, not bool. It should be replaced with CONFIG_SYS_HAS_NONCACHED_MEMORY when switched from #ifdef to CONFIG_IS_ENABLED(). Fixes: 6c171f7a184 (common: board: make initcalls static) Signed-off-by: Weijie Gao <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> # rock5b Reviewed-by: Jerome Forissier <[email protected]>
2025-04-29Revert "mtd: spi-nor: Remove recently added SST special case"Prasad Kummari
SST(sst26wf016) flashes have multiple erase block sizes, including 8 KB, 32 KB, and 64 KB. Since a 64 KB sector erase cannot be performed on all blocks, the 4 KB sector erase command should be used instead. Enabling the SPI_FLASH_USE_4K_SECTORS configuration allows the use of 4 KB sector erases, but it may increase the erase operation time for large memory flashes. This reverts commit 34cd4a72fb2d113e2754c0d643618a8e3fa549ab MEMORY ORGANIZATION: The SST26WF016B/016BA SQI memory array is organized in uniform, 4 KByte erasable sectors with the following erasable blocks: eight 8 KByte parameter, two 32 KByte overlay, and thirty 64 KByte overlay blocks. See Figure 3-1. Top of Memory Block ┌──────────┐ │ 8 KByte │ ├──────────┤ │ 8 KByte │ ├──────────┤ │ 8 KByte │ ├──────────┤ │ 8 KByte │ ├──────────┤ │ 32 KByte │ ├──────────┤ │ 64 KByte │ ├──────────┤ │ 64 KByte │ ├──────────┤ │ 64 KByte │ ├──────────┤ │ 32 KByte │ ├──────────┤ │ 8 KByte │ ├──────────┤ │ 8 KByte │ ├──────────┤ │ 8 KByte │ ├──────────┤ │ 8 KByte │ └──────────┘ Bottom of Memory Block ┌────────────────────────────────┐ │ 64 KByte │ ├────────────────────────────────┤ │ 64 KByte │ └────────────────────────────────┘ Expanded View: ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ 4 KB │ │ 4 KB │ │ 4 KB │ │ 4 KB │ ├──────┤ ├──────┤ ├──────┤ ├──────┤ │ . . . (continues) . . . │ └──────┘ └──────┘ └──────┘ └──────┘ 2 Sectors for 8 KByte blocks 8 Sectors for 32 KByte blocks 16 Sectors for 64 KByte blocks Link: https://ww1.microchip.com/downloads/en/DeviceDoc/20005013D.pdf Signed-off-by: Prasad Kummari <[email protected]>
2025-04-29drivers: spi: Fix data loss issue in QSPINaresh Kumar Ravulapalli
QSPI driver performs chip select operation before every read/write access. During this operation, driver needs to enable and disable the QSPI controller. This may cause data loss if there is inadvertent halting of any ongoing read/write operation. To avoid this scenario, waiting for the QSPI status to be idle before next read/write operation is implemented. Signed-off-by: Naresh Kumar Ravulapalli <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-04-29Merge patch series "Add support for Infineon S28HL256T and S28HL02GT"Tom Rini
Takahiro Kuwano <[email protected]> says: Those are 3.0V, 256Mb/2Gb NOR Flash devices with Octal interface. Same fanctionalities with 1.8V version that are already supported. Link: https://lore.kernel.org/r/[email protected]
2025-04-29mtd: spi-nor-ids: Add support for S28HL02GTTakahiro Kuwano
Infineon S28HL02GT is 3.0V, 2Gb Flash device with Octal interface. It has the same functionalities with S28HS02GT. Link: https://www.infineon.com/dgdl/Infineon-S28HS02GT_S28HS04GT_S28HL02GT_S28HL04GT_2Gb_4Gb_SEMPER_Flash_Octal_interface_1.8V_3.0V-DataSheet-v01_00-EN.pdf?fileId=8ac78c8c7e7124d1017f0631e33714d9 Reviewed-by: Tudor Ambarus <[email protected]> Signed-off-by: Takahiro Kuwano <[email protected]>
2025-04-29mtd: spi-nor-ids: Add support for S28HL256TTakahiro Kuwano
Infineon S28HL256T is 3.0V, 256Mb Flash device with Octal interface. It has the same functionalities with S28HS256T. Link:https://www.infineon.com/dgdl/Infineon-S28HS256T_S28HL256T_256Mb_SEMPER_Flash_Octal_interface_1_8V_3-DataSheet-v02_00-EN.pdf?fileId=8ac78c8c8fc2dd9c018fc66787aa0657 Reviewed-by: Tudor Ambarus <[email protected]> Signed-off-by: Takahiro Kuwano <[email protected]>
2025-04-29mtd: spi-nor: Use CONFIG_IS_ENABLED for CONFIG_SPI_FLASH_BAR definesBernhard Messerklinger
At the moment a mixture of ifdef(CONFIG_IS_ENABLED) and CONFIG_IS_ENABLED(SPI_FLASH_BAR) is used in the spi-nor framework. This leads to misbehaviour in the SPL as there is no Kconfig option CONFIG_SPL_SPI_FLASH_BAR. This commit standardizes the use of CONFIG_SPI_FLASH to get SPLs that load U-Boot proper from the SPI flash to work again. Fixes: 9bb02f7 (mtd: spi-nor: Fix the spi_nor_read() when config SPI_STACKED_PARALLEL is enabled) Signed-off-by: Bernhard Messerklinger <[email protected]>
2025-04-29mtd: spi-nor: Add NO_CHIP_ERASE flag for mt35xu01g/2gVenkatesh Yadav Abbarapu
Since the opcode SPINOR_OP_CHIP_ERASE (0xc7) is not supported for the mt35xu01g/2g flashes, the NO_CHIP_ERASE flag has been added to enable sector erase functionality instead. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]>
2025-04-29Docker, CI: Add vexpress_fvp / vexpress_fvp_bloblist supportTom Rini
This adds the vexpress_fvp and vexpress_fvp_bloblist platforms to the list of platforms we test via emulator in CI. In order to do this we need to first have our container runtime have TF-A builds for the vexpress_fvp platform, both with and without transfer list support as well as installing "telnet" so that we can access console. In the CI files we check for the existence of /opt/tf-a/${TEST_PY_BD} and if found, copy bl1.bin and fip.bin to /tmp and set the variables so that we can later run FVP to run. Note that we currently disable the hostfs (semihosting) tests as they trigger a bug in FVP. This has been reported upstream, and can be enabled when fixed. Reviewed-by: Harrison Mutai <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-04-28Prepare v2025.07-rc1v2025.07-rc1Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-04-28mtd: mtdparts: calculate mtd partition offset before calculating sizeWeijie Gao
The mtd partition offset must be calculated first as it will be referenced when calculating the mtd partition size. Change-Id: Iccfd101b0a9597ac240c25670da638a82af28980 Fixes: 1ca97ee9039 (mtd: mtdpart: Support MTD_SIZE_REMAINING with unallocated memory area) Signed-off-by: Weijie Gao <[email protected]> Reported-by: Francesco Dolcini <[email protected]>
2025-04-28mkimage: fix option parsing segfaultCarlos López
getopt_long() expects a NULL-terminated list of structures. The current list in mkimage does not have a zero-filled structure at the end, which can cause getopt_long() to walk past the end of the array when passing an unknown option, causing a segmentation fault. As a reproducer, the following command causes a segmentation fault (tested in Debian 12): mkimage --foobar Signed-off-by: Carlos López <[email protected]>
2025-04-28lmb: use a different bit position for LMB_NOMAPSughosh Ganu
The LMB memory region attributes flags are used to specify the behaviour of the memory regions with respect to allocations -- for e.g. it is allowed to re-allocate a memory region already reserved with the LMB_NONE flag. The flags use values with different bit positions through the BIT() macro. Move the LMB_NOMAP value to bit position 1, and also move the other flags accordingly. Using bit position 0 for LMB_NOMAP results in the logic in lmb_print_region_flags() to break, which prints an incorrect value for the regions with LMB_NOMAP atribute. Fixes: 3d56c06551d ("lmb: Move enum lmb_flags to a u32") Signed-off-by: Sughosh Ganu <[email protected]>