GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / hwlock / hwlock.txt
1 Generic hwlock bindings
2 =======================
3
4 Generic bindings that are common to all the hwlock platform specific driver
5 implementations.
6
7 Please also look through the individual platform specific hwlock binding
8 documentations for identifying any additional properties specific to that
9 platform.
10
11 hwlock providers:
12 =================
13
14 Required properties:
15 - #hwlock-cells:        Specifies the number of cells needed to represent a
16                         specific lock.
17
18 hwlock users:
19 =============
20
21 Consumers that require specific hwlock(s) should specify them using the
22 property "hwlocks", and an optional "hwlock-names" property.
23
24 Required 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
31 Optional 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
37 1. Example of a node using a single specific hwlock:
38
39 The following example has a node requesting a hwlock in the bank defined by
40 the node hwlock1. hwlock1 is a hwlock provider with an argument specifier
41 of length 1.
42
43         node {
44                 ...
45                 hwlocks = <&hwlock1 2>;
46                 ...
47         };
48
49 2. Example of a node using multiple specific hwlocks:
50
51 The following example has a node requesting two hwlocks, a hwlock within
52 the hwlock device node 'hwlock1' with #hwlock-cells value of 1, and another
53 hwlock 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         };