1.. zephyr:board:: cy8ckit_062s4
2
3Overview
4********
5The PSOC 62S4 Pioneer kit has a CY8C62x4 MCU, which is an ultra-low-power PSOC device specifically designed for battery-operated analog
6sensing applications. It includes a 150-MHz Arm® Cortex®-M4 CPU as the primary application processor, a 100-MHz Arm® Cortex®-M0+ CPU that
7supports low-power operations, up to 256 KB Flash and 128 KB SRAM, programmable analog sensing,
8CapSense™ touch-sensing, and programmable digital peripherals.
9
10The board features an onboard
11programmer/debugger (KitProg3), a 512-Mbit Quad SPI NOR flash, a micro-B connector for USB device
12interface, a thermistor, an ambient light sensor, a 5-segment CapSense™ slider, two CapSense™ buttons, two
13user LEDs, and a push button. The board supports operating voltages from 1.8 V to 3.3 V for PSoC™ 6 MCU.
14
15Hardware
16********
17
18* `CY8CKIT 062S4 Pioneer Kit Website`_
19* `CY8CKIT 062S4 Pioneer Kit Guide`_
20* `CY8CKIT 062S4 Pioneer Kit Schematic`_
21* `CY8CKIT 062S4 Pioneer Kit Technical Reference Manual`_
22* `CY8CKIT 062S4 Pioneer Kit Datasheet`_
23
24Supported Features
25==================
26
27The board configuration supports the following hardware features:
28
29+-----------+------------+-----------------------+
30| Interface | Controller | Driver/Component      |
31+===========+============+=======================+
32| NVIC      | on-chip    | nested vectored       |
33|           |            | interrupt controller  |
34+-----------+------------+-----------------------+
35| SYSTICK   | on-chip    | system clock          |
36+-----------+------------+-----------------------+
37| PINCTRL   | on-chip    | pin control           |
38+-----------+------------+-----------------------+
39| UART      | on-chip    | serial port-polling;  |
40+-----------+------------+-----------------------+
41
42
43The default configuration can be found in the Kconfig
44
45:zephyr_file:`boards/infineon/cy8ckit_062s4/cy8ckit_062s4_defconfig`
46
47Clock Configuration
48===================
49
50+-----------+------------+-----------------------+
51| Clock     | Source     | Output Frequency      |
52+===========+============+=======================+
53| FLL       | IMO        | 100.0 MHz             |
54+-----------+------------+-----------------------+
55| PLL       | IMO        | 48.0 MHz              |
56+-----------+------------+-----------------------+
57| CLK_HF0   | CLK_PATH0  | 100.0 MHz             |
58+-----------+------------+-----------------------+
59
60Fetch Binary Blobs
61******************
62
63.. code-block:: console
64
65   west blobs fetch hal_infineon
66
67Build blinking led sample
68*************************
69
70Here is an example for building the :zephyr:code-sample:`blinky` sample application.
71
72.. zephyr-app-commands::
73   :zephyr-app: samples/basic/blinky
74   :board: cy8ckit_062s4
75   :goals: build
76
77Programming and Debugging
78*************************
79
80The CY8CKIT-062S4 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.
81
82Infineon OpenOCD Installation
83=============================
84
85Both the full `ModusToolbox`_ and the `ModusToolbox Programming Tools`_ packages include Infineon OpenOCD. Installing either of these packages will also install Infineon OpenOCD. 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.
86
87.. 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``.
88
89West Commands
90=============
91
92The 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``.
93
94   .. tabs::
95      .. group-tab:: Windows
96
97         .. code-block:: shell
98
99            # Run west config once to set permanent CMake argument
100            west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd.exe
101
102            # Do a pristine build once after setting CMake argument
103            west build -b cy8ckit_062s4 -p always samples/basic/blinky
104
105            west flash
106            west debug
107
108      .. group-tab:: Linux
109
110         .. code-block:: shell
111
112            # Run west config once to set permanent CMake argument
113            west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd
114
115            # Do a pristine build once after setting CMake argument
116            west build -b cy8ckit_062s4 -p always samples/basic/blinky
117
118            west flash
119            west debug
120
121Once the gdb console starts after executing the west debug command, you may now set breakpoints and perform other standard GDB debugging on the PSOC 6 CM4 core.
122
123References
124**********
125
126.. target-notes::
127
128.. _CY8CKIT 062S4 Pioneer Kit Guide:
129    https://www.infineon.com/dgdl/Infineon-CY8CKIT_062S4_PSOC62S4_pioneer_kit_guide-UserManual-v01_00-EN.pdf?fileId=8ac78c8c7e7124d1017e962f98992207
130
131.. _CY8CKIT 062S4 Pioneer Kit Website:
132    https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s4/?redirId=VL1508&utm_medium=referral&utm_source=cypress&utm_campaign=202110_globe_en_all_integration-dev_kit
133
134.. _CY8CKIT 062S4 Pioneer Kit Schematic:
135    https://www.infineon.com/dgdl/Infineon-CY8CKIT-062S4_PSOC_62S4_Pioneer_Kit_Schematic-PCBDesignData-v01_00-EN.pdf?fileId=8ac78c8c7d710014017d7153484d2081
136
137.. _CY8CKIT 062S4 Pioneer Kit Technical Reference Manual:
138    https://www.infineon.com/dgdl/Infineon-PSOC_6_MCU_CY8C61X4CY8C62X4_REGISTERS_TECHNICAL_REFERENCE_MANUAL_(TRM)_PSOC_61_PSOC_62_MCU-AdditionalTechnicalInformation-v03_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0fb34f0627a7
139
140.. _CY8CKIT 062S4 Pioneer Kit Datasheet:
141   https://www.infineon.com/dgdl/Infineon-PSOC_6_MCU_CY8C62X4-DataSheet-v12_00-EN.pdf?fileId=8ac78c8c7ddc01d7017ddd026d585901
142
143.. _ModusToolbox:
144    https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolbox
145
146.. _ModusToolbox Programming Tools:
147    https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolboxprogtools
148
149.. _Infineon OpenOCD:
150    https://github.com/Infineon/openocd/releases/latest
151
152.. _KitProg3:
153    https://github.com/Infineon/KitProg3
154