Skip to content

Commit 2ce5f0a

Browse files
committed
boards: infineon: add support for CY8CPROTO-041TP
Add board porting for the Infineon CY8CPROTO-041TP evaluation kit, including necessary device tree, .yml files, and Kconfig definitions. Add support for west build, west flash and west debug Signed-off-by: Sayooj K Karun <[email protected]> Signed-off-by: Manojkumar Konisetty <[email protected]>
1 parent 80eb782 commit 2ce5f0a

File tree

9 files changed

+216
-0
lines changed

9 files changed

+216
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) 2025 Infineon Technologies AG,
2+
# or an affiliate of Infineon Technologies AG.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config BOARD_CY8CPROTO_041TP
7+
select SOC_CY8C4147AZQ_T495
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2025 Infineon Technologies AG,
2+
# or an affiliate of Infineon Technologies AG.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
# OpenOCD cfg
7+
board_runner_args(openocd "--config=${ZEPHYR_BASE}/boards/infineon/cy8cproto_041tp/support/openocd.cfg")
8+
9+
# Include standard OpenOCD runner helpers
10+
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Copyright (c) 2025 Infineon Technologies AG,
2+
# or an affiliate of Infineon Technologies AG.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
board:
7+
name: cy8cproto_041tp
8+
full_name: CY8CPROTO-041TP
9+
vendor: infineon
10+
socs:
11+
- name: cy8c4147azq_t495
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
* Copyright (c) 2025 Infineon Technologies AG,
3+
* or an affiliate of Infineon Technologies AG.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
/* Configure pin drive mode for uart pins */
9+
&p5_2_scb0_uart_tx {
10+
drive-push-pull;
11+
};
12+
13+
&p5_1_scb0_uart_rx {
14+
input-enable;
15+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* Copyright (c) 2025 Infineon Technologies AG,
3+
* or an affiliate of Infineon Technologies AG.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
/dts-v1/;
9+
#include <arm/infineon/cat2/mpns/cy8c4147azq_t495.dtsi>
10+
#include <arm/infineon/cat2/psoc4100tp/system_clocks.dtsi>
11+
12+
/ {
13+
model = "CY8CPROTO-041TP Development Board";
14+
compatible = "infineon,cy8cproto-041tp", "infineon,psoc4100tp";
15+
16+
chosen {
17+
zephyr,sram = &sram0;
18+
zephyr,flash = &flash0;
19+
};
20+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2025 Infineon Technologies AG,
2+
# or an affiliate of Infineon Technologies AG.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
identifier: cy8cproto_041tp
7+
name: CY8CPROTO-041TP Development Board
8+
type: mcu
9+
arch: arm
10+
ram: 32
11+
flash: 128
12+
toolchain:
13+
- zephyr
14+
- gnuarmemb
15+
supported:
16+
- uart
17+
vendor: infineon
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright (c) 2025 Infineon Technologies AG,
2+
# or an affiliate of Infineon Technologies AG.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
# Console
7+
CONFIG_CONSOLE=y
8+
CONFIG_UART_CONSOLE=y
9+
10+
# UART driver
11+
CONFIG_SERIAL=y
12+
13+
# Clock controller
14+
CONFIG_CLOCK_CONTROL=y
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
.. zephyr:board:: cy8cproto_041tp
2+
3+
Overview
4+
********
5+
6+
The PSOC™ 4100T Plus evaluation kit enables you to evaluate and develop applications using the PSOC™ 4100T Plus microcontroller, part of Infineon’s PSOC™ 4 family.
7+
The device integrates an Arm Cortex-M0 CPU running up to 48 MHz, combining programmable analog and digital subsystems to support flexible mixed-signal designs. It features up to 128 KB Flash and 16 KB SRAM, and includes a wide range of configurable peripherals such as SAR ADC, comparators, opamps (CTBm), CapSense™ capacitive touch sensing, and TCPWM for timer/counter/PWM functionality.
8+
9+
32-bit MCU subsystem
10+
- 48-MHz Arm® Cortex®-M0+ CPU with single-cycle multiply
11+
- Up to 128 KB of flash with read accelerator
12+
- Up to 32 KB of SRAM
13+
- Direct memory access (DMA)
14+
- Low-power 1.71 V to 5.5 V operation
15+
- Deep sleep mode with 6 μA always-on touch sensing
16+
- Active touch detection and tracking with 200 μA (average)
17+
- Real Time clock-SW is available
18+
- Power supply: 3.3 V or 5 V operation
19+
20+
Programming and Debugging
21+
*************************
22+
23+
.. zephyr:board-supported-runners::
24+
:KitProg3
25+
26+
Building
27+
========
28+
29+
Here is an example for building the :zephyr:code-sample:`hello_world` sample application.
30+
31+
.. zephyr-app-commands::
32+
:zephyr-app: samples/hello_world
33+
:board: cy8cproto_041tp
34+
:goals: build
35+
36+
Flashing
37+
========
38+
39+
The KIT_XMC72_EVK includes an onboard programmer/debugger (`KitProg3`_) to provide debugging, flash programming, and serial communication over USB. Flash and debug commands use OpenOCD and require a custom Infineon OpenOCD version, that supports KitProg3, to be installed.
40+
41+
Infineon OpenOCD Installation
42+
=============================
43+
44+
Both the full `ModusToolbox`_ and the `ModusToolbox Programming Tools`_ packages include Infineon OpenOCD.
45+
Installing either of these packages will also install Infineon OpenOCD.
46+
47+
If neither package is installed, a minimal installation can be done by downloading the `Infineon OpenOCD`_ release for your system and manually extract the files to a location of your choice.
48+
49+
.. note:: Linux requires device access rights to be set up for KitProg3. This is handled automatically by the ModusToolbox and ModusToolbox Programming Tools installations. When doing a minimal installation, this can be done manually by executing the script ``openocd/udev_rules/install_rules.sh``.
50+
51+
West Commands
52+
=============
53+
54+
The path to the installed Infineon OpenOCD executable must be available to the ``west`` tool commands. There are multiple ways of doing this. The example below uses a permanent CMake argument to set the CMake variable ``OPENOCD``.
55+
56+
.. tabs::
57+
.. group-tab:: Windows
58+
59+
.. code-block:: shell
60+
61+
# Run west config once to set permanent CMake argument
62+
west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd.exe
63+
64+
# Do a pristine build once after setting CMake argument
65+
west build -b cy8cproto_041tp -p always samples/hello_world
66+
67+
west flash
68+
west debug
69+
70+
.. group-tab:: Linux
71+
72+
.. code-block:: shell
73+
74+
# Run west config once to set permanent CMake argument
75+
west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd
76+
77+
# Do a pristine build once after setting CMake argument
78+
west build -b cy8cproto_041tp -p always samples/hello_world
79+
80+
west flash
81+
west debug
82+
83+
Once the gdb console starts after executing the west debug command, you may now set breakpoints and perform other standard GDB debugging.
84+
85+
References
86+
**********
87+
88+
.. target-notes::
89+
90+
.. _cy8cproto_041tp Board Website:
91+
https://www.infineon.com/assets/row/public/documents/30/57/infineon-psoc-4100t-plus-architecture-trm-additionaltechnicalinformation-en.pdf
92+
93+
.. _ModusToolbox:
94+
https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolbox
95+
96+
.. _ModusToolbox Programming Tools:
97+
https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolboxprogtools
98+
99+
.. _Infineon OpenOCD:
100+
https://github.com/Infineon/openocd/releases/latest
101+
102+
.. _KitProg3:
103+
https://github.com/Infineon/KitProg3
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Copyright (c) 2025 Infineon Technologies AG,
2+
# or an affiliate of Infineon Technologies AG.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
# Use KitProg3 interface
7+
source [find interface/kitprog3.cfg]
8+
9+
set ENABLE_ACQUIRE 0
10+
set PSOC4_USE_ACQUIRE 0
11+
transport select swd
12+
13+
# Target configuration for PSoC4
14+
source [find target/infineon/psoc4.cfg]
15+
16+
# Optional: specify a particular KitProg3 debugger if multiple are connected
17+
if { [info exists _ZEPHYR_BOARD_SERIAL] } {
18+
adapter serial $_ZEPHYR_BOARD_SERIAL
19+
}

0 commit comments

Comments
 (0)