blob: 085d1f5c916a42d53d06f70eddfb002634172b39 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001Generic hwlock bindings
2=======================
3
4Generic bindings that are common to all the hwlock platform specific driver
5implementations.
6
7Please also look through the individual platform specific hwlock binding
8documentations for identifying any additional properties specific to that
9platform.
10
11hwlock providers:
12=================
13
14Required properties:
15- #hwlock-cells: Specifies the number of cells needed to represent a
16 specific lock.
17
18hwlock users:
19=============
20
21Consumers that require specific hwlock(s) should specify them using the
22property "hwlocks", and an optional "hwlock-names" property.
23
24Required properties:
25- hwlocks: List of phandle to a hwlock provider node and an
26 associated hwlock args specifier as indicated by
27 #hwlock-cells. The list can have just a single hwlock
28 or multiple hwlocks, with each hwlock represented by
29 a phandle and a corresponding args specifier.
30
31Optional properties:
32- hwlock-names: List of hwlock name strings defined in the same order
33 as the hwlocks, with one name per hwlock. Consumers can
34 use the hwlock-names to match and get a specific hwlock.
35
36
371. Example of a node using a single specific hwlock:
38
39The following example has a node requesting a hwlock in the bank defined by
40the node hwlock1. hwlock1 is a hwlock provider with an argument specifier
41of length 1.
42
43 node {
44 ...
45 hwlocks = <&hwlock1 2>;
46 ...
47 };
48
492. Example of a node using multiple specific hwlocks:
50
51The following example has a node requesting two hwlocks, a hwlock within
52the hwlock device node 'hwlock1' with #hwlock-cells value of 1, and another
53hwlock within the hwlock device node 'hwlock2' with #hwlock-cells value of 2.
54
55 node {
56 ...
57 hwlocks = <&hwlock1 2>, <&hwlock2 0 3>;
58 ...
59 };