Skip to content

Commit

Permalink
specification: domains: make id sometimes optional
Browse files Browse the repository at this point in the history
Previous use cases for execution domains generally required an id
property. However, as the specification is applied in more contexts,
it's becoming clear that it may not always be needed. In particular,
the Zephyr RTOS is not expected to have initial use cases for this
property (though it may in the future start using it).

To avoid forcing these users to maintain unique id properties that are
not needed, refine the binding so that 'id' is only needed in some
cases.

Fixes: devicetree-org#163
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Reviewed-by: Stefano Stabellini <stefano.stabellini@amd.com>
  • Loading branch information
mbolivar-nordic committed May 10, 2023
1 parent 34bcaf4 commit 26d39b5
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions specification/source/chapter3-execution-domains.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ Execution Domain Binding, v1
the default value is zero.
``sram`` SD ``<prop encoded See :numref:`domains-sram`. Specifies
array>`` the MMIO SRAM assigned to the domain.
``id`` R ``<u32>`` A 32-bit integer that uniquely
identifies the domain
``id`` SD ``<u32>`` See :numref:`domains-id`. A 32-bit integer
that uniquely identifies the domain.
``os,type`` SD ``<string>`` See :numref:`domains-os-type`
``#access-implicit-default-cells`` SD ``<u32>`` See :numref:`domains-implicit-flags`
``access-implicit-default`` SD array See :numref:`domains-implicit-flags`
Expand Down Expand Up @@ -298,6 +298,24 @@ Within each triplet:
- *flags* contains domain-specific flags. The number of cells in each flag is
defined by the *#sram-flags-cells* property of the execution domain.

.. _domains-id:

id Property
~~~~~~~~~~~

This property may be used to provide a unique numeric identifier for the
domain.

Although it is optional in general, the *id* property is required if the
*compatible* property of the domain node contains any string which matches one
of the following patterns:

- "xilinx,subsystem*"
- "xen,domain*"

For example, a domain whose *compatible* property includes
"xilinx,subsystem-v1" must have an *id* property.

.. _domains-os-type:

os,type Property
Expand Down

0 comments on commit 26d39b5

Please sign in to comment.