boards: arm: ti: k3: add am243x_evm

Add board support for am2434_evm board

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
This commit is contained in:
Amneesh Singh 2025-03-13 16:57:53 +05:30 committed by Daniel DeGrasse
commit 807d81b5cb
10 changed files with 382 additions and 0 deletions

View file

@ -0,0 +1,9 @@
# Texas Instruments Sitara AM243x EVM
#
# Copyright (c) 2025 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0
config BOARD_AM243X_EVM
select SOC_AM2434_M4 if BOARD_AM243X_EVM_AM2434_M4
select SOC_AM2434_R5F0_0 if BOARD_AM243X_EVM_AM2434_R5F0_0

View file

@ -0,0 +1,23 @@
/*
* Copyright (c) 2025 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/dt-bindings/pinctrl/ti-k3-pinctrl.h>
&mcu_pinctrl {
status = "okay";
mcu_uart0_rx: mcu_uart0_rx_default {
pinmux = <K3_PINMUX(0x028, PIN_INPUT, MUX_MODE_0)>;
};
mcu_uart0_tx: mcu_uart0_tx_default {
pinmux = <K3_PINMUX(0x02C, PIN_OUTPUT, MUX_MODE_0)>;
};
mcu_gpio0_led: mcu_gpio0_led_default {
pinmux = <K3_PINMUX(0x014, PIN_INPUT, MUX_MODE_7)>;
};
};

View file

@ -0,0 +1,79 @@
/*
* Copyright (c) 2025 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <ti/am64x_m4.dtsi>
#include "am243x_evm_am2434_m4-pinctrl.dtsi"
/ {
model = "TI AM243x EVM M4F core";
compatible = "ti,am243x-evm-m4";
chosen {
zephyr,sram = &sram0;
zephyr,console = &mcu_uart0;
zephyr,shell-uart = &mcu_uart0;
zephyr,ipc = &ipc0;
zephyr,ipc-shm = &ipc_shm0;
};
aliases {
led0 = &ld26;
};
cpus {
cpu@0 {
status = "okay";
clock-frequency = <DT_FREQ_M(400)>;
};
};
leds: leds {
compatible = "gpio-leds";
ld26: led_0 {
gpios = <&mcu_gpio0 5 GPIO_ACTIVE_HIGH>;
};
};
rsc_table: memory@a4100000 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0xa4100000 DT_SIZE_K(4)>;
zephyr,memory-region = "RSC_TABLE";
};
ipc_shm0: memory@a5000000 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0xa5000000 DT_SIZE_M(8)>;
zephyr,memory-region = "IPC_SHM";
};
ipc0: ipc {
compatible = "zephyr,mbox-ipm";
mboxes = <&mbox6 0>, <&mbox6 1>;
mbox-names = "tx", "rx";
};
};
&mcu_uart0 {
current-speed = <115200>;
pinctrl-0 = <&mcu_uart0_rx &mcu_uart0_tx>;
pinctrl-names = "default";
status = "okay";
};
&mcu_gpio0 {
pinctrl-0 = <&mcu_gpio0_led>;
pinctrl-names = "default";
status = "okay";
};
&mbox6 {
usr-id = <3>;
status = "okay";
};

View file

@ -0,0 +1,12 @@
# Copyright (c) 2025 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0
identifier: am243x_evm/am2434/m4
name: TI AM243x M4
type: mcu
arch: arm
toolchain:
- zephyr
ram: 192
vendor: ti

View file

@ -0,0 +1,16 @@
# Copyright (c) 2025 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0
# Platform Configuration
CONFIG_CORTEX_M_SYSTICK=y
# Zephyr Kernel Configuration
CONFIG_XIP=n
# Serial Driver
CONFIG_SERIAL=y
# Enable Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

View file

@ -0,0 +1,35 @@
/*
* Copyright (c) 2025 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/dt-bindings/pinctrl/ti-k3-pinctrl.h>
&pinctrl {
status = "okay";
uart0_rx: uart0_rx_default {
pinmux = <K3_PINMUX(0x230, PIN_INPUT, MUX_MODE_0)>;
};
uart0_tx: uart0_tx_default {
pinmux = <K3_PINMUX(0x234, PIN_OUTPUT, MUX_MODE_0)>;
};
i2c0_scl: i2c0_scl_default {
pinmux = <K3_PINMUX(0x260, PIN_INPUT_PULLUP, MUX_MODE_0)>;
};
i2c0_sda: i2c0_sda_default {
pinmux = <K3_PINMUX(0x264, PIN_INPUT_PULLUP, MUX_MODE_0)>;
};
};
&mcu_pinctrl {
status = "okay";
mcu_gpio0_led: mcu_gpio0_led_default {
pinmux = <K3_PINMUX(0x14, PIN_INPUT, MUX_MODE_7)>;
};
};

View file

@ -0,0 +1,172 @@
/* Copyright (c) 2025 Texas Instruments Incorporated
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <ti/am64x_r5.dtsi>
#include "am243x_evm_am2434_r5f0_0-pinctrl.dtsi"
/ {
model = "TI AM243x EVM R5F Cluster 0 Core 0";
compatible = "ti,am243x-evm-r5f-cluster-0-core-0";
chosen {
zephyr,sram = &sram;
zephyr,sram1 = &atcm;
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,ipc = &ipc0;
zephyr,ipc-shm = &ipc_shm0;
};
aliases {
led0 = &ld26;
adc0 = &adc0;
};
leds: leds {
compatible = "gpio-leds";
ld26: led_0 {
gpios = <&mcu_gpio0 5 GPIO_ACTIVE_HIGH>;
};
};
rsc_table: memory@a0100000 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0xa0100000 DT_SIZE_K(4)>;
zephyr,memory-region = "RSC_TABLE";
zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM) )>;
};
ipc_shm0: memory@a5000000 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0xa5000000 DT_SIZE_M(8)>;
zephyr,memory-region = "IPC_SHM";
zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_IO) )>;
};
ipc0: ipc {
compatible = "zephyr,mbox-ipm";
mboxes = <&mbox6 0>, <&mbox6 1>;
mbox-names = "rx", "tx";
};
};
/* system timer */
&timer8 {
status = "okay";
};
&uart0 {
status = "okay";
pinctrl-0 = <&uart0_tx &uart0_rx>;
pinctrl-names = "default";
current-speed = <115200>;
};
&mcu_gpio0 {
pinctrl-0 = <&mcu_gpio0_led>;
pinctrl-names = "default";
status = "okay";
};
&i2c0 {
pinctrl-0 = <&i2c0_scl &i2c0_sda>;
pinctrl-names = "default";
status = "okay";
};
&adc0 {
ti,vrefp = <1800>;
ti,fifo = <0>;
status = "okay";
channel@0 {
reg = <0>;
ti,open-delay = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <0>;
zephyr,resolution = <12>;
zephyr,oversampling = <4>;
};
channel@1 {
reg = <1>;
ti,open-delay = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <0>;
zephyr,resolution = <12>;
zephyr,oversampling = <4>;
};
channel@2 {
reg = <2>;
ti,open-delay = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <0>;
zephyr,resolution = <12>;
zephyr,oversampling = <4>;
};
channel@3 {
reg = <3>;
ti,open-delay = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <0>;
zephyr,resolution = <12>;
zephyr,oversampling = <4>;
};
channel@4 {
reg = <4>;
ti,open-delay = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <0>;
zephyr,resolution = <12>;
zephyr,oversampling = <4>;
};
channel@5 {
reg = <5>;
ti,open-delay = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <0>;
zephyr,resolution = <12>;
zephyr,oversampling = <4>;
};
channel@6 {
reg = <6>;
ti,open-delay = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <0>;
zephyr,resolution = <12>;
zephyr,oversampling = <4>;
};
channel@7 {
reg = <7>;
ti,open-delay = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <0>;
zephyr,resolution = <12>;
zephyr,oversampling = <4>;
};
};
&mbox6 {
usr-id = <0>;
status = "okay";
};

View file

@ -0,0 +1,13 @@
# Copyright (c) 2025 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0
identifier: am243x_evm/am2434/r5f0_0
name: AM243x R5 Core
type: mcu
arch: arm
ram: 256
toolchain:
- zephyr
- gnuarmemb
vendor: ti

View file

@ -0,0 +1,17 @@
# Copyright (c) 2025 Texas Instruments Incorporated
#
# SPDX-License-Identifier: Apache-2.0
# Zephyr Kernel Configuration
CONFIG_XIP=n
# Serial Driver
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
# Enable Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
# Enable MPU
CONFIG_ARM_MPU=y

View file

@ -0,0 +1,6 @@
board:
name: am243x_evm
full_name: TI AM243x-EVM
vendor: ti
socs:
- name: am2434