summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-29configs: versal2: Enable OPTEE supportVenkatesh Yadav Abbarapu
Add OPTEE support for versal2 platform. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2024-11-29configs: zynqmp_kria: Enable the USB onboard hubVenkatesh Yadav Abbarapu
USB host support on ZYNQMP KRIA SOM needs onboard USB hub driver for handling reset GPIO and for i2c initialization sequence. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Acked-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2024-11-27arm64: zynqmp: Also generate images with single DTMichal Simek
Create u-boot-single.itb where only actual DTB is used not really multiple of DTS from OF_LIST. This results in small files without option to change DT. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/9362da506c13382da0c0d41ad8a111d9c1150f08.1732089924.git.michal.simek@amd.com
2024-11-27Makefile: Drop SPL_FIT_GENERATOR supportMarek Vasut
The SPL_FIT_GENERATOR is long superseded by binman, drop SPL_FIT_GENERATOR support as there are no more users. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/22109373594b6a5d1110be9420ccd8fbb93a61d3.1730452668.git.michal.simek@amd.com
2024-11-27arm64: zynqmp: Remove mkimage fit scriptMichal Simek
Platform has been switched to binman that's why there is no need for this script and also Kconfig symbols. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/cf438091e43c4c9d535a9cfa2886673aa42a4370.1730452668.git.michal.simek@amd.com
2024-11-27arm64: zynqmp: Generate u-boot.itb and QSPI image via binmanMichal Simek
u-boot.itb has been generated via mkimage_fit_atf.sh but it is on the way out that's why convert it's description to binman. Compare to script binman description is not able to configure BL31 and BL32 load/entry addresses which should be done separately. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/90b613796aee38158252c8bb1dfc3da0420f089d.1730452668.git.michal.simek@amd.com
2024-11-27arm64: zynqmp: Add binman description for SOMMichal Simek
There is necessary to do some steps to compose boot images. These steps were in scripts in layers for a while. That's why introduce description via binman to simplify wiring and remove all scripting around. This should make sure that everybody is up2date with the latest versions. The first step is to create fit image with DTBs with descriptions in configuration node which is written as regular expression to match all SOM versions. Description is there for k24 and k26 in spite of low level psu_init configuration is different. The reason is that it goes to u-boot.itb image which is the same for k24 and k26. u-boot.itb is another image which is generated. It is normally generated via arch/arm/mach-zynqmp/mkimage_fit_atf.sh but this script is supposed to be deprecated. FIT image by purpose is using 64bit addresses to have default option to move images to high DDR (above 4GB). TF-A and TEE are optional components but in the most cases TF-A is present all the time and TEE(OP-TEE) is used by some configurations too. 3rd generated image is boot.bin with updated user field which contains version number. This image can be used with updated Image Selector which supports A/B update mechanisms with rollback protection. 4th image is image.bin which binary file which contains boot.bin and u-boot.itb together and can be programmed via origin Image Selector. This image can be also used for creating one capsule which contains both boot images (in SPL boot flow). Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/35bc47a4a4799c5f5dbea56a45340a2810538330.1730452668.git.michal.simek@amd.com
2024-11-27arm64: zynqmp: Describe empty binman nodeMichal Simek
For enabling binman by default there is a need to have at least empty node present that's why create -u-boot.dtsi with empty node to cover all ZynqMP platforms. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/14d874ad4568fa8e3178e893224fecc5c676f04c.1730452668.git.michal.simek@amd.com
2024-11-27common: binman: Calling initr_binman() when BINMAN_FDTMichal Simek
Calling empty function when BINMAN_FDT is adding +64B for nothing which is not helping on size sensitive configurations as Xilinx mini configurations. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/f79dc1fbf796dd5ad290f6080608ee68d7652cfc.1730452668.git.michal.simek@amd.com
2024-11-27binman: Add option for pointing to separate descriptionMichal Simek
Adding binman node with target images description can be unwanted feature but as of today there is no way to disable it. Also on size constrained systems it is not useful to add binman description to DTB. Introduce BINMAN_DTB Kconfig symbol which allows separate DTB for target from DTB for binman itself. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/f1379d2587f9bf279a7a75c318aabbc1b35ee0c6.1730452668.git.michal.simek@amd.com
2024-11-26Merge tag 'u-boot-dfu-next-20241126' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/23573 Android: - bootstd: Implement bootimage v2 support - bootstd: Support non-A/B in bootmeth_android - Migrate VIM3 and VIM3L to use bootmeth_android - bootstd: Additional test for bootimage v2 - bootstd: Optimize load time when reading partitions
2024-11-26Merge tag 'u-boot-imx-next-20241126' 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/23563 - Make Siemens i.MX8 Capricorn board to boot U-Boot mainline again. - Add support for phycore-imx93 2GB LPDDR4X variant. - Add phycore-imx8mm EEPROM detection initialisation.
2024-11-26bootstd: android: don't read whole partition sizesJulien Masson
The current implementation is reading the whole partition for boot and vendor_boot image which can be long following the size of the partition or the time to read blocks (driver/SoC specific). For example with mediatek mt8365 EVK board, we have a 64MiB boot partition and the boot image flashed in this partition is only 42MiB. It takes ~8-9 secs to read the boot partition. Instead we can retrieved the boot image and vendor boot image size with these new functions: - android_image_get_bootimg_size - android_image_get_vendor_bootimg_size Use these information and read only the necessary. By doing this with mt8365 EVK board, we read boot image in ~5 secs. Signed-off-by: Julien Masson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/20241121-bootmeth-android-part-sizes-v1-1-25760bbd0f08@baylibre.com Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-11-26bootstd: Add test for Android boot image v2Guillaume La Roque
Rename actual android bootmethod test to specify it's for boot image version 4. Add a unit test for testing the Android bootmethod with boot image version 2. This requires another mmc image (mmc8) to contain the following partitions: - misc: contains the Bootloader Control Block (BCB) - boot_a: contains a fake generic kernel image we can test this with: $ ./test/py/test.py --bd sandbox --build -k test_ut # build the mmc8.img $ ./test/py/test.py --bd sandbox --build -k bootflow_android Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Guillaume La Roque <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-11-26configs: khadas-vim3_android{_ab}: move on bootmeth androidGuillaume La Roque
Actually khadas vim3 use distro command to boot android image. Move on new bootmeth android for A/B and non-A/B vim3 android. Reviewed-by: Mattijs Korpershoek <[email protected]> Acked-by: Neil Armstrong <[email protected]> Signed-off-by: Guillaume La Roque <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-11-26configs: khadas-vim3l_android{_ab}: move on bootmeth androidGuillaume La Roque
Actually khadas vim3l use distro command to boot android image. Move on new bootmeth android for A/B and non-A/B vim3l android. Reviewed-by: Mattijs Korpershoek <[email protected]> Acked-by: Neil Armstrong <[email protected]> Signed-off-by: Guillaume La Roque <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-11-26bootstd: android: add non-A/B image supportGuillaume La Roque
Update android bootmeth to support non-A/B image. Enable AB support only when ANDROID_AB is enabled. Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Guillaume La Roque <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-11-26bootstd: android: add support of bootimage v2Guillaume La Roque
Android bootmeth only support boot image v3/4. Add support of Android Boot Image version 2 [1]. Vendor boot image is only supported in version 3 and 4 so don't try to read it when header version is less than 3. [1] https://source.android.com/docs/core/architecture/bootloader/boot-image-header#header-v2 Tested-by: Julien Masson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Guillaume La Roque <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-11-25board: phytec: phycore-imx8mm: Add EEPROM detection initialisationYunus Bas
Add EEPROM detection initialisation for phyCORE-i.MX8MM. Signed-off-by: Yunus Bas <[email protected]>
2024-11-25board: phytec: imx93: Add phyCORE-i.MX 93 support for all SOM variantsChristoph Stoidner
The phyCORE-i.MX 93 is available in various variants (e.g. different ram sizes, eMMC HS400 yes/no). Enable hardware introspection for the imx93-phyboard-segin_defconfig, so that during startup the SOM module variant can be detected, and the hardware can be configured accordingly. The resulting SPL and u-boot binary shall able to boot each phyCORE-i.MX 93 module variant on each carrier board. Finally rename imx93-phyboard-segin_defconfig to imx93-phycore_defconfig, to highlight its SOM scope. Signed-off-by: Christoph Stoidner <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> Reviewed-by: Yannic Moog <[email protected]>
2024-11-25board: phytec: imx93: Add eeprom-based hardware introspectionChristoph Stoidner
The phyCORE-i.MX 93 is available in various variants. Relevant variant options for the spl/u-boot are: - with or without HS400 support for the eMMC - with 1GB ram chip, or 2GB ram chip The phyCORE's eeprom contains all information about the existing variant options. Add evaluation of the eeprom data to the spl/u-boot to enable/disable HS400 and to select the appropriate ram configuration at startup. Signed-off-by: Christoph Stoidner <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Primoz Fiser <[email protected]>
2024-11-25board: phytec: phycore-imx93: Add 2GB LPDDR4X RAM timingsChristoph Stoidner
The phyCORE-i.MX 93 is available with a 1GB ram chip or a 2GB ram chip. Add the ram timings for the 2GB chip, in form of a diff compared to the existing LPDDR4X 1GB timings. With that, the SPL can select the appropriate timings at startup. Update also the 1GB ram timings with new version of the DDR Tool. Signed-off-by: Christoph Stoidner <[email protected]> Tested-by: Primoz Fiser <[email protected]>
2024-11-25siemens: capricorn: update maintainersEnrico Leto
update MAINTAINERS file, add some more board maintainers. Signed-off-by: Enrico Leto <[email protected]> Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]>
2024-11-25siemens: add ddr signal integrity testEnrico Leto
The signal integrity test generates pattern on DDR lines for certification. The signals must be as fast as possible and unidirectional. The test is required from our HW team. The available u-boot memory test doesn't full fill the our requirements. The test is planed to be used in all new siemens boards. Signed-off-by: Enrico Leto <[email protected]> Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: add ddr full memory testEnrico Leto
Add siemens specific memory test. Enable it through Kconfig option SPL_CMT. The test is required from our HW team. It runs over temperature during many days: * must run indefinitively through the *whole* DDR area, so we cannot use linux memtest for example. * must write/read/check all values Signed-off-by: Enrico Leto <[email protected]> Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: capricorn: get module name from eepromEnrico Leto
The eeprom contains the information on which module we are running, so read it from the eeprom and print it on the console. Signed-off-by: Enrico Leto <[email protected]> Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: capricorn: get ram size from system controllerEnrico Leto
Get the memory region information from system controller to reduce the number of platform specific headers. We were aligned on NXP mek board implementation. This need at least 1 header per memory configuration. Signed-off-by: Enrico Leto <[email protected]> Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: capricorn: add HW version information to boot logAlessandro Zini
Add the HW version read directly from EEPROM. EEPROM chip data structure is now in a .h file common to draco and capricorn. Therefore move out the definitions in draco board to siemens common place. From: Alessandro Zini <[email protected]> Signed-off-by: Alessandro Zini <[email protected]> Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: capricorn: small board updatesHeiko Schocher
with newest SCFW build_info() works now, so call it from checkboard() now. As we only use uart2 as console, do not init uart0. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]>
2024-11-25siemens: imx8-capricorn.dtsi: add wdt deviceHeiko Schocher
add wdt device Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: capricorn: sync spl code with 8qxp-mekHeiko Schocher
sync spl code with 8qxp-mek board. Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: configs/capricorn_cxg3_defconfig: updatesHeiko Schocher
make savedefconfig and add SCU_WDT and fix environment offsets, as since silicon c0 the boot container takes place at offset 0 and so the u-boot-env must be moved outside of the boot container area. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]>
2024-11-25siemens: imximage.cfg: sync image namesHeiko Schocher
sync the image names in imximage.cfg with the ones used in arch/arm/dts/imx8qxp-u-boot.dtsi Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: imximage.cfg: correct commentHeiko Schocher
fix wrong comment. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]>
2024-11-25siemens: capricorn: use DCD_SKIP entryHeiko Schocher
Boards which use DCD data in SCFW can drop SPL. We tried in our mainline rework to use this approach too as other imx8qxp boards do in mainline. But we failed ... it was a hard way to understand the reason! We cannot use DCD image in container as the SCFW from siemens, does the RAM init on boot itself! Siemens SCFW reads the RAM config from i2c eeprom and dependent on this settings, initializes the RAM. Adding DCD data to the bootcontainer will result in hang of the SCFW, also DCD data in container image is static which do not fit our needs. So we must drop DCD data image, and this has the side effect that we need SPL, as the task which loads the images from the container only loads the images to addresses, and if executed bit is set, starts them. As now RAM is not initialized from it, and there is no option to "wait until SCFW has setup RAM", we can only load SPL into internal RAM at this point, as than SPL and SCFW boot parallel. The SPL itself then uses the SCU API to communicate with the SCFW and it seems that SCFW only responds to this API requests when RAM setup is already done by the SCFW, which has a side-effect of a "sync" for the RAM setup is done by SCFW! We checked if SPL is always save in accessing RAM for loading images to it! For tests, we added in our RAM init part in the SCFW long delays (10 seconds and more) as we thought there is such a sync missing, and we can break the board through delaying RAM setup... but we did not managed to fail booting U-Boot from SPL! Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25siemens: imx8qxp-capricorn-u-boot.dtsi: fix bootHeiko Schocher
current generated flash.bin image does not longer boot on cxg3 board. Rename bootph-pre-ram to bootph-all so flash.bin boots again! Add u-boot specific change (add bootph-all property) in A35_0 node to imx8qxp-capricorn-u-boot.dtsi Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]>
2024-11-25siemens: capricorn: move to cxg3 reference project with deneb boardEnrico Leto
We have many HW with capricorn i.MX8X boards. The difference in u-boot is at all by the display of the LEDs. * put upstream a reference project & board for DT and defconfig * use the capricorn prefix outside the board/siemens/capricorn folder Signed-off-by: Enrico Leto <[email protected]> Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25imx8qxp: Fix build when using SPLHeiko Schocher
imx8qxp based boards which use SPL drop error when calling make all: """ Writing image to './flash.bin' Node '/binman/imx-boot/spl': GetData: size 0x0 Node '/binman/imx-boot': GetPaddedDataForEntry: size 0x0 Node '/binman/imx-boot': GetData: 1 entries, total size 0x0 Node '/binman/imx-boot': GetPaddedDataForEntry: size 0x0 Wrote 0x0 bytes Image 'imx-boot' is missing external blobs and is non-functional: spl /binman/imx-boot/spl (spl.bin): Missing blob Some images are invalid """ Guard creation of flash.bin with CONFIG_XPL_BUILD option. Signed-off-by: Heiko Schocher <[email protected]> Fixes: c9713c155127 ("imx8-u-boot: Fix SPL guard option")
2024-11-25imx: imx_cntr_image.sh: prevent warning for missing splHeiko Schocher
when building U-Boot on imx8qxp and the board port uses SPL, U-boot build shows WARNING '.../spl/u-boot-spl.bin' not found, resulting binary is not-functional This is because U-Boot binary is build first and Makefile calls script imx_cntr_image.sh which checks if files exists... but of course as spl is not yet build the file `spl/u-boot-spl.bin` does not exist yet, so prevent this warning. Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25tools: imx8image: Improve error messageHeiko Schocher
Improve error message "header tag mismatched" Add filename to error message to see, which file is wrong. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]>
2024-11-25net: fec_mxc: fix probing for imx8qxpHeiko Schocher
probing on capricorn board (imx8qxp based) brings: Can't find FEC0 clk rate: -19 Cause is that when probing fec_mxc driver, fec_mii_setspeed() is called which calls fec_get_clk_rate(). fec_mii_setspeed() calls fec_get_clk_rate with NULL pointer for udev and so as in IMX8QXP case CLK_CCF is enabled udev gets searched with: uclass_get_device_by_seq(UCLASS_ETH, idx, &dev); but we do not have yet a UCLASS_ETH ! as we just probing it! Prevent this by passing udev to fec_get_clk_rate() Signed-off-by: Heiko Schocher <[email protected]>
2024-11-25wdt: imx8qxp: add option to control external PMIC wdt via IMX8 SCUHeiko Schocher
Driver for a PMIC watchdog timer controlled via Siemens SCU firmware extensions. Only useful on some Siemens i.MX8-based platforms as special SCFW is needed which provides the needed SCU API. Signed-off-by: Andrej Valek <[email protected]> Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-11-25Merge tag 'v2025.01-rc3' into nextTom Rini
Prepare v2025.01-rc3
2024-11-25Prepare v2025.01-rc3v2025.01-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2024-11-25Merge branch 'master-asix' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-usb - Fix two issues with the asix88179 driver
2024-11-25spi: Fix missed rename from SPI_ADVANCE to SPI_STACKED_PARALLELDominik Wernberger
Fix missed rename from SPI_ADVANCE to SPI_STACKED_PARALLEL. This fixes an issue encountered while testing the Zynq-7000 QSPI parallel Flash implementation. Fixes: f896aa656774 ("mtd: spi-nor: Rename SPI_ADVANCE to SPI_STACKED_PARALLEL") Reviewed-by: Venkatesh Yadav Abbarapu <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Dominik Wernberger <[email protected]>
2024-11-25Merge https://source.denx.de/u-boot/custodians/u-boot-usbTom Rini
- Support for Microchip USB5744 hub
2024-11-25ast2600: spl: Use readl for reading mmioJoel Stanley
u-boot was crashing in qemu as the modeled hardware enforced overly strict memory reads. While this code will work on existing hardware, fix to avoid future issues. Fixes: 12770d0df0e8 ("ast2600: spl: Add boot mode detection") Link: https://gitlab.com/qemu-project/qemu/-/issues/2636 Signed-off-by: Joel Stanley <[email protected]>
2024-11-25mtd: Drop superfluous const qualifierAndy Shevchenko
The compiler will ignore it anyway: include/linux/mtd/mtd.h:342:15: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-11-25eth: asix88179: packet drop when receiving large fragmented packetsKhoa Hoang
The ASIX 88179A drops packets when receiving fragmented packets larger than the MTU size due to an insufficient URB buffer size. This change synchronizes the URB buffer size with the configuration used in the Linux kernel, resolving the packet drop issue. To reproduce the issue, set the following configuration: CONFIG_IP_DEFRAG=y CONFIG_TFTP_BLOCKSIZE=16352 Then, run the `tftp` command. It will fail with a timeout error: U-Boot> tftp zero.bin Using ax88179_eth device TFTP from server 10.0.0.196; our IP address is 10.0.0.18 Filename 'zero.bin' Load address: 0x10000000 Loading: T T T T T T T T T T T Retry count exceeded; starting again Signed-off-by: Khoa Hoang <[email protected]> Reviewed-by: Marek Vasut <[email protected]>