Merge tag 'libnvdimm-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdim...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mfd / qcom,pm8008.yaml
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
7 title: Qualcomm Technologies, Inc. PM8008 PMIC bindings
8
9 maintainers:
10   - Guru Das Srinagesh <gurus@codeaurora.org>
11
12 description: |
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
17 properties:
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
47 patternProperties:
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
88 required:
89   - compatible
90   - reg
91   - interrupts
92   - "#address-cells"
93   - "#size-cells"
94   - "#interrupt-cells"
95
96 additionalProperties: false
97
98 examples:
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 ...