aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Dykes <mardyk01@review.trustedfirmware.org>2020-03-16 18:35:36 +0000
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2020-03-16 18:35:36 +0000
commit5e9369e818689a0aec094db39461099fd999867f (patch)
treefcd203ca57b221179229f4ceaeb5dbff526b5f4c
parentbb37363bd30f5ccc625f47350d3ae56ddcddb236 (diff)
parent6a7b3ce7edcdceb664c56f19280d14b8f442cba4 (diff)
downloadtrusted-firmware-a-5e9369e818689a0aec094db39461099fd999867f.tar.gz
Merge "fconf: Add namespace guidance inside documentation" into integration
-rw-r--r--docs/components/fconf.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/components/fconf.rst b/docs/components/fconf.rst
index 4ea1f5ba06..3856600835 100644
--- a/docs/components/fconf.rst
+++ b/docs/components/fconf.rst
@@ -99,3 +99,30 @@ 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
+
+Namespace guidance
+~~~~~~~~~~~~~~~~~~
+
+As mentioned above, properties are logically grouped around namespaces and
+sub-namespaces. The following concepts should be considered when adding new
+properties/namespaces.
+The framework differentiates two types of properties:
+ - Properties used inside common code.
+ - Properties used inside platform specific code.
+
+The first category applies to properties being part of the firmware and shared
+across multiple platforms. They should be globally accessible and defined
+inside the ``lib/fconf`` directory. The namespace must be chosen to reflect the
+feature/data abstracted.
+Example:
+ - |TBBR| related properties: tbbr.cot.bl2_id
+ - Dynamic configuration information: dyn_cfg.dtb_info.hw_config_id
+
+The second category should represent the majority of the properties defined
+within the framework: Platform specific properties. They must be accessed only
+within the platform API and are defined only inside the platform scope. The
+namespace must contain the platform name under which the properties defined
+belong.
+Example:
+ - Arm io framework: arm.io_policies.bl31_id
+