1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/spmi/hisilicon,hisi-spmi-controller.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: HiSilicon SPMI controller
8
9maintainers:
10  - Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
11
12description: |
13  The HiSilicon SPMI BUS controller is found on some Kirin-based designs.
14  It is a MIPI System Power Management (SPMI) controller.
15
16  The PMIC part is provided by
17  Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml.
18
19allOf:
20  - $ref: spmi.yaml#
21
22properties:
23
24  $nodename:
25    pattern: "spmi@[0-9a-f]"
26
27  compatible:
28    const: hisilicon,kirin970-spmi-controller
29
30  reg:
31    maxItems: 1
32
33  hisilicon,spmi-channel:
34    $ref: /schemas/types.yaml#/definitions/uint32
35    description: |
36      number of the Kirin 970 SPMI channel where the SPMI devices are connected.
37
38required:
39  - compatible
40  - reg
41  - hisilicon,spmi-channel
42
43patternProperties:
44  "@[0-9a-f]$":
45    type: object
46
47    description: |
48      PMIC properties, which are specific to the used SPMI PMIC device(s).
49      When used in combination with HiSilicon 6421v600, the properties
50      are documented at
51      Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
52
53unevaluatedProperties: false
54
55examples:
56  - |
57    #include <dt-bindings/spmi/spmi.h>
58
59    spmi@fff24000 {
60        compatible = "hisilicon,kirin970-spmi-controller";
61        reg = <0xfff24000 0x1000>;
62        #address-cells = <2>;
63        #size-cells = <0>;
64        hisilicon,spmi-channel = <2>;
65
66        pmic@0 {
67            reg = <0 SPMI_USID>;
68            /* pmic properties */
69        };
70    };
71