summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-09fwu: gpt: use cached meta-data partition numbersJassi Brar
Use cached values and avoid parsing and scanning through partitions everytime for meta-data partitions because they can't change after bootup. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> Tested-by: Sughosh Ganu <sughosh.ganu@linaro.org>
2023-06-09dt/bindings: fwu-mdata-mtd: drop changes outside FWUJassi Brar
Any requirement of FWU should not require changes to bindings of other subsystems. For example, for mtd-backed storage we can do without requiring 'fixed-partitions' children to also carry 'uuid', a property which is non-standard and not in the bindings. There exists no code yet, so we can change the fwu-mtd bindings to contain all properties within the fwu-mdata node. Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Tested-by: Sughosh Ganu <sughosh.ganu@linaro.org>
2023-06-09Merge branch 'next_soc/v3x' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh into next
2023-06-08ARM: renesas: Add R8A77980 V3HSK board and CPLD codeValentine Barshak
Add board code for the R8A77980 V3HSK board. Add CPLD sysreset driver to the R-Car V3H SK board. Extracted from a larger patch by Valentine Barshak. Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com> Signed-off-by: Hai Pham <hai.pham.ud@renesas.com> Signed-off-by: Tam Nguyen <tam.nguyen.xa@renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> [Marek: Sync configs and board code with V3H Condor, squash CPLD driver in]
2023-06-08ARM: dts: renesas: Add R8A77980 V3HSK DTsValentine Barshak
Import R8A77980 V3HSK DTs from Linux 6.1.31, commit d2869ace6eeb ("Linux 6.1.31"). Extracted from a larger patch by Valentine Barshak. Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com> Signed-off-by: Hai Pham <hai.pham.ud@renesas.com> Signed-off-by: Tam Nguyen <tam.nguyen.xa@renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> # Sync with 6.1.31
2023-06-08ARM: renesas: Add R8A77970 V3MSK board and CPLD codeValentine Barshak
Add board code for the R8A77970 V3MSK board. Add CPLD sysreset driver to the R-Car V3M SK board. Extracted from a larger patch by Valentine Barshak. Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com> Signed-off-by: Hai Pham <hai.pham.ud@renesas.com> Signed-off-by: Tam Nguyen <tam.nguyen.xa@renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> [Marek: Sync configs and board code with V3M Eagle, squash CPLD driver in]
2023-06-08ARM: dts: renesas: Add R8A77970 V3MSK DTsValentine Barshak
Import R8A77970 V3MSK DTs from Linux 6.1.31, commit d2869ace6eeb ("Linux 6.1.31"). Extracted from a larger patch by Valentine Barshak. Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com> Signed-off-by: Hai Pham <hai.pham.ud@renesas.com> Signed-off-by: Tam Nguyen <tam.nguyen.xa@renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> # Sync with 6.1.31
2023-06-08ARM: rmobile: Introduce weak default board_init()Marek Vasut
Introduce weak default board_init() in rcar-common/common.c , which allows complete removal of ebisu.c and condor.c at the same time . Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-06-08ARM: rmobile: Drop eagle.h config of R8A77970 V3M Eagle boardMarek Vasut
The eagle.h is now empty and only includes rcar-gen3-common.h . Use rcar-gen3-common.h directly instead and drop eagle.h . No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-06-08ARM: rmobile: Factor out common R-Car V3M/V3H board codeMarek Vasut
Pull common board initialization code from V3M Eagle board into rcar-common/v3-common.c so it can be re-used by other V3M/V3H boards. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-06-08ARM: rmobile: Reduce R-Car V3H Condor header usageMarek Vasut
There is no need to pull in all those headers as the board file is basically empty. Drop them all. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-06-08ARM: rmobile: Reduce R-Car E3 Ebisu header usageMarek Vasut
There is no need to pull in all those headers as the board file is basically empty. Drop them all. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-06-08ARM: rmobile: Deduplicate R-Car Gen3/Gen4 reset_cpu()Marek Vasut
The reset_cpu() implementation is basically the same across Gen3 SoCs and identical across Gen4 SoCs. Introduce weak default for reset_cpu(), so that it does not have to be duplicated in every board file again. There is a slight difference for CA53 only systems, like E3 and D3, which now check MIDR for CPU ID first just like the other systems, but this is OK since the MIDR always returns CA53 core type and the correct reset register is written. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-06-08Merge tag 'efi-next-20230608' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi into next Pull request efi-next-20230608 UEFI: * Support for firmware versions in capsule updates
2023-06-08test/py: efi_capsule: test for FMP versioningMasahisa Kojima
This test covers the FMP versioning for both raw and FIT image, and both signed and non-signed capsule update. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-06-08test: efi_capsule: refactor efi_capsule testMasahisa Kojima
Current efi capsule python tests have much code duplication. This commit creates the common function in test/py/tests/test_efi_capsule/capsule_common.py, aim to reduce the code size and improve maintainability. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-06-08doc: uefi: add anti-rollback documentationMasahisa Kojima
This commit describe the procedure to configure lowest supported version in the device tree for anti-rollback protection. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
2023-06-08doc: uefi: add firmware versioning documentationMasahisa Kojima
This commit describes the procedure to add the firmware version into the capsule file. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
2023-06-08mkeficapsule: add FMP Payload HeaderMasahisa Kojima
Current mkeficapsule tool does not provide firmware version management. EDK II reference implementation inserts the FMP Payload Header right before the payload. It coutains the fw_version and lowest supported version. This commit adds a new parameters required to generate the FMP Payload Header for mkeficapsule tool. '-v' indicates the firmware version. When mkeficapsule tool is invoked without '-v' option, FMP Payload Header is not inserted, the behavior is same as current implementation. The lowest supported version included in the FMP Payload Header is not used, the value stored in the device tree is used instead. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-06-08efi_loader: check lowest supported versionMasahisa Kojima
The FMP Payload Header which EDK II capsule generation scripts insert has a firmware version. This commit reads the lowest supported version stored in the device tree, then check if the firmware version in FMP payload header of the ongoing capsule is equal or greater than the lowest supported version. If the firmware version is lower than lowest supported version, capsule update will not be performed. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
2023-06-08efi_loader: get lowest supported version from device treeMasahisa Kojima
This commit gets the lowest supported version from device tree, then fills the lowest supported version in FMP->GetImageInfo(). Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-06-08efi_loader: versioning support in GetImageInfoMasahisa Kojima
Current FMP->GetImageInfo() always return 0 for the firmware version, user can not identify which firmware version is currently running through the EFI interface. This commit reads the "FmpStateXXXX" EFI variable, then fills the firmware version in FMP->GetImageInfo(). Now FMP->GetImageInfo() and ESRT have the meaningful version number. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-06-08efi_loader: store firmware version into FmpState variableMasahisa Kojima
Firmware version management is not implemented in the current FMP protocol. EDK II reference implementation capsule generation script inserts the FMP Payload Header right before the payload, FMP Payload Header contains the firmware version and lowest supported version. This commit utilizes the FMP Payload Header, reads the header and stores the firmware version into "FmpStateXXXX" EFI non-volatile variable. XXXX indicates the image index, since FMP protocol handles multiple image indexes. Note that lowest supported version included in the FMP Payload Header is not used. If the platform uses file-based EFI variable storage, it can be tampered. The file-based EFI variable storage is not the right place to store the lowest supported version for anti-rollback protection. This change is compatible with the existing FMP implementation. This change does not mandate the FMP Payload Header. If no FMP Payload Header is found in the capsule file, fw_version, lowest supported version, last attempt version and last attempt status is 0 and this is the same behavior as existing FMP implementation. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
2023-06-08efi_loader: add the number of image entries in efi_capsule_update_infoMasahisa Kojima
The number of image array entries global variable is required to support EFI capsule update. This information is exposed as a num_image_type_guids variable, but this information should be included in the efi_capsule_update_info structure. This commit adds the num_images member in the efi_capsule_update_info structure. All board files supporting EFI capsule update are updated. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-06-01Merge branch '2023-06-01-assorted-platform-updates' into nextTom Rini
- Assorted updates for TI, nuvoton, sandbox and Xen platforms
2023-06-01arm: mach-k3: am625_init: Add Erratum WA for RTC startupNishanth Menon
In the first silicon revision of the am62x family of SoCs, the hardware wakeup event cannot be used if software is unable to unlock the RTC device within one second after boot. To work around this limitation unlock RTC as soon as possible in the boot flow to maximize our chance of linux being able to use this device. Add the erratum i2327 workaround to initialize the RTC. Signed-off-by: Nishanth Menon <nm@ti.com> [bb@ti.com: rebased from 2021.01 and expanded commit and code messages] Signed-off-by: Bryan Brattlof <bb@ti.com>
2023-06-01arm: baltos: switch to CONFIG_DM_I2CYegor Yefremov
Also use the TPS65910 driver directly. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2023-06-01phy: ti: phy-j721e-wiz: Add j721s2-wiz-10g module supportRavi Gunasekaran
Add support for j721s2-wiz-10g device to use clock-names interface instead of explicitly defining clock nodes within device tree node. Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2023-06-01arm: mach-k3: arm64-mmu: do not map ATF and OPTEE regions in A53 MMUKamlesh Gurudasani
ATF and OPTEE regions may be firewalled from non-secure entities. If we still map them for non-secure A53, speculative access may happen, which will not cause any faults and related error response will be ignored, but it's better to not to map those regions for non-secure A53 as there will be no actual access at all. Create separate table as ATF region is at different locations for am64 and am62/am62a. Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com>
2023-06-01arm: mach-k3: j7200: clk-data.c: Add main_uart1 clock dataBhavya Kapoor
Add main_uart1 clocks in clk-data.c for J7200. Now, main_uart1 clocks will be set up while booting the J7200 SoC. Signed-off-by: Bhavya Kapoor <b-kapoor@ti.com>
2023-06-01arm: mach-k3: j7200: dev-data.c: Add main_uart1 device dataBhavya Kapoor
Add device data for main_uart1 in dev-data.c for J7200. Now, main_uart1 will be powered on while booting the J7200 SoC. Signed-off-by: Bhavya Kapoor <b-kapoor@ti.com>
2023-06-01arch: arm: mach-k3: j721e: add support for UDA FSUdit Kumar
When selecting UDA partition for booting. MMC read mode was selected as RAW. Due to growing/changing size of u-boot and tispl images. It will be better change to FS in case of UDA FS instead of adjusting offsets with new change. Signed-off-by: Udit Kumar <u-kumar1@ti.com>
2023-06-01configs: j7200: correct mmc offsetUdit Kumar
This patch corrects the MMC raw mode sector offset. Current allocated size for tiboot3 is 1MB and 2MB for tispl. Without this correct offset eMMC boot will fail. Fixes: f8c1e893c82 (configs: j7200_evm_a72: Add Initial suppot) Fixes: 02dff65efe7 (configs: j7200_evm_r5: Add initial support) Fixes: 360c7f46f39 (configs: Add configs for J7200 High Security EVM) Way to test with eMMC boot from boot0/1 partition Boot with SD card, copy images to eMMC boot0 or boot1 partition => mmc dev 0 (1 or 2) => fatload mmc 1 ${loadaddr} tiboot3.bin => mmc write ${loadaddr} 0x0 0x800 => fatload mmc 1 ${loadaddr} tispl.bin => mmc write ${loadaddr} 0x800 0x1000 => fatload mmc 1 ${loadaddr} u-boot.img => mmc write ${loadaddr} 0x1800 0x2000 => mmc partconf 0 1 (1 or 2) 1 => mmc bootbus 0 2 0 0 Cc: Bhavya Kapoor <b-kapoor@ti.com> Cc: Diwakar Dhyani <d-dhyani@ti.com> Cc: KEERTHY <j-keerthy@ti.com> Signed-off-by: Udit Kumar <u-kumar1@ti.com>
2023-06-01doc: board: ti: add documenation for j7200Udit Kumar
This patch adds documentation for j7200. TRM link https://www.ti.com/lit/pdf/spruiu1 Signed-off-by: Udit Kumar <u-kumar1@ti.com> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2023-06-01arm: mach-k3: j721s2: clk-data.c: Add main_uart5 clock dataBhavya Kapoor
Add main_uart5 clocks in clk-data.c for J721S2. Now, main_uart5 clocks will be set up while booting the J721S2 SoC. Signed-off-by: Bhavya Kapoor <b-kapoor@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
2023-06-01arm: mach-k3: j721s2: dev-data.c: Add main_uart5 device dataBhavya Kapoor
Add device data for main_uart5 in dev-data.c for J721S2. Now, main_uart5 will be powered on while booting the J721S2 SoC. Signed-off-by: Bhavya Kapoor <b-kapoor@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
2023-06-01arm: mach-k3: j721e: clk-data.c: Add main_uart2 clock dataBhavya Kapoor
Add main_uart2 clocks in clk-data.c for J721E. Now, main_uart2 clocks will be set up while booting the J721E SoC. Signed-off-by: Bhavya Kapoor <b-kapoor@ti.com>
2023-06-01arm: mach-k3: j721e: dev-data.c: Add main_uart2 device dataBhavya Kapoor
Add device data for main_uart2 in dev-data.c for J721E. Now, main_uart2 will be powered on while booting the J721E SoC. Signed-off-by: Bhavya Kapoor <b-kapoor@ti.com>
2023-06-01axi: fix definition of axi_sandbox_get_emul()Heinrich Schuchardt
Compiling with gcc 13 results in an error: drivers/axi/axi-emul-uclass.c:16:5: warning: conflicting types for ‘axi_sandbox_get_emul’ due to enum/integer mismatch; have ‘int(struct udevice *, ulong, enum axi_size_t, struct udevice **)’ {aka ‘int(struct udevice *, long unsigned int, enum axi_size_t, struct udevice **)’} [-Wenum-int-mismatch] 16 | int axi_sandbox_get_emul(struct udevice *bus, ulong address, | ^~~~~~~~~~~~~~~~~~~~ In file included from drivers/axi/axi-emul-uclass.c:14: ./arch/sandbox/include/asm/axi.h:48:5: note: previous declaration of ‘axi_sandbox_get_emul’ with type ‘int(struct udevice *, ulong, uint, struct udevice **)’ {aka ‘int(struct udevice *, long unsigned int, unsigned int, struct udevice **)’} 48 | int axi_sandbox_get_emul(struct udevice *bus, ulong address, uint length, | ^~~~~~~~~~~~~~~~~~~~ Adjust the header definition to match the implementation. Define the size parameter as constant. Fixes: 9a8bcabd8ada ("axi: Add AXI sandbox driver and simple emulator") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-06-01firmware: ti_sci: Add missing LF in error messageAndreas Dannenberg
The "Message not acknowledged" error message is missing a line feed, leading to the console log getting garbled and joined together with whatever the next output is in case this error happens: "ti_sci system-controller@44043000: Message not acknowledgedAuthentication failed!" Fix ths by adding the missing linefeed character. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Acked-by: Andrew Davis <afd@ti.com>
2023-06-01pinctrl: nuvoton: set output state before enabling the outputJim Liu
The default output state may be different to request, change the configuration sequence to avoid glitch. Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2023-06-01configs: am62ax_evm_a53_defconfig: Enable YMODEM support at A53 SPLVignesh Raghavendra
This is required for UART boot flow where u-boot.img needs to be downloaded via YMODEM. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
2023-06-01arm: mach-k3: common: reorder removal of firewallsManorit Chawdhry
K3 devices have some firewalls set up by ROM that we usually remove so that the development is easy in HS devices. While removing the firewalls disabling a background region before disabling the foreground regions keeps the firewall in a state where all the transactions will be blacklisted until all the regions are disabled. This causes a race for some other entity trying to access that memory region before all the firewalls are disabled and causes an exception. Since there is no guarantee on where the background regions lie based on ROM configurations or no guarantee if the background regions will allow all transactions across the memory spaces, iterate the loop twice removing the foregrounds first and then backgrounds. Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2023-06-01Revert "arm: mach-k3: common: don't reconfigure background firewalls"Manorit Chawdhry
This reverts commit b8ebf24e7f4afb5093a31bdf122e1ed0781e5c3c. This patch seems to be fundamentally wrong and requires a different way on how the background firewalls should be configured so revert the patch Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2023-06-01doc: Add info for building Xen target with ClangLeo Yan
When build Xen target with Clang, the linker reports failure. This patch adds the related info in the documentation as a known issue and gives details for how to dismiss the building failure with Clang. Signed-off-by: Leo Yan <leo.yan@linaro.org>
2023-06-01arm64: Remove duplicated symbolsLeo Yan
When build U-boot with clang with using commands: $ make HOSTCC=clang xenguest_arm64_defconfig $ make HOSTCC=clang CROSS_COMPILE=aarch64-linux-gnu- \ CC="clang -target aarch64-linux-gnueabi" -j8 The compiler reports error: /tmp/start-acdf31.s:330:1: error: symbol '_start' is already defined _start: ^ Because the symbol '_start' has been defined twice, one is defined in arch/arm/cpu/armv8/start.S, another is defined in the header boot0-linux-kernel-header.h. To fix building failure, this patch removes the symbol '_start' from boot0-linux-kernel-header.h. Signed-off-by: Leo Yan <leo.yan@linaro.org>
2023-06-01Merge branch '2023-05-31-assorted-fixes-and-improvements' into nextTom Rini
- Makefile logic fixes, address some issues that clang uncovers on ARM, assorted code cleanups
2023-05-31mmc: fix improper use of memsetSam Edwards
Buffers created through DEFINE_(CACHE_)ALIGN_BUFFER are actually pointers to the real underlying buffer. Using sizeof(...) is not appropriate in this case. Signed-off-by: Sam Edwards <CFSworks@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2023-05-31common: dfu: Remove leading space charactersRavi Gunasekaran
As per [1], dfu_alt_info is mentioned to be as semicolon separated string of information on each alternate and the parsing logic in the dfu.c is based on this. Typically, the dfu_alt_info_* is defined in .h files as preprocessor macros with 'alt' info separated by semicolon. But when dfu_alt_info_* is added in the environment files(.env) the script at "scripts/env2string.awk" converts a newline to space. Thus adding a space character after semicolon. This results in incorrect parsing in dfu.c which is based on the information that 'alt' info are only semicolon separated. One option is to add dfu_alt_info_* variable in .env in single line. But there is possiblity for it to exceed the line length limit. So update the parsing logic to remove leading space characters before adding to the dfu list. [1]: https://u-boot.readthedocs.io/en/latest/usage/dfu.html Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2023-05-31cmd: sf/nand: Print and return failure when 0 length is passedAshok Reddy Soma
For sf commands, when '0' length is passed for erase, update, write or read, there might be undesired results. Ideally '0' length means nothing to do. So print 'ERROR: Invalid size 0' and return cmd failure when length '0' is passed to sf commands. Same thing applies for nand commands also. Example: ZynqMP> sf erase 0 0 ERROR: Invalid size 0 ZynqMP> sf write 10000 0 0 ERROR: Invalid size 0 ZynqMP> sf read 10000 0 0 ERROR: Invalid size 0 ZynqMP> sf update 1000 10000 0 ERROR: Invalid size 0 ZynqMP> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com>