diff mbox series

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

Message ID 20190128142313.17036-2-benjamin.gaignard@st.com (mailing list archive)
State RFC
Headers show
Series Introduce bus domains controller framework | expand

Commit Message

Benjamin GAIGNARD Jan. 28, 2019, 2:23 p.m. UTC
Document commons domains controller bindings for controller
and client devices.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
---
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

Comments

Benjamin Gaignard Feb. 18, 2019, 4:04 p.m. UTC | #1
Le lun. 28 janv. 2019 à 15:23, Benjamin Gaignard
<benjamin.gaignard@st.com> a écrit :
>
> Document commons domains controller bindings for controller
> and client devices.

Gentle ping to get comments on those bindings,

Thanks,
Benjamin
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> ---
> 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
>
diff mbox series

Patch

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>;
+};