Skip to content

Conversation

Grippy98
Copy link
Contributor

Description

This adds support for the AM62L Development Board from Texas Instruments

How Has This Been Tested?

Built against main/edge

Checklist:

  • [ x ] My code follows the style guidelines of this project

Copy link
Contributor

coderabbitai bot commented Sep 12, 2025

Walkthrough

Adds a new TI-TMDSAM62L-EVM board configuration file with board metadata, boot/kernel settings, OP-TEE and CC33XX flags, and a post_family_config__tmds62l_evm_overrides() function that declares/sets global branch/tag variables. Enables AM62L-specific UDMA kernel config (CONFIG_TI_K3_UDMA_AM62L) in two kernel config files. Updates K3 family build logic to accept EXTRA_ATF_TARGETS and EXTRA_BOOT_ARGS, and to gate tiboot3.bin/sysfw.itb generation on TIBOOT3_BOOTCONFIG being set; includes a minor comment removal.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

BSP, size/medium

Suggested reviewers

  • igorpecovnik
  • rpardini
  • glneo

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The current title "Add Initial Support for TI AM62L EVM (TMDS62LEVM)" concisely and accurately summarizes the primary change in this changeset — adding initial board support for the TI AM62L/TMDS62L EVM as evidenced by the new board config and related kernel/config updates.
Description Check ✅ Passed The PR description states that it adds support for the AM62L development board, notes it was tested by building against main/edge, and includes a brief checklist, which is directly related to the changeset and therefore satisfies this lenient description check.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 3603f81 and 3d39b44.

📒 Files selected for processing (1)
  • config/boards/ti-tmds62l-evm.conf (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • config/boards/ti-tmds62l-evm.conf
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added size/small PR with less then 50 lines 11 Milestone: Fourth quarter release Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... labels Sep 12, 2025
@coderabbitai coderabbitai bot requested a review from rpardini September 12, 2025 19:12
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
config/boards/ti-tmds62l-evm.conf (1)

21-30: OP-TEE disabled here; align the top-level to not build or inject it

You’re clearing SPD_OPTEED (no OP-TEE). With the k3.conf change suggested above, TEE will no longer be injected when OP-TEE is off, avoiding unnecessary OP-TEE builds and mismatched BL31. If you prefer to enforce at board level too, you can also set EXTRA_BOOT_ARGS without TEE and rely on the conditional in k3.conf.

I can follow up with a PR update if you want this enforced strictly at board level as well.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between aed9ff4 and 3603f81.

📒 Files selected for processing (4)
  • config/boards/ti-tmds62l-evm.conf (1 hunks)
  • config/kernel/linux-k3-current.config (1 hunks)
  • config/kernel/linux-k3-edge.config (1 hunks)
  • config/sources/families/k3.conf (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-11T06:12:54.213Z
Learnt from: SuperKali
PR: armbian/build#8609
File: config/boards/nanopi-r76s.conf:5-5
Timestamp: 2025-09-11T06:12:54.213Z
Learning: In the Armbian build system, board family configuration files (like config/sources/families/rk35xx.conf) can inherit kernel branch definitions from common include files (like config/sources/families/include/rockchip64_common.inc). Even if a branch like "edge" is not defined directly in the family conf file, it may be available through the sourced include file.

Applied to files:

  • config/boards/ti-tmds62l-evm.conf
🧬 Code graph analysis (3)
config/kernel/linux-k3-current.config (1)
lib/functions/compilation/armbian-kernel.sh (2)
  • armbian_kernel_config_apply_opts_from_arrays (418-448)
  • kernel_config_set_y (380-384)
config/boards/ti-tmds62l-evm.conf (3)
.github/generate_CODEOWNERS.sh (1)
  • generate_for_board (18-68)
lib/functions/configuration/main-config.sh (1)
  • write_config_summary_output_file (488-541)
lib/functions/main/config-prepare.sh (1)
  • config_source_board_file (95-153)
config/sources/families/k3.conf (3)
lib/functions/artifacts/artifact-uboot.sh (1)
  • artifact_uboot_build_from_sources (140-179)
lib/functions/compilation/uboot.sh (2)
  • deploy_built_uboot_bins_for_one_target_to_packaging_area (352-371)
  • loop_over_uboot_targets_and_do (301-350)
lib/functions/compilation/atf.sh (1)
  • compile_atf (10-108)
🔇 Additional comments (4)
config/kernel/linux-k3-edge.config (1)

776-776: UDMA AM62L enablement looks correct

Placed after CONFIG_TI_K3_UDMA and before the glue layer; consistent with k3-current.

config/kernel/linux-k3-current.config (1)

803-803: UDMA AM62L enablement looks correct

Matches edge config; no conflicts spotted.

config/sources/families/k3.conf (1)

64-64: ATF target map extension is fine

Empty patchdir via the double-semicolon and extra targets are parsed correctly by existing cut logic.

config/boards/ti-tmds62l-evm.conf (1)

6-6: Verified: U-Boot defconfig is am62lx_evm_defconfig

Upstream TI U-Boot uses am62lx_evm_defconfig for the AM62L EVM (TMDS62LEVM); leave BOOTCONFIG unchanged.

EXTRA_BOOT_ARGS="BL1=bl1.bin"
CC33XX_SUPPORT="yes"

# Use these branches until BeagleY-AI goes upstream
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/BeagleY-AI/AM62L TF-A

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the beagle comment but what's the
AM62L TF-A? bit

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The thing we are waiting on is TF-A upstream support for AM62L, that is why we use these different branches, so the comment should be:

# Use these branches until AM62L TF-A goes upstream

substituting BeagleY-AI for AM62L TF-A in the comment makes the change needed.

@coderabbitai coderabbitai bot requested a review from glneo September 12, 2025 20:53
@@ -0,0 +1,31 @@
# Texas Instruments AM62L dual core 2GB 2xGBE OSPI HDMI
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggesting to rename this file since other TI boards also don't have the TI prefix in the file name to keep consistency..

Copy link
Contributor Author

@Grippy98 Grippy98 Sep 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue with this board is all the others we've added before were SK (Starter Kits), this one is a different larger form factor so the actual name is TMDS62LEVM.

To group them better should we rename future boards to TI- for official boards? So we'd end up with ti-am62b-sk ti-am64-sk etc? Open to ideas.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renaming a board after it has been added is problematic so we can or should only make decision for the future rather than the past. I've learned that when trying to rename rpi4b to simple rpi but that was declined.
Overall there are both boards with and without vendor prefix at this time. So IMHO we should consider existing boards when naming new ones. For now at least.

}

function compile_k3_bootgen() {
# Source code checkout
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why drop this comment?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
11 Milestone: Fourth quarter release Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review size/small PR with less then 50 lines
Development

Successfully merging this pull request may close these issues.

3 participants