summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-15drivers: mtd: nand: Kconfig: Add SYS_NAND_PAGE_SIZE dependencyDinesh Maniyam
Add SYS_NAND_PAGE_SIZE dependency for cadence NAND. This config is needed as the SPL driver will use this parameter to read uboot-proper image in NAND during booting. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: Enabled Kconfig and Makefile for Cadence-SPLDinesh Maniyam
Enable the Kconfig and Makefile for the Cadence-Nand SPL support in agilex5 family device. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: spl: Add support for nand SPL load imageDinesh Maniyam
Add support for spl nand to load binary image from NAND to RAM. Leverage the existing nand_spl_load_image from nand_spl_loaders.c Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: base: Add support for Hardware ECC for check bad blockDinesh Maniyam
Leverage linux code to support hardware ECC interface to verify nand bad block. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: nand: Enabled Kconfig and Makefile for cdns-nandDinesh Maniyam
Enable the Kconfig and Makefile for the Cadence NAND driver for the agilex5 family device. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: cadence: Use bounce bufferDinesh Maniyam
Enable nand to use bounce buffer. In bounce buffer, read/write buf will use cadence->buf which has been allocated using malloc. This will align the memory and avoid memory to be allocated in different addresses. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: cadence: Poll for desc complete statusDinesh Maniyam
Poll for thread complete status to ensure the descriptor processing is complete. If complete then can ensure controller already update the descriptor status. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: cadence: Flush & invalidate dma descriptorDinesh Maniyam
Ensure ddr memory is updated with the data from dcache. This would help to ensure cdma always reading the latest dma descriptor from ddr memory. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: cadence: Support cmd SET_FEATURES & GET_FEATURESDinesh Maniyam
Support NAND_CMD_SET_FEATURES & NAND_CMD_GET_FEATURES. These commands is one of the basic commands of NAND. The parameters get from these commands will be used to set timing mode of NAND data interface. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: cadence: Add support for NAND_CMD_RESETDinesh Maniyam
Support nand reset command for Cadence Nand Driver. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: cadence: Add support for NAND_CMD_PARAMDinesh Maniyam
Add support for reading param page of NAND device. These paramaters are unique and used for identification purpose. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: cadence: Add support for readid commandDinesh Maniyam
Add support for readid command in Cadence NAND driver. The id is unique and used for flash identification. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: cadence: Add support for read status commandDinesh Maniyam
Add support for read status command in Cadence NAND driver. This status bit is important to check whether the flash is write-protected. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15drivers: mtd: nand: Add driver for Cadence NandDinesh Maniyam
Enable driver for Cadence NAND for the family device agilex5. This driver is leveraged from the path /drivers/mtd/nand/raw/cadence-nand-controller.c from the stable version 6.11.2. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15arm: dts: agilex5: Enabled cdns-nand dts settingDinesh Maniyam
Enable cdns-nand dts setting for the socfpga_agilex5 family device. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-15dt: nand: add cadence nand dt-bindingsDinesh Maniyam
The Cadence NAND is a configurable mtd raw block which supports multiple options for chipsets, clocking and reset structure, and feature list. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-03-14Merge patch series "Enable USB MSC Boot for AM62, AM62A and AM62P"Tom Rini
Siddharth Vadapalli <[email protected]> says: This series adds config fragment for enabling USB MSC boot and USB Storage devices which are applicable to AM62, AM62A and AM62P SoCs. Series has been tested on AM62A7-SK, AM625-SK and AM62P5-SK for USB MSC boot where the bootloaders were generated in the following manner: 1. AM62A7-SK (AM62A SoC): - tiboot3.bin => am62ax_evm_r5_defconfig + am62x_r5_usbmsc.config - tispl.bin and u-boot.img => am62ax_evm_a53_defconfig + am62x_a53_usbmsc.config 2. AM625-SK (AM62 SoC): - tiboot3.bin => am62x_evm_r5_defconfig + am62x_r5_usbmsc.config - tispl.bin and u-boot.img => am62x_evm_a53_defconfig + am62x_a53_usbmsc.config 3. AM62P5-SK (AM62P SoC): - tiboot3.bin => am62px_evm_r5_defconfig + am62x_r5_usbmsc.config - tispl.bin and u-boot.img => am62px_evm_a53_defconfig + am62x_a53_usbmsc.config The images were flashed to a USB Flash Drive and were connected to the Type-C interface on each of the boards which supports USB MSC Boot. Logs corresponding to this series: 1. AM62A7-SK: https://gist.github.com/Siddharth-Vadapalli-at-TI/3518cba3edc57bf52d06a7df932928ca 2. AM625-SK: https://gist.github.com/Siddharth-Vadapalli-at-TI/098568be7b482436d27fdc8adae15ce4 3. AM62P5-SK: https://gist.github.com/Siddharth-Vadapalli-at-TI/50e29073033668e7d904a785bfbc9c0b The following device-tree changes were made across all of the boards: https://gist.github.com/Siddharth-Vadapalli-at-TI/2afb913838c1d4005bc059910c09ab4b Link: https://lore.kernel.org/r/[email protected]
2025-03-14configs: am62x_a53: introduce fragment for USB MSC bootSiddharth Vadapalli
Introduce the config fragment for enabling USB MSC boot. USB MSC boot involves fetching the next stage of the bootloader from a USB Mass Storage device such as a USB Flash Drive with the USB controller on the SoC acting as the USB Host. Signed-off-by: Siddharth Vadapalli <[email protected]>
2025-03-14configs: am62x_r5: introduce fragment for USB MSC bootSiddharth Vadapalli
Introduce the config fragment for enabling USB MSC boot. USB MSC boot involves fetching the next stage of the bootloader from a USB Mass Storage device such as a USB Flash Drive with the USB controller on the SoC acting as the USB Host. Signed-off-by: Siddharth Vadapalli <[email protected]>
2025-03-14common: console: Delete obsolete VIDCONSOLE_AS_{LCD, NAME} optionsDragan Simic
The configuration options CONFIG_VIDCONSOLE_AS_LCD and CONFIG_VIDCONSOLE_AS_ NAME have been marked as obsolete and scheduled for deletion in late 2020. That's already long overdue and the last remaining consumers of these options have already migrated to using "vidconsole" in their "stdout" and "stderr" environment variables, so let's delete these two configuration options. Signed-off-by: Dragan Simic <[email protected]> Acked-by: Soeren Moch <[email protected]> # tbs2910
2025-03-14arm: dts: npcm7xx: correct the timer nodeJim Liu
Correct the timer node of dts Signed-off-by: Jim Liu <[email protected]>
2025-03-14Merge tag 'mmu-next-14032025' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm into next Up to now we configure the entire memory space for U-Boot as RWX. For modern architectures and security requirements, it's better to map the memory properly. This pull request adds basics support for mapping the U-Boot binary with proper (RO, RW, RW^X) memory permissions on aarch64 right after we relocate U-Boot in the top of DRAM. It's worrth noting that the linker script annotations are only added for the aarch64 architecture. We can, in the future, try to unify the linker -- at least for the architectures that have enough in common and expand this
2025-03-14arm64: Enable RW, RX and RO mappings for the relocated binaryIlias Apalodimas
Now that we have everything in place switch the page permissions for .rodata, .text and .data just after we relocate everything in top of the RAM. Unfortunately we can't enable this by default, since we have examples of U-Boot crashing due to invalid access. This usually happens because code defines const variables that it later writes. So hide it behind a Kconfig option until we sort it out. It's worth noting that EFI runtime services are not covered by this patch on purpose. Since the OS can call SetVirtualAddressMap which can relocate runtime services, we need to set them to RX initially but remap them as RWX right before ExitBootServices. Link: https://lore.kernel.org/u-boot/[email protected]/ Link: https://lore.kernel.org/u-boot/[email protected]/ Reviewed-by: Jerome Forissier <[email protected]> Reviewed-by: Richard Henderson <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-03-14treewide: Add a function to change page permissionsIlias Apalodimas
For armv8 we are adding proper page permissions for the relocated U-Boot binary. Add a weak function that can be used across architectures to change the page permissions Tested-by: Neil Armstrong <[email protected]> # on AML-S905X-CC Signed-off-by: Ilias Apalodimas <[email protected]>
2025-03-14arm64: mmu_change_region_attr() add an option not to break PTEsIlias Apalodimas
The ARM ARM (Rev L.a) on section 8.17.1 describes the cases where break-before-make is required when changing live page tables. Since we can use a function to tweak block and page permissions, where BBM is not required split the existing mmu_change_region_attr() into two functions and create one that doesn't require BBM. Subsequent patches will use the new function to map the U-Boot binary with proper page permissions. While at it add function descriptions in their header files. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-03-14arm: Prepare linker scripts for memory permissionsIlias Apalodimas
Upcoming patches are switching the memory mappings to RW, RO, RX after the U-Boot binary and its data are relocated. Add annotations in the linker scripts to and mark text, data, rodata sections and align them to a page boundary. It's worth noting that .efi_runtime memory permissions are left untouched for now. There's two problems with EFI currently. The first problem is that we bundle data, rodata and text in a single .efi_runtime section which also must be close to .text for now. As a result we also dont change the permissions for anything contained in CPUDIR/start.o. In order to fix that we have to decoule .text_rest, .text and .efi_runtime and have the runtime services on their own section with proper memory permission annotations (efi_rodata etc). The efi runtime regions (.efi_runtime_rel) can be relocated by the OS when the latter is calling SetVirtualAddressMap. Which means we have to configure those pages as RX for U-Boot but convert them to RWX just before ExitBootServices. It also needs extra code in efi_tuntime relocation code since R_AARCH64_NONE are emitted as well if we page align the section. Due to the above ignore EFI for now and fix it later once we have the rest in place. Acked-by: Jerome Forissier <[email protected]> Tested-by: Neil Armstrong <[email protected]> # on AML-S905X-CC Reviewed-by: Richard Henderson <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-03-14doc: update meminfo with arch specific informationIlias Apalodimas
Since we added support in meminfo to dump live page tables, describe the only working architecture for now (aarch64) and add links to public documentation for further reading. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-03-14meminfo: add memory details for armv8Ilias Apalodimas
Upcoming patches are mapping memory with RO, RW^X etc permsissions. Fix the meminfo command to display them properly Acked-by: Jerome Forissier <[email protected]> Reviewed-by: Caleb Connolly <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-03-13Merge tag 'u-boot-imx-next-20250313' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/25142 - Support Toradex i.MX6 Apalis/Colibri v1.2 SoM. - Guard tee.bin inclusion on imx9, - Remove unneeded regulator entry on DH i.MX6 DHCOM DRC02 devicetree. - Add i.MX mailbox driver - Convert ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE to Kconfig. - Cope with existing optee node on imx8m.
2025-03-13ARM: dts: imx: Drop bogus regulator extras on DH i.MX6 DHCOM DRC02Marek Vasut
The regulator extras should be placed in the USB H1 regulator node, the /regulator-usb-h1-vbus. They are already present there in the upstream DT, so delete this bogus node entirely. Signed-off-by: Marek Vasut <[email protected]>
2025-03-13Kconfig: Introduce CONFIG_WERRORPaul Barker
Add a new config option under "General setup" to enable the -Werror flag when building U-Boot. This is useful during development to help catch mistakes. This is based on a similar config option added to the Linux kernel by Linus in 2021 - see Linux commit 3fe617ccafd6 ("Enable '-Werror' by default for all kernel builds"). The modification of KBUILD_CFLAGS is done in Makefile.extrawarn, matching where it was moved in the kernel by Linux commit e88ca24319e4 ("kbuild: consolidate warning flags in scripts/Makefile.extrawarn"). Signed-off-by: Paul Barker <[email protected]>
2025-03-13lib: rsa: add NULL check for 'algo' inAnton Moryakov
- Check return value of fdt_getprop for NULL. - Return -EFAULT if 'algo' property is missing. - Prevent NULL pointer dereference in strcmp." Triggers found by static analyzer Svace. Signed-off-by: Anton Moryakov <[email protected]>
2025-03-13memory: ti-gpmc: Alloc per driver private structVignesh Raghavendra
Driver uses dev_get_priv() but never allocates it in its declaration leading to various crashes. Fix this by explicitly allocating the storage. Fixes: 9b0b5648d6e4 ("memory: Add TI GPMC driver") Signed-off-by: Vignesh Raghavendra <[email protected]>
2025-03-13board: ti: j784s4: Update Resource Management configsVaishnav Achath
Update rm-cfg.yaml and tifs-rm-cfg.yaml to account for the changes added in the K3 Resource Partitioning Tool v1.18 The change enables resource sharing between A72_2 and MAIN_0_R5_0 for the BCDMA CSI RX and TX channels, J784S4 supports upto 12 CSI cameras and 16 channels would not be enough for all such use cases for RTOS and Linux, thus sharing of resources in needed. Resource sharing between A72 and R5 for BCDMA CSI channels allow Linux to use 32 channels at a time. Signed-off-by: Vaishnav Achath <[email protected]> [[email protected]: rebased and sent on behalf] Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2025-03-13cmd: Drop last reference to CMD_REISERFSTom Rini
While the code was removed in commit 3766a249a3c0 ("fs: drop reiserfs") this reference in the Makefile was missed. Remove it now. Fixes: 3766a249a3c0 ("fs: drop reiserfs") Reviewed-by: Peter Robinson <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-03-13mach-k3: common_fdt: create a reserved memory nodeBryan Brattlof
Some device trees may not have a reserved-memory node. Rather than exiting early we should create a new reserved-memory node along with the memory carveout for the firmware we (U-Boot) have placed. Signed-off-by: Bryan Brattlof <[email protected]> Acked-by: Andrew Davis <[email protected]>
2025-03-13test: event: Correct usage of IS_ENABLED() macro in test/common/event.cTom Rini
This file was using IS_ENABLED() to test for CONFIG flags but omitted the CONFIG_ prefix and so did not work as expected. Signed-off-by: Tom Rini <[email protected]>
2025-03-13tools: add HOSTCFLAGS from openssl pkg-configRaymond Mao
HOSTCFLAGS of some tools components (image-host, rsa-sign and ecdsa-libcrypto) depend on the directory where openssl is installed. Add them via pkg-config. This fixes a potential build failure in tools when openssl in installed in varied directories. Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Peter Robinson <[email protected]>
2025-03-13Dockerfile: Add missing 'rm -rf /tmp/coreboot-24.08'Tom Rini
We had missed removing the coreboot directory once done, fix this. Signed-off-by: Tom Rini <[email protected]>
2025-03-13mailbox: add i.MX Messaging Unit (MU) driverPeng Fan
This patch provides a driver for i.MX Messaging Unit (MU) using the commom mailbox framework. This is ported from Linux (v6.12.8) driver drivers/mailbox/imx-mailbox.c. Its commit SHA is: 39d7d6177f0c ("mailbox: imx: use device name in interrupt name") Signed-off-by: Viorel Suman <[email protected]> Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Ye Li <[email protected]>
2025-03-13ARM: dts: imx: Drop bogus regulator extras on DH i.MX6 DHCOM DRC02Marek Vasut
The regulator extras should be placed in the USB H1 regulator node, the /regulator-usb-h1-vbus. They are already present there in the upstream DT, so delete this bogus node entirely. Signed-off-by: Marek Vasut <[email protected]>
2025-03-13imx8m: soc: cope with existing optee nodeVincent Stehlé
On i.MX8M SoCs, the /firmware/optee Devicetree node is created just before booting the OS when OP-TEE is found running. If the node already exists, this results in an error, which prevents the OS to boot: Could not create optee node. ERROR: system-specific fdt fixup failed: FDT_ERR_EXISTS - must RESET the board to recover. failed to process device tree On the i.MX8M systems where CONFIG_OF_SYSTEM_SETUP is defined, the ft_add_optee_node() function is called before booting the OS. It will create the OP-TEE Devicetree node and populate it with reserved memory informations gathered at runtime. On on most i.MX8M systems the Devicetree is built with an optee node if CONFIG_OPTEE is defined. This node is indeed necessary for commands and drivers communicating with OP-TEE, even before attempting OS boot. The aforementioned issue can happen on the Compulab IOT-GATE-iMX8, which is the only in-tree i.MX8M system where both CONFIG_OPTEE and CONFIG_OF_SYSTEM_SETUP are defined (see the imx8mm-cl-iot-gate* defconfigs). Deal with an existing optee node gracefully at runtime to fix this issue. Signed-off-by: Vincent Stehlé <[email protected]> Reviewed-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Tom Rini <[email protected]> Cc: Tim Harvey <[email protected]>
2025-03-13toradex: apalis/colibri imx6: Select correct DTB for SoM v1.2+Ernest Van Hoecke
When "fdtfile" is not set, use the "variant" environment variable to select the correct DTB. Apalis/Colibri iMX6 V1.2 replaced the STMPE811 ADC/Touch controller which is EOL with the TLA2024 ADC and AD7879 touch controller. They thus require a different DTB, which we can easily select with the variant env variable. Signed-off-by: Ernest Van Hoecke <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2025-03-13board: toradex: apalis/colibri imx6: Detect new v1.2 SoM variantErnest Van Hoecke
Apalis/Colibri iMX6 V1.2 will replace the STMPE811 ADC/Touch controller which is EOL by the TLA2024 ADC and AD7879 touch controller. To support this new version, we detect the presence of the TLA2024 during boot and set a new environment variable named "variant". This will allow us and users to select the correct DT easily. By probing via I2C we have a robust detection method instead of relying on the existing "board_rev" environment variable which is set by the config block. Users can use "variant" in their DT selection and do not have to map the board revision to a device tree. "variant" environment variable behaviour: * Empty or absent for all versions below v1.2 (STMPE811) * "-v1.2" for all versions starting from v1.2 (TLA2024 + AD7879) Usage example: setenv fdtfile imx6q-apalis${variant}-${fdt_board}.dtb Signed-off-by: Ernest Van Hoecke <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2025-03-13imx9: container.cfg: Guard tee.bin inclusionFabio Estevam
Guard the inclusion of tee.bin with the CONFIG_OPTEE symbol to fix the following build warning: CHECK u-boot-container.cfgout WARNING './tee.bin' not found, resulting binary may be not-functional BINMAN .binman_stamp OFCHK .config Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-03-13mmc: fsl_esdhc: Migrate ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE to KconfigTom Rini
The flag for enabling the ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE quirk can be handled easily enough in Kconfig. This lets us remove a function but not obviously correct usage of the IS_ENABLED() macro. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-03-13video: renesas-r69328: fix reset gpio directionSvyatoslav Ryhel
The reset GPIO signal operates with a low-active logic. The driver needs to be adjusted to correctly handle this. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-13video: renesas-r69328: add missing mode flagsSvyatoslav Ryhel
Add missing MIPI DSI mode flags. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-13video: renesas-r61307: fix reset gpio directionSvyatoslav Ryhel
The reset GPIO signal operates with a low-active logic. The driver needs to be adjusted to correctly handle this. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-13video: renesas-r61307: adjust compatibleSvyatoslav Ryhel
Vendor prefix of Hitachi should be "hit" to comply Linux vendor prefix list. Signed-off-by: Svyatoslav Ryhel <[email protected]>