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 bindings
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        const: qcom,pm8008-gpio
57
58      reg:
59        description: Peripheral address of one of the two GPIO peripherals.
60        maxItems: 1
61
62      gpio-controller: true
63
64      interrupt-controller: true
65
66      "#interrupt-cells":
67        const: 2
68
69      "#gpio-cells":
70        const: 2
71
72    required:
73      - compatible
74      - reg
75      - gpio-controller
76      - interrupt-controller
77      - "#gpio-cells"
78      - "#interrupt-cells"
79
80    additionalProperties: false
81
82required:
83  - compatible
84  - reg
85  - interrupts
86  - "#address-cells"
87  - "#size-cells"
88  - "#interrupt-cells"
89
90additionalProperties: false
91
92examples:
93  - |
94    #include <dt-bindings/mfd/qcom-pm8008.h>
95    #include <dt-bindings/interrupt-controller/irq.h>
96    qupv3_se13_i2c {
97      #address-cells = <1>;
98      #size-cells = <0>;
99      pm8008i@8 {
100        compatible = "qcom,pm8008";
101        reg = <0x8>;
102        #address-cells = <1>;
103        #size-cells = <0>;
104        interrupt-controller;
105        #interrupt-cells = <2>;
106
107        interrupt-parent = <&tlmm>;
108        interrupts = <32 IRQ_TYPE_EDGE_RISING>;
109
110        gpio@c000 {
111          compatible = "qcom,pm8008-gpio";
112          reg = <0xc000>;
113          gpio-controller;
114          #gpio-cells = <2>;
115          interrupt-controller;
116          #interrupt-cells = <2>;
117        };
118      };
119    };
120
121...
122