Skip to content

Commit 209efeb

Browse files
committed
boards: arm: ti: k3: add am243x_evm
This patch adds board support for am2434_evm and am2434 SoC Signed-off-by: Amneesh Singh <[email protected]>
1 parent 70dc8bf commit 209efeb

14 files changed

+315
-19
lines changed
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Texas Instruments Sitara AM243x EVM
2+
#
3+
# Copyright (c) 2025 Texas Instruments Incorporated
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
config BOARD_AM243X_EVM
8+
select SOC_AM2434_M4 if BOARD_AM243X_EVM_AM2434_M4
9+
select SOC_AM2434_R5F0_0 if BOARD_AM243X_EVM_AM2434_R5F0_0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright (c) 2025 Texas Instruments Incorporated
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <zephyr/dt-bindings/pinctrl/ti-k3-pinctrl.h>
8+
9+
&mcu_pinctrl {
10+
status = "okay";
11+
12+
mcu_uart0_rx: mcu_uart0_rx_default {
13+
pinmux = <K3_PINMUX(0x028, PIN_INPUT, MUX_MODE_0)>;
14+
};
15+
16+
mcu_uart0_tx: mcu_uart0_tx_default {
17+
pinmux = <K3_PINMUX(0x02C, PIN_OUTPUT, MUX_MODE_0)>;
18+
};
19+
20+
mcu_gpio0_led: mcu_gpio0_led_default {
21+
pinmux = <K3_PINMUX(0x014, PIN_INPUT, MUX_MODE_7)>;
22+
};
23+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
/*
2+
* Copyright (c) 2025 Texas Instruments Incorporated
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include <zephyr/dt-bindings/gpio/gpio.h>
10+
#include <ti/am64x_m4.dtsi>
11+
#include "am243x_evm_am2434_m4-pinctrl.dtsi"
12+
13+
/ {
14+
model = "TI AM243x EVM M4 core";
15+
compatible = "ti,am243x-evm-m4";
16+
17+
chosen {
18+
zephyr,sram = &sram0;
19+
zephyr,console = &mcu_uart0;
20+
zephyr,shell-uart = &mcu_uart0;
21+
zephyr,ipc = &ipc0;
22+
zephyr,ipc-shm = &ipc_shm0;
23+
};
24+
25+
aliases {
26+
led0 = &ld26;
27+
};
28+
29+
cpus {
30+
cpu@0 {
31+
status = "okay";
32+
clock-frequency = <DT_FREQ_M(400)>;
33+
};
34+
};
35+
36+
leds: leds {
37+
compatible = "gpio-leds";
38+
39+
ld26: led_0 {
40+
gpios = <&mcu_gpio0 5 GPIO_ACTIVE_HIGH>;
41+
};
42+
};
43+
44+
rsc_table: memory@a4100000 {
45+
compatible = "zephyr,memory-region", "mmio-sram";
46+
reg = <0xa4100000 DT_SIZE_K(4)>;
47+
zephyr,memory-region = "RSC_TABLE";
48+
};
49+
50+
ipc_shm0: memory@a5000000 {
51+
compatible = "zephyr,memory-region", "mmio-sram";
52+
reg = <0xa5000000 DT_SIZE_M(8)>;
53+
zephyr,memory-region = "IPC_SHM";
54+
};
55+
56+
ipc0: ipc {
57+
compatible = "zephyr,mbox-ipm";
58+
mboxes = <&mbox6 0>, <&mbox6 1>;
59+
mbox-names = "tx", "rx";
60+
};
61+
};
62+
63+
&mcu_uart0 {
64+
current-speed = <115200>;
65+
pinctrl-0 = <&mcu_uart0_rx &mcu_uart0_tx>;
66+
pinctrl-names = "default";
67+
status = "okay";
68+
};
69+
70+
&mcu_gpio0 {
71+
pinctrl-0 = <&mcu_gpio0_led>;
72+
pinctrl-names = "default";
73+
status = "okay";
74+
};
75+
76+
&mbox6 {
77+
usr-id = <3>;
78+
status = "okay";
79+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Copyright (c) 2025 Texas Instruments Incorporated
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
identifier: am243x_evm/am2434/m4
6+
name: TI AM243x M4
7+
type: mcu
8+
arch: arm
9+
toolchain:
10+
- zephyr
11+
ram: 192
12+
vendor: ti
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Copyright (c) 2025 Texas Instruments Incorporated
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
# Platform Configuration
6+
CONFIG_CORTEX_M_SYSTICK=y
7+
8+
# Zephyr Kernel Configuration
9+
CONFIG_XIP=n
10+
11+
# Serial Driver
12+
CONFIG_SERIAL=y
13+
14+
# Enable Console
15+
CONFIG_CONSOLE=y
16+
CONFIG_UART_CONSOLE=y
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* Copyright (c) 2025 Texas Instruments Incorporated
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <zephyr/dt-bindings/pinctrl/ti-k3-pinctrl.h>
8+
9+
&pinctrl {
10+
status = "okay";
11+
12+
uart0_rx: uart0_rx_default {
13+
pinmux = <K3_PINMUX(0x230, PIN_INPUT, MUX_MODE_0)>;
14+
};
15+
16+
uart0_tx: uart0_tx_default {
17+
pinmux = <K3_PINMUX(0x234, PIN_OUTPUT, MUX_MODE_0)>;
18+
};
19+
20+
i2c0_scl: i2c0_scl_default {
21+
pinmux = <K3_PINMUX(0x260, PIN_INPUT_PULLUP, MUX_MODE_0)>;
22+
};
23+
24+
i2c0_sda: i2c0_sda_default {
25+
pinmux = <K3_PINMUX(0x264, PIN_INPUT_PULLUP, MUX_MODE_0)>;
26+
};
27+
};
28+
29+
&mcu_pinctrl {
30+
status = "okay";
31+
32+
mcu_gpio0_led: mcu_gpio0_led_default {
33+
pinmux = <K3_PINMUX(0x14, PIN_INPUT, MUX_MODE_7)>;
34+
};
35+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
/* Copyright (c) 2025 Texas Instruments Incorporated
2+
*
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include <zephyr/dt-bindings/gpio/gpio.h>
9+
#include <ti/am64x_r5.dtsi>
10+
#include "am243x_evm_am2434_r5f0_0-pinctrl.dtsi"
11+
12+
/ {
13+
model = "TI AM243x EVM R50 Core 0";
14+
compatible = "ti,am243x-evm-r5";
15+
16+
chosen {
17+
zephyr,sram = &sram;
18+
zephyr,sram1 = &atcm;
19+
zephyr,console = &uart0;
20+
zephyr,shell-uart = &uart0;
21+
zephyr,ipc = &ipc0;
22+
zephyr,ipc-shm = &ipc_shm0;
23+
};
24+
25+
aliases {
26+
led0 = &ld26;
27+
};
28+
29+
leds: leds {
30+
compatible = "gpio-leds";
31+
32+
ld26: led_0 {
33+
gpios = <&mcu_gpio0 5 GPIO_ACTIVE_HIGH>;
34+
};
35+
};
36+
37+
rsc_table: memory@a0100000 {
38+
compatible = "zephyr,memory-region", "mmio-sram";
39+
reg = <0xa0100000 DT_SIZE_K(4)>;
40+
zephyr,memory-region = "RSC_TABLE";
41+
zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM) )>;
42+
};
43+
44+
ipc_shm0: memory@a5000000 {
45+
compatible = "zephyr,memory-region", "mmio-sram";
46+
reg = <0xa5000000 DT_SIZE_M(8)>;
47+
zephyr,memory-region = "IPC_SHM";
48+
zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_IO) )>;
49+
};
50+
51+
ipc0: ipc {
52+
compatible = "zephyr,mbox-ipm";
53+
mboxes = <&mbox6 0>, <&mbox6 1>;
54+
mbox-names = "rx", "tx";
55+
};
56+
};
57+
58+
/* system timer */
59+
&timer8 {
60+
status = "okay";
61+
};
62+
63+
&uart0 {
64+
status = "okay";
65+
pinctrl-0 = <&uart0_tx &uart0_rx>;
66+
pinctrl-names = "default";
67+
current-speed = <115200>;
68+
};
69+
70+
&mcu_gpio0 {
71+
pinctrl-0 = <&mcu_gpio0_led>;
72+
pinctrl-names = "default";
73+
status = "okay";
74+
};
75+
76+
&i2c0 {
77+
pinctrl-0 = <&i2c0_scl &i2c0_sda>;
78+
pinctrl-names = "default";
79+
status = "okay";
80+
};
81+
82+
&mbox6 {
83+
usr-id = <0>;
84+
status = "okay";
85+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Copyright (c) 2025 Texas Instruments Incorporated
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
identifier: am243x_evm/am2434/r5f0_0
6+
name: AM243x R5 Core
7+
type: mcu
8+
arch: arm
9+
ram: 256
10+
toolchain:
11+
- zephyr
12+
- gnuarmemb
13+
vendor: ti
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2025 Texas Instruments Incorporated
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
# Zephyr Kernel Configuration
6+
CONFIG_XIP=n
7+
8+
# Serial Driver
9+
CONFIG_SERIAL=y
10+
CONFIG_UART_INTERRUPT_DRIVEN=y
11+
12+
# Enable Console
13+
CONFIG_CONSOLE=y
14+
CONFIG_UART_CONSOLE=y
15+
16+
# Enable MPU
17+
CONFIG_ARM_MPU=y

boards/ti/am243x_evm/board.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: am243x_evm
3+
full_name: TI AM243x-EVM
4+
vendor: ti
5+
socs:
6+
- name: am2434

dts/arm/ti/am64x_m4.dtsi

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#include <mem.h>
88
#include <freq.h>
99
#include <arm/armv7-m.dtsi>
10+
11+
#include "am64x_main.dtsi"
1012
#include "am64x_mcu.dtsi"
1113

1214
/ {

dts/arm/ti/am64x_main.dtsi

+17-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
pinctrl: pinctrl@f4000 {
1414
compatible = "ti,k3-pinctrl";
1515
reg = <0xf4000 0x2ac>;
16-
status = "okay";
16+
status = "disabled";
1717
};
1818

1919
timer0: timer@2400000 {
@@ -243,4 +243,20 @@
243243
#mbox-cells = <1>;
244244
status = "disabled";
245245
};
246+
247+
/* users: r5f0_0, r5f0_1, a53, m4 */
248+
mbox6: mailbox@29060000 {
249+
compatible = "ti,omap-mailbox";
250+
reg = <0x29060000 0x200>;
251+
#mbox-cells = <1>;
252+
status = "disabled";
253+
};
254+
255+
/* users: r5f1_0, r5f1_1, a53, m4 */
256+
mbox7: mailbox@29070000 {
257+
compatible = "ti,omap-mailbox";
258+
reg = <0x29070000 0x200>;
259+
#mbox-cells = <1>;
260+
status = "disabled";
261+
};
246262
};

dts/arm/ti/am64x_mcu.dtsi

+1-17
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
mcu_pinctrl: pinctrl@4084000 {
1414
compatible = "ti,k3-pinctrl";
1515
reg = <0x04084000 0x88>;
16-
status = "okay";
16+
status = "disabled";
1717
};
1818

1919
mcu_uart0: serial@4a00000 {
@@ -60,20 +60,4 @@
6060
ngpios = <23>;
6161
status = "disabled";
6262
};
63-
64-
/* users: r5f0_0, r5f0_1, a53, m4 */
65-
mbox6: mailbox@29060000 {
66-
compatible = "ti,omap-mailbox";
67-
reg = <0x29060000 0x200>;
68-
#mbox-cells = <1>;
69-
status = "disabled";
70-
};
71-
72-
/* users: r5f1_0, r5f1_1, a53, m4 */
73-
mbox7: mailbox@29070000 {
74-
compatible = "ti,omap-mailbox";
75-
reg = <0x29070000 0x200>;
76-
#mbox-cells = <1>;
77-
status = "disabled";
78-
};
7963
};

dts/arm/ti/am64x_r5.dtsi

-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
reg = <0x2fff0000 0x4000>;
5757
interrupt-controller;
5858
#interrupt-cells = <4>; /* {IRQ/FIQ, IRQ_NUM, IRQ_TYPE, IRQ_PRIO} */
59-
status = "okay";
6059
};
6160
};
6261

0 commit comments

Comments
 (0)