xref: /linux/Documentation/devicetree/bindings/spmi/spmi.yaml (revision 0b8061c340b643e01da431dd60c75a41bb1d31ec)
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
7title: System Power Management Interface (SPMI) Controller
8
9maintainers:
10  - Stephen Boyd <sboyd@kernel.org>
11
12description: |
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
23properties:
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
36patternProperties:
37  "@[0-9a-f]$":
38    description: up to 16 child PMIC nodes
39    type: object
40
41    properties:
42      reg:
43        minItems: 1
44        maxItems: 2
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 address.
51
52    required:
53      - reg
54
55required:
56  - reg
57
58additionalProperties: true
59
60examples:
61  - |
62    #include <dt-bindings/spmi/spmi.h>
63
64    spmi@0 {
65      reg = <0 0>;
66
67      #address-cells = <2>;
68      #size-cells = <0>;
69
70      child@0 {
71        reg = <0 SPMI_USID>;
72      };
73
74      child@7 {
75        reg = <7 SPMI_USID>;
76      };
77    };
78