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