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