1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/qcom,pm8008.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Technologies, Inc. PM8008 PMIC
8
9maintainers:
10  - Guru Das Srinagesh <gurus@codeaurora.org>
11
12description: |
13  Qualcomm Technologies, Inc. PM8008 is a dedicated camera PMIC that integrates
14  all the necessary power management, housekeeping, and interface support
15  functions into a single IC.
16
17properties:
18  compatible:
19    const: qcom,pm8008
20
21  reg:
22    description:
23      I2C slave address.
24
25    maxItems: 1
26
27  interrupts:
28    maxItems: 1
29
30    description: Parent interrupt.
31
32  "#interrupt-cells":
33    const: 2
34
35    description: |
36      The first cell is the IRQ number, the second cell is the IRQ trigger
37      flag. All interrupts are listed in include/dt-bindings/mfd/qcom-pm8008.h.
38
39  interrupt-controller: true
40
41  "#address-cells":
42    const: 1
43
44  "#size-cells":
45    const: 0
46
47patternProperties:
48  "^gpio@[0-9a-f]+$":
49    type: object
50
51    description: |
52      The GPIO peripheral. This node may be specified twice, one for each GPIO.
53
54    properties:
55      compatible:
56        items:
57          - const: qcom,pm8008-gpio
58          - const: qcom,spmi-gpio
59
60      reg:
61        description: Peripheral address of one of the two GPIO peripherals.
62        maxItems: 1
63
64      gpio-controller: true
65
66      gpio-ranges:
67        maxItems: 1
68
69      interrupt-controller: true
70
71      "#interrupt-cells":
72        const: 2
73
74      "#gpio-cells":
75        const: 2
76
77    required:
78      - compatible
79      - reg
80      - gpio-controller
81      - interrupt-controller
82      - "#gpio-cells"
83      - gpio-ranges
84      - "#interrupt-cells"
85
86    additionalProperties: false
87
88required:
89  - compatible
90  - reg
91  - interrupts
92  - "#address-cells"
93  - "#size-cells"
94  - "#interrupt-cells"
95
96additionalProperties: false
97
98examples:
99  - |
100    #include <dt-bindings/mfd/qcom-pm8008.h>
101    #include <dt-bindings/interrupt-controller/irq.h>
102    qupv3_se13_i2c {
103      #address-cells = <1>;
104      #size-cells = <0>;
105      pm8008i@8 {
106        compatible = "qcom,pm8008";
107        reg = <0x8>;
108        #address-cells = <1>;
109        #size-cells = <0>;
110        interrupt-controller;
111        #interrupt-cells = <2>;
112
113        interrupt-parent = <&tlmm>;
114        interrupts = <32 IRQ_TYPE_EDGE_RISING>;
115
116        pm8008_gpios: gpio@c000 {
117          compatible = "qcom,pm8008-gpio", "qcom,spmi-gpio";
118          reg = <0xc000>;
119          gpio-controller;
120          gpio-ranges = <&pm8008_gpios 0 0 2>;
121          #gpio-cells = <2>;
122          interrupt-controller;
123          #interrupt-cells = <2>;
124        };
125      };
126    };
127
128...
129