xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/qcom,pm8008.yaml (revision 6580f5c38dd5b01aeeaed16b370f1a12423437f0)
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 <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
103    i2c {
104      #address-cells = <1>;
105      #size-cells = <0>;
106
107      pmic@8 {
108        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...
131