diff --git a/docs/tfm_erpc_test_build_and_run.rst b/docs/tfm_erpc_test_build_and_run.rst
new file mode 100644
index 0000000..920e3f2
--- /dev/null
+++ b/docs/tfm_erpc_test_build_and_run.rst
@@ -0,0 +1,226 @@
+###################################
+Run TF-M regression tests with eRPC
+###################################
+
+This document aims to show the steps of building and running the NS regression
+test suites based on TF-M's eRPC framework and to serve as an example
+which can be followed for other tests and basically for any application
+that wants to interface with TF-M through the PSA client APIs using eRPC.
+
+The description assumes that the basic steps and requirements [1]_ of building
+the TF-M regression test code are known.
+
+***************************
+eRPC specific build options
+***************************
+
+When using the eRPC framework it is required to provide a few additional
+parameters to specify which kind of transportation should be used for a given
+target. These parameters depending on the transport of choice are listed below
+and should be passed as CMake command line parameters.
+
++----------------+--------------------------------------------------------------------------+
+| Parameter      | Description                                                              |
++================+==========================================================================+
+| ERPC_TRANSPORT | Selected method of transportation. It can be either ``TCP`` or ``UART``. |
++----------------+--------------------------------------------------------------------------+
+| ERPC_HOST      | Hostname/IP address of eRPC server to connect to (for TCP only).         |
++----------------+--------------------------------------------------------------------------+
+| ERPC_PORT      | Port number of eRPC server to connect to (for TCP only).                 |
++----------------+--------------------------------------------------------------------------+
+| PORT_NAME      | Serial port to use for communication with eRPC server (for UART only).   |
++----------------+--------------------------------------------------------------------------+
+
+As it was already mentioned in the
+:doc:`TF-M eRPC Test Framework <tfm_test_suites_addition>` documentation,
+it is recommended to assign a separate UART device to the eRPC
+communication to avoid collision with other data (e.g. log messages) being sent
+on UART. In the simplest configuration if there is only one serial device
+available on the target (due to any limitation) all types of log messages from
+the device must be disabled. When the build type is set to either
+``MinSizeRel`` (default) or ``Release`` all logging in TF-M
+(BLx, SPM, Secure Partitions) is disabled automatically. Otherwise, one must
+disable logging manually by setting the following build options
+(if available on the given target):
+
++-------------------------+-------------------------------------+
+| Parameter               | Value                               |
++=========================+=====================================+
+| TFM_BL1_LOG_LEVEL       | ``LOG_LEVEL_NONE``                  |
++-------------------------+-------------------------------------+
+| MCUBOOT_LOG_LEVEL       | ``OFF``                             |
++-------------------------+-------------------------------------+
+| TFM_SPM_LOG_LEVEL       | ``TFM_SPM_LOG_LEVEL_SILENCE``       |
++-------------------------+-------------------------------------+
+| TFM_PARTITION_LOG_LEVEL | ``TFM_PARTITION_LOG_LEVEL_SILENCE`` |
++-------------------------+-------------------------------------+
+
+Execute tests on TC3 FVP with TCP Transport
+===========================================
+
+On TC3 we are using the same UART device for eRPC communication as for logging.
+In this case we are setting the build type to ``Release`` and therefore we do
+not need to manually disable any logs.
+
+Build instructions for TC3
+--------------------------
+
+Build TF-M (target SPE image):
+
+.. code-block:: bash
+
+    cd <TF-M tests base folder>
+    cmake -S tests_reg/spe -B <TF-M build dir> \
+        -DTFM_PLATFORM=arm/rse/tc/tc3 \
+        -DCONFIG_TFM_SOURCE_PATH=<TF-M source dir absolute path> \
+        -DCMAKE_BUILD_TYPE=Release \
+        -DTFM_TOOLCHAIN_FILE=<TF-M source dir absolute path>/toolchain_GNUARM.cmake \
+        -DMCUBOOT_IMAGE_NUMBER=2 \
+        -DRSE_LOAD_NS_IMAGE=ON \
+        -DTEST_NS=ON
+    cmake --build <TF-M build dir> -- install
+
+Build eRPC server application (target NSPE image):
+
+.. code-block:: bash
+
+    cd <TF-M tests base folder>
+    cmake -S erpc/server/app -B <NS build dir> \
+        -DCONFIG_SPE_PATH=<TF-M build dir>/api_ns \
+        -DCMAKE_BUILD_TYPE=Release
+    cmake --build <NS build dir>
+
+Build test application and eRPC client (host image):
+
+.. code-block:: bash
+
+    cd <TF-M tests base folder>/erpc/tfm_reg_tests
+    cmake -S . -B <Test app build dir> \
+        -DCONFIG_SPE_PATH=<TF-M build dir>/api_ns \
+        -DERPC_REPO_PATH=<NS build dir>/lib/ext/erpc-src \
+        -DERPC_TRANSPORT=TCP \
+        -DERPC_HOST="0.0.0.0" \
+        -DERPC_PORT=5005
+    cmake --build <Test app build dir>
+
+Run the code on the TC3 FVP model
+---------------------------------
+
+The basic steps of creating the required images (e.g ROM and flash images)
+for the Total Compute TC3 platform are covered in the `RSE documentation
+<https://trustedfirmware-m.readthedocs.io/en/latest/platform/arm/rse/readme.html>`_.
+To run the tests, the latest available TC3 FVP (Fixed Virtual Platform) model
+can be downloaded from the `Arm Developer Hub
+<https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms/Total%20Compute%20FVPs>`_.
+
+.. code-block:: bash
+
+    <PATH to FVP model folder>FVP_TC3 \
+        -C css.terminal_uart_ap.start_port=5000 \
+        -C css.terminal_uart1_ap.start_port=5001 \
+        -C css.sms.scp.terminal_uart.start_port=5002 \
+        -C css.sms.rse_terminal_uart.start_port=5003 \
+        -C soc.terminal_s0.start_port=5004 \
+        -C soc.terminal_s1.start_port=5005 \
+        -C soc.terminal_s1.start_telnet=0 \
+        -C soc.terminal_s1.quiet=1 \
+        -C soc.terminal_s1.mode=raw \
+        -C soc.pl011_uart1.unbuffered_output=1 \
+        -C soc.pl011_uart1.enable_dc4=0 \
+        -C displayController=2 \
+        -C css.sms.rse.sic.SIC_AUTH_ENABLE=1 \
+        -C css.sms.rse.sic.SIC_DECRYPT_ENABLE=1 \
+        -C css.sms.rse.VMADDRWIDTH=16 \
+        -C css.sms.rse.intchecker.ICBC_RESET_VALUE=0x0000011B \
+        -C css.sms.rse.rom.raw_image=<rse_rom.bin> \
+        -C board.flashloader0.fname=<host_flash_fip.bin> \
+        --data css.sms.rse.sram0=<encrypted_cm_provisioning_bundle_0.bin>@0x400 \
+        --data css.sms.rse.sram1=<encrypted_dm_provisioning_bundle_0.bin>@0x0
+
+Execute tests on AN521 FVP with TCP Transport
+=============================================
+
+On this platform several UART devices are available, therefore we can assign
+an unused one exclusively to the eRPC communication while we can keep all
+logging enabled.
+
+Build instructions for AN521
+----------------------------
+
+Build TF-M (device SPE image):
+
+.. code-block:: bash
+
+    cd <TF-M tests base folder>
+    cmake -S tests_reg/spe -B <TF-M build dir> \
+        -DTFM_PLATFORM=arm/mps2/an521 \
+        -DCONFIG_TFM_SOURCE_PATH=<TF-M source dir absolute path> \
+        -DCMAKE_BUILD_TYPE=Debug \
+        -DTFM_TOOLCHAIN_FILE=<TF-M source dir absolute path>/toolchain_GNUARM.cmake \
+        -DTEST_NS=ON
+    cmake --build <TF-M build dir> -- install
+
+Build eRPC server application (device NSPE image):
+
+.. code-block:: bash
+
+    cd <TF-M tests base folder>
+    cmake -S erpc/server/app -B <NS build dir> \
+        -DCONFIG_SPE_PATH=<TF-M build dir>/api_ns \
+        -DCMAKE_BUILD_TYPE=Debug
+    cmake --build <NS build dir>
+
+
+Build test application and eRPC client (host image):
+
+.. code-block:: bash
+
+    cd <TF-M tests base folder>/erpc/tfm_reg_tests
+    cmake -S . -B <Test app build dir> \
+        -DCONFIG_SPE_PATH=<TF-M build dir>/api_ns \
+        -DERPC_REPO_PATH=<NS build dir>/lib/ext/erpc-src \
+        -DERPC_TRANSPORT=TCP \
+        -DERPC_HOST="0.0.0.0" \
+        -DERPC_PORT=5001
+    cmake --build <Test app build dir>
+
+Run the code on the AN521 FVP model
+-----------------------------------
+
+To run the test application we are using the FVP_MPS2_AEMv8M model provided
+by `Arm Development Studio`_ or the FVP can be downloaded from the
+`Developer Hub <https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms/Arm%20Architecture%20FVPs>`_.
+
+.. code-block:: bash
+
+    <PATH to FVP model folder>/FVP_MPS2_AEMv8M  \
+        --parameter fvp_mps2.platform_type=2 \
+        --parameter cpu0.baseline=0 \
+        --parameter cpu0.INITVTOR_S=0x10000000 \
+        --parameter cpu0.semihosting-enable=0 \
+        --parameter fvp_mps2.DISABLE_GATING=0 \
+        --parameter fvp_mps2.telnetterminal0.start_telnet=1 \
+        --parameter fvp_mps2.telnetterminal1.start_telnet=0 \
+        --parameter fvp_mps2.telnetterminal2.start_telnet=0 \
+        --parameter fvp_mps2.telnetterminal0.quiet=0 \
+        --parameter fvp_mps2.telnetterminal1.quiet=1 \
+        --parameter fvp_mps2.telnetterminal2.quiet=1 \
+        --parameter fvp_mps2.telnetterminal0.start_port=5000 \
+        --parameter fvp_mps2.telnetterminal1.start_port=5001 \
+        --parameter fvp_mps2.telnetterminal1.mode=raw \
+        --parameter fvp_mps2.UART1.unbuffered_output=1 \
+        --application cpu0=<TF-M build dir>/bin/bl2.axf \
+        --data cpu0=<NS build dir>/tfm_s_ns_signed.bin@0x10080000 \
+        -M 1
+
+References
+----------
+
+.. [1] :doc:`Building TF-M Tests <TF-M:building/tests_build_instruction>`
+
+.. _Arm Development Studio: https://developer.arm.com/tools-and-software/embedded/arm-development-studio
+
+--------------
+
+ *SPDX-License-Identifier: BSD-3-Clause*
+ *SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors*
diff --git a/docs/tfm_erpc_test_framework.rst b/docs/tfm_erpc_test_framework.rst
index bb82595..0945ddc 100644
--- a/docs/tfm_erpc_test_framework.rst
+++ b/docs/tfm_erpc_test_framework.rst
@@ -209,7 +209,17 @@
   - ``add_subdirectory`` with the ``erpc/client``,
   - link the ``erpc_client`` library to the application.
 
-There is also an example at ``erpc/host_example`` for reference.
+For more information on how to build and run the TF-M regression test suites
+on various platforms please refer to :doc:`this document <tfm_erpc_test_build_and_run>`.
+There is also an example of a simple host application at
+``erpc/host_example`` for reference.
+
+.. toctree::
+  :caption: Examples
+  :titlesonly:
+  :hidden:
+
+  eRPC Test Build and Run <tfm_erpc_test_build_and_run>
 
 --------------
 
