xref: /arm-trusted-firmware/docs/components/fconf/fconf_properties.rst (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700SchasingluluDTB binding for FCONF properties
2*91f16700Schasinglulu================================
3*91f16700Schasinglulu
4*91f16700SchasingluluThis document describes the device tree format of |FCONF| properties. These
5*91f16700Schasingluluproperties are not related to a specific platform and can be queried from
6*91f16700Schasinglulucommon code.
7*91f16700Schasinglulu
8*91f16700SchasingluluDynamic configuration
9*91f16700Schasinglulu~~~~~~~~~~~~~~~~~~~~~
10*91f16700Schasinglulu
11*91f16700SchasingluluThe |FCONF| framework expects a *dtb-registry* node with the following field:
12*91f16700Schasinglulu
13*91f16700Schasinglulu- compatible [mandatory]
14*91f16700Schasinglulu   - value type: <string>
15*91f16700Schasinglulu   - Must be the string "fconf,dyn_cfg-dtb_registry".
16*91f16700Schasinglulu
17*91f16700SchasingluluThen a list of subnodes representing a configuration |DTB|, which can be used
18*91f16700Schasingluluby |FCONF|. Each subnode should be named according to the information it
19*91f16700Schasinglulucontains, and must be formed with the following fields:
20*91f16700Schasinglulu
21*91f16700Schasinglulu- load-address [mandatory]
22*91f16700Schasinglulu    - value type: <u64>
23*91f16700Schasinglulu    - Physical loading base address of the configuration.
24*91f16700Schasinglulu      If secondary-load-address is also provided (see below), then this is the
25*91f16700Schasinglulu      primary load address.
26*91f16700Schasinglulu
27*91f16700Schasinglulu- max-size [mandatory]
28*91f16700Schasinglulu    - value type: <u32>
29*91f16700Schasinglulu    - Maximum size of the configuration.
30*91f16700Schasinglulu
31*91f16700Schasinglulu- id [mandatory]
32*91f16700Schasinglulu    - value type: <u32>
33*91f16700Schasinglulu    - Image ID of the configuration.
34*91f16700Schasinglulu
35*91f16700Schasinglulu- secondary-load-address [optional]
36*91f16700Schasinglulu    - value type: <u64>
37*91f16700Schasinglulu    - A platform uses this physical address to copy the configuration to
38*91f16700Schasinglulu      another location during the boot-flow.
39*91f16700Schasinglulu
40*91f16700Schasinglulu--------------
41*91f16700Schasinglulu
42*91f16700Schasinglulu*Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.*
43