blob: 9e4eed34dae8afb7fba708783c776a87edbc54f5 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 <quic_gurus@quicinc.com>
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...