Docs: Add document for header file and Kconfig system

Change-Id: I3dfb9b271e10a5b9ee999ce9aa59979d1581a276
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/docs/configuration/index.rst b/docs/configuration/index.rst
index 29db514..391620c 100644
--- a/docs/configuration/index.rst
+++ b/docs/configuration/index.rst
@@ -15,6 +15,8 @@
     :glob:
 
     build_configuration.rst
+    Component configuration <header_file_system>
+    Kconfig <kconfig_system>
     Profiles <profiles/index>
     test_configuration.rst
 
@@ -23,25 +25,23 @@
 them to their requirements. There are two types of configuration options
 
 Building configuration
-   Specifies which file or component to include into compilation and build.
-   These are options, usually used by a build system to enable/disable
-   modules, specify location of external dependency or other selection,
-   global to a project. These options shall be considered while adopting TF-M
-   to other build systems.
-   In the Base configuration table theses options have *Build* type.
+  Specifies which file or component to include into compilation and build.
+  These are options, usually used by a build system to enable/disable
+  modules, specify location of external dependency or other selection, global to
+  a project. Please check the corresponded section :ref:`tfm_cmake_configuration`
 
 Component tuning
    To adjust a particular parameter to a desired value. Those options are
    local to a component or externally referenced when components are coupled.
-   Options are in C header file. The <Header_configuration> has more details about it.
-   In the Base configuration table theses options have *Component* type.
+   Options are in C header file. The :ref:`Header_configuration` has more
+   details about it.
 
 .. Note::
    Originally, TF-M used CMake variables for both building and component tuning
    purposes. It was convenient to have a single system for both building and
    component's configurations. To simplify and improve configurability and
    better support build systems other than a CMake, TF-M introduced a
-   Header configuration and moved component options into a dedicated
+   :ref:`Header_configuration` and moved component options into a dedicated
    config headers.
 
 ****************
@@ -52,8 +52,8 @@
 SPM and platform code only. Starting from the base, users can enable required
 services and features using several independent methods to configure TF-M.
 
-Use <Profiles>.
-   There are 4 sets of predefined configurations for a selected
+Use :ref:`tf-m_profiles`.
+   There are 4 sets of predefined configurations for a elected
    use cases, called profiles. A user can select a profile by providing
    -DTFM_PROFILE=<profile file name>.
    Each profiles represented by a pair of configuration files for
@@ -64,11 +64,11 @@
    options manually editing CMake and config header files. This is for users
    familiar with TF-M.
 
-Use <Kconfig_system>.
+Use :ref:`Kconfig_system`.
    This method is recommended for beginners. Starting from the
-   <base configuration> a user can enable necessary services and options.
+   *base configuration* a user can enable necessary services and options.
    KConfig ensurers that all selected options are consistent and valid.
-   This is new in v1.7.0 and it covers only SPM and PSA ervices. As an output
+   This is new in v1.7.0 and it covers only SPM and PSA services. As an output
    KConfig produces a pair of configuration files, similar to a profile.
 
 .. Note::
@@ -83,7 +83,7 @@
 
 A project configueration performed in multiple steps with priorities.
 The list below explains the process but for the details specific to
-:ref:`tfm_cmake_configuration` or <Header_configuration> please
+:ref:`tfm_cmake_configuration` or :ref:`Header_configuration` please
 check the corresponded document.
 
 #. The base configuration with default values is used as a starting point