doc: Add binding document for fconf.

Complete the documentation with information on how to write a DTS for
fconf. This patch adds the bindings information for dynamic
configuration properties.

Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Change-Id: Ic6d9f927df53bb87315c23ec5a8943d0c3258d45
diff --git a/docs/components/fconf/fconf_properties.rst b/docs/components/fconf/fconf_properties.rst
new file mode 100644
index 0000000..5c28a7a
--- /dev/null
+++ b/docs/components/fconf/fconf_properties.rst
@@ -0,0 +1,32 @@
+DTB binding for FCONF properties
+================================
+
+This document describes the device tree format of |FCONF| properties. These
+properties are not related to a specific platform and can be queried from
+common code.
+
+Dynamic configuration
+~~~~~~~~~~~~~~~~~~~~~
+
+The |FCONF| framework expects a *dtb-registry* node with the following field:
+
+- compatible [mandatory]
+   - value type: <string>
+   - Must be the string "fconf,dyn_cfg-dtb_registry".
+
+Then a list of subnodes representing a configuration |DTB|, which can be used
+by |FCONF|. Each subnode should be named according to the information it
+contains, and must be formed with the following fields:
+
+- load-address [mandatory]
+    - value type: <u64>
+    - Physical loading base address of the configuration.
+
+- max-size [mandatory]
+    - value type: <u32>
+    - Maximum size of the configuration.
+
+- id [mandatory]
+    - value type: <u32>
+    - Image ID of the configuration.
+
diff --git a/docs/components/fconf.rst b/docs/components/fconf/index.rst
similarity index 90%
rename from docs/components/fconf.rst
rename to docs/components/fconf/index.rst
index 7352ac3..0da56ec 100644
--- a/docs/components/fconf.rst
+++ b/docs/components/fconf/index.rst
@@ -81,6 +81,10 @@
 This second level wrapper can be used to remap the ``FCONF_GET_PROPERTY()`` to
 anything appropriate: structure, array, function, etc..
 
+To ensure a good interpretation of the properties, this documentation must
+explain how the properties are described for a specific backend. Refer to the
+:ref:`binding-document` section for more information and example.
+
 Loading the property device tree
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -88,7 +92,7 @@
 the properties' values. This must be done after the io layer is initialized, as
 the |DTB| is stored on an external device (FIP).
 
-.. uml:: ../resources/diagrams/plantuml/fconf_bl1_load_config.puml
+.. uml:: ../../resources/diagrams/plantuml/fconf_bl1_load_config.puml
 
 Populating the properties
 ~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -98,7 +102,7 @@
 This function will call all the ``populate()`` callbacks which have been
 registered with ``FCONF_REGISTER_POPULATOR()`` as described above.
 
-.. uml:: ../resources/diagrams/plantuml/fconf_bl2_populate.puml
+.. uml:: ../../resources/diagrams/plantuml/fconf_bl2_populate.puml
 
 Namespace guidance
 ~~~~~~~~~~~~~~~~~~
@@ -129,3 +133,12 @@
 Example:
  - Arm io framework: arm.io_policies.bl31_id
 
+.. _binding-document:
+
+Properties binding information
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. toctree::
+  :maxdepth: 1
+
+  fconf_properties
diff --git a/docs/components/index.rst b/docs/components/index.rst
index 49986ca..e3ce614 100644
--- a/docs/components/index.rst
+++ b/docs/components/index.rst
@@ -10,7 +10,7 @@
    arm-sip-service
    debugfs-design
    exception-handling
-   fconf
+   fconf/index
    firmware-update
    platform-interrupt-controller-API
    ras