Message ID | 20190128142313.17036-2-benjamin.gaignard@st.com (mailing list archive) |
---|---|
State | RFC |
Headers | show |
Series | Introduce bus domains controller framework | expand |
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 --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>; +};
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