blob: 0c75d8bde5688217bdd6d2483e23a56ff77b9b6c [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>
Tom Rini93743d22024-04-01 09:08:13 -0400102
103 i2c {
Tom Rini53633a82024-02-29 12:33:36 -0500104 #address-cells = <1>;
105 #size-cells = <0>;
Tom Rini93743d22024-04-01 09:08:13 -0400106
107 pmic@8 {
Tom Rini53633a82024-02-29 12:33:36 -0500108 compatible = "qcom,pm8008";
109 reg = <0x8>;
110 #address-cells = <1>;
111 #size-cells = <0>;
112 interrupt-controller;
113 #interrupt-cells = <2>;
114
115 interrupt-parent = <&tlmm>;
116 interrupts = <32 IRQ_TYPE_EDGE_RISING>;
117
118 pm8008_gpios: gpio@c000 {
119 compatible = "qcom,pm8008-gpio", "qcom,spmi-gpio";
120 reg = <0xc000>;
121 gpio-controller;
122 gpio-ranges = <&pm8008_gpios 0 0 2>;
123 #gpio-cells = <2>;
124 interrupt-controller;
125 #interrupt-cells = <2>;
126 };
127 };
128 };
129
130...