1.. _cy8ckit_062_wifi_bt:
2
3INFINEON PSoC6 WiFi-BT Pioneer Kit
4##################################
5
6Overview
7********
8
9The PSoC 6 WiFi-BT Pioneer Kit (CY8CKIT-062-WiFi-BT) is a low-cost hardware
10platform that enables design and debug of the PSoC 62 MCU and the Murata
11LBEE5KL1DX Module (CYW4343W WiFi + Bluetooth Combo Chip).
12
13The PSoC 6 WiFi-BT Pioneer Kit features the PSoC 62 MCU: a
14dual-core MCU, with a 150-MHz Arm Cortex-M4 as the primary application
15processor and a 100-MHz Arm Cortex-M0+ that supports low-power operations,
161MB of Flash, 288KB of SRAM, 104 GPIO, 7 programmable analog blocks,
1756 programmable digital blocks, Full-Speed USB, a serial memory interface,
18a PDM-PCM digital microphone interface, and industry-leading capacitive-sensing
19with CapSense.
20
21The PSoC 6 WiFi-BT Pioneer board offers compatibility with Arduino shields.
22
23The Cortex-M0+ is a primary core on the board's SoC. It starts first and
24enables the CM4 core.
25
26.. image:: img/cy8ckit_062_wifi_bt_m0.jpg
27     :align: center
28     :alt: CY8CKIT_062_WIFI_BT
29
301. USB PD output voltage availability indicator (LED7)
312. Battery charging indicator (LED6)
323. KitProg2 USB Type-C connector (J10)
334. Cypress EZ-PD™ CCG3 Type-C Port Controller with PD (CYPD3125-40LQXI, U3)
345. KitProg2 programming mode selection button (SW3)
356. KitProg2 I/O header (J6)1
367. KitProg2 programming/custom application header (J7)1
378. External power supply connector (J9)
389. PSoC 6 user button (SW2)
3910. KitProg2 application selection button (SW4)
4011. Digilent® Pmod™ compatible I/O header (J14)1
4112. Power LED (LED4)
4213. KitProg2 status LEDs (LED1, LED2, and LED3)
4314. PSoC 6 reset button (SW1)
4415. PSoC 6 I/O header (J18, J19 and J20)
4516. Arduino™ Uno R3 compatible power header (J1)
4617. PSoC 6 debug and trace header (J12)
4718. Arduino Uno R3 compatible PSoC 6 I/O header (J2, J3 and J4)
4819. PSoC 6 program and debug header (J11)
4920. CapSense proximity header (J13)
5021. CapSense slider and buttons
5122. PSoC 6 VDD selection switch (SW5)
5223. Cypress  512-Mbit  serial  NOR  Flash  memory  (S25-FL512S, U4)
5324. PSoC 6 user LEDs (LED8 and LED9)
5425. RGB LED (LED5)
5526. WiFi/BT module (LBEE5KL 1DX, U6)
5627. Cypress serial Ferroelectric RAM (U5)1
5728. WiFi-BT Antenna
5829. VBACKUP and PMIC control selection switch (SW7)2
5930. PSoC 6 USB device Type-C connector (J28)
6031. Cypress PSoC 6 (CY8C6247BZI-D54, U1)
6132. PSoC 6 USB Host Type-A connector (J27)
6233. Arduino Uno R3 compatible ICSP header (J5)1
6334. PSoC 6 power monitoring jumper (J8)2
6435. KitProg2  (PSoC  5LP)  programmer  and  debugger(CY8C5868LTI-LP039, U2)
6536. Battery connector (J15)1,2
6637. USB PD output voltage (9V/12V) connector (J16)
67
68Hardware
69********
70
71For more information about the PSoC 62 MCU SoC and CY8CKIT-062-WiFi-BT board:
72
73- `PSoC 62 MCU SoC Website`_
74- `PSoC 62 MCU Datasheet`_
75- `PSoC 62 MCU Architecture Reference Manual`_
76- `PSoC 62 MCU Register Reference Manual`_
77- `CY8CKIT-062-WiFi-BT Website`_
78- `CY8CKIT-062-WiFi-BT User Guide`_
79- `CY8CKIT-062-WiFi-BT Schematics`_
80
81Supported Features
82==================
83
84The board configuration supports the following hardware features:
85
86+-----------+------------+-----------------------+
87| Interface | Controller | Driver/Component      |
88+===========+============+=======================+
89| NVIC      | on-chip    | nested vectored       |
90|           |            | interrupt controller  |
91+-----------+------------+-----------------------+
92| SYSTICK   | on-chip    | system clock          |
93+-----------+------------+-----------------------+
94| PINCTRL   | on-chip    | pin control           |
95+-----------+------------+-----------------------+
96| UART      | on-chip    | serial port-polling;  |
97|           |            | serial port-interrupt |
98+-----------+------------+-----------------------+
99
100
101The default configuration can be found in the Kconfig
102:zephyr_file:`boards/arm/cy8ckit_062_wifi_bt/cy8ckit_062_wifi_bt_m0_defconfig`.
103
104
105System Clock
106============
107
108The PSoC 62 MCU SoC is configured to use the internal IMO+FLL as a source for
109the system clock. CM0+ works at 50MHz, CM4 - at 100MHz. Other sources for the
110system clock are provided in the SOC, depending on your system requirements.
111
112Serial Port
113===========
114
115The PSoC 62 MCU SoC has 9 SCB blocks 8 of each can be configured as UART
116interfaces for serial communication. At the moment UART5 on SCB5 and UART6 on
117SCB6 are configured. SCB5 is connected to the onboard KitProg2's USB-UART
118Bridge, SCB6 to P12_0, P12_1 pins on the J3 of the Arduino Uno R3 compatible
119PSoC6 I/O header.
120
121OpenOCD Installation
122====================
123
124To get the OpenOCD package, it is required that you
125
1261. Download the software ModusToolbox 3.1. https://softwaretools.infineon.com/tools/com.ifx.tb.tool.modustoolbox
1272. Once downloaded add the path to access the Scripts folder provided by ModusToolbox
128   export PATH=$PATH:/path/to/ModusToolbox/tools_3.1/openocd/scripts
1293. Add the OpenOCD executable file's path to west flash/debug.
1304. Flash using: west flash --openocd path/to/infineon/openocd/bin/openocd
1315. Debug using: west debug --openocd path/to/infineon/openocd/bin/openocd
132
133
134Programming and Debugging
135*************************
136
137The CY8CKIT-062-WiFi-BT includes an onboard programmer/debugger (KitProg2) with
138mass storage programming to provide debugging, flash programming, and serial
139communication over USB. There are also PSoC 6 program and debug headers J11
140and J12 that can be used with Segger J-Link.
141A watchdog timer is enabled by default. To disable it call Cy_WDT_Unlock() and
142Cy_WDT_Disable().
143
144Only the CM0+ core starts by default after the MCU reset.  In order to have
145CM4 core working FW for both cores should be written into Flash.  CM0+ FW
146should starts the CM4 core at one point using
147Cy_SysEnableCM4(CM4_START_ADDRESS); call.  CM4_START_ADDRESS is 0x10060000 in
148the current configuration. The CM0+/CM4 Flash/SRAM areas are defined in
149:zephyr_file:`dts/arm/cypress/psoc6.dtsi`.
150
151Build the project for CM0+
152
153.. zephyr-app-commands::
154   :board: cy8ckit_062_wifi_bt_m0
155   :goals: build
156
157Switch the DevKit into CMSIS-DAP mode using SW3 (LED2 should blink) and flash
158the board:
159
160.. code-block:: console
161
162   $<openocd_path>\bin\openocd -c "source [find interface/cmsis-dap.cfg]" \
163      -c "transport select swd" -c "source [find target/psoc6.cfg]" \
164      -c "if [catch {program {<zephyr_path>\samples\hello_world\build\zephyr\zephyr.elf}} ] \
165         { echo {** Program operation failed **} } \
166         else { echo {** Program operation completed successfully **} }" \
167      -c "reset_config srst_only;reset run;psoc6.dap dpreg 0x04 0x00;shutdown"
168
169Switch the DevKit back using SW3. Open a serial terminal (minicom, putty,
170etc.) and connect to the board with the following settings:
171
172- Speed: 115200
173- Data: 8 bits
174- Parity: None
175- Stop bits: 1
176
177Reset the board and the following message will appear on the corresponding
178serial port:
179
180.. code-block:: console
181
182   ***** Booting Zephyr OS zephyr-v1.13.0-1877-g9d14874db1 *****
183   Hello World! cy8ckit_062_wifi_bt_m0
184
185
186References
187**********
188
189.. _PSoC 62 MCU SoC Website:
190	https://www.cypress.com/products/32-bit-arm-cortex-m4-psoc-6
191
192.. _PSoC 62 MCU Datasheet:
193	https://www.cypress.com/documentation/datasheets/psoc-6-mcu-psoc-62-datasheet-programmable-system-chip-psoc-preliminary
194
195.. _PSoC 62 MCU Architecture Reference Manual:
196	https://www.cypress.com/documentation/technical-reference-manuals/psoc-6-mcu-psoc-62-architecture-technical-reference-manual
197
198.. _PSoC 62 MCU Register Reference Manual:
199	https://www.cypress.com/documentation/technical-reference-manuals/psoc-6-mcu-psoc-62-register-technical-reference-manual-trm
200
201.. _CY8CKIT-062-WiFi-BT Website:
202   https://www.cypress.com/documentation/development-kitsboards/psoc-6-wifi-bt-pioneer-kit
203
204.. _CY8CKIT-062-WiFi-BT User Guide:
205   https://www.cypress.com/file/407731/download
206
207.. _CY8CKIT-062-WiFi-BT Schematics:
208   https://www.cypress.com/file/420846/download
209