1.. zephyr:board:: cy8cproto_062_4343w 2 3Overview 4******** 5 6The CY8CPROTO-062-4343W PSOC 6 Wi-Fi BT Prototyping Kit is a low-cost hardware 7platform that enables design and debug of PSOC 6 MCUs. It comes with a Murata 8LBEE5KL1DX module, based on the CYW4343W combo device, industry-leading CAPSENSE 9for touch buttons and slider, on-board debugger/programmer with KitProg3, microSD 10card interface, 512-Mb Quad-SPI NOR flash, PDM-PCM microphone, and a thermistor. 11 12This kit is designed with a snap-away form-factor, allowing the user to separate 13the different components and features that come with this kit and use independently. 14In addition, support for Digilent's Pmod interface is also provided with this kit. 15 16Hardware 17******** 18 19For more information about the PSOC 62 MCU SoC and CY8CPROTO-062-4343W board: 20 21- `PSOC 62 MCU SoC Website`_ 22- `PSOC 62 MCU Datasheet`_ 23- `PSOC 62 MCU Architecture Reference Manual`_ 24- `PSOC 62 MCU Register Reference Manual`_ 25- `CY8CPROTO-062-4343W PSOC 6 Wi-Fi BT Website`_ 26- `CY8CPROTO-062-4343W PSOC 6 Wi-Fi BT User Guide`_ 27- `CY8CPROTO-062-4343W PSOC 6 Wi-Fi BT Schematics`_ 28 29Kit Features: 30============= 31 32- Support of up to 2MB Flash and 1MB SRAM 33- Dedicated SDHC to interface with WICED wireless devices. 34- Delivers dual-cores, with a 150-MHz Arm Cortex-M4 as the primary 35 application processor and a 100-MHz Arm Cortex-M0+ as the secondary 36 processor for low-power operations. 37- Supports Full-Speed USB, capacitive-sensing with CAPSENSE, a PDM-PCM 38 digital microphone interface, a Quad-SPI interface, 13 serial communication 39 blocks, 7 programmable analog blocks, and 56 programmable digital blocks. 40 41Kit Contents: 42============= 43 44- PSOC 6 Wi-Fi BT Prototyping Board 45- USB Type-A to Micro-B cable 46- Quick start guide 47 48 49Supported Features 50================== 51 52The board configuration supports the following hardware features: 53 54+-----------+------------+-----------------------+ 55| Interface | Controller | Driver/Component | 56+===========+============+=======================+ 57| NVIC | on-chip | nested vectored | 58| | | interrupt controller | 59+-----------+------------+-----------------------+ 60| SYSTICK | on-chip | system clock | 61+-----------+------------+-----------------------+ 62| GPIO | on-chip | GPIO | 63+-----------+------------+-----------------------+ 64| UART | on-chip | serial port-polling; | 65| | | serial port-interrupt | 66+-----------+------------+-----------------------+ 67 68 69The default configuration can be found in the Kconfig 70 71:zephyr_file:`boards/infineon/cy8cproto_062_4343w/cy8cproto_062_4343w_defconfig` 72 73 74System Clock 75============ 76 77The PSOC 62 MCU SoC is configured to use the internal IMO+FLL as a source for 78the system clock. CM0+ works at 50MHz, CM4 - at 100MHz. Other sources for the 79system clock are provided in the SOC, depending on your system requirements. 80 81 82Fetch Binary Blobs 83****************** 84 85cy8cproto_062_4343w board optionally uses binary blobs for features 86(e.g WIFI/Bluetooth chip firmware, CM0p prebuilt images, etc). 87 88To fetch Binary Blobs: 89 90.. code-block:: console 91 92 west blobs fetch hal_infineon 93 94 95Build blinking led sample 96************************* 97 98Here is an example for building the :zephyr:code-sample:`blinky` sample application. 99 100.. zephyr-app-commands:: 101 :zephyr-app: samples/basic/blinky 102 :board: cy8cproto_062_4343w 103 :goals: build 104 105Programming and Debugging 106************************* 107 108The CY8CPROTO-062-4343W 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. 109 110Infineon OpenOCD Installation 111============================= 112 113Both 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. 114 115.. 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``. 116 117West Commands 118============= 119 120The 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``. 121 122 .. tabs:: 123 .. group-tab:: Windows 124 125 .. code-block:: shell 126 127 # Run west config once to set permanent CMake argument 128 west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd.exe 129 130 # Do a pristine build once after setting CMake argument 131 west build -b cy8cproto_062_4343w -p always samples/basic/blinky 132 133 west flash 134 west debug 135 136 .. group-tab:: Linux 137 138 .. code-block:: shell 139 140 # Run west config once to set permanent CMake argument 141 west config build.cmake-args -- -DOPENOCD=path/to/infineon/openocd/bin/openocd 142 143 # Do a pristine build once after setting CMake argument 144 west build -b cy8cproto_062_4343w -p always samples/basic/blinky 145 146 west flash 147 west debug 148 149Once 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. 150 151Errata 152====== 153 154+------------------------------------------------+----------------------------------------+ 155| Problem | Solution | 156+================================================+========================================+ 157| The GPIO_INT_TRIG_BOTH interrupt is not raised | This will be fixed in a future release.| 158| when the associated GPIO is asserted. | | 159+------------------------------------------------+----------------------------------------+ 160| GDB experiences a timeout error connecting to | This will be fixed in a future release.| 161| a server instance started by west debugserver. | | 162+------------------------------------------------+----------------------------------------+ 163 164.. _PSOC 62 MCU SoC Website: 165 https://www.cypress.com/products/32-bit-arm-cortex-m4-psoc-6 166 167.. _PSOC 62 MCU Datasheet: 168 https://www.cypress.com/documentation/datasheets/psoc-6-mcu-psoc-62-datasheet-programmable-system-chip-psoc-preliminary 169 170.. _PSOC 62 MCU Architecture Reference Manual: 171 https://www.cypress.com/documentation/technical-reference-manuals/psoc-6-mcu-psoc-62-architecture-technical-reference-manual 172 173.. _PSOC 62 MCU Register Reference Manual: 174 https://www.cypress.com/documentation/technical-reference-manuals/psoc-6-mcu-psoc-62-register-technical-reference-manual-trm 175 176.. _CY8CPROTO-062-4343W PSOC 6 Wi-Fi BT Website: 177 https://www.infineon.com/cms/en/product/evaluation-boards/cy8cproto-062-4343w/ 178 179.. _CY8CPROTO-062-4343W PSOC 6 Wi-Fi BT User Guide: 180 https://www.infineon.com/cms/en/product/evaluation-boards/cy8cproto-062-4343w/#!?fileId=8ac78c8c7d0d8da4017d0f0118571844 181 182.. _CY8CPROTO-062-4343W PSOC 6 Wi-Fi BT Schematics: 183 https://www.infineon.com/cms/en/product/evaluation-boards/cy8cproto-062-4343w/#!?fileId=8ac78c8c7d0d8da4017d0f01126b183f 184 185.. _ModusToolbox: 186 https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolbox 187 188.. _ModusToolbox Programming Tools: 189 https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolboxprogtools 190 191.. _Infineon OpenOCD: 192 https://github.com/Infineon/openocd/releases/latest 193 194.. _KitProg3: 195 https://github.com/Infineon/KitProg3 196