diff --git a/integrations/docker/images/chip-build-tizen/tizen-sdk-installer/install.sh b/integrations/docker/images/chip-build-tizen/tizen-sdk-installer/install.sh
index f4c3222..99fd9c3 100755
--- a/integrations/docker/images/chip-build-tizen/tizen-sdk-installer/install.sh
+++ b/integrations/docker/images/chip-build-tizen/tizen-sdk-installer/install.sh
@@ -44,17 +44,17 @@
     echo "Example: $SCRIPT_NAME --tizen-sdk-path ~/tizen-sdk --tizen-version 6.0 --install-dependencies"
     echo
     echo "Options:"
-    echo "  --help                     Display this information"
+    echo "  -h, --help                 Display this information"
     echo "  --tizen-sdk-path           Set directory where Tizen will be installed. Default is $TIZEN_SDK_ROOT"
     echo "  --tizen-sdk-data-path      Set directory where Tizen have data. Default is $TIZEN_SDK_DATA_PATH"
     echo "  --install-dependencies     This options install all dependencies."
     echo "  --tizen-version            Select Tizen version. Default is $TIZEN_VERSION"
-    echo "  --override-secret-tool     Without password manager circumvents the requirement of having functional D-Bus Secrets service"
+    echo "  --override-secret-tool     Circumvent the requirement of having functional D-Bus Secrets service."
     echo
     echo "Note:"
     echo "The script should run fully with ubuntu. For other distributions you may have to manually"
     echo "install all needed dependencies. Use the script specifying --tizen-sdk-path with or"
-    echo "without --tizen-version. The script will only install the tizen platform for Matter."
+    echo "without --tizen-version. The script will only install Tizen platform for Matter."
 }
 
 # ------------------------------------------------------------------------------
@@ -66,7 +66,7 @@
 # ------------------------------------------------------------------------------
 # Info print function
 function info() {
-    echo "$COLOR_GREEN$1$COLOR_NONE"
+    echo "$COLOR_GREEN[INFO]: $1$COLOR_NONE"
 }
 
 # ------------------------------------------------------------------------------
@@ -78,7 +78,7 @@
 # ------------------------------------------------------------------------------
 # Show dependencies
 function show_dependencies() {
-    warning "Need dependencies for use this script installation SDK: cpio  wget unzip unrpm"
+    warning "Need dependencies for use this script installation SDK: cpio unrpm unzip wget"
     warning "Need dependencies for Tizen SDK: JAVA JRE >=8.0"
 }
 
@@ -135,10 +135,11 @@
 
     TIZEN_SDK_SYSROOT="$TIZEN_SDK_ROOT/platforms/tizen-$TIZEN_VERSION/mobile/rootstraps/mobile-$TIZEN_VERSION-device.core"
 
-    # Get tizen studio CLI
-    info "Get tizen studio CLI [...]"
     cd "$TMP_DIR" || return
 
+    # Get Tizen Studio CLI
+    info "Downloading Tizen Studio CLI..."
+
     # Download
     URL="http://download.tizen.org/sdk/tizenstudio/official/binary/"
     PKG_ARR=(
@@ -150,7 +151,7 @@
     download "$URL" "${PKG_ARR[@]}"
 
     # Get toolchain
-    info "Get toolchain"
+    info "Downloading Tizen toolchain..."
 
     # Download
     URL="http://download.tizen.org/sdk/tizenstudio/official/binary/"
@@ -159,11 +160,11 @@
         "sbi-toolchain-gcc-9.2.cpp.app_2.2.16_ubuntu-64.zip")
     download "$URL" "${PKG_ARR[@]}"
 
-    # Get tizen sysroot
-    info "Get tizen sysroot"
+    # Get Tizen sysroot
+    info "Downloading Tizen sysroot..."
 
     # Base sysroot
-    # Different versions of tizen have different rootstrap versions
+    # Different versions of Tizen have different rootstrap versions
     URL="http://download.tizen.org/sdk/tizenstudio/official/binary/"
     PKG_ARR=(
         "mobile-$TIZEN_VERSION-core-add-ons_*_ubuntu-64.zip"
@@ -224,7 +225,7 @@
     download "$URL" "${PKG_ARR[@]}"
 
     # Install all
-    info "Installation Tizen SDK [...]"
+    info "Installing Tizen SDK..."
 
     unzip -o '*.zip'
     cp -rf data/* "$TIZEN_SDK_ROOT"
@@ -234,12 +235,12 @@
 
     # Install secret tool or not
     if ("$SECRET_TOOL"); then
-        info "Override secret tool"
+        info "Overriding secret tool..."
         cp "$SCRIPT_DIR/secret-tool.py" "$TIZEN_SDK_ROOT/tools/certificate-encryptor/secret-tool"
         chmod 0755 "$TIZEN_SDK_ROOT/tools/certificate-encryptor/secret-tool"
     fi
 
-    # Configure tizen cli
+    # Configure Tizen CLI
     echo "TIZEN_SDK_INSTALLED_PATH=$TIZEN_SDK_ROOT" >"$TIZEN_SDK_ROOT/sdk.info"
     echo "TIZEN_SDK_DATA_PATH=$TIZEN_SDK_DATA_PATH" >>"$TIZEN_SDK_ROOT/sdk.info"
     ln -sf "$TIZEN_SDK_DATA_PATH/.tizen-cli-config" "$TIZEN_SDK_ROOT/tools/.tizen-cli-config"
@@ -251,9 +252,12 @@
     ln -sf ../../lib/libcap.so.2 "$TIZEN_SDK_SYSROOT/usr/lib/libcap.so"
     ln -sf openssl1.1.pc "$TIZEN_SDK_SYSROOT/usr/lib/pkgconfig/openssl.pc"
 
+    info "Done."
+    echo
+
     # Information on necessary environment variables
-    warning "You must add the appropriate environment variables before proceeding with matter."
-    echo "$COLOR_YELLOW"
+    warning "Before proceeding with Matter export environment variables as follows:"
+    echo -n "$COLOR_YELLOW"
     echo "export TIZEN_VESRSION=\"$TIZEN_VERSION\""
     echo "export TIZEN_SDK_ROOT=\"$(realpath "$TIZEN_SDK_ROOT")\""
     echo "export TIZEN_SDK_TOOLCHAIN=\"\$TIZEN_SDK_ROOT/tools/arm-linux-gnueabi-gcc-9.2\""
@@ -264,7 +268,7 @@
 
 while (($#)); do
     case $1 in
-        --help)
+        -h | --help)
             show_help
             exit 0
             ;;
@@ -308,20 +312,19 @@
         show_dependencies
         exit 1
     fi
-else
-    show_dependencies
 fi
 
 # ------------------------------------------------------------------------------
-# Checking dependencies needed to install the tizen platform
-for PKG in 'cpio' 'unzip' 'wget' 'unrpm'; do
+# Checking dependencies needed to install Tizen platform
+info "Checking required tools: cpio, java, unrpm, unzip, wget"
+for PKG in 'cpio' 'java' 'unrpm' 'unzip' 'wget'; do
     if ! command -v "$PKG" &>/dev/null; then
-        warning "Not found $PKG"
+        error "Required tool not found: $PKG"
         dep_lost=1
     fi
 done
 if [[ $dep_lost ]]; then
-    error "You need install dependencies before [HINT]: On Ubuntu-like distro run: sudo apt install ${DEPENDENCIES[@]}"
+    echo "[HINT]: sudo apt-get install ${DEPENDENCIES[*]}"
     exit 1
 fi
 
diff --git a/integrations/docker/images/chip-build-vscode/Dockerfile b/integrations/docker/images/chip-build-vscode/Dockerfile
index eb49bab..755bc4f 100644
--- a/integrations/docker/images/chip-build-vscode/Dockerfile
+++ b/integrations/docker/images/chip-build-vscode/Dockerfile
@@ -109,6 +109,7 @@
 
 ENV TIZEN_VERSION 6.0
 ENV TIZEN_SDK_ROOT /opt/tizen-sdk
+ENV TIZEN_SDK_TOOLCHAIN $TIZEN_SDK_ROOT/tools/arm-linux-gnueabi-gcc-9.2
 ENV TIZEN_SDK_SYSROOT $TIZEN_SDK_ROOT/platforms/tizen-$TIZEN_VERSION/mobile/rootstraps/mobile-$TIZEN_VERSION-device.core
 
 ENV FVP_CORSTONE_300_PATH=/opt/FVP_Corstone_SSE-300
diff --git a/integrations/docker/images/chip-build/Dockerfile b/integrations/docker/images/chip-build/Dockerfile
index 41e3687..00d2d47 100644
--- a/integrations/docker/images/chip-build/Dockerfile
+++ b/integrations/docker/images/chip-build/Dockerfile
@@ -57,6 +57,7 @@
     ninja-build \
     openjdk-8-jdk \
     pkg-config \
+    python-is-python3 \
     python3.9 \
     python3.9-dev \
     python3.9-venv \
@@ -120,6 +121,30 @@
     && rm -rf bloaty \
     && : # last line
 
+# Need newer version of include-what-you-use
+RUN set -x \
+    && apt-get update \
+    # Install build and runtime requirements for IWYU
+    && DEBIAN_FRONTEND=noninteractive apt-get install -fy --fix-missing clang-12 libclang-12-dev \
+    # Build and install IWYU
+    && git clone --depth=1 --branch=clang_12 https://github.com/include-what-you-use/include-what-you-use.git \
+    && mkdir -p include-what-you-use/build \
+    && cd include-what-you-use/build \
+    && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr/lib/llvm-12 -DIWYU_LINK_CLANG_DYLIB=OFF .. \
+    && make -j8 \
+    && make install \
+    # Save clang-12 files, so we can restore them after build dependencies cleanup
+    && tar -cf clang-12-files.tar $(dpkg -L libclang-common-12-dev |grep /include) /usr/lib/llvm-12/lib/libLLVM-12.so.1 \
+    # Cleanup build dependencies
+    && apt autoremove -fy clang-12 libclang-12-dev \
+    && rm -rf /var/lib/apt/lists/ \
+    # Restore clang-12 files
+    && tar -xf clang-12-files.tar -C / \
+    # Cleanup
+    && cd ../.. \
+    && rm -rf include-what-you-use \
+    && : # last line
+
 # Build glib-2.0 from source with enabled thread sanitizer. This is needed for
 # running CHIP tests with TSAN enabled. When running applications with TSAN
 # all shared libraries should be built with TSAN enabled, otherwise TSAN might
diff --git a/integrations/docker/images/chip-build/version b/integrations/docker/images/chip-build/version
index c20ee11..e0ef955 100644
--- a/integrations/docker/images/chip-build/version
+++ b/integrations/docker/images/chip-build/version
@@ -1 +1 @@
-0.6.13 Version bump reason: Update zap to latest release
+0.6.14 Version bump reason: Add checking and verification support for includes using IWYU
diff --git a/scripts/helpers/iwyu-check.py b/scripts/helpers/iwyu-check.py
new file mode 100755
index 0000000..261544a
--- /dev/null
+++ b/scripts/helpers/iwyu-check.py
@@ -0,0 +1,200 @@
+#!/usr/bin/env -S python3 -B
+
+# 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 contextlib
+import glob
+import json
+import logging
+import os
+import re
+import shutil
+import subprocess
+import sys
+from pathlib import Path
+
+import click
+import coloredlogs
+
+# Supported log levels, mapping string values required for argument
+# parsing into logging constants
+__LOG_LEVELS__ = {
+    'debug': logging.DEBUG,
+    'info': logging.INFO,
+    'warn': logging.WARN,
+    'fatal': logging.FATAL,
+}
+
+root_dir = os.path.dirname(os.path.realpath(__file__))
+proj_root_dir = os.path.join(Path(root_dir).parent.parent)
+
+
+def find_program(names):
+    for name in names:
+        found = shutil.which(name)
+        if found is not None:
+            return found
+
+
+@click.command()
+@click.option(
+    '--log-level',
+    default='INFO',
+    type=click.Choice(__LOG_LEVELS__.keys(), case_sensitive=False),
+    help='Determines the verbosity of script output.')
+@click.option(
+    '--no-log-timestamps',
+    default=False,
+    is_flag=True,
+    help='Skip timestamps in log output')
+@click.option(
+    '--compile-commands-glob',
+    show_default=True,
+    default=os.path.join(proj_root_dir, "out", "debug", "compile_commands*.json"),
+    help='Set global pattern for compile_commands.json files'
+)
+@click.option(
+    '--scanning-destination',
+    show_default=True,
+    default=os.path.join(proj_root_dir, "src", "platform"),
+    help='Set scanning destination file(s) or directory /ies in project'
+)
+@click.option(
+    '--mapping-file-dir',
+    help='Set mapping file directory /ies manually. File should have name iwyu.imp'
+)
+@click.option(
+    '--iwyu-args',
+    show_default=True,
+    default="-Xiwyu --no_fwd_decls",
+    help='Set custom arg(s) for include what you use'
+)
+@click.option(
+    '--clang-args',
+    default="",
+    help='Set custom arg(s) for clang'
+)
+def main(compile_commands_glob, scanning_destination, mapping_file_dir,
+         iwyu_args, clang_args, log_level, no_log_timestamps):
+    # Ensures somewhat pretty logging of what is going on
+    log_fmt = '%(asctime)s %(levelname)-7s %(message)s'
+    if no_log_timestamps:
+        log_fmt = '%(levelname)-7s %(message)s'
+    coloredlogs.install(level=__LOG_LEVELS__[log_level], fmt=log_fmt)
+
+    # checking if a program IWYU exists
+    iwyu = find_program(('iwyu_tool', 'iwyu_tool.py'))
+
+    if iwyu is None:
+        logging.error("Can't find IWYU")
+        sys.exit(1)
+
+    # For iterating how many files had problems with includes
+    warning_in_files = 0
+
+    platform = ""
+    compile_commands_glob = glob.glob(compile_commands_glob)
+
+    if not compile_commands_glob:
+        logging.error("Can't find compile_commands.json file(s)")
+        sys.exit(1)
+
+    for compile_commands in compile_commands_glob:
+
+        compile_commands_path = os.path.dirname(compile_commands)
+        compile_commands_file = os.path.join(compile_commands_path, "compile_commands.json")
+        logging.debug("Copy compile command file %s to %s", compile_commands, compile_commands_file)
+
+        with contextlib.suppress(shutil.SameFileError):
+            shutil.copyfile(compile_commands, compile_commands_file)
+
+        # Prase json file for find target name
+        with open(compile_commands, 'r') as json_data:
+            json_data = json.load(json_data)
+
+        for key in json_data:
+            find_re = re.search(r'^.*/src/platform*?\/(.*)/.*$', key['file'])
+            if find_re is not None:
+                platform = find_re.group(1)
+                break
+        if not platform:
+            logging.error("Can't find platform")
+            sys.exit(1)
+
+        if not mapping_file_dir:
+            mapping_file_dir = os.path.join(root_dir, "platforms", platform)
+
+        # Platform specific clang arguments, as some platform
+        # may needed some hacks for clang compiler for work properly.
+        platform_clang_args = []
+
+        if platform == "Tizen":
+            platform_clang_args = [
+                "--target=arm-linux-gnueabi",
+                "-I$TIZEN_SDK_TOOLCHAIN/arm-tizen-linux-gnueabi/include/c++/9.2.0",
+                "-I$TIZEN_SDK_TOOLCHAIN/arm-tizen-linux-gnueabi/include/c++/9.2.0/arm-tizen-linux-gnueabi",
+                "-I$TIZEN_SDK_TOOLCHAIN/lib/gcc/arm-tizen-linux-gnueabi/9.2.0/include",
+            ]
+
+        # TODO: Add another platform for easy scanning
+        # Actually works scanning for platform: tizen, darwin, linux other not tested yet.
+
+        command_arr = [
+            iwyu,
+            "-p", compile_commands_path, scanning_destination,
+            "--", iwyu_args,
+            "-Xiwyu", "--mapping_file=" + mapping_file_dir + "/iwyu.imp",
+        ] + platform_clang_args + [clang_args]
+
+        logging.info("Used compile commands: %s", compile_commands)
+        logging.info("Scanning includes for platform: %s", platform)
+        logging.info("Scanning destination: %s", scanning_destination)
+
+        logging.debug("Command: %s", " ".join(command_arr))
+        status = subprocess.Popen(" ".join(command_arr),
+                                  shell=True,
+                                  text=True,
+                                  stdout=subprocess.PIPE,
+                                  stderr=subprocess.STDOUT)
+
+        logging.info("============== IWYU output start  ================")
+
+        logger = logging.info
+        while status.poll() is None:
+            line = status.stdout.readline().rstrip()
+
+            if re.match(r"^warning:.*$", line):
+                logger = logging.warning
+            elif re.match(r"^.*([A-Za-z0-9]+(/[A-Za-z0-9]+)+)\.cpp should [a-zA-Z]+ these lines:$", line):
+                logger = logging.warning
+            elif re.match(r"^.*([A-Za-z0-9]+(/[A-Za-z0-9]+)+)\.[a-zA-Z]+ has correct #includes/fwd-decls\)$", line):
+                logger = logging.info
+            elif re.match(r"^The full include-list for .*$", line):
+                logger = logging.warning
+                warning_in_files += 1
+
+            logger("%s", line)
+
+        logging.info("============== IWYU output end  ================")
+
+    if warning_in_files:
+        logging.error("Number of files with include issues: %d", warning_in_files)
+        sys.exit(2)
+    else:
+        logging.info("Every include looks good!")
+
+
+if __name__ == '__main__':
+    main()
diff --git a/scripts/helpers/platforms/Darwin/iwyu.imp b/scripts/helpers/platforms/Darwin/iwyu.imp
new file mode 100644
index 0000000..0364fe5
--- /dev/null
+++ b/scripts/helpers/platforms/Darwin/iwyu.imp
@@ -0,0 +1,3 @@
+[
+    { ref: "../iwyu.imp" },
+]
diff --git a/scripts/helpers/platforms/EFR32/iwyu.imp b/scripts/helpers/platforms/EFR32/iwyu.imp
new file mode 100644
index 0000000..0364fe5
--- /dev/null
+++ b/scripts/helpers/platforms/EFR32/iwyu.imp
@@ -0,0 +1,3 @@
+[
+    { ref: "../iwyu.imp" },
+]
diff --git a/scripts/helpers/platforms/Linux/iwyu.imp b/scripts/helpers/platforms/Linux/iwyu.imp
new file mode 100644
index 0000000..0364fe5
--- /dev/null
+++ b/scripts/helpers/platforms/Linux/iwyu.imp
@@ -0,0 +1,3 @@
+[
+    { ref: "../iwyu.imp" },
+]
diff --git a/scripts/helpers/platforms/Tizen/iwyu.imp b/scripts/helpers/platforms/Tizen/iwyu.imp
new file mode 100644
index 0000000..f314087
--- /dev/null
+++ b/scripts/helpers/platforms/Tizen/iwyu.imp
@@ -0,0 +1,10 @@
+[
+    { ref: "../iwyu.imp" },
+
+    { include: [ '"bluetooth_type.h"', private, '<bluetooth.h>', public ] },
+    { include: [ '"dns-sd.h"', private, '<dns-sd.h>', public ] },
+    { include: [ '"thread-type.h"', private, '<thread.h>', public ] },
+    { include: [ '"thread.h"', private, '<thread.h>', public ] },
+    { include: [ '<thread-type.h>', private, '<thread.h>', public ] },
+    { include: [ '<tizen_error.h>', private, '<tizen.h>', public ] },
+]
diff --git a/scripts/helpers/platforms/android/iwyu.imp b/scripts/helpers/platforms/android/iwyu.imp
new file mode 100644
index 0000000..0364fe5
--- /dev/null
+++ b/scripts/helpers/platforms/android/iwyu.imp
@@ -0,0 +1,3 @@
+[
+    { ref: "../iwyu.imp" },
+]
diff --git a/scripts/helpers/platforms/iwyu.imp b/scripts/helpers/platforms/iwyu.imp
new file mode 100644
index 0000000..5a863b3
--- /dev/null
+++ b/scripts/helpers/platforms/iwyu.imp
@@ -0,0 +1,42 @@
+[
+    ## C/C++/*
+    { include: [ '"bits/shared_ptr.h"', private, '<memory>', public ] },
+    { include: [ '"cstdlib"', private, '<cstdlib>', public ] },
+    { include: [ '"iosfwd"', private, '<iosfwd>', public ] },
+    { include: [ '"ostream"', private, '<ostream>', public ] },
+    { include: [ '"stdlib.h"', private, '<cstdlib>', public ] },
+    { include: [ '"thread"', private, '<thread>', public ] },
+    { include: [ '"type_traits"', private, '<type_traits>', public ] },
+    { include: [ '<bits/shared_ptr.h>', private, '<memory>', public ] },
+    { symbol: [ 'declval', private, '<utility>', public ] },
+    { symbol: [ 'tm', private, '<sys/time.h>', public ] },
+
+    ## ble/*
+    { include: [ '"ble/CHIPBleServiceData.h"', private, '<ble/CHIPBleServiceData.h>', public ] },
+    { include: [ '@"ble/Ble.*.h"', private, '<ble/Ble.h>', public ] },
+
+    ## inet/*
+    { include: [ '"inet/InetInterface.h"', private, '<inet/InetInterface.h>', public ] },
+    { include: [ '"inet/IPAddress.h"', private, '<inet/IPAddress.h>', public ] },
+
+    ## lib/*
+    { include: [ '"lib/core/CHIPError.h"', private, '<lib/core/CHIPError.h>', public ] },
+    { include: [ '"lib/dnssd/ServiceNaming.h"', private, '<lib/dnssd/platform/Dnssd.h>', public ] },
+    { include: [ '"lib/support/logging/CHIPLogging.h"', private, '<lib/support/logging/CHIPLogging.h>', public ] },
+
+    ## platform/*
+    { include: [ '"platform/NetworkCommissioning.h"', private, '<platform/NetworkCommissioning.h>', public ] },
+    { include: [ '"platform/PersistedStorage.h"', private, '<platform/PersistedStorage.h>', public ] },
+
+    ## Do not include some Impl headers directly
+    { include: [ '@"platform/.*/BLEManagerImpl.h"', private, '"platform/internal/BLEManager.h"', private ] },
+    { include: [ '@"platform/.*/ConnectivityManagerImpl.h"', private, '<platform/ConnectivityManager.h>', public ] },
+    { include: [ '@"platform/.*/KeyValueStoreManagerImpl.h"', private, '<platform/KeyValueStoreManager.h>', public ] },
+    { include: [ '@"platform/.*/PlatformManagerImpl.h"', private, '<platform/PlatformManager.h>', public ] },
+    { include: [ '@<platform/.*/ThreadStackManagerImpl.h>', private, '<platform/ThreadStackManager.h>', public ] },
+
+    ## Config
+    { include: [ '@"platform/.*/CHIPDevicePlatformConfig.h"', private, '<platform/CHIPDeviceConfig.h>', public ] },
+    { include: [ '@"platform/.*/SystemPlatformConfig.h"', private, '<system/SystemConfig.h>', public ] },
+
+]
diff --git a/scripts/helpers/platforms/mbed/iwyu.imp b/scripts/helpers/platforms/mbed/iwyu.imp
new file mode 100644
index 0000000..0364fe5
--- /dev/null
+++ b/scripts/helpers/platforms/mbed/iwyu.imp
@@ -0,0 +1,3 @@
+[
+    { ref: "../iwyu.imp" },
+]
diff --git a/src/include/platform/ThreadStackManager.h b/src/include/platform/ThreadStackManager.h
index fb2f18b..df6adfd 100644
--- a/src/include/platform/ThreadStackManager.h
+++ b/src/include/platform/ThreadStackManager.h
@@ -26,6 +26,7 @@
 #include <app-common/zap-generated/cluster-objects.h>
 #include <app/AttributeAccessInterface.h>
 #include <app/util/basic-types.h>
+#include <inet/IPAddress.h>
 #include <lib/support/Span.h>
 #include <platform/NetworkCommissioning.h>
 
diff --git a/src/platform/Tizen/AppPreference.cpp b/src/platform/Tizen/AppPreference.cpp
index 722a0fd..bc6e8f1 100644
--- a/src/platform/Tizen/AppPreference.cpp
+++ b/src/platform/Tizen/AppPreference.cpp
@@ -16,10 +16,21 @@
  */
 
 #include "AppPreference.h"
-#include <app_preference.h>
-#include <lib/support/Base64.h>
-#include <lib/support/CHIPMem.h>
+
+#include <algorithm>
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
 #include <memory>
+#include <utility>
+
+#include <app_preference.h>
+#include <tizen.h>
+
+#include <lib/support/Base64.h>
+#include <lib/support/CodeUtils.h>
+#include <lib/support/ScopedBuffer.h>
+#include <lib/support/logging/CHIPLogging.h>
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/AppPreference.h b/src/platform/Tizen/AppPreference.h
index 2fee34c..26acf9d 100644
--- a/src/platform/Tizen/AppPreference.h
+++ b/src/platform/Tizen/AppPreference.h
@@ -17,8 +17,9 @@
 
 #pragma once
 
-#include <app_preference.h>
-#include <platform/CHIPDeviceLayer.h>
+#include <cstddef>
+
+#include <lib/core/CHIPError.h>
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/BLEManagerImpl.cpp b/src/platform/Tizen/BLEManagerImpl.cpp
index c60fb56..9b2d5e2 100644
--- a/src/platform/Tizen/BLEManagerImpl.cpp
+++ b/src/platform/Tizen/BLEManagerImpl.cpp
@@ -21,15 +21,47 @@
  *          Provides an implementation of the BLEManager singleton object
  *          for Tizen platforms.
  */
-#include <platform/internal/CHIPDeviceLayerInternal.h>
 
-#include <ble/CHIPBleServiceData.h>
-#include <platform/internal/BLEManager.h>
+/**
+ * Note: BLEManager requires ConnectivityManager to be defined beforehand,
+ *       otherwise we will face circular dependency between them. */
+#include <platform/ConnectivityManager.h>
 
-#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
+/**
+ * Note: Use public include for BLEManager which includes our local
+ *       platform/<PLATFORM>/BLEManagerImpl.h after defining interface class. */
+#include "platform/internal/BLEManager.h"
 
-#include "MainLoop.h"
+#include <strings.h>
+
+#include <cstdint>
+#include <cstring>
+#include <memory>
+#include <string>
+#include <type_traits>
+#include <utility>
+
 #include <bluetooth.h>
+#include <glib.h>
+
+#include <ble/Ble.h>
+#include <ble/CHIPBleServiceData.h>
+#include <lib/core/CHIPError.h>
+#include <lib/support/BitFlags.h>
+#include <lib/support/CodeUtils.h>
+#include <lib/support/ErrorStr.h>
+#include <lib/support/SetupDiscriminator.h>
+#include <platform/CHIPDeviceEvent.h>
+#include <platform/CHIPDeviceLayer.h>
+#include <platform/ConfigurationManager.h>
+#include <platform/PlatformManager.h>
+#include <system/SystemClock.h>
+#include <system/SystemLayer.h>
+#include <system/SystemPacketBuffer.h>
+
+#include "CHIPDevicePlatformEvent.h"
+#include "ChipDeviceScanner.h"
+#include "MainLoop.h"
 
 namespace chip {
 namespace DeviceLayer {
@@ -1383,5 +1415,3 @@
 } // namespace Internal
 } // namespace DeviceLayer
 } // namespace chip
-
-#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
diff --git a/src/platform/Tizen/BLEManagerImpl.h b/src/platform/Tizen/BLEManagerImpl.h
index f4c8e90..7723d2d 100644
--- a/src/platform/Tizen/BLEManagerImpl.h
+++ b/src/platform/Tizen/BLEManagerImpl.h
@@ -23,11 +23,23 @@
 
 #pragma once
 
-#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
+#include <cstddef>
+#include <cstdint>
+#include <memory>
+#include <string>
+#include <utility>
 
 #include <bluetooth.h>
 #include <glib.h>
-#include <sys/param.h>
+
+#include <ble/Ble.h>
+#include <ble/CHIPBleServiceData.h>
+#include <lib/core/CHIPError.h>
+#include <lib/support/BitFlags.h>
+#include <lib/support/SetupDiscriminator.h>
+#include <platform/CHIPDeviceEvent.h>
+#include <system/SystemLayer.h>
+#include <system/SystemPacketBuffer.h>
 
 #include "ChipDeviceScanner.h"
 
@@ -263,5 +275,3 @@
 } // namespace Internal
 } // namespace DeviceLayer
 } // namespace chip
-
-#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
diff --git a/src/platform/Tizen/BUILD.gn b/src/platform/Tizen/BUILD.gn
index e25ab00..03a858f 100644
--- a/src/platform/Tizen/BUILD.gn
+++ b/src/platform/Tizen/BUILD.gn
@@ -37,8 +37,6 @@
     "CHIPDevicePlatformConfig.h",
     "CHIPDevicePlatformEvent.h",
     "CHIPPlatformConfig.h",
-    "ChipDeviceScanner.cpp",
-    "ChipDeviceScanner.h",
     "ConfigurationManagerImpl.cpp",
     "ConfigurationManagerImpl.h",
     "ConnectivityManagerImpl.cpp",
@@ -88,6 +86,8 @@
       "BLEManagerImpl.cpp",
       "BLEManagerImpl.h",
       "BlePlatformConfig.h",
+      "ChipDeviceScanner.cpp",
+      "ChipDeviceScanner.h",
     ]
   }
 
diff --git a/src/platform/Tizen/ChipDeviceScanner.cpp b/src/platform/Tizen/ChipDeviceScanner.cpp
index 4a55360..2048953 100644
--- a/src/platform/Tizen/ChipDeviceScanner.cpp
+++ b/src/platform/Tizen/ChipDeviceScanner.cpp
@@ -22,14 +22,18 @@
  */
 
 #include "ChipDeviceScanner.h"
-#include <platform/CHIPDeviceLayer.h>
-#include <sys/param.h>
 
-#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
+#include <cstdint>
+#include <cstring>
+#include <utility>
+
+#include <bluetooth.h>
+
+#include <lib/support/CodeUtils.h>
+#include <lib/support/Span.h>
+#include <lib/support/logging/CHIPLogging.h>
 
 #include "MainLoop.h"
-#include <lib/support/logging/CHIPLogging.h>
-#include <system/SystemTimer.h>
 
 namespace chip {
 namespace DeviceLayer {
@@ -308,5 +312,3 @@
 } // namespace Internal
 } // namespace DeviceLayer
 } // namespace chip
-
-#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
diff --git a/src/platform/Tizen/ChipDeviceScanner.h b/src/platform/Tizen/ChipDeviceScanner.h
index 7eb2a9d..f95f478 100644
--- a/src/platform/Tizen/ChipDeviceScanner.h
+++ b/src/platform/Tizen/ChipDeviceScanner.h
@@ -23,18 +23,13 @@
 
 #pragma once
 
-#include <platform/CHIPDeviceConfig.h>
-
-#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
-
-#include <glib.h>
 #include <memory>
 
+#include <bluetooth.h>
+#include <glib.h>
+
 #include <ble/CHIPBleServiceData.h>
 #include <lib/core/CHIPError.h>
-#include <system/SystemLayer.h>
-
-#include <bluetooth.h>
 
 namespace chip {
 namespace DeviceLayer {
@@ -115,5 +110,3 @@
 } // namespace Internal
 } // namespace DeviceLayer
 } // namespace chip
-
-#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
diff --git a/src/platform/Tizen/ConfigurationManagerImpl.cpp b/src/platform/Tizen/ConfigurationManagerImpl.cpp
index 5d5dc5c..961df41 100644
--- a/src/platform/Tizen/ConfigurationManagerImpl.cpp
+++ b/src/platform/Tizen/ConfigurationManagerImpl.cpp
@@ -23,16 +23,16 @@
  *          for Tizen platforms.
  */
 
-#include <platform/internal/CHIPDeviceLayerInternal.h>
+#include "ConfigurationManagerImpl.h"
 
-#include <lib/core/CHIPVendorIdentifiers.hpp>
 #include <lib/support/CodeUtils.h>
-#include <lib/support/logging/CHIPLogging.h>
+#include <platform/CHIPDeviceBuildConfig.h>
 #include <platform/CHIPDeviceConfig.h>
 #include <platform/ConfigurationManager.h>
-#include <platform/Tizen/PosixConfig.h>
-#include <platform/Tizen/WiFiManager.h>
-#include <platform/internal/GenericConfigurationManagerImpl.ipp>
+
+#include "PosixConfig.h"
+#include "WiFiManager.h"
+#include "platform/internal/GenericConfigurationManagerImpl.ipp"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/ConfigurationManagerImpl.h b/src/platform/Tizen/ConfigurationManagerImpl.h
index 2dd07d7..ee9ddc5 100644
--- a/src/platform/Tizen/ConfigurationManagerImpl.h
+++ b/src/platform/Tizen/ConfigurationManagerImpl.h
@@ -24,9 +24,15 @@
 
 #pragma once
 
-#include <platform/internal/GenericConfigurationManagerImpl.h>
+#include <cstdint>
+#include <cstdlib>
 
-#include <platform/Tizen/PosixConfig.h>
+#include <lib/core/CHIPError.h>
+#include <platform/DeviceInstanceInfoProvider.h>
+#include <platform/PersistedStorage.h>
+
+#include "PosixConfig.h"
+#include "platform/internal/GenericConfigurationManagerImpl.h"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/ConnectivityManagerImpl.cpp b/src/platform/Tizen/ConnectivityManagerImpl.cpp
index 41671fa..75a5fb5 100644
--- a/src/platform/Tizen/ConnectivityManagerImpl.cpp
+++ b/src/platform/Tizen/ConnectivityManagerImpl.cpp
@@ -17,32 +17,42 @@
  *    limitations under the License.
  */
 
-#include <platform/internal/CHIPDeviceLayerInternal.h>
-
+/**
+ * Note: Use public include for ConnectivityManager which includes our local
+ *       platform/<PLATFORM>/ConnectivityManagerImpl.h after defining interface
+ *       class. */
 #include <platform/ConnectivityManager.h>
-#include <platform/internal/BLEManager.h>
 
-#include <cstdlib>
+#if CHIP_DEVICE_CONFIG_ENABLE_WIFI
+#include <wifi-manager.h>
+#endif
 
+#include <inet/InetBuildConfig.h>
+#include <lib/core/CHIPError.h>
 #include <lib/support/CodeUtils.h>
-#include <lib/support/logging/CHIPLogging.h>
+#include <platform/CHIPDeviceBuildConfig.h>
+#include <platform/CHIPDeviceConfig.h>
+#include <platform/CHIPDeviceEvent.h>
+#include <platform/CHIPDeviceLayer.h>
+#include <system/SystemClock.h>
+#include <system/SystemLayer.h>
 
-#include <platform/internal/GenericConnectivityManagerImpl_UDP.ipp>
-
+#include "platform/internal/GenericConnectivityManagerImpl_UDP.ipp"
 #if INET_CONFIG_ENABLE_TCP_ENDPOINT
-#include <platform/internal/GenericConnectivityManagerImpl_TCP.ipp>
+#include "platform/internal/GenericConnectivityManagerImpl_TCP.ipp"
 #endif
-
 #if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
-#include <platform/internal/GenericConnectivityManagerImpl_BLE.ipp>
+#include "platform/internal/GenericConnectivityManagerImpl_BLE.ipp"
 #endif
-
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD
-#include <platform/internal/GenericConnectivityManagerImpl_Thread.ipp>
+#include "platform/internal/GenericConnectivityManagerImpl_Thread.ipp"
+#endif
+#if CHIP_DEVICE_CONFIG_ENABLE_WIFI
+#include "platform/internal/GenericConnectivityManagerImpl_WiFi.ipp"
 #endif
 
 #if CHIP_DEVICE_CONFIG_ENABLE_WIFI
-#include <platform/internal/GenericConnectivityManagerImpl_WiFi.ipp>
+#include "WiFiManager.h"
 #endif
 
 namespace chip {
diff --git a/src/platform/Tizen/ConnectivityManagerImpl.h b/src/platform/Tizen/ConnectivityManagerImpl.h
index 69c4e05..b469b63 100644
--- a/src/platform/Tizen/ConnectivityManagerImpl.h
+++ b/src/platform/Tizen/ConnectivityManagerImpl.h
@@ -19,38 +19,37 @@
 
 #pragma once
 
-#include <platform/ConnectivityManager.h>
-#include <platform/internal/GenericConnectivityManagerImpl.h>
-#include <platform/internal/GenericConnectivityManagerImpl_UDP.h>
+#include <cstdint>
+
+#include <inet/InetBuildConfig.h>
+#include <lib/core/CHIPError.h>
+#include <platform/CHIPDeviceBuildConfig.h>
+#include <platform/CHIPDeviceConfig.h>
+#include <platform/CHIPDeviceEvent.h>
+#include <system/SystemClock.h>
+#include <system/SystemLayer.h>
+
+#include "platform/internal/GenericConnectivityManagerImpl.h"
+#include "platform/internal/GenericConnectivityManagerImpl_UDP.h"
 #if INET_CONFIG_ENABLE_TCP_ENDPOINT
-#include <platform/internal/GenericConnectivityManagerImpl_TCP.h>
+#include "platform/internal/GenericConnectivityManagerImpl_TCP.h"
 #endif
 #if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
-#include <platform/internal/GenericConnectivityManagerImpl_BLE.h>
+#include "platform/internal/GenericConnectivityManagerImpl_BLE.h"
 #else
-#include <platform/internal/GenericConnectivityManagerImpl_NoBLE.h>
+#include "platform/internal/GenericConnectivityManagerImpl_NoBLE.h"
 #endif
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD
-#include <platform/internal/GenericConnectivityManagerImpl_Thread.h>
+#include "platform/internal/GenericConnectivityManagerImpl_Thread.h"
 #else
-#include <platform/internal/GenericConnectivityManagerImpl_NoThread.h>
+#include "platform/internal/GenericConnectivityManagerImpl_NoThread.h"
 #endif
 #if CHIP_DEVICE_CONFIG_ENABLE_WIFI
-#include <platform/internal/GenericConnectivityManagerImpl_WiFi.h>
+#include "platform/internal/GenericConnectivityManagerImpl_WiFi.h"
 #else
-#include <platform/internal/GenericConnectivityManagerImpl_NoWiFi.h>
+#include "platform/internal/GenericConnectivityManagerImpl_NoWiFi.h"
 #endif
 
-#if CHIP_DEVICE_CONFIG_ENABLE_WIFI
-#include "WiFiManager.h"
-#endif
-
-namespace chip {
-namespace Inet {
-class IPAddress;
-} // namespace Inet
-} // namespace chip
-
 namespace chip {
 namespace DeviceLayer {
 
diff --git a/src/platform/Tizen/ConnectivityUtils.cpp b/src/platform/Tizen/ConnectivityUtils.cpp
index 6ad5103..5c5d56b 100644
--- a/src/platform/Tizen/ConnectivityUtils.cpp
+++ b/src/platform/Tizen/ConnectivityUtils.cpp
@@ -15,8 +15,7 @@
  *    limitations under the License.
  */
 
-#include <platform/Tizen/ConnectivityUtils.h>
-#include <platform/internal/CHIPDeviceLayerInternal.h>
+#include "ConnectivityUtils.h"
 
 // XXX: This is a workaround for a bug in the Tizen SDK header files. It is not
 //      possible to include both <net/if.h> and <linux/if.h> at the same time.
@@ -29,12 +28,16 @@
 #include <linux/ethtool.h>
 #include <linux/sockios.h>
 #include <linux/wireless.h>
-#include <string.h>
+#include <net/if.h>
 #include <sys/ioctl.h>
 #include <sys/socket.h>
-#include <sys/types.h>
+#include <unistd.h>
 
+#include <cstring>
+
+#include <app-common/zap-generated/cluster-enums.h>
 #include <lib/support/CHIPMemString.h>
+#include <lib/support/logging/CHIPLogging.h>
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/ConnectivityUtils.h b/src/platform/Tizen/ConnectivityUtils.h
index 439e427..6c8f5c8 100644
--- a/src/platform/Tizen/ConnectivityUtils.h
+++ b/src/platform/Tizen/ConnectivityUtils.h
@@ -17,8 +17,9 @@
 
 #pragma once
 
-#include <platform/DiagnosticDataProvider.h>
-#include <platform/internal/CHIPDeviceLayerInternal.h>
+#include <app-common/zap-generated/cluster-enums.h>
+
+#include "platform/internal/CHIPDeviceLayerInternal.h"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/DeviceInstanceInfoProviderImpl.cpp b/src/platform/Tizen/DeviceInstanceInfoProviderImpl.cpp
index 67133ea..93ad7a1 100644
--- a/src/platform/Tizen/DeviceInstanceInfoProviderImpl.cpp
+++ b/src/platform/Tizen/DeviceInstanceInfoProviderImpl.cpp
@@ -18,7 +18,7 @@
 
 #include "DeviceInstanceInfoProviderImpl.h"
 
-#include <platform/Tizen/PosixConfig.h>
+#include "PosixConfig.h"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/DeviceInstanceInfoProviderImpl.h b/src/platform/Tizen/DeviceInstanceInfoProviderImpl.h
index b3b7992..32e6a2c 100644
--- a/src/platform/Tizen/DeviceInstanceInfoProviderImpl.h
+++ b/src/platform/Tizen/DeviceInstanceInfoProviderImpl.h
@@ -18,8 +18,13 @@
 
 #pragma once
 
-#include <platform/Tizen/ConfigurationManagerImpl.h>
-#include <platform/internal/GenericDeviceInstanceInfoProvider.h>
+#include <cstdint>
+
+#include <lib/core/CHIPError.h>
+
+#include "ConfigurationManagerImpl.h"
+#include "PosixConfig.h"
+#include "platform/internal/GenericDeviceInstanceInfoProvider.h"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/DiagnosticDataProviderImpl.cpp b/src/platform/Tizen/DiagnosticDataProviderImpl.cpp
index 17e11e5..ad143a4 100644
--- a/src/platform/Tizen/DiagnosticDataProviderImpl.cpp
+++ b/src/platform/Tizen/DiagnosticDataProviderImpl.cpp
@@ -21,11 +21,9 @@
  *          for Tizen platform.
  */
 
-#include <platform/internal/CHIPDeviceLayerInternal.h>
+#include "DiagnosticDataProviderImpl.h"
 
-#include <lib/support/logging/CHIPLogging.h>
 #include <platform/DiagnosticDataProvider.h>
-#include <platform/Tizen/DiagnosticDataProviderImpl.h>
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/DnssdImpl.cpp b/src/platform/Tizen/DnssdImpl.cpp
index 698b70b..e2ab151 100644
--- a/src/platform/Tizen/DnssdImpl.cpp
+++ b/src/platform/Tizen/DnssdImpl.cpp
@@ -16,23 +16,32 @@
  */
 
 #include "DnssdImpl.h"
-#include "MainLoop.h"
 
 #include <algorithm>
+#include <cerrno>
+#include <cstdlib>
 #include <cstring>
-#include <net/if.h>
 #include <sstream>
+#include <string>
 #include <utility>
 
+// Note: Include dns-sd-internal.h is needed, this source file uses some undocumented functions.
+#include <dns-sd-internal.h>
+#include <dns-sd.h>
+#include <glib.h>
 #include <lib/dnssd/platform/Dnssd.h>
-#include <lib/support/CHIPMem.h>
+#include <net/if.h>
+
+#include <inet/InetBuildConfig.h>
 #include <lib/support/CHIPMemString.h>
 #include <lib/support/CodeUtils.h>
 #include <lib/support/SafeInt.h>
-#include <lib/support/logging/CHIPLogging.h>
+#include <lib/support/Span.h>
+#include <platform/CHIPDeviceConfig.h>
+#include <platform/PlatformManager.h>
 
-#include <dns-sd-internal.h>
-#include <glib.h>
+#include "MainLoop.h"
+
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD
 #include <platform/ThreadStackManager.h>
 #endif
diff --git a/src/platform/Tizen/DnssdImpl.h b/src/platform/Tizen/DnssdImpl.h
index 360f264..5872fa0 100644
--- a/src/platform/Tizen/DnssdImpl.h
+++ b/src/platform/Tizen/DnssdImpl.h
@@ -17,18 +17,22 @@
 
 #pragma once
 
+#include <cstdint>
+#include <functional>
 #include <memory>
 #include <mutex>
 #include <set>
-#include <string>
-#include <sys/param.h>
 #include <vector>
 
-#include <lib/dnssd/platform/Dnssd.h>
-
 #include <dns-sd.h>
 #include <glib.h>
 
+#include <inet/IPAddress.h>
+#include <inet/InetInterface.h>
+#include <lib/core/CHIPError.h>
+#include <lib/dnssd/Constants.h>
+#include <lib/dnssd/platform/Dnssd.h>
+
 namespace chip {
 namespace Dnssd {
 
diff --git a/src/platform/Tizen/KeyValueStoreManagerImpl.cpp b/src/platform/Tizen/KeyValueStoreManagerImpl.cpp
index f1e1753..18e4c15 100644
--- a/src/platform/Tizen/KeyValueStoreManagerImpl.cpp
+++ b/src/platform/Tizen/KeyValueStoreManagerImpl.cpp
@@ -21,9 +21,18 @@
  *          Platform-specific key value storage implementation for Tizen.
  */
 
-#include "AppPreference.h"
+/**
+ * Note: Use public include for KeyValueStoreManager which includes our local
+ *       platform/<PLATFORM>/KeyValueStoreManagerImpl.h after defining interface
+ *       class. */
 #include <platform/KeyValueStoreManager.h>
 
+#include <cstddef>
+
+#include <lib/core/CHIPError.h>
+
+#include "AppPreference.h"
+
 namespace chip {
 namespace DeviceLayer {
 namespace PersistedStorage {
diff --git a/src/platform/Tizen/KeyValueStoreManagerImpl.h b/src/platform/Tizen/KeyValueStoreManagerImpl.h
index 42f5633..bf3395a 100644
--- a/src/platform/Tizen/KeyValueStoreManagerImpl.h
+++ b/src/platform/Tizen/KeyValueStoreManagerImpl.h
@@ -23,6 +23,10 @@
 
 #pragma once
 
+#include <cstddef>
+
+#include <lib/core/CHIPError.h>
+
 namespace chip {
 namespace DeviceLayer {
 namespace PersistedStorage {
diff --git a/src/platform/Tizen/Logging.cpp b/src/platform/Tizen/Logging.cpp
index 4c5c8b8..da29fc8 100644
--- a/src/platform/Tizen/Logging.cpp
+++ b/src/platform/Tizen/Logging.cpp
@@ -15,14 +15,15 @@
  *    limitations under the License.
  */
 
-#include <platform/logging/LogV.h>
-
-#include <lib/core/CHIPConfig.h>
-#include <lib/support/EnforceFormat.h>
-#include <lib/support/logging/Constants.h>
+#include <cstdint>
+#include <cstdio>
 
 #include <dlog.h>
-#include <stdio.h>
+
+#include <core/CHIPBuildConfig.h>
+#include <lib/support/EnforceFormat.h>
+#include <lib/support/logging/Constants.h>
+#include <platform/logging/LogV.h>
 
 namespace chip {
 namespace Logging {
diff --git a/src/platform/Tizen/MainLoop.cpp b/src/platform/Tizen/MainLoop.cpp
index e3f2cf2..56b5f28 100644
--- a/src/platform/Tizen/MainLoop.cpp
+++ b/src/platform/Tizen/MainLoop.cpp
@@ -16,6 +16,10 @@
 
 #include "MainLoop.h"
 
+#include <iterator>
+#include <memory>
+#include <utility>
+
 #include <lib/support/CodeUtils.h>
 #include <lib/support/logging/CHIPLogging.h>
 
diff --git a/src/platform/Tizen/MainLoop.h b/src/platform/Tizen/MainLoop.h
index a4a6701..618d45a 100644
--- a/src/platform/Tizen/MainLoop.h
+++ b/src/platform/Tizen/MainLoop.h
@@ -18,9 +18,7 @@
 
 #include <memory>
 #include <thread>
-
-#include <lib/core/CHIPError.h>
-#include <platform/CHIPDeviceLayer.h>
+#include <vector>
 
 #include <glib.h>
 
diff --git a/src/platform/Tizen/NetworkCommissioningDriver.h b/src/platform/Tizen/NetworkCommissioningDriver.h
index 5013703..b9605c3 100644
--- a/src/platform/Tizen/NetworkCommissioningDriver.h
+++ b/src/platform/Tizen/NetworkCommissioningDriver.h
@@ -17,10 +17,11 @@
 
 #pragma once
 
-#include <platform/NetworkCommissioning.h>
 #include <string>
 #include <vector>
 
+#include <platform/NetworkCommissioning.h>
+
 namespace chip {
 namespace DeviceLayer {
 namespace NetworkCommissioning {
diff --git a/src/platform/Tizen/NetworkCommissioningEthernetDriver.cpp b/src/platform/Tizen/NetworkCommissioningEthernetDriver.cpp
index d9e721f..6a95f95 100644
--- a/src/platform/Tizen/NetworkCommissioningEthernetDriver.cpp
+++ b/src/platform/Tizen/NetworkCommissioningEthernetDriver.cpp
@@ -15,17 +15,22 @@
  *    limitations under the License.
  */
 
-#include <lib/support/SafePointerCast.h>
-#include <platform/CHIPDeviceLayer.h>
+#include <ifaddrs.h>
+
+#include <algorithm>
+#include <cerrno>
+#include <cstring>
+#include <iterator>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include <app-common/zap-generated/cluster-enums.h>
+#include <lib/support/CodeUtils.h>
+#include <platform/NetworkCommissioning.h>
 #include <platform/Tizen/ConnectivityUtils.h>
 #include <platform/Tizen/NetworkCommissioningDriver.h>
 
-#include <cerrno>
-#include <ifaddrs.h>
-#include <limits>
-#include <string>
-#include <vector>
-
 namespace chip {
 namespace DeviceLayer {
 namespace NetworkCommissioning {
diff --git a/src/platform/Tizen/NetworkCommissioningThreadDriver.cpp b/src/platform/Tizen/NetworkCommissioningThreadDriver.cpp
index 6a393b6..8d61c5c 100644
--- a/src/platform/Tizen/NetworkCommissioningThreadDriver.cpp
+++ b/src/platform/Tizen/NetworkCommissioningThreadDriver.cpp
@@ -15,16 +15,20 @@
  *    limitations under the License.
  */
 
-#include <lib/support/CodeUtils.h>
-#include <lib/support/SafeInt.h>
-#include <platform/CHIPDeviceLayer.h>
-#include <platform/ThreadStackManager.h>
-#include <platform/Tizen/NetworkCommissioningDriver.h>
-#include <platform/Tizen/ThreadStackManagerImpl.h>
+#include <cstdint>
+#include <cstring>
 
-#include <limits>
-#include <string>
-#include <vector>
+#include <lib/core/CHIPError.h>
+#include <lib/support/CodeUtils.h>
+#include <lib/support/Span.h>
+#include <lib/support/ThreadOperationalDataset.h>
+#include <platform/CHIPDeviceConfig.h>
+#include <platform/ConnectivityManager.h>
+#include <platform/NetworkCommissioning.h>
+#include <platform/ThreadStackManager.h>
+
+#include "NetworkCommissioningDriver.h"
+#include "ThreadStackManagerImpl.h"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/NetworkCommissioningWiFiDriver.cpp b/src/platform/Tizen/NetworkCommissioningWiFiDriver.cpp
index c45f1b2..a71c914 100644
--- a/src/platform/Tizen/NetworkCommissioningWiFiDriver.cpp
+++ b/src/platform/Tizen/NetworkCommissioningWiFiDriver.cpp
@@ -15,14 +15,21 @@
  *    limitations under the License.
  */
 
-#include <lib/support/CodeUtils.h>
-#include <lib/support/SafeInt.h>
-#include <platform/CHIPDeviceLayer.h>
-#include <platform/Tizen/NetworkCommissioningDriver.h>
-
+#include <cstdint>
+#include <cstring>
 #include <limits>
-#include <string>
-#include <vector>
+
+#include <lib/core/CHIPError.h>
+#include <lib/support/CodeUtils.h>
+#include <lib/support/ErrorStr.h>
+#include <lib/support/Span.h>
+#include <lib/support/logging/CHIPLogging.h>
+#include <platform/CHIPDeviceBuildConfig.h>
+#include <platform/KeyValueStoreManager.h>
+#include <platform/NetworkCommissioning.h>
+
+#include "NetworkCommissioningDriver.h"
+#include "WiFiManager.h"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/PlatformManagerImpl.cpp b/src/platform/Tizen/PlatformManagerImpl.cpp
index 6842d00..f893eb9 100644
--- a/src/platform/Tizen/PlatformManagerImpl.cpp
+++ b/src/platform/Tizen/PlatformManagerImpl.cpp
@@ -23,13 +23,22 @@
  *          for Tizen platforms.
  */
 
-#include <platform/internal/CHIPDeviceLayerInternal.h>
-
-#include <platform/DeviceInstanceInfoProvider.h>
+/**
+ * Note: Use public include for PlatformManager which includes our local
+ *       platform/<PLATFORM>/PlatformManager.h after defining interface
+ *       class. */
 #include <platform/PlatformManager.h>
+
+#include <lib/core/CHIPError.h>
+#include <lib/support/CodeUtils.h>
+#include <platform/DeviceInstanceInfoProvider.h>
 #include <platform/Tizen/DeviceInstanceInfoProviderImpl.h>
-#include <platform/Tizen/DiagnosticDataProviderImpl.h>
-#include <platform/internal/GenericPlatformManagerImpl_POSIX.ipp>
+
+#include "PosixConfig.h"
+#include "platform/internal/GenericPlatformManagerImpl.h"
+#include "platform/internal/GenericPlatformManagerImpl.ipp"
+#include "platform/internal/GenericPlatformManagerImpl_POSIX.h"
+#include "platform/internal/GenericPlatformManagerImpl_POSIX.ipp"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/PlatformManagerImpl.h b/src/platform/Tizen/PlatformManagerImpl.h
index f21cfea..1c8cfd5 100644
--- a/src/platform/Tizen/PlatformManagerImpl.h
+++ b/src/platform/Tizen/PlatformManagerImpl.h
@@ -23,7 +23,10 @@
 
 #pragma once
 
-#include <platform/internal/GenericPlatformManagerImpl_POSIX.h>
+#include <lib/core/CHIPError.h>
+#include <platform/ConnectivityManager.h>
+
+#include "platform/internal/GenericPlatformManagerImpl_POSIX.h"
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/PosixConfig.cpp b/src/platform/Tizen/PosixConfig.cpp
index 9b9e57a..f5c641a 100644
--- a/src/platform/Tizen/PosixConfig.cpp
+++ b/src/platform/Tizen/PosixConfig.cpp
@@ -24,13 +24,10 @@
  *          key-value config calls to the correct partition.
  */
 
-#include <platform/internal/CHIPDeviceLayerInternal.h>
-#include <platform/internal/testing/ConfigUnitTest.h>
+#include "PosixConfig.h"
 
-#include <lib/core/CHIPEncoding.h>
 #include <lib/support/CodeUtils.h>
 #include <platform/KeyValueStoreManager.h>
-#include <platform/Tizen/PosixConfig.h>
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/PosixConfig.h b/src/platform/Tizen/PosixConfig.h
index 459dd98..197adad 100644
--- a/src/platform/Tizen/PosixConfig.h
+++ b/src/platform/Tizen/PosixConfig.h
@@ -23,8 +23,8 @@
 
 #pragma once
 
-#include <functional>
-#include <inttypes.h>
+#include <cstdint>
+#include <cstring>
 
 #include <lib/core/CHIPError.h>
 
diff --git a/src/platform/Tizen/SystemPlatformConfig.h b/src/platform/Tizen/SystemPlatformConfig.h
index 761a1c3..d501e42 100644
--- a/src/platform/Tizen/SystemPlatformConfig.h
+++ b/src/platform/Tizen/SystemPlatformConfig.h
@@ -24,7 +24,7 @@
 
 #pragma once
 
-#include <stdint.h>
+#include <cstdint>
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/SystemTimeSupport.cpp b/src/platform/Tizen/SystemTimeSupport.cpp
index b885eda..bfc33b7 100644
--- a/src/platform/Tizen/SystemTimeSupport.cpp
+++ b/src/platform/Tizen/SystemTimeSupport.cpp
@@ -23,16 +23,20 @@
  *          time/clock functions that are suitable for use on the Tizen platform.
  */
 
-#include <platform/internal/CHIPDeviceLayerInternal.h>
-
-#include <lib/support/TimeUtils.h>
-#include <lib/support/logging/CHIPLogging.h>
-
-#include <chrono>
-#include <errno.h>
-#include <inttypes.h>
 #include <sys/time.h>
 
+#include <cerrno>
+#include <chrono>
+#include <cstdint>
+#include <ctime>
+
+#include <core/CHIPBuildConfig.h>
+#include <lib/core/CHIPError.h>
+#include <lib/support/logging/CHIPLogging.h>
+#include <system/SystemClock.h>
+#include <system/SystemConfig.h>
+#include <system/SystemError.h>
+
 namespace chip {
 namespace System {
 namespace Clock {
diff --git a/src/platform/Tizen/ThreadStackManagerImpl.cpp b/src/platform/Tizen/ThreadStackManagerImpl.cpp
index 1a70879..c7cca44 100644
--- a/src/platform/Tizen/ThreadStackManagerImpl.cpp
+++ b/src/platform/Tizen/ThreadStackManagerImpl.cpp
@@ -21,17 +21,38 @@
  *          for Tizen platform.
  */
 
-#include <platform/internal/CHIPDeviceLayerInternal.h>
-#include <platform/internal/DeviceNetworkInfo.h>
+/**
+ * Note: ThreadStackManager requires ConnectivityManager to be defined
+ *       beforehand, otherwise we will face circular dependency between them. */
+#include <platform/ConnectivityManager.h>
 
-#include <lib/support/CodeUtils.h>
-#include <lib/support/logging/CHIPLogging.h>
-#include <platform/PlatformManager.h>
+/**
+ * Note: Use public include for ThreadStackManager which includes our local
+ *       platform/<PLATFORM>/ThreadStackManagerImpl.h after defining interface
+ *       class. */
 #include <platform/ThreadStackManager.h>
-#include <platform/Tizen/NetworkCommissioningDriver.h>
 
-#include "ThreadStackManagerImpl.h"
+#include <endian.h>
+
+#include <cstring>
+
+#include <thread.h>
+
+#include <app/AttributeAccessInterface.h>
+#include <inet/IPAddress.h>
+#include <lib/core/CHIPError.h>
+#include <lib/core/DataModelTypes.h>
+#include <lib/dnssd/Constants.h>
 #include <lib/dnssd/platform/Dnssd.h>
+#include <lib/support/CodeUtils.h>
+#include <lib/support/Span.h>
+#include <lib/support/ThreadOperationalDataset.h>
+#include <platform/CHIPDeviceConfig.h>
+#include <platform/CHIPDeviceEvent.h>
+#include <platform/NetworkCommissioning.h>
+#include <platform/PlatformManager.h>
+
+#include <platform/Tizen/ThreadStackManagerImpl.h>
 
 namespace chip {
 namespace DeviceLayer {
diff --git a/src/platform/Tizen/ThreadStackManagerImpl.h b/src/platform/Tizen/ThreadStackManagerImpl.h
index 40a4cdc..5671853 100644
--- a/src/platform/Tizen/ThreadStackManagerImpl.h
+++ b/src/platform/Tizen/ThreadStackManagerImpl.h
@@ -23,15 +23,22 @@
 
 #pragma once
 
-#include <memory>
+#include <cstdint>
 
-#include <lib/support/ThreadOperationalDataset.h>
-#include <platform/internal/CHIPDeviceLayerInternal.h>
-#include <platform/internal/DeviceNetworkInfo.h>
-
-#include <gio/gio.h>
 #include <thread.h>
 
+#include <app/AttributeAccessInterface.h>
+#include <inet/IPAddress.h>
+#include <lib/core/CHIPError.h>
+#include <lib/core/DataModelTypes.h>
+#include <lib/support/Span.h>
+#include <lib/support/ThreadOperationalDataset.h>
+#include <platform/CHIPDeviceConfig.h>
+#include <platform/CHIPDeviceEvent.h>
+#include <platform/NetworkCommissioning.h>
+
+#include "platform/internal/DeviceNetworkInfo.h"
+
 namespace chip {
 namespace DeviceLayer {
 
diff --git a/src/platform/Tizen/WiFiManager.cpp b/src/platform/Tizen/WiFiManager.cpp
index e0a6df9..7731ffc 100644
--- a/src/platform/Tizen/WiFiManager.cpp
+++ b/src/platform/Tizen/WiFiManager.cpp
@@ -15,14 +15,22 @@
  *    limitations under the License.
  */
 
-#include <platform/CHIPDeviceLayer.h>
+#include "WiFiManager.h"
 
-#if CHIP_DEVICE_CONFIG_ENABLE_WIFI
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
 #include <memory>
+#include <utility>
+
+#include <tizen.h>
 #include <wifi-manager.h>
 
+#include <lib/support/CodeUtils.h>
+#include <lib/support/Span.h>
+#include <lib/support/logging/CHIPLogging.h>
+
 #include "MainLoop.h"
-#include "WiFiManager.h"
 
 namespace {
 static constexpr const char * __WiFiDeviceStateToStr(wifi_manager_device_state_e state)
@@ -867,4 +875,3 @@
 } // namespace Internal
 } // namespace DeviceLayer
 } // namespace chip
-#endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI
diff --git a/src/platform/Tizen/WiFiManager.h b/src/platform/Tizen/WiFiManager.h
index acbe231..f37e2f1 100644
--- a/src/platform/Tizen/WiFiManager.h
+++ b/src/platform/Tizen/WiFiManager.h
@@ -17,13 +17,17 @@
 
 #pragma once
 
-#if CHIP_DEVICE_CONFIG_ENABLE_WIFI
-#include <platform/NetworkCommissioning.h>
-#include <platform/internal/DeviceNetworkInfo.h>
+#include <cstddef>
+#include <cstdint>
 
 #include <glib.h>
 #include <wifi-manager.h>
 
+#include <lib/core/CHIPError.h>
+#include <platform/NetworkCommissioning.h>
+
+#include "platform/internal/DeviceNetworkInfo.h"
+
 namespace chip {
 namespace DeviceLayer {
 namespace Internal {
@@ -103,5 +107,3 @@
 } // namespace Internal
 } // namespace DeviceLayer
 } // namespace chip
-
-#endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI
