summaryrefslogtreecommitdiff
path: root/board/ti/am65x
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]>
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: am65x: Use generic AM6x board detection functionGuillaume La Roque (TI.com)
Replace the board-specific implementation of do_board_detect() with a call to the generic do_board_detect_am6() function to avoid code duplication across AM6x family boards. 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-09-11board: ti: am65x: Overwrite get_overlay_mmcJudith Mendez
Unlike other K3 SoC's, am65 SoC has the capability to detect daughter cards and automatically generate a list of white-space separated overlays in name_overlays environment variable. When applied during boot with get_overlay_mmc, the path to overlays with default distribution is incorrect where path is currently: boot/dtb and the overlays exist in boot/dtb/ti. Fix the path in get_overlay_mmc so that overlays are automatically applied correctly during boot time. Signed-off-by: Judith Mendez <[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-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-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-04-29board: ti: am65x: Set fw_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 differnet 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]> Acked-by: Ravi Gunasekaran <[email protected]>
2024-04-29board: ti: am65x: Add check for k3-am654-icssg2 in board_fit_config_match()MD Danish Anwar
When CONFIG_TI_ICSSG_PRUETH is enabled, add config name check for the icssg2 overlay in board_fit_config_match() API. Signed-off-by: MD Danish Anwar <[email protected]> Acked-by: Ravi Gunasekaran <[email protected]>
2024-02-20board: ti: am65x: 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: *-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-12-15board: ti: k3: Remove need for CFG_SYS_SDRAM_BASEAndrew Davis
The base address of extended DDR does not change across the K3 family. Setting this per SoC is not needed. Remove this definition to help remove the last bits from K3 include/configs/*.h files. Signed-off-by: Andrew Davis <[email protected]>
2023-11-22arm: mach-k3: am65x: 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-20Merge tag 'v2024.01-rc3' into nextTom Rini
Prepare v2024.01-rc3
2023-11-10tree-wide: Replace http:// link with https:// link for ti.comNishanth Menon
Replace instances of http://www.ti.com with https://www.ti.com Signed-off-by: Nishanth Menon <[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-09-24common: Drop linux/printk.h from common headerSimon Glass
This old patch was marked as deferred. Bring it back to life, to continue towards the removal of common.h Move this out of the common header and include it only where needed. Signed-off-by: Simon Glass <[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-15common: return type board_get_usable_ram_topHeinrich Schuchardt
board_get_usable_ram_top() returns a physical address that is stored in gd->ram_top. The return type of the function should be phys_addr_t like the current type of gd->ram_top. Signed-off-by: Heinrich Schuchardt <[email protected]>
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-21doc: board: ti: Update documentation for binman flowNeha Malcom Francis
Earlier documentation specified builds for generating bootloader images using an external TI repository k3-image-gen and core-secdev-k3. Modify this to using the binman flow so that user understands how to build the final boot images. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]>
2023-07-21am65: dts: binman: Package tiboot3.bin, sysfw.itb, tispl.bin, u-boot.imgNeha Malcom Francis
Support has been added for both HS-SE(SR 2.0) and GP(SR 2.0) images. HS-SE: * tiboot3-am65x_sr2-hs-evm.bin * sysfw-am65x_sr2-hs-evm.itb * tispl.bin * u-boot.img GP: * tiboot3.bin --> tiboot3-am65x_sr2-gp-evm.bin * sysfw.itb --> sysfw-am65x_sr2-gp-evm.itb * tispl.bin_unsigned * u-boot.img_unsigned Note that the bootflow followed by AM65x requires: tiboot3.bin: * R5 SPL * R5 SPL dtbs sysfw.itb: * 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-21am65x: yaml: Add AM65x board config filesNeha Malcom Francis
Added YAML configs for AM65x Signed-off-by: Neha Malcom Francis <[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-04-24arm: mach-k3: Move MSMC fixup to SoC levelAndrew Davis
The MSMC fixup is something we do based on SoC, not based on the board. So this fixup does not belong in the board files. Move this to the mach-k3 common file so that it does not have to be done in each board that uses these SoCs. We use ft_system_setup() here instead of ft_board_setup() since it is no longer board level. Enable OF_SYSTEM_SETUP in the configurations that use this to keep functionality the same. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2023-03-29include: configs: am65x_evm: Change to using .envNikhil M Jain
Move to using .env file for setting up environment variables for am65x. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Tom Rini <[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-12-05global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_*Tom Rini
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS_SDRAM namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-09-23board_f: Fix types for board_get_usable_ram_top()Pali Rohár
Commit 37dc958947ed ("global_data.h: Change ram_top type to phys_addr_t") changed type of ram_top member from ulong to phys_addr_t but did not changed types in board_get_usable_ram_top() function which returns value for ram_top. So change ulong to phys_addr_t type also in board_get_usable_ram_top() signature and implementations. Fixes: 37dc958947ed ("global_data.h: Change ram_top type to phys_addr_t") Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-07-25arm: mach-k3: Rename SOC_K3_AM6 to SOC_K3_AM654Andrew Davis
The first AM6x device was the AM654x, but being the first we named it just AM6, since more devices have come out with this same prefix we should switch it to the normal convention of using the full name of the first compatibility device the series. This makes what device we are talking about more clear and matches all the K3 devices added since. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2022-07-25board: ti: am65x: Do not disable SA2UL in DTAndrew Davis
This is no longer needed as the SA2UL can now be shared with Linux. Leave the SA2UL DT node enabled. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Tom Rini <[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-03-04arm: mach-k3: am6_init: Use CONFIG_TI_I2C_BOARD_DETECTChristian Gmeiner
We only want to call do_board_detect() if CONFIG_TI_I2C_BOARD_DETECT is set. Same as done for am64. This makes it possible to add a custom am65 based board design to U-Boot that does not use this board detection mechanism. Signed-off-by: Christian Gmeiner <[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-02-02common: Drop asm/global_data.h from common headerSimon Glass
Move this out of the common header and include it only where needed. In a number of cases this requires adding "struct udevice;" to avoid adding another large header or in other cases replacing / adding missing header files that had been pulled in, very indirectly. Finally, we have a few cases where we did not need to include <asm/global_data.h> at all, so remove that include. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-01-12board: ti: am65x: Set SERDES0 mux to PCIe to use USB 2.0 interfaceAswath Govindraju
It has been observed that setting SERDES0 lane mux to USB prevents USB 2.0 operation on USB0. Setting SERDES0 lane mux to non-USB when USB0 is used in USB 2.0 only mode solves this issue. However, for USB3.0+2.0 operation this issue is not present. Implement this workaround by writing 1 to LANE_FUNC_SEL field in CTRLMMR_SERDES0_CTRL register. Signed-off-by: Aswath Govindraju <[email protected]>
2020-08-11configs: Add new config for supporting USB mass storage bootFaiz Abbas
Because of space constraints, create a new USB defconfig for R5 to faciliate booting from USB mass storage devices Signed-off-by: Faiz Abbas <[email protected]>
2020-08-11configs: Add defconfig for USB DFU bootmodeFaiz Abbas
Because of space constraints, create a new USB defconfig for R5 to faciliate booting in USB peripheral (DFU) bootmode Signed-off-by: Faiz Abbas <[email protected]>
2020-08-11board: ti: am65x: Update fdt fixup logic for interconnect nodesSuman Anna
The DT nodes on AM65x SoCs currently use a node name "interconnect" for the various interconnects. This name is not following the DT schema, and should simply be "bus". Update the fdt fixup logic to use both the current and the expected corrected path names so that this logic won't be broken with newer kernels. The logic also corrects the crypto node name as the DT node unit-addresses are all expected to be lower case. Signed-off-by: Suman Anna <[email protected]>
2020-07-17treewide: convert bd_t to struct bd_info by coccinelleMasahiro Yamada
The Linux coding style guide (Documentation/process/coding-style.rst) clearly says: It's a **mistake** to use typedef for structures and pointers. Besides, using typedef for structures is annoying when you try to make headers self-contained. Let's say you have the following function declaration in a header: void foo(bd_t *bd); This is not self-contained since bd_t is not defined. To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h> #include <asm/u-boot.h> void foo(bd_t *bd); Then, the include direcective pulls in more bloat needlessly. If you use 'struct bd_info' instead, it is enough to put a forward declaration as follows: struct bd_info; void foo(struct bd_info *bd); Right, typedef'ing bd_t is a mistake. I used coccinelle to generate this commit. The semantic patch that makes this change is as follows: <smpl> @@ typedef bd_t; @@ -bd_t +struct bd_info </smpl> Signed-off-by: Masahiro Yamada <[email protected]>
2020-06-16board: ti: am654: Disable SA2UL node for HS devicesAndrew F. Davis
On HS devices the access to SA2UL is restricted on the non-secure ARM side, disable the node in DT to prevent firewall violations. We used to only disable the TRNG but now that we have full SA2UL support in Linux, in which TRNG is a sub-module, disable both by disabling the parent SA2UL node. Signed-off-by: Andrew F. Davis <[email protected]>
2020-06-02arm: ti: Remove ARCH= references from documentationTom Rini
When building U-Boot we select the architecture via Kconfig and not ARCH being passed in via the environment or make cmdline. Cc: Lokesh Vutla <[email protected]> Cc: Vitaly Andrianov <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2020-05-25Merge tag 'ti-v2020.07-rc3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-ti - Enable DM_ETH on omap3_logic board - Enable Caches in SPL for K3 platforms - Enable backup boot mode support for J721E - Update the DDR timings for AM654 EVM - Add automated tests for RX-51
2020-05-19arm: mach-k3: Enable dcache in SPLJan Kiszka
Add support for enabling dcache already in SPL. It accelerates the boot and resolves the risk to run into unaligned 64-bit accesses. Based on original patch by Lokesh Vulta. Signed-off-by: Jan Kiszka <[email protected]> Acked-by: Lokesh Vutla <[email protected]>
2020-05-18common: Drop image.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop net.h from common headerSimon Glass
Move this header out of the common header. Network support is used in quite a few places but it still does not warrant blanket inclusion. Note that this net.h header itself has quite a lot in it. It could be split into the driver-mode support, functions, structures, checksumming, etc. Signed-off-by: Simon Glass <[email protected]>