[RFC v2 1/7] devicetree: bindings: Document domains controller bindings

From: Benjamin Gaignard
Date: Mon Jan 28 2019 - 09:23:56 EST


Document commons domains controller bindings for controller
and client devices.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxx>
---
version 2:
- complete rework of bindings description to try to give a better definition
of what bus domains could be.
.../bindings/bus/domains/domainsctrl.txt | 55 ++++++++++++++++++++++
1 file changed, 55 insertions(+)
create mode 100644 Documentation/devicetree/bindings/bus/domains/domainsctrl.txt

diff --git a/Documentation/devicetree/bindings/bus/domains/domainsctrl.txt b/Documentation/devicetree/bindings/bus/domains/domainsctrl.txt
new file mode 100644
index 000000000000..a3fced91842d
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/domains/domainsctrl.txt
@@ -0,0 +1,55 @@
+Common Domains Controller bindings properties
+
+Bus domains controllers allow to divided system on chip into multiple domains
+that can be used to select by who hardware blocks could be accessed.
+A domain could be a cluster of CPUs (or coprocessors), a range of addresses or
+a group of hardware blocks.
+
+This device tree bindings can be used to bind bus domain consumer devices with
+their bus domains provided by bus domains controllers. A bus domain provider
+can be represented by any node in the device tree and can provide one or more
+bus domains. A consumer node can refer to the provider by a phandle and a set
+of phandle arguments of length specified by the #domainctrl-cells property in
+the bus domain provider node.
+
+==Bus domain provider==
+
+Required properties:
+- #domainctrl-cells : Number of cells in a bus domain specifier;
+ Can be any value as specified by device tree binding
+ documentation of a particular provider.
+
+==Bus domain consumer==
+
+Required properties:
+- domainsctrl-X : A list of bus domain specifiers, as defined by
+ bindings of the bus domain controller that is the
+ bus domain provider.
+
+Optional properties:
+- domainsctrl-names : A list of bus domain name string sorted in the same
+ order as the domainsctrl-X proprerties. Consumer
+ drivers will use domainsctrl-names to match bus
+ domains with bus domains specifiers.
+ Note that "default" and "unbind" are reserved names
+ used by the framework.
+
+Example of usage with:
+- a domains controller with a 2 parameters cell
+- a domains controller with a 3 parameters cell
+- a client device node using the both controllers and 2 configurations
+ named "default" and "unbind"
+
+ctrl0: ctrl@0 {
+ #domainctrl-cells = <2>;
+};
+
+ctrl1: ctrl@1 {
+ #domainctrl-cells = <3>;
+};
+
+foo@0 {
+ domains-names = "default", "unbind";
+ domainctrl-0 = <&ctrl0 1 2>, <&ctrl1 3 4 5>;
+ domainctrl-1 = <&ctrl0 6 7>, <&ctrl1 8 9 0>;
+};
--
2.15.0