Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / spmi / spmi.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/spmi/spmi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: System Power Management Interface (SPMI) Controller
8
9 maintainers:
10   - Stephen Boyd <sboyd@kernel.org>
11
12 description: |
13   The System Power Management (SPMI) controller is a 2-wire bus defined
14   by the MIPI Alliance for power management control to be used on SoC designs.
15
16   SPMI controllers are modelled in device tree using a generic set of
17   bindings defined here, plus any bus controller specific properties, if
18   needed.
19
20   Each SPMI controller has zero or more child nodes (up to 16 ones), each
21   one representing an unique slave at the bus.
22
23 properties:
24   $nodename:
25     pattern: "^spmi@.*"
26
27   reg:
28     maxItems: 1
29
30   "#address-cells":
31     const: 2
32
33   "#size-cells":
34     const: 0
35
36 patternProperties:
37   "@[0-9a-f]$":
38     description: up to 16 child PMIC nodes
39     type: object
40
41     properties:
42       reg:
43         items:
44           - minItems: 1
45             items:
46               - minimum: 0
47                 maximum: 0xf
48               - enum: [ 0 ]
49                 description:
50                   0 means user ID address. 1 is reserved for group ID
51                   address.
52
53     required:
54       - reg
55
56 required:
57   - reg
58
59 additionalProperties: true
60
61 examples:
62   - |
63     #include <dt-bindings/spmi/spmi.h>
64
65     spmi@0 {
66       reg = <0 0>;
67
68       #address-cells = <2>;
69       #size-cells = <0>;
70
71       child@0 {
72         reg = <0 SPMI_USID>;
73       };
74
75       child@7 {
76         reg = <7 SPMI_USID>;
77       };
78     };