diff --git a/docs/index.md b/docs/index.md
index 64d9193..ca28860 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -861,7 +861,7 @@
 
 #### Config group
 
-Build helper categorizes all the TF-M configs that are built in CI into different [groups](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=refs/heads/release/1.7.x#n937), depending on CI jobs. The config groups for each CI job are set as the default value of [Filter Group](https://git.trustedfirmware.org/ci/tf-m-job-configs.git/tree/tf-m-nightly.yaml?h=refs/heads/release/1.7.x#n24), which is configured by [tf-m-job-configs](https://git.trustedfirmware.org/ci/tf-m-job-configs.git).
+Build helper categorizes all the TF-M configs that are built in CI into different [groups](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=TF-Mv1.8.0#n938), depending on CI jobs. The config groups for each CI job are set as the default value of [Filter Group](https://git.trustedfirmware.org/ci/tf-m-job-configs.git/tree/tf-m-nightly.yaml?h=TF-Mv1.8.0#n24), which is configured by [tf-m-job-configs](https://git.trustedfirmware.org/ci/tf-m-job-configs.git).
 
 <figure markdown>
   <div style="text-align: center">
@@ -878,21 +878,21 @@
 | tfm_platform     | TFM_PLATFORM              | arm/mps2/an521, etc.                             |
 | compiler         | TFM_TOOLCHAIN_FILE        | ARMCLANG_6_13 (ARMClang v6.13), etc.             |
 | isolation_level  | TFM_ISOLATION_LEVEL       | 1 / 2 / 3                                        |
-| test_regression  | TEST_BL2, TEST_S, TEST_NS | True / False                                     |
+| test_regression  | TEST_BL2, TEST_S, TEST_NS | OFF / RegBL2 / RegS / RegNS                      |
 | test_psa_api     | TEST_PSA_API              | OFF / IPC / CRYPTO/INITIAL_ATTESTATION / STORAGE |
 | cmake_build_type | CMAKE_BUILD_TYPE          | Debug / Release / Minsizerel                     |
 | with_bl2         | BL2                       | True / False                                     |
 | profile          | TFM_PROFILE               | profile_small / profile_medium / profile_medium_arotless / profile_large,<br>empty string for base profile by default |
-| extra_params     | Other customized configs  | Build config abbreviation in [mapExtraParams](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_config_maps.py?h=refs/heads/release/1.7.x#n56) |
+| extra_params     | Other customized configs  | Build config abbreviation in [mapExtraParams](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_config_maps.py?h=TF-Mv1.8.0#n56) |
 
-For example, in config group [config_profile_m_arotless](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=refs/heads/release/1.7.x#n376), 24 configs are generated by combining values in each seed params.
+For example, in config group [config_profile_m_arotless](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py#n366), 24 configs are generated by combining values in each seed params.
 
 ```
 config_profile_m_arotless = {"seed_params": {
                              "tfm_platform":     ["arm/musca_b1"],
                              "compiler":         ["GCC_10_3", "ARMCLANG_6_13"],
                              "isolation_level":  ["1"],
-                             "test_regression":  [True, False],
+                             "test_regression":  ["OFF", "RegBL2, RegS, RegNS"],
                              "test_psa_api":     ["OFF"],
                              "cmake_build_type": ["Debug", "Release", "Minsizerel"],
                              "with_bl2":         [True],
@@ -904,9 +904,9 @@
                              }
 ```
 
-The combination of these 9 *seed_params* is filled into the [build config template](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=refs/heads/release/1.7.x#n48) by Build Helper and finally generates the complete TF-M build command for this config.
+The combination of these 9 *seed_params* is filled into the [build config template](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=TF-Mv1.8.0#n48) by Build Helper and finally generates the complete TF-M build command for this config.
 
-To add some specific TF-M build parameters into the build command, a map of *"abbreviation: build command"* is added to [mapExtraParams](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_config_maps.py?h=refs/heads/release/1.7.x#n56) in build_helper_config_maps.py, and the abbreviation is added to *extra_params*.  For example, *"PSOFF"* in config group *config_profile_m_arotless* is the abbreviation of build config *"-DTFM_PARTITION_PROTECTED_STORAGE=OFF "*.
+To add some specific TF-M build parameters into the build command, a map of *"abbreviation: build command"* is added to [mapExtraParams](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_config_maps.py?h=TF-Mv1.8.0#n56) in build_helper_config_maps.py, and the abbreviation is added to *extra_params*.  For example, *"PSOFF"* in config group *config_profile_m_arotless* is the abbreviation of build config *"-DTFM_PARTITION_PROTECTED_STORAGE=OFF "*.
 
 #### Filter out invalid configs
 
@@ -917,7 +917,7 @@
                     "tfm_platform":     ["arm/mps2/an519", "arm/mps2/an521"],
                     "compiler":         ["GCC_10_3", "ARMCLANG_6_13"],
                     "isolation_level":  ["1"],
-                    "test_regression":  [True, False],
+                    "test_regression":  ["OFF", "RegBL2, RegS, RegNS"],
                     "test_psa_api":     ["OFF"],
                     "cmake_build_type": ["Debug", "Release", "Minsizerel"],
                     "with_bl2":         [True],
@@ -934,11 +934,11 @@
 
 #### Extra commands after building TF-M
 
-If any extra command is needed by some platforms after building TF-M, the command is added to [build_cmds](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=refs/heads/release/1.7.x). For example, Musca B1 needs to run *srec_cat* command to generate the final image, the command is added [here](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=refs/heads/release/1.7.x#n78).
+If any extra command is needed by some platforms after building TF-M, the command is added to [build_cmds](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=TF-Mv1.8.0#n76). For example, Musca B1 needs to run *srec_cat* command to generate the final image, the command is added [here](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_configs.py?h=TF-Mv1.8.0#n77).
 
 #### Config name format
 
-To keep the config name short and clear, config tuple is converted to string in a brief format, by using abbreviations to map the long config parameters into a shorter format in [build_helper_config_maps.py](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_config_maps.py?h=refs/heads/release/1.7.x). The detailed conversion logic is [here](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/tfm_ci_pylib/tfm_build_manager.py?h=refs/heads/release/1.7.x#n573).
+To keep the config name short and clear, config tuple is converted to string in a brief format, by using abbreviations to map the long config parameters into a shorter format in [build_helper_config_maps.py](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/build_helper/build_helper_config_maps.py?h=TF-Mv1.8.0). The detailed conversion logic is [here](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/tfm_ci_pylib/tfm_build_manager.py?h=TF-Mv1.8.0#n573).
 
 #### How to add new configs
 
@@ -974,19 +974,25 @@
 
 LAVA helper is a tool to generate config files for [LAVA instance](#tf-lava-instance). The config files are submitted to LAVA server by Jenkins to run TF-M images on LAVA boards and monitor the test results.
 
-All Open CI supported boards (including FVPs) are listed in [lava_gen_config_map](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=refs/heads/release/1.7.x#n296), mapped with their configurations. The values of each config are filled by LAVA helper into the corresponding jinja2 template of the platform in [lava_helper/jinja2_templates](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/jinja2_templates?h=refs/heads/release/1.7.x).
+All Open CI supported boards (including FVPs) are listed in [lava_gen_config_map](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=TF-Mv1.8.0#n279), mapped with their configurations. The values of each config are filled by LAVA helper into the corresponding jinja2 template of the platform in [lava_helper/jinja2_templates](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/jinja2_templates?h=TF-Mv1.8.0).
 
-For exmple, in [MPS2 FVP template file](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/jinja2_templates/fvp_mps2.jinja2?h=refs/heads/release/1.7.x), the path of FVP image and FVP command are set in this file. LAVA helper fills all the config values in [fvp_mps2_an521_bl2](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=refs/heads/release/1.7.x#n151) into this template file, and then submit this config file to LAVA server to start the test on MPS2 FVP.
+For exmple, in [MPS2 FVP template file](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/jinja2_templates/fvp_mps2.jinja2?h=TF-Mv1.8.0), the path of FVP image and FVP command are set in this file. LAVA helper fills all the config values in [fvp_mps2_an521_bl2](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=TF-Mv1.8.0#n133) into this template file, and then submit this config file to LAVA server to start the test on MPS2 FVP.
 
 To decide whether the test run as expected, LAVA server uses __*monitors*__ to monitor the target log strings. Once the specified string is matched by LAVA monitor before timeout, it means that the test works as expected. Otherwise the tests fail.
 
-There are five kinds of LAVA monitors defined in TF-M Open CI:
+There are 5 kinds of LAVA monitor configs defined in TF-M Open CI:
 
- * [monitors_no_reg_tests](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=refs/heads/release/1.7.x#n33): Applied when regression tests are disabled.
- * [monitors_mcuboot_tests](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=refs/heads/release/1.7.x#n44): Applied when BL2 tests are enabled.
- * [monitors_s_reg_tests](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=refs/heads/release/1.7.x#n52): Applied when secure regression tests are enabled.
- * [monitors_ns_reg_tests](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=refs/heads/release/1.7.x#n60): Applied when non-secure regression tests are enabled.
- * [monitors_arch_tests](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py?h=refs/heads/release/1.7.x#n68): Applied when PSA Arch tests are enabled.
+ * [no_reg_tests_monitors_cfg](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py#n33): Applied when regression tests are disabled.
+ * [mcuboot_tests_monitor_cfg](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py#n44): Applied when BL2 tests are enabled.
+ * [s_reg_tests_monitors_cfg](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py#n52): Applied when secure regression tests are enabled.
+ * [ns_reg_tests_monitors_cfg](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py#n60): Applied when non-secure regression tests are enabled.
+ * [arch_tests_monitors_cfg](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py#n68): Applied when PSA Arch tests are enabled.
+
+These configs are categorized into 3 groups to deal with different kinds of LAVA tests:
+
+ * [no_reg_tests_monitors](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py#n79): Consisted of monitor configs for no regression tests.
+ * [reg_tests_monitors](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py#n81): According to build parameter "TEST_REGRESSION", monitor configs for regression tests of BL2, Secure and Non-Secure are correspondingly appended to this group.
+ * [arch_tests_monitors](https://git.trustedfirmware.org/ci/tf-m-ci-scripts.git/tree/lava_helper/lava_helper_configs.py#n86): Consisted of monitor configs for PSA Arch tests.
 
 #### How to add new platform
 
