summaryrefslogtreecommitdiff
path: root/board/ti/am64x
AgeCommit message (Collapse)Author
2026-06-25Kconfig: board: restyleJohan Jonker
Restyle all Kconfigs: Menu entries : no space left Menu attributes: 1 TAB Help text : 1 TAB + 2 spaces Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-02-23Merge tag 'v2026.04-rc3' into nextTom Rini
Prepare v2026.04-rc3
2026-02-20board: ti: am64,j721*: use correct fdt if eeprom detection failsAnshul Dalal
We currently provide default board names for each board in their respective evm.c file. However for custom boards, this behaviour overwrites the default DT as set in the defconfig (CONFIG_DEFAULT_FDT_FILE or CONFIG_DEFAULT_DEVICE_TREE). This patch changes the default name to be NULL which prevents this overwrite and allows ti_set_fdt_env to instead fallback to the correct DT as set in Kconfig. Signed-off-by: Anshul Dalal <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2026-02-17treewide: Clean up DECLARE_GLOBAL_DATA_PTR usagePeng Fan
Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and drop the unnecessary inclusion of asm/global_data.h. Headers should be included directly by the files that need them, rather than indirectly via global_data.h. Reviewed-by: Patrice Chotard <[email protected]> #STMicroelectronics boards and STM32MP1 ram test driver Tested-by: Anshul Dalal <[email protected]> #TI boards Acked-by: Yao Zi <[email protected]> #TH1520 Signed-off-by: Peng Fan <[email protected]>
2025-11-27board: ti: am6x: Restore do_board_detect functionsGuillaume La Roque (TI.com)
This patch fixes a boot failure on the AM64x EVM that was introduced when the do_board_detect function was removed during a refactoring. It restores the do_board_detect function for the AM64x, AM62x, and AM65x boards to ensure the common board detection logic is executed correctly. Fixes: 804b80288ac ("board: am65x: Use generic AM6x board detection function") Fixes: ce56e553c31 ("board: am64x: Use generic AM6x board detection functions") Fixes: ff1b83c095c ("board: am62x: Add support for reading eeprom data") Signed-off-by: Guillaume La Roque (TI.com) <[email protected]>
2025-11-07board: am64x: Use generic AM6x board detection functionsGuillaume La Roque (TI.com)
Replace the board-specific implementation of do_board_detect() and setup_serial() with calls to the generic do_board_detect_am6() and setup_serial_am6() functions. The generic function provides the same functionality with additional fallback logic to try alternate EEPROM addresses. Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Guillaume La Roque (TI.com) <[email protected]>
2025-10-22spl: split spl_board_fixups to arch/board specificAnshul Dalal
The current spl_board_fixups API allows for modification of spl_image before the SPL jumps to it. This can be used to modify the DT for the next boot stage, however the current API only allows either the machine arch or the board to use it. This limits the utility of the API as there might be certain fixups that should be applied to all boards sharing the same machine architecture with others being board specific. For TI's K3 specifically, this prevents us from performing architecture level fixups since a lot of TI boards are already making use of the spl_board_fixups API. Therefore this patch splits the API into two to allow both board and the architecture specific fixups. The order is kept as arch then board to give board specific fixups the precedence. Reviewed-by: Dhruva Gole <[email protected]> Signed-off-by: Anshul Dalal <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-07-24treewide: Remove empty board_init() function from all boardsSam Protsenko
Commit 86acdce2ba88 ("common: add config for board_init() call") introduced CONFIG_BOARD_INIT option. This option can be disabled for the boards where board_init() function is not needed. Remove empty board_init() calls for all boards where it's possible, and disable CONFIG_BOARD_INIT in all related defconfigs. This cleanup was made semi-automatically using these scripts: [1]. No functional change, but the binary size for the modified boards is reduced a bit. [1] https://github.com/joe-skb7/uboot-convert-scripts/tree/master/remove-board-init Signed-off-by: Sam Protsenko <[email protected]> Tested-by: Adam Ford <[email protected]> #imx8mm_beacon Tested-by: Bryan Brattlof <[email protected]> Acked-by: Peng Fan <[email protected]> #NXP boards
2025-07-11board: ti: Clean up formatting in rm-cfg.yamlNeha Malcom Francis
Move to using the latest generated RM YAML configuration files generated by the K3 Resource Partitioning Tool which updates them to have standard formatting with respect to indentation. These files were generated from the untagged commit 41718bd5f915 ("docs: Update docs and move them to docs folder") of the K3 Resource Partitioning tool. This tool is packaged as a part of the public SDK and is not otherwise publicly available. Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2025-05-09board: ti: sec-cfg.yaml: Fix OTP write_host_id orderAndrew Davis
The write_host_id is the last element here and order does matter. This may have gone unnoticed before as by default all elements are 0, but if this is updated to a different host, it will not work. Update the order so write_host_id is the last element in all current secure board configs. Reported-by: Prashant Shivhare <[email protected]> Signed-off-by: Andrew Davis <[email protected]>
2025-04-11board: remove capsule update support in set_dfu_alt_info()Jonathan Humphreys
Now that capsule update sets the dfu_alt_info environment variable explicitly, there is no need to support it in the set_dfu_alt_info() function. Decouple SET_DFU_ALT_INFO from EFI_CAPSULE_FIRMWARE_FIT and EFI_CAPSULE_FIRMWARE_RAW. For many boards, this was the only use of set_dfu_alt_info() so remove the function entirely. Fixes: a9e6f01a941f ("efi: Define set_dfu_alt_info() for boards with UEFI capsule update enabled") Signed-off-by: Jonathan Humphreys <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> # for board/libre-computer/* Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> # for
2025-02-14Merge patch series "Introduce K3 remoteproc driver for M4 subsystem"Tom Rini
Judith Mendez <[email protected]> says: Some K3 devices like am62x and am64x have a M4 processor in the MCU voltage domain. This patch series introduces remoteproc M4 driver which will be used to load firmware into and start the M4 remote core. This series also adds support for R5F cores on am64x SoCs in patch 2 and sets up environment to load FW in remote cores in patch 3,4,5. This patch series also enables remoteproc drivers by default as per what remoteproc sybsystem is supported per SoC, thus all remoteproc options are now deleted in configs/* since they are no longer required. This patch series was tested on am64x EVM, am62x SK, am62ax SK, am62px SK boards. Any additional tested by's are welcome since I was not able to test any additional boards. Tested by running the following commands in u-boot prompt: => setenv dorprocboot 1 => run boot_rprocs Link: https://lore.kernel.org/r/[email protected]
2025-02-14board: ti: am64x: Add remoteproc specific env supportHari Nagalla
Add remoteproc specific env support for am64x device. If the remoteproc CMD is defined, include the K3 remoteproc environment. Also define rproc_fw_binaries which holds a list of remoteproc FW binaries for u-boot loading of remote cores. Signed-off-by: Hari Nagalla <[email protected]> Signed-off-by: Judith Mendez <[email protected]> Reviewed-by: Andrew Davis <[email protected]>
2025-01-24arm64: configs: Remove obsolete TI configAashvij Shenai
This config is causing conflicts with how fdtfile variable is initialized. For K3 devices, CONFIG_DEFAULT_DEVICE_TREE= "ti/k3-<board>.dtb". With CONFIG_TI_FDT_FOLDER_PATH also prefixing "ti", fdtfile is then "ti/ti/k3-<board>.dtb". This variable is updated when fitImage is booted and fails to boot due to the parsing error "ti/ti/". Given that there are no other users of this config other than K3 for now, it is being removed. Since am64x, j721e and j721s2 also define a DEFAULT_FDT_FILE, update them to conform to the DEFAULT_DEVICE_TREE standard. Signed-off-by: Aashvij Shenai <[email protected]>
2025-01-14board: ti: Pull redundant DDR functions to a common location and Fixup DDR ↵Santhosh Kumar K
size when ECC is enabled As there are few redundant functions in board/ti/*/evm.c files, pull them to a common location of access to reuse and include the common file to access the functions. Call k3-ddrss driver through fixup_ddr_driver_for_ecc() to fixup the device tree and resize the available amount of DDR, if ECC is enabled. Otherwise, fixup the device tree using the regular fdt_fixup_memory_banks(). Also call dram_init_banksize() after every call to fixup_ddr_driver_for_ecc() is made so that gd->bd is populated correctly. Ensure that fixup_ddr_driver_for_ecc() is agnostic to the number of DDR controllers present. Signed-off-by: Santhosh Kumar K <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-10-11board: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-06-20Merge patch series "Enable ICSSG Driver for AM64x"Tom Rini
MD Danish Anwar <[email protected]> says: This series adds config changes and env changes to enable ICSSG Ethernet Driver on AM64x.
2024-06-19board: ti: am64x: Set storage_interface and fw_dev_part ENVsMD Danish Anwar
When ICSSG driver is enabled (CONFIG_TI_ICSSG_PRUETH=y) set storage_interface and fw_dev_part env variables. These variables need be set appropriately in order to load different ICSSG firmwares needed for ICSSG driver. By default the storage interface is mmc and the partition is 1:2. User can modify this based on their needs. Signed-off-by: MD Danish Anwar <[email protected]>
2024-06-18board: am64x: Define capsule update firmware infoJonathan Humphreys
Define the firmware components updatable via EFI capsule update, including defining capsule GUIDs for the various firmware components for the AM64x SK. Signed-off-by: Jonathan Humphreys <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-02-20board: ti: am64x: Set fdtfile from C code instead of findfdt scriptNishanth Menon
We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-01-18board: ti: am64: Support TMDS64EVMRoger Quadros
The TMDS64EVM [1] ships with AM64X SR2.0 HS-FS chip and a slightly different board name in the board information EEPROM header. Support this board. [1] https://www.ti.com/tool/TMDS64EVM Gets rid of below message at boot "Unidentified board claims AM64-EVM in eeprom header" Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2024-01-18board: ti: *-cfg.yaml: Adhere to yamllint rulesNeha Malcom Francis
Clean up all configuration files to adhere to yamllint rules. Signed-off-by: Neha Malcom Francis <[email protected]> [trini: Update more yaml files added since this was posted] Signed-off-by: Tom Rini <[email protected]> Suggested-by: Nishanth Menon <[email protected]>
2023-11-22arm: mach-k3: am64x: Move board selection to mach-k3Andrew Davis
Currently each set of board targets from a vendor is selected inside the board directory for that vendor. This has the problem of multiple targets, one from each vendor, being selectable at the same time. For instance you can select both TARGET_AM654_A53_EVM and TARGET_IOT2050_A53 in the same build. To fix this we need to move the target board choice to a common location for each parent SoC selection. Do this in arch/arm/mach-k3. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22board: ti: Add dependency from TARGET selection to SOCAndrew Davis
Currently the K3 selection for TARGET boards does not depend on the SoC for which it is based. This leds to the odd ability to select for instance both SOC_K3_AM625 and TARGET_J721E_A72_EVM. To fix this the target choice should depend on the matching SOC config. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-07ti: k3: Drop <common.h> usageTom Rini
None of these files need <common.h> to be included, drop it. Signed-off-by: Tom Rini <[email protected]>
2023-10-12board: ti: am64x: Switch to standard boot flowRoger Quadros
Switch to using bootstd. Note with this change, we will stop using distro_bootcmd and instead depend entirely on bootflow method of starting the system up. Drop header files that are no longer needed in am64x_evm.h. k3_dfu.h is available via k3_dfu.env in am64x.env. Drop unused macro CFG_SYS_SDRAM_BASE1. Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-09-08include: env: ti: ti_armv7_common.env: Rename to ti_common.envNishanth Menon
ti_armv7_common does not make any more sense as it is used by armv7 and armv8 TI based platforms. Reported-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Tom Rini <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2023-08-21Merge tag 'v2023.10-rc3' into nextTom Rini
Prepare v2023.10-rc3 Signed-off-by: Tom Rini <[email protected]>
2023-08-17board: ti: am64x: Recognize AM64-HSEVMRoger Quadros
AM64-HSEVM is AM64-GPEVM with High Security Device. Gets rid of "Unidentified board claims AM64-HSEVM in eeprom header". Signed-off-by: Roger Quadros <[email protected]> Acked-by: Andrew Davis <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Tested-by: Nishanth Menon <[email protected]> #SK-AM64B
2023-08-09env: Use include/env for text-environment includesSimon Glass
The 'environment' word is too long. We mostly use 'env' in U-Boot, so use that as the name of the include directory too. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-07-28env: ti: mmc.env: Move mmc related args to common placeVignesh Raghavendra
All K3 SoCs use same set of args to load kernel for MMC. So move this to common place to avoid duplication. Signed-off-by: Vignesh Raghavendra <[email protected]> Signed-off-by: Manorit Chawdhry <[email protected]> Reviewed-by: Nikhil M Jain <[email protected]>
2023-07-21environment: ti: Make get_fdt_mmc commonAndrew Davis
Since get_fdt_mmc is common, factor it out into mmc.env and remove it from each platform env file along with changing the directory path to reflect the standards. Use it in mmcloados but keep loadfdt defined in case it is still used by some external uEnv.txt script. Signed-off-by: Andrew Davis <[email protected]> Signed-off-by: Manorit Chawdhry <[email protected]>
2023-07-21environment: ti: Prefix ARM64 DTB names with directoryAndrew Davis
In Linux the ARM64 DTSs are stored in vendor directories to help organize the files and prevent naming collisions. The deployed DTBs will mirror this and so the vendor prefix should be added to the variable used to locate these files. Suggested-by: Ryan Eatmon <[email protected]> Signed-off-by: Andrew Davis <[email protected]> Signed-off-by: Manorit Chawdhry <[email protected]> Reviewed-by: Nikhil M Jain <[email protected]>
2023-07-21board: ti: am64x: am64x.env: set fdtfile env variableKamlesh Gurudasani
Set fdtfile env variable similar to other k3 socs. Signed-off-by: Kamlesh Gurudasani <[email protected]> Signed-off-by: Manorit Chawdhry <[email protected]> Reviewed-by: Nikhil M Jain <[email protected]>
2023-07-21am64x: dts: binman: Package tiboot3.bin, tispl.bin u-boot.imgNeha Malcom Francis
Support added for HS and GP boot binaries for AM64x. HS-SE: * tiboot3-am64x_sr2-hs-evm.bin * tispl.bin * u-boot.img HS-FS: * tiboot3-am64x_sr2-hs-fs-evm.bin * tispl.bin * u-boot.img GP: * tiboot3.bin --> tiboot3-am64x-gp-evm.bin * tispl.bin_unsigned * u-boot.img_unsigned Note that the bootflow followed by AM64x requires: tiboot3.bin: * R5 SPL * R5 SPL dtbs * sysfw * board-cfg * pm-cfg * sec-cfg * rm-cfg tispl.bin: * ATF * OP-TEE * A53 SPL * A53 SPL dtbs u-boot.img: * A53 U-Boot * A53 U-Boot dtbs Reviewed-by: Simon Glass <[email protected]> [[email protected]: changed output binary names appropriately] Signed-off-by: Andrew Davis <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]>
2023-07-21am64x: yaml: Add board configs for AM64xNeha Malcom Francis
Added YAML configs for AM64xx Signed-off-by: Neha Malcom Francis <[email protected]>
2023-05-08board: ti: am64x: Add support for AM64B SKJudith Mendez
The AM64x SR2.0 SK board uses "AM64B-SKEVM" as the EEPROM identifier. This board is similar to the AM64x SKEVM except that it has a new PMIC that will be enabled in the future and consequently could use a different device tree file in the future. For now we treat the board same as an AM64x SK. Signed-off-by: Judith Mendez <[email protected]> Acked-by: Andrew Davis <[email protected]> Signed-off-by: Vignesh Raghavendra <[email protected]>
2023-04-25include: configs: am64x_evm: Change to using .envNikhil M Jain
Move to using .env file for setting up environment variables for am64x. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]>
2023-04-24arm: mach-k3: Remove empty sys_proto.h includeAndrew Davis
This header file is now empty, remove it. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-03-29board: ti: Kconfig: Correct invalid Kconfig syntaxNeha Malcom Francis
Kconfig does not support using 'select' to select a 'choice'. A choice can be configured by either setting the choice symbol to 'y' in a configuration file or by setting a 'default' of the choice. In board/ti/*/Kconfig the SOC_K3_* choice is already set to 'y' in their corresponding configs/*_defconfig file. So remove selecting it. Signed-off-by: Neha Malcom Francis <[email protected]>
2022-06-28spl: Move SPL_LDSCRIPT defaults to one placeTom Rini
We want to keep all of the default values for SPL_LDSCRIPT in the same place both for overall clarity as well as not polluting unrelated config files. Signed-off-by: Tom Rini <[email protected]>
2022-06-03board: ti: am64x: Update MAINTAINERSDave Gerlach
Move maintainership of TI AM64x boards to Vignesh. Signed-off-by: Dave Gerlach <[email protected]>
2022-04-04board: ti: am64x: Account for DDR size fixups if ECC is enabledDave Gerlach
Call into k3-ddrss driver to fixup device tree and resize the available amount of DDR if ECC is enabled. A second fixup is required from A53 SPL to take the fixup as done from R5 SPL and apply it to DT passed to A53 U-boot, which in turn passes this to the OS. Signed-off-by: Dave Gerlach <[email protected]>
2022-04-04board: ti: am64x: Use fdt functions for ram and bank initDave Gerlach
Use the appropriate fdtdec_setup_mem_size_base and fdtdec_setup_bank_size calls in dram_init and dram_bank_init to pull these values from DT, where they are already available, instead of hardcoding them. Signed-off-by: Dave Gerlach <[email protected]>
2022-01-15board: ti: am64x: Init DRAM size in R5/A53 SPLVignesh Raghavendra
Call dram_init_banksize() from spl_board_init() otherwise TFTP download fails due to lmb_get_free_size() not able to find unreserved region due to lack of DRAM size info. Required to support Ethernet boot on AM64x. Signed-off-by: Vignesh Raghavendra <[email protected]>
2021-09-10board: ti: am64x: Add support for fixing dr_mode while booting from USBAswath Govindraju
Fix the dr_mode in the U-Boot device tree blob, by reading the mode field from the USB Boot Configuration fields. The dr_mode will only be fixed when booting from USB. Signed-off-by: Aswath Govindraju <[email protected]>
2021-09-09MAINTAINERS: Update ARM TI entryLokesh Vutla
Move TI maintainership to Tom. Updated with the following commands: find ./ -name MAINTAINERS | xargs sed -i s/"Lokesh Vutla <[email protected]>"/"Tom Rini <[email protected]>"/g Signed-off-by: Lokesh Vutla <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Acked-by: Tom Rini <[email protected]>
2021-08-02global: Convert simple_strtoul() with hex to hextoul()Simon Glass
It is a pain to have to specify the value 16 in each call. Add a new hextoul() function and update the code to use it. Add a proper comment to simple_strtoul() while we are here. Signed-off-by: Simon Glass <[email protected]>
2021-06-09board: ti: am64x: Set the core voltage of USB PHY to 0.85VAswath Govindraju
Set the core voltage of USB PHY in AM64x to 0.85V in spl_board_init(). Signed-off-by: Aswath Govindraju <[email protected]> Signed-off-by: Lokesh Vutla <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2021-05-12board: ti: am64x: Parse MAC address from board EEPROMVignesh Raghavendra
Parse MAC addresses from EEPROM and set them in the env. This is needed to get MAC address for additional ethernet ports on the EVM. Signed-off-by: Vignesh Raghavendra <[email protected]>