Skip to content

hal: ti: Add AM261x and AM13E HAL support#87

Open
rosterloh wants to merge 12 commits into
zephyrproject-rtos:masterfrom
rosterloh:am261x-am13e-support
Open

hal: ti: Add AM261x and AM13E HAL support#87
rosterloh wants to merge 12 commits into
zephyrproject-rtos:masterfrom
rosterloh:am261x-am13e-support

Conversation

@rosterloh

Copy link
Copy Markdown

Summary

Adds HAL support for two new TI microcontroller families:

AM261x (Arm Cortex-R5F, dual-core):

  • eDMA driver (edma/v0/) — channel management, PaRAM set configuration,
    transfer completion and error callbacks
  • CSL register headers for all AM261x peripherals (IOMUX, MSS RCM, MSS CTRL,
    mailbox, eDMA trigger XBAR, FSS/FOTA, and more)
  • SoC utility functions (clock, XBAR routing)
  • Removes DPL (OSAL) dependency — pure register-level access compatible with
    Zephyr's driver model

AM13E (Arm Cortex-R5F, based on AM13x):

  • DriverLib headers: dl_sysctl.h, dl_fri.h, common utilities
  • GCC linker script and ramfunc section support
  • OpenOCD debug support

mspm0 (pre-existing):

  • hal: ti: Add name in module.yml (name field was missing)

All code is under TI BSD-3-Clause license, consistent with existing hal_ti content.

Context

This HAL PR is a prerequisite for upstream Zephyr board support for the AM261x
LaunchPad (am261x_lp) submitted in zephyrproject-rtos/zephyr#XXXXX. The
following Zephyr drivers depend on this HAL:

  • drivers/dma/dma_ti_edma — uses <edma.h> and <hw_include/am261x/>
  • soc/ti/am26x/am261x/ — uses CSL clock/XBAR headers
  • soc/ti/am13/am13e/ — uses DriverLib sysctl/FRI headers

Test plan

  • west build -b am261x_lp/am2612/r5f0_0 builds with updated hal_ti
  • eDMA driver passes tests/dma/chan_blen_transfer on am261x_lp
  • west build -b am13e230x_lp builds with updated hal_ti

cc @madhavalakshmanan @madhava-ti @s-shankar

🤖 Generated with Claude Code

MihiraMadhava and others added 12 commits April 17, 2026 13:35
Add name hal_ti in module.yml.

Without this name, the build system was unable to correctly
resolve relative paths to the module's source files, resulting in
CMake errors during the library target creation process.

Signed-off-by: Shreyas Shankar <s-shankar@ti.com>
- Add eDMA driver
- Add supporting hardware and soc files
- Update CMakeLists.txt

Signed-off-by: Shreyas Shankar <s-shankar@ti.com>
This patch removes DPL dependencies from eDMA driver.

Primarily, this patch removes interrupt registration and management.
HwIP objects have also been removed from eDMA Object structs.

Signed-off-by: Shreyas Shankar <s-shankar@ti.com>
The DPL library requirement has been discarded and hence the entry for
source files in the CMakelists.txt has been removed.

Signed-off-by: Mihira Madhava Bollapragada <madhava@ti.com>
Moving the unused functions and variables to #ifdef DPL Preprocessor
flag.

Signed-off-by: Mihira Madhava Bollapragada <madhava@ti.com>
Moved zephyr_library() call inside if(CONFIG_SOC_SERIES_AM261X) to
prevent warnings when building for non-AM261x devices.

Signed-off-by: Sameer Srivastava <s-srivastava4@ti.com>
- added source/device/am13e230x/include/hw
- added source/driverlib/am13e230x
- taken from SDK tag REL.AM13E2X.01.00.00.03

Signed-off-by: Sameer Srivastava <s-srivastava4@ti.com>
- using SDK_PATH and DEVICE for all inclusions
- aliased MemManage_IRQn to MemoryManagement_IRQn
- aliased MSP DL types to those of AM13's for compatibility

Signed-off-by: Sameer Srivastava <s-srivastava4@ti.com>
Updated `.TI.ramfunc` to match Zephyr's `.ramfunc`. This ensures that
SDK driverlib functions marked as RAMFUNC are placed in the `.ramfunc`
section of the Zephyr build.

Signed-off-by: Sameer Srivastava <s-srivastava4@ti.com>
OpenOCD support for AM13E230X includes a host-side flash driver and
device-side flash algorithm that allows quick loading of applications
into flash. This patch can be applied on top of
https://github.com/openocd-org/openocd

Signed-off-by: Sameer Srivastava <s-srivastava4@ti.com>
Updated readme to mention support for AM13E230x and AM13E230x_LP.

Signed-off-by: Sameer Srivastava <s-srivastava4@ti.com>
@rosterloh rosterloh changed the title hal: ti: Add AM261x and AM13E HAL support" hal: ti: Add AM261x and AM13E HAL support Apr 17, 2026
@rosterloh

Copy link
Copy Markdown
Author

Prerequisite for zephyrproject-rtos/zephyr#107469

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants