NXP : Add support of RT1060 and RT1170 boards (#35842)

* [NXP][rt1170] Matter enablement on RT1170

It includes:

- Matter port files for RT1170
- example files for Laundry-washer, thermostat and all-cluster-app
- documentations

Signed-off-by: Gatien Chapon <gatien.chapon@nxp.com>

[border router][rt1170] RT1170 platform and README updates to support OTBR with new OT stack version

(cherry picked from commit f97d5c58c866774c787ec4417bca075ce45eece0)

[platform][rt1170] Enable lwip and ephemeral key CLI addons

(cherry picked from commit fb3320eabd3c3f6c8c75c4094d6426fcc0cfed57)

[2.16][rt1170] SDK 2.16 rt1170 API name changed

Signed-off-by: Gatien Chapon <gatien.chapon@nxp.com>
(cherry picked from commit 67f183263466267bc1c7da6fd3a05743fd268ea2)

Signed-off-by: Gatien Chapon <gatien.chapon@nxp.com>

[examples][rt1170] Enable Disgnostic log for thermostat app

Signed-off-by: Martin Girardot <martin.girardot@nxp.com>
(cherry picked from commit cce6267446d035e7966c7f5f17d112fb5f1557c5)

[platform][rt1170] Rename rt_nvm_component to nxp_nvm_component

Signed-off-by: Dina Benamar <dina.benamarelmaaroufi@nxp.com>
(cherry picked from commit f5fb5f4e8b2be45fc97c2a7c7a2d5a453adf9b34)

[doc][rt1170] update OTA guidelines to generate mcuboot binary

(cherry picked from commit 27f58810a07343234d0d884f385eb407998a9220)

* [NXP][rt1060] Adding RT1060 Matter support

It includes following changes:

- Matter port files for RT1060
- examples support for Laundry-washer, thermostat and all-cluster-app
- Support for configurations: RT1060 evkb+8801, RT1060 evkb+IW416, RT1060 evkc+IW612 and RT1060 evkb+k32w0

Signed-off-by: Gatien Chapon <gatien.chapon@nxp.com>

[platform][rt1060] Rename rt_nvm_component to nxp_nvm_component

Signed-off-by: Dina Benamar <dina.benamarelmaaroufi@nxp.com>
(cherry picked from commit 316450da02b365aa61bcb53a0dc6b50512fb6435)

[border router][rt1060] RT1060 platform and README updates to support OTBR with new OT stack version

(cherry picked from commit 231a4c15c4abca40d5759194fb61b9636c8f67e8)

[platform][rt1060] Enable lwip and ephemeral key CLI addons

(cherry picked from commit 463749a12abcc68fc5f6569f98c27b574b3516bd)

[2.16][rt1060] SDK 2.16 rt1060 API name changed

Signed-off-by: Gatien Chapon <gatien.chapon@nxp.com>
(cherry picked from commit 42f7d8771329172aaeedfde1b2bab86b1799f6d9)

[examples][rt1060] Enable Diagnostic log for thermostat app

Signed-off-by: Martin Girardot <martin.girardot@nxp.com>
(cherry picked from commit 7c4cbeb41d3a00ec90525bb084f7bc278d5ecb8e)

* [NXP][rt1060][doc] Update WiFi build instructions

* [NXP][border router][rt1060] Platform updates to support TBR cluster and secondary nwk if

A new gn variable was created, chip_enable_secondary_nwk_if, to enable or disable Thread as secondary network commissioning interface when building with BR support.

* [NXP][border router][rt1170] Platform updates to support TBR cluster and secondary nwk if

A new gn variable was created, chip_enable_secondary_nwk_if, to enable or disable Thread as secondary network commissioning interface when building with BR support.

* [NXP] Add targets RT1060 and RT1170 to NXP builds

* [NXP][OTA][doc] update OTA doc for RTs boards

* [NXP][border router][rt1060] fix compilation issue

* [NXP][border router][rt1170] fix compilation issue

* [NXP][doc][rt1060] minor changes

* [NXP] [rt1060] OTA requestor enablement on RT1060-EVKC+Firecrest

* [NXP] Add OTA variant to RT1060 and RT1170 builds

* [NXP][doc][rt] changes since workflow feedback

* [NXP][examples][rt1060] Update empty button registration path

Signed-off-by: marius-alex-tache <marius.tache@nxp.com>

* [NXP][examples][rt1170] Update empty button registration path

Signed-off-by: marius-alex-tache <marius.tache@nxp.com>

* [NXP] [gn] Restyle gn files

* [NXP][doc] Restyle md files

* [NXP] Restyle build scripts

* [NXP][RT] fix OTBR compile issue

* [NXP][RT][doc] rework documentation

* [NXP] Reduce and collapse NXP targets list

* [NXP] filter which target to be build on PR

* [NXP] [rt1170] remove useless flag

* [NXP] [rt1060] remove useless flag

* [NXP] [doc] fix path to referenced docs since NXP documentation moved

---------

Signed-off-by: marius-alex-tache <marius.tache@nxp.com>
Co-authored-by: Gatien Chapon <gatien.chapon@nxp.com>
Co-authored-by: Mihai Ignat <mihai.ignat@nxp.com>
Co-authored-by: Marius Preda <marius.preda@nxp.com>
Co-authored-by: marius-alex-tache <marius.tache@nxp.com>
Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/.github/.wordlist.txt b/.github/.wordlist.txt
index 76485a2..a5dee88 100644
--- a/.github/.wordlist.txt
+++ b/.github/.wordlist.txt
@@ -735,6 +735,7 @@
 itemName
 iterable
 itsfoss
+IW
 JDK
 jinja
 JLink
@@ -893,6 +894,7 @@
 microcontrollers
 MicroSD
 middleware
+MIMXRT
 minApplicableSoftwareVersion
 Minicom
 MinInterval
@@ -924,6 +926,7 @@
 multilib
 Multiprotocol
 multithreaded
+Murata
 mutex
 mutexes
 mv
diff --git a/.github/workflows/examples-nxp.yaml b/.github/workflows/examples-nxp.yaml
index 6354718..c4b6eb1 100644
--- a/.github/workflows/examples-nxp.yaml
+++ b/.github/workflows/examples-nxp.yaml
@@ -30,68 +30,11 @@
     CHIP_NO_LOG_TIMESTAMPS: true
 
 jobs:
-    k32w0:
-        name: K32W0
+    FreeRTOS:
+        name: FREERTOS
 
         env:
-            BUILD_TYPE: gn_k32w
-
-        runs-on: ubuntu-latest
-        if: github.actor != 'restyled-io[bot]'
-
-        container:
-            image: ghcr.io/project-chip/chip-build-nxp:80
-            volumes:
-                - "/tmp/bloat_reports:/tmp/bloat_reports"
-        steps:
-            - name: Checkout
-              uses: actions/checkout@v4
-            - name: Checkout submodules & Bootstrap
-              uses: ./.github/actions/checkout-submodules-and-bootstrap
-              with:
-                platform: nxp
-
-            - name: Set up environment for size reports
-              uses: ./.github/actions/setup-size-reports
-              if: ${{ !env.ACT }}
-              with:
-                gh-context: ${{ toJson(github) }}
-
-            - name: Build examples
-              run: |
-                  scripts/run_in_build_env.sh "\
-                      ./scripts/build/build_examples.py \
-                      --target nxp-k32w0-freertos-lighting \
-                      --target nxp-k32w0-freertos-lighting-factory \
-                      --target nxp-k32w0-freertos-lighting-rotating-id \
-                      --target nxp-k32w0-freertos-contact-sensor \
-                      --target nxp-k32w0-freertos-contact-sensor-low-power \
-                      --target nxp-k32w0-freertos-contact-sensor-low-power-factory \
-                      build \
-                      --copy-artifacts-to out/artifacts \
-                  "
-            - name: Get lighting app size stats
-              run: |
-                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
-                    nxp k32w0+release light \
-                    out/artifacts/nxp-k32w0-freertos-lighting/chip-k32w0x-light-example.elf \
-                    /tmp/bloat_reports/
-            - name: Get contact sensor size stats
-              run: |
-                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
-                    nxp k32w0+release contact \
-                    out/artifacts/nxp-k32w0-freertos-contact-sensor-low-power/chip-k32w0x-contact-example.elf \
-                    /tmp/bloat_reports/
-            - name: Uploading Size Reports
-              uses: ./.github/actions/upload-size-reports
-              if: ${{ !env.ACT }}
-              with:
-                platform-name: K32W0
-    k32w1:
-        name: K32W1
-
-        env:
-            BUILD_TYPE: gn_k32w
+            BUILD_TYPE: gn_FreeRTOS
 
         runs-on: ubuntu-latest
         if: github.actor != 'restyled-io[bot]'
@@ -109,170 +52,187 @@
                 platform: nxp
                 extra-submodule-parameters: --recursive
 
+            - name: Detect changed paths
+              uses: dorny/paths-filter@v3
+              id: changed_paths
+              with:
+                  filters: |
+                      nxp:
+                        - '**/nxp/**'
+
             - name: Set up environment for size reports
               uses: ./.github/actions/setup-size-reports
               if: ${{ !env.ACT }}
               with:
                 gh-context: ${{ toJson(github) }}
 
-            - name: Build examples
+            - name: Build K32W0 examples
+              run: |
+                  scripts/run_in_build_env.sh "\
+                      ./scripts/build/build_examples.py \
+                      --target nxp-k32w0-freertos-lighting-factory \
+                      --target nxp-k32w0-freertos-contact-sensor-low-power-factory \
+                      build \
+                      --copy-artifacts-to out/artifacts \
+                  "
+            - name: Get K32W0 lighting app size stats
+              run: |
+                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
+                    nxp k32w0+release light \
+                    out/artifacts/nxp-k32w0-freertos-lighting-factory/chip-k32w0x-light-example.elf \
+                    /tmp/bloat_reports/
+            - name: Get K32W0 contact sensor size stats
+              run: |
+                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
+                    nxp k32w0+release contact \
+                    out/artifacts/nxp-k32w0-freertos-contact-sensor-low-power-factory/chip-k32w0x-contact-example.elf \
+                    /tmp/bloat_reports/
+
+            - name: clean build
+              run: rm -rf ./out
+
+            - name: Build K32W1 examples
               run: |
                   scripts/run_in_build_env.sh "\
                       ./scripts/build/build_examples.py \
                       --target nxp-k32w1-freertos-lighting \
-                      --target nxp-k32w1-freertos-contact-sensor-low-power \
-                      --target nxp-k32w1-freertos-lock-app \
                       build \
                       --copy-artifacts-to out/artifacts \
                   "
-            - name: Get lighting app size stats
+            - name: Get K32W1 lighting app size stats
               run: |
                   .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                     nxp k32w1+release light \
                     out/artifacts/nxp-k32w1-freertos-lighting/chip-k32w1-light-example.elf \
                     /tmp/bloat_reports/
-            - name: Get contact sensor size stats
-              run: |
-                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
-                    nxp k32w1+release contact \
-                    out/artifacts/nxp-k32w1-freertos-contact-sensor-low-power/chip-k32w1-contact-example.elf \
-                    /tmp/bloat_reports/
-            - name: Get lock app size stats
-              run: |
-                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
-                    nxp k32w1+release lock \
-                    out/artifacts/nxp-k32w1-freertos-lock-app/chip-k32w1-lock-example.elf \
-                    /tmp/bloat_reports/
-            - name: Uploading Size Reports
-              uses: ./.github/actions/upload-size-reports
-              if: ${{ !env.ACT }}
-              with:
-                platform-name: K32W1
-    mcxw71:
-        name: MCXW71
 
-        env:
-            BUILD_TYPE: gn_k32w
+            - name: clean build
+              run: rm -rf ./out
 
-        runs-on: ubuntu-latest
-        if: github.actor != 'restyled-io[bot]'
-
-        container:
-            image: ghcr.io/project-chip/chip-build-nxp:81
-            volumes:
-                - "/tmp/bloat_reports:/tmp/bloat_reports"
-        steps:
-            - name: Checkout
-              uses: actions/checkout@v4
-            - name: Checkout submodules & Bootstrap
-              uses: ./.github/actions/checkout-submodules-and-bootstrap
-              with:
-                platform: nxp
-                extra-submodule-parameters: --recursive
-
-            - name: Set up environment for size reports
-              uses: ./.github/actions/setup-size-reports
-              if: ${{ !env.ACT }}
-              with:
-                gh-context: ${{ toJson(github) }}
-
-            - name: Build examples
+            - name: Build MCXW71 examples
               run: |
                   scripts/run_in_build_env.sh "\
                       ./scripts/build/build_examples.py \
-                      --target nxp-mcxw71-freertos-lighting \
                       --target nxp-mcxw71-freertos-contact-sensor-low-power \
                       --target nxp-mcxw71-freertos-lock-app \
                       build \
                       --copy-artifacts-to out/artifacts \
                   "
-            - name: Get lighting app size stats
-              run: |
-                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
-                    nxp mcxw71+release light \
-                    out/artifacts/nxp-mcxw71-freertos-lighting/chip-mcxw71-light-example.elf \
-                    /tmp/bloat_reports/
-            - name: Get contact sensor size stats
+            - name: Get MCXW71 contact sensor size stats
               run: |
                   .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                     nxp mcxw71+release contact \
                     out/artifacts/nxp-mcxw71-freertos-contact-sensor-low-power/chip-mcxw71-contact-example.elf \
                     /tmp/bloat_reports/
-            - name: Get lock app size stats
+            - name: Get MCXW71 lock app size stats
               run: |
                   .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                     nxp mcxw71+release lock \
                     out/artifacts/nxp-mcxw71-freertos-lock-app/chip-mcxw71-lock-example.elf \
                     /tmp/bloat_reports/
-            - name: Uploading Size Reports
-              uses: ./.github/actions/upload-size-reports
-              if: ${{ !env.ACT }}
-              with:
-                platform-name: MCXW71
-    rw61x:
-        name: RW61X
 
-        env:
-            BUILD_TYPE: gn_rw61x
+            - name: clean build
+              run: rm -rf ./out
 
-        runs-on: ubuntu-latest
-        if: github.actor != 'restyled-io[bot]'
+            - name: Build RT1060 all clusters example app
+              run: |
+                  scripts/run_in_build_env.sh "\
+                      ./scripts/build/build_examples.py \
+                      --target nxp-rt1060-freertos-all-clusters-wifi-iw416 \
+                      --target nxp-rt1060-freertos-all-clusters-wifi-w8801 \
+                      --target nxp-rt1060-freertos-all-clusters-wifi-ota-evkc-iwx12 \
+                      build \
+                      --copy-artifacts-to out/artifacts \
+                  "
+            - name: Build RT1060 thermostat example app
+              if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
+              run: |
+                  scripts/run_in_build_env.sh "\
+                      ./scripts/build/build_examples.py \
+                      --target nxp-rt1060-freertos-thermostat-thread-wifi-evkc-iwx12 \
+                      build \
+                      --copy-artifacts-to out/artifacts \
+                  "
+            - name: Build RT1060 laundry-washer example app
+              if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
+              run: |
+                  scripts/run_in_build_env.sh "\
+                      ./scripts/build/build_examples.py \
+                      --target nxp-rt1060-freertos-laundry-washer-wifi-evkc-iwx12 \
+                      --target nxp-rt1060-freertos-laundry-washer-thread-evkc-iwx12 \
+                      build \
+                      --copy-artifacts-to out/artifacts \
+                  "
 
-        container:
-            image: ghcr.io/project-chip/chip-build-nxp:81
-            volumes:
-                - "/tmp/bloat_reports:/tmp/bloat_reports"
-        steps:
-            - name: Checkout
-              uses: actions/checkout@v4
-            - name: Checkout submodules & Bootstrap
-              uses: ./.github/actions/checkout-submodules-and-bootstrap
-              with:
-                platform: nxp
-                extra-submodule-parameters: --recursive
+            - name: clean build
+              run: rm -rf ./out
 
-            - name: Set up environment for size reports
-              uses: ./.github/actions/setup-size-reports
-              if: ${{ !env.ACT }}
-              with:
-                gh-context: ${{ toJson(github) }}
+            - name: Build RT1170 all clusters example app
+              if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
+              run: |
+                  scripts/run_in_build_env.sh "\
+                      ./scripts/build/build_examples.py \
+                      --target nxp-rt1170-freertos-all-clusters-wifi-iwx12 \
+                      --target nxp-rt1170-freertos-all-clusters-wifi-ota-iwx12 \
+                      build \
+                      --copy-artifacts-to out/artifacts \
+                  "
+            - name: Build RT1170 thermostat example app
+              run: |
+                  scripts/run_in_build_env.sh "\
+                      ./scripts/build/build_examples.py \
+                      --target nxp-rt1170-freertos-thermostat-thread-wifi-iwx12 \
+                      build \
+                      --copy-artifacts-to out/artifacts \
+                  "
+            - name: Build RT1170 laundry-washer example app
+              if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
+              run: |
+                  scripts/run_in_build_env.sh "\
+                      ./scripts/build/build_examples.py \
+                      --target nxp-rt1170-freertos-laundry-washer-thread-iwx12 \
+                      build \
+                      --copy-artifacts-to out/artifacts \
+                  "
+
+            - name: clean build
+              run: rm -rf ./out
 
             - name: Build RW61X all clusters example app
               run: |
                   scripts/run_in_build_env.sh "\
                       ./scripts/build/build_examples.py \
                       --target nxp-rw61x-freertos-all-clusters-wifi \
-                      --target nxp-rw61x-freertos-all-clusters-thread \
                       --target nxp-rw61x-freertos-all-clusters-wifi-ota-cmake \
                       build \
                       --copy-artifacts-to out/artifacts \
                   "
-
             - name: Build RW61X thermostat example app
               run: |
                   scripts/run_in_build_env.sh "\
                       ./scripts/build/build_examples.py \
-                      --target nxp-rw61x-freertos-thermostat-wifi \
-                      --target nxp-rw61x-freertos-thermostat-thread \
                       --target nxp-rw61x-freertos-thermostat-thread-wifi \
                       build \
                       --copy-artifacts-to out/artifacts \
                   "
-
             - name: Build RW61X laundry-washer example app
+              if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
               run: |
                   scripts/run_in_build_env.sh "\
                       ./scripts/build/build_examples.py \
                       --target nxp-rw61x-freertos-laundry-washer-wifi \
-                      --target nxp-rw61x-freertos-laundry-washer-thread \
                       build \
                       --copy-artifacts-to out/artifacts \
                   "
+
+            - name: clean build
+              run: rm -rf ./out
+
             - name: Uploading Size Reports
               uses: ./.github/actions/upload-size-reports
               if: ${{ !env.ACT }}
               with:
-                platform-name: RW61X
+                platform-name: NXP-FREERTOS
     zephyr:
         name: ZEPHYR
 
@@ -289,8 +249,15 @@
               uses: ./.github/actions/checkout-submodules-and-bootstrap
               with:
                 platform: nxp
-
+            - name: Detect changed paths
+              uses: dorny/paths-filter@v3
+              id: changed_paths
+              with:
+                  filters: |
+                      nxp:
+                        - '**/nxp/**'
             - name: Build NXP Zephyr examples
+              if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
               run: |
                   scripts/run_in_build_env.sh "\
                       ./scripts/build/build_examples.py \
diff --git a/docs/platforms/nxp/index.md b/docs/platforms/nxp/index.md
index be225ac..fc11ed7 100644
--- a/docs/platforms/nxp/index.md
+++ b/docs/platforms/nxp/index.md
@@ -10,5 +10,5 @@
 -   [NXP - Android Commissioning](nxp_k32w_android_commissioning.md)
 -   [NXP - Linux Examples](nxp_imx8m_linux_examples.md)
 -   [NXP - Manufacturing Data](nxp_manufacturing_flow.md)
--   [NXP - RW61x OTA Software Update Guide](nxp_rw61x_ota_software_update.md)
+-   [NXP - RTs OTA Software Update Guide](nxp_RTs_ota_software_update.md)
 -   [NXP - Zephyr OTA Software Update Guide](nxp_zephyr_ota_software_update.md)
diff --git a/docs/platforms/nxp/nxp_rw61x_ota_software_update.md b/docs/platforms/nxp/nxp_RTs_ota_software_update.md
similarity index 68%
rename from docs/platforms/nxp/nxp_rw61x_ota_software_update.md
rename to docs/platforms/nxp/nxp_RTs_ota_software_update.md
index af67b14..696f507 100644
--- a/docs/platforms/nxp/nxp_rw61x_ota_software_update.md
+++ b/docs/platforms/nxp/nxp_RTs_ota_software_update.md
@@ -1,13 +1,19 @@
-# Matter Over-The-Air Software Update with NXP RW61x example applications
+# Matter Over-The-Air Software Update with NXP RTs example applications
 
 ## Overview
 
+This document describes OTA feature on NXP devices:
+
+-   RW61x
+-   RT1060_EVK-C
+-   RT1170_EVK-B
+
 The OTA Requestor feature enables the device to be informed of, download and
 apply a software update from an OTA Provider.
 
-This section explains how to perform an OTA Software Update with NXP RW61x
-example applications. Throughout this guide, the all-clusters application is
-used as an example.
+This section explains how to perform an OTA Software Update with NXP RTs example
+applications. Throughout this guide, the all-clusters application is used as an
+example.
 
 In general, the Over-The-Air Software Update process consists of the following
 steps :
@@ -24,10 +30,9 @@
 
 ### Flash Memory Layout
 
-The RW61x Flash is divided into different regions as follow :
+The RTs Flash is divided into different regions as follow :
 
--   Bootloader : MCUBoot resides at the base of the flash and occupies 0x20000
-    (128 kB).
+-   Bootloader : MCUBoot resides at the base of the flash.
 -   Primary application partition : The example application which would be run
     by the bootloader (active application). The size reserved for this partition
     is 4.4 MB.
@@ -36,11 +41,12 @@
 
 Notes :
 
--   The CPU1/CPU2 firmware are embedded in the CPU3 example application.
+-   For RW61x: The CPU1/CPU2 firmware are embedded in the CPU3 example
+    application.
 -   The sizes of the primary and secondary applications are provided as an
     example (currently 4.4 MB is reserved for each partition). The size can be
     changed by modifying the `m_app_max_sectors` value in the linker script of
-    the application (`RW610_flash.ld`).
+    the application .
 
 ### MCUBoot Bootloader
 
@@ -48,11 +54,11 @@
 self-upgrade. For more details, please refer to the
 [MCUBoot documentation](https://github.com/mcu-tools/mcuboot/blob/main/docs/design.md).
 
-For RW61x platform, the bootloader is configured to use the flash remapping
+For RTs platform, the bootloader is configured to use the flash remapping
 mechanism by default, in order to perform the image upgrade. This is achieved by
 using the `MCUBoot DIRECT-XIP` upgrade mode.
 
-## OTA Software Update process for RW61x example application
+## OTA Software Update process for RTs example application
 
 ### Flashing the bootloader
 
@@ -71,9 +77,11 @@
 
 Run the following commands :
 
-```
+Connect J-Link debugger to device:
+
+```sh
 J-Link > connect
-Device> ? # you will be presented with a dialog -> select `RW612`
+Device> ? # you will be presented with a dialog -> select `RW612` for RW61x, `MIMXRT1062XXX6B` for RT1060, `MIMXRT1176xxxA_M7` for RT1170
 Please specify target interface:
 J) JTAG (Default)
 S) SWD
@@ -81,34 +89,60 @@
 TIF> S
 Specify target interface speed [kHz]. <Default>: 4000 kHz
 Speed> # <enter>
+```
+
+Erase flash:
+
+```
 J-Link > exec EnableEraseAllFlashBanks
+```
+
+For RW61x
+
+```
 J-Link > erase 0x8000000, 0x88a0000
 ```
 
+For RT1060-EVK-C
+
+```
+J-Link > erase 0x60000000, 0x61000000
+```
+
+For RT1170-EVK-B
+
+```
+J-Link > erase 0x30000000, 0x34000000
+```
+
 -   MCUBoot application can be built with SDK installed, using instructions
-
     below.
+-   Retrieve the mcuboot directory located at
+    _'<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<a href="#1" id="1-ref">`RTboard`<sup>1</sup></a>/ota_examples/`mcuboot_opensource/armgcc`'_
 
--   Retrieve the mcuboot directory with :
+_<a id="1" href="#1-ref"><sup>1</sup></a> `rdrw612bga` or `frdmrw612` for RW61x,
+`evkcmimxrt1060` for RT1060-EVK-C, `evkbmimxrt1170` for RT1170-EVK-B_
 
 ```
-user@ubuntu: cd ~/Desktop/connectedhomeip/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<rw612 board>/ota_examples/mcuboot_opensource/armgcc
+user@ubuntu: cd ~/Desktop/connectedhomeip/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<RT_board>/ota_examples/mcuboot_opensource/armgcc
 ```
 
-`<rw612 board>`: Supported rw612 boards are: `rdrw612bga` or `frdmrw612`
-
--   Build the mcuboot application :
+-   Build the mcuboot application with running
+    <a href="#2" id="2-ref">`build_script`<sup>2</sup></a>
 
 ```
-user@ubuntu: chmod +x build_flash_release.sh
+user@ubuntu: chmod +x <build_script>
 user@ubuntu: export ARMGCC_DIR=/opt/gcc-arm-none-eabi-10.3-2021.10   # with ARMGCC_DIR referencing the compiler path
-user@ubuntu: ./build_flash_release.sh
+user@ubuntu: ./<build_script>
 ```
 
+_<a id="2" href="#2ref"><sup>2</sup></a> `build_flash_release.sh` for RW61x,
+`build_flexspi_nor_release.sh` for RT1060 and RT1170_
+
 -   Program the generated binary to the target board.
 
 ```
-J-Link > loadbin ~/Desktop/connectedhomeip/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<rw612 board>/ota_examples/mcuboot_opensource/armgcc/flash_release/mcuboot_opensource.elf
+J-Link > loadbin <path_to_mcuboot>/mcuboot_opensource.elf
 ```
 
 -   If it runs successfully, the following logs will be displayed on the
@@ -126,10 +160,11 @@
 
 Note : By default, mcuboot application considers the primary and secondary
 partitions to be the size of 4.4 MB. If the size is to be changed, the partition
-addresses should be modified in the flash_partitioning.h accordingly. For more
+addresses should be modified in the `flash_partitioning.h` accordingly. For more
 information about the flash partitioning with mcuboot, please refer to the
-dedicated readme.txt located in
-"`<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<rw612 board>/ota_examples/mcuboot_opensource/`".
+dedicated `readme.txt` located in
+
+> _<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<a href="#1" id="1ref">`RTboard`<sup>1</sup></a>/ota_examples/`mcuboot_opensource`/._
 
 ### Generating and flashing the signed application image
 
@@ -143,15 +178,25 @@
     signature, the upgrade type, the swap status...
 
 The all-clusters application can be generated using the instructions from the
-[README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rw61x/README.md#building)
-section. The application is automatically linked to be executed from the primary
-image partition, taking into consideration the offset imposed by mcuboot.
 
-The resulting executable file found in out/debug/chip-rw61x-all-cluster-example
+README.md<a href="#3" id="3-ref"><sup>3</sup></a>'Building' section. The
+application is automatically linked to be executed from the primary image
+partition, taking into consideration the offset imposed by mcuboot.
+
+_<a id="3" href="#3-ref"><sup>3</sup></a>
+[RW61x README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rw61x/README.md#building),
+[RT1060 README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rt1060/README.md#building),
+[RT1170 README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rt1170/README.md#building)_
+
+The resulting executable file found in
+out/release/chip-<a href="#4" id="4-ref">`board`<sup>4</sup></a>-all-cluster-example
 needs to be converted into raw binary format as shown below.
 
-```
-arm-none-eabi-objcopy -R .flash_config -R .NVM -O binary chip-rw61x-all-cluster-example chip-rw61x-all-cluster-example.bin
+_<a id="4" href="#4-ref"><sup>4</sup></a> `rw61x` for RW61x, `rt1060` for
+RT1060-EVK-C, `rt1170` for RT1170-EVK-B_
+
+```sh
+arm-none-eabi-objcopy -R .flash_config -R .NVM -O binary chip-<"board">-all-cluster-example chip-<"board">-all-cluster-example.bin
 ```
 
 To sign the image and wrap the raw binary of the application with the header and
@@ -161,10 +206,10 @@
 The following commands can be run (make sure to replace the /path/to/file/binary
 with the adequate files):
 
-```
+```sh
 user@ubuntu: cd ~/Desktop/<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/middleware/mcuboot_opensource/scripts/
 
-user@ubuntu: python3 imgtool.py sign --key ~/Desktop/<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<rw612 board>/ota_examples/mcuboot_opensource/keys/sign-rsa2048-priv.pem --align 4 --header-size 0x1000 --pad-header --pad --confirm --slot-size 0x440000 --max-sectors 1088 --version "1.0" ~/Desktop/connectedhomeip/examples/all-clusters-app/nxp/rt/rw61x/out/debug/chip-rw61x-all-cluster-example.bin ~/Desktop/connectedhomeip/examples/all-clusters-app/nxp/rt/rw61x/out/debug/chip-rw61x-all-cluster-example_SIGNED.bin
+user@ubuntu: python3 imgtool.py sign --key ~/Desktop/<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<RT board>/ota_examples/mcuboot_opensource/keys/sign-rsa2048-priv.pem --align 4 --header-size 0x1000 --pad-header --pad --confirm --slot-size 0x440000 --max-sectors 1088 --version "1.0" ~/Desktop/connectedhomeip/examples/all-clusters-app/nxp/rt/<"rt_board">/out/debug/chip-<"rt_board">-all-cluster-example.bin ~/Desktop/connectedhomeip/examples/all-clusters-app/nxp/rt/<"rt_board">/out/debug/chip-<"rt_board">-all-cluster-example_SIGNED.bin
 ```
 
 Notes :
@@ -176,7 +221,7 @@
     adjusted accordingly.
 -   In this example, the image is signed with the private key provided by the
     SDK as an example
-    (`<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<rw612 board>/ota_examples/mcuboot_opensource/keys/sign-rsa2048-priv.pem`),
+    (`<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<RT_board>/ota_examples/mcuboot_opensource/keys/sign-rsa2048-priv.pem`),
     MCUBoot is built with its corresponding public key which would be used to
     verify the integrity of the image. It is possible to generate a new pair of
     keys using the following commands. This procedure should be done prior to
@@ -195,18 +240,31 @@
 ```
 
 -   The extracted public key can then be copied to the
-    `<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<rw612 board>/ota_examples/mcuboot_opensource/keys/sign-rsa2048-pub.c`,
+    `<matter_repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/<RT_board>/ota_examples/mcuboot_opensource/keys/sign-rsa2048-pub.c`,
     given as a value to the rsa_pub_key[] array.
 
 The resulting output is the signed binary of the application version "1.0".
 
-JLink can be used to flash the application at the address 0x8020000, using the
-command :
+JLink can be used to flash the application using the command :
+
+For RW61x
 
 ```
 J-Link > loadbin chip-rw61x-all-cluster-example_SIGNED.bin 0x8020000
 ```
 
+For RT1060-EVK-C
+
+```
+J-Link > loadbin chip-rt1060-all-cluster-example_SIGNED.bin 0x60040000
+```
+
+For RT1170-EVK-B
+
+```
+J-Link > loadbin chip-rt1170-all-cluster-example_SIGNED.bin 0x30040000
+```
+
 The bootloader should then be able to jump directly to the start of the
 application and run it.
 
@@ -226,8 +284,8 @@
 into OTA format. To do so, the ota_image_tool is provided in the repo and can be
 used to convert a binary file into an .ota file.
 
-```
-user@ubuntu:~/connectedhomeip$ : ./src/app/ota_image_tool.py create -v 0xDEAD -p 0xBEEF -vn 2 -vs "2.0" -da sha256 chip-rw61x-all-cluster-example_SIGNED.bin chip-rw61x-all-cluster-example.ota
+```sh
+user@ubuntu:~/connectedhomeip$ : ./src/app/ota_image_tool.py create -v 0xDEAD -p 0xBEEF -vn 2 -vs "2.0" -da sha256 chip-<"rt_board">-all-cluster-example_SIGNED.bin chip-rw61x-all-cluster-example.ota
 ```
 
 The generated OTA file can be used to perform the OTA Software Update. The
@@ -240,7 +298,7 @@
 -   [Chip-tool](../../../examples/chip-tool/README.md) application running on
     the RPi.
 -   OTA Provider application built on the same RPi (as explained below).
--   RW61x board programmed with the example application (with the instructions
+-   RT board programmed with the example application (with the instructions
     above).
 
 Before starting the OTA process, the Linux OTA Provider application can be built
@@ -248,9 +306,11 @@
 
 ```
 user@ubuntu:~/connectedhomeip$ : ./scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/ota-provider-app chip_config_network_layer_ble=false
-
 user@ubuntu:~/connectedhomeip$ : rm -rf /tmp/chip_*
-user@ubuntu:~/connectedhomeip$ : ./out/ota-provider-app/chip-ota-provider-app -f chip-rw61x-all-cluster-example.ota
+```
+
+```sh
+user@ubuntu:~/connectedhomeip$ : ./out/ota-provider-app/chip-ota-provider-app -f chip-<"rt_board">-all-cluster-example.ota
 ```
 
 The OTA Provider should first be provisioned with chip-tool by assigning it the
diff --git a/examples/all-clusters-app/nxp/rt/rt1060/.gn b/examples/all-clusters-app/nxp/rt/rt1060/.gn
new file mode 100644
index 0000000..0985ed9
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1060/.gn
@@ -0,0 +1,35 @@
+# Copyright (c) 2020 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+
+# The location of the build configuration file.
+buildconfig = "${build_root}/config/BUILDCONFIG.gn"
+
+# CHIP uses angle bracket includes.
+check_system_includes = true
+
+default_args = {
+  target_cpu = "arm"
+  target_os = "freertos"
+
+  import("//args.gni")
+
+  # Import common example GN args
+  import("${chip_root}/examples/platform/nxp/common/gn/args.gni")
+
+  # Import default platform configs
+  import("${chip_root}/src/platform/nxp/rt/rt1060/args.gni")
+}
diff --git a/examples/all-clusters-app/nxp/rt/rt1060/BUILD.gn b/examples/all-clusters-app/nxp/rt/rt1060/BUILD.gn
new file mode 100644
index 0000000..16e0b03
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1060/BUILD.gn
@@ -0,0 +1,284 @@
+# Copyright (c) 2021-2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+import("${chip_root}/src/platform/device.gni")
+
+#allows to get common NXP SDK gn options
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+# Allows to get various RT gn options
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni")
+
+import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni")
+import(
+    "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni")
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_executable.gni")
+
+assert(current_os == "freertos")
+assert(target_os == "freertos")
+assert(nxp_platform == "rt/rt1060")
+
+declare_args() {
+  # Allows to enable to ota_provider support
+  enable_ota_provider = false
+
+  # Allows to connect to a predefine Wi-Fi network at boot
+  wifi_auto_connect_at_boot = false
+  wifi_auto_connect_at_boot_ssid = ""
+  wifi_auto_connect_at_boot_password = ""
+
+  # Setup discriminator as argument
+  setup_discriminator = 3840
+}
+
+example_platform_dir =
+    "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}"
+common_example_dir = "${chip_root}/examples/platform/nxp/common"
+
+app_common_folder = "all-clusters-app/all-clusters-common"
+
+# Create here the SDK instance.
+# Particular sources/defines/includes could be added/changed depending on the target application.
+rt_sdk("sdk") {
+  defines = []
+
+  cflags = []
+  public_deps = []
+  public_configs = []
+  sources = []
+  include_dirs = []
+
+  # Indicate paths to default board files
+  include_dirs += [ "${example_platform_dir}/board/" ]
+
+  # RT1060 rev A use same pin mux as rev B
+  # If user needs different pin mux files for rev A and rev B boards, the source and include from below needs to be updated accordingly
+  if (evkname == "evkmimxrt1060") {
+    include_dirs += [ "${example_platform_dir}/board/evkbmimxrt1060/" ]
+    sources += [ "${example_platform_dir}/board/evkbmimxrt1060/pin_mux.c" ]
+  } else {
+    include_dirs += [ "${example_platform_dir}/board/${evkname}/" ]
+    sources += [ "${example_platform_dir}/board/${evkname}/pin_mux.c" ]
+  }
+
+  sources += [ "${example_platform_dir}/board/hardware_init.c" ]
+  sources += [ "${example_platform_dir}/board/clock_config.c" ]
+  sources += [ "${example_platform_dir}/board/board.c" ]
+  sources += [ "${example_platform_dir}/board/peripherals.c" ]
+
+  # Indicate the path to CHIPProjectConfig.h
+  include_dirs += [ "include/config" ]
+
+  # Indicate the default path to FreeRTOSConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/freeRTOS" ]
+
+  # Indicate the default path to OpenThreadConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/openthread" ]
+
+  # For matter with BR feature, increase FreeRTOS heap size
+  if (chip_enable_wifi && chip_enable_openthread) {
+    defines += [ "configTOTAL_HEAP_SIZE=(size_t)(170 * 1024)" ]
+  }
+
+  defines += [
+    "CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR=${setup_discriminator}",
+  ]
+}
+
+# Create the SDK driver instance.
+# Particular sources/defines/includes could be added to add other drivers not available in the default sdk driver template
+rt1060_sdk_drivers("sdk_driver") {
+}
+
+rt_executable("all_cluster_app") {
+  output_name = "chip-rt1060-all-cluster-example"
+
+  defines = [
+    "CONFIG_RENDEZVOUS_MODE=7",
+    "CONFIG_APP_FREERTOS_OS=1",
+  ]
+
+  if (chip_enable_openthread) {
+    defines += [ "CONFIG_NET_L2_OPENTHREAD=1" ]
+  }
+
+  include_dirs = [
+    "../../common/main/include",
+    "../../common/main",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/include",
+    "${chip_root}/examples/providers/",
+  ]
+
+  sources = [
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/binding-handler.cpp",
+    "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
+    "../../common/main/AppTask.cpp",
+    "../../common/main/DeviceCallbacks.cpp",
+    "../../common/main/ZclCallbacks.cpp",
+    "../../common/main/include/AppEvent.h",
+    "../../common/main/include/AppTask.h",
+    "../../common/main/include/DeviceCallbacks.h",
+    "../../common/main/main.cpp",
+  ]
+
+  # App common files
+  include_dirs += [
+    "${common_example_dir}/icd/include",
+    "${common_example_dir}/matter_cli/include",
+    "${common_example_dir}/device_manager/include",
+    "${common_example_dir}/device_callbacks/include",
+    "${common_example_dir}/matter_button/include",
+    "${common_example_dir}/factory_data/include",
+    "${common_example_dir}/app_task/include",
+  ]
+
+  sources += [
+    "${chip_root}/examples/platform/nxp/${nxp_platform}/factory_data/source/AppFactoryDataExample.cpp",
+    "${common_example_dir}/app_task/source/AppTaskBase.cpp",
+    "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp",
+    "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp",
+    "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp",
+    "${common_example_dir}/icd/source/ICDUtil.cpp",
+    "${common_example_dir}/matter_button/source/ButtonDefault.cpp",
+    "${common_example_dir}/matter_button/source/ButtonManager.cpp",
+    "${common_example_dir}/matter_button/source/ButtonRegistrationDefault.cpp",
+  ]
+
+  deps = [ "${chip_root}/examples/${app_common_folder}" ]
+
+  sources += [
+    "${chip_root}/examples/${app_common_folder}/src/bridged-actions-stub.cpp",
+    "${chip_root}/examples/${app_common_folder}/src/smco-stub.cpp",
+    "${chip_root}/examples/${app_common_folder}/src/static-supported-modes-manager.cpp",
+  ]
+
+  if (chip_enable_matter_cli) {
+    defines += [ "ENABLE_CHIP_SHELL" ]
+    deps += [
+      "${chip_root}/examples/shell/shell_common:shell_common",
+      "${chip_root}/src/lib/shell:shell",
+    ]
+    sources += [
+      "${common_example_dir}/matter_cli/source/AppCLIBase.cpp",
+      "${common_example_dir}/matter_cli/source/AppCLIFreeRTOS.cpp",
+    ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    include_dirs += [ "${common_example_dir}/ota_requestor/include" ]
+    sources += [
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiator.cpp",
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiatorCommon.cpp",
+    ]
+  }
+
+  if (wifi_auto_connect_at_boot) {
+    assert(wifi_auto_connect_at_boot_ssid != "" &&
+               wifi_auto_connect_at_boot_password != "",
+           "WiFi SSID and password must be specified at build time!")
+
+    defines += [
+      "CONFIG_CHIP_APP_WIFI_CONNECT_AT_BOOT=1",
+      "CONFIG_CHIP_APP_WIFI_SSID=\"${wifi_auto_connect_at_boot_ssid}\"",
+      "CONFIG_CHIP_APP_WIFI_PASSWORD=\"${wifi_auto_connect_at_boot_password}\"",
+    ]
+
+    include_dirs += [ "${common_example_dir}/wifi_connect/include" ]
+    sources += [ "${common_example_dir}/wifi_connect/source/WifiConnect.cpp" ]
+  }
+
+  if (enable_ota_provider) {
+    defines += [ "CONFIG_CHIP_OTA_PROVIDER=1" ]
+
+    include_dirs += [
+      "${common_example_dir}/ota_provider/include",
+      "${common_example_dir}/ota_provider/ota-provider-common",
+    ]
+
+    sources += [
+      "${common_example_dir}/ota_provider/ota-provider-common/RTBdxOtaSender.cpp",
+      "${common_example_dir}/ota_provider/ota-provider-common/RTOTAProviderExample.cpp",
+      "${common_example_dir}/ota_provider/source/OTAProvider.cpp",
+    ]
+
+    deps += [
+      "${chip_root}/src/app/server",
+      "${chip_root}/src/protocols/bdx",
+      "${chip_root}/third_party/jsoncpp",
+    ]
+  }
+
+  # In case a dedicated assert function needs to be supported the flag sdk_fsl_assert_support should be set to false
+  # The would add to the build a dedicated application assert implementation.
+  if (!sdk_fsl_assert_support) {
+    sources += [ "${common_example_dir}/app_assert/source/AppAssert.cpp" ]
+  }
+
+  cflags = [ "-Wconversion" ]
+
+  ldscript =
+      "${example_platform_dir}/app/ldscripts/MIMXRT1062xxxxx_flexspi_nor.ld"
+
+  inputs = [ ldscript ]
+
+  ldflags = [
+    "-T" + rebase_path(ldscript, root_build_dir),
+    "-fno-common",
+    "-Wl,--defsym=__stack_size__=2048",
+    "-ffreestanding",
+    "-fno-builtin",
+    "-mapcs",
+    "-u qspiflash_config",
+    "-u image_vector_table",
+    "-u boot_data",
+    "-u dcd_data",
+    "-Wl,-print-memory-usage",
+    "-Wl,--no-warn-rwx-segments",
+  ]
+
+  if (evkname == "evkcmimxrt1060") {
+    ldflags += [ "-Wl,--defsym=gEVKCFlashSize_d=0x1000000" ]
+  }
+
+  if (enable_ota_provider) {
+    # As the OTA file will be stored in the littlefs file system, it is required to increase the size of the file system
+    # To be able to store an OTA file with a MAX size of 640K,
+    # it recommended to size the file system with:
+    # 161 sectors of 4K => reserved for the OTA file
+    # 32 sectors of 4K => reserved for Matter/OT/BLE settings storage
+    ldflags += [ "-Wl,--defsym=gNVMSectorCountLink_d=193" ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    # If OTA build flag is enabled,
+    # we would need to reserve enough space for the bootloader (MCUBoot)
+    # MCUBoot requires 0x11000 Bytes to be reserved at the base of the flash
+    # Consequently, some sections will need to be shifted
+    ldflags += [ "-Wl,--defsym=__m_mcuboot_size__=0x40000" ]
+  }
+
+  output_dir = root_out_dir
+}
+
+group("rt1060") {
+  deps = [ ":all_cluster_app" ]
+}
+
+group("default") {
+  deps = [ ":rt1060" ]
+}
diff --git a/examples/all-clusters-app/nxp/rt/rt1060/README.md b/examples/all-clusters-app/nxp/rt/rt1060/README.md
new file mode 100644
index 0000000..558ae41
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1060/README.md
@@ -0,0 +1,723 @@
+# CHIP RT1060 All-clusters Application
+
+The all-clusters example implements a server which can be accessed by a CHIP
+controller and can accept basic cluster commands.
+
+The example is based on
+[Project CHIP](https://github.com/project-chip/connectedhomeip) and the NXP
+RT1060 SDK, and provides a prototype application that demonstrates device
+commissioning and different cluster control.
+
+<hr>
+
+-   [CHIP RT1060 All-clusters Application](#chip-rt1060-all-clusters-application)
+    -   [Introduction](#introduction)
+        -   [Configurations supported](#configurations-supported)
+        -   [Hardware requirements RT1060 + transceiver](#hardware-requirements-rt1060--transceiver)
+            -   [Hardware requirements RT1060+IW416](#hardware-requirements-rt1060iw416)
+            -   [Hardware requirements RT1060+88W8801](#hardware-requirements-rt106088w8801)
+            -   [Hardware requirements RT1060 + K32W0](#hardware-requirements-rt1060--k32w0)
+            -   [Hardware requirements RT1060-EVK-C+IW612](#hardware-requirements-rt1060-evk-ciw612)
+            -   [Hardware requirements RT1060 + 88W8801 + K32W0x1DK6](#hardware-requirements-rt1060--88w8801--k32w0x1dk6)
+    -   [Building](#building)
+        -   [Building with Matter over Wifi configuration on RT1060 + transceiver](#building-with-matter-over-wifi-configuration-on-rt1060--transceiver)
+        -   [Build with Matter over Thread configuration on RT1060 + transceiver](#build-with-matter-over-thread-configuration-on-rt1060--transceiver)
+            -   [Build with Matter over Thread configuration on RT1060 + K32W0](#build-with-matter-over-thread-configuration-on-rt1060--k32w0)
+            -   [Build with Matter over Thread configuration on RT1060-EVK-C + IW612](#build-with-matter-over-thread-configuration-on-rt1060-evk-c--iw612)
+        -   [Build with Matter over Wi-Fi + OpenThread Border Router configuration on RT1060 + 88W8801 + K32W0x1DK6](#build-with-matter-over-wi-fi--openthread-border-router-configuration-on-rt1060--88w8801--k32w0x1dk6)
+        -   [General Information](#general-information)
+    -   [Manufacturing data](#manufacturing-data)
+    -   [Flashing and debugging](#flashing-and-debugging)
+    -   [Testing the example](#testing-the-example)
+        -   [Matter over wifi configuration :](#matter-over-wifi-configuration-)
+        -   [Matter over thread configuration :](#matter-over-thread-configuration-)
+        -   [Matter over wifi with openthread border router configuration :](#matter-over-wifi-with-openthread-border-router-configuration-)
+        -   [Testing the all-clusters application without Matter CLI:](#testing-the-all-clusters-application-without-matter-cli)
+        -   [Testing the all-clusters application with Matter CLI enabled:](#testing-the-all-clusters-application-with-matter-cli-enabled)
+    -   [Thread Border Router overview](#thread-border-router-overview)
+        <hr>
+
+<a name="intro"></a>
+
+## Introduction
+
+![RT1060 EVK-B](../../../../platform/nxp/rt/rt1060/doc/images/MIMXRT1060-EVKB-TOP.png)
+
+The RT1060 all-cluster application provides a working demonstration of the
+RT1060 board integration, built using the Project CHIP codebase and the NXP
+RT1060 SDK.
+
+The example supports:
+
+-   Matter over Wi-Fi
+-   Matter over Openthread
+-   Matter over Wi-Fi with Openthread Border Router support
+
+The example targets the
+[NXP MIMXRT1060-EVK-B](https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/mimxrt1060-evk-i-mx-rt1060-evaluation-kit:MIMXRT1060-EVK)
+board by default. It is also possible to use the older MIMXRT1060-EVK board,
+build and board setup instructions differ in some steps.
+
+### Configurations supported
+
+Here are listed configurations supported on RT1060.
+
+Matter over Wi-Fi :
+
+-   RT1060 + IW416 (Wi-Fi + BLE)
+-   RT1060 + 88W8801 (Wi-Fi)
+-   **Experimental:** _RT1060-EVK-C + IW612 (Wi-fi +BLE)_
+
+Matter over Thread :
+
+-   RT1060 + K32W0 (15.4 + BLE)
+-   **Experimental:** _RT1060-EVK-C + IW612 (15.4 + BLE)_
+
+Matter over Wi-Fi with Openthread Border Router support :
+
+-   RT1060 + 88W8801 + K32W0x1DK6
+
+### Hardware requirements RT1060 + transceiver
+
+#### Hardware requirements RT1060+IW416
+
+Host part:
+
+-   1 MIMXRT1060-EVK-B or MIMXRT1060-EVK board
+-   external 5V supply
+
+Transceiver part:
+
+-   1 AzureWave AW-AM510-uSD evaluation board
+
+Jumper settings for MIMXRT1060-EVK-B (enables external 5V supply):
+
+-   remove J40 5-6
+-   connect J40 1-2
+-   connect J45 with external power (controlled by SW6 - position 3)
+
+Jumper settings for MIMXRT1060-EVK (enables external 5V supply):
+
+-   remove J1 5-6
+-   connect J1 1-2
+-   connect J2 with external power (enabled by SW1 - position 3)
+
+The hardware should be reworked according to the chapter _Hardware Rework Guide
+for MIMXRT1060-EVK-B and AW-AM510-uSD_ or the chapter _Hardware Rework Guide for
+MIMXRT1060-EVK and AW-AM510-uSD_ in the document
+_`Hardware Rework Guide for EdgeFast BT PAL`_ which can be found in the NXP
+RT1060 SDK (_docs/wireless/bluetooth/`edgefast_bluetooth`/Hardware Rework Guide
+for EdgeFast BT PAL.pdf_):
+
+-   Make sure resistors R368/R376/R347/R349/R365/R363/R193/R186 are removed.
+
+Only the SDK package downloaded from https://mcuxpresso.nxp.com contains the PDF
+document mentioned above, it is not present in the SDK downloaded from GitHub
+using the west tool.
+
+Jumper settings for AzureWave AW-AM510-uSD Module:
+
+-   J4 1-2: `VIO` 1.8V (Voltage level of SD-IO pins is 1.8V)
+-   J2 1-2: 3.3V `VIO_uSD` (Power Supply from uSD connector)
+-   The pin 1 of J4 is not marked on the board. Please note that pin numbering
+    of J4 is opposite to J2.
+
+Plug AW-AM510-uSD into uSD connector J22 on MIMXRT1060-EVK-B or J39 on
+MIMXRT1060-EVK.
+
+Connect the following pins between RT1060 and AW-AM510-uSD to enable Bluetooth
+HCI UART:
+
+|  PIN NAME  | AW-AM510-uSD  | MIMXRT1060-EVK-B | MIMXRT1060-EVK | PIN NAME OF RT1060 | GPIO NAME OF RT1060 |
+| :--------: | :-----------: | :--------------: | :------------: | :----------------: | :-----------------: |
+| `UART_TXD` | `J10 (pin 4)` |  `J16 (pin 1)`   | `J22 (pin 1)`  |   `LPUART3_RXD`    |   `GPIO_AD_B1_07`   |
+| `UART_RXD` | `J10 (pin 2)` |  `J16 (pin 2)`   | `J22 (pin 2)`  |   `LPUART3_TXD`    |   `GPIO_AD_B1_06`   |
+| `UART_RTS` | `J10 (pin 6)` |  `J33 (pin 3)`   | `J23 (pin 3)`  |   `LPUART3_CTS`    |   `GPIO_AD_B1_04`   |
+| `UART_CTS` | `J10 (pin 8)` |  `J33 (pin 4)`   | `J23 (pin 4)`  |   `LPUART3_RTS`    |   `GPIO_AD_B1_05`   |
+|   `GND`    | `J6 (pin 7)`  |  `J32 (pin 7)`   | `J25 (pin 7)`  |       `GND`        |        `GND`        |
+
+Attach external antenna into connector on AW-AM510-uSD.
+
+Additional information about the AW-AM510-uSD can be found in the user manual
+_UM11441 - Getting Started with NXP-based Wireless Modules and i.MX RT Platform
+Running RTOS_, which can be found in the NXP RT1060 SDK
+(docs/wireless/UM11441-Getting-Started-with-NXP-based-Wireless-Modules-and-i.MX-RT-Platform-Running-on-RTOS.pdf).
+Only the SDK package downloaded from https://mcuxpresso.nxp.com contains the PDF
+document, it is not present in the SDK downloaded from GitHub using the west
+tool.
+
+#### Hardware requirements RT1060+88W8801
+
+Host part:
+
+-   1 MIMXRT1060-EVK-B
+
+Transceiver part :
+
+-   1 88W8801 2DS M.2 Module (rev A)
+-   1 Murata uSD-M.2 Adapter (rev B1)
+
+The 88W8801 2DS M.2 Module should be inserted into the Murata uSD-M.2 Adapter
+and inserted in the uSD slot J22 of MIMXRT1060-EVK-B. The Murata uSD-M.2 Adapter
+can be powered up using uSD pins. For that, set the J1 jumper of Murata uSD-M.2
+to position 2-3 (Position 2-3: `VBAT supply`, typical 3.1 ~ 3.3V, from microSD
+connector).
+
+Note: as the 88W8801 module supports only the 2.4 GHz Wi-Fi band, it is
+mandatory to connect it to a Wi-Fi access point on the 2.4 GHz band.
+
+#### Hardware requirements RT1060 + K32W0
+
+Host part:
+
+-   1 MIMXRT1060-EVK-B or MIMXRT1060-EVK board
+
+Transceiver part:
+
+-   1 OM15076-3 Carrier Board (DK6 board)
+-   1 K32W0 Module to be plugged on the Carrier Board
+
+**Board settings**
+
+The below table explains pin settings (UART settings) to connect the
+MIMXRT1060-EVK-B (host) to a k32w061 transceiver (rcp).
+
+|     PIN NAME     | DK6 (K32W061) | MIMXRT1060-EVK-B | MIMXRT1060-EVK | PIN NAME OF RT1060 | GPIO NAME OF RT1060 |
+| :--------------: | :-----------: | :--------------: | :------------: | :----------------: | :-----------------: |
+|    `UART_TXD`    | `PIO, pin 8`  |   `J16, pin 1`   |  `J22, pin 1`  |   `LPUART3_RXD`    |   `GPIO_AD_B1_07`   |
+|    `UART_RXD`    | `PIO, pin 9`  |   `J16, pin 2`   |  `J22, pin 2`  |   `LPUART3_TXD`    |   `GPIO_AD_B1_06`   |
+|    `UART_RTS`    | `PIO, pin 6`  |   `J33, pin 3`   |  `J23, pin 3`  |   `LPUART3_CTS`    |   `GPIO_AD_B1_04`   |
+|    `UART_CTS`    | `PIO, pin 7`  |   `J33, pin 4`   |  `J23, pin 4`  |   `LPUART3_RTS`    |   `GPIO_AD_B1_05`   |
+|      `GND`       |  `J3, pin 1`  |   `J32, pin 7`   |  `J25, pin 7`  |        `XX`        |        `XX`         |
+|     `RESET`      |    `RSTN`     |   `J33, pin 2`   |  `J23, pin 2`  |  `GPIO_AD_B1_11`   |   `GPIO_AD_B1_11`   |
+| `DIO5/ISP Entry` | `PIO, pin 5`  |   `J33, pin 1`   |  `J23, pin 1`  |  `GPIO_AD_B1_10`   |   `GPIO_AD_B1_10`   |
+
+The below picture shows pins connections for the MIMXRT1060-EVK.
+
+![rt1060_k32w061_pin_settings](../../../../platform/nxp/rt/rt1060/doc/images/rt1060_k32w061_pin_settings.jpg)
+
+#### Hardware requirements RT1060-EVK-C+IW612
+
+Host part:
+
+-   1 MIMXRT1060-EVK-C
+
+    Hardware should be reworked as below:
+
+    -   populate R93, R96, R2155, R2156, R2157, R2158, R2159 with 0Ohm resistors
+    -   J76 and J107 jumpers in 2-3 position.
+    -   J109 and J110 jumpers in 1-2 position.
+    -   disconnect pin15 of component U9
+
+![rt1060_evkc_IW612_hw_rework](../../../../platform/nxp/rt/rt1060/doc/images/rt1060_evkc_IW612_hw_rework.jpg)
+
+![rt1060_evkc_IW612_hw_rework_detail](../../../../platform/nxp/rt/rt1060/doc/images/rt1060_evkc_IW612_hw_rework_detail.jpg)
+
+Transceiver part :
+
+-   1
+    [2EL M2 A1 IW612 Secure Module](https://www.nxp.com/products/wireless/wi-fi-plus-bluetooth-plus-802-15-4/2-4-5-ghz-dual-band-1x1-wi-fi-6-802-11ax-plus-bluetooth-5-2-plus-802-15-4-tri-radio-solution:IW612)
+
+![](../../../../platform/nxp/rt/rt1170/doc/images/iwx612_2EL.jpg)
+
+#### Hardware requirements RT1060 + 88W8801 + K32W0x1DK6
+
+-   i.MX RT1060 EVK-A or EVK-B board
+-   88W8801 module (for Wi-Fi connection), for example 88W8801 2DS M.2 Module
+    (rev A) and Murata uSD-M.2 Adapter (rev B1)
+-   K32W0x1 mezzanine module (for Thread connection)
+-   `IOT_ZTB-DK006` carrier board for the K32W0x1 module (referenced as DK6
+    carrier board)
+
+<a name="building"></a>
+
+## Building
+
+In order to build the Project CHIP example, we recommend using a Linux
+distribution. Supported Operating Systems are listed in
+[BUILDING.md](../../../../../docs/guides/BUILDING.md).
+
+-   Make sure that below prerequisites are correctly installed, as described in
+    [BUILDING.md](../../../../../docs/guides/BUILDING.md).
+
+```
+sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev \
+     libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev \
+     python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev
+```
+
+-   Step 1: checkout NXP specific submodules only
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ scripts/checkout_submodules.py --shallow --platform nxp --recursive
+```
+
+-   Step 2: activate local environment
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/activate.sh
+```
+
+If the script says the environment is out of date, you can update it by running
+the following command:
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/bootstrap.sh
+```
+
+-   Step 3: Init NXP SDK(s)
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ third_party/nxp/nxp_matter_support/scripts/update_nxp_sdk.py --platform common
+```
+
+Note: By default update_nxp_sdk.py will try to initialize all NXP SDKs. Arg "--
+help" could be used to view all available options.
+
+-   Start building the application.
+
+### Building with Matter over Wifi configuration on RT1060 + transceiver
+
+-   Build the Wi-fi configuration for **MIMXRT1060-EVK-B board + IW416
+    transceiver** (with BLE for commissioning).
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_wifi=true iw416_transceiver=true" out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
+```
+
+-   Build the Wi-fi configuration for **MIMXRT1060-EVK-B board + 88W8801
+    transceiver** with Matter-over-Wifi configuration and only onnetwork
+    commissioning (without BLE, the WiFi network credentials are provided at
+    build-time which will enable the device to join the Wi-Fi AP at startup):
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ export ssid_name=<nwk_ssid> && export ssid_password=<nwk_password> && gn gen --args="chip_enable_wifi=true w8801_transceiver=true chip_config_network_layer_ble=false wifi_auto_connect_at_boot=true wifi_auto_connect_at_boot_ssid=\"${ssid_name}\" wifi_auto_connect_at_boot_password=\"${ssid_password}\"" out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
+```
+
+-   Build the Wi-fi configuration for **MIMXRT1060-EVK-C board + IW612
+    transceiver** (with BLE for commissioning).
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_wifi=true iwx12_transceiver=true evkname=\"evkcmimxrt1060\" " out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
+```
+
+-   Build the Wi-fi configuration for **MIMXRT1060-EVK-C board + IW612
+    transceiver** with Matter-over-Wifi configuration and only onnetwork
+    commissioning (without BLE, the WiFi network credentials are provided at
+    build-time which will enable the device to join the Wi-Fi AP at startup):
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_wifi=true iwx12_transceiver=true evkname=\"evkcmimxrt1060\" chip_config_network_layer_ble=false tcp_download=true wifi_ssid=\"your_wifi_ssid\" wifi_password=\"your_wifi_password\"" out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
+```
+
+### Build with Matter over Thread configuration on RT1060 + transceiver
+
+#### Build with Matter over Thread configuration on RT1060 + K32W0
+
+For this configuration a K32W0 RCP image is required and must support in a
+single image the openthread RCP configuration and the BLE HCI BB configuration.
+Messages between the host and the K32W0 transceiver are transferred on a single
+UART with flow control support. For that the HDLC-Lite framing protocol is used
+to transfer spinel and hci frames. In addition, hci and spinel frames can be
+distinguished by using the Spinel convention which is line compatible with
+BT/BLE HCI.
+
+Before building the Matter host application, it is required to generate the
+K32W0 image supporting features as described above. To build this binary the
+target `ot_rcp_ble_hci_bb_single_uart_fc` should be built by following the
+[Readme.md][ot_rcp_ble_hci_bb_k32w0_readme]. After a successful build, a `".h"`
+file will be generated and would contain the K32W0 RCP binary. As described in
+the [Readme.md][ot_rcp_ble_hci_bb_k32w0_readme], the application binaries will
+be generated in
+`ot_nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h`.
+
+The generate K32W0 transceiver binary `".h"` file path must be indicated to the
+host Matter application build. In fact the Matter host application is in charge
+of storing the K32W0 firmware in its flash to be able to use the
+`The Over The Wire (OTW) protocol (over UART)` to download (at host startup) the
+k32w0 transceiver image from the host to the K32W0 internal flash. For more
+information on the k32w0 `OTW` protocol, user can consult the doxygen header of
+the file located in
+`<repo_root>/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/middleware/wireless/framework/OTW/k32w0_transceiver/fwk_otw.c`.
+
+Here is a summary of the k32w0 _gn gen_ arguments that are mandatory or
+optional:
+
+-   Mandatory: `k32w0_transceiver=true`
+-   Mandatory: `hci_spinel_single_uart=true`
+-   Optional:
+    `k32w0_transceiver_bin_path=\"/home/ot-nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h\"`
+    This argument is optional, by default, if not set, the binary file located
+    in
+    "\${chip_root}/third_party/openthread/ot_nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h"
+    will be used. If the K32W061 transceiver binary is saved at another location
+    an absolute path of its location should be given.
+-   Optional: `otw_logs_enabled=true` This argument is optional, by default
+    being set to false. If set to true, RT logging will print the `OTW` logs.
+
+[ot_rcp_ble_hci_bb_k32w0_readme]:
+    https://github.com/NXP/ot-nxp/blob/v1.0.0.2-tag-nxp/examples/hybrid/ot_rcp_ble_hci_bb/k32w061/README.md#building-the-examples
+
+Below is presented an example of _gn gen_ argument that could be used to
+generate the host matter application with a k32w0 transceiver.
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_openthread=true k32w0_transceiver=true k32w0_transceiver_bin_path=\"/home/ot-nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h\" hci_spinel_single_uart=true chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=true" out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
+```
+
+#### Build with Matter over Thread configuration on RT1060-EVK-C + IW612
+
+Build the OpenThread configuration for MIMXRT1060-EVK-C board + IW612
+transceiver (with BLE for commissioning).
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_openthread=true  iwx12_transceiver=true evkname=\"evkcmimxrt1060\" chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=true" " out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
+```
+
+### Build with Matter over Wi-Fi + OpenThread Border Router configuration on RT1060 + 88W8801 + K32W0x1DK6
+
+This configuration supports the Thread Border Router management cluster to
+provision the Thread credentials. Enabling the Matter CLI in order to control
+the Thread network on the Border Router is optional but recommended for other
+features like the Thread credential sharing.
+
+Note that the Thread Border Router management cluster is only supported on the
+thermostat application for now.
+
+-   Build Matter with Border Router configuration with ble-wifi commissioning:
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_wifi=true w8801_transceiver=true chip_enable_matter_cli=true chip_config_network_layer_ble=true chip_enable_openthread=true k32w0_transceiver=true k32w0_transceiver_bin_path=\"/path/to/ot-rcp/ot-rcp-ble-hci-bb-k32w061.elf.bin.h\" hci_spinel_single_uart=true" out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
+```
+
+-   Build Matter with Border Router configuration with onnetwork commissioning:
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_wifi=true w8801_transceiver=true chip_enable_matter_cli=true chip_config_network_layer_ble=false wifi_auto_connect_at_boot=true wifi_auto_connect_at_boot_ssid=\"your_wifi_ssid\" wifi_auto_connect_at_boot_password=\"your_wifi_password\" chip_enable_openthread=true k32w0_transceiver=true k32w0_transceiver_bin_path=\"/path/to/ot-rcp/ot-rcp-ble-hci-bb-k32w061.elf.bin.h\"" out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
+```
+
+### General Information
+
+The resulting output file can be found in
+out/debug/chip-rt1060-all-cluster-example.
+
+Optional GN options that can be added when building an application:
+
+-   To enable the
+    [secondary network commissioning interface](../../../../../docs/platforms/nxp/nxp_otbr_guide.md#using-the-secondary-network-commissioning-interface),
+    the arguments `chip_enable_secondary_nwk_if=true` and
+    `chip_device_config_thread_network_endpoint_id=3` must be added to the _gn
+    gen_ command. Note that this is only supported when building the Matter over
+    Wifi + OpenThread Border Router configuration. Note that is only supported
+    on the on the thermostat application for now.
+-   To enable the [matter CLI](README.md#matter-shell), the argument
+    `chip_enable_matter_cli=true` must be added to the _gn gen_ command.
+-   To build the application in debug mode, the argument
+    `is_debug=true optimize_debug=false` must be added to the _gn gen_ command.
+-   By default, the MIMXRT1060-EVK-B will be chosen. To switch to an
+    MIMXRT1060-EVK, the argument `evkname=\"evkmimxrt1060\"` must be added to
+    the _gn gen_ command.
+-   To build with the option to have Matter certificates/keys pre-loaded in a
+    specific flash area the argument `chip_with_factory_data=1` must be added to
+    the _gn gen_ command. For more information, see
+    [Guide for writing manufacturing data on NXP devices](../../../../../docs/platforms/nxp/nxp_manufacturing_flow.md)
+
+<a name="manufacturing"></a>
+
+## Manufacturing data
+
+See
+[Guide for writing manufacturing data on NXP devices](../../../../../docs/platforms/nxp/nxp_manufacturing_flow.md)
+
+Other comments:
+
+The RT1060 all cluster app demonstrates the usage of encrypted Matter
+manufacturing data storage. Matter manufacturing data should be encrypted before
+flashing them to the RT1060 flash.
+
+For development purpose the RT1060 all cluster app code could use the hardcoded
+AES 128 software key. This software key should be used only during development
+stage.
+
+For production usage, it is recommended to use the `OTP key` which needs to be
+fused in the RT1060 SW_GP2. The application note AN12800 should be followed to
+get more information. In this case the all cluster app should be updated to
+indicate to the `DCP` module to use the `OTP key` instead of the software key.
+For that the call to `FactoryDataPrvdImpl().SetAes128Key()` should be changed to
+`FactoryDataPrvdImpl().SetKeySelected(KeySelect::)` with the arg value
+specifying where the `OTP key` is stored (`kDCP_OCOTPKeyLow` for [127:0] of
+SW_GP2 or `kDCP_OCOTPKeyHigh` for [255:128] of SW_GP2). For more information the
+RT1060 `FactoryDataProviderImpl` class description should be checked.
+
+<a name="flashdebug"></a>
+
+## Flashing and debugging
+
+In order to flash the application we recommend using
+[MCUXpresso IDE (version >= 11.6.0)](https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE).
+
+-   Import the previously downloaded NXP SDK into MCUXpresso IDE.
+
+Right click the empty space in the MCUXpresso IDE "Installed SDKs" tab to show
+the menu, select the "Import local SDK Git repository" menu item.
+
+![Import local SDK Git repository](../../../../platform/nxp/rt/rt1060/doc/images/import-local-repository.png)
+
+The "Import SDK Git" window will open. The "Repository location" text field
+should point to the west workspace
+(third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo subfolder of the
+Matter repository). The "Manifest(s) folder" text field should point to its core
+subfolder (third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/core
+subfolder of the Matter repository). Click "OK" and wait for MCUXpresso IDE to
+import the SDK.
+
+![Import SDK Git](../../../../platform/nxp/rt/rt1060/doc/images/import-sdk-git.png)
+
+Finally select the desired board's SDK manifest in the "Installed SDKs" tab.
+
+![Select SDK](../../../../platform/nxp/rt/rt1060/doc/images/select-sdk.png)
+
+-   Import the connectedhomeip repo in MCUXpresso IDE as Makefile Project. Use
+    _none_ as _Toolchain for Indexer Settings_:
+
+```
+File -> Import -> C/C++ -> Existing Code as Makefile Project
+```
+
+-   Configure MCU Settings:
+
+```
+Right click on the Project -> Properties -> C/C++ Build -> MCU Settings -> Select MIMXRT1060 -> Apply & Close
+```
+
+![MCU_Set](../../../../platform/nxp/rt/rt1060/doc/images/mcu-set.png)
+
+Sometimes when the MCU is selected it will not initialize all the memory regions
+(usually the `BOARD_FLASH`, `BOARD_SDRAM` and `NCACHE_REGION`) so it is required
+that this regions are added manually like in the image above. In addition to
+that on the `BOARD_FLASH` line, in the driver tab:
+
+```
+click inside the tab and on the right side a button with three horizontal dots will appear
+click on the button and an window will show
+form the dropdown menu select the MIMXRT1060_SFDP_QSPI driver
+```
+
+![flash_driver](../../../../platform/nxp/rt/rt1060/doc/images/flash_driver.png)
+
+-   Configure the toolchain editor:
+
+```
+Right click on the Project -> C/C++ Build-> Tool Chain Editor -> NXP MCU Tools -> Apply & Close
+```
+
+![toolchain](../../../../platform/nxp/rt/rt1060/doc/images/toolchain.JPG)
+
+-   Create a debug configuration:
+
+```
+Right click on the Project -> Debug -> As->MCUXpresso IDE LinkServer (inc. CMSIS-DAP) probes -> OK -> Select elf file
+```
+
+![debug_0](../../../../platform/nxp/rt/rt1060/doc/images/debug0.png)
+
+![debug_1](../../../../platform/nxp/rt/rt1060/doc/images/debug1.png)
+
+-   Set the _Connect script_ for the debug configuration to _RT1060_connect.scp_
+    from the dropdown list:
+
+```
+Right click on the Project -> Debug As -> Debug configurations... -> LinkServer Debugger
+```
+
+![connect](../../../../platform/nxp/rt/rt1060/doc/images/gdbdebugger.png)
+
+-   Set the _Initialization Commands_ to:
+
+```
+Right click on the Project -> Debug As -> Debug configurations... -> Startup
+
+set non-stop on
+set pagination off
+set mi-async
+set remotetimeout 60000
+##target_extended_remote##
+set mem inaccessible-by-default ${mem.access}
+mon ondisconnect ${ondisconnect}
+set arm force-mode thumb
+${load}
+```
+
+![init](../../../../platform/nxp/rt/rt1060/doc/images/startup.png)
+
+-   Set the _vector.catch_ value to _false_ inside the .launch file:
+
+```
+Right click on the Project -> Utilities -> Open Directory Browser here -> edit *.launch file:
+
+<booleanAttribute key="vector.catch" value="false"/>
+
+```
+
+-   Debug using the newly created configuration file:
+
+<a name="testing-the-example"></a>
+
+## Testing the example
+
+To know how to commission a device over BLE, follow the instructions from
+[chip-tool's README.md 'Commission a device over
+BLE'][readme_ble_commissioning_section].
+
+[readme_ble_commissioning_section]:
+    ../../../../chip-tool/README.md#commission-a-device-over-ble
+
+To know how to commissioning a device over IP, follow the instructions from
+[chip-tool's README.md 'Pair a device over
+IP'][readme_pair_ip_commissioning_section]
+
+[readme_pair_ip_commissioning_section]:
+    ../../../../chip-tool/README.md#pair-a-device-over-ip
+
+#### Matter over wifi configuration :
+
+The "ble-wifi" pairing method can be used in order to commission the device.
+
+#### Matter over thread configuration :
+
+The "ble-thread" pairing method can be used in order to commission the device.
+
+#### Matter over wifi with openthread border router configuration :
+
+In order to create or join a Thread network on the Matter Border Router, the TBR
+management cluster or the `otcli` commands from the matter CLI can be used. For
+more information about using the TBR management cluster follow instructions from
+['Using the TBR management cluster'](../../../../../docs/platforms/nxp/nxp_otbr_guide.md#using-the-thread-border-router-management-cluster).
+For more information about using the matter shell, follow instructions from
+['Testing the all-clusters application with Matter CLI'](#testing-the-all-clusters-application-with-matter-cli-enabled).
+
+In this configuration, the device can be commissioned over Wi-Fi with the
+'ble-wifi' or 'onnetwork' pairing method.
+
+### Testing the all-clusters application without Matter CLI:
+
+1. Prepare the board with the flashed `All-cluster application` (as shown
+   above).
+2. The All-cluster example uses UART1 to print logs while running the server. To
+   view raw UART output, start a terminal emulator like PuTTY and connect to the
+   used COM port with the following UART settings:
+
+    - Baud rate: 115200
+    - 8 data bits
+    - 1 stop bit
+    - No parity
+    - No flow control
+
+3. Open a terminal connection on the board and watch the printed logs.
+
+4. On the client side, start sending commands using the chip-tool application as
+   it is described
+   [here](../../../../chip-tool/README.md#using-the-client-to-send-matter-commands).
+
+### Testing the all-clusters application with Matter CLI enabled:
+
+The Matter CLI can be enabled with the all-clusters application.
+
+For more information about the Matter CLI default commands, you can refer to the
+dedicated [ReadMe](../../../../shell/README.md).
+
+The All-clusters application supports additional commands :
+
+```
+> help
+[...]
+mattercommissioning     Open/close the commissioning window. Usage : mattercommissioning [on|off]
+matterfactoryreset      Perform a factory reset on the device
+matterreset             Reset the device
+```
+
+-   `matterfactoryreset` command erases the file system completely (all Matter
+    settings are erased).
+-   `matterreset` enables the device to reboot without erasing the settings.
+
+Here are described steps to use the all-cluster-app with the Matter CLI enabled
+
+1. Prepare the board with the flashed `All-cluster application` (as shown
+   above).
+2. The matter CLI is accessible in UART1. For that, start a terminal emulator
+   like PuTTY and connect to the used COM port with the following UART settings:
+
+    - Baud rate: 115200
+    - 8 data bits
+    - 1 stop bit
+    - No parity
+    - No flow control
+
+3. The All-cluster example uses UART2 to print logs while running the server. To
+   view raw UART output, a pin should be plugged to an USB to UART adapter
+   (connector J16 pin 7 in case of MIMXRT1060-EVK-B board or connector J22 pin 7
+   in case of MIMXRT1060-EVK board), then start a terminal emulator like PuTTY
+   and connect to the used COM port with the following UART settings:
+
+    - Baud rate: 115200
+    - 8 data bits
+    - 1 stop bit
+    - No parity
+    - No flow control
+
+4. On the client side, start sending commands using the chip-tool application as
+   it is described
+   [here](../../../../chip-tool/README.md#using-the-client-to-send-matter-commands).
+
+For Matter with OpenThread Border Router support, the matter CLI can be used to
+start/join the Thread network, using the following ot-cli commands. (Note that
+setting channel, panid, and network key is not enough anymore because of an Open
+Thread stack update. We first need to initialize a new dataset.)
+
+```
+> otcli dataset init new
+Done
+> otcli dataset
+Active Timestamp: 1
+Channel: 25
+Channel Mask: 0x07fff800
+Ext PAN ID: 42af793f623aab54
+Mesh Local Prefix: fd6e:c358:7078:5a8d::/64
+Network Key: f824658f79d8ca033fbb85ecc3ca91cc
+Network Name: OpenThread-b870
+PAN ID: 0xb870
+PSKc: f438a194a5e968cc43cc4b3a6f560ca4
+Security Policy: 672 onrc 0
+Done
+> otcli dataset panid 0xabcd
+Done
+> otcli dataset channel 25
+Done
+> otcli dataset commit active
+Done
+> otcli ifconfig up
+Done
+> otcli thread start
+Done
+> otcli state
+leader
+Done
+```
+
+<a name="thread-border-router-overview"></a>
+
+## Thread Border Router overview
+
+To enable Thread Border Router support see the [build](README.md#building)
+section.
+
+The complete Border Router guide is located
+[here](../../../../../docs/platforms/nxp/nxp_otbr_guide.md).
diff --git a/examples/all-clusters-app/nxp/rt/rt1060/args.gni b/examples/all-clusters-app/nxp/rt/rt1060/args.gni
new file mode 100644
index 0000000..c2d91a5
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1060/args.gni
@@ -0,0 +1,19 @@
+# Copyright (c) 2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+
+# SDK target definitions
+nxp_sdk_target = get_label_info(":sdk", "label_no_toolchain")
+nxp_sdk_driver_target = get_label_info(":sdk_driver", "label_no_toolchain")
diff --git a/examples/all-clusters-app/nxp/rt/rt1060/build_overrides b/examples/all-clusters-app/nxp/rt/rt1060/build_overrides
new file mode 120000
index 0000000..f108670
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1060/build_overrides
@@ -0,0 +1 @@
+../../../../build_overrides
\ No newline at end of file
diff --git a/examples/all-clusters-app/nxp/rt/rt1060/include/config/CHIPProjectConfig.h b/examples/all-clusters-app/nxp/rt/rt1060/include/config/CHIPProjectConfig.h
new file mode 100644
index 0000000..dd73c6c
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1060/include/config/CHIPProjectConfig.h
@@ -0,0 +1,216 @@
+/*
+ *    Copyright (c) 2020 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Example project configuration file for CHIP.
+ *
+ *          This is a place to put application or project-specific overrides
+ *          to the default configuration values for general CHIP features.
+ *
+ */
+
+#pragma once
+
+/*
+ * Tells to the platform Factory Data Provider whether to use the example configuration or real/provisioned data.
+ */
+#ifndef CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+#define CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA 0
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
+ *
+ *  0xFFF1: Test vendor.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
+ *
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
+
+#if !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+// Use a default pairing code if one hasn't been provisioned in flash.
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
+#endif
+
+// Use a default pairing code if one hasn't been provisioned in flash.
+#define CHIP_DEVICE_CONFIG_USE_TEST_PAIRING_CODE "CHIPUS"
+
+/**
+ * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER
+ *
+ * Enables the use of a hard-coded default serial number if none
+ * is found in CHIP NV storage.
+ */
+#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN"
+
+#endif /* !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA */
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
+ *
+ * The hardware version number assigned to device or product by the device vendor.  This
+ * number is scoped to the device product id, and typically corresponds to a revision of the
+ * physical device, a change to its packaging, and/or a change to its marketing presentation.
+ * This value is generally *not* incremented for device software versions.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 100
+
+#ifndef CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING "v0.1.0"
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+ *
+ * A string identifying the software version running on the device.
+ * CHIP currently expects the software version to be in the format
+ * {MAJOR_VERSION}.0d{MINOR_VERSION}
+ */
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING NXP_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION NXP_CONFIG_DEVICE_SOFTWARE_VERSION
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME "NXP Semiconductors"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME "NXP Demo App"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION
+//-> format_version = 1
+//-> vendor_id = 0xFFF1
+//-> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B,
+// 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A,
+// 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029,
+// 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038,
+// 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047,
+// 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056,
+// 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ]
+//-> device_type_id = 0x0016
+//-> certificate_id = "ZIG20142ZB330003-24"
+//-> security_level = 0
+//-> security_information = 0
+//-> version_number = 0x2694
+//-> certification_type = 0
+//-> dac_origin_vendor_id is not present
+//-> dac_origin_product_id is not present
+#define CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION                                                                               \
+    {                                                                                                                              \
+        0x30, 0x82, 0x02, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x02, 0x0a, 0x30,    \
+            0x82, 0x02, 0x06, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04,      \
+            0x02, 0x01, 0x30, 0x82, 0x01, 0x71, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,      \
+            0x01, 0x62, 0x04, 0x82, 0x01, 0x5e, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0xf1, 0xff, 0x36, 0x02, 0x05, 0x00, 0x80,      \
+            0x05, 0x01, 0x80, 0x05, 0x02, 0x80, 0x05, 0x03, 0x80, 0x05, 0x04, 0x80, 0x05, 0x05, 0x80, 0x05, 0x06, 0x80, 0x05,      \
+            0x07, 0x80, 0x05, 0x08, 0x80, 0x05, 0x09, 0x80, 0x05, 0x0a, 0x80, 0x05, 0x0b, 0x80, 0x05, 0x0c, 0x80, 0x05, 0x0d,      \
+            0x80, 0x05, 0x0e, 0x80, 0x05, 0x0f, 0x80, 0x05, 0x10, 0x80, 0x05, 0x11, 0x80, 0x05, 0x12, 0x80, 0x05, 0x13, 0x80,      \
+            0x05, 0x14, 0x80, 0x05, 0x15, 0x80, 0x05, 0x16, 0x80, 0x05, 0x17, 0x80, 0x05, 0x18, 0x80, 0x05, 0x19, 0x80, 0x05,      \
+            0x1a, 0x80, 0x05, 0x1b, 0x80, 0x05, 0x1c, 0x80, 0x05, 0x1d, 0x80, 0x05, 0x1e, 0x80, 0x05, 0x1f, 0x80, 0x05, 0x20,      \
+            0x80, 0x05, 0x21, 0x80, 0x05, 0x22, 0x80, 0x05, 0x23, 0x80, 0x05, 0x24, 0x80, 0x05, 0x25, 0x80, 0x05, 0x26, 0x80,      \
+            0x05, 0x27, 0x80, 0x05, 0x28, 0x80, 0x05, 0x29, 0x80, 0x05, 0x2a, 0x80, 0x05, 0x2b, 0x80, 0x05, 0x2c, 0x80, 0x05,      \
+            0x2d, 0x80, 0x05, 0x2e, 0x80, 0x05, 0x2f, 0x80, 0x05, 0x30, 0x80, 0x05, 0x31, 0x80, 0x05, 0x32, 0x80, 0x05, 0x33,      \
+            0x80, 0x05, 0x34, 0x80, 0x05, 0x35, 0x80, 0x05, 0x36, 0x80, 0x05, 0x37, 0x80, 0x05, 0x38, 0x80, 0x05, 0x39, 0x80,      \
+            0x05, 0x3a, 0x80, 0x05, 0x3b, 0x80, 0x05, 0x3c, 0x80, 0x05, 0x3d, 0x80, 0x05, 0x3e, 0x80, 0x05, 0x3f, 0x80, 0x05,      \
+            0x40, 0x80, 0x05, 0x41, 0x80, 0x05, 0x42, 0x80, 0x05, 0x43, 0x80, 0x05, 0x44, 0x80, 0x05, 0x45, 0x80, 0x05, 0x46,      \
+            0x80, 0x05, 0x47, 0x80, 0x05, 0x48, 0x80, 0x05, 0x49, 0x80, 0x05, 0x4a, 0x80, 0x05, 0x4b, 0x80, 0x05, 0x4c, 0x80,      \
+            0x05, 0x4d, 0x80, 0x05, 0x4e, 0x80, 0x05, 0x4f, 0x80, 0x05, 0x50, 0x80, 0x05, 0x51, 0x80, 0x05, 0x52, 0x80, 0x05,      \
+            0x53, 0x80, 0x05, 0x54, 0x80, 0x05, 0x55, 0x80, 0x05, 0x56, 0x80, 0x05, 0x57, 0x80, 0x05, 0x58, 0x80, 0x05, 0x59,      \
+            0x80, 0x05, 0x5a, 0x80, 0x05, 0x5b, 0x80, 0x05, 0x5c, 0x80, 0x05, 0x5d, 0x80, 0x05, 0x5e, 0x80, 0x05, 0x5f, 0x80,      \
+            0x05, 0x60, 0x80, 0x05, 0x61, 0x80, 0x05, 0x62, 0x80, 0x05, 0x63, 0x80, 0x18, 0x24, 0x03, 0x16, 0x2c, 0x04, 0x13,      \
+            0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x34,      \
+            0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x94, 0x26, 0x24, 0x08, 0x00, 0x18, 0x31, 0x7d, 0x30, 0x7b, 0x02,      \
+            0x01, 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, 0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd,      \
+            0xf5, 0x04, 0xf3, 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30,      \
+            0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x47, 0x30, 0x45, 0x02, 0x20, 0x24, 0xe5,      \
+            0xd1, 0xf4, 0x7a, 0x7d, 0x7b, 0x0d, 0x20, 0x6a, 0x26, 0xef, 0x69, 0x9b, 0x7c, 0x97, 0x57, 0xb7, 0x2d, 0x46, 0x90,      \
+            0x89, 0xde, 0x31, 0x92, 0xe6, 0x78, 0xc7, 0x45, 0xe7, 0xf6, 0x0c, 0x02, 0x21, 0x00, 0xf8, 0xaa, 0x2f, 0xa7, 0x11,      \
+            0xfc, 0xb7, 0x9b, 0x97, 0xe3, 0x97, 0xce, 0xda, 0x66, 0x7b, 0xae, 0x46, 0x4e, 0x2b, 0xd3, 0xff, 0xdf, 0xc3, 0xcc,      \
+            0xed, 0x7a, 0xa8, 0xca, 0x5f, 0x4c, 0x1a, 0x7c                                                                         \
+    }
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC
+ *
+ * Enables synchronizing the device's real time clock with a remote CHIP Time service
+ * using the CHIP Time Sync protocol.
+ */
+// #define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 1
+
+/**
+ * CHIP_CONFIG_MAX_BINDINGS
+ *
+ * Maximum number of simultaneously active bindings per ChipExchangeManager
+ * 1 (Time Sync) + 2 (Two 1-way subscriptions) + 1 (Software Update) = 4
+ * in the worst case. Keeping another 4 as buffer.
+ */
+#define CHIP_CONFIG_MAX_BINDINGS 6
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD
+ *
+ * Select the ability to offload event logs to any interested subscribers using WDM.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD 1
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
+ *
+ * Enable recording UTC timestamps.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
+
+/**
+ * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
+ *
+ * A size, in bytes, of the individual debug event logging buffer.
+ */
+#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE
+ *
+ * For a development build, set the default importance of events to be logged as Debug.
+ * Since debug is the lowest importance level, this means all standard, critical, info and
+ * debug importance level vi events get logged.
+ */
+#if BUILD_RELEASE
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Production
+#else
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Debug
+#endif // BUILD_RELEASE
+
+/* Increasing the retransmission interval of the MRP messages after subsequent failures */
+#ifndef CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL
+#define CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL (2000_ms32)
+#endif
diff --git a/examples/all-clusters-app/nxp/rt/rt1060/third_party/connectedhomeip b/examples/all-clusters-app/nxp/rt/rt1060/third_party/connectedhomeip
new file mode 120000
index 0000000..305f207
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1060/third_party/connectedhomeip
@@ -0,0 +1 @@
+../../../../../..
\ No newline at end of file
diff --git a/examples/all-clusters-app/nxp/rt/rt1170/.gn b/examples/all-clusters-app/nxp/rt/rt1170/.gn
new file mode 100644
index 0000000..59dcfeb
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1170/.gn
@@ -0,0 +1,35 @@
+# Copyright (c) 2020 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+
+# The location of the build configuration file.
+buildconfig = "${build_root}/config/BUILDCONFIG.gn"
+
+# CHIP uses angle bracket includes.
+check_system_includes = true
+
+default_args = {
+  target_cpu = "arm"
+  target_os = "freertos"
+
+  import("//args.gni")
+
+  # Import common example GN args
+  import("${chip_root}/examples/platform/nxp/common/gn/args.gni")
+
+  # Import default platform configs
+  import("${chip_root}/src/platform/nxp/rt/rt1170/args.gni")
+}
diff --git a/examples/all-clusters-app/nxp/rt/rt1170/BUILD.gn b/examples/all-clusters-app/nxp/rt/rt1170/BUILD.gn
new file mode 100644
index 0000000..724a6e8
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1170/BUILD.gn
@@ -0,0 +1,241 @@
+# Copyright (c) 2021-2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+import("${chip_root}/src/platform/device.gni")
+
+#allows to get common NXP SDK gn options
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+# Allows to get various RT gn options
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni")
+
+import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni")
+import(
+    "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni")
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_executable.gni")
+
+assert(current_os == "freertos")
+assert(target_os == "freertos")
+assert(nxp_platform == "rt/rt1170")
+
+declare_args() {
+  # Allows to connect to a predefine Wi-Fi network at boot
+  wifi_auto_connect_at_boot = false
+  wifi_auto_connect_at_boot_ssid = ""
+  wifi_auto_connect_at_boot_password = ""
+
+  # Setup discriminator as argument
+  setup_discriminator = 3840
+}
+
+example_platform_dir =
+    "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}"
+common_example_dir = "${chip_root}/examples/platform/nxp/common"
+
+app_common_folder = "all-clusters-app/all-clusters-common"
+
+# Create here the SDK instance.
+# Particular sources/defines/includes could be added/changed depending on the target application.
+rt_sdk("sdk") {
+  defines = []
+
+  cflags = []
+  public_deps = []
+  public_configs = []
+  sources = []
+  include_dirs = []
+
+  # Indicate paths to default board files
+  include_dirs += [ "${example_platform_dir}/board/" ]
+  sources += [ "${example_platform_dir}/board/pin_mux.c" ]
+  sources += [ "${example_platform_dir}/board/hardware_init.c" ]
+  sources += [ "${example_platform_dir}/board/clock_config.c" ]
+  sources += [ "${example_platform_dir}/board/board.c" ]
+  sources += [ "${example_platform_dir}/board/peripherals.c" ]
+  sources += [ "${example_platform_dir}/board/sdmmc_config.c" ]
+
+  # Indicate the path to CHIPProjectConfig.h
+  include_dirs += [ "include/config" ]
+
+  # Indicate the default path to FreeRTOSConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/freeRTOS" ]
+
+  # Indicate the default path to OpenThreadConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/openthread" ]
+
+  # For matter with BR feature, increase FreeRTOS heap size
+  if (chip_enable_wifi && chip_enable_openthread) {
+    defines += [ "configTOTAL_HEAP_SIZE=(size_t)(170 * 1024)" ]
+  }
+
+  defines += [
+    "CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR=${setup_discriminator}",
+  ]
+}
+
+# Create the SDK driver instance.
+# Particular sources/defines/includes could be added to add other drivers not available in the default sdk driver template
+rt1170_sdk_drivers("sdk_driver") {
+}
+
+rt_executable("all_cluster_app") {
+  output_name = "chip-rt1170-all-cluster-example"
+
+  defines = [
+    "CONFIG_RENDEZVOUS_MODE=7",
+    "CONFIG_APP_FREERTOS_OS=1",
+  ]
+
+  if (chip_enable_openthread) {
+    defines += [ "CONFIG_NET_L2_OPENTHREAD=1" ]
+  }
+
+  include_dirs = [
+    "../../common/main/include",
+    "../../common/main",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/include",
+    "${chip_root}/examples/providers/",
+  ]
+
+  sources = [
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/binding-handler.cpp",
+    "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
+    "../../common/main/AppTask.cpp",
+    "../../common/main/DeviceCallbacks.cpp",
+    "../../common/main/ZclCallbacks.cpp",
+    "../../common/main/include/AppEvent.h",
+    "../../common/main/include/AppTask.h",
+    "../../common/main/include/DeviceCallbacks.h",
+    "../../common/main/main.cpp",
+  ]
+
+  # App common files
+  include_dirs += [
+    "${common_example_dir}/icd/include",
+    "${common_example_dir}/matter_button/include",
+    "${common_example_dir}/matter_cli/include",
+    "${common_example_dir}/device_manager/include",
+    "${common_example_dir}/device_callbacks/include",
+    "${common_example_dir}/factory_data/include",
+    "${common_example_dir}/app_task/include",
+  ]
+
+  sources += [
+    "${common_example_dir}/app_task/source/AppTaskBase.cpp",
+    "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp",
+    "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp",
+    "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp",
+    "${common_example_dir}/factory_data/source/AppFactoryDataDefaultImpl.cpp",
+    "${common_example_dir}/icd/source/ICDUtil.cpp",
+    "${common_example_dir}/matter_button/source/ButtonRegistrationEmpty.cpp",
+  ]
+
+  deps = [ "${chip_root}/examples/${app_common_folder}" ]
+
+  sources += [
+    "${chip_root}/examples/${app_common_folder}/src/bridged-actions-stub.cpp",
+    "${chip_root}/examples/${app_common_folder}/src/smco-stub.cpp",
+    "${chip_root}/examples/${app_common_folder}/src/static-supported-modes-manager.cpp",
+  ]
+
+  if (chip_enable_matter_cli) {
+    defines += [ "ENABLE_CHIP_SHELL" ]
+    deps += [
+      "${chip_root}/examples/shell/shell_common:shell_common",
+      "${chip_root}/src/lib/shell:shell",
+    ]
+    sources += [
+      "${common_example_dir}/matter_cli/source/AppCLIBase.cpp",
+      "${common_example_dir}/matter_cli/source/AppCLIFreeRTOS.cpp",
+    ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    include_dirs += [ "${common_example_dir}/ota_requestor/include" ]
+    sources += [
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiator.cpp",
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiatorCommon.cpp",
+    ]
+  }
+
+  if (wifi_auto_connect_at_boot) {
+    assert(wifi_auto_connect_at_boot_ssid != "" &&
+               wifi_auto_connect_at_boot_password != "",
+           "WiFi SSID and password must be specified at build time!")
+
+    defines += [
+      "CONFIG_CHIP_APP_WIFI_CONNECT_AT_BOOT=1",
+      "CONFIG_CHIP_APP_WIFI_SSID=\"${wifi_auto_connect_at_boot_ssid}\"",
+      "CONFIG_CHIP_APP_WIFI_PASSWORD=\"${wifi_auto_connect_at_boot_password}\"",
+    ]
+
+    include_dirs += [ "${common_example_dir}/wifi_connect/include" ]
+    sources += [ "${common_example_dir}/wifi_connect/source/WifiConnect.cpp" ]
+  }
+
+  # In case a dedicated assert function needs to be supported the flag sdk_fsl_assert_support should be set to false
+  # The would add to the build a dedicated application assert implementation.
+  if (!sdk_fsl_assert_support) {
+    sources += [ "${common_example_dir}/app_assert/source/AppAssert.cpp" ]
+  }
+
+  cflags = [ "-Wconversion" ]
+
+  ldscript =
+      "${example_platform_dir}/app/ldscripts/MIMXRT1176xxxxx_cm7_flexspi_nor.ld"
+
+  inputs = [ ldscript ]
+
+  ldflags = [
+    "-T" + rebase_path(ldscript, root_build_dir),
+    "-fno-common",
+    "-Wl,--defsym=__stack_size__=2048",
+    "-ffreestanding",
+    "-fno-builtin",
+    "-mapcs",
+    "-u qspiflash_config",
+    "-u image_vector_table",
+    "-u boot_data",
+    "-u dcd_data",
+    "-Wl,-print-memory-usage",
+    "-Wl,--no-warn-rwx-segments",
+  ]
+
+  if (chip_enable_ota_requestor) {
+    if (no_mcuboot) {
+      # If "no_mcuboot" is set to true, the application will be linked at the base of the flash.
+      print(
+          "Warning : The OTA Requestor is enabled without MCUBoot. This will prevent the application from applying software updates.")
+    } else {
+      # we need to reserve enough space for the bootloader (MCUBoot)
+      # MCUBoot requires 0x40000 Bytes to be reserved at the base of the flash
+      # Consequently, some sections will need to be shifted
+      ldflags += [ "-Wl,--defsym=__m_mcuboot_size__=0x40000" ]
+    }
+  }
+
+  output_dir = root_out_dir
+}
+
+group("rt1170") {
+  deps = [ ":all_cluster_app" ]
+}
+
+group("default") {
+  deps = [ ":rt1170" ]
+}
diff --git a/examples/all-clusters-app/nxp/rt/rt1170/README.md b/examples/all-clusters-app/nxp/rt/rt1170/README.md
new file mode 100644
index 0000000..7ff9187
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1170/README.md
@@ -0,0 +1,505 @@
+# CHIP RT1170 All-clusters Application
+
+The all-clusters example implements a server which can be accessed by a CHIP
+controller and can accept basic cluster commands.
+
+The example is based on
+[Project CHIP](https://github.com/project-chip/connectedhomeip) and the NXP
+RT1170 SDK, and provides a prototype application that demonstrates device
+commissioning and different cluster control.
+
+<hr>
+
+-   [CHIP RT1170 All-clusters Application](#chip-rt1170-all-clusters-application)
+    -   [Introduction](#introduction)
+        -   [Configuration(s) supported](#configurations-supported)
+        -   [Hardware requirements for RT1170 + IW612](#hardware-requirements-for-rt1170--iw612)
+            -   [Hardware rework for SPI support on MIMXRT1170-EVK-B](#hardware-rework-for-spi-support-on-mimxrt1170-evk-b)
+            -   [Board settings (Spinel over SPI, I2C, BLE over UART)](#board-settings-spinel-over-spi-i2c-ble-over-uart)
+    -   [Building](#building)
+        -   [Building with Matter over Wifi configuration on RT1170 + IW612](#building-with-matter-over-wifi-configuration-on-rt1170--iw612)
+        -   [Building with Matter over Thread configuration on RT1170 + IW612](#building-with-matter-over-thread-configuration-on-rt1170--iw612)
+        -   [Building with Matter over Wifi + OpenThread Border Router configuration on RT1170 + IW612](#building-with-matter-over-wifi--openthread-border-router-configuration-on-rt1170--iw612)
+        -   [General information](#general-information)
+    -   [Manufacturing data](#manufacturing-data)
+    -   [Flashing and debugging](#flashing-and-debugging)
+    -   [Testing the example](#testing-the-example)
+        -   [Matter over wifi configuration :](#matter-over-wifi-configuration-)
+        -   [Matter over thread configuration :](#matter-over-thread-configuration-)
+        -   [Matter over wifi with openthread border router configuration :](#matter-over-wifi-with-openthread-border-router-configuration-)
+        -   [Testing the all-clusters application without Matter CLI:](#testing-the-all-clusters-application-without-matter-cli)
+        -   [Testing the all-clusters application with Matter CLI enabled:](#testing-the-all-clusters-application-with-matter-cli-enabled)
+    -   [Thread Border Router overview](#thread-border-router-overview)
+        <hr>
+
+## Introduction
+
+![RT1170 EVK](../../../../platform/nxp/rt/rt1170/doc/images/IMX-RT1170-EVK-TOP.jpg)
+
+The RT1170 all-cluster application provides a working demonstration of the
+RT1170 board integration, built using the Project CHIP codebase and the NXP
+RT1170 SDK.
+
+The example supports:
+
+-   Matter over Wi-Fi
+-   Matter over Openthread
+-   Matter over Wi-Fi with Openthread Border Router support
+
+The example targets the
+[NXP MIMXRT1170-EVKB](https://www.nxp.com/part/MIMXRT1170-EVKB#/) board by
+default.
+
+### Configuration(s) supported
+
+Here are listed configurations that allow to support Matter over Wi-Fi & Matter
+over Thread on RT1170 :
+
+-   RT1170 + IW612 (Wi-Fi + BLE + 15.4)
+
+### Hardware requirements for RT1170 + IW612
+
+Host part:
+
+-   1 MIMXRT1170-EVK-B
+
+Transceiver part :
+
+-   1
+    [2EL M2 A1 IW612 Secure Module](https://www.nxp.com/products/wireless/wi-fi-plus-bluetooth-plus-802-15-4/2-4-5-ghz-dual-band-1x1-wi-fi-6-802-11ax-plus-bluetooth-5-2-plus-802-15-4-tri-radio-solution:IW612)
+
+![](../../../../platform/nxp/rt/rt1170/doc/images/iwx612_2EL.jpg)
+
+-   1
+    [Murata uSD to M2 adapter revC](https://www.murata.com/en-eu/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/usd-m2-adapter-2we-2wf)
+
+![](../../../../platform/nxp/rt/rt1170/doc/images/murata_usd-M2_adapter.jpg)
+
+-   Male to female Burg cables
+
+#### Hardware rework for SPI support on MIMXRT1170-EVK-B
+
+To support SPI on the MIMXRT1170-EVK-B board, it is required to remove 0Ω
+resistors R404,R406,R2015.
+
+#### Board settings (Spinel over SPI, I2C, BLE over UART)
+
+Plug IW612 module to M.2 connector on Murata uSD to M2 adapter
+
+The Murata uSD-M2 adapter should be plugged to the RT1170 via SD-IO.
+
+The below tables explain pin settings (SPI settings) to connect the
+MIMXRT1170-EVK-B (host) to a IW612 transceiver (rcp).
+
+-   Murata uSD to M2 adapter connections description:
+
+![](../../../../platform/nxp/rt/rt1170/doc/images/murata_usd-m2_connections_1.jpg)
+
+![](../../../../platform/nxp/rt/rt1170/doc/images/murata_usd-m2_connections_2.jpg)
+
+-   Jumpers positions on Murata uSD to M2 adapter:
+
+    Use USB-C power supply | Jumper | Position| | :----: | :-----: | | J1 | 1-2
+    | | J12 | 1-2 | | J13 | 1-2 | | J14 | 1-2 | | JP1.1 (back side)| ON |
+
+-   Jumpers positions on MIMXRT1170-EVK-B:
+
+    | Jumper | Position |
+    | :----: | :------: |
+    | `J56`  |  `2-3`   |
+
+-   I2C connection to program `IO_Expander` on the IW612 module
+
+    |  MIMXRT1170-EVK-B  | uSD-M2 adapter |
+    | :----------------: | :------------: |
+    | `I2C_SDA (J10.18)` |     `J5.2`     |
+    | `I2C_SDL (J10.20)` |     `J5.4`     |
+
+-   SPI connection between RT1170 and uSD-M2 adapter
+
+    |  MIMXRT1170-EVK-B   | uSD-M2 adapter |
+    | :-----------------: | :------------: |
+    | `SPI_MOSI (J10.8)`  |    `J5.10`     |
+    | `SPI_MISO (J10.10)` |     `J9.7`     |
+    | `SPI_CLK (J10.12)`  |     `J9.8`     |
+    |  `SPI_CS (J10.6)`   |     `J5.8`     |
+    |  `SPI_INT (J26.4)`  |     `J5.6`     |
+    |   `GND (J10.14)`    |    `J5.15`     |
+
+-   UART BLE and Reset connections between RT1170 and uSD-M2 adapter
+
+    |  MIMXRT1170-EVK-B   | uSD-M2 adapter |
+    | :-----------------: | :------------: |
+    |   `RESET (J26.2)`   |     `J9.3`     |
+    | `UART_RXD (J25.13)` |     `J9.1`     |
+    | `UART_TXD (J25.15)` |     `J9.2`     |
+    | `UART_CTS (J25.9)`  |     `J8.4`     |
+    | `UART_RTS (J25.11)` |     `J8.3`     |
+    |    `GND (J26.1)`    |     `J7.6`     |
+
+## Building
+
+In order to build the Project CHIP example, we recommend using a Linux
+distribution. Supported Operating Systems are listed in
+[BUILDING.md](../../../../../docs/guides/BUILDING.md).
+
+-   Make sure that below prerequisites are correctly installed, as described in
+    [BUILDING.md](../../../../../docs/guides/BUILDING.md).
+
+```
+sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev \
+     libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev \
+     python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev
+```
+
+-   Step 1: checkout NXP specific submodules only
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ scripts/checkout_submodules.py --shallow --platform nxp --recursive
+```
+
+-   Step 2: activate local environment
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/activate.sh
+```
+
+If the script says the environment is out of date, you can update it by running
+the following command:
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/bootstrap.sh
+```
+
+-   Step 3: Init NXP SDK(s)
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ third_party/nxp/nxp_matter_support/scripts/update_nxp_sdk.py --platform common
+```
+
+Note: By default update_nxp_sdk.py will try to initialize all NXP SDKs. Arg "--
+help" could be used to view all available options.
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip$ cd examples/all-cluster-app/nxp/rt/rt1170/
+```
+
+### Building with Matter over Wifi configuration on RT1170 + IW612
+
+-   Build the Wi-fi configuration for MIMXRT1170 board + IW612 transceiver (with
+    BLE for commissioning).
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1170$ gn gen --args="chip_enable_wifi=true iwx12_transceiver=true chip_config_network_layer_ble=true chip_enable_ble=true " out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1170$ ninja -C out/debug
+```
+
+### Building with Matter over Thread configuration on RT1170 + IW612
+
+-   Build the Openthread configuration for MIMXRT1170 board + IW612 transceiver
+    (with BLE for commissioning).
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-cluster/nxp/rt/rt1170$ gn gen --args="chip_enable_openthread=true iwx12_transceiver=true chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=true" out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-cluster/nxp/rt/rt1170/$ ninja -C out/debug
+```
+
+### Building with Matter over Wifi + OpenThread Border Router configuration on RT1170 + IW612
+
+This configuration supports the Thread Border Router management cluster to
+provision the Thread credentials. Enabling the Matter CLI in order to control
+the Thread network on the Border Router is optional but recommended for other
+features like the Thread credential sharing.
+
+Note that the Thread Border Router management cluster is only supported on the
+thermostat application for now.
+
+-   Build Matter with Border Router configuration with BLE commissioning
+    (ble-wifi) :
+
+```
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt11170$ gn gen --args="chip_enable_wifi=true iwx12_transceiver=true chip_config_network_layer_ble=true chip_enable_ble=true chip_enable_openthread=true chip_enable_matter_cli=true" out/debug
+user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1170$ ninja -C out/debug
+```
+
+### General information
+
+The resulting output file can be found in
+out/debug/chip-rt1170-all-cluster-example.
+
+Optional GN options that can be added when building an application:
+
+-   To enable the
+    [secondary network commissioning interface](../../../../../docs/platforms/nxp/nxp_otbr_guide.md#using-the-secondary-network-commissioning-interface),
+    the arguments `chip_enable_secondary_nwk_if=true` and
+    `chip_device_config_thread_network_endpoint_id=3` must be added to the _gn
+    gen_ command. Note that this is only supported when building the Matter over
+    Wifi + OpenThread Border Router configuration. Note that is only supported
+    on the on the thermostat application for now.
+-   To enable the
+    [matter CLI](#testing-the-all-clusters-application-with-matter-cli-enabled),
+    the argument `chip_enable_matter_cli=true` must be added to the _gn gen_
+    command.
+-   To build the application in debug mode, the argument
+    `is_debug=true optimize_debug=false` must be added to the _gn gen_ command.
+-   To build with the option to have Matter certificates/keys pre-loaded in a
+    specific flash area the argument `chip_with_factory_data=1` must be added to
+    the _gn gen_ command. For more information, see
+    [Guide for writing manufacturing data on NXP devices](../../../../../docs/platforms/nxp/nxp_manufacturing_flow.md)
+-   To build the application with the OTA Requestor enabled, the arguments
+    `chip_enable_ota_requestor=true no_mcuboot=false` must be added to the _gn
+    gen_ command. More information about the OTA Requestor feature in
+    [OTA Requestor README](../../../../../docs/platforms/nxp/nxp_RTs_ota_software_update.md).
+
+## Manufacturing data
+
+See
+[Guide for writing manufacturing data on NXP devices](../../../../../docs/platforms/nxp/nxp_manufacturing_flow.md)
+
+Other comments:
+
+The all cluster app demonstrates the usage of encrypted Matter manufacturing
+data storage. Matter manufacturing data should be encrypted using an AES 128
+software key before flashing them to the device flash.
+
+## Flashing and debugging
+
+In order to flash the application we recommend using
+[MCUXpresso IDE (version >= 11.5.0)](https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE).
+
+-   Import the previously downloaded NXP SDK into MCUXpresso IDE. This can be
+    done by drag-and-dropping the SDK archive into MCUXpresso IDE "Installed
+    SDKs" tab;
+    ![Select SDK](../../../../platform/nxp/rt/rt1170/doc/images/select-sdk.png)
+-   Import the connectedhomeip repo in MCUXpresso IDE as Makefile Project. Use
+    _none_ as _Toolchain for Indexer Settings_:
+
+```
+File -> Import -> C/C++ -> Existing Code as Makefile Project
+```
+
+-   Configure MCU Settings:
+
+```
+Right click on the Project -> Properties -> C/C++ Build -> MCU Settings -> Select MIMXRT1170 -> Apply & Close
+```
+
+![MCU_Sett](../../../../platform/nxp/rt/rt1170/doc/images/mcu-set.png)
+
+Sometimes when the MCU is selected it will not initialize all the memory regions
+(usually the `BOARD_FLASH`, `BOARD_SDRAM` and `NCACHE_REGION`) so it is required
+that this regions are added manually like in the image above. In addition to
+that on the `BOARD_FLASH` line, in the driver tab:
+
+```
+click inside the tab and on the right side a button with three horizontal dots will appear
+click on the button and an window will show
+form the dropdown menu select the MIMXRT1170_SFDP_QSPI driver
+```
+
+![flash_driver](../../../../platform/nxp/rt/rt1170/doc/images/flash_driver.png)
+
+-   Configure the toolchain editor:
+
+```
+Right click on the Project -> C/C++ Build-> Tool Chain Editor -> NXP MCU Tools -> Apply & Close
+```
+
+![toolchain](../../../../platform/nxp/rt/rt1170/doc/images/toolchain.JPG)
+
+-   Create a debug configuration:
+
+    MIMXRT1170-EVK-B board supports CMSIS-DAP debug protocol by default. It
+    should be switched to JLink.
+
+    -   download and install
+        [MCU-LINK_INSTALLER 2.263](https://www.nxp.com/webapp/Download?colCode=MCU-LINK_INSTALLER_2.263_LIN)
+    -   connect jumper JP3 to get board in ISP mode when powered
+    -   connect board and run installed MCU-LINK, follow steps to flash JLINK
+        firmware
+    -   remove jumper JP3 and reboot board
+
+```
+Right click on the Project -> Debug -> As->SEGGER J-Link probes -> OK -> Select elf file
+```
+
+![debug_0](../../../../platform/nxp/rt/rt1170/doc/images/debug0.png)
+
+-   Set the _Initialization Commands_ to:
+
+```
+Right click on the Project -> Debug As -> Debug configurations... -> Startup
+
+set non-stop on
+set pagination off
+set mi-async
+set remotetimeout 60000
+##target_extended_remote##
+set mem inaccessible-by-default ${mem.access}
+mon ondisconnect ${ondisconnect}
+set arm force-mode thumb
+${load}
+```
+
+![init](../../../../platform/nxp/rt/rt1170/doc/images/startup.png)
+
+-   Set the _vector.catch_ value to _false_ inside the .launch file:
+
+```
+Right click on the Project -> Utilities -> Open Directory Browser here -> edit .launch file:
+
+<booleanAttribute key="vector.catch" value="false"/>
+
+```
+
+-   Debug using the newly created configuration file:
+
+## Testing the example
+
+To know how to commission a device over BLE, follow the instructions from
+[chip-tool's README.md 'Commission a device over
+BLE'][readme_ble_commissioning_section].
+
+[readme_ble_commissioning_section]:
+    ../../../../chip-tool/README.md#commission-a-device-over-ble
+
+To know how to commissioning a device over IP, follow the instructions from
+[chip-tool's README.md 'Pair a device over
+IP'][readme_pair_ip_commissioning_section]
+
+[readme_pair_ip_commissioning_section]:
+    ../../../../chip-tool/README.md#pair-a-device-over-ip
+
+#### Matter over wifi configuration :
+
+The "ble-wifi" pairing method can be used in order to commission the device.
+
+#### Matter over thread configuration :
+
+The "ble-thread" pairing method can be used in order to commission the device.
+
+#### Matter over wifi with openthread border router configuration :
+
+In order to create or join a Thread network on the Matter Border Router, the TBR
+management cluster or the `otcli` commands from the matter CLI can be used. For
+more information about using the TBR management cluster follow instructions from
+['Using the TBR management cluster'](../../../../../docs/platforms/nxp/nxp_otbr_guide.md#using-the-thread-border-router-management-cluster).
+For more information about using the matter shell, follow instructions from
+['Testing the all-clusters application with Matter CLI'](#testing-the-all-clusters-application-with-matter-cli-enabled).
+
+In this configuration, the device can be commissioned over Wi-Fi with the
+'ble-wifi' pairing method.
+
+### Testing the all-clusters application without Matter CLI:
+
+1. Prepare the board with the flashed `All-cluster application` (as shown
+   above).
+2. The All-cluster example uses UART1 to print logs while running the server. To
+   view raw UART output, start a terminal emulator like PuTTY and connect to the
+   used COM port with the following UART settings:
+
+    - Baud rate: 115200
+    - 8 data bits
+    - 1 stop bit
+    - No parity
+    - No flow control
+
+3. Open a terminal connection on the board and watch the printed logs.
+
+4. On the client side, start sending commands using the chip-tool application as
+   it is described
+   [here](../../../../chip-tool/README.md#using-the-client-to-send-matter-commands).
+
+### Testing the all-clusters application with Matter CLI enabled:
+
+Testing the all-clusters application with Matter CLI enabled:
+
+The Matter CLI can be enabled with the all-clusters application.
+
+For more information about the Matter CLI default commands, you can refer to the
+dedicated [ReadMe](../../../../shell/README.md).
+
+The All-clusters application supports additional commands :
+
+```
+> help
+[...]
+mattercommissioning     Open/close the commissioning window. Usage : mattercommissioning [on|off]
+matterfactoryreset      Perform a factory reset on the device
+matterreset             Reset the device
+```
+
+-   `matterfactoryreset` command erases the file system completely (all Matter
+    settings are erased).
+-   `matterreset` enables the device to reboot without erasing the settings.
+
+Here are described steps to use the all-cluster-app with the Matter CLI enabled
+
+1. Prepare the board with the flashed `All-cluster application` (as shown
+   above).
+2. The matter CLI is accessible in UART1. For that, start a terminal emulator
+   like PuTTY and connect to the used COM port with the following UART settings:
+
+    - Baud rate: 115200
+    - 8 data bits
+    - 1 stop bit
+    - No parity
+    - No flow control
+
+3. The All-cluster example uses UART2 to print logs while running the server. To
+   view raw UART output, a pin should be plugged to an USB to UART adapter
+   (connector J9 pin 4), then start a terminal emulator like PuTTY and connect
+   to the used COM port with the following UART settings:
+
+    - Baud rate: 115200
+    - 8 data bits
+    - 1 stop bit
+    - No parity
+    - No flow control
+
+4. On the client side, start sending commands using the chip-tool application as
+   it is described
+   [here](../../../../chip-tool/README.md#using-the-client-to-send-matter-commands).
+
+For Matter with OpenThread Border Router support, the matter CLI can be used to
+start/join the Thread network, using the following ot-cli commands. (Note that
+setting channel, panid, and network key is not enough anymore because of an Open
+Thread stack update. We first need to initialize a new dataset.)
+
+```
+> otcli dataset init new
+Done
+> otcli dataset
+Active Timestamp: 1
+Channel: 25
+Channel Mask: 0x07fff800
+Ext PAN ID: 42af793f623aab54
+Mesh Local Prefix: fd6e:c358:7078:5a8d::/64
+Network Key: f824658f79d8ca033fbb85ecc3ca91cc
+Network Name: OpenThread-b870
+PAN ID: 0xb870
+PSKc: f438a194a5e968cc43cc4b3a6f560ca4
+Security Policy: 672 onrc 0
+Done
+> otcli dataset panid 0xabcd
+Done
+> otcli dataset channel 25
+Done
+> otcli dataset commit active
+Done
+> otcli ifconfig up
+Done
+> otcli thread start
+Done
+> otcli state
+leader
+Done
+```
+
+## Thread Border Router overview
+
+To enable Thread Border Router support see the [build](README.md#building)
+section.
+
+The complete Border Router guide is located
+[here](../../../../../docs/platforms/nxp/nxp_otbr_guide.md).
diff --git a/examples/all-clusters-app/nxp/rt/rt1170/args.gni b/examples/all-clusters-app/nxp/rt/rt1170/args.gni
new file mode 100644
index 0000000..c2d91a5
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1170/args.gni
@@ -0,0 +1,19 @@
+# Copyright (c) 2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+
+# SDK target definitions
+nxp_sdk_target = get_label_info(":sdk", "label_no_toolchain")
+nxp_sdk_driver_target = get_label_info(":sdk_driver", "label_no_toolchain")
diff --git a/examples/all-clusters-app/nxp/rt/rt1170/build_overrides b/examples/all-clusters-app/nxp/rt/rt1170/build_overrides
new file mode 120000
index 0000000..f108670
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1170/build_overrides
@@ -0,0 +1 @@
+../../../../build_overrides
\ No newline at end of file
diff --git a/examples/all-clusters-app/nxp/rt/rt1170/include/config/CHIPProjectConfig.h b/examples/all-clusters-app/nxp/rt/rt1170/include/config/CHIPProjectConfig.h
new file mode 100644
index 0000000..dd73c6c
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1170/include/config/CHIPProjectConfig.h
@@ -0,0 +1,216 @@
+/*
+ *    Copyright (c) 2020 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Example project configuration file for CHIP.
+ *
+ *          This is a place to put application or project-specific overrides
+ *          to the default configuration values for general CHIP features.
+ *
+ */
+
+#pragma once
+
+/*
+ * Tells to the platform Factory Data Provider whether to use the example configuration or real/provisioned data.
+ */
+#ifndef CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+#define CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA 0
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
+ *
+ *  0xFFF1: Test vendor.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
+ *
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
+
+#if !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+// Use a default pairing code if one hasn't been provisioned in flash.
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
+#endif
+
+// Use a default pairing code if one hasn't been provisioned in flash.
+#define CHIP_DEVICE_CONFIG_USE_TEST_PAIRING_CODE "CHIPUS"
+
+/**
+ * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER
+ *
+ * Enables the use of a hard-coded default serial number if none
+ * is found in CHIP NV storage.
+ */
+#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN"
+
+#endif /* !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA */
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
+ *
+ * The hardware version number assigned to device or product by the device vendor.  This
+ * number is scoped to the device product id, and typically corresponds to a revision of the
+ * physical device, a change to its packaging, and/or a change to its marketing presentation.
+ * This value is generally *not* incremented for device software versions.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 100
+
+#ifndef CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING "v0.1.0"
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+ *
+ * A string identifying the software version running on the device.
+ * CHIP currently expects the software version to be in the format
+ * {MAJOR_VERSION}.0d{MINOR_VERSION}
+ */
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING NXP_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION NXP_CONFIG_DEVICE_SOFTWARE_VERSION
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME "NXP Semiconductors"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME "NXP Demo App"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION
+//-> format_version = 1
+//-> vendor_id = 0xFFF1
+//-> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B,
+// 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A,
+// 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029,
+// 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038,
+// 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047,
+// 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056,
+// 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ]
+//-> device_type_id = 0x0016
+//-> certificate_id = "ZIG20142ZB330003-24"
+//-> security_level = 0
+//-> security_information = 0
+//-> version_number = 0x2694
+//-> certification_type = 0
+//-> dac_origin_vendor_id is not present
+//-> dac_origin_product_id is not present
+#define CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION                                                                               \
+    {                                                                                                                              \
+        0x30, 0x82, 0x02, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x02, 0x0a, 0x30,    \
+            0x82, 0x02, 0x06, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04,      \
+            0x02, 0x01, 0x30, 0x82, 0x01, 0x71, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,      \
+            0x01, 0x62, 0x04, 0x82, 0x01, 0x5e, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0xf1, 0xff, 0x36, 0x02, 0x05, 0x00, 0x80,      \
+            0x05, 0x01, 0x80, 0x05, 0x02, 0x80, 0x05, 0x03, 0x80, 0x05, 0x04, 0x80, 0x05, 0x05, 0x80, 0x05, 0x06, 0x80, 0x05,      \
+            0x07, 0x80, 0x05, 0x08, 0x80, 0x05, 0x09, 0x80, 0x05, 0x0a, 0x80, 0x05, 0x0b, 0x80, 0x05, 0x0c, 0x80, 0x05, 0x0d,      \
+            0x80, 0x05, 0x0e, 0x80, 0x05, 0x0f, 0x80, 0x05, 0x10, 0x80, 0x05, 0x11, 0x80, 0x05, 0x12, 0x80, 0x05, 0x13, 0x80,      \
+            0x05, 0x14, 0x80, 0x05, 0x15, 0x80, 0x05, 0x16, 0x80, 0x05, 0x17, 0x80, 0x05, 0x18, 0x80, 0x05, 0x19, 0x80, 0x05,      \
+            0x1a, 0x80, 0x05, 0x1b, 0x80, 0x05, 0x1c, 0x80, 0x05, 0x1d, 0x80, 0x05, 0x1e, 0x80, 0x05, 0x1f, 0x80, 0x05, 0x20,      \
+            0x80, 0x05, 0x21, 0x80, 0x05, 0x22, 0x80, 0x05, 0x23, 0x80, 0x05, 0x24, 0x80, 0x05, 0x25, 0x80, 0x05, 0x26, 0x80,      \
+            0x05, 0x27, 0x80, 0x05, 0x28, 0x80, 0x05, 0x29, 0x80, 0x05, 0x2a, 0x80, 0x05, 0x2b, 0x80, 0x05, 0x2c, 0x80, 0x05,      \
+            0x2d, 0x80, 0x05, 0x2e, 0x80, 0x05, 0x2f, 0x80, 0x05, 0x30, 0x80, 0x05, 0x31, 0x80, 0x05, 0x32, 0x80, 0x05, 0x33,      \
+            0x80, 0x05, 0x34, 0x80, 0x05, 0x35, 0x80, 0x05, 0x36, 0x80, 0x05, 0x37, 0x80, 0x05, 0x38, 0x80, 0x05, 0x39, 0x80,      \
+            0x05, 0x3a, 0x80, 0x05, 0x3b, 0x80, 0x05, 0x3c, 0x80, 0x05, 0x3d, 0x80, 0x05, 0x3e, 0x80, 0x05, 0x3f, 0x80, 0x05,      \
+            0x40, 0x80, 0x05, 0x41, 0x80, 0x05, 0x42, 0x80, 0x05, 0x43, 0x80, 0x05, 0x44, 0x80, 0x05, 0x45, 0x80, 0x05, 0x46,      \
+            0x80, 0x05, 0x47, 0x80, 0x05, 0x48, 0x80, 0x05, 0x49, 0x80, 0x05, 0x4a, 0x80, 0x05, 0x4b, 0x80, 0x05, 0x4c, 0x80,      \
+            0x05, 0x4d, 0x80, 0x05, 0x4e, 0x80, 0x05, 0x4f, 0x80, 0x05, 0x50, 0x80, 0x05, 0x51, 0x80, 0x05, 0x52, 0x80, 0x05,      \
+            0x53, 0x80, 0x05, 0x54, 0x80, 0x05, 0x55, 0x80, 0x05, 0x56, 0x80, 0x05, 0x57, 0x80, 0x05, 0x58, 0x80, 0x05, 0x59,      \
+            0x80, 0x05, 0x5a, 0x80, 0x05, 0x5b, 0x80, 0x05, 0x5c, 0x80, 0x05, 0x5d, 0x80, 0x05, 0x5e, 0x80, 0x05, 0x5f, 0x80,      \
+            0x05, 0x60, 0x80, 0x05, 0x61, 0x80, 0x05, 0x62, 0x80, 0x05, 0x63, 0x80, 0x18, 0x24, 0x03, 0x16, 0x2c, 0x04, 0x13,      \
+            0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x34,      \
+            0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x94, 0x26, 0x24, 0x08, 0x00, 0x18, 0x31, 0x7d, 0x30, 0x7b, 0x02,      \
+            0x01, 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, 0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd,      \
+            0xf5, 0x04, 0xf3, 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30,      \
+            0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x47, 0x30, 0x45, 0x02, 0x20, 0x24, 0xe5,      \
+            0xd1, 0xf4, 0x7a, 0x7d, 0x7b, 0x0d, 0x20, 0x6a, 0x26, 0xef, 0x69, 0x9b, 0x7c, 0x97, 0x57, 0xb7, 0x2d, 0x46, 0x90,      \
+            0x89, 0xde, 0x31, 0x92, 0xe6, 0x78, 0xc7, 0x45, 0xe7, 0xf6, 0x0c, 0x02, 0x21, 0x00, 0xf8, 0xaa, 0x2f, 0xa7, 0x11,      \
+            0xfc, 0xb7, 0x9b, 0x97, 0xe3, 0x97, 0xce, 0xda, 0x66, 0x7b, 0xae, 0x46, 0x4e, 0x2b, 0xd3, 0xff, 0xdf, 0xc3, 0xcc,      \
+            0xed, 0x7a, 0xa8, 0xca, 0x5f, 0x4c, 0x1a, 0x7c                                                                         \
+    }
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC
+ *
+ * Enables synchronizing the device's real time clock with a remote CHIP Time service
+ * using the CHIP Time Sync protocol.
+ */
+// #define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 1
+
+/**
+ * CHIP_CONFIG_MAX_BINDINGS
+ *
+ * Maximum number of simultaneously active bindings per ChipExchangeManager
+ * 1 (Time Sync) + 2 (Two 1-way subscriptions) + 1 (Software Update) = 4
+ * in the worst case. Keeping another 4 as buffer.
+ */
+#define CHIP_CONFIG_MAX_BINDINGS 6
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD
+ *
+ * Select the ability to offload event logs to any interested subscribers using WDM.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD 1
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
+ *
+ * Enable recording UTC timestamps.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
+
+/**
+ * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
+ *
+ * A size, in bytes, of the individual debug event logging buffer.
+ */
+#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE
+ *
+ * For a development build, set the default importance of events to be logged as Debug.
+ * Since debug is the lowest importance level, this means all standard, critical, info and
+ * debug importance level vi events get logged.
+ */
+#if BUILD_RELEASE
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Production
+#else
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Debug
+#endif // BUILD_RELEASE
+
+/* Increasing the retransmission interval of the MRP messages after subsequent failures */
+#ifndef CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL
+#define CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL (2000_ms32)
+#endif
diff --git a/examples/all-clusters-app/nxp/rt/rt1170/third_party/connectedhomeip b/examples/all-clusters-app/nxp/rt/rt1170/third_party/connectedhomeip
new file mode 120000
index 0000000..305f207
--- /dev/null
+++ b/examples/all-clusters-app/nxp/rt/rt1170/third_party/connectedhomeip
@@ -0,0 +1 @@
+../../../../../..
\ No newline at end of file
diff --git a/examples/all-clusters-app/nxp/rt/rw61x/README.md b/examples/all-clusters-app/nxp/rt/rw61x/README.md
index df760e8..9b19031 100644
--- a/examples/all-clusters-app/nxp/rt/rw61x/README.md
+++ b/examples/all-clusters-app/nxp/rt/rw61x/README.md
@@ -171,7 +171,7 @@
 -   To build the application with the OTA Requestor enabled, the arguments
     `chip_enable_ota_requestor=true no_mcuboot=false` must be added to the _gn
     gen_ command. (More information about the OTA Requestor feature in
-    [OTA Requestor README](../../../../../docs/platforms/nxp/nxp_rw61x_ota_software_update.md)
+    [OTA Requestor README](../../../../../docs/platforms/nxp/nxp_RTs_ota_software_update.md)
 
 ## Manufacturing data
 
@@ -407,7 +407,7 @@
 Over-The-Air software updates are supported with the RW61x all-clusters example.
 The process to follow in order to perform a software update is described in the
 dedicated guide
-['Matter Over-The-Air Software Update with NXP RW61x example applications'](../../../../../docs/platforms/nxp/nxp_rw61x_ota_software_update.md).
+['Matter Over-The-Air Software Update with NXP RW61x example applications'](../../../../../docs/platforms/nxp/nxp_RTs_ota_software_update.md).
 
 <a name="thread-border-router-overview"></a>
 
diff --git a/examples/laundry-washer-app/nxp/rt/rt1060/.gn b/examples/laundry-washer-app/nxp/rt/rt1060/.gn
new file mode 100644
index 0000000..0985ed9
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1060/.gn
@@ -0,0 +1,35 @@
+# Copyright (c) 2020 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+
+# The location of the build configuration file.
+buildconfig = "${build_root}/config/BUILDCONFIG.gn"
+
+# CHIP uses angle bracket includes.
+check_system_includes = true
+
+default_args = {
+  target_cpu = "arm"
+  target_os = "freertos"
+
+  import("//args.gni")
+
+  # Import common example GN args
+  import("${chip_root}/examples/platform/nxp/common/gn/args.gni")
+
+  # Import default platform configs
+  import("${chip_root}/src/platform/nxp/rt/rt1060/args.gni")
+}
diff --git a/examples/laundry-washer-app/nxp/rt/rt1060/BUILD.gn b/examples/laundry-washer-app/nxp/rt/rt1060/BUILD.gn
new file mode 100644
index 0000000..eb7ea93
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1060/BUILD.gn
@@ -0,0 +1,291 @@
+# Copyright (c) 2021-2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+import("${chip_root}/src/platform/device.gni")
+
+#allows to get common NXP SDK gn options
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+# Allows to get various RT gn options
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni")
+
+import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni")
+import(
+    "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni")
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_executable.gni")
+
+assert(current_os == "freertos")
+assert(target_os == "freertos")
+assert(nxp_platform == "rt/rt1060")
+
+declare_args() {
+  # Allows to enable to ota_provider support
+  enable_ota_provider = false
+
+  # Allows to connect to a predefine Wi-Fi network at boot
+  wifi_auto_connect_at_boot = false
+  wifi_auto_connect_at_boot_ssid = ""
+  wifi_auto_connect_at_boot_password = ""
+
+  # Setup discriminator as argument
+  setup_discriminator = 3840
+}
+
+example_platform_dir =
+    "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}"
+common_example_dir = "${chip_root}/examples/platform/nxp/common"
+
+app_common_folder = "laundry-washer-app/nxp/zap"
+
+# Create here the SDK instance.
+# Particular sources/defines/includes could be added/changed depending on the target application.
+rt_sdk("sdk") {
+  defines = []
+
+  cflags = []
+  public_deps = []
+  public_configs = []
+  sources = []
+  include_dirs = []
+
+  # Indicate paths to default board files
+  include_dirs += [ "${example_platform_dir}/board/" ]
+
+  # RT1060 rev A use same pin mux as rev B
+  # If user needs different pin mux files for rev A and rev B boards, the source and include from below needs to be updated accordingly
+  if (evkname == "evkmimxrt1060") {
+    include_dirs += [ "${example_platform_dir}/board/evkbmimxrt1060/" ]
+    sources += [ "${example_platform_dir}/board/evkbmimxrt1060/pin_mux.c" ]
+  } else {
+    include_dirs += [ "${example_platform_dir}/board/${evkname}/" ]
+    sources += [ "${example_platform_dir}/board/${evkname}/pin_mux.c" ]
+  }
+  sources += [ "${example_platform_dir}/board/hardware_init.c" ]
+  sources += [ "${example_platform_dir}/board/clock_config.c" ]
+  sources += [ "${example_platform_dir}/board/board.c" ]
+  sources += [ "${example_platform_dir}/board/peripherals.c" ]
+
+  # Indicate the path to CHIPProjectConfig.h
+  include_dirs += [ "include/config" ]
+
+  # Indicate the default path to FreeRTOSConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/freeRTOS" ]
+
+  # Indicate the default path to OpenThreadConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/openthread" ]
+
+  # For matter with BR feature, increase FreeRTOS heap size
+  if (chip_enable_wifi && chip_enable_openthread) {
+    defines += [ "configTOTAL_HEAP_SIZE=(size_t)(170 * 1024)" ]
+  }
+
+  defines += [
+    "CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR=${setup_discriminator}",
+  ]
+}
+
+# Create the SDK driver instance.
+# Particular sources/defines/includes could be added to add other drivers not available in the default sdk driver template
+rt1060_sdk_drivers("sdk_driver") {
+}
+
+rt_executable("laundry-washer") {
+  output_name = "chip-rt1060-laundry-washer-example"
+
+  defines = [
+    "CONFIG_RENDEZVOUS_MODE=7",
+    "CONFIG_APP_FREERTOS_OS=1",
+  ]
+
+  if (chip_enable_openthread) {
+    defines += [ "CONFIG_NET_L2_OPENTHREAD=1" ]
+  }
+
+  include_dirs = [
+    "../../common/main/include",
+    "../../common/main",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/include",
+    "${chip_root}/examples/providers/",
+  ]
+
+  sources = [
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/binding-handler.cpp",
+    "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
+    "../../common/main/AppTask.cpp",
+    "../../common/main/DeviceCallbacks.cpp",
+    "../../common/main/ZclCallbacks.cpp",
+    "../../common/main/include/AppEvent.h",
+    "../../common/main/include/AppTask.h",
+    "../../common/main/include/DeviceCallbacks.h",
+    "../../common/main/main.cpp",
+  ]
+
+  # App common files
+  include_dirs += [
+    "${common_example_dir}/icd/include",
+    "${common_example_dir}/matter_cli/include",
+    "${common_example_dir}/device_manager/include",
+    "${common_example_dir}/device_callbacks/include",
+    "${common_example_dir}/matter_button/include",
+    "${common_example_dir}/factory_data/include",
+    "${common_example_dir}/app_task/include",
+  ]
+
+  sources += [
+    "${chip_root}/examples/platform/nxp/${nxp_platform}/factory_data/source/AppFactoryDataExample.cpp",
+    "${common_example_dir}/app_task/source/AppTaskBase.cpp",
+    "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp",
+    "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp",
+    "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp",
+    "${common_example_dir}/icd/source/ICDUtil.cpp",
+    "${common_example_dir}/matter_button/source/ButtonDefault.cpp",
+    "${common_example_dir}/matter_button/source/ButtonManager.cpp",
+    "${common_example_dir}/matter_button/source/ButtonRegistrationDefault.cpp",
+  ]
+
+  deps = [ "${chip_root}/examples/${app_common_folder}" ]
+
+  sources += [
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/bridged-actions-stub.cpp",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/laundry-washer-controls-delegate-impl.cpp",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/smco-stub.cpp",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp",
+    "../../common/main/laundry-washer-mode.cpp",
+    "../../common/main/operational-state-delegate-impl.cpp",
+  ]
+
+  if (chip_enable_matter_cli) {
+    defines += [ "ENABLE_CHIP_SHELL" ]
+    deps += [
+      "${chip_root}/examples/shell/shell_common:shell_common",
+      "${chip_root}/src/lib/shell:shell",
+    ]
+    sources += [
+      "${common_example_dir}/matter_cli/source/AppCLIBase.cpp",
+      "${common_example_dir}/matter_cli/source/AppCLIFreeRTOS.cpp",
+    ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    sources += [
+      "${chip_root}/examples/platform/nxp/common/mcuboot_app_support/flash_partitioning.h",
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiator.cpp",
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiatorCommon.cpp",
+
+      #Adding mcuboot files
+      "${chip_root}/examples/platform/nxp/common/mcuboot_app_support/mcuboot_app_support.c",
+      "${chip_root}/examples/platform/nxp/common/mcuboot_app_support/mcuboot_app_support.h",
+    ]
+    include_dirs += [
+      "$${common_example_dir}/ota_requestor/include",
+      "${chip_root}/examples/platform/nxp/common/mcuboot_app_support",
+    ]
+  }
+
+  if (wifi_auto_connect_at_boot) {
+    assert(wifi_auto_connect_at_boot_ssid != "" &&
+               wifi_auto_connect_at_boot_password != "",
+           "WiFi SSID and password must be specified at build time!")
+
+    defines += [
+      "CONFIG_CHIP_APP_WIFI_CONNECT_AT_BOOT=1",
+      "CONFIG_CHIP_APP_WIFI_SSID=\"${wifi_auto_connect_at_boot_ssid}\"",
+      "CONFIG_CHIP_APP_WIFI_PASSWORD=\"${wifi_auto_connect_at_boot_password}\"",
+    ]
+
+    include_dirs += [ "${common_example_dir}/wifi_connect/include" ]
+    sources += [ "${common_example_dir}/wifi_connect/source/WifiConnect.cpp" ]
+  }
+
+  if (enable_ota_provider) {
+    defines += [ "CONFIG_CHIP_OTA_PROVIDER=1" ]
+
+    include_dirs += [
+      "${common_example_dir}/ota_provider/include",
+      "${common_example_dir}/ota_provider/ota-provider-common",
+    ]
+
+    sources += [
+      "${common_example_dir}/ota_provider/ota-provider-common/RTBdxOtaSender.cpp",
+      "${common_example_dir}/ota_provider/ota-provider-common/RTOTAProviderExample.cpp",
+      "${common_example_dir}/ota_provider/source/OTAProvider.cpp",
+    ]
+
+    deps += [
+      "${chip_root}/src/app/server",
+      "${chip_root}/src/protocols/bdx",
+      "${chip_root}/third_party/jsoncpp",
+    ]
+  }
+
+  # In case a dedicated assert function needs to be supported the flag sdk_fsl_assert_support should be set to false
+  # The would add to the build a dedicated application assert implementation.
+  if (!sdk_fsl_assert_support) {
+    sources += [ "${common_example_dir}/app_assert/source/AppAssert.cpp" ]
+  }
+
+  cflags = [ "-Wconversion" ]
+
+  ldscript =
+      "${example_platform_dir}/app/ldscripts/MIMXRT1062xxxxx_flexspi_nor.ld"
+
+  inputs = [ ldscript ]
+
+  ldflags = [
+    "-T" + rebase_path(ldscript, root_build_dir),
+    "-fno-common",
+    "-Wl,--defsym=__stack_size__=2048",
+    "-ffreestanding",
+    "-fno-builtin",
+    "-mapcs",
+    "-u qspiflash_config",
+    "-u image_vector_table",
+    "-u boot_data",
+    "-u dcd_data",
+    "-Wl,-print-memory-usage",
+    "-Wl,--no-warn-rwx-segments",
+  ]
+
+  if (enable_ota_provider) {
+    # As the OTA file will be stored in the littlefs file system, it is required to increase the size of the file system
+    # To be able to store an OTA file with a MAX size of 640K,
+    # it recommended to size the file system with:
+    # 161 sectors of 4K => reserved for the OTA file
+    # 32 sectors of 4K => reserved for Matter/OT/BLE settings storage
+    ldflags += [ "-Wl,--defsym=gNVMSectorCountLink_d=193" ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    # If OTA build flag is enabled,
+    # we would need to reserve enough space for the bootloader (MCUBoot)
+    # MCUBoot requires 0x11000 Bytes to be reserved at the base of the flash
+    # Consequently, some sections will need to be shifted
+    ldflags += [ "-Wl,--defsym=__mcu_boot_size__=0x11000" ]
+  }
+
+  output_dir = root_out_dir
+}
+
+group("rt1060") {
+  deps = [ ":laundry-washer" ]
+}
+
+group("default") {
+  deps = [ ":rt1060" ]
+}
diff --git a/examples/laundry-washer-app/nxp/rt/rt1060/README.md b/examples/laundry-washer-app/nxp/rt/rt1060/README.md
new file mode 100644
index 0000000..62d4847
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1060/README.md
@@ -0,0 +1,5 @@
+# CHIP RT1060 Thermostat Application
+
+All instructions describing how to use a Matter application on NXP RT1060 can be
+found in [README.md](../../../../all-clusters-app/nxp/rt/rt1060/README.md) root
+readme
diff --git a/examples/laundry-washer-app/nxp/rt/rt1060/args.gni b/examples/laundry-washer-app/nxp/rt/rt1060/args.gni
new file mode 100644
index 0000000..d65714c
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1060/args.gni
@@ -0,0 +1,25 @@
+# Copyright (c) 2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+
+# SDK target definitions
+nxp_sdk_target = get_label_info(":sdk", "label_no_toolchain")
+nxp_sdk_driver_target = get_label_info(":sdk_driver", "label_no_toolchain")
+
+# ICDM
+chip_enable_icd_server = true
+chip_persist_subscriptions = true
+chip_subscription_timeout_resumption = true
+chip_enable_icd_checkin = true
diff --git a/examples/laundry-washer-app/nxp/rt/rt1060/build_overrides b/examples/laundry-washer-app/nxp/rt/rt1060/build_overrides
new file mode 120000
index 0000000..f108670
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1060/build_overrides
@@ -0,0 +1 @@
+../../../../build_overrides
\ No newline at end of file
diff --git a/examples/laundry-washer-app/nxp/rt/rt1060/include/config/CHIPProjectConfig.h b/examples/laundry-washer-app/nxp/rt/rt1060/include/config/CHIPProjectConfig.h
new file mode 100644
index 0000000..dd73c6c
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1060/include/config/CHIPProjectConfig.h
@@ -0,0 +1,216 @@
+/*
+ *    Copyright (c) 2020 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Example project configuration file for CHIP.
+ *
+ *          This is a place to put application or project-specific overrides
+ *          to the default configuration values for general CHIP features.
+ *
+ */
+
+#pragma once
+
+/*
+ * Tells to the platform Factory Data Provider whether to use the example configuration or real/provisioned data.
+ */
+#ifndef CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+#define CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA 0
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
+ *
+ *  0xFFF1: Test vendor.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
+ *
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
+
+#if !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+// Use a default pairing code if one hasn't been provisioned in flash.
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
+#endif
+
+// Use a default pairing code if one hasn't been provisioned in flash.
+#define CHIP_DEVICE_CONFIG_USE_TEST_PAIRING_CODE "CHIPUS"
+
+/**
+ * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER
+ *
+ * Enables the use of a hard-coded default serial number if none
+ * is found in CHIP NV storage.
+ */
+#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN"
+
+#endif /* !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA */
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
+ *
+ * The hardware version number assigned to device or product by the device vendor.  This
+ * number is scoped to the device product id, and typically corresponds to a revision of the
+ * physical device, a change to its packaging, and/or a change to its marketing presentation.
+ * This value is generally *not* incremented for device software versions.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 100
+
+#ifndef CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING "v0.1.0"
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+ *
+ * A string identifying the software version running on the device.
+ * CHIP currently expects the software version to be in the format
+ * {MAJOR_VERSION}.0d{MINOR_VERSION}
+ */
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING NXP_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION NXP_CONFIG_DEVICE_SOFTWARE_VERSION
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME "NXP Semiconductors"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME "NXP Demo App"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION
+//-> format_version = 1
+//-> vendor_id = 0xFFF1
+//-> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B,
+// 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A,
+// 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029,
+// 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038,
+// 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047,
+// 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056,
+// 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ]
+//-> device_type_id = 0x0016
+//-> certificate_id = "ZIG20142ZB330003-24"
+//-> security_level = 0
+//-> security_information = 0
+//-> version_number = 0x2694
+//-> certification_type = 0
+//-> dac_origin_vendor_id is not present
+//-> dac_origin_product_id is not present
+#define CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION                                                                               \
+    {                                                                                                                              \
+        0x30, 0x82, 0x02, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x02, 0x0a, 0x30,    \
+            0x82, 0x02, 0x06, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04,      \
+            0x02, 0x01, 0x30, 0x82, 0x01, 0x71, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,      \
+            0x01, 0x62, 0x04, 0x82, 0x01, 0x5e, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0xf1, 0xff, 0x36, 0x02, 0x05, 0x00, 0x80,      \
+            0x05, 0x01, 0x80, 0x05, 0x02, 0x80, 0x05, 0x03, 0x80, 0x05, 0x04, 0x80, 0x05, 0x05, 0x80, 0x05, 0x06, 0x80, 0x05,      \
+            0x07, 0x80, 0x05, 0x08, 0x80, 0x05, 0x09, 0x80, 0x05, 0x0a, 0x80, 0x05, 0x0b, 0x80, 0x05, 0x0c, 0x80, 0x05, 0x0d,      \
+            0x80, 0x05, 0x0e, 0x80, 0x05, 0x0f, 0x80, 0x05, 0x10, 0x80, 0x05, 0x11, 0x80, 0x05, 0x12, 0x80, 0x05, 0x13, 0x80,      \
+            0x05, 0x14, 0x80, 0x05, 0x15, 0x80, 0x05, 0x16, 0x80, 0x05, 0x17, 0x80, 0x05, 0x18, 0x80, 0x05, 0x19, 0x80, 0x05,      \
+            0x1a, 0x80, 0x05, 0x1b, 0x80, 0x05, 0x1c, 0x80, 0x05, 0x1d, 0x80, 0x05, 0x1e, 0x80, 0x05, 0x1f, 0x80, 0x05, 0x20,      \
+            0x80, 0x05, 0x21, 0x80, 0x05, 0x22, 0x80, 0x05, 0x23, 0x80, 0x05, 0x24, 0x80, 0x05, 0x25, 0x80, 0x05, 0x26, 0x80,      \
+            0x05, 0x27, 0x80, 0x05, 0x28, 0x80, 0x05, 0x29, 0x80, 0x05, 0x2a, 0x80, 0x05, 0x2b, 0x80, 0x05, 0x2c, 0x80, 0x05,      \
+            0x2d, 0x80, 0x05, 0x2e, 0x80, 0x05, 0x2f, 0x80, 0x05, 0x30, 0x80, 0x05, 0x31, 0x80, 0x05, 0x32, 0x80, 0x05, 0x33,      \
+            0x80, 0x05, 0x34, 0x80, 0x05, 0x35, 0x80, 0x05, 0x36, 0x80, 0x05, 0x37, 0x80, 0x05, 0x38, 0x80, 0x05, 0x39, 0x80,      \
+            0x05, 0x3a, 0x80, 0x05, 0x3b, 0x80, 0x05, 0x3c, 0x80, 0x05, 0x3d, 0x80, 0x05, 0x3e, 0x80, 0x05, 0x3f, 0x80, 0x05,      \
+            0x40, 0x80, 0x05, 0x41, 0x80, 0x05, 0x42, 0x80, 0x05, 0x43, 0x80, 0x05, 0x44, 0x80, 0x05, 0x45, 0x80, 0x05, 0x46,      \
+            0x80, 0x05, 0x47, 0x80, 0x05, 0x48, 0x80, 0x05, 0x49, 0x80, 0x05, 0x4a, 0x80, 0x05, 0x4b, 0x80, 0x05, 0x4c, 0x80,      \
+            0x05, 0x4d, 0x80, 0x05, 0x4e, 0x80, 0x05, 0x4f, 0x80, 0x05, 0x50, 0x80, 0x05, 0x51, 0x80, 0x05, 0x52, 0x80, 0x05,      \
+            0x53, 0x80, 0x05, 0x54, 0x80, 0x05, 0x55, 0x80, 0x05, 0x56, 0x80, 0x05, 0x57, 0x80, 0x05, 0x58, 0x80, 0x05, 0x59,      \
+            0x80, 0x05, 0x5a, 0x80, 0x05, 0x5b, 0x80, 0x05, 0x5c, 0x80, 0x05, 0x5d, 0x80, 0x05, 0x5e, 0x80, 0x05, 0x5f, 0x80,      \
+            0x05, 0x60, 0x80, 0x05, 0x61, 0x80, 0x05, 0x62, 0x80, 0x05, 0x63, 0x80, 0x18, 0x24, 0x03, 0x16, 0x2c, 0x04, 0x13,      \
+            0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x34,      \
+            0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x94, 0x26, 0x24, 0x08, 0x00, 0x18, 0x31, 0x7d, 0x30, 0x7b, 0x02,      \
+            0x01, 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, 0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd,      \
+            0xf5, 0x04, 0xf3, 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30,      \
+            0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x47, 0x30, 0x45, 0x02, 0x20, 0x24, 0xe5,      \
+            0xd1, 0xf4, 0x7a, 0x7d, 0x7b, 0x0d, 0x20, 0x6a, 0x26, 0xef, 0x69, 0x9b, 0x7c, 0x97, 0x57, 0xb7, 0x2d, 0x46, 0x90,      \
+            0x89, 0xde, 0x31, 0x92, 0xe6, 0x78, 0xc7, 0x45, 0xe7, 0xf6, 0x0c, 0x02, 0x21, 0x00, 0xf8, 0xaa, 0x2f, 0xa7, 0x11,      \
+            0xfc, 0xb7, 0x9b, 0x97, 0xe3, 0x97, 0xce, 0xda, 0x66, 0x7b, 0xae, 0x46, 0x4e, 0x2b, 0xd3, 0xff, 0xdf, 0xc3, 0xcc,      \
+            0xed, 0x7a, 0xa8, 0xca, 0x5f, 0x4c, 0x1a, 0x7c                                                                         \
+    }
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC
+ *
+ * Enables synchronizing the device's real time clock with a remote CHIP Time service
+ * using the CHIP Time Sync protocol.
+ */
+// #define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 1
+
+/**
+ * CHIP_CONFIG_MAX_BINDINGS
+ *
+ * Maximum number of simultaneously active bindings per ChipExchangeManager
+ * 1 (Time Sync) + 2 (Two 1-way subscriptions) + 1 (Software Update) = 4
+ * in the worst case. Keeping another 4 as buffer.
+ */
+#define CHIP_CONFIG_MAX_BINDINGS 6
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD
+ *
+ * Select the ability to offload event logs to any interested subscribers using WDM.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD 1
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
+ *
+ * Enable recording UTC timestamps.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
+
+/**
+ * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
+ *
+ * A size, in bytes, of the individual debug event logging buffer.
+ */
+#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE
+ *
+ * For a development build, set the default importance of events to be logged as Debug.
+ * Since debug is the lowest importance level, this means all standard, critical, info and
+ * debug importance level vi events get logged.
+ */
+#if BUILD_RELEASE
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Production
+#else
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Debug
+#endif // BUILD_RELEASE
+
+/* Increasing the retransmission interval of the MRP messages after subsequent failures */
+#ifndef CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL
+#define CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL (2000_ms32)
+#endif
diff --git a/examples/laundry-washer-app/nxp/rt/rt1060/third_party/connectedhomeip b/examples/laundry-washer-app/nxp/rt/rt1060/third_party/connectedhomeip
new file mode 120000
index 0000000..305f207
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1060/third_party/connectedhomeip
@@ -0,0 +1 @@
+../../../../../..
\ No newline at end of file
diff --git a/examples/laundry-washer-app/nxp/rt/rt1170/.gn b/examples/laundry-washer-app/nxp/rt/rt1170/.gn
new file mode 100644
index 0000000..59dcfeb
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1170/.gn
@@ -0,0 +1,35 @@
+# Copyright (c) 2020 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+
+# The location of the build configuration file.
+buildconfig = "${build_root}/config/BUILDCONFIG.gn"
+
+# CHIP uses angle bracket includes.
+check_system_includes = true
+
+default_args = {
+  target_cpu = "arm"
+  target_os = "freertos"
+
+  import("//args.gni")
+
+  # Import common example GN args
+  import("${chip_root}/examples/platform/nxp/common/gn/args.gni")
+
+  # Import default platform configs
+  import("${chip_root}/src/platform/nxp/rt/rt1170/args.gni")
+}
diff --git a/examples/laundry-washer-app/nxp/rt/rt1170/BUILD.gn b/examples/laundry-washer-app/nxp/rt/rt1170/BUILD.gn
new file mode 100644
index 0000000..96b035e
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1170/BUILD.gn
@@ -0,0 +1,246 @@
+# Copyright (c) 2021-2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+import("${chip_root}/src/platform/device.gni")
+
+#allows to get common NXP SDK gn options
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+# Allows to get various RT gn options
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni")
+
+import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni")
+import(
+    "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni")
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_executable.gni")
+
+assert(current_os == "freertos")
+assert(target_os == "freertos")
+assert(nxp_platform == "rt/rt1170")
+
+declare_args() {
+  # Allows to connect to a predefine Wi-Fi network at boot
+  wifi_auto_connect_at_boot = false
+  wifi_auto_connect_at_boot_ssid = ""
+  wifi_auto_connect_at_boot_password = ""
+
+  # Setup discriminator as argument
+  setup_discriminator = 3840
+}
+
+example_platform_dir =
+    "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}"
+common_example_dir = "${chip_root}/examples/platform/nxp/common"
+
+# Use NXP custom zap files for laundry-washer device-type
+app_common_folder = "laundry-washer-app/nxp/zap"
+
+# Create here the SDK instance.
+# Particular sources/defines/includes could be added/changed depending on the target application.
+rt_sdk("sdk") {
+  defines = []
+
+  cflags = []
+  public_deps = []
+  public_configs = []
+  sources = []
+  include_dirs = []
+
+  # Indicate paths to default board files
+  include_dirs += [ "${example_platform_dir}/board/" ]
+  sources += [ "${example_platform_dir}/board/pin_mux.c" ]
+  sources += [ "${example_platform_dir}/board/hardware_init.c" ]
+  sources += [ "${example_platform_dir}/board/clock_config.c" ]
+  sources += [ "${example_platform_dir}/board/board.c" ]
+  sources += [ "${example_platform_dir}/board/peripherals.c" ]
+  sources += [ "${example_platform_dir}/board/sdmmc_config.c" ]
+
+  # Indicate the path to CHIPProjectConfig.h
+  include_dirs += [ "include/config" ]
+
+  # Indicate the default path to FreeRTOSConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/freeRTOS" ]
+
+  # Indicate the default path to OpenThreadConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/openthread" ]
+
+  # For matter with BR feature, increase FreeRTOS heap size
+  if (chip_enable_wifi && chip_enable_openthread) {
+    defines += [ "configTOTAL_HEAP_SIZE=(size_t)(170 * 1024)" ]
+  }
+
+  defines += [
+    "CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR=${setup_discriminator}",
+  ]
+}
+
+# Create the SDK driver instance.
+# Particular sources/defines/includes could be added to add other drivers not available in the default sdk driver template
+rt1170_sdk_drivers("sdk_driver") {
+}
+
+rt_executable("laundry-washer-app") {
+  output_name = "chip-rt1170-laundry-washer-example"
+
+  defines = [
+    "CONFIG_RENDEZVOUS_MODE=7",
+    "CONFIG_APP_FREERTOS_OS=1",
+  ]
+
+  if (chip_enable_openthread) {
+    defines += [ "CONFIG_NET_L2_OPENTHREAD=1" ]
+  }
+
+  include_dirs = [
+    "../../common/main/include",
+    "../../common/main",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/include",
+    "${chip_root}/examples/providers/",
+  ]
+
+  sources = [
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/binding-handler.cpp",
+    "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
+    "../../common/main/AppTask.cpp",
+    "../../common/main/DeviceCallbacks.cpp",
+    "../../common/main/ZclCallbacks.cpp",
+    "../../common/main/include/AppEvent.h",
+    "../../common/main/include/AppTask.h",
+    "../../common/main/include/DeviceCallbacks.h",
+    "../../common/main/main.cpp",
+  ]
+
+  # App common files
+  include_dirs += [
+    "${common_example_dir}/icd/include",
+    "${common_example_dir}/matter_button/include",
+    "${common_example_dir}/matter_cli/include",
+    "${common_example_dir}/device_manager/include",
+    "${common_example_dir}/device_callbacks/include",
+    "${common_example_dir}/factory_data/include",
+    "${common_example_dir}/app_task/include",
+  ]
+
+  sources += [
+    "${common_example_dir}/app_task/source/AppTaskBase.cpp",
+    "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp",
+    "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp",
+    "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp",
+    "${common_example_dir}/factory_data/source/AppFactoryDataDefaultImpl.cpp",
+    "${common_example_dir}/icd/source/ICDUtil.cpp",
+    "${common_example_dir}/matter_button/source/ButtonRegistrationEmpty.cpp",
+  ]
+
+  deps = [ "${chip_root}/examples/${app_common_folder}" ]
+
+  sources += [
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/bridged-actions-stub.cpp",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/laundry-washer-controls-delegate-impl.cpp",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/smco-stub.cpp",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp",
+    "../../common/main/laundry-washer-mode.cpp",
+    "../../common/main/operational-state-delegate-impl.cpp",
+  ]
+
+  if (chip_enable_matter_cli) {
+    defines += [ "ENABLE_CHIP_SHELL" ]
+    deps += [
+      "${chip_root}/examples/shell/shell_common:shell_common",
+      "${chip_root}/src/lib/shell:shell",
+    ]
+    sources += [
+      "${common_example_dir}/matter_cli/source/AppCLIBase.cpp",
+      "${common_example_dir}/matter_cli/source/AppCLIFreeRTOS.cpp",
+    ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    include_dirs += [ "${common_example_dir}/ota_requestor/include" ]
+    sources += [
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiator.cpp",
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiatorCommon.cpp",
+    ]
+  }
+
+  if (wifi_auto_connect_at_boot) {
+    assert(wifi_auto_connect_at_boot_ssid != "" &&
+               wifi_auto_connect_at_boot_password != "",
+           "WiFi SSID and password must be specified at build time!")
+
+    defines += [
+      "CONFIG_CHIP_APP_WIFI_CONNECT_AT_BOOT=1",
+      "CONFIG_CHIP_APP_WIFI_SSID=\"${wifi_auto_connect_at_boot_ssid}\"",
+      "CONFIG_CHIP_APP_WIFI_PASSWORD=\"${wifi_auto_connect_at_boot_password}\"",
+    ]
+
+    include_dirs += [ "${common_example_dir}/wifi_connect/include" ]
+    sources += [ "${common_example_dir}/wifi_connect/source/WifiConnect.cpp" ]
+  }
+
+  # In case a dedicated assert function needs to be supported the flag sdk_fsl_assert_support should be set to false
+  # The would add to the build a dedicated application assert implementation.
+  if (!sdk_fsl_assert_support) {
+    sources += [ "${common_example_dir}/app_assert/source/AppAssert.cpp" ]
+  }
+
+  cflags = [ "-Wconversion" ]
+
+  ldscript =
+      "${example_platform_dir}/app/ldscripts/MIMXRT1176xxxxx_cm7_flexspi_nor.ld"
+
+  inputs = [ ldscript ]
+
+  ldflags = [
+    "-T" + rebase_path(ldscript, root_build_dir),
+    "-fno-common",
+    "-Wl,--defsym=__stack_size__=2048",
+    "-ffreestanding",
+    "-fno-builtin",
+    "-mapcs",
+    "-u qspiflash_config",
+    "-u image_vector_table",
+    "-u boot_data",
+    "-u dcd_data",
+    "-Wl,-print-memory-usage",
+    "-Wl,--no-warn-rwx-segments",
+  ]
+
+  if (chip_enable_ota_requestor) {
+    if (no_mcuboot) {
+      # If "no_mcuboot" is set to true, the application will be linked at the base of the flash.
+      print(
+          "Warning : The OTA Requestor is enabled without MCUBoot. This will prevent the application from applying software updates.")
+    } else {
+      # we need to reserve enough space for the bootloader (MCUBoot)
+      # MCUBoot requires 0x40000 Bytes to be reserved at the base of the flash
+      # Consequently, some sections will need to be shifted
+      ldflags += [ "-Wl,--defsym=__m_mcuboot_size__=0x40000" ]
+    }
+  }
+
+  output_dir = root_out_dir
+}
+
+group("rt1170") {
+  deps = [ ":laundry-washer-app" ]
+}
+
+group("default") {
+  deps = [ ":rt1170" ]
+}
diff --git a/examples/laundry-washer-app/nxp/rt/rt1170/README.md b/examples/laundry-washer-app/nxp/rt/rt1170/README.md
new file mode 100644
index 0000000..9710175
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1170/README.md
@@ -0,0 +1,5 @@
+# CHIP RT1170 Thermostat Application
+
+All instructions describing how to use a Matter application on NXP RT11170 can
+be found in [README.md](../../../../all-clusters-app/nxp/rt/rt1170/README.md)
+root readme
diff --git a/examples/laundry-washer-app/nxp/rt/rt1170/args.gni b/examples/laundry-washer-app/nxp/rt/rt1170/args.gni
new file mode 100644
index 0000000..d65714c
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1170/args.gni
@@ -0,0 +1,25 @@
+# Copyright (c) 2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+
+# SDK target definitions
+nxp_sdk_target = get_label_info(":sdk", "label_no_toolchain")
+nxp_sdk_driver_target = get_label_info(":sdk_driver", "label_no_toolchain")
+
+# ICDM
+chip_enable_icd_server = true
+chip_persist_subscriptions = true
+chip_subscription_timeout_resumption = true
+chip_enable_icd_checkin = true
diff --git a/examples/laundry-washer-app/nxp/rt/rt1170/build_overrides b/examples/laundry-washer-app/nxp/rt/rt1170/build_overrides
new file mode 120000
index 0000000..f108670
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1170/build_overrides
@@ -0,0 +1 @@
+../../../../build_overrides
\ No newline at end of file
diff --git a/examples/laundry-washer-app/nxp/rt/rt1170/include/config/CHIPProjectConfig.h b/examples/laundry-washer-app/nxp/rt/rt1170/include/config/CHIPProjectConfig.h
new file mode 100644
index 0000000..dd73c6c
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1170/include/config/CHIPProjectConfig.h
@@ -0,0 +1,216 @@
+/*
+ *    Copyright (c) 2020 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Example project configuration file for CHIP.
+ *
+ *          This is a place to put application or project-specific overrides
+ *          to the default configuration values for general CHIP features.
+ *
+ */
+
+#pragma once
+
+/*
+ * Tells to the platform Factory Data Provider whether to use the example configuration or real/provisioned data.
+ */
+#ifndef CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+#define CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA 0
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
+ *
+ *  0xFFF1: Test vendor.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
+ *
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
+
+#if !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+// Use a default pairing code if one hasn't been provisioned in flash.
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
+#endif
+
+// Use a default pairing code if one hasn't been provisioned in flash.
+#define CHIP_DEVICE_CONFIG_USE_TEST_PAIRING_CODE "CHIPUS"
+
+/**
+ * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER
+ *
+ * Enables the use of a hard-coded default serial number if none
+ * is found in CHIP NV storage.
+ */
+#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN"
+
+#endif /* !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA */
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
+ *
+ * The hardware version number assigned to device or product by the device vendor.  This
+ * number is scoped to the device product id, and typically corresponds to a revision of the
+ * physical device, a change to its packaging, and/or a change to its marketing presentation.
+ * This value is generally *not* incremented for device software versions.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 100
+
+#ifndef CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING "v0.1.0"
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+ *
+ * A string identifying the software version running on the device.
+ * CHIP currently expects the software version to be in the format
+ * {MAJOR_VERSION}.0d{MINOR_VERSION}
+ */
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING NXP_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION NXP_CONFIG_DEVICE_SOFTWARE_VERSION
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME "NXP Semiconductors"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME "NXP Demo App"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION
+//-> format_version = 1
+//-> vendor_id = 0xFFF1
+//-> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B,
+// 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A,
+// 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029,
+// 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038,
+// 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047,
+// 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056,
+// 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ]
+//-> device_type_id = 0x0016
+//-> certificate_id = "ZIG20142ZB330003-24"
+//-> security_level = 0
+//-> security_information = 0
+//-> version_number = 0x2694
+//-> certification_type = 0
+//-> dac_origin_vendor_id is not present
+//-> dac_origin_product_id is not present
+#define CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION                                                                               \
+    {                                                                                                                              \
+        0x30, 0x82, 0x02, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x02, 0x0a, 0x30,    \
+            0x82, 0x02, 0x06, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04,      \
+            0x02, 0x01, 0x30, 0x82, 0x01, 0x71, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,      \
+            0x01, 0x62, 0x04, 0x82, 0x01, 0x5e, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0xf1, 0xff, 0x36, 0x02, 0x05, 0x00, 0x80,      \
+            0x05, 0x01, 0x80, 0x05, 0x02, 0x80, 0x05, 0x03, 0x80, 0x05, 0x04, 0x80, 0x05, 0x05, 0x80, 0x05, 0x06, 0x80, 0x05,      \
+            0x07, 0x80, 0x05, 0x08, 0x80, 0x05, 0x09, 0x80, 0x05, 0x0a, 0x80, 0x05, 0x0b, 0x80, 0x05, 0x0c, 0x80, 0x05, 0x0d,      \
+            0x80, 0x05, 0x0e, 0x80, 0x05, 0x0f, 0x80, 0x05, 0x10, 0x80, 0x05, 0x11, 0x80, 0x05, 0x12, 0x80, 0x05, 0x13, 0x80,      \
+            0x05, 0x14, 0x80, 0x05, 0x15, 0x80, 0x05, 0x16, 0x80, 0x05, 0x17, 0x80, 0x05, 0x18, 0x80, 0x05, 0x19, 0x80, 0x05,      \
+            0x1a, 0x80, 0x05, 0x1b, 0x80, 0x05, 0x1c, 0x80, 0x05, 0x1d, 0x80, 0x05, 0x1e, 0x80, 0x05, 0x1f, 0x80, 0x05, 0x20,      \
+            0x80, 0x05, 0x21, 0x80, 0x05, 0x22, 0x80, 0x05, 0x23, 0x80, 0x05, 0x24, 0x80, 0x05, 0x25, 0x80, 0x05, 0x26, 0x80,      \
+            0x05, 0x27, 0x80, 0x05, 0x28, 0x80, 0x05, 0x29, 0x80, 0x05, 0x2a, 0x80, 0x05, 0x2b, 0x80, 0x05, 0x2c, 0x80, 0x05,      \
+            0x2d, 0x80, 0x05, 0x2e, 0x80, 0x05, 0x2f, 0x80, 0x05, 0x30, 0x80, 0x05, 0x31, 0x80, 0x05, 0x32, 0x80, 0x05, 0x33,      \
+            0x80, 0x05, 0x34, 0x80, 0x05, 0x35, 0x80, 0x05, 0x36, 0x80, 0x05, 0x37, 0x80, 0x05, 0x38, 0x80, 0x05, 0x39, 0x80,      \
+            0x05, 0x3a, 0x80, 0x05, 0x3b, 0x80, 0x05, 0x3c, 0x80, 0x05, 0x3d, 0x80, 0x05, 0x3e, 0x80, 0x05, 0x3f, 0x80, 0x05,      \
+            0x40, 0x80, 0x05, 0x41, 0x80, 0x05, 0x42, 0x80, 0x05, 0x43, 0x80, 0x05, 0x44, 0x80, 0x05, 0x45, 0x80, 0x05, 0x46,      \
+            0x80, 0x05, 0x47, 0x80, 0x05, 0x48, 0x80, 0x05, 0x49, 0x80, 0x05, 0x4a, 0x80, 0x05, 0x4b, 0x80, 0x05, 0x4c, 0x80,      \
+            0x05, 0x4d, 0x80, 0x05, 0x4e, 0x80, 0x05, 0x4f, 0x80, 0x05, 0x50, 0x80, 0x05, 0x51, 0x80, 0x05, 0x52, 0x80, 0x05,      \
+            0x53, 0x80, 0x05, 0x54, 0x80, 0x05, 0x55, 0x80, 0x05, 0x56, 0x80, 0x05, 0x57, 0x80, 0x05, 0x58, 0x80, 0x05, 0x59,      \
+            0x80, 0x05, 0x5a, 0x80, 0x05, 0x5b, 0x80, 0x05, 0x5c, 0x80, 0x05, 0x5d, 0x80, 0x05, 0x5e, 0x80, 0x05, 0x5f, 0x80,      \
+            0x05, 0x60, 0x80, 0x05, 0x61, 0x80, 0x05, 0x62, 0x80, 0x05, 0x63, 0x80, 0x18, 0x24, 0x03, 0x16, 0x2c, 0x04, 0x13,      \
+            0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x34,      \
+            0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x94, 0x26, 0x24, 0x08, 0x00, 0x18, 0x31, 0x7d, 0x30, 0x7b, 0x02,      \
+            0x01, 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, 0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd,      \
+            0xf5, 0x04, 0xf3, 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30,      \
+            0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x47, 0x30, 0x45, 0x02, 0x20, 0x24, 0xe5,      \
+            0xd1, 0xf4, 0x7a, 0x7d, 0x7b, 0x0d, 0x20, 0x6a, 0x26, 0xef, 0x69, 0x9b, 0x7c, 0x97, 0x57, 0xb7, 0x2d, 0x46, 0x90,      \
+            0x89, 0xde, 0x31, 0x92, 0xe6, 0x78, 0xc7, 0x45, 0xe7, 0xf6, 0x0c, 0x02, 0x21, 0x00, 0xf8, 0xaa, 0x2f, 0xa7, 0x11,      \
+            0xfc, 0xb7, 0x9b, 0x97, 0xe3, 0x97, 0xce, 0xda, 0x66, 0x7b, 0xae, 0x46, 0x4e, 0x2b, 0xd3, 0xff, 0xdf, 0xc3, 0xcc,      \
+            0xed, 0x7a, 0xa8, 0xca, 0x5f, 0x4c, 0x1a, 0x7c                                                                         \
+    }
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC
+ *
+ * Enables synchronizing the device's real time clock with a remote CHIP Time service
+ * using the CHIP Time Sync protocol.
+ */
+// #define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 1
+
+/**
+ * CHIP_CONFIG_MAX_BINDINGS
+ *
+ * Maximum number of simultaneously active bindings per ChipExchangeManager
+ * 1 (Time Sync) + 2 (Two 1-way subscriptions) + 1 (Software Update) = 4
+ * in the worst case. Keeping another 4 as buffer.
+ */
+#define CHIP_CONFIG_MAX_BINDINGS 6
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD
+ *
+ * Select the ability to offload event logs to any interested subscribers using WDM.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD 1
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
+ *
+ * Enable recording UTC timestamps.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
+
+/**
+ * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
+ *
+ * A size, in bytes, of the individual debug event logging buffer.
+ */
+#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE
+ *
+ * For a development build, set the default importance of events to be logged as Debug.
+ * Since debug is the lowest importance level, this means all standard, critical, info and
+ * debug importance level vi events get logged.
+ */
+#if BUILD_RELEASE
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Production
+#else
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Debug
+#endif // BUILD_RELEASE
+
+/* Increasing the retransmission interval of the MRP messages after subsequent failures */
+#ifndef CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL
+#define CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL (2000_ms32)
+#endif
diff --git a/examples/laundry-washer-app/nxp/rt/rt1170/third_party/connectedhomeip b/examples/laundry-washer-app/nxp/rt/rt1170/third_party/connectedhomeip
new file mode 120000
index 0000000..305f207
--- /dev/null
+++ b/examples/laundry-washer-app/nxp/rt/rt1170/third_party/connectedhomeip
@@ -0,0 +1 @@
+../../../../../..
\ No newline at end of file
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/MIMXRT1060-EVKB-TOP.png b/examples/platform/nxp/rt/rt1060/doc/images/MIMXRT1060-EVKB-TOP.png
new file mode 100644
index 0000000..1e9fbff
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/MIMXRT1060-EVKB-TOP.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/debug0.png b/examples/platform/nxp/rt/rt1060/doc/images/debug0.png
new file mode 100644
index 0000000..6a594f4
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/debug0.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/debug1.png b/examples/platform/nxp/rt/rt1060/doc/images/debug1.png
new file mode 100644
index 0000000..b5a9ee5
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/debug1.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/flash_driver.png b/examples/platform/nxp/rt/rt1060/doc/images/flash_driver.png
new file mode 100644
index 0000000..0e5ab13
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/flash_driver.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/gdbdebugger.png b/examples/platform/nxp/rt/rt1060/doc/images/gdbdebugger.png
new file mode 100644
index 0000000..ace1ff8
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/gdbdebugger.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/import-local-repository.png b/examples/platform/nxp/rt/rt1060/doc/images/import-local-repository.png
new file mode 100644
index 0000000..630e9f9
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/import-local-repository.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/import-sdk-git.png b/examples/platform/nxp/rt/rt1060/doc/images/import-sdk-git.png
new file mode 100644
index 0000000..440db43
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/import-sdk-git.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/mcu-set.png b/examples/platform/nxp/rt/rt1060/doc/images/mcu-set.png
new file mode 100644
index 0000000..a3d8378
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/mcu-set.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/rt1060_evkc_IW612_hw_rework.jpg b/examples/platform/nxp/rt/rt1060/doc/images/rt1060_evkc_IW612_hw_rework.jpg
new file mode 100644
index 0000000..fd7c303
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/rt1060_evkc_IW612_hw_rework.jpg
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/rt1060_evkc_IW612_hw_rework_detail.jpg b/examples/platform/nxp/rt/rt1060/doc/images/rt1060_evkc_IW612_hw_rework_detail.jpg
new file mode 100644
index 0000000..c5a43e6
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/rt1060_evkc_IW612_hw_rework_detail.jpg
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/rt1060_k32w061_pin_settings.jpg b/examples/platform/nxp/rt/rt1060/doc/images/rt1060_k32w061_pin_settings.jpg
new file mode 100644
index 0000000..ed616ee
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/rt1060_k32w061_pin_settings.jpg
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/select-sdk.png b/examples/platform/nxp/rt/rt1060/doc/images/select-sdk.png
new file mode 100644
index 0000000..335a050
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/select-sdk.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/startup.png b/examples/platform/nxp/rt/rt1060/doc/images/startup.png
new file mode 100644
index 0000000..cd9a8ad
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/startup.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/doc/images/toolchain.JPG b/examples/platform/nxp/rt/rt1060/doc/images/toolchain.JPG
new file mode 100644
index 0000000..068ebfb
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/doc/images/toolchain.JPG
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1060/factory_data/source/AppFactoryDataExample.cpp b/examples/platform/nxp/rt/rt1060/factory_data/source/AppFactoryDataExample.cpp
new file mode 100644
index 0000000..a37ff1b
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1060/factory_data/source/AppFactoryDataExample.cpp
@@ -0,0 +1,77 @@
+/*
+ *
+ *    Copyright (c) 2023 Project CHIP Authors
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+#include "AppFactoryData.h"
+
+#include <credentials/DeviceAttestationCredsProvider.h>
+#include <platform/CommissionableDataProvider.h>
+#include <platform/DeviceInstanceInfoProvider.h>
+
+#if CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+#include "FactoryDataProvider.h"
+/*
+ * Test key used to encrypt factory data before storing it to the flash.
+ * The software key should be used only during development stage.
+ * For production usage, it is recommended to use the OTP key which needs to be fused in the RT1060 SW_GP2.
+ */
+static const uint8_t aes128TestKey[]
+    __attribute__((aligned)) = { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };
+#else
+#include <credentials/examples/DeviceAttestationCredsExample.h>
+#endif
+
+using namespace chip;
+using namespace ::chip::Credentials;
+using namespace ::chip::DeviceLayer;
+
+/**
+ * Allows to register Matter factory data before initializing the Matter stack
+ * Load factory data from the flash to the RAM.
+ * Needs to be done before starting other Matter modules to avoid concurrent access issues with DCP hardware module.
+ *
+ * This example demonstrates the usage of the ecb with a software key, to use other encryption mode,
+ * or to use hardware keys, check available methodes from the FactoryDataProviderImpl class.
+ */
+CHIP_ERROR NXP::App::AppFactoryData_PreMatterStackInit(void)
+{
+#if CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+
+    FactoryDataPrvdImpl().SetEncryptionMode(FactoryDataProvider::encrypt_ecb);
+    FactoryDataPrvdImpl().SetAes128Key(&aes128TestKey[0]);
+
+    return FactoryDataPrvdImpl().Init();
+#else
+    return CHIP_NO_ERROR;
+#endif
+}
+
+/**
+ * Allows to register Matter factory data  after initializing the Matter stack
+ */
+CHIP_ERROR NXP::App::AppFactoryData_PostMatterStackInit(void)
+{
+#if CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+    SetDeviceInstanceInfoProvider(&FactoryDataPrvd());
+    SetDeviceAttestationCredentialsProvider(&FactoryDataPrvd());
+    SetCommissionableDataProvider(&FactoryDataPrvd());
+#else
+    // Initialize device attestation with example one (only for debug purpose)
+    SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
+#endif
+    return CHIP_NO_ERROR;
+}
diff --git a/examples/platform/nxp/rt/rt1170/BUILD.gn b/examples/platform/nxp/rt/rt1170/BUILD.gn
new file mode 100644
index 0000000..6585e31
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/BUILD.gn
@@ -0,0 +1,24 @@
+# Copyright (c) 2020-2022 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+
+config("chip_app_project_config") {
+  include_dirs = [
+    "app/project_include",
+    "../../common/util/include",
+    "../../common/mbedtls",
+  ]
+}
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/IMX-RT1170-EVK-TOP.jpg b/examples/platform/nxp/rt/rt1170/doc/images/IMX-RT1170-EVK-TOP.jpg
new file mode 100644
index 0000000..a5dc161
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/IMX-RT1170-EVK-TOP.jpg
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/debug0.png b/examples/platform/nxp/rt/rt1170/doc/images/debug0.png
new file mode 100644
index 0000000..e5b02cf
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/debug0.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/flash_driver.png b/examples/platform/nxp/rt/rt1170/doc/images/flash_driver.png
new file mode 100644
index 0000000..610acab
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/flash_driver.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/iwx612_2EL.jpg b/examples/platform/nxp/rt/rt1170/doc/images/iwx612_2EL.jpg
new file mode 100644
index 0000000..1482efe
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/iwx612_2EL.jpg
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/mcu-set.png b/examples/platform/nxp/rt/rt1170/doc/images/mcu-set.png
new file mode 100644
index 0000000..27bc4d9
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/mcu-set.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/mcuboot_demo.PNG b/examples/platform/nxp/rt/rt1170/doc/images/mcuboot_demo.PNG
new file mode 100644
index 0000000..0c228b7
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/mcuboot_demo.PNG
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/mcuboot_swap_config.png b/examples/platform/nxp/rt/rt1170/doc/images/mcuboot_swap_config.png
new file mode 100644
index 0000000..83c4fdb
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/mcuboot_swap_config.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-M2_adapter.jpg b/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-M2_adapter.jpg
new file mode 100644
index 0000000..0d81667
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-M2_adapter.jpg
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-m2_connections_1.jpg b/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-m2_connections_1.jpg
new file mode 100644
index 0000000..01febd9
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-m2_connections_1.jpg
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-m2_connections_2.jpg b/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-m2_connections_2.jpg
new file mode 100644
index 0000000..91bae4b
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/murata_usd-m2_connections_2.jpg
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/select-sdk.png b/examples/platform/nxp/rt/rt1170/doc/images/select-sdk.png
new file mode 100644
index 0000000..412731c
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/select-sdk.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/startup.png b/examples/platform/nxp/rt/rt1170/doc/images/startup.png
new file mode 100644
index 0000000..c805bc5
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/startup.png
Binary files differ
diff --git a/examples/platform/nxp/rt/rt1170/doc/images/toolchain.JPG b/examples/platform/nxp/rt/rt1170/doc/images/toolchain.JPG
new file mode 100644
index 0000000..068ebfb
--- /dev/null
+++ b/examples/platform/nxp/rt/rt1170/doc/images/toolchain.JPG
Binary files differ
diff --git a/examples/thermostat/nxp/rt/rt1060/.gn b/examples/thermostat/nxp/rt/rt1060/.gn
new file mode 100644
index 0000000..0985ed9
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1060/.gn
@@ -0,0 +1,35 @@
+# Copyright (c) 2020 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+
+# The location of the build configuration file.
+buildconfig = "${build_root}/config/BUILDCONFIG.gn"
+
+# CHIP uses angle bracket includes.
+check_system_includes = true
+
+default_args = {
+  target_cpu = "arm"
+  target_os = "freertos"
+
+  import("//args.gni")
+
+  # Import common example GN args
+  import("${chip_root}/examples/platform/nxp/common/gn/args.gni")
+
+  # Import default platform configs
+  import("${chip_root}/src/platform/nxp/rt/rt1060/args.gni")
+}
diff --git a/examples/thermostat/nxp/rt/rt1060/BUILD.gn b/examples/thermostat/nxp/rt/rt1060/BUILD.gn
new file mode 100644
index 0000000..5eba1a3
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1060/BUILD.gn
@@ -0,0 +1,304 @@
+# Copyright (c) 2021-2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+import("${chip_root}/src/platform/device.gni")
+
+#allows to get common NXP SDK gn options
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+# Allows to get various RT gn options
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni")
+
+import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni")
+import(
+    "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni")
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_executable.gni")
+
+assert(current_os == "freertos")
+assert(target_os == "freertos")
+assert(nxp_platform == "rt/rt1060")
+
+declare_args() {
+  # Allows to enable to ota_provider support
+  enable_ota_provider = false
+
+  # Allows to connect to a predefine Wi-Fi network at boot
+  wifi_auto_connect_at_boot = false
+  wifi_auto_connect_at_boot_ssid = ""
+  wifi_auto_connect_at_boot_password = ""
+
+  # Setup discriminator as argument
+  setup_discriminator = 3840
+
+  chip_with_diag_logs_demo = true
+}
+
+example_platform_dir =
+    "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}"
+common_example_dir = "${chip_root}/examples/platform/nxp/common"
+
+app_common_folder = "thermostat/nxp/zap"
+
+# Create here the SDK instance.
+# Particular sources/defines/includes could be added/changed depending on the target application.
+rt_sdk("sdk") {
+  defines = []
+
+  cflags = []
+  public_deps = []
+  public_configs = []
+  sources = []
+  include_dirs = []
+
+  # Indicate paths to default board files
+  include_dirs += [ "${example_platform_dir}/board/" ]
+
+  # RT1060 rev A use same pin mux as rev B
+  # If user needs different pin mux files for rev A and rev B boards, the source and include from below needs to be updated accordingly
+  if (evkname == "evkmimxrt1060") {
+    include_dirs += [ "${example_platform_dir}/board/evkbmimxrt1060/" ]
+    sources += [ "${example_platform_dir}/board/evkbmimxrt1060/pin_mux.c" ]
+  } else {
+    include_dirs += [ "${example_platform_dir}/board/${evkname}/" ]
+    sources += [ "${example_platform_dir}/board/${evkname}/pin_mux.c" ]
+  }
+  sources += [ "${example_platform_dir}/board/hardware_init.c" ]
+  sources += [ "${example_platform_dir}/board/clock_config.c" ]
+  sources += [ "${example_platform_dir}/board/board.c" ]
+  sources += [ "${example_platform_dir}/board/peripherals.c" ]
+
+  # Indicate the path to CHIPProjectConfig.h
+  include_dirs += [ "include/config" ]
+
+  # Indicate the default path to FreeRTOSConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/freeRTOS" ]
+
+  # Indicate the default path to OpenThreadConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/openthread" ]
+
+  # For matter with BR feature, increase FreeRTOS heap size and enable TBR cluster
+  if (chip_enable_wifi && chip_enable_openthread) {
+    defines += [
+      "configTOTAL_HEAP_SIZE=(size_t)(170 * 1024)",
+      "CHIP_DEVICE_CONFIG_ENABLE_TBR=1",
+    ]
+  }
+
+  defines += [
+    "CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR=${setup_discriminator}",
+  ]
+}
+
+# Create the SDK driver instance.
+# Particular sources/defines/includes could be added to add other drivers not available in the default sdk driver template
+rt1060_sdk_drivers("sdk_driver") {
+}
+
+rt_executable("thermostat") {
+  output_name = "chip-rt1060-thermostat-example"
+
+  defines = [
+    "CONFIG_RENDEZVOUS_MODE=7",
+    "CONFIG_APP_FREERTOS_OS=1",
+  ]
+
+  if (chip_enable_openthread) {
+    defines += [ "CONFIG_NET_L2_OPENTHREAD=1" ]
+  }
+
+  if (chip_with_diag_logs_demo) {
+    defines += [
+      "CONFIG_DIAG_LOGS_DEMO=1",
+      "CHIP_DEVICE_CONFIG_MAX_DIAG_LOG_SIZE=1024",
+    ]
+  }
+
+  include_dirs = [
+    "../../common/main/include",
+    "../../common/main",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/include",
+    "${chip_root}/examples/providers/",
+  ]
+
+  sources = [
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/binding-handler.cpp",
+    "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
+    "../../common/main/AppTask.cpp",
+    "../../common/main/DeviceCallbacks.cpp",
+    "../../common/main/ZclCallbacks.cpp",
+    "../../common/main/include/AppEvent.h",
+    "../../common/main/include/AppTask.h",
+    "../../common/main/include/DeviceCallbacks.h",
+    "../../common/main/main.cpp",
+  ]
+
+  if (chip_with_diag_logs_demo) {
+    include_dirs += [
+      "${common_example_dir}/diagnostic_logs/include",
+      "${chip_root}",
+    ]
+    sources += [
+      "${common_example_dir}/diagnostic_logs/source/DiagnosticLogsDemo.cpp",
+      "${common_example_dir}/diagnostic_logs/source/DiagnosticLogsProviderDelegateImpl.cpp",
+    ]
+  }
+
+  # App common files
+  include_dirs += [
+    "${common_example_dir}/icd/include",
+    "${common_example_dir}/matter_cli/include",
+    "${common_example_dir}/device_manager/include",
+    "${common_example_dir}/device_callbacks/include",
+    "${common_example_dir}/matter_button/include",
+    "${common_example_dir}/factory_data/include",
+    "${common_example_dir}/app_task/include",
+  ]
+
+  sources += [
+    "${chip_root}/examples/platform/nxp/${nxp_platform}/factory_data/source/AppFactoryDataExample.cpp",
+    "${common_example_dir}/app_task/source/AppTaskBase.cpp",
+    "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp",
+    "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp",
+    "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp",
+    "${common_example_dir}/icd/source/ICDUtil.cpp",
+    "${common_example_dir}/matter_button/source/ButtonDefault.cpp",
+    "${common_example_dir}/matter_button/source/ButtonManager.cpp",
+    "${common_example_dir}/matter_button/source/ButtonRegistrationDefault.cpp",
+  ]
+
+  deps = [ "${chip_root}/examples/${app_common_folder}" ]
+
+  if (chip_enable_matter_cli) {
+    defines += [ "ENABLE_CHIP_SHELL" ]
+    deps += [
+      "${chip_root}/examples/shell/shell_common:shell_common",
+      "${chip_root}/src/lib/shell:shell",
+    ]
+    sources += [
+      "${common_example_dir}/matter_cli/source/AppCLIBase.cpp",
+      "${common_example_dir}/matter_cli/source/AppCLIFreeRTOS.cpp",
+    ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    sources += [
+      "${chip_root}/examples/platform/nxp/common/mcuboot_app_support/flash_partitioning.h",
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiator.cpp",
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiatorCommon.cpp",
+
+      #Adding mcuboot files
+      "${chip_root}/examples/platform/nxp/common/mcuboot_app_support/mcuboot_app_support.c",
+      "${chip_root}/examples/platform/nxp/common/mcuboot_app_support/mcuboot_app_support.h",
+    ]
+    include_dirs += [
+      "$${common_example_dir}/ota_requestor/include",
+      "${chip_root}/examples/platform/nxp/common/mcuboot_app_support",
+    ]
+  }
+
+  if (wifi_auto_connect_at_boot) {
+    assert(wifi_auto_connect_at_boot_ssid != "" &&
+               wifi_auto_connect_at_boot_password != "",
+           "WiFi SSID and password must be specified at build time!")
+
+    defines += [
+      "CONFIG_CHIP_APP_WIFI_CONNECT_AT_BOOT=1",
+      "CONFIG_CHIP_APP_WIFI_SSID=\"${wifi_auto_connect_at_boot_ssid}\"",
+      "CONFIG_CHIP_APP_WIFI_PASSWORD=\"${wifi_auto_connect_at_boot_password}\"",
+    ]
+
+    include_dirs += [ "${common_example_dir}/wifi_connect/include" ]
+    sources += [ "${common_example_dir}/wifi_connect/source/WifiConnect.cpp" ]
+  }
+
+  if (enable_ota_provider) {
+    defines += [ "CONFIG_CHIP_OTA_PROVIDER=1" ]
+
+    include_dirs += [
+      "${common_example_dir}/ota_provider/include",
+      "${common_example_dir}/ota_provider/ota-provider-common",
+    ]
+
+    sources += [
+      "${common_example_dir}/ota_provider/ota-provider-common/RTBdxOtaSender.cpp",
+      "${common_example_dir}/ota_provider/ota-provider-common/RTOTAProviderExample.cpp",
+      "${common_example_dir}/ota_provider/source/OTAProvider.cpp",
+    ]
+
+    deps += [
+      "${chip_root}/src/app/server",
+      "${chip_root}/src/protocols/bdx",
+      "${chip_root}/third_party/jsoncpp",
+    ]
+  }
+
+  # In case a dedicated assert function needs to be supported the flag sdk_fsl_assert_support should be set to false
+  # The would add to the build a dedicated application assert implementation.
+  if (!sdk_fsl_assert_support) {
+    sources += [ "${common_example_dir}/app_assert/source/AppAssert.cpp" ]
+  }
+
+  cflags = [ "-Wconversion" ]
+
+  ldscript =
+      "${example_platform_dir}/app/ldscripts/MIMXRT1062xxxxx_flexspi_nor.ld"
+
+  inputs = [ ldscript ]
+
+  ldflags = [
+    "-T" + rebase_path(ldscript, root_build_dir),
+    "-fno-common",
+    "-Wl,--defsym=__stack_size__=2048",
+    "-ffreestanding",
+    "-fno-builtin",
+    "-mapcs",
+    "-u qspiflash_config",
+    "-u image_vector_table",
+    "-u boot_data",
+    "-u dcd_data",
+    "-Wl,-print-memory-usage",
+    "-Wl,--no-warn-rwx-segments",
+  ]
+
+  if (enable_ota_provider) {
+    # As the OTA file will be stored in the littlefs file system, it is required to increase the size of the file system
+    # To be able to store an OTA file with a MAX size of 640K,
+    # it recommended to size the file system with:
+    # 161 sectors of 4K => reserved for the OTA file
+    # 32 sectors of 4K => reserved for Matter/OT/BLE settings storage
+    ldflags += [ "-Wl,--defsym=gNVMSectorCountLink_d=193" ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    # If OTA build flag is enabled,
+    # we would need to reserve enough space for the bootloader (MCUBoot)
+    # MCUBoot requires 0x11000 Bytes to be reserved at the base of the flash
+    # Consequently, some sections will need to be shifted
+    ldflags += [ "-Wl,--defsym=__mcu_boot_size__=0x11000" ]
+  }
+
+  output_dir = root_out_dir
+}
+
+group("rt1060") {
+  deps = [ ":thermostat" ]
+}
+
+group("default") {
+  deps = [ ":rt1060" ]
+}
diff --git a/examples/thermostat/nxp/rt/rt1060/README.md b/examples/thermostat/nxp/rt/rt1060/README.md
new file mode 100644
index 0000000..62d4847
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1060/README.md
@@ -0,0 +1,5 @@
+# CHIP RT1060 Thermostat Application
+
+All instructions describing how to use a Matter application on NXP RT1060 can be
+found in [README.md](../../../../all-clusters-app/nxp/rt/rt1060/README.md) root
+readme
diff --git a/examples/thermostat/nxp/rt/rt1060/args.gni b/examples/thermostat/nxp/rt/rt1060/args.gni
new file mode 100644
index 0000000..c2d91a5
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1060/args.gni
@@ -0,0 +1,19 @@
+# Copyright (c) 2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+
+# SDK target definitions
+nxp_sdk_target = get_label_info(":sdk", "label_no_toolchain")
+nxp_sdk_driver_target = get_label_info(":sdk_driver", "label_no_toolchain")
diff --git a/examples/thermostat/nxp/rt/rt1060/build_overrides b/examples/thermostat/nxp/rt/rt1060/build_overrides
new file mode 120000
index 0000000..f108670
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1060/build_overrides
@@ -0,0 +1 @@
+../../../../build_overrides
\ No newline at end of file
diff --git a/examples/thermostat/nxp/rt/rt1060/include/config/CHIPProjectConfig.h b/examples/thermostat/nxp/rt/rt1060/include/config/CHIPProjectConfig.h
new file mode 100644
index 0000000..dd73c6c
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1060/include/config/CHIPProjectConfig.h
@@ -0,0 +1,216 @@
+/*
+ *    Copyright (c) 2020 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Example project configuration file for CHIP.
+ *
+ *          This is a place to put application or project-specific overrides
+ *          to the default configuration values for general CHIP features.
+ *
+ */
+
+#pragma once
+
+/*
+ * Tells to the platform Factory Data Provider whether to use the example configuration or real/provisioned data.
+ */
+#ifndef CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+#define CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA 0
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
+ *
+ *  0xFFF1: Test vendor.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
+ *
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
+
+#if !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+// Use a default pairing code if one hasn't been provisioned in flash.
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
+#endif
+
+// Use a default pairing code if one hasn't been provisioned in flash.
+#define CHIP_DEVICE_CONFIG_USE_TEST_PAIRING_CODE "CHIPUS"
+
+/**
+ * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER
+ *
+ * Enables the use of a hard-coded default serial number if none
+ * is found in CHIP NV storage.
+ */
+#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN"
+
+#endif /* !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA */
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
+ *
+ * The hardware version number assigned to device or product by the device vendor.  This
+ * number is scoped to the device product id, and typically corresponds to a revision of the
+ * physical device, a change to its packaging, and/or a change to its marketing presentation.
+ * This value is generally *not* incremented for device software versions.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 100
+
+#ifndef CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING "v0.1.0"
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+ *
+ * A string identifying the software version running on the device.
+ * CHIP currently expects the software version to be in the format
+ * {MAJOR_VERSION}.0d{MINOR_VERSION}
+ */
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING NXP_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION NXP_CONFIG_DEVICE_SOFTWARE_VERSION
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME "NXP Semiconductors"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME "NXP Demo App"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION
+//-> format_version = 1
+//-> vendor_id = 0xFFF1
+//-> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B,
+// 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A,
+// 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029,
+// 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038,
+// 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047,
+// 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056,
+// 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ]
+//-> device_type_id = 0x0016
+//-> certificate_id = "ZIG20142ZB330003-24"
+//-> security_level = 0
+//-> security_information = 0
+//-> version_number = 0x2694
+//-> certification_type = 0
+//-> dac_origin_vendor_id is not present
+//-> dac_origin_product_id is not present
+#define CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION                                                                               \
+    {                                                                                                                              \
+        0x30, 0x82, 0x02, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x02, 0x0a, 0x30,    \
+            0x82, 0x02, 0x06, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04,      \
+            0x02, 0x01, 0x30, 0x82, 0x01, 0x71, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,      \
+            0x01, 0x62, 0x04, 0x82, 0x01, 0x5e, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0xf1, 0xff, 0x36, 0x02, 0x05, 0x00, 0x80,      \
+            0x05, 0x01, 0x80, 0x05, 0x02, 0x80, 0x05, 0x03, 0x80, 0x05, 0x04, 0x80, 0x05, 0x05, 0x80, 0x05, 0x06, 0x80, 0x05,      \
+            0x07, 0x80, 0x05, 0x08, 0x80, 0x05, 0x09, 0x80, 0x05, 0x0a, 0x80, 0x05, 0x0b, 0x80, 0x05, 0x0c, 0x80, 0x05, 0x0d,      \
+            0x80, 0x05, 0x0e, 0x80, 0x05, 0x0f, 0x80, 0x05, 0x10, 0x80, 0x05, 0x11, 0x80, 0x05, 0x12, 0x80, 0x05, 0x13, 0x80,      \
+            0x05, 0x14, 0x80, 0x05, 0x15, 0x80, 0x05, 0x16, 0x80, 0x05, 0x17, 0x80, 0x05, 0x18, 0x80, 0x05, 0x19, 0x80, 0x05,      \
+            0x1a, 0x80, 0x05, 0x1b, 0x80, 0x05, 0x1c, 0x80, 0x05, 0x1d, 0x80, 0x05, 0x1e, 0x80, 0x05, 0x1f, 0x80, 0x05, 0x20,      \
+            0x80, 0x05, 0x21, 0x80, 0x05, 0x22, 0x80, 0x05, 0x23, 0x80, 0x05, 0x24, 0x80, 0x05, 0x25, 0x80, 0x05, 0x26, 0x80,      \
+            0x05, 0x27, 0x80, 0x05, 0x28, 0x80, 0x05, 0x29, 0x80, 0x05, 0x2a, 0x80, 0x05, 0x2b, 0x80, 0x05, 0x2c, 0x80, 0x05,      \
+            0x2d, 0x80, 0x05, 0x2e, 0x80, 0x05, 0x2f, 0x80, 0x05, 0x30, 0x80, 0x05, 0x31, 0x80, 0x05, 0x32, 0x80, 0x05, 0x33,      \
+            0x80, 0x05, 0x34, 0x80, 0x05, 0x35, 0x80, 0x05, 0x36, 0x80, 0x05, 0x37, 0x80, 0x05, 0x38, 0x80, 0x05, 0x39, 0x80,      \
+            0x05, 0x3a, 0x80, 0x05, 0x3b, 0x80, 0x05, 0x3c, 0x80, 0x05, 0x3d, 0x80, 0x05, 0x3e, 0x80, 0x05, 0x3f, 0x80, 0x05,      \
+            0x40, 0x80, 0x05, 0x41, 0x80, 0x05, 0x42, 0x80, 0x05, 0x43, 0x80, 0x05, 0x44, 0x80, 0x05, 0x45, 0x80, 0x05, 0x46,      \
+            0x80, 0x05, 0x47, 0x80, 0x05, 0x48, 0x80, 0x05, 0x49, 0x80, 0x05, 0x4a, 0x80, 0x05, 0x4b, 0x80, 0x05, 0x4c, 0x80,      \
+            0x05, 0x4d, 0x80, 0x05, 0x4e, 0x80, 0x05, 0x4f, 0x80, 0x05, 0x50, 0x80, 0x05, 0x51, 0x80, 0x05, 0x52, 0x80, 0x05,      \
+            0x53, 0x80, 0x05, 0x54, 0x80, 0x05, 0x55, 0x80, 0x05, 0x56, 0x80, 0x05, 0x57, 0x80, 0x05, 0x58, 0x80, 0x05, 0x59,      \
+            0x80, 0x05, 0x5a, 0x80, 0x05, 0x5b, 0x80, 0x05, 0x5c, 0x80, 0x05, 0x5d, 0x80, 0x05, 0x5e, 0x80, 0x05, 0x5f, 0x80,      \
+            0x05, 0x60, 0x80, 0x05, 0x61, 0x80, 0x05, 0x62, 0x80, 0x05, 0x63, 0x80, 0x18, 0x24, 0x03, 0x16, 0x2c, 0x04, 0x13,      \
+            0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x34,      \
+            0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x94, 0x26, 0x24, 0x08, 0x00, 0x18, 0x31, 0x7d, 0x30, 0x7b, 0x02,      \
+            0x01, 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, 0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd,      \
+            0xf5, 0x04, 0xf3, 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30,      \
+            0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x47, 0x30, 0x45, 0x02, 0x20, 0x24, 0xe5,      \
+            0xd1, 0xf4, 0x7a, 0x7d, 0x7b, 0x0d, 0x20, 0x6a, 0x26, 0xef, 0x69, 0x9b, 0x7c, 0x97, 0x57, 0xb7, 0x2d, 0x46, 0x90,      \
+            0x89, 0xde, 0x31, 0x92, 0xe6, 0x78, 0xc7, 0x45, 0xe7, 0xf6, 0x0c, 0x02, 0x21, 0x00, 0xf8, 0xaa, 0x2f, 0xa7, 0x11,      \
+            0xfc, 0xb7, 0x9b, 0x97, 0xe3, 0x97, 0xce, 0xda, 0x66, 0x7b, 0xae, 0x46, 0x4e, 0x2b, 0xd3, 0xff, 0xdf, 0xc3, 0xcc,      \
+            0xed, 0x7a, 0xa8, 0xca, 0x5f, 0x4c, 0x1a, 0x7c                                                                         \
+    }
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC
+ *
+ * Enables synchronizing the device's real time clock with a remote CHIP Time service
+ * using the CHIP Time Sync protocol.
+ */
+// #define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 1
+
+/**
+ * CHIP_CONFIG_MAX_BINDINGS
+ *
+ * Maximum number of simultaneously active bindings per ChipExchangeManager
+ * 1 (Time Sync) + 2 (Two 1-way subscriptions) + 1 (Software Update) = 4
+ * in the worst case. Keeping another 4 as buffer.
+ */
+#define CHIP_CONFIG_MAX_BINDINGS 6
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD
+ *
+ * Select the ability to offload event logs to any interested subscribers using WDM.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD 1
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
+ *
+ * Enable recording UTC timestamps.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
+
+/**
+ * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
+ *
+ * A size, in bytes, of the individual debug event logging buffer.
+ */
+#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE
+ *
+ * For a development build, set the default importance of events to be logged as Debug.
+ * Since debug is the lowest importance level, this means all standard, critical, info and
+ * debug importance level vi events get logged.
+ */
+#if BUILD_RELEASE
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Production
+#else
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Debug
+#endif // BUILD_RELEASE
+
+/* Increasing the retransmission interval of the MRP messages after subsequent failures */
+#ifndef CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL
+#define CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL (2000_ms32)
+#endif
diff --git a/examples/thermostat/nxp/rt/rt1060/third_party/connectedhomeip b/examples/thermostat/nxp/rt/rt1060/third_party/connectedhomeip
new file mode 120000
index 0000000..305f207
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1060/third_party/connectedhomeip
@@ -0,0 +1 @@
+../../../../../..
\ No newline at end of file
diff --git a/examples/thermostat/nxp/rt/rt1170/.gn b/examples/thermostat/nxp/rt/rt1170/.gn
new file mode 100644
index 0000000..59dcfeb
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1170/.gn
@@ -0,0 +1,35 @@
+# Copyright (c) 2020 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+
+# The location of the build configuration file.
+buildconfig = "${build_root}/config/BUILDCONFIG.gn"
+
+# CHIP uses angle bracket includes.
+check_system_includes = true
+
+default_args = {
+  target_cpu = "arm"
+  target_os = "freertos"
+
+  import("//args.gni")
+
+  # Import common example GN args
+  import("${chip_root}/examples/platform/nxp/common/gn/args.gni")
+
+  # Import default platform configs
+  import("${chip_root}/src/platform/nxp/rt/rt1170/args.gni")
+}
diff --git a/examples/thermostat/nxp/rt/rt1170/BUILD.gn b/examples/thermostat/nxp/rt/rt1170/BUILD.gn
new file mode 100644
index 0000000..c89df14
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1170/BUILD.gn
@@ -0,0 +1,257 @@
+# Copyright (c) 2021-2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+import("${chip_root}/src/platform/device.gni")
+
+#allows to get common NXP SDK gn options
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+# Allows to get various RT gn options
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni")
+
+import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni")
+import(
+    "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni")
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_executable.gni")
+
+assert(current_os == "freertos")
+assert(target_os == "freertos")
+assert(nxp_platform == "rt/rt1170")
+
+declare_args() {
+  # Allows to connect to a predefine Wi-Fi network at boot
+  wifi_auto_connect_at_boot = false
+  wifi_auto_connect_at_boot_ssid = ""
+  wifi_auto_connect_at_boot_password = ""
+
+  # Setup discriminator as argument
+  setup_discriminator = 3840
+
+  chip_with_diag_logs_demo = true
+}
+
+example_platform_dir =
+    "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}"
+common_example_dir = "${chip_root}/examples/platform/nxp/common"
+
+app_common_folder = "thermostat/nxp/zap"
+
+# Create here the SDK instance.
+# Particular sources/defines/includes could be added/changed depending on the target application.
+rt_sdk("sdk") {
+  defines = []
+
+  cflags = []
+  public_deps = []
+  public_configs = []
+  sources = []
+  include_dirs = []
+
+  # Indicate paths to default board files
+  include_dirs += [ "${example_platform_dir}/board/" ]
+  sources += [ "${example_platform_dir}/board/pin_mux.c" ]
+  sources += [ "${example_platform_dir}/board/hardware_init.c" ]
+  sources += [ "${example_platform_dir}/board/clock_config.c" ]
+  sources += [ "${example_platform_dir}/board/board.c" ]
+  sources += [ "${example_platform_dir}/board/peripherals.c" ]
+  sources += [ "${example_platform_dir}/board/sdmmc_config.c" ]
+
+  # Indicate the path to CHIPProjectConfig.h
+  include_dirs += [ "include/config" ]
+
+  # Indicate the default path to FreeRTOSConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/freeRTOS" ]
+
+  # Indicate the default path to OpenThreadConfig.h
+  include_dirs += [ "${example_platform_dir}/app/project_include/openthread" ]
+
+  # For matter with BR feature, increase FreeRTOS heap size and enable TBR cluster
+  if (chip_enable_wifi && chip_enable_openthread) {
+    defines += [
+      "configTOTAL_HEAP_SIZE=(size_t)(170 * 1024)",
+      "CHIP_DEVICE_CONFIG_ENABLE_TBR=1",
+    ]
+  }
+  defines += [
+    "CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR=${setup_discriminator}",
+  ]
+}
+
+# Create the SDK driver instance.
+# Particular sources/defines/includes could be added to add other drivers not available in the default sdk driver template
+rt1170_sdk_drivers("sdk_driver") {
+}
+
+rt_executable("thermostat") {
+  output_name = "chip-rt1170-thermostat-example"
+
+  defines = [
+    "CONFIG_RENDEZVOUS_MODE=7",
+    "CONFIG_APP_FREERTOS_OS=1",
+  ]
+
+  if (chip_enable_openthread) {
+    defines += [ "CONFIG_NET_L2_OPENTHREAD=1" ]
+  }
+
+  if (chip_with_diag_logs_demo) {
+    defines += [
+      "CONFIG_DIAG_LOGS_DEMO=1",
+      "CHIP_DEVICE_CONFIG_MAX_DIAG_LOG_SIZE=1024",
+    ]
+  }
+
+  include_dirs = [
+    "../../common/main/include",
+    "../../common/main",
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/include",
+    "${chip_root}/examples/providers/",
+  ]
+
+  sources = [
+    "${chip_root}/examples/all-clusters-app/all-clusters-common/src/binding-handler.cpp",
+    "${chip_root}/examples/providers/DeviceInfoProviderImpl.cpp",
+    "../../common/main/AppTask.cpp",
+    "../../common/main/DeviceCallbacks.cpp",
+    "../../common/main/ZclCallbacks.cpp",
+    "../../common/main/include/AppEvent.h",
+    "../../common/main/include/AppTask.h",
+    "../../common/main/include/DeviceCallbacks.h",
+    "../../common/main/main.cpp",
+  ]
+
+  if (chip_with_diag_logs_demo) {
+    include_dirs += [
+      "${common_example_dir}/diagnostic_logs/include",
+      "${chip_root}",
+    ]
+    sources += [
+      "${common_example_dir}/diagnostic_logs/source/DiagnosticLogsDemo.cpp",
+      "${common_example_dir}/diagnostic_logs/source/DiagnosticLogsProviderDelegateImpl.cpp",
+    ]
+  }
+
+  # App common files
+  include_dirs += [
+    "${common_example_dir}/icd/include",
+    "${common_example_dir}/matter_button/include",
+    "${common_example_dir}/matter_cli/include",
+    "${common_example_dir}/device_manager/include",
+    "${common_example_dir}/device_callbacks/include",
+    "${common_example_dir}/factory_data/include",
+    "${common_example_dir}/app_task/include",
+  ]
+
+  sources += [
+    "${common_example_dir}/app_task/source/AppTaskBase.cpp",
+    "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp",
+    "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp",
+    "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp",
+    "${common_example_dir}/factory_data/source/AppFactoryDataDefaultImpl.cpp",
+    "${common_example_dir}/icd/source/ICDUtil.cpp",
+    "${common_example_dir}/matter_button/source/ButtonRegistrationEmpty.cpp",
+  ]
+
+  deps = [ "${chip_root}/examples/${app_common_folder}" ]
+
+  if (chip_enable_matter_cli) {
+    defines += [ "ENABLE_CHIP_SHELL" ]
+    deps += [
+      "${chip_root}/examples/shell/shell_common:shell_common",
+      "${chip_root}/src/lib/shell:shell",
+    ]
+    sources += [
+      "${common_example_dir}/matter_cli/source/AppCLIBase.cpp",
+      "${common_example_dir}/matter_cli/source/AppCLIFreeRTOS.cpp",
+    ]
+  }
+
+  if (chip_enable_ota_requestor) {
+    include_dirs += [ "${common_example_dir}/ota_requestor/include" ]
+    sources += [
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiator.cpp",
+      "${common_example_dir}/ota_requestor/source/OTARequestorInitiatorCommon.cpp",
+    ]
+  }
+
+  if (wifi_auto_connect_at_boot) {
+    assert(wifi_auto_connect_at_boot_ssid != "" &&
+               wifi_auto_connect_at_boot_password != "",
+           "WiFi SSID and password must be specified at build time!")
+
+    defines += [
+      "CONFIG_CHIP_APP_WIFI_CONNECT_AT_BOOT=1",
+      "CONFIG_CHIP_APP_WIFI_SSID=\"${wifi_auto_connect_at_boot_ssid}\"",
+      "CONFIG_CHIP_APP_WIFI_PASSWORD=\"${wifi_auto_connect_at_boot_password}\"",
+    ]
+
+    include_dirs += [ "${common_example_dir}/wifi_connect/include" ]
+    sources += [ "${common_example_dir}/wifi_connect/source/WifiConnect.cpp" ]
+  }
+
+  # In case a dedicated assert function needs to be supported the flag sdk_fsl_assert_support should be set to false
+  # The would add to the build a dedicated application assert implementation.
+  if (!sdk_fsl_assert_support) {
+    sources += [ "${common_example_dir}/app_assert/source/AppAssert.cpp" ]
+  }
+
+  cflags = [ "-Wconversion" ]
+
+  ldscript =
+      "${example_platform_dir}/app/ldscripts/MIMXRT1176xxxxx_cm7_flexspi_nor.ld"
+
+  inputs = [ ldscript ]
+
+  ldflags = [
+    "-T" + rebase_path(ldscript, root_build_dir),
+    "-fno-common",
+    "-Wl,--defsym=__stack_size__=2048",
+    "-ffreestanding",
+    "-fno-builtin",
+    "-mapcs",
+    "-u qspiflash_config",
+    "-u image_vector_table",
+    "-u boot_data",
+    "-u dcd_data",
+    "-Wl,-print-memory-usage",
+    "-Wl,--no-warn-rwx-segments",
+  ]
+
+  if (chip_enable_ota_requestor) {
+    if (no_mcuboot) {
+      # If "no_mcuboot" is set to true, the application will be linked at the base of the flash.
+      print(
+          "Warning : The OTA Requestor is enabled without MCUBoot. This will prevent the application from applying software updates.")
+    } else {
+      # we need to reserve enough space for the bootloader (MCUBoot)
+      # MCUBoot requires 0x40000 Bytes to be reserved at the base of the flash
+      # Consequently, some sections will need to be shifted
+      ldflags += [ "-Wl,--defsym=__m_mcuboot_size__=0x40000" ]
+    }
+  }
+
+  output_dir = root_out_dir
+}
+
+group("rt1170") {
+  deps = [ ":thermostat" ]
+}
+
+group("default") {
+  deps = [ ":rt1170" ]
+}
diff --git a/examples/thermostat/nxp/rt/rt1170/README.md b/examples/thermostat/nxp/rt/rt1170/README.md
new file mode 100644
index 0000000..9710175
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1170/README.md
@@ -0,0 +1,5 @@
+# CHIP RT1170 Thermostat Application
+
+All instructions describing how to use a Matter application on NXP RT11170 can
+be found in [README.md](../../../../all-clusters-app/nxp/rt/rt1170/README.md)
+root readme
diff --git a/examples/thermostat/nxp/rt/rt1170/args.gni b/examples/thermostat/nxp/rt/rt1170/args.gni
new file mode 100644
index 0000000..c2d91a5
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1170/args.gni
@@ -0,0 +1,19 @@
+# Copyright (c) 2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+
+# SDK target definitions
+nxp_sdk_target = get_label_info(":sdk", "label_no_toolchain")
+nxp_sdk_driver_target = get_label_info(":sdk_driver", "label_no_toolchain")
diff --git a/examples/thermostat/nxp/rt/rt1170/build_overrides b/examples/thermostat/nxp/rt/rt1170/build_overrides
new file mode 120000
index 0000000..f108670
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1170/build_overrides
@@ -0,0 +1 @@
+../../../../build_overrides
\ No newline at end of file
diff --git a/examples/thermostat/nxp/rt/rt1170/include/config/CHIPProjectConfig.h b/examples/thermostat/nxp/rt/rt1170/include/config/CHIPProjectConfig.h
new file mode 100644
index 0000000..dd73c6c
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1170/include/config/CHIPProjectConfig.h
@@ -0,0 +1,216 @@
+/*
+ *    Copyright (c) 2020 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Example project configuration file for CHIP.
+ *
+ *          This is a place to put application or project-specific overrides
+ *          to the default configuration values for general CHIP features.
+ *
+ */
+
+#pragma once
+
+/*
+ * Tells to the platform Factory Data Provider whether to use the example configuration or real/provisioned data.
+ */
+#ifndef CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+#define CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA 0
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
+ *
+ *  0xFFF1: Test vendor.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
+ *
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
+
+#if !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA
+// Use a default pairing code if one hasn't been provisioned in flash.
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
+#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
+#endif
+
+// Use a default pairing code if one hasn't been provisioned in flash.
+#define CHIP_DEVICE_CONFIG_USE_TEST_PAIRING_CODE "CHIPUS"
+
+/**
+ * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER
+ *
+ * Enables the use of a hard-coded default serial number if none
+ * is found in CHIP NV storage.
+ */
+#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN"
+
+#endif /* !CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA */
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
+ *
+ * The hardware version number assigned to device or product by the device vendor.  This
+ * number is scoped to the device product id, and typically corresponds to a revision of the
+ * physical device, a change to its packaging, and/or a change to its marketing presentation.
+ * This value is generally *not* incremented for device software versions.
+ */
+#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 100
+
+#ifndef CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING "v0.1.0"
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+ *
+ * A string identifying the software version running on the device.
+ * CHIP currently expects the software version to be in the format
+ * {MAJOR_VERSION}.0d{MINOR_VERSION}
+ */
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING NXP_CONFIG_DEVICE_SOFTWARE_VERSION_STRING
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
+#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION NXP_CONFIG_DEVICE_SOFTWARE_VERSION
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME "NXP Semiconductors"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME
+#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME "NXP Demo App"
+#endif
+
+#ifndef CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION
+//-> format_version = 1
+//-> vendor_id = 0xFFF1
+//-> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B,
+// 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A,
+// 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029,
+// 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038,
+// 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047,
+// 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056,
+// 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ]
+//-> device_type_id = 0x0016
+//-> certificate_id = "ZIG20142ZB330003-24"
+//-> security_level = 0
+//-> security_information = 0
+//-> version_number = 0x2694
+//-> certification_type = 0
+//-> dac_origin_vendor_id is not present
+//-> dac_origin_product_id is not present
+#define CHIP_DEVICE_CONFIG_CERTIFICATION_DECLARATION                                                                               \
+    {                                                                                                                              \
+        0x30, 0x82, 0x02, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x02, 0x0a, 0x30,    \
+            0x82, 0x02, 0x06, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04,      \
+            0x02, 0x01, 0x30, 0x82, 0x01, 0x71, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,      \
+            0x01, 0x62, 0x04, 0x82, 0x01, 0x5e, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0xf1, 0xff, 0x36, 0x02, 0x05, 0x00, 0x80,      \
+            0x05, 0x01, 0x80, 0x05, 0x02, 0x80, 0x05, 0x03, 0x80, 0x05, 0x04, 0x80, 0x05, 0x05, 0x80, 0x05, 0x06, 0x80, 0x05,      \
+            0x07, 0x80, 0x05, 0x08, 0x80, 0x05, 0x09, 0x80, 0x05, 0x0a, 0x80, 0x05, 0x0b, 0x80, 0x05, 0x0c, 0x80, 0x05, 0x0d,      \
+            0x80, 0x05, 0x0e, 0x80, 0x05, 0x0f, 0x80, 0x05, 0x10, 0x80, 0x05, 0x11, 0x80, 0x05, 0x12, 0x80, 0x05, 0x13, 0x80,      \
+            0x05, 0x14, 0x80, 0x05, 0x15, 0x80, 0x05, 0x16, 0x80, 0x05, 0x17, 0x80, 0x05, 0x18, 0x80, 0x05, 0x19, 0x80, 0x05,      \
+            0x1a, 0x80, 0x05, 0x1b, 0x80, 0x05, 0x1c, 0x80, 0x05, 0x1d, 0x80, 0x05, 0x1e, 0x80, 0x05, 0x1f, 0x80, 0x05, 0x20,      \
+            0x80, 0x05, 0x21, 0x80, 0x05, 0x22, 0x80, 0x05, 0x23, 0x80, 0x05, 0x24, 0x80, 0x05, 0x25, 0x80, 0x05, 0x26, 0x80,      \
+            0x05, 0x27, 0x80, 0x05, 0x28, 0x80, 0x05, 0x29, 0x80, 0x05, 0x2a, 0x80, 0x05, 0x2b, 0x80, 0x05, 0x2c, 0x80, 0x05,      \
+            0x2d, 0x80, 0x05, 0x2e, 0x80, 0x05, 0x2f, 0x80, 0x05, 0x30, 0x80, 0x05, 0x31, 0x80, 0x05, 0x32, 0x80, 0x05, 0x33,      \
+            0x80, 0x05, 0x34, 0x80, 0x05, 0x35, 0x80, 0x05, 0x36, 0x80, 0x05, 0x37, 0x80, 0x05, 0x38, 0x80, 0x05, 0x39, 0x80,      \
+            0x05, 0x3a, 0x80, 0x05, 0x3b, 0x80, 0x05, 0x3c, 0x80, 0x05, 0x3d, 0x80, 0x05, 0x3e, 0x80, 0x05, 0x3f, 0x80, 0x05,      \
+            0x40, 0x80, 0x05, 0x41, 0x80, 0x05, 0x42, 0x80, 0x05, 0x43, 0x80, 0x05, 0x44, 0x80, 0x05, 0x45, 0x80, 0x05, 0x46,      \
+            0x80, 0x05, 0x47, 0x80, 0x05, 0x48, 0x80, 0x05, 0x49, 0x80, 0x05, 0x4a, 0x80, 0x05, 0x4b, 0x80, 0x05, 0x4c, 0x80,      \
+            0x05, 0x4d, 0x80, 0x05, 0x4e, 0x80, 0x05, 0x4f, 0x80, 0x05, 0x50, 0x80, 0x05, 0x51, 0x80, 0x05, 0x52, 0x80, 0x05,      \
+            0x53, 0x80, 0x05, 0x54, 0x80, 0x05, 0x55, 0x80, 0x05, 0x56, 0x80, 0x05, 0x57, 0x80, 0x05, 0x58, 0x80, 0x05, 0x59,      \
+            0x80, 0x05, 0x5a, 0x80, 0x05, 0x5b, 0x80, 0x05, 0x5c, 0x80, 0x05, 0x5d, 0x80, 0x05, 0x5e, 0x80, 0x05, 0x5f, 0x80,      \
+            0x05, 0x60, 0x80, 0x05, 0x61, 0x80, 0x05, 0x62, 0x80, 0x05, 0x63, 0x80, 0x18, 0x24, 0x03, 0x16, 0x2c, 0x04, 0x13,      \
+            0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x34,      \
+            0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x94, 0x26, 0x24, 0x08, 0x00, 0x18, 0x31, 0x7d, 0x30, 0x7b, 0x02,      \
+            0x01, 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, 0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd,      \
+            0xf5, 0x04, 0xf3, 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30,      \
+            0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x47, 0x30, 0x45, 0x02, 0x20, 0x24, 0xe5,      \
+            0xd1, 0xf4, 0x7a, 0x7d, 0x7b, 0x0d, 0x20, 0x6a, 0x26, 0xef, 0x69, 0x9b, 0x7c, 0x97, 0x57, 0xb7, 0x2d, 0x46, 0x90,      \
+            0x89, 0xde, 0x31, 0x92, 0xe6, 0x78, 0xc7, 0x45, 0xe7, 0xf6, 0x0c, 0x02, 0x21, 0x00, 0xf8, 0xaa, 0x2f, 0xa7, 0x11,      \
+            0xfc, 0xb7, 0x9b, 0x97, 0xe3, 0x97, 0xce, 0xda, 0x66, 0x7b, 0xae, 0x46, 0x4e, 0x2b, 0xd3, 0xff, 0xdf, 0xc3, 0xcc,      \
+            0xed, 0x7a, 0xa8, 0xca, 0x5f, 0x4c, 0x1a, 0x7c                                                                         \
+    }
+#endif
+
+/**
+ * CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC
+ *
+ * Enables synchronizing the device's real time clock with a remote CHIP Time service
+ * using the CHIP Time Sync protocol.
+ */
+// #define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 1
+
+/**
+ * CHIP_CONFIG_MAX_BINDINGS
+ *
+ * Maximum number of simultaneously active bindings per ChipExchangeManager
+ * 1 (Time Sync) + 2 (Two 1-way subscriptions) + 1 (Software Update) = 4
+ * in the worst case. Keeping another 4 as buffer.
+ */
+#define CHIP_CONFIG_MAX_BINDINGS 6
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD
+ *
+ * Select the ability to offload event logs to any interested subscribers using WDM.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_WDM_OFFLOAD 1
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
+ *
+ * Enable recording UTC timestamps.
+ */
+#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
+
+/**
+ * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
+ *
+ * A size, in bytes, of the individual debug event logging buffer.
+ */
+#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
+
+/**
+ * CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE
+ *
+ * For a development build, set the default importance of events to be logged as Debug.
+ * Since debug is the lowest importance level, this means all standard, critical, info and
+ * debug importance level vi events get logged.
+ */
+#if BUILD_RELEASE
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Production
+#else
+#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Debug
+#endif // BUILD_RELEASE
+
+/* Increasing the retransmission interval of the MRP messages after subsequent failures */
+#ifndef CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL
+#define CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL (2000_ms32)
+#endif
diff --git a/examples/thermostat/nxp/rt/rt1170/third_party/connectedhomeip b/examples/thermostat/nxp/rt/rt1170/third_party/connectedhomeip
new file mode 120000
index 0000000..305f207
--- /dev/null
+++ b/examples/thermostat/nxp/rt/rt1170/third_party/connectedhomeip
@@ -0,0 +1 @@
+../../../../../..
\ No newline at end of file
diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py
index 42738ad..c49d620 100755
--- a/scripts/build/build/targets.py
+++ b/scripts/build/build/targets.py
@@ -517,6 +517,8 @@
     target.AppendFixedTargets([
         TargetPart('k32w0', board=NxpBoard.K32W0),
         TargetPart('k32w1', board=NxpBoard.K32W1),
+        TargetPart('rt1060', board=NxpBoard.RT1060),
+        TargetPart('rt1170', board=NxpBoard.RT1170),
         TargetPart('rw61x', board=NxpBoard.RW61X),
         TargetPart('rw61x_eth', board=NxpBoard.RW61X_ETH),
         TargetPart('mcxw71', board=NxpBoard.MCXW71)
@@ -533,9 +535,9 @@
         TargetPart('lighting', app=NxpApp.LIGHTING).OnlyIfRe('(k32w0|k32w1|mcxw71)'),
         TargetPart('contact-sensor', app=NxpApp.CONTACT).OnlyIfRe('(k32w0|k32w1|mcxw71)'),
         TargetPart('lock-app', app=NxpApp.LOCK_APP).OnlyIfRe('(k32w1|mcxw71)'),
-        TargetPart('all-clusters', app=NxpApp.ALLCLUSTERS).OnlyIfRe('rw61x'),
-        TargetPart('laundry-washer', app=NxpApp.LAUNDRYWASHER).OnlyIfRe('rw61x'),
-        TargetPart('thermostat', app=NxpApp.THERMOSTAT).OnlyIfRe('rw61x')
+        TargetPart('all-clusters', app=NxpApp.ALLCLUSTERS).OnlyIfRe('rt1060|rt1170|rw61x'),
+        TargetPart('laundry-washer', app=NxpApp.LAUNDRYWASHER).OnlyIfRe('rt1060|rt1170|rw61x'),
+        TargetPart('thermostat', app=NxpApp.THERMOSTAT).OnlyIfRe('rt1060|rt1170|rw61x')
     ])
 
     target.AppendModifier(name="factory", enable_factory_data=True)
@@ -547,15 +549,19 @@
     target.AppendModifier(name="rotating-id", enable_rotating_id=True).ExceptIfRe('rw61x')
     target.AppendModifier(name="sw-v2", has_sw_version_2=True)
     target.AppendModifier(name="ota", enable_ota=True).ExceptIfRe('zephyr')
-    target.AppendModifier(name="wifi", enable_wifi=True).OnlyIfRe('rw61x')
+    target.AppendModifier(name="wifi", enable_wifi=True).OnlyIfRe('rt1060|rt1170|rw61x')
     target.AppendModifier(name="ethernet", enable_ethernet=True).OnlyIfRe('rw61x_eth-zephyr')
     target.AppendModifier(name="thread", enable_thread=True).ExceptIfRe('zephyr')
     target.AppendModifier(name="matter-shell", enable_shell=True).ExceptIfRe('k32w0|k32w1')
     target.AppendModifier('data-model-disabled', data_model_interface="disabled").ExceptIfRe('-data-model-enabled')
     target.AppendModifier('data-model-enabled', data_model_interface="enabled").ExceptIfRe('-data-model-disabled')
-    target.AppendModifier(name="factory-build", enable_factory_data_build=True).OnlyIfRe('rw61x')
+    target.AppendModifier(name="factory-build", enable_factory_data_build=True).OnlyIfRe('rt1060|rt1170|rw61x')
     target.AppendModifier(name="frdm", board_variant=NxpBoardVariant.FRDM).OnlyIfRe('rw61x')
     target.AppendModifier(name="cmake", build_system=NxpBuildSystem.CMAKE).OnlyIfRe('rw61x')
+    target.AppendModifier(name="evkc", board_variant=NxpBoardVariant.EVKC).OnlyIfRe('rt1060')
+    target.AppendModifier(name="iw416", iw416_transceiver=True).OnlyIfRe('rt1060')
+    target.AppendModifier(name="w8801", w8801_transceiver=True).OnlyIfRe('rt1060')
+    target.AppendModifier(name="iwx12", iwx12_transceiver=True).OnlyIfRe('rt1060|rt1170')
 
     return target
 
diff --git a/scripts/build/builders/nxp.py b/scripts/build/builders/nxp.py
index c78ea1c..6070a18 100644
--- a/scripts/build/builders/nxp.py
+++ b/scripts/build/builders/nxp.py
@@ -51,6 +51,8 @@
 class NxpBoard(Enum):
     K32W0 = auto()
     K32W1 = auto()
+    RT1060 = auto()
+    RT1170 = auto()
     RW61X = auto()
     RW61X_ETH = auto()
     MCXW71 = auto()
@@ -60,6 +62,10 @@
             return 'k32w0x'
         elif self == NxpBoard.K32W1:
             return 'k32w1'
+        elif self == NxpBoard.RT1060:
+            return 'rt1060'
+        elif self == NxpBoard.RT1170:
+            return 'rt1170'
         elif (self == NxpBoard.RW61X) or (self == NxpBoard.RW61X_ETH):
             if os_env == NxpOsUsed.ZEPHYR:
                 if self == NxpBoard.RW61X_ETH:
@@ -78,6 +84,10 @@
             return 'k32w0'
         elif self == NxpBoard.K32W1:
             return 'k32w1'
+        elif self == NxpBoard.RT1060:
+            return 'rt/rt1060'
+        elif self == NxpBoard.RT1170:
+            return 'rt/rt1170'
         elif (self == NxpBoard.RW61X) or (self == NxpBoard.RW61X_ETH):
             if os_env == NxpOsUsed.ZEPHYR:
                 return 'zephyr'
@@ -92,15 +102,16 @@
 class NxpBoardVariant(Enum):
     RD = auto()
     FRDM = auto()
+    EVKC = auto()
+    EVKB = auto()
 
     def BoardVariantName(self, board):
-        if board != NxpBoard.RW61X:
-            raise Exception('Board variants only supported for RW61X')
-
         if self == NxpBoardVariant.RD:
             return "rdrw612bga"
         elif self == NxpBoardVariant.FRDM:
             return "frdm"
+        elif self == NxpBoardVariant.EVKC:
+            return "evkcmimxrt1060"
 
 
 class NxpApp(Enum):
@@ -173,7 +184,10 @@
                  enable_ota: bool = False,
                  data_model_interface: Optional[str] = None,
                  enable_factory_data_build: bool = False,
-                 disable_pairing_autostart: bool = False):
+                 disable_pairing_autostart: bool = False,
+                 iw416_transceiver: bool = False,
+                 w8801_transceiver: bool = False,
+                 iwx12_transceiver: bool = False):
         super(NxpBuilder, self).__init__(
             root=app.BuildRoot(root, board, os_env),
             runner=runner)
@@ -200,6 +214,9 @@
         self.enable_factory_data_build = enable_factory_data_build
         self.disable_pairing_autostart = disable_pairing_autostart
         self.board_variant = board_variant
+        self.iw416_transceiver = iw416_transceiver
+        self.w8801_transceiver = w8801_transceiver
+        self.iwx12_transceiver = iwx12_transceiver
 
     def GnBuildArgs(self):
         args = []
@@ -248,10 +265,32 @@
             # thread is enabled by default on kw32
             if self.board == NxpBoard.RW61X:
                 args.append('chip_enable_openthread=true chip_inet_config_enable_ipv4=false')
+            if self.board == NxpBoard.RT1060:
+                args.append('chip_enable_openthread=true chip_inet_config_enable_ipv4=false')
+            if self.board == NxpBoard.RT1170:
+                args.append('chip_enable_openthread=true chip_inet_config_enable_ipv4=false')
 
         if self.data_model_interface is not None:
             args.append(f'chip_use_data_model_interface="{self.data_model_interface}"')
 
+        if self.board_variant:
+            if self.board == NxpBoard.RT1060:
+                flag_board_variant = "evkname=\\\"%s\\\"" % self.board_variant.BoardVariantName(self.board)
+                args.append(flag_board_variant)
+            if self.board == NxpBoard.RW61X:
+                flag_board_variant = "board_version=\\\"%s\\\"" % self.board_variant.BoardVariantName(self.board)
+                args.append(flag_board_variant)
+
+        if self.iw416_transceiver:
+            args.append('iw416_transceiver=true')
+
+        if self.w8801_transceiver:
+            # BLE not supported on this transceiver
+            args.append('w8801_transceiver=true chip_enable_ble=false')
+
+        if self.iwx12_transceiver:
+            args.append('iwx12_transceiver=true')
+
         return args
 
     def CmakeBuildFlags(self):
diff --git a/scripts/build/testdata/all_targets_linux_x64.txt b/scripts/build/testdata/all_targets_linux_x64.txt
index c9a9a40..3a1c592 100644
--- a/scripts/build/testdata/all_targets_linux_x64.txt
+++ b/scripts/build/testdata/all_targets_linux_x64.txt
@@ -13,7 +13,7 @@
 linux-x64-efr32-test-runner[-clang]
 imx-{chip-tool,lighting-app,thermostat,all-clusters-app,all-clusters-minimal-app,ota-provider-app}[-release]
 infineon-psoc6-{lock,light,all-clusters,all-clusters-minimal}[-ota][-updateimage][-trustm]
-nxp-{k32w0,k32w1,rw61x,rw61x_eth,mcxw71}-{zephyr,freertos}-{lighting,contact-sensor,lock-app,all-clusters,laundry-washer,thermostat}[-factory][-low-power][-lit][-fro32k][-smu2][-dac-conversion][-rotating-id][-sw-v2][-ota][-wifi][-ethernet][-thread][-matter-shell][-data-model-disabled][-data-model-enabled][-factory-build][-frdm][-cmake]
+nxp-{k32w0,k32w1,rt1060,rt1170,rw61x,rw61x_eth,mcxw71}-{zephyr,freertos}-{lighting,contact-sensor,lock-app,all-clusters,laundry-washer,thermostat}[-factory][-low-power][-lit][-fro32k][-smu2][-dac-conversion][-rotating-id][-sw-v2][-ota][-wifi][-ethernet][-thread][-matter-shell][-data-model-disabled][-data-model-enabled][-factory-build][-frdm][-cmake][-evkc][-iw416][-w8801][-iwx12]
 mbed-cy8cproto_062_4343w-{lock,light,all-clusters,all-clusters-minimal,pigweed,ota-requestor,shell}[-release][-develop][-debug][-data-model-disabled][-data-model-enabled]
 mw320-all-clusters-app
 nrf-{nrf5340dk,nrf52840dk,nrf52840dongle}-{all-clusters,all-clusters-minimal,lock,light,light-switch,shell,pump,pump-controller,window-covering}[-rpc][-data-model-disabled][-data-model-enabled]
diff --git a/src/platform/nxp/rt/rt1060/BUILD.gn b/src/platform/nxp/rt/rt1060/BUILD.gn
new file mode 100644
index 0000000..1e3d8f1
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/BUILD.gn
@@ -0,0 +1,187 @@
+# Copyright (c) 2021 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+import("${chip_root}/src/platform/device.gni")
+
+# If external SDK is used, do not import ${nxp_sdk_name}.gni
+if (!nxp_external_sdk) {
+  import("${nxp_sdk_build_root}/${nxp_sdk_name}/${nxp_sdk_name}.gni")
+}
+
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+assert(chip_device_platform == "nxp")
+
+source_set("nxp_factory_data") {
+}
+source_set("nxp_ota") {
+}
+
+config("nxp_platform_config") {
+  defines = [ "EXTERNAL_BLEMANAGERIMPL_HEADER=\"platform/nxp/common/ble_zephyr/BLEManagerImpl.h\"" ]
+  include_dirs = [
+    ".",
+    "../../common",
+  ]
+  if (chip_with_factory_data == 1) {
+    include_dirs += [
+      ".",
+      "../../common/factory_data",
+    ]
+    defines += [ "CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA=1" ]
+    defines += [ "EXTERNAL_FACTORY_DATA_PROVIDER_IMPL_HEADER=\"platform/nxp/rt/rt1060/FactoryDataProviderImpl.h\"" ]
+  }
+
+  # When OTBR is enabled Thread network commissioning cluster is enabled using chip_enable_secondary_nwk_if
+  if (chip_enable_wifi && chip_enable_openthread &&
+      !chip_enable_secondary_nwk_if) {
+    defines += [ "_NO_GENERIC_THREAD_NETWORK_COMMISSIONING_DRIVER_" ]
+  }
+}
+
+static_library("nxp_platform") {
+  output_name = "libCHIP_NXP_Port_RT1060"
+  cflags = [
+    "-Wno-conversion",
+    "-Wno-sign-compare",
+  ]
+  deps = []
+  defines = []
+  sources = [
+    "../../../FreeRTOS/SystemTimeSupport.cpp",
+    "../../../SingletonConfigurationManager.cpp",
+    "../../common/CHIPDevicePlatformEvent.h",
+    "../../common/ConfigurationManagerImpl.cpp",
+    "../../common/ConfigurationManagerImpl.h",
+    "../../common/ConnectivityManagerImpl.cpp",
+    "../../common/ConnectivityManagerImpl.h",
+    "../../common/DiagnosticDataProviderImpl.cpp",
+    "../../common/DiagnosticDataProviderImpl.h",
+    "../../common/KeyValueStoreManagerImpl.cpp",
+    "../../common/KeyValueStoreManagerImpl.h",
+    "../../common/Logging.cpp",
+    "../../common/NXPConfig.cpp",
+    "../../common/NXPConfig.h",
+    "../../common/NetworkProvisioningServerImpl.h",
+    "../../common/PlatformManagerImpl.h",
+    "../../common/SoftwareUpdateManagerImpl.h",
+    "../../common/ram_storage.c",
+    "../../common/ram_storage.h",
+    "CHIPDevicePlatformConfig.h",
+    "PlatformManagerImpl.cpp",
+  ]
+
+  if (chip_enable_ble) {
+    sources += [
+      # Adding random file which defines the function sys_csrand_get which is called by BLEManagerImpl from Zephyr
+      "${nxp_sdk_build_root}/rt_sdk/sdk_hook/zephyr/random/random.cpp",
+      "../../common/ble_zephyr/BLEAdvertisingArbiter.cpp",
+      "../../common/ble_zephyr/BLEManagerImpl.cpp",
+      "../../common/ble_zephyr/BLEManagerImpl.h",
+    ]
+  }
+
+  public_deps = [ "${chip_root}/src/platform:platform_base" ]
+
+  deps += [
+    "${chip_root}/src/lib/dnssd:constants",
+    "${chip_root}/src/platform/logging:headers",
+  ]
+
+  # define CHIP_PLAT_NVM_SUPPORT - See NXPConfig.cpp for definition
+  if (nxp_nvm_component == "nvm_fwk") {
+    defines += [ "CHIP_PLAT_NVM_SUPPORT=1" ]
+  } else if (nxp_nvm_component == "littlefs") {
+    defines += [ "CHIP_PLAT_NVM_SUPPORT=2" ]
+  }
+
+  if (chip_enable_wifi) {
+    sources += [
+      "../../common/NetworkCommissioningDriver.h",
+      "../../common/NetworkCommissioningWiFiDriver.cpp",
+    ]
+  }
+  if (chip_enable_ota_requestor) {
+    sources += [
+      "../../common/OTAImageProcessorImpl.cpp",
+      "../../common/OTAImageProcessorImpl.h",
+    ]
+  }
+
+  if (chip_enable_openthread) {
+    sources += [
+      # Temporary fix, to be revert once PR #34662 is merged, build issue when using GN check argument
+      "${chip_root}/src/app/clusters/thread-border-router-management-server/thread-br-delegate.h",
+      "../../../OpenThread/GenericThreadBorderRouterDelegate.cpp",
+      "../../../OpenThread/GenericThreadBorderRouterDelegate.h",
+      "../../../OpenThread/OpenThreadUtils.cpp",
+      "../../common/ThreadStackManagerImpl.cpp",
+      "../../common/ThreadStackManagerImpl.h",
+    ]
+
+    deps += [ "${chip_root}/src/app/common:ids" ]
+
+    if (!nxp_build_matter_standalone_lib) {
+      deps += [ "${chip_root}/third_party/openthread:openthread" ]
+      public_deps +=
+          [ "${chip_root}/third_party/openthread:openthread-platform" ]
+    }
+
+    # dep required to include 'lib/spinel/spinel.h' in PlatformManagerImpl.cpp
+    deps += [ "${openthread_root}:libopenthread-spinel-rcp" ]
+
+    if (chip_mdns == "platform") {
+      if (chip_enable_wifi) {
+        sources += [
+          "../../../OpenThread/OpenThreadDnssdImpl.cpp",
+          "../../../OpenThread/OpenThreadDnssdImpl.h",
+          "../../common/DnssdImpl.cpp",
+          "../../common/DnssdImplBr.cpp",
+          "../../common/DnssdImplBr.h",
+        ]
+      } else {
+        sources += [
+          "../../../OpenThread/DnssdImpl.cpp",
+          "../../../OpenThread/OpenThreadDnssdImpl.cpp",
+          "../../../OpenThread/OpenThreadDnssdImpl.h",
+        ]
+      }
+      deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
+    }
+  }
+
+  if (chip_with_factory_data == 1) {
+    sources += [
+      "../../common/factory_data/FactoryDataProvider.cpp",
+      "../../common/factory_data/FactoryDataProvider.h",
+      "FactoryDataProviderImpl.cpp",
+      "FactoryDataProviderImpl.h",
+    ]
+
+    deps += [ "${chip_root}/src/credentials:credentials_header" ]
+  }
+
+  deps += [ "${nxp_sdk_build_root}:nxp_sdk" ]
+
+  public_deps += [
+    "${chip_root}/examples/platform/nxp/common/app/support:freertos_memory_utils",
+    "${chip_root}/src/crypto",
+    "${chip_root}/src/platform:syscalls_stub",
+  ]
+  public_configs = [ ":nxp_platform_config" ]
+}
diff --git a/src/platform/nxp/rt/rt1060/BlePlatformConfig.h b/src/platform/nxp/rt/rt1060/BlePlatformConfig.h
new file mode 100644
index 0000000..61ad3de
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/BlePlatformConfig.h
@@ -0,0 +1,36 @@
+/*
+ *
+ *    Copyright (c) 2021-2022 Project CHIP Authors
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for the CHIP BLE
+ *          Layer on RT1060 platforms using the NXP SDK.
+ *
+ */
+
+#pragma once
+
+// ==================== Platform Adaptations ====================
+
+/* Default NXP Platform adaptations are used */
+
+// ========== Platform-specific Configuration Overrides =========
+
+/* Default NXP Platform configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/ble_zephyr/BleNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1060/CHIPDevicePlatformConfig.h b/src/platform/nxp/rt/rt1060/CHIPDevicePlatformConfig.h
new file mode 100644
index 0000000..0e45bd4
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/CHIPDevicePlatformConfig.h
@@ -0,0 +1,42 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for the chip Device Layer
+ *          on NXP platforms using the NXP SDK.
+ */
+
+#pragma once
+
+// ==================== Platform Adaptations ====================
+
+/* Default NXP Platform adaptations are used */
+
+// ========== Platform-specific Configuration =========
+
+// These are configuration options that are unique to the NXP platform.
+// These can be overridden by the application as needed.
+
+// ========== Platform-specific Configuration Overrides =========
+
+/* Default NXP Platform configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/CHIPDeviceNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1060/CHIPPlatformConfig.h b/src/platform/nxp/rt/rt1060/CHIPPlatformConfig.h
new file mode 100644
index 0000000..7b08c5c
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/CHIPPlatformConfig.h
@@ -0,0 +1,54 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for CHIP on
+ *          NXP RT1060 platforms.
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+// ==================== General Platform Adaptations ====================
+
+/* Default NXP platform adaptations are used */
+
+// ==================== Security Adaptations ====================
+
+/* Default NXP Platform security adaptations are used */
+
+// ==================== General Configuration Overrides ====================
+
+/* Default NXP Platform general configuration overrides are used */
+
+/* For now on RT1060, due to the current file system implementation only 5 fabrics are supported */
+#define CHIP_CONFIG_MAX_FABRICS 5
+
+// ==================== Security Configuration Overrides ====================
+
+/* Default NXP Platform security configuration overrides are used */
+
+// ==================== WDM Configuration Overrides ====================
+
+/* Default NXP Platform WDM Configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/CHIPNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1060/FactoryDataProviderImpl.cpp b/src/platform/nxp/rt/rt1060/FactoryDataProviderImpl.cpp
new file mode 100644
index 0000000..3fac3c7
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/FactoryDataProviderImpl.cpp
@@ -0,0 +1,381 @@
+/*
+ *
+ *    Copyright (c) 2022-2024 Project CHIP Authors
+ *    Copyright 2023-2024 NXP
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+#include "FactoryDataProviderImpl.h"
+
+#if defined(__cplusplus)
+extern "C" {
+#endif /* __cplusplus */
+
+#include "fsl_dcp.h"
+#include "mflash_drv.h"
+
+#if defined(__cplusplus)
+}
+#endif /* __cplusplus */
+
+#ifndef FACTORY_DATA_PROVIDER_LOG
+#define FACTORY_DATA_PROVIDER_LOG 0
+#endif
+
+#if FACTORY_DATA_PROVIDER_LOG
+#include "fsl_debug_console.h"
+#define FACTORY_DATA_PROVIDER_PRINTF(...)                                                                                          \
+    PRINTF("[%s] ", __FUNCTION__);                                                                                                 \
+    PRINTF(__VA_ARGS__);                                                                                                           \
+    PRINTF("\n\r");
+#else
+#define FACTORY_DATA_PROVIDER_PRINTF(...)
+#endif
+
+#define BLOCK_SIZE_16_BYTES 16
+#define SHA256_OUTPUT_SIZE 32
+#define HASH_ID 0xCE47BA5E
+#define HASH_LEN 4
+#define CBC_INITIAL_VECTOR_SIZE 16
+
+/* Grab symbol for the base address from the linker file. */
+extern uint32_t __FACTORY_DATA_START_OFFSET[];
+extern uint32_t __FACTORY_DATA_SIZE[];
+
+namespace chip {
+namespace DeviceLayer {
+
+FactoryDataProviderImpl FactoryDataProviderImpl::sInstance;
+
+CHIP_ERROR FactoryDataProviderImpl::SearchForId(uint8_t searchedType, uint8_t * pBuf, size_t bufLength, uint16_t & length,
+                                                uint32_t * contentAddr)
+{
+    CHIP_ERROR err               = CHIP_ERROR_NOT_FOUND;
+    uint8_t type                 = 0;
+    uint32_t index               = 0;
+    uint8_t * addrContent        = NULL;
+    uint8_t * factoryDataAddress = &factoryDataRamBuffer[0];
+    uint32_t factoryDataSize     = sizeof(factoryDataRamBuffer);
+    uint16_t currentLen          = 0;
+
+    while (index < factoryDataSize)
+    {
+        /* Read the type */
+        memcpy((uint8_t *) &type, factoryDataAddress + index, sizeof(type));
+        index += sizeof(type);
+
+        /* Read the len */
+        memcpy((uint8_t *) &currentLen, factoryDataAddress + index, sizeof(currentLen));
+        index += sizeof(currentLen);
+
+        /* Check if the type gotten is the expected one */
+        if (searchedType == type)
+        {
+            FACTORY_DATA_PROVIDER_PRINTF("type = %d, currentLen = %d, bufLength =%d", type, currentLen, bufLength);
+            /* If pBuf is null it means that we only want to know if the Type has been found */
+            if (pBuf != NULL)
+            {
+                /* If the buffer given is too small, fill only the available space */
+                if (bufLength < currentLen)
+                {
+                    currentLen = bufLength;
+                }
+                memcpy((uint8_t *) pBuf, factoryDataAddress + index, currentLen);
+            }
+            length = currentLen;
+            if (contentAddr != NULL)
+            {
+                *contentAddr = (uint32_t) factoryDataAddress + index;
+            }
+            err = CHIP_NO_ERROR;
+            break;
+        }
+        else if (type == 0)
+        {
+            /* No more type available , break the loop */
+            break;
+        }
+        else
+        {
+            /* Jump to next data */
+            index += currentLen;
+        }
+    }
+
+    return err;
+}
+
+CHIP_ERROR FactoryDataProviderImpl::SignWithDacKey(const ByteSpan & digestToSign, MutableByteSpan & outSignBuffer)
+{
+    Crypto::P256ECDSASignature signature;
+    Crypto::P256Keypair keypair;
+
+    VerifyOrReturnError(IsSpanUsable(outSignBuffer), CHIP_ERROR_INVALID_ARGUMENT);
+    VerifyOrReturnError(IsSpanUsable(digestToSign), CHIP_ERROR_INVALID_ARGUMENT);
+    VerifyOrReturnError(outSignBuffer.size() >= signature.Capacity(), CHIP_ERROR_BUFFER_TOO_SMALL);
+
+    // In a non-exemplary implementation, the public key is not needed here. It is used here merely because
+    // Crypto::P256Keypair is only (currently) constructable from raw keys if both private/public keys are present.
+    Crypto::P256PublicKey dacPublicKey;
+    uint16_t certificateSize = 0;
+    uint32_t certificateAddr;
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kDacCertificateId, NULL, 0, certificateSize, &certificateAddr));
+    MutableByteSpan dacCertSpan((uint8_t *) certificateAddr, certificateSize);
+
+    /* Extract Public Key of DAC certificate from itself */
+    ReturnErrorOnFailure(Crypto::ExtractPubkeyFromX509Cert(dacCertSpan, dacPublicKey));
+
+    /* Get private key of DAC certificate from reserved section */
+    uint16_t keySize = 0;
+    uint32_t keyAddr;
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kDacPrivateKeyId, NULL, 0, keySize, &keyAddr));
+    MutableByteSpan dacPrivateKeySpan((uint8_t *) keyAddr, keySize);
+
+    ReturnErrorOnFailure(LoadKeypairFromRaw(ByteSpan(dacPrivateKeySpan.data(), dacPrivateKeySpan.size()),
+                                            ByteSpan(dacPublicKey.Bytes(), dacPublicKey.Length()), keypair));
+
+    ReturnErrorOnFailure(keypair.ECDSA_sign_msg(digestToSign.data(), digestToSign.size(), signature));
+
+    return CopySpanToMutableSpan(ByteSpan{ signature.ConstBytes(), signature.Length() }, outSignBuffer);
+}
+
+CHIP_ERROR FactoryDataProviderImpl::LoadKeypairFromRaw(ByteSpan privateKey, ByteSpan publicKey, Crypto::P256Keypair & keypair)
+{
+    Crypto::P256SerializedKeypair serialized_keypair;
+    ReturnErrorOnFailure(serialized_keypair.SetLength(privateKey.size() + publicKey.size()));
+    memcpy(serialized_keypair.Bytes(), publicKey.data(), publicKey.size());
+    memcpy(serialized_keypair.Bytes() + publicKey.size(), privateKey.data(), privateKey.size());
+    return keypair.Deserialize(serialized_keypair);
+}
+
+CHIP_ERROR FactoryDataProviderImpl::Init(void)
+{
+    uint16_t len;
+    status_t status;
+    uint32_t factoryDataAddress = (uint32_t) __FACTORY_DATA_START_OFFSET;
+    uint32_t factoryDataSize    = (uint32_t) __FACTORY_DATA_SIZE;
+    uint32_t hashId;
+    uint8_t currentBlock[BLOCK_SIZE_16_BYTES];
+    uint8_t calculatedHash[SHA256_OUTPUT_SIZE];
+    size_t outputHashSize = sizeof(calculatedHash);
+    uint16_t i;
+    CHIP_ERROR res;
+
+    /* Init mflash */
+    status = mflash_drv_init();
+
+    if (status != kStatus_Success || factoryDataSize > sizeof(factoryDataRamBuffer))
+        return CHIP_ERROR_INTERNAL;
+
+    /* Read hash id saved in flash */
+    if (mflash_drv_read(factoryDataAddress, (uint32_t *) &mHeader, sizeof(mHeader)) != kStatus_Success)
+    {
+        return CHIP_ERROR_INTERNAL;
+    }
+
+    if (mHeader.hashId != HASH_ID)
+    {
+        return CHIP_ERROR_NOT_FOUND;
+    }
+
+    /* Update address to start after hash id to read size of factory data */
+    factoryDataAddress += sizeof(mHeader);
+
+    /* Load the buffer into RAM by reading each 16 bytes blocks */
+    for (i = 0; i < (factoryDataSize / BLOCK_SIZE_16_BYTES); i++)
+    {
+        if (mflash_drv_read(factoryDataAddress + i * BLOCK_SIZE_16_BYTES, (uint32_t *) &currentBlock[0], sizeof(currentBlock)) !=
+            kStatus_Success)
+        {
+            return CHIP_ERROR_INTERNAL;
+        }
+
+        /* Decrypt data if an encryptMode is set */
+        if (encryptMode != encrypt_none)
+        {
+            res = ReadEncryptedData(&factoryDataRamBuffer[i * BLOCK_SIZE_16_BYTES], &currentBlock[0], sizeof(currentBlock));
+            if (res != CHIP_NO_ERROR)
+                return res;
+        }
+        else
+        {
+            /* Store the block unencrypted */
+            memcpy(&factoryDataRamBuffer[i * BLOCK_SIZE_16_BYTES], &currentBlock[0], sizeof(currentBlock));
+        }
+    }
+
+    /* Calculate SHA256 value over the factory data and compare with stored value */
+    res = Hash256(&factoryDataRamBuffer[0], mHeader.size, &calculatedHash[0], &outputHashSize);
+
+    if (res != CHIP_NO_ERROR)
+        return res;
+
+    if (memcmp(&calculatedHash[0], &mHeader.hash[0], HASH_LEN) != 0)
+    {
+        return CHIP_ERROR_NOT_FOUND;
+    }
+
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kVerifierId, NULL, 0, len));
+    FACTORY_DATA_PROVIDER_PRINTF("[%d] len = %d", FactoryDataId::kVerifierId, len);
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kSaltId, NULL, 0, len));
+    FACTORY_DATA_PROVIDER_PRINTF("[%d] len = %d", FactoryDataId::kSaltId, len);
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kIcId, NULL, 0, len));
+    FACTORY_DATA_PROVIDER_PRINTF("[%d] len = %d", FactoryDataId::kIcId, len);
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kDacPrivateKeyId, NULL, 0, len));
+    FACTORY_DATA_PROVIDER_PRINTF("[%d] len = %d", FactoryDataId::kDacPrivateKeyId, len);
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kDacCertificateId, NULL, 0, len));
+    FACTORY_DATA_PROVIDER_PRINTF("[%d] len = %d", FactoryDataId::kDacCertificateId, len);
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kPaiCertificateId, NULL, 0, len));
+    FACTORY_DATA_PROVIDER_PRINTF("[%d] len = %d", FactoryDataId::kPaiCertificateId, len);
+    ReturnErrorOnFailure(SearchForId(FactoryDataId::kDiscriminatorId, NULL, 0, len));
+
+    return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR FactoryDataProviderImpl::SetAes128Key(const uint8_t * keyAes128)
+{
+    CHIP_ERROR error = CHIP_ERROR_INVALID_ARGUMENT;
+    if (keyAes128 != nullptr)
+    {
+        pAesKey = keyAes128;
+        error   = CHIP_NO_ERROR;
+    }
+    return error;
+}
+
+CHIP_ERROR FactoryDataProviderImpl::SetKeySelected(KeySelect key)
+{
+    CHIP_ERROR error = CHIP_ERROR_INVALID_ARGUMENT;
+    if (key <= kDCP_OCOTPKeyHigh)
+    {
+        selectedKey = key;
+        error       = CHIP_NO_ERROR;
+    }
+    return error;
+}
+
+void FactoryDataProviderImpl::SetDCP_OTPKeySelect(void)
+{
+    switch (selectedKey)
+    {
+    case kDCP_OTPMKKeyLow:
+        IOMUXC_GPR->GPR3 &= ~(1 << IOMUXC_GPR_GPR3_DCP_KEY_SEL_SHIFT);
+        IOMUXC_GPR->GPR10 &= ~(1 << IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_SHIFT);
+        break;
+    case kDCP_OTPMKKeyHigh:
+        IOMUXC_GPR->GPR3 |= (1 << IOMUXC_GPR_GPR3_DCP_KEY_SEL_SHIFT);
+        IOMUXC_GPR->GPR10 &= ~(1 << IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_SHIFT);
+        break;
+    case kDCP_OCOTPKeyLow:
+        IOMUXC_GPR->GPR3 &= ~(1 << IOMUXC_GPR_GPR3_DCP_KEY_SEL_SHIFT);
+        IOMUXC_GPR->GPR10 |= (1 << IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_SHIFT);
+        break;
+    case kDCP_OCOTPKeyHigh:
+        IOMUXC_GPR->GPR3 |= (1 << IOMUXC_GPR_GPR3_DCP_KEY_SEL_SHIFT);
+        IOMUXC_GPR->GPR10 |= (1 << IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX_SHIFT);
+        break;
+    default:
+        break;
+    }
+}
+
+CHIP_ERROR FactoryDataProviderImpl::SetCbcInitialVector(const uint8_t * iv, uint16_t ivSize)
+{
+    CHIP_ERROR error = CHIP_ERROR_INVALID_ARGUMENT;
+    if (ivSize == CBC_INITIAL_VECTOR_SIZE)
+    {
+        cbcInitialVector = iv;
+        error            = CHIP_NO_ERROR;
+    }
+    return error;
+}
+
+CHIP_ERROR FactoryDataProviderImpl::SetEncryptionMode(EncryptionMode mode)
+{
+    CHIP_ERROR error = CHIP_ERROR_INVALID_ARGUMENT;
+    if (mode <= encrypt_cbc)
+    {
+        encryptMode = mode;
+        error       = CHIP_NO_ERROR;
+    }
+    return error;
+}
+
+CHIP_ERROR FactoryDataProviderImpl::ReadEncryptedData(uint8_t * desBuff, uint8_t * sourceAddr, uint16_t sizeToRead)
+{
+    status_t status;
+    dcp_handle_t m_handle;
+    dcp_config_t dcpConfig;
+
+    /* Check that the length is aligned on 16 bytes */
+    if ((sizeToRead % 16) != 0)
+        return CHIP_ERROR_INVALID_ARGUMENT;
+
+    /* Check that the soft key has been correclty provisioned */
+    if (selectedKey == kDCP_UseSoftKey && pAesKey == nullptr)
+        return CHIP_ERROR_INVALID_ARGUMENT;
+
+    /* Check if the initial vector has been provisioned if CBC mode is chosen */
+    if (encryptMode == encrypt_cbc && cbcInitialVector == nullptr)
+        return CHIP_ERROR_INVALID_ARGUMENT;
+
+    if (!dcpDriverIsInitialized)
+    {
+        /* Initialize DCP */
+        DCP_GetDefaultConfig(&dcpConfig);
+        SetDCP_OTPKeySelect();
+        /* Reset and initialize DCP */
+        DCP_Init(DCP, &dcpConfig);
+        dcpDriverIsInitialized = true;
+    }
+
+    m_handle.channel    = kDCP_Channel0;
+    m_handle.swapConfig = kDCP_NoSwap;
+
+    if (selectedKey == kDCP_UseSoftKey)
+        m_handle.keySlot = kDCP_KeySlot0;
+    else
+        m_handle.keySlot = kDCP_OtpKey;
+
+    status = DCP_AES_SetKey(DCP, &m_handle, pAesKey, 16);
+    if (status != kStatus_Success)
+        return CHIP_ERROR_INTERNAL;
+
+    if (encryptMode == encrypt_ecb)
+        DCP_AES_DecryptEcb(DCP, &m_handle, sourceAddr, desBuff, sizeToRead);
+    else
+        DCP_AES_DecryptCbc(DCP, &m_handle, sourceAddr, desBuff, sizeToRead, cbcInitialVector);
+
+    return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR FactoryDataProviderImpl::Hash256(const uint8_t * input, size_t inputSize, uint8_t * output, size_t * outputSize)
+{
+    status_t status;
+    dcp_handle_t m_handle;
+
+    m_handle.channel    = kDCP_Channel0;
+    m_handle.swapConfig = kDCP_NoSwap;
+    m_handle.keySlot    = kDCP_KeySlot0;
+
+    status = DCP_HASH(DCP, &m_handle, kDCP_Sha256, input, inputSize, output, outputSize);
+
+    if (status != kStatus_Success)
+        return CHIP_ERROR_INTERNAL;
+
+    return CHIP_NO_ERROR;
+}
+
+} // namespace DeviceLayer
+} // namespace chip
diff --git a/src/platform/nxp/rt/rt1060/FactoryDataProviderImpl.h b/src/platform/nxp/rt/rt1060/FactoryDataProviderImpl.h
new file mode 100644
index 0000000..6eb65fa
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/FactoryDataProviderImpl.h
@@ -0,0 +1,104 @@
+/*
+ *
+ *    Copyright (c) 2022-2024 Project CHIP Authors
+ *    Copyright 2023-2024 NXP
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+#pragma once
+
+#include <platform/nxp/common/factory_data/FactoryDataProvider.h>
+
+#define FACTORY_DATA_MAX_SIZE 4096
+
+namespace chip {
+namespace DeviceLayer {
+
+/**
+ * @brief This class provides Commissionable data and Device Attestation Credentials.
+ *
+ * This implementation allows to use the DCP RT1060 hardware module to load the Matter factory
+ * dataset in RAM at the boot.
+ *
+ * Depending on how the dataset have been encrypted, specific AES hardware of software keys can be
+ * used.
+ *
+ * Example of calls for loading the dataset using a software key:
+ *
+ * FactoryDataPrvdImpl().SetEncryptionMode(FactoryDataProvider::encrypt_ecb);
+ * FactoryDataPrvdImpl().SetAes128Key(&aes128TestKey[0]);
+ * FactoryDataPrvdImpl().Init();
+ *
+ * Example of calls for loading the dataset using a OTP key:
+ *
+ * FactoryDataPrvdImpl().SetEncryptionMode(FactoryDataProvider::encrypt_ecb);
+ * FactoryDataPrvdImpl().SetKeySelected(KeySelect::);
+ * FactoryDataPrvdImpl().Init();
+ */
+
+class FactoryDataProviderImpl : public FactoryDataProvider
+{
+public:
+    enum KeySelect
+    {
+        kDCP_UseSoftKey   = 0U,
+        kDCP_OTPMKKeyLow  = 1U, /* Use [127:0] from snvs key as dcp key */
+        kDCP_OTPMKKeyHigh = 2U, /* Use [255:128] from snvs key as dcp key */
+        kDCP_OCOTPKeyLow  = 3U, /* Use [127:0] from ocotp key as dcp key */
+        kDCP_OCOTPKeyHigh = 4U  /* Use [255:128] from ocotp key as dcp key */
+    };
+
+    static FactoryDataProviderImpl sInstance;
+
+    CHIP_ERROR Init(void);
+    CHIP_ERROR SearchForId(uint8_t searchedType, uint8_t * pBuf, size_t bufLength, uint16_t & length,
+                           uint32_t * contentAddr = NULL);
+    CHIP_ERROR SignWithDacKey(const ByteSpan & digestToSign, MutableByteSpan & outSignBuffer);
+
+    CHIP_ERROR SetAes128Key(const uint8_t * keyAes128);
+    CHIP_ERROR SetKeySelected(KeySelect key);
+    CHIP_ERROR SetEncryptionMode(EncryptionMode mode);
+    CHIP_ERROR SetCbcInitialVector(const uint8_t * iv, uint16_t ivSize);
+
+private:
+    struct Header
+    {
+        uint32_t hashId;
+        uint32_t size;
+        uint8_t hash[4];
+    };
+    uint8_t factoryDataRamBuffer[FACTORY_DATA_MAX_SIZE];
+    Header mHeader;
+    const uint8_t * pAesKey          = nullptr;
+    const uint8_t * cbcInitialVector = nullptr;
+    EncryptionMode encryptMode       = encrypt_none;
+    KeySelect selectedKey;
+    bool dcpDriverIsInitialized;
+    void SetDCP_OTPKeySelect(void);
+    CHIP_ERROR ReadEncryptedData(uint8_t * desBuff, uint8_t * sourceAddr, uint16_t sizeToRead);
+    CHIP_ERROR Hash256(const uint8_t * input, size_t inputSize, uint8_t * output, size_t * outputSize);
+    CHIP_ERROR LoadKeypairFromRaw(ByteSpan privateKey, ByteSpan publicKey, Crypto::P256Keypair & keypair);
+};
+
+inline FactoryDataProvider & FactoryDataPrvd()
+{
+    return FactoryDataProviderImpl::sInstance;
+}
+
+inline FactoryDataProviderImpl & FactoryDataPrvdImpl()
+{
+    return FactoryDataProviderImpl::sInstance;
+}
+
+} // namespace DeviceLayer
+} // namespace chip
diff --git a/src/platform/nxp/rt/rt1060/InetPlatformConfig.h b/src/platform/nxp/rt/rt1060/InetPlatformConfig.h
new file mode 100644
index 0000000..b9153fd
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/InetPlatformConfig.h
@@ -0,0 +1,40 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for the CHIP Inet
+ *          Layer on RT1060 platforms using the NXP SDK.
+ *
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+// ==================== Platform Adaptations ====================
+
+/* Default NXP Platform adaptations are used */
+
+// ========== Platform-specific Configuration Overrides =========
+
+/* Default NXP Platform configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/InetNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1060/PlatformManagerImpl.cpp b/src/platform/nxp/rt/rt1060/PlatformManagerImpl.cpp
new file mode 100644
index 0000000..8ecdf01
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/PlatformManagerImpl.cpp
@@ -0,0 +1,548 @@
+/*
+ *
+ *    Copyright (c) 2020-2024 Project CHIP Authors
+ *    Copyright (c) 2020 Nest Labs, Inc.
+ *    Copyright 2023-2024 NXP
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Provides an implementation of the PlatformManager object
+ *          for RT1060 platforms using the NXP RT1060 SDK.
+ */
+/* this file behaves like a config.h, comes first */
+#include <platform/internal/CHIPDeviceLayerInternal.h>
+
+#include "DiagnosticDataProviderImpl.h"
+#include "fsl_adapter_rng.h"
+#include "fsl_os_abstraction.h"
+#include "fwk_platform_coex.h"
+#include "ksdk_mbedtls.h"
+#include <crypto/CHIPCryptoPAL.h>
+#include <platform/FreeRTOS/SystemTimeSupport.h>
+#include <platform/PlatformManager.h>
+#include <platform/internal/GenericPlatformManagerImpl_FreeRTOS.ipp>
+#include <stdlib.h>
+
+#ifdef WATCHDOG_ALLOWED
+#include "fsl_wdog.h"
+#endif
+
+#include <lwip/tcpip.h>
+
+#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR
+#include "OtaSupport.h"
+#endif
+
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+#include "fwk_platform_ot.h"
+#include "ot_platform_common.h"
+#if CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED
+#include "lib/spinel/spinel.h"
+#define OT_NXP_SPINEL_PROP_VENDOR_BLE_STATE SPINEL_PROP_VENDOR__BEGIN
+#endif /* CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED */
+#endif
+
+#if !CHIP_DEVICE_CONFIG_ENABLE_THREAD && !CHIP_DEVICE_CONFIG_ENABLE_WPA
+
+#include "board.h"
+#include "clock_config.h"
+#include "fsl_phy.h"
+#include "fsl_silicon_id.h"
+#include "pin_mux.h"
+
+#include "fsl_enet_mdio.h"
+#include "fsl_phyksz8081.h"
+
+#include "enet_ethernetif.h"
+#include "fsl_debug_console.h"
+#include "lwip/netif.h"
+#include "lwip/netifapi.h"
+#include "lwip/opt.h"
+#include "lwip/tcpip.h"
+#include "netif/ethernet.h"
+
+//----LWIP defines----//
+
+/* Address of PHY interface. */
+#define EXAMPLE_PHY_ADDRESS BOARD_ENET0_PHY_ADDRESS
+
+/* MDIO operations. */
+#define EXAMPLE_MDIO_OPS enet_ops
+
+/* PHY operations. */
+#define EXAMPLE_PHY_OPS phyksz8081_ops
+
+/* ENET clock frequency. */
+#define EXAMPLE_CLOCK_FREQ CLOCK_GetFreq(kCLOCK_IpgClk)
+
+#ifndef EXAMPLE_NETIF_INIT_FN
+/*! @brief Network interface initialization function. */
+#define EXAMPLE_NETIF_INIT_FN ethernetif0_init
+#endif /* EXAMPLE_NETIF_INIT_FN */
+
+/*! @brief Stack size of the temporary lwIP initialization thread. */
+#define INIT_THREAD_STACKSIZE 1024
+
+/*! @brief Priority of the temporary lwIP initialization thread. */
+#define INIT_THREAD_PRIO DEFAULT_THREAD_PRIO
+
+static mdio_handle_t mdioHandle = { .ops = &EXAMPLE_MDIO_OPS };
+static phy_handle_t phyHandle   = { .phyAddr = EXAMPLE_PHY_ADDRESS, .mdioHandle = &mdioHandle, .ops = &EXAMPLE_PHY_OPS };
+
+#endif
+
+extern "C" void BOARD_InitHardware(void);
+extern "C" void otPlatSetResetFunction(void (*fp)(void));
+extern "C" void initiateResetInIdle(void);
+
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+
+/*
+Currently only IW612 and K32W0 support controller initialization in the connectivity framework
+* Include should be removed otherwise it will introduce double firmware definition
+*/
+#ifndef WIFI_IW612_BOARD_MURATA_2EL_M2
+#include "wlan_bt_fw.h"
+#endif
+
+extern "C" {
+#include "wlan.h"
+#include "wm_net.h"
+}
+
+#endif /* CHIP_DEVICE_CONFIG_ENABLE_WPA */
+
+extern "C" void vApplicationMallocFailedHook(void)
+{
+    ChipLogError(DeviceLayer, "Malloc Failure");
+}
+
+#if WIFI_PTA_ENABLED && (CHIP_DEVICE_CONFIG_ENABLE_WPA && CHIP_ENABLE_OPENTHREAD)
+#ifdef SD8801
+#define HOSTCMD_RESP_BUFF_SIZE 1024
+/* 8801 command buffer to enable External Coexistence.
+ * Source: SDK 2.11.1, wifi_cli demo, wlan_tests.c file. */
+const uint8_t ext_coex_8801_cmd_buf[] = { 0xe0, 0,    0x1d, 0, 0x17, 0,    0,    0,    0x01, 0,    0,    0,    0x2f, 0x02, 0x0d,
+                                          0x00, 0x01, 0,    0, 0x03, 0x01, 0x02, 0x01, 0x01, 0x00, 0x28, 0x00, 0x3c, 0x00 };
+#endif
+
+static CHIP_ERROR EnableWiFiCoexistence(void)
+{
+    CHIP_ERROR ret = CHIP_NO_ERROR;
+
+#ifdef SD8801
+    int status        = WM_FAIL;
+    uint8_t * rspBuff = NULL;
+    uint32_t reqd_len = 0;
+
+    rspBuff = (uint8_t *) pvPortMalloc(HOSTCMD_RESP_BUFF_SIZE);
+    if (rspBuff != NULL)
+    {
+        status = wlan_send_hostcmd((void *) ext_coex_8801_cmd_buf, sizeof(ext_coex_8801_cmd_buf) / sizeof(u8_t), rspBuff,
+                                   HOSTCMD_RESP_BUFF_SIZE, &reqd_len);
+
+        if (status == WM_SUCCESS)
+        {
+            ChipLogProgress(DeviceLayer, "8801 Coexistence enabled");
+        }
+        else
+        {
+            ChipLogError(DeviceLayer, "8801 Coexistence enabling failed = %d", status);
+            ret = CHIP_ERROR_INTERNAL;
+        }
+
+        vPortFree(rspBuff);
+    }
+    else
+    {
+        ChipLogError(DeviceLayer, "Failed to allocate memory for Wi-Fi coexistence response buffer");
+    }
+#else
+    ChipLogError(DeviceLayer, "This chip does not support Wi-Fi and OpenThread coexistence");
+    ret = CHIP_ERROR_INTERNAL;
+#endif
+
+    return ret;
+}
+#endif
+
+#if !CHIP_DEVICE_CONFIG_ENABLE_WPA
+extern "C" void vApplicationIdleHook(void)
+{
+    chip::DeviceLayer::PlatformManagerImpl::IdleHook();
+}
+#endif
+
+extern "C" void __wrap_exit(int __status)
+{
+    ChipLogError(DeviceLayer, "======> error exit function !!!");
+    assert(0);
+}
+
+namespace chip {
+namespace DeviceLayer {
+
+PlatformManagerImpl PlatformManagerImpl::sInstance;
+
+void PlatformManagerImpl::HardwareInit(void)
+{
+    BOARD_InitHardware();
+    SysTick_Config(SystemCoreClock / configTICK_RATE_HZ);
+}
+
+CHIP_ERROR PlatformManagerImpl::ServiceInit(void)
+{
+    status_t status;
+    CHIP_ERROR chipRes = CHIP_NO_ERROR;
+
+    status = CRYPTO_InitHardware();
+
+    if (status != 0)
+    {
+        chipRes = CHIP_ERROR_INTERNAL;
+        ChipLogError(DeviceLayer, "Crypto hardware init error");
+    }
+
+    return chipRes;
+}
+
+/* For IW612 transceiver firmware initialization is done by PLATFORM_InitControllers */
+#ifndef WIFI_IW612_BOARD_MURATA_2EL_M2
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+CHIP_ERROR PlatformManagerImpl::WiFiInterfaceInit(void)
+{
+    CHIP_ERROR result = CHIP_NO_ERROR;
+    int wifi_status   = WM_SUCCESS;
+
+    ChipLogProgress(DeviceLayer, "Initialize WLAN");
+
+#if defined(SD8801) && CHIP_ENABLE_OPENTHREAD
+    /*
+     * The 88W8801 is quirky with the REQ & PRIO lines
+     * at boot: they need to be held HIGH while booting.
+     * So disable the coexistence mechanism on the RCP,
+     * since internally this puts the lines HIGH.
+     */
+    otPlatRadioSetCoexEnabled(NULL, false);
+#endif
+
+    wifi_status = wlan_init(wlan_fw_bin, wlan_fw_bin_len);
+    if (wifi_status != WM_SUCCESS)
+    {
+        ChipLogError(DeviceLayer, "WLAN initialization failed");
+        result = CHIP_ERROR_INTERNAL;
+    }
+    else
+    {
+        ChipLogProgress(DeviceLayer, "WLAN initialized");
+    }
+
+#if WIFI_PTA_ENABLED && (CHIP_ENABLE_OPENTHREAD)
+    if (result == CHIP_NO_ERROR)
+    {
+        /* In case we have both Wi-Fi and OpenThread active, enable coexistence on Wi-Fi side */
+        if (EnableWiFiCoexistence() != CHIP_NO_ERROR)
+        {
+            ChipLogError(DeviceLayer, "Failed to initialize Wi-Fi and OpenThread coexistence");
+        }
+    }
+#endif
+#if defined(SD8801) && CHIP_ENABLE_OPENTHREAD
+    /*
+     * Re-enabling the coexistence is done here because enabling it too fast
+     * can lead to unexpected hangs of the coexistence mechanism. Up to this point,
+     * all the 15.4 requests will be 'pass-through' i.e. will always be granted
+     * access.
+     */
+    otPlatRadioSetCoexEnabled(NULL, true);
+#endif
+
+    return result;
+}
+#endif
+#endif
+
+#if !CHIP_DEVICE_CONFIG_ENABLE_THREAD && !CHIP_DEVICE_CONFIG_ENABLE_WPA
+CHIP_ERROR PlatformManagerImpl::EthernetInterfaceInit()
+{
+
+    static struct netif netif;
+    ethernetif_config_t enet_config = {
+        .phyHandle = &phyHandle,
+#ifdef configMAC_ADDR
+        .macAddress = configMAC_ADDR,
+#endif
+    };
+
+    mdioHandle.resource.csrClock_Hz = EXAMPLE_CLOCK_FREQ;
+
+#ifndef configMAC_ADDR
+    /* Set special address for each chip. */
+    (void) SILICONID_ConvertToMacAddr(&enet_config.macAddress);
+#endif
+
+    netifapi_netif_add(&netif, &enet_config, EXAMPLE_NETIF_INIT_FN, tcpip_input);
+
+    netifapi_netif_set_default(&netif);
+    netifapi_netif_set_up(netif_default);
+    LOCK_TCPIP_CORE();
+    netif_create_ip6_linklocal_address(netif_default, 1);
+    UNLOCK_TCPIP_CORE();
+
+    vTaskDelay(pdMS_TO_TICKS(1500));
+
+    for (uint8_t i = 0; i < LWIP_IPV6_NUM_ADDRESSES; i++)
+    {
+        const char * str_ip = "-";
+        if (ip6_addr_isvalid(netif_ip6_addr_state(netif_default, i)))
+        {
+            str_ip = ip6addr_ntoa(netif_ip6_addr(netif_default, i));
+        }
+        PRINTF(" IPv6 Address%d    : %s\r\n", i, str_ip);
+    }
+    PRINTF("************************************************\r\n");
+
+    if (netif_is_up(&netif))
+    {
+        return CHIP_NO_ERROR;
+    }
+
+    return CHIP_ERROR_NOT_CONNECTED;
+}
+#endif
+
+CHIP_ERROR PlatformManagerImpl::_InitChipStack(void)
+{
+    CHIP_ERROR err = CHIP_ERROR_INTERNAL;
+    int osError;
+
+    /* Initialize platform services */
+    err = ServiceInit();
+    SuccessOrExit(err);
+
+    // Initialize the configuration system.
+    err = Internal::NXPConfig::Init();
+    SuccessOrExit(err);
+
+    SetConfigurationMgr(&ConfigurationManagerImpl::GetDefaultInstance());
+    SetDiagnosticDataProvider(&DiagnosticDataProviderImpl::GetDefaultInstance());
+
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+    /* Initialize LwIP via Wi-Fi layer. */
+    net_ipv4stack_init();
+#else
+    /* Initialize LwIP directly. */
+    tcpip_init(NULL, NULL);
+#endif
+
+/* Currently only IW612 and K32W0 support controller initialization in the connectivity framework */
+#ifdef WIFI_IW612_BOARD_MURATA_2EL_M2
+    /* Init the controller by giving as an arg the connectivity supported */
+    PLATFORM_InitControllers(connBle_c
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+                             | conn802_15_4_c
+#endif
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+                             | connWlan_c
+#endif
+    );
+#endif
+
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    PLATFORM_InitOt();
+    /*
+     * Initialize the RCP here: the WiFi initialization requires to enable/disable
+     * coexistence through the Spinel interface; as such, the otPlatRadioInit() call
+     * will fail if done afterwards
+     */
+    otPlatLogInit();
+    otPlatRadioInit();
+    otPlatSetResetFunction(initiateResetInIdle);
+    otPlatRandomInit();
+#endif
+
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+    osError = OSA_SetupIdleFunction(chip::DeviceLayer::PlatformManagerImpl::IdleHook);
+    if (osError != WM_SUCCESS)
+    {
+        ChipLogError(DeviceLayer, "Failed to setup idle function");
+        err = CHIP_ERROR_NO_MEMORY;
+        goto exit;
+    }
+
+/* For IW612 transceiver firmware initialization is done by PLATFORM_InitControllers */
+#ifndef WIFI_IW612_BOARD_MURATA_2EL_M2
+    err = WiFiInterfaceInit();
+#endif
+
+    if (err != CHIP_NO_ERROR)
+    {
+        ChipLogProgress(DeviceLayer,
+                        "Wi-Fi module initialization failed. Make sure the Wi-Fi/BLE module is properly configured and connected "
+                        "with the board and start again!");
+        chipDie();
+    }
+    ChipLogProgress(DeviceLayer, "Wi-Fi module initialization done.");
+#elif !CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    err = EthernetInterfaceInit();
+
+    if (err != CHIP_NO_ERROR)
+    {
+        ChipLogProgress(DeviceLayer,
+                        "LWIP interface initialization failed. Make sure there is internet conectivity on the board and reset!");
+        chipDie();
+    }
+    ChipLogProgress(DeviceLayer, "LWIP interface initialization done");
+#endif
+
+    // Call _InitChipStack() on the generic implementation base class
+    // to finish the initialization process.
+    err = Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>::_InitChipStack();
+    SuccessOrExit(err);
+
+    err = System::Clock::InitClock_RealTime();
+    SuccessOrExit(err);
+
+    mStartTime = System::SystemClock().GetMonotonicTimestamp();
+
+exit:
+    return err;
+}
+
+void PlatformManagerImpl::SaveSettings(void)
+{
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    otPlatSaveSettingsIdle();
+#endif
+}
+
+void PlatformManagerImpl::IdleHook(void)
+{
+
+#ifdef WATCHDOG_ALLOWED
+    WDOG_Refresh(WDOG1);
+#endif
+
+    bool isResetScheduled = PlatformMgrImpl().GetResetInIdleValue();
+    if (isResetScheduled)
+    {
+        /*
+         * In case a reset in IDLE has been scheduled
+         * Disable IRQs so that the idle task won't be preempted until the reset
+         */
+        OSA_InterruptDisable();
+    }
+
+    chip::DeviceLayer::Internal::NXPConfig::RunSystemIdleTask();
+
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    SaveSettings();
+#endif
+
+#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR
+    /* Resume OTA Transactions in Idle task */
+    OTA_TransactionResume();
+#endif
+
+    /*
+     * In case a reset in idle operation has been posted,
+     * reset the device after having run the idle function
+     */
+    if (isResetScheduled)
+    {
+        PlatformMgrImpl().Reset();
+    }
+}
+
+void PlatformManagerImpl::Reset(void)
+{
+    ChipLogProgress(DeviceLayer, "System restarting");
+    // Restart the system.
+    NVIC_SystemReset();
+    while (1)
+    {
+    }
+}
+
+void PlatformManagerImpl::ScheduleResetInIdle(void)
+{
+    resetInIdle = true;
+}
+
+bool PlatformManagerImpl::GetResetInIdleValue(void)
+{
+    return resetInIdle;
+}
+
+extern "C" void initiateResetInIdle(void)
+{
+    PlatformMgr().Shutdown();
+    PlatformMgrImpl().ScheduleResetInIdle();
+}
+
+extern "C" void scheduleResetInIdle(void)
+{
+    PlatformMgrImpl().ScheduleResetInIdle();
+}
+
+extern "C" bool getResetInIdleValue(void)
+{
+    return PlatformMgrImpl().GetResetInIdleValue();
+}
+
+void PlatformManagerImpl::StopBLEConnectivity(void)
+{
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    otPlatRadioSendSetPropVendorUint8Cmd(OT_NXP_SPINEL_PROP_VENDOR_BLE_STATE, 0);
+#endif /* #if CHIP_DEVICE_CONFIG_ENABLE_THREAD */
+}
+
+void PlatformManagerImpl::_Shutdown()
+{
+    uint64_t upTime = 0;
+
+    if (GetDiagnosticDataProvider().GetUpTime(upTime) == CHIP_NO_ERROR)
+    {
+        uint32_t totalOperationalHours = 0;
+
+        if (ConfigurationMgr().GetTotalOperationalHours(totalOperationalHours) == CHIP_NO_ERROR)
+        {
+            ConfigurationMgr().StoreTotalOperationalHours(totalOperationalHours + static_cast<uint32_t>(upTime / 3600));
+        }
+        else
+        {
+            ChipLogError(DeviceLayer, "Failed to get total operational hours of the Node");
+        }
+    }
+    else
+    {
+        ChipLogError(DeviceLayer, "Failed to get current uptime since the Node’s last reboot");
+    }
+
+    /* Handle the server shutting down & emit the ShutDown event*/
+    PlatformMgr().HandleServerShuttingDown();
+    /* Shutdown all layers */
+    Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>::_Shutdown();
+}
+
+} // namespace DeviceLayer
+} // namespace chip
+
+extern "C" void mt_wipe(void)
+{
+    chip::DeviceLayer::Internal::NXPConfig::FactoryResetConfig();
+}
diff --git a/src/platform/nxp/rt/rt1060/SystemPlatformConfig.h b/src/platform/nxp/rt/rt1060/SystemPlatformConfig.h
new file mode 100644
index 0000000..17f3c18
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/SystemPlatformConfig.h
@@ -0,0 +1,40 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for the CHIP System
+ *          Layer on NXP RT1060 Platforms.
+ *
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+// ==================== Platform Adaptations ====================
+
+/* Default NXP Platform adaptations are used */
+
+// ========== Platform-specific Configuration Overrides =========
+
+/* Default NXP Platform configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/SystemNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1060/args.gni b/src/platform/nxp/rt/rt1060/args.gni
new file mode 100644
index 0000000..b5fe534
--- /dev/null
+++ b/src/platform/nxp/rt/rt1060/args.gni
@@ -0,0 +1,57 @@
+# Copyright (c) 2020-2023 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+
+rt_platform = "rt1060"
+nxp_platform = "rt/${rt_platform}"
+nxp_sdk_name = "rt_sdk"
+chip_device_platform = "nxp"
+lwip_platform = "nxp"
+
+# ARM architecture flags will be set based on NXP board.
+arm_platform_config = "${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_arm.gni"
+
+chip_device_project_config_include = "<CHIPProjectConfig.h>"
+chip_project_config_include = "<CHIPProjectConfig.h>"
+chip_inet_project_config_include = "<CHIPProjectConfig.h>"
+chip_system_project_config_include = "<CHIPProjectConfig.h>"
+chip_ble_project_config_include = "<CHIPProjectConfig.h>"
+
+chip_build_tests = false
+
+#This enables the EventList global attribute
+enable_eventlist_attribute = true
+
+# TODO : Enable the OTA Requestor by default.
+# This requires the mcuboot bootloader to be used, which reserves the first 256 kB of the flash.
+# If mcuboot is not used, "no_mcuboot" must be set to true in the gn gen build command
+# in order for the application to be linked at the base of the flash.
+#chip_enable_ota_requestor = true
+declare_args() {
+  # TODO : set no_mcuboot to false by default when enabling ota requestor by default
+  no_mcuboot = true
+
+  chip_enable_secondary_nwk_if = false
+}
+
+mbedtls_target = "${nxp_sdk_build_root}:nxp_mbedtls"
+
+openthread_external_mbedtls = mbedtls_target
+openthread_project_core_config_file = "OpenThreadConfig.h"
+openthread_core_config_deps = [ "${chip_root}/third_party/openthread/platforms/nxp/${nxp_platform}:openthread_core_config_rt1060" ]
+openthread_core_config_platform_check_file =
+    "openthread-core-rt1060-config-check.h"
+openthread_external_platform = "${chip_root}/third_party/openthread/platforms/nxp/${nxp_platform}:libopenthread-rt1060"
diff --git a/src/platform/nxp/rt/rt1170/BUILD.gn b/src/platform/nxp/rt/rt1170/BUILD.gn
new file mode 100644
index 0000000..4bfd103
--- /dev/null
+++ b/src/platform/nxp/rt/rt1170/BUILD.gn
@@ -0,0 +1,190 @@
+# Copyright (c) 2021 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/build.gni")
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+import("${chip_root}/src/platform/device.gni")
+
+# If external SDK is used, do not import ${nxp_sdk_name}.gni
+if (!nxp_external_sdk) {
+  import("${nxp_sdk_build_root}/${nxp_sdk_name}/${nxp_sdk_name}.gni")
+}
+
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+assert(chip_device_platform == "nxp")
+
+source_set("nxp_factory_data") {
+}
+source_set("nxp_ota") {
+}
+
+config("nxp_platform_config") {
+  defines = [ "EXTERNAL_BLEMANAGERIMPL_HEADER=\"platform/nxp/common/ble_zephyr/BLEManagerImpl.h\"" ]
+  include_dirs = [
+    ".",
+    "../../common",
+  ]
+  if (chip_with_factory_data == 1) {
+    include_dirs += [
+      ".",
+      "../../common/factory_data",
+    ]
+    defines += [
+      "CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA=1",
+      "CONFIG_CHIP_ENCRYPTED_FACTORY_DATA=1",
+    ]
+    defines += [ "EXTERNAL_FACTORY_DATA_PROVIDER_IMPL_HEADER=\"platform/nxp/common/factory_data/FactoryDataProviderFwkImpl.h\"" ]
+  }
+
+  # When OTBR is enabled Thread network commissioning cluster is enabled using chip_enable_secondary_nwk_if
+  if (chip_enable_wifi && chip_enable_openthread &&
+      !chip_enable_secondary_nwk_if) {
+    defines += [ "_NO_GENERIC_THREAD_NETWORK_COMMISSIONING_DRIVER_" ]
+  }
+}
+
+static_library("nxp_platform") {
+  output_name = "libCHIP_NXP_Port_RT1170"
+  cflags = [
+    "-Wno-conversion",
+    "-Wno-sign-compare",
+  ]
+  deps = []
+  defines = []
+  sources = [
+    "../../../FreeRTOS/SystemTimeSupport.cpp",
+    "../../../SingletonConfigurationManager.cpp",
+    "../../common/CHIPDevicePlatformEvent.h",
+    "../../common/ConfigurationManagerImpl.cpp",
+    "../../common/ConfigurationManagerImpl.h",
+    "../../common/ConnectivityManagerImpl.cpp",
+    "../../common/ConnectivityManagerImpl.h",
+    "../../common/DiagnosticDataProviderImpl.cpp",
+    "../../common/DiagnosticDataProviderImpl.h",
+    "../../common/KeyValueStoreManagerImpl.cpp",
+    "../../common/KeyValueStoreManagerImpl.h",
+    "../../common/Logging.cpp",
+    "../../common/NXPConfig.cpp",
+    "../../common/NXPConfig.h",
+    "../../common/NetworkProvisioningServerImpl.h",
+    "../../common/PlatformManagerImpl.h",
+    "../../common/SoftwareUpdateManagerImpl.h",
+    "../../common/ram_storage.c",
+    "../../common/ram_storage.h",
+    "CHIPDevicePlatformConfig.h",
+    "PlatformManagerImpl.cpp",
+  ]
+
+  if (chip_enable_ble) {
+    sources += [
+      # Adding random file which defines the function sys_csrand_get which is called by BLEManagerImpl from Zephyr
+      "${nxp_sdk_build_root}/rt_sdk/sdk_hook/zephyr/random/random.cpp",
+      "../../common/ble_zephyr/BLEAdvertisingArbiter.cpp",
+      "../../common/ble_zephyr/BLEManagerImpl.cpp",
+      "../../common/ble_zephyr/BLEManagerImpl.h",
+    ]
+  }
+
+  public_deps = [ "${chip_root}/src/platform:platform_base" ]
+
+  deps += [
+    "${chip_root}/src/lib/dnssd:constants",
+    "${chip_root}/src/platform/logging:headers",
+  ]
+
+  # define CHIP_PLAT_NVM_SUPPORT - See NXPConfig.cpp for definition
+  if (nxp_nvm_component == "nvm_fwk") {
+    defines += [ "CHIP_PLAT_NVM_SUPPORT=1" ]
+  } else if (nxp_nvm_component == "littlefs") {
+    defines += [ "CHIP_PLAT_NVM_SUPPORT=2" ]
+  }
+
+  if (chip_enable_wifi) {
+    sources += [
+      "../../common/NetworkCommissioningDriver.h",
+      "../../common/NetworkCommissioningWiFiDriver.cpp",
+    ]
+  }
+  if (chip_enable_ota_requestor) {
+    sources += [
+      "../../common/OTAImageProcessorImpl.cpp",
+      "../../common/OTAImageProcessorImpl.h",
+    ]
+  }
+
+  if (chip_enable_openthread) {
+    sources += [
+      # Temporary fix, to be revert once PR #34662 is merged, build issue when using GN check argument
+      "${chip_root}/src/app/clusters/thread-border-router-management-server/thread-br-delegate.h",
+      "../../../OpenThread/GenericThreadBorderRouterDelegate.cpp",
+      "../../../OpenThread/GenericThreadBorderRouterDelegate.h",
+      "../../../OpenThread/OpenThreadUtils.cpp",
+      "../../common/ThreadStackManagerImpl.cpp",
+      "../../common/ThreadStackManagerImpl.h",
+    ]
+
+    deps += [ "${chip_root}/src/app/common:ids" ]
+
+    if (!nxp_build_matter_standalone_lib) {
+      deps += [ "${chip_root}/third_party/openthread:openthread" ]
+      public_deps +=
+          [ "${chip_root}/third_party/openthread:openthread-platform" ]
+    }
+
+    # dep required to include 'lib/spinel/spinel.h' in PlatformManagerImpl.cpp
+    deps += [ "${openthread_root}:libopenthread-spinel-rcp" ]
+
+    if (chip_mdns == "platform") {
+      if (chip_enable_wifi) {
+        sources += [
+          "../../../OpenThread/OpenThreadDnssdImpl.cpp",
+          "../../../OpenThread/OpenThreadDnssdImpl.h",
+          "../../common/DnssdImpl.cpp",
+          "../../common/DnssdImplBr.cpp",
+          "../../common/DnssdImplBr.h",
+        ]
+      } else {
+        sources += [
+          "../../../OpenThread/DnssdImpl.cpp",
+          "../../../OpenThread/OpenThreadDnssdImpl.cpp",
+          "../../../OpenThread/OpenThreadDnssdImpl.h",
+        ]
+      }
+      deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
+    }
+  }
+
+  if (chip_with_factory_data == 1) {
+    sources += [
+      "../../common/factory_data/FactoryDataProvider.cpp",
+      "../../common/factory_data/FactoryDataProvider.h",
+      "../../common/factory_data/FactoryDataProviderFwkImpl.cpp",
+      "../../common/factory_data/FactoryDataProviderFwkImpl.h",
+    ]
+
+    deps += [ "${chip_root}/src/credentials:credentials_header" ]
+  }
+
+  deps += [ "${nxp_sdk_build_root}:nxp_sdk" ]
+
+  public_deps += [
+    "${chip_root}/examples/platform/nxp/common/app/support:freertos_memory_utils",
+    "${chip_root}/src/crypto",
+    "${chip_root}/src/platform:syscalls_stub",
+  ]
+  public_configs = [ ":nxp_platform_config" ]
+}
diff --git a/src/platform/nxp/rt/rt1170/BlePlatformConfig.h b/src/platform/nxp/rt/rt1170/BlePlatformConfig.h
new file mode 100644
index 0000000..bd4d803
--- /dev/null
+++ b/src/platform/nxp/rt/rt1170/BlePlatformConfig.h
@@ -0,0 +1,36 @@
+/*
+ *
+ *    Copyright (c) 2021 Project CHIP Authors
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for the CHIP BLE
+ *          Layer on RT1170 platforms using the NXP SDK.
+ *
+ */
+
+#pragma once
+
+// ==================== Platform Adaptations ====================
+
+/* Default NXP Platform adaptations are used */
+
+// ========== Platform-specific Configuration Overrides =========
+
+/* Default NXP Platform configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/ble_zephyr/BleNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1170/CHIPDevicePlatformConfig.h b/src/platform/nxp/rt/rt1170/CHIPDevicePlatformConfig.h
new file mode 100644
index 0000000..cfb5892
--- /dev/null
+++ b/src/platform/nxp/rt/rt1170/CHIPDevicePlatformConfig.h
@@ -0,0 +1,42 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for the chip Device Layer
+ *          on RT1170 platforms using the NXP SDK.
+ */
+
+#pragma once
+
+// ==================== Platform Adaptations ====================
+
+/* Default NXP Platform adaptations are used */
+
+// ========== Platform-specific Configuration =========
+
+// These are configuration options that are unique to the NXP platform.
+// These can be overridden by the application as needed.
+
+// ========== Platform-specific Configuration Overrides =========
+
+/* Default NXP Platform configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/CHIPDeviceNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1170/CHIPPlatformConfig.h b/src/platform/nxp/rt/rt1170/CHIPPlatformConfig.h
new file mode 100644
index 0000000..6485bac
--- /dev/null
+++ b/src/platform/nxp/rt/rt1170/CHIPPlatformConfig.h
@@ -0,0 +1,54 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for CHIP on
+ *          NXP RT1060 platforms.
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+// ==================== General Platform Adaptations ====================
+
+/* Default NXP platform adaptations are used */
+
+// ==================== Security Adaptations ====================
+
+/* Default NXP Platform security adaptations are used */
+
+// ==================== General Configuration Overrides ====================
+
+/* Default NXP Platform general configuration overrides are used */
+
+/* For now on RT1170, due to the current file system implementation only 5 fabrics are supported */
+#define CHIP_CONFIG_MAX_FABRICS 5
+
+// ==================== Security Configuration Overrides ====================
+
+/* Default NXP Platform security configuration overrides are used */
+
+// ==================== WDM Configuration Overrides ====================
+
+/* Default NXP Platform WDM Configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/CHIPNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1170/InetPlatformConfig.h b/src/platform/nxp/rt/rt1170/InetPlatformConfig.h
new file mode 100644
index 0000000..dee850a
--- /dev/null
+++ b/src/platform/nxp/rt/rt1170/InetPlatformConfig.h
@@ -0,0 +1,40 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for the CHIP Inet
+ *          Layer on RT1170 platforms using the NXP SDK.
+ *
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+// ==================== Platform Adaptations ====================
+
+/* Default NXP Platform adaptations are used */
+
+// ========== Platform-specific Configuration Overrides =========
+
+/* Default NXP Platform configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/InetNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1170/PlatformManagerImpl.cpp b/src/platform/nxp/rt/rt1170/PlatformManagerImpl.cpp
new file mode 100644
index 0000000..24212ce
--- /dev/null
+++ b/src/platform/nxp/rt/rt1170/PlatformManagerImpl.cpp
@@ -0,0 +1,474 @@
+/*
+ *
+ *    Copyright (c) 2020-2024 Project CHIP Authors
+ *    Copyright (c) 2020 Nest Labs, Inc.
+ *    Copyright 2023-2024 NXP
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Provides an implementation of the PlatformManager object
+ *          for RT1170 platforms using the NXP RT1170 SDK.
+ */
+/* this file behaves like a config.h, comes first */
+#include <platform/internal/CHIPDeviceLayerInternal.h>
+
+#include "DiagnosticDataProviderImpl.h"
+#include "fsl_os_abstraction.h"
+#include "fwk_platform_coex.h"
+#include "ksdk_mbedtls.h"
+#include <crypto/CHIPCryptoPAL.h>
+#include <platform/FreeRTOS/SystemTimeSupport.h>
+#include <platform/PlatformManager.h>
+#include <platform/internal/GenericPlatformManagerImpl_FreeRTOS.ipp>
+#include <stdlib.h>
+
+#include <lwip/tcpip.h>
+
+#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR
+#include "OtaSupport.h"
+#endif
+
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+#include "ot_platform_common.h"
+#include <openthread/platform/entropy.h>
+#if CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED
+#include "lib/spinel/spinel.h"
+#define OT_NXP_SPINEL_PROP_VENDOR_BLE_STATE SPINEL_PROP_VENDOR__BEGIN
+#endif /* CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED */
+#endif
+
+#if !CHIP_DEVICE_CONFIG_ENABLE_THREAD && !CHIP_DEVICE_CONFIG_ENABLE_WPA
+
+#include "board.h"
+#include "clock_config.h"
+#include "fsl_phy.h"
+#include "pin_mux.h"
+
+#include "fsl_enet_mdio.h"
+#include "fsl_phyksz8081.h"
+
+#include "enet_ethernetif.h"
+#include "fsl_debug_console.h"
+#include "lwip/netif.h"
+#include "lwip/netifapi.h"
+#include "lwip/opt.h"
+#include "lwip/tcpip.h"
+#include "netif/ethernet.h"
+
+//----LWIP defines----//
+/* MAC address configuration. */
+#define configMAC_ADDR                                                                                                             \
+    {                                                                                                                              \
+        0x02, 0x12, 0x13, 0x10, 0x15, 0x11                                                                                         \
+    }
+
+/* Address of PHY interface. */
+#define EXAMPLE_PHY_ADDRESS BOARD_ENET0_PHY_ADDRESS
+
+/* MDIO operations. */
+#define EXAMPLE_MDIO_OPS enet_ops
+
+/* PHY operations. */
+#define EXAMPLE_PHY_OPS phyksz8081_ops
+
+/* ENET clock frequency. */
+#define EXAMPLE_CLOCK_FREQ CLOCK_GetFreq(kCLOCK_IpgClk)
+
+#ifndef EXAMPLE_NETIF_INIT_FN
+/*! @brief Network interface initialization function. */
+#define EXAMPLE_NETIF_INIT_FN ethernetif0_init
+#endif /* EXAMPLE_NETIF_INIT_FN */
+
+/*! @brief Stack size of the temporary lwIP initialization thread. */
+#define INIT_THREAD_STACKSIZE 1024
+
+/*! @brief Priority of the temporary lwIP initialization thread. */
+#define INIT_THREAD_PRIO DEFAULT_THREAD_PRIO
+
+static mdio_handle_t mdioHandle = { .ops = &EXAMPLE_MDIO_OPS };
+static phy_handle_t phyHandle   = { .phyAddr = EXAMPLE_PHY_ADDRESS, .mdioHandle = &mdioHandle, .ops = &EXAMPLE_PHY_OPS };
+
+#endif
+
+extern "C" void BOARD_InitHardware(void);
+extern "C" void otPlatSetResetFunction(void (*fp)(void));
+extern "C" void initiateResetInIdle(void);
+
+#include "fwk_platform_ot.h"
+
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+
+#include "fsl_adapter_gpio.h"
+#include "fsl_os_abstraction.h"
+
+extern "C" {
+#include "wlan.h"
+#include "wm_net.h"
+}
+
+#endif /* CHIP_DEVICE_CONFIG_ENABLE_WPA */
+
+extern "C" void vApplicationMallocFailedHook(void)
+{
+    ChipLogError(DeviceLayer, "Malloc Failure");
+}
+
+#if WIFI_PTA_ENABLED && (CHIP_DEVICE_CONFIG_ENABLE_WPA && CHIP_ENABLE_OPENTHREAD)
+#ifdef SD8801
+#define HOSTCMD_RESP_BUFF_SIZE 1024
+/* 8801 command buffer to enable External Coexistence.
+ * Source: SDK 2.11.1, wifi_cli demo, wlan_tests.c file. */
+const uint8_t ext_coex_8801_cmd_buf[] = { 0xe0, 0,    0x1d, 0, 0x17, 0,    0,    0,    0x01, 0,    0,    0,    0x2f, 0x02, 0x0d,
+                                          0x00, 0x01, 0,    0, 0x03, 0x01, 0x02, 0x01, 0x01, 0x00, 0x28, 0x00, 0x3c, 0x00 };
+#endif
+
+static CHIP_ERROR EnableWiFiCoexistence(void)
+{
+    CHIP_ERROR ret = CHIP_NO_ERROR;
+
+#ifdef SD8801
+    int status        = WM_FAIL;
+    uint8_t * rspBuff = NULL;
+    uint32_t reqd_len = 0;
+
+    rspBuff = (uint8_t *) pvPortMalloc(HOSTCMD_RESP_BUFF_SIZE);
+    if (rspBuff != NULL)
+    {
+        status = wlan_send_hostcmd((void *) ext_coex_8801_cmd_buf, sizeof(ext_coex_8801_cmd_buf) / sizeof(u8_t), rspBuff,
+                                   HOSTCMD_RESP_BUFF_SIZE, &reqd_len);
+
+        if (status == WM_SUCCESS)
+        {
+            ChipLogProgress(DeviceLayer, "8801 Coexistence enabled");
+        }
+        else
+        {
+            ChipLogError(DeviceLayer, "8801 Coexistence enabling failed = %d", status);
+            ret = CHIP_ERROR_INTERNAL;
+        }
+
+        vPortFree(rspBuff);
+    }
+    else
+    {
+        ChipLogError(DeviceLayer, "Failed to allocate memory for Wi-Fi coexistence response buffer");
+    }
+#else
+    ChipLogError(DeviceLayer, "This chip does not support Wi-Fi and OpenThread coexistence");
+    ret = CHIP_ERROR_INTERNAL;
+#endif
+
+    return ret;
+}
+#endif
+
+#if !CHIP_DEVICE_CONFIG_ENABLE_WPA
+extern "C" void vApplicationIdleHook(void)
+{
+    chip::DeviceLayer::PlatformManagerImpl::IdleHook();
+}
+#endif
+
+extern "C" void __wrap_exit(int __status)
+{
+    ChipLogError(DeviceLayer, "======> error exit function !!!");
+    assert(0);
+}
+
+namespace chip {
+namespace DeviceLayer {
+
+PlatformManagerImpl PlatformManagerImpl::sInstance;
+
+void PlatformManagerImpl::HardwareInit(void)
+{
+    BOARD_InitHardware();
+    SysTick_Config(SystemCoreClock / configTICK_RATE_HZ);
+}
+
+CHIP_ERROR PlatformManagerImpl::ServiceInit(void)
+{
+    status_t status;
+    CHIP_ERROR chipRes = CHIP_NO_ERROR;
+
+    status = CRYPTO_InitHardware();
+
+    if (status != 0)
+    {
+        chipRes = CHIP_ERROR_INTERNAL;
+        ChipLogError(DeviceLayer, "Crypto hardware init error");
+    }
+
+    return chipRes;
+}
+
+#if !CHIP_DEVICE_CONFIG_ENABLE_THREAD && !CHIP_DEVICE_CONFIG_ENABLE_WPA
+CHIP_ERROR PlatformManagerImpl::EthernetInterfaceInit()
+{
+
+    static struct netif netif;
+    ethernetif_config_t enet_config = {
+        .phyHandle  = &phyHandle,
+        .macAddress = configMAC_ADDR,
+    };
+
+    mdioHandle.resource.csrClock_Hz = EXAMPLE_CLOCK_FREQ;
+
+    netifapi_netif_add(&netif, &enet_config, EXAMPLE_NETIF_INIT_FN, tcpip_input);
+
+    netifapi_netif_set_default(&netif);
+    netifapi_netif_set_up(netif_default);
+    LOCK_TCPIP_CORE();
+    netif_create_ip6_linklocal_address(netif_default, 1);
+    UNLOCK_TCPIP_CORE();
+
+    vTaskDelay(pdMS_TO_TICKS(1500));
+
+    for (uint8_t i = 0; i < LWIP_IPV6_NUM_ADDRESSES; i++)
+    {
+        const char * str_ip = "-";
+        if (ip6_addr_isvalid(netif_ip6_addr_state(netif_default, i)))
+        {
+            str_ip = ip6addr_ntoa(netif_ip6_addr(netif_default, i));
+        }
+        PRINTF(" IPv6 Address%d    : %s\r\n", i, str_ip);
+    }
+    PRINTF("************************************************\r\n");
+
+    if (netif_is_up(&netif))
+    {
+        return CHIP_NO_ERROR;
+    }
+
+    return CHIP_ERROR_NOT_CONNECTED;
+}
+#endif
+
+CHIP_ERROR PlatformManagerImpl::_InitChipStack(void)
+{
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+    hal_gpio_status_t status_gpio;
+    hal_gpio_pin_config_t resetPinConfig = {
+        .direction = kHAL_GpioDirectionOut,
+        .level     = 0U,
+        .port      = 3,
+        .pin       = 9,
+    };
+
+    GPIO_HANDLE_DEFINE(otGpioResetHandle);
+
+#endif /* CHIP_DEVICE_CONFIG_ENABLE_WPA */
+
+    CHIP_ERROR err = CHIP_ERROR_INTERNAL;
+    int osError;
+
+    /* Initialize platform services */
+    err = ServiceInit();
+    SuccessOrExit(err);
+
+    // Initialize the configuration system.
+    err = Internal::NXPConfig::Init();
+    SuccessOrExit(err);
+
+    SetConfigurationMgr(&ConfigurationManagerImpl::GetDefaultInstance());
+    SetDiagnosticDataProvider(&DiagnosticDataProviderImpl::GetDefaultInstance());
+
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+    /* Initialize LwIP via Wi-Fi layer. */
+    net_ipv4stack_init();
+#else
+    /* Initialize LwIP directly. */
+    tcpip_init(NULL, NULL);
+#endif
+
+    /* Init the controller by giving as an arg the connectivity supported */
+    PLATFORM_InitControllers(connBle_c
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+                             | conn802_15_4_c
+#endif
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+                             | connWlan_c
+#endif
+    );
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    PLATFORM_InitOt();
+    /*
+     * Initialize the RCP here: the WiFi initialization requires to enable/disable
+     * coexistence through the Spinel interface; as such, the otPlatRadioInit() call
+     * will fail if done afterwards
+     */
+    otPlatLogInit();
+    otPlatRadioInit();
+    otPlatSetResetFunction(initiateResetInIdle);
+    otPlatRandomInit();
+#endif
+
+#if CHIP_DEVICE_CONFIG_ENABLE_WPA
+
+    osError = OSA_SetupIdleFunction(chip::DeviceLayer::PlatformManagerImpl::IdleHook);
+    if (osError != WM_SUCCESS)
+    {
+        ChipLogError(DeviceLayer, "Failed to setup idle function");
+        err = CHIP_ERROR_NO_MEMORY;
+        goto exit;
+    }
+
+    ChipLogProgress(DeviceLayer, "Wi-Fi module initialization done.");
+#elif !CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    err = EthernetInterfaceInit();
+
+    if (err != CHIP_NO_ERROR)
+    {
+        ChipLogProgress(DeviceLayer,
+                        "LWIP interface initialization failed. Make sure there is internet conectivity on the board and reset!");
+        chipDie();
+    }
+    ChipLogProgress(DeviceLayer, "LWIP interface initialization done");
+#endif
+
+    // Call _InitChipStack() on the generic implementation base class
+    // to finish the initialization process.
+    err = Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>::_InitChipStack();
+    SuccessOrExit(err);
+
+    err = System::Clock::InitClock_RealTime();
+    SuccessOrExit(err);
+
+    mStartTime = System::SystemClock().GetMonotonicTimestamp();
+
+exit:
+    return err;
+}
+
+void PlatformManagerImpl::SaveSettings(void)
+{
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    otPlatSaveSettingsIdle();
+#endif
+}
+
+void PlatformManagerImpl::IdleHook(void)
+{
+    bool isResetScheduled = PlatformMgrImpl().GetResetInIdleValue();
+    if (isResetScheduled)
+    {
+        /*
+         * In case a reset in IDLE has been scheduled
+         * Disable IRQs so that the idle task won't be preempted until the reset
+         */
+        OSA_InterruptDisable();
+    }
+
+    chip::DeviceLayer::Internal::NXPConfig::RunSystemIdleTask();
+
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    SaveSettings();
+#endif
+
+#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR
+    /* Resume OTA Transactions in Idle task */
+    OTA_TransactionResume();
+#endif
+
+    /*
+     * In case a reset in idle operation has been posted,
+     * reset the device after having run the idle function
+     */
+    if (isResetScheduled)
+    {
+        PlatformMgrImpl().Reset();
+    }
+}
+
+void PlatformManagerImpl::Reset(void)
+{
+    ChipLogProgress(DeviceLayer, "System restarting");
+    // Restart the system.
+    NVIC_SystemReset();
+    while (1)
+    {
+    }
+}
+
+void PlatformManagerImpl::ScheduleResetInIdle(void)
+{
+    resetInIdle = true;
+}
+
+bool PlatformManagerImpl::GetResetInIdleValue(void)
+{
+    return resetInIdle;
+}
+
+extern "C" void initiateResetInIdle(void)
+{
+    PlatformMgr().Shutdown();
+    PlatformMgrImpl().ScheduleResetInIdle();
+}
+
+extern "C" void scheduleResetInIdle(void)
+{
+    PlatformMgrImpl().ScheduleResetInIdle();
+}
+
+extern "C" bool getResetInIdleValue(void)
+{
+    return PlatformMgrImpl().GetResetInIdleValue();
+}
+
+void PlatformManagerImpl::StopBLEConnectivity(void)
+{
+#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
+    otPlatRadioSendSetPropVendorUint8Cmd(OT_NXP_SPINEL_PROP_VENDOR_BLE_STATE, 0);
+#endif /* CHIP_DEVICE_CONFIG_ENABLE_THREAD */
+}
+
+void PlatformManagerImpl::_Shutdown()
+{
+    uint64_t upTime = 0;
+
+    if (GetDiagnosticDataProvider().GetUpTime(upTime) == CHIP_NO_ERROR)
+    {
+        uint32_t totalOperationalHours = 0;
+
+        if (ConfigurationMgr().GetTotalOperationalHours(totalOperationalHours) == CHIP_NO_ERROR)
+        {
+            ConfigurationMgr().StoreTotalOperationalHours(totalOperationalHours + static_cast<uint32_t>(upTime / 3600));
+        }
+        else
+        {
+            ChipLogError(DeviceLayer, "Failed to get total operational hours of the Node");
+        }
+    }
+    else
+    {
+        ChipLogError(DeviceLayer, "Failed to get current uptime since the Node’s last reboot");
+    }
+
+    /* Handle the server shutting down & emit the ShutDown event*/
+    PlatformMgr().HandleServerShuttingDown();
+    /* Shutdown all layers */
+    Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>::_Shutdown();
+}
+
+} // namespace DeviceLayer
+} // namespace chip
+
+extern "C" void mt_wipe(void)
+{
+    chip::DeviceLayer::Internal::NXPConfig::FactoryResetConfig();
+}
diff --git a/src/platform/nxp/rt/rt1170/SystemPlatformConfig.h b/src/platform/nxp/rt/rt1170/SystemPlatformConfig.h
new file mode 100644
index 0000000..3838fc8
--- /dev/null
+++ b/src/platform/nxp/rt/rt1170/SystemPlatformConfig.h
@@ -0,0 +1,40 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2020 Google LLC.
+ *    All rights reserved.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Platform-specific configuration overrides for the CHIP System
+ *          Layer on NXP RT1170 Platforms.
+ *
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+// ==================== Platform Adaptations ====================
+
+/* Default NXP Platform adaptations are used */
+
+// ========== Platform-specific Configuration Overrides =========
+
+/* Default NXP Platform configuration overrides are used */
+
+// Include default nxp platform configurations
+#include "platform/nxp/common/SystemNXPPlatformDefaultConfig.h"
diff --git a/src/platform/nxp/rt/rt1170/args.gni b/src/platform/nxp/rt/rt1170/args.gni
new file mode 100644
index 0000000..aaadc30
--- /dev/null
+++ b/src/platform/nxp/rt/rt1170/args.gni
@@ -0,0 +1,62 @@
+# Copyright (c) 2020 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+import("//build_overrides/nxp_sdk.gni")
+
+rt_platform = "rt1170"
+nxp_platform = "rt/${rt_platform}"
+nxp_sdk_name = "rt_sdk"
+chip_device_platform = "nxp"
+lwip_platform = "nxp"
+
+# ARM architecture flags will be set based on NXP board.
+arm_platform_config = "${nxp_sdk_build_root}/${nxp_sdk_name}/nxp_arm.gni"
+
+chip_device_project_config_include = "<CHIPProjectConfig.h>"
+chip_project_config_include = "<CHIPProjectConfig.h>"
+chip_inet_project_config_include = "<CHIPProjectConfig.h>"
+chip_system_project_config_include = "<CHIPProjectConfig.h>"
+chip_ble_project_config_include = "<CHIPProjectConfig.h>"
+
+chip_build_tests = false
+
+#This enables the EventList global attribute
+enable_eventlist_attribute = true
+
+# TODO : Enable the OTA Requestor by default.
+# This requires the mcuboot bootloader to be used, which reserves the first 256 kB of the flash.
+# If mcuboot is not used, "no_mcuboot" must be set to true in the gn gen build command
+# in order for the application to be linked at the base of the flash.
+#chip_enable_ota_requestor = true
+declare_args() {
+  # TODO : set no_mcuboot to false by default when enabling ota requestor by default
+  no_mcuboot = true
+
+  chip_enable_secondary_nwk_if = false
+}
+
+# As a temporary workaround, we are disabling the session resumption because currently
+# the mbedtls port does not support this.
+# If not disabled, reconnecting to the OTA Provider node will fail.
+chip_enable_session_resumption = false
+
+mbedtls_target = "${nxp_sdk_build_root}:nxp_mbedtls"
+
+openthread_external_mbedtls = mbedtls_target
+openthread_project_core_config_file = "OpenThreadConfig.h"
+openthread_core_config_deps = [ "${chip_root}/third_party/openthread/platforms/nxp/${nxp_platform}:openthread_core_config_rt1170" ]
+openthread_core_config_platform_check_file =
+    "openthread-core-rt1170-config-check.h"
+openthread_external_platform = "${chip_root}/third_party/openthread/platforms/nxp/${nxp_platform}:libopenthread-rt1170"
diff --git a/third_party/openthread/platforms/nxp/rt/rt1060/BUILD.gn b/third_party/openthread/platforms/nxp/rt/rt1060/BUILD.gn
new file mode 100644
index 0000000..ef44f90
--- /dev/null
+++ b/third_party/openthread/platforms/nxp/rt/rt1060/BUILD.gn
@@ -0,0 +1,150 @@
+# Copyright (c) 2020-2022 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+import("//build_overrides/mbedtls.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+
+#allows to get common NXP SDK gn options
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+# Allows to get various RT gn options
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/${nxp_sdk_name}.gni")
+openthread_nxp_root = "${chip_root}/third_party/openthread/ot-nxp"
+
+config("openthread_rt1060_config") {
+  defines = []
+  include_dirs = [
+    "${openthread_nxp_root}/src/common",
+    "${openthread_nxp_root}/src/common/br",
+    "${openthread_nxp_root}/src/common/spinel",
+    "${openthread_nxp_root}/src/imx_rt/rt1060",
+    "${openthread_nxp_root}/third_party/mbedtls/configs",
+    "${openthread_root}/third_party/mbedtls",
+    "${openthread_root}/examples/platforms",
+    "${openthread_nxp_root}/examples/utils/cli_addons",
+    "${openthread_nxp_root}/examples/utils/cli_addons/ephemeral_key",
+    "${openthread_nxp_root}/examples/utils/cli_addons/lwip",
+  ]
+
+  if (chip_enable_wifi && chip_enable_openthread) {
+    defines += [
+      "OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1",
+      "OPENTHREAD_CONFIG_COMMISSIONER_ENABLE=1",
+      "OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE=1",
+      "OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE=1",
+      "OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE=1",
+      "OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS=3",
+      "OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE=1",
+      "OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE=1",
+      "OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE=1",
+      "OPENTHREAD_CONFIG_SRP_SERVER_ADVERTISING_PROXY_ENABLE=1",
+      "OPENTHREAD_CONFIG_DNSSD_DISCOVERY_PROXY_ENABLE=1",
+      "OPENTHREAD_CONFIG_MULTICAST_DNS_ENABLE=1",
+      "OPENTHREAD_CONFIG_MULTICAST_DNS_PUBLIC_API_ENABLE=1",
+      "OT_APP_BR_LWIP_HOOKS_EN=1",
+    ]
+
+    if (chip_enable_matter_cli) {
+      defines += [
+        "OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE=1",
+        "OT_APP_CLI_EPHEMERAL_KEY_ADDON=1",
+        "OT_APP_CLI_LWIP_ADDON=1",
+      ]
+    }
+  }
+
+  # ot cli configs
+  defines += [ "OPENTHREAD_CONFIG_PING_SENDER_ENABLE=1" ]
+}
+
+#Config used by the openthread stack to get the path to OpenthreadConfig.h
+source_set("openthread_core_config_rt1060") {
+  public_configs = [ ":openthread_rt1060_config" ]
+  public_deps = [ nxp_sdk_target ]
+}
+
+source_set("libopenthread-rt1060") {
+  deps = []
+  sources = [
+    "${openthread_nxp_root}/src/common/alarm_freertos.c",
+    "${openthread_nxp_root}/src/common/diag.c",
+    "${openthread_nxp_root}/src/common/entropy.c",
+    "${openthread_nxp_root}/src/common/logging.c",
+    "${openthread_nxp_root}/src/common/spinel/misc.c",
+    "${openthread_nxp_root}/src/common/spinel/radio.cpp",
+    "${openthread_nxp_root}/src/common/spinel/spinel_hdlc.cpp",
+    "${openthread_nxp_root}/src/common/spinel/system.c",
+    "${openthread_root}/src/lib/hdlc/hdlc.cpp",
+    "${openthread_root}/src/lib/url/url.cpp",
+  ]
+
+  if (chip_enable_wifi && chip_enable_openthread) {
+    sources += [
+      "${openthread_nxp_root}/src/common/br/border_agent.c",
+      "${openthread_nxp_root}/src/common/br/br_rtos_manager.c",
+      "${openthread_nxp_root}/src/common/br/infra_if.c",
+      "${openthread_nxp_root}/src/common/br/lwip_hooks.c",
+      "${openthread_nxp_root}/src/common/br/lwip_mcast.c",
+      "${openthread_nxp_root}/src/common/br/mdns_socket.c",
+      "${openthread_nxp_root}/src/common/br/udp_plat.c",
+      "${openthread_nxp_root}/src/common/br/utils.c",
+    ]
+
+    if (chip_enable_matter_cli) {
+      sources += [
+        "${openthread_nxp_root}/examples/utils/cli_addons/addons_cli.c",
+        "${openthread_nxp_root}/examples/utils/cli_addons/ephemeral_key/ephemeral_key_cli.c",
+        "${openthread_nxp_root}/examples/utils/cli_addons/lwip/lwip_cli.c",
+      ]
+    }
+
+    deps += [ "${nxp_sdk_build_root}:nxp_lwip" ]
+  }
+
+  if (nxp_nvm_component == "nvm_fwk") {
+    sources += [ "${openthread_nxp_root}/src/common/flash_nvm.c" ]
+  } else {
+    sources += [ "${openthread_nxp_root}/src/common/flash_littlefs.c" ]
+  }
+
+  defines = [ "OPENTHREAD_FTD" ]
+
+  if (hci_spinel_single_uart) {
+    defines += [ "OT_PLAT_SPINEL_HCI_OVER_HDLC" ]
+    sources +=
+        [ "${openthread_nxp_root}/src/common/spinel/spinel_hci_hdlc.cpp" ]
+  } else if (spinel_over_spi == true) {
+    defines += [
+      "OT_PLAT_SPINEL_OVER_SPI",
+      "OT_PLATFORM_CONFIG_SPI_INSTANCE=4",
+      "OT_PLATFORM_CONFIG_SPI_INT_PORT=2",
+      "OT_PLATFORM_CONFIG_SPI_INT_PIN=4",
+      "LPSPI_MASTER_CLK_FREQ=CLOCK_GetClockRootFreq(kCLOCK_LpspiClkRoot)",
+    ]
+    sources += [ "${openthread_nxp_root}/src/common/spinel/spi_interface.cpp" ]
+  } else {
+    defines += [ "OT_PLAT_SPINEL_OVER_HDLC" ]
+  }
+
+  public_configs = [ ":openthread_rt1060_config" ]
+
+  deps += [
+    "${nxp_sdk_build_root}:nxp_mbedtls",
+    "${openthread_root}:libopenthread-spinel-rcp",
+    "../../..:libopenthread-platform-utils",
+    nxp_sdk_target,
+  ]
+}
diff --git a/third_party/openthread/platforms/nxp/rt/rt1170/BUILD.gn b/third_party/openthread/platforms/nxp/rt/rt1170/BUILD.gn
new file mode 100644
index 0000000..039c911
--- /dev/null
+++ b/third_party/openthread/platforms/nxp/rt/rt1170/BUILD.gn
@@ -0,0 +1,142 @@
+# Copyright (c) 2020-2022 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build_overrides/chip.gni")
+import("//build_overrides/mbedtls.gni")
+import("//build_overrides/nxp_sdk.gni")
+import("//build_overrides/openthread.gni")
+
+#allows to get common NXP SDK gn options
+import("${nxp_sdk_build_root}/nxp_sdk.gni")
+
+# Allows to get various RT gn options
+import("${nxp_sdk_build_root}/${nxp_sdk_name}/${nxp_sdk_name}.gni")
+openthread_nxp_root = "${chip_root}/third_party/openthread/ot-nxp"
+
+config("openthread_rt1170_config") {
+  include_dirs = [
+    "${openthread_nxp_root}/src/common",
+    "${openthread_nxp_root}/src/common/br",
+    "${openthread_nxp_root}/src/imx_rt/rt1170",
+    "${openthread_nxp_root}/third_party/mbedtls/configs",
+    "${openthread_root}/third_party/mbedtls",
+    "${openthread_root}/examples/platforms",
+    "${openthread_nxp_root}/examples/utils/cli_addons",
+    "${openthread_nxp_root}/examples/utils/cli_addons/ephemeral_key",
+    "${openthread_nxp_root}/examples/utils/cli_addons/lwip",
+  ]
+  defines = [ "OT_PLAT_SPINEL_OVER_SPI" ]
+
+  if (chip_enable_wifi && chip_enable_openthread) {
+    defines += [
+      "OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1",
+      "OPENTHREAD_CONFIG_COMMISSIONER_ENABLE=1",
+      "OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE=1",
+      "OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE=1",
+      "OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE=1",
+      "OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS=3",
+      "OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE=1",
+      "OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE=1",
+      "OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE=1",
+      "OPENTHREAD_CONFIG_SRP_SERVER_ADVERTISING_PROXY_ENABLE=1",
+      "OPENTHREAD_CONFIG_DNSSD_DISCOVERY_PROXY_ENABLE=1",
+      "OPENTHREAD_CONFIG_MULTICAST_DNS_ENABLE=1",
+      "OPENTHREAD_CONFIG_MULTICAST_DNS_PUBLIC_API_ENABLE=1",
+      "OT_APP_BR_LWIP_HOOKS_EN=1",
+    ]
+
+    if (chip_enable_matter_cli) {
+      defines += [
+        "OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE=1",
+        "OT_APP_CLI_EPHEMERAL_KEY_ADDON=1",
+        "OT_APP_CLI_LWIP_ADDON=1",
+      ]
+    }
+  }
+
+  # ot cli configs
+  defines += [ "OPENTHREAD_CONFIG_PING_SENDER_ENABLE=1" ]
+}
+
+#Config used by the openthread stack to get the path to OpenthreadConfig.h
+source_set("openthread_core_config_rt1170") {
+  public_configs = [ ":openthread_rt1170_config" ]
+  public_deps = [ nxp_sdk_target ]
+}
+
+source_set("libopenthread-rt1170") {
+  deps = []
+  sources = [
+    "${openthread_nxp_root}/src/common/alarm_freertos.c",
+    "${openthread_nxp_root}/src/common/diag.c",
+    "${openthread_nxp_root}/src/common/entropy.c",
+    "${openthread_nxp_root}/src/common/logging.c",
+    "${openthread_nxp_root}/src/common/spinel/misc.c",
+    "${openthread_nxp_root}/src/common/spinel/radio.cpp",
+    "${openthread_nxp_root}/src/common/spinel/system.c",
+    "${openthread_root}/src/lib/hdlc/hdlc.cpp",
+    "${openthread_root}/src/lib/url/url.cpp",
+  ]
+
+  if (chip_enable_wifi && chip_enable_openthread) {
+    sources += [
+      "${openthread_nxp_root}/src/common/br/border_agent.c",
+      "${openthread_nxp_root}/src/common/br/br_rtos_manager.c",
+      "${openthread_nxp_root}/src/common/br/infra_if.c",
+      "${openthread_nxp_root}/src/common/br/lwip_hooks.c",
+      "${openthread_nxp_root}/src/common/br/lwip_mcast.c",
+      "${openthread_nxp_root}/src/common/br/mdns_socket.c",
+      "${openthread_nxp_root}/src/common/br/udp_plat.c",
+      "${openthread_nxp_root}/src/common/br/utils.c",
+    ]
+
+    if (chip_enable_matter_cli) {
+      sources += [
+        "${openthread_nxp_root}/examples/utils/cli_addons/addons_cli.c",
+        "${openthread_nxp_root}/examples/utils/cli_addons/ephemeral_key/ephemeral_key_cli.c",
+        "${openthread_nxp_root}/examples/utils/cli_addons/lwip/lwip_cli.c",
+      ]
+    }
+
+    deps += [ "${nxp_sdk_build_root}:nxp_lwip" ]
+  }
+
+  if (nxp_nvm_component == "nvm_fwk") {
+    sources += [ "${openthread_nxp_root}/src/common/flash_nvm.c" ]
+  } else {
+    sources += [ "${openthread_nxp_root}/src/common/flash_littlefs.c" ]
+  }
+
+  defines = [ "OPENTHREAD_FTD" ]
+
+  if (hci_spinel_single_uart) {
+    defines += [ "OT_PLAT_SPINEL_HCI_OVER_HDLC" ]
+    sources += [
+      "${openthread_nxp_root}/src/common/spinel/spinel_hci_hdlc.cpp",
+      "${openthread_nxp_root}/src/common/spinel/spinel_hdlc.cpp",
+    ]
+  } else {
+    defines += [ "OT_PLAT_SPINEL_OVER_SPI" ]
+    sources += [ "${openthread_nxp_root}/src/common/spinel/spi_interface.cpp" ]
+  }
+
+  public_configs = [ ":openthread_rt1170_config" ]
+
+  deps += [
+    "${nxp_sdk_build_root}:nxp_mbedtls",
+    "${openthread_root}:libopenthread-spinel-rcp",
+    "../../..:libopenthread-platform-utils",
+    nxp_sdk_target,
+  ]
+}