mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-22 10:34:55 +08:00
0ce8cf2f31
This patch adds the generic common bindings used to represent a hwlock device and use/request locks in a device-tree build. Each hwspinlock provider should have the '#hwlock-cells' property, which represents the number of cells to be used for representing a specific hwspinlock. Client users shall use the property 'hwlocks' for requesting specific lock(s). Note that the document is named hwlock.txt deliberately to keep it a bit more generic. Cc: Rob Herring <robh+dt@kernel.org> Signed-off-by: Suman Anna <s-anna@ti.com> Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
60 lines
1.9 KiB
Plaintext
60 lines
1.9 KiB
Plaintext
Generic hwlock bindings
|
|
=======================
|
|
|
|
Generic bindings that are common to all the hwlock platform specific driver
|
|
implementations.
|
|
|
|
Please also look through the individual platform specific hwlock binding
|
|
documentations for identifying any additional properties specific to that
|
|
platform.
|
|
|
|
hwlock providers:
|
|
=================
|
|
|
|
Required properties:
|
|
- #hwlock-cells: Specifies the number of cells needed to represent a
|
|
specific lock.
|
|
|
|
hwlock users:
|
|
=============
|
|
|
|
Consumers that require specific hwlock(s) should specify them using the
|
|
property "hwlocks", and an optional "hwlock-names" property.
|
|
|
|
Required properties:
|
|
- hwlocks: List of phandle to a hwlock provider node and an
|
|
associated hwlock args specifier as indicated by
|
|
#hwlock-cells. The list can have just a single hwlock
|
|
or multiple hwlocks, with each hwlock represented by
|
|
a phandle and a corresponding args specifier.
|
|
|
|
Optional properties:
|
|
- hwlock-names: List of hwlock name strings defined in the same order
|
|
as the hwlocks, with one name per hwlock. Consumers can
|
|
use the hwlock-names to match and get a specific hwlock.
|
|
|
|
|
|
1. Example of a node using a single specific hwlock:
|
|
|
|
The following example has a node requesting a hwlock in the bank defined by
|
|
the node hwlock1. hwlock1 is a hwlock provider with an argument specifier
|
|
of length 1.
|
|
|
|
node {
|
|
...
|
|
hwlocks = <&hwlock1 2>;
|
|
...
|
|
};
|
|
|
|
2. Example of a node using multiple specific hwlocks:
|
|
|
|
The following example has a node requesting two hwlocks, a hwlock within
|
|
the hwlock device node 'hwlock1' with #hwlock-cells value of 1, and another
|
|
hwlock within the hwlock device node 'hwlock2' with #hwlock-cells value of 2.
|
|
|
|
node {
|
|
...
|
|
hwlocks = <&hwlock1 2>, <&hwlock2 0 3>;
|
|
...
|
|
};
|