Infineon: Add support for CYW89829 devices, improve swap with status algorithm speed
diff --git a/boot/cypress/README.md b/boot/cypress/README.md
index cca2c2f..60a5a50 100644
--- a/boot/cypress/README.md
+++ b/boot/cypress/README.md
@@ -2,44 +2,32 @@
 
 ### Disclaimer
 
-Given solution is included in `MCUboot` repository with purpose to demonstrate basic consepts and features of MCUboot library on Cypress PSoC 6 device. Applications are created per MCUboot library maintainers requirements. Implemetation differs from conventional and recomended by Cypress Semiconductors development flow for PSoC 6 devices. These applications are not recomended as a starting point for development and should not be considered as supported examples for PSoC 6 devices.
+Given solution is included in `MCUboot` repository with purpose to demonstrate basic consepts and features of MCUboot library on Infineon Technologies devices.
 
-Examples provided to use with **ModusToolbox® Software Environment** are a recommended reference point to start development of MCUboot based bootloaders for PSoC 6 devices.
+### Supported platforms
 
-Refer to **Cypress Semiconductors** [github](https://github.com/cypresssemiconductorco) page to find examples.
-
-1. MCUboot-Based Basic Bootloader [mtb-example-psoc6-mcuboot-basic](https://github.com/cypresssemiconductorco/mtb-example-psoc6-mcuboot-basic)
-2. MCUboot-Based Bootloader with Rollback to Factory App in External Flash [mtb-example-anycloud-mcuboot-rollback](https://github.com/cypresssemiconductorco/mtb-example-anycloud-mcuboot-rollback)
+| Family   | Platforms          |
+---------- | -------------------|
+| PSOC6    | PSOC6 1M, 2M, 512K |
+| CYWxx829 | CYW20829, CYW89829 |
+| XMC7x00  | XMC7200, XMC7100   |
 
 ### Solution description
 
 There are two applications implemented:
-* MCUBootApp - PSoC6 MCUboot-based bootloading application;
-* BlinkyApp - simple PSoC6 blinking LED application which is a target of BOOT/UPGRADE;
+* MCUBootApp - MCUboot-based bootloader implementation;
+* BlinkyApp - simple blinking LED application which is a target of BOOT/UPGRADE;
 
-The default flash map for MCUBootApp implemented is next:
+Detailed description on each application is provided in dedicated files:
 
-* [0x10000000, 0x10018000] - MCUBootApp (bootloader) area;
-* [0x10018000, 0x10028000] - primary slot for BlinkyApp;
-* [0x10028000, 0x10038000] - secondary slot for BlinkyApp;
-* [0x10038000, 0x10039000] - scratch area;
+Bootloader - [MCUBootApp.md](./MCUBootApp/MCUBootApp.md)
+Test Application - [BlinkyApp.md](./BlinkyApp/BlinkyApp.md)
 
-The flash map is defined through sysflash.h and memory.c.
+Separate documentation is available for External Memory usage in mcuboot [ExternalMemory.md](./MCUBootApp/ExternalMemory.md)
 
-It is also possible to place secondary (upgrade) slots in external memory module. In this case primary slot can be doubled in size.
-For more details about External Memory usage, please refer to separate guiding document `MCUBootApp/ExternalMemory.md`.
+### Downloading solution
 
-MCUBootApp checks image integrity with SHA256, image authenticity with EC256 digital signature verification and uses either completely software implementation of cryptographic functions or accelerated by hardware - both based on Mbed TLS Library.
-
-### Downloading solution's assets
-
-There is a set assets required:
-
-* MCUBooot Library (root repository)
-* PSoC6 Peripheral Drivers Library (PDL)
-* Mbed TLS Cryptographic Library
-
-Those are represented as submodules.
+Since libraries required by mcuboot Infineon implementation are implemented as submodules following commands needs to be executed.
 
 To retrieve source code with subsequent submodules pull:
 
@@ -56,23 +44,21 @@
 
 Root directory for build is **boot/cypress.**
 
-This folder contains make files infrastructure for building both MCUboot Bootloader and sample BlinkyApp application used for Bootloader demo functionality.
+This folder contains make files infrastructure for building both MCUbootApp and sample BlinkyApp application used for Bootloader demo functionality.
 
-Instructions on how to build and upload MCUBootApp bootloader application and sample user applocation are located in `Readme.md` files in corresponding folders.
+**GCC_ARM** is only supported toolchain.
 
-Supported platforms for `MCUboot`, `BlinkyApp`:
-
-**GCC_ARM** is only supported (built and verified on GCC 9.3.1).
-
-It is included with [ModusToolbox™ Software Environment](https://www.cypress.com/products/modustoolbox).
+It is recommended to use [ModusToolbox™ Software Environment](https://www.cypress.com/products/modustoolbox) which includes GCC Toolchain.
 
 The default installation folder is expected by the makefile build system.
 
 To use another installation folder, version of **ModusToolbox™ IDE** or another GCC Compiler, specify the path to a toolchain using the **TOOLCHAIN_PATH** parameter.
 
-Below is an example on how to set toolchin path to the latest include with **ModusToolbox™ IDE 3.0**:
+Below is an example on how to set toolchain path to the latest include with **ModusToolbox™ IDE**:
 
-    make clean app APP_NAME=MCUBootApp PLATFORM=PSOC_062_2M BUILDCFG=Debug FLASH_MAP=platforms/memory/PSOC6/flashmap/psoc6_swap_single.json TOOLCHAIN_PATH=c:/Users/${USERNAME}/ModusToolbox/tools_3.0/gcc
+    make clean app APP_NAME=MCUBootApp PLATFORM=PSOC_062_2M BUILDCFG=Debug FLASH_MAP=platforms/memory/PSOC6/flashmap/psoc6_swap_single.json TOOLCHAIN_PATH=c:/Users/${USERNAME}/ModusToolbox/tools_3.2/gcc
+
+**Python3** needs to be installed in system since build process required execution of prebuild and postbuild scripts in python.
 
 ### Build environment troubleshooting