diff options
author | Mark Dykes <mardyk01@review.trustedfirmware.org> | 2020-03-16 18:35:36 +0000 |
---|---|---|
committer | TrustedFirmware Code Review <review@review.trustedfirmware.org> | 2020-03-16 18:35:36 +0000 |
commit | 5e9369e818689a0aec094db39461099fd999867f (patch) | |
tree | fcd203ca57b221179229f4ceaeb5dbff526b5f4c | |
parent | bb37363bd30f5ccc625f47350d3ae56ddcddb236 (diff) | |
parent | 6a7b3ce7edcdceb664c56f19280d14b8f442cba4 (diff) | |
download | trusted-firmware-a-5e9369e818689a0aec094db39461099fd999867f.tar.gz |
Merge "fconf: Add namespace guidance inside documentation" into integration
-rw-r--r-- | docs/components/fconf.rst | 27 |
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 + |