summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-14Merge patch series "introduce basic support for TI's am625-lp-sk"Tom Rini
Bryan Brattlof <bb@ti.com> says: Hello Again Everyone! The am625-lp-sk is a variant of the am625-sk showcasing the low-power features of the am625 SoC Family. Because it's essentially a board and package spin of the am625-sk I've inherited the am625 configuration and overridden what was needed. This is a new spin of Nitin's original work which has been updated significantly since October 2023 https://lore.kernel.org/u-boot/20231030110138.1347603-1-n-yadav@ti.com/ For those of us interested here is proof of life using buildroot: https://paste.sr.ht/~bryanb/40f7787f7760bee383aa8fbc342a29e8544dbdab This also works around a buildman issue not following #include directives. To get around this I've redefined the variables it's looking for inside the lp-sk defconfig to keep it happy for now. I made a pull request on github and everything seems like it's happy https://dev.azure.com/u-boot/u-boot/_build/results?buildId=8634&view=results
2024-06-14Merge patch series "binman: am62a/62p: add support for signing TIFSStub"Tom Rini
Dhruva Gole <d-gole@ti.com> says: Add support for signing of TIFSSTUB images for HSSE, HSFS and GP devices and include them in tispl.bin and tispl.bin_unsigned in AM62A. AM62P doesn't have any GP support, hence not applicable. These changes are required for Low Power Mode features to work on these SoCs as this TIFS Stub gets used in the Low Power Exit sequences. Boot tested on both platforms that are being touched: [0] AM62A, [1] AM62P [0] https://gist.github.com/DhruvaG2000/d5f2a46818d8025a540efe9289feacb4 [1] https://gist.github.com/DhruvaG2000/ce29f6e9315a78d3e9e5810f55f17f43
2024-06-14Merge patch series "arm: dts: am625/am62a7: Switch over to OF_UPSTREAM"Tom Rini
Nishanth Menon <nm@ti.com> says: Cleanup am625 on by switching over the last two platforms (SK and beagleplay) over to OF_UPSTREAM, and while at it, switch over am62a7 (last of the am62* family) over as well. This superscedes the previous version of beagleplay only patch[1] Test logs: https://gist.github.com/nmenon/ba310d3750a80789aca6a4fd90190135
2024-06-14arm: dts: k3: binman: am62p: add support for signing TIFSStub imagesDhruva Gole
Adds TIFS stub binaries, this is required for deepsleep functionality. This implements the same change as commit 128f81290b7d ("arm: dts: k3: binman: am625: add support for signing TIFSSTUB Images") did for TI AM62 SK board. Signed-off-by: Vibhore Vardhan <vibhore@ti.com> Signed-off-by: Dhruva Gole <d-gole@ti.com>
2024-06-14Merge patch series "efi_loader: select BLK not depends on BLK"Tom Rini
Tom Rini <trini@konsulko.com> says: Rework how the BLK symbol is used now that so much DM migration has been completed.
2024-06-14arm: dts: k3: binman: am62a: add support for signing TIFSStub ImagesDhruva Gole
Add support for signing of TIFSSTUB images for HSSE, HSFS and GP devices and include them in tispl.bin and tispl.bin_unsigned. This implements the same change as commit 128f81290b7d ("arm: dts: k3: binman: am625: add support for signing TIFSSTUB Images") did for TI AM62 SK board. Signed-off-by: Vibhore Vardhan <vibhore@ti.com> Signed-off-by: Dhruva Gole <d-gole@ti.com>
2024-06-14Merge patch series "binman: ti: create binman nodes for EFI capsules"Tom Rini
Jonathan Humphreys <j-humphreys@ti.com> says: Add binman nodes for EFI capsules of firmware components so that capsules are automatically created during the UBoot builds. This is enabled for several TI SoC based platforms: AM64, AM62, AM62p, BeaglePlay, AM69, J7, and BeagleboneAI.
2024-06-14dts: j784s4: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the AM69 SK's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14dts: beagleboneai64: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the BeagleBoneAI64's capsule GUID properties of the base binman capsule nodes. Also add it's SYSFW binman capsule node. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14dts: am62x: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the am62x SK's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14dts: am62px: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the am62px SK's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14dts: beagleplay: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the BeaglePlay's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14dts: j721e: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the J721e SK's capsule GUID properties of the base binman capsule nodes. Also add it's SYSFW binman capsule node. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14dts: am64x: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the am64x SK's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14dts: ti: binman: Add base K3 firmware capsule nodesJonathan Humphreys
Create capsule files for tiboot3.bin, tispl.bin, and u-boot.img. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14tools: Build mkeficapsule tool by default if EFI_LOADER is setJonathan Humphreys
Trigger the building of the mkeficapsule tool if EFI_LOADER is enabled. Previously it was triggered on EFI_CAPSULE_ON_DISK, but mkeficapsule is needed when a capsule is being generated for a bootloader stage, not just from the stage applying them. EFI_LOADER is a more accurate approximation of when a capsule may need to be generated. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-14configs: add defconfigs for the am625-lp-skBryan Brattlof
The am62x-lp-sk is a package and reference board spin of the am62x-sk to showcase the low-power features of the am62x SoC family. Because it so closely resembles the am62x-sk board, use the preprocessor to inherit its configuration making the needed changes for this board where necessary. Reviewed-by: Dhruva Gole <d-gole@ti.com> Signed-off-by: Bryan Brattlof <bb@ti.com>
2024-06-14arm: dts: add U-Boot dtbs for the am625-lp-skNitin Yadav
Add the U-Boot device tree overrides for the am62x-lp-sk reference board. Signed-off-by: Nitin Yadav <n-yadav@ti.com> Reviewed-by: Dhruva Gole <d-gole@ti.com> Signed-off-by: Bryan Brattlof <bb@ti.com>
2024-06-14arm: dts: am62a7_sk: Switch to OF_UPSTREAMNishanth Menon
Enable OF_UPSTREAM for am62a7-sk board. Remove DT files that are now available in dts/upstream. Update the appended files based on version of latest OF_UPSTREAM sync point (v6.10-rc1). Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Dhruva Gole <d-gole@ti.com>
2024-06-14arm: dts: am625_sk: Switch to OF_UPSTREAMNishanth Menon
Enable OF_UPSTREAM for am625-sk board. Remove DT files that are now available in dts/upstream. Update the appended files based on version of latest OF_UPSTREAM sync point (v6.10-rc1). Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Dhruva Gole <d-gole@ti.com>
2024-06-14arm: dts: am625_beagleplay: Switch to OF_UPSTREAMNishanth Menon
Enable OF_UPSTREAM for AM625-beagleplay board. Remove DT files that are now available in dts/upstream. Update the appended files based on version of latest OF_UPSTREAM sync point (v6.10-rc1). Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Dhruva Gole <d-gole@ti.com>
2024-06-14block: Update BLK to be def_boolTom Rini
At this point in the DM migration, all platforms enable DM. BLK requires DM. Make BLK "def_bool y" in the cases it had been "default y" to make this clearer. Now remove the symbol requirement from other places as it is redundant here. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-06-14spl: nvme: Make this depend on SPL_BLKTom Rini
As this is an SPL related driver, and in SPL enabling SPL_BLK is optional, make this depend on the correct symbol. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-06-14efi_loader: select BLK not depends on BLKTom Rini
The BLK symbol is used both for "we have a block device subsystem enabled" and "we need to utilize the block device library functions". In the case of efi_loader, it is the case of "we need to utilize the block device library", so select rather than depends on it. In turn, also disable EFI_LOADER on platforms which did not have it on previously due to a lack of block devices. They can enable it themselves if desired. Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-06-13test/py: net_boot: Add test cases for net bootLove Kumar
Add tests for booting image using tftpboot/pxe boot commands, tftpboot boot case loads the FIT image into DDR and boots using bootm command whereas pxe boot cases downloads the pxe configuration file from the TFTP server and interprets it to boot the images mentioned in the pxe configurations file. This test relies on boardenv_* containing configuration values including the parameter 'pattern'. tftpboot/pxe boot cases boots the Linux till the boot log pattern value is matched. For example, if the parameter 'pattern' is defined as 'login:', it will boot till login prompt. Signed-off-by: Love Kumar <love.kumar@amd.com> Tested-by: Tom Rini <trini@konsulko.com>
2024-06-13test/py: Add support to enable check for bad patternLove Kumar
Executing a u-boot command may raise an error or extra bad pattern, beyond the default bad patterns. Providing a way to enable the console output error check in test. For example, description for OS boot test: import re check_type = 'kernel_boot_error' check_pattern = re.compile('ERROR -2: can't get kernel image!') with u_boot_console.enable_check(check_type, check_pattern): u_boot_console.run_command('<boot command>') Signed-off-by: Love Kumar <love.kumar@amd.com>
2024-06-13cmd: bcb: Fix bcb compilation when CONFIG_CMD_BCB=nMattijs Korpershoek
commit dfeb4f0d7935 ("cmd: bcb: extend BCB C API to allow read/write the fields") introduced the bcb_get() function. When CONFIG_CMD_BCB=n, that function is stubbed. The stubbed function has a wrong prototype: value_size arg is missing. Add the missing argument to fix build when CONFIG_CMD_BCB=n. Fixes: dfeb4f0d7935 ("cmd: bcb: extend BCB C API to allow read/write the fields") Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Guillaume La Roque <glaroque@baylibre.com> Reviewed-by: Dmitrii Merkurev <dimorinny@google.com> Reviewed-by: Julien Masson <jmasson@baylibre.com>
2024-06-13imxtract: add support for zstd-compressed imagesDmitry Gerasimov
Allow extraction of zstd-compressed images from FIT using imxtract command. This is especially useful when one has to load an image via some interface (e.g. SPI) rather that just to the memory. Signed-off-by: Dmitry Gerasimov <di.gerasimov@gmail.com>
2024-06-13bcmgenet: fix Rx buffer corruption caused by lack of cache flushYasuharu Shibata
When bcmgenet complete to write Rx buffer with the DMA, some U-Boot commands write data to the buffer directly. Those write data will become dirty in CPU cache. After this driver calls free_pkt to the buffer, the buffer is assigned as the future Rx buffer. At some point, if bcmgenet writes to a buffer with DMA and CPU cache flushes dirty data to the buffer, the buffer is corrupted. This patch calls flush_dcache_range in free_pkt to immediately flush the data written by U-Boot command and prevent data corruption. This issue can be reproduced using wget on Raspberry Pi4. If wget receives data larger than RX_BUF_LENGTH * RX_DESCS = 2048 * 256 bytes, it will timeout due to data corruption. In addition, if LOG_DEBUG is enabled in net/tcp.c, the following error log is output. TCP RX TCP xSum Error Signed-off-by: Yasuharu Shibata <yasuharu.shibata@gmail.com>
2024-06-13configs: j784s4: Enable OSPI NOR bootJonathan Humphreys
Set necessary configs to enable the j784s4 device to boot from OSPI NOR flash. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-13spl: Kconfig: ARCH_K3: Set default SPL_STACK_R_MALLOC_SIMPLE_LEN for R5 buildVignesh Raghavendra
All ARCH_K3 platforms need about of 2MB of malloc space post reallocation. Since, this space is allocated from SDRAM, provide a generous 2MB space by default. Platforms requiring more than 2MB can override in defconfig as needed. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-06-13arm: dts: k3-*-binman: Make default DM file optionalNeha Malcom Francis
The default DM firmware path is non-optional as of now. Make it optional so that users that choose to provide DM via TI_DM argument instead of BINMAN_INDIRS can do so without build errors. Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Kamlesh Gurudasani <kamlesh@ti.com>
2024-06-13env: ti: k3_dfu: Drup mmcpart for rootfsNeha Malcom Francis
According to [0], raw access to mmc should not have mmcpart in the entry. This was fixed in k3_dfu_combined.env but k3_dfu.env had been overlooked. [0] doc/usage/dfu.rst Fixes: 53b406369e9d ("DFU: Check the number of arguments and argument string strictly") Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2024-06-13arm: dts: k3-j721s2-r5: Change GTC clock parentNeha Malcom Francis
MAIN_PLL0 has a flag set in DM (Device Manager) that removes its capability to re-initialise clock frequencies. A72 CPU clock (GTC) and RGMII has MAIN_PLL3 as their parent which does not have this flag. While RGMII needs re-initialization to default frequency to be able to get 250MHz with its divider, GTC can not get its required 200MHz with its dividers. Thus move GTC clock parent on J721S2 from MAIN_PLL3_HSDIV1 to MAIN_PLL0_HSDIV6. This was already done on CPTS node in kernel which was similarly affected (linked). Link: https://lore.kernel.org/all/20230605110443.84568-1-n-francis@ti.com/ Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2024-06-13net: phy: Replace PHY_ANEG_TIMEOUT with Kconfig symbolMarek Vasut
Switch PHY_ANEG_TIMEOUT to CONFIG_PHY_ANEG_TIMEOUT Kconfig symbol. This removes one more configuration headers option finalizes its Kconfig symbol conversion. No functional change expected. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-06-13net: phy: Turn default auto-negotiation timeout into Kconfig symbolMarek Vasut
Let users configure default auto-negotiation timeout via Kconfig instead of specifying it in board configuration headers. This is the first step toward converting this to Kconfig fully, so far the legacy PHY_ANEG_TIMEOUT in configuration headers takes precedence. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-06-13Merge patch series "Enable OSPI boot for j721s2"Tom Rini
Manorit Chawdhry <m-chawdhry@ti.com> says: The series enables ospi boot for j721s2. Test logs: https://gist.github.com/manorit2001/6bb91885c608e3a8cb0267ab2c614781
2024-06-12configs: j721s2_evm_*_defconfig: Enable OSPI configsManorit Chawdhry
Enable OSPI related configs to boot using OSPI Reviewed-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-06-12arch: arm: dts: k3-j721s2-*-u-boot.dtsi: Enable the ospi0 nodeManorit Chawdhry
Enable ospi0 node for all boot stages Reviewed-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-06-12arch: arm: dts: k3-j721s2-r5: Override ospi and fss for 32-bit modeManorit Chawdhry
R5 being a 32-bit processor can't understand the 64-bit mapping being done in ospi node. Override the ospi node for 32-bit register ranges and the fss node ( the parent node of ospi ) to map the ranges for the updated child node correctly. Reviewed-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-06-12mtd: spi-nor-core: Do not start or end writes at odd address in DTR modePratyush Yadav
On DTR capable flashes like Micron Xcella the writes cannot start or end at an odd address in DTR mode. Extra 0xff bytes need to be prepended or appended respectively to make sure both the start and end addresses are even. Signed-off-by: Pratyush Yadav <p.yadav@ti.com> Signed-off-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Tested-by: Jonathan Humphreys <j-humphreys@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-06-11Merge tag 'efi-next-20240611' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi into next Pull request efi-next-20240611 UEFI: * Allow specifying a device-tree in an EFI load option using the efidebug or eficonfig command. * Let the EFI boot manager fall back to an OS provided device-tree if no device-tree is specified.
2024-06-10efi_loader: rename struct efi_initrd_dp to efi_lo_dp_prefixHeinrich Schuchardt
As we now also store device-tree device-paths in load options rename struct efi_initrd_dp to efi_lo_dp_prefix. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-06-10efi_loader: load distro dtb in bootmgrHeinrich Schuchardt
If no device-tree is specified, try to load a device-tree from the boot device use the $fdtfile concatenated to either of the paths '/dtb/', '/', '/dtb/current/'. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-10efi_loader: export efi_load_image_from_pathHeinrich Schuchardt
We can reuse this function to load the device-tree. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-10efi_loader: return binary from efi_dp_from_lo()Heinrich Schuchardt
For finding distro supplied device-trees we need to know from which device we are booting. This can be identified via the device-path of the binary. Up to now efi_dp_from_lo() only could return the initrd or fdt device-path. Allow returning the binary device-path, too. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-10efi_loader: move distro_efi_get_fdt_name()Heinrich Schuchardt
Move distro_efi_get_fdt_name() to a separate C module and rename it to efi_get_distro_fdt_name(). Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-10efi_loader: load device-tree specified in boot optionHeinrich Schuchardt
We allow to specify the triple of binary, initrd, and device-tree in boot options. Add the code to actually load the specified device-tree. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-10cmd: efidebug: add support for setting fdtHeinrich Schuchardt
We already support creating a load option where the device-path field contains the concatenation of the binary device-path and optionally the device path of the initrd which we expose via the EFI_LOAD_FILE2_PROTOCOL. Allow to append another device-path pointing to the device-tree identified by the device-tree GUID. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-10cmd: eficonfig: add support for setting fdtHeinrich Schuchardt
We already support creating a load option where the device-path field contains the concatenation of the binary device-path and optionally the device path of the initrd which we expose via the EFI_LOAD_FILE2_PROTOCOL. Allow to append another device-path pointing to the device-tree identified by the device-tree GUID. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>