Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions boards/ti/am13e230x_lp/Kconfig.am13e230x_lp
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

config BOARD_AM13E230X_LP
select SOC_AM13E230X
18 changes: 18 additions & 0 deletions boards/ti/am13e230x_lp/am13e230x_lp.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* Copyright (c) 2026 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/

/dts-v1/;

#include <ti/am13/am13e230x.dtsi>

/ {
model = "TI AM13E230X Launchpad";
compatible = "ti,am13e230x";

chosen {
zephyr,sram = &sram0_1_2;
};
};
5 changes: 5 additions & 0 deletions boards/ti/am13e230x_lp/am13e230x_lp_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

CONFIG_XIP=n
9 changes: 9 additions & 0 deletions boards/ti/am13e230x_lp/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2026 Texas Instruments Incorporated
# SPDX-License-Identifier: Apache-2.0

board:
name: am13e230x_lp
full_name: AM13E230X Launchpad
vendor: ti
socs:
- name: am13e230x
30 changes: 30 additions & 0 deletions dts/arm/ti/am13/am13e.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright (c) 2026 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <arm/armv8-m.dtsi>
#include <mem.h>
#include <freq.h>

/{
cpus {
#address-cells = <1>;
#size-cells = <0>;

cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-m33";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
clock-frequency = <DT_FREQ_M(32)>;
};

mpu: mpu@e000ed90 {
compatible = "arm,armv8m-mpu";
reg = <0xE000ED90 0x40>;
};
};
};
36 changes: 36 additions & 0 deletions dts/arm/ti/am13/am13e230x.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (c) 2026 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/

#include "am13e.dtsi"

/ {
#address-cells = <1>;
#size-cells = <1>;

soc {
sram0_1_2: memory@20000000 {
compatible = "zephyr,memory-region";
reg = <0x20000000 DT_SIZE_K(96)>;
zephyr,memory-region = "SRAM012";
};

sram3_cahb: memory@c18000 {
compatible = "zephyr,memory-region";
reg = <0xC18000 DT_SIZE_K(32)>;
zephyr,memory-region = "SRAM3CAHB";
};

sram3_sahb: memory@20018000 {
compatible = "zephyr,memory-region";
reg = <0x20018000 DT_SIZE_K(32)>;
zephyr,memory-region = "SRAM3SAHB";
};
};
};

&nvic {
arm,num-irq-priority-bits = <4>;
};
10 changes: 10 additions & 0 deletions soc/ti/am13/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Texas Instruments AM13 MCU Family
#
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

if(CONFIG_SOC_FAMILY_TI_AM13)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "SoC Linker Script")
add_subdirectory(${SOC_SERIES})
endif()
11 changes: 11 additions & 0 deletions soc/ti/am13/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Texas Instruments AM13 MCU Family
#
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

if SOC_FAMILY_TI_AM13

rsource "*/Kconfig"

endif # SOC_FAMILY_TI_AM13
11 changes: 11 additions & 0 deletions soc/ti/am13/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Texas Instruments AM13 MCU Family
#
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

if SOC_FAMILY_TI_AM13

rsource "*/Kconfig.defconfig"

endif # SOC_FAMILY_TI_AM13
13 changes: 13 additions & 0 deletions soc/ti/am13/Kconfig.soc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Texas Instruments AM13 MCU Family
#
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

config SOC_FAMILY_TI_AM13
bool

config SOC_FAMILY
default "ti_am13" if SOC_FAMILY_TI_AM13

rsource "*/Kconfig.soc"
9 changes: 9 additions & 0 deletions soc/ti/am13/am13e/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Texas Instruments AM13E MCU Series
#
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

zephyr_include_directories(.)

zephyr_sources_ifdef(CONFIG_ARM_MPU mpu_regions.c)
16 changes: 16 additions & 0 deletions soc/ti/am13/am13e/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Texas Instruments AM13E MCU Series
#
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

config SOC_AM13E230X
select ARM
select ARMV8_M_DSP
select BUILD_OUTPUT_BIN
select BUILD_OUTPUT_HEX
select CPU_CORTEX_M33
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select CPU_HAS_ARM_MPU
select CPU_HAS_FPU
21 changes: 21 additions & 0 deletions soc/ti/am13/am13e/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Texas Instruments AM13E MCU Series
#
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

if SOC_SERIES_AM13E

config NUM_IRQS
default 48

config SYS_CLOCK_HW_CYCLES_PER_SEC
default 32000000

config ARM_MPU
default y

config CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS
default y

endif # SOC_SERIES_AM13E
21 changes: 21 additions & 0 deletions soc/ti/am13/am13e/Kconfig.soc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Texas Instruments AM13E MCU Series
#
# Copyright (c) 2026 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_AM13E
bool
select SOC_FAMILY_TI_AM13
help
Enable support for TI AM13E series SoCs

config SOC_AM13E230X
bool
select SOC_SERIES_AM13E

config SOC_SERIES
default "am13e" if SOC_SERIES_AM13E

config SOC
default "am13e230x" if SOC_AM13E230X
26 changes: 26 additions & 0 deletions soc/ti/am13/am13e/mpu_regions.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Copyright (c) 2026 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/arch/arm/mpu/arm_mpu_mem_cfg.h>
#include <zephyr/arch/arm/mpu/arm_mpu.h>
#include <zephyr/devicetree.h>

#define SIZE_K(x) ((x) * 1024)
#define SIZE_M(x) (SIZE_K(x) * 1024)

const struct arm_mpu_region mpu_regions[] = {
MPU_REGION_ENTRY("FLASH", 0x00000000, REGION_FLASH_ATTR(0x00000000, SIZE_K(512))),

MPU_REGION_ENTRY("SRAM0_1_2", 0x20000000, REGION_RAM_ATTR(0x20000000, SIZE_K(96))),

MPU_REGION_ENTRY("SRAM3_CAHB", 0x00C18000, REGION_RAM_ATTR(0x00C18000, SIZE_K(32))),

MPU_REGION_ENTRY("SRAM3_SAHB", 0x20018000, REGION_RAM_ATTR(0x20018000, SIZE_K(32)))};

const struct arm_mpu_config mpu_config = {
.num_regions = ARRAY_SIZE(mpu_regions),
.mpu_regions = mpu_regions,
};
12 changes: 12 additions & 0 deletions soc/ti/am13/am13e/soc.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/*
* Copyright (c) 2026 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/

#ifndef _AM13E_SOC_H
#define _AM13E_SOC_H

#include <cmsis_core_m_defaults.h>

#endif /* _AM13E_SOC_H */
9 changes: 9 additions & 0 deletions soc/ti/am13/soc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2026 Texas Instruments Incorporated
# SPDX-License-Identifier: Apache-2.0

family:
- name: ti_am13
series:
- name: am13e
socs:
- name: am13e230x
Loading