blob: 7fe3875a5996ca0c0dec01693682d0999c4ec7ec [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/qcom-pm8xxx.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm PM8xxx PMIC multi-function devices
8
9maintainers:
10 - Satya Priya <quic_c_skakit@quicinc.com>
11
12description: |
13 The PM8xxx family of Power Management ICs are used to provide regulated
14 voltages and other various functionality to Qualcomm SoCs.
15
16properties:
17 compatible:
18 oneOf:
19 - enum:
20 - qcom,pm8058
21 - qcom,pm8821
22 - qcom,pm8921
23 - items:
24 - enum:
25 - qcom,pm8018
26 - const: qcom,pm8921
27
28 reg:
29 maxItems: 1
30
31 '#address-cells':
32 const: 1
33
34 '#size-cells':
35 const: 0
36
37 interrupts:
38 maxItems: 1
39
40 '#interrupt-cells':
41 const: 2
42
43 interrupt-controller: true
44
45patternProperties:
46 "gpio@[0-9a-f]+$":
47 type: object
48 $ref: /schemas/pinctrl/qcom,pmic-gpio.yaml#
49
50 "keypad@[0-9a-f]+$":
51 type: object
52 $ref: /schemas/input/qcom,pm8921-keypad.yaml#
53
54 "led@[0-9a-f]+$":
55 type: object
56 $ref: /schemas/leds/qcom,pm8058-led.yaml#
57
58 "mpps@[0-9a-f]+$":
59 type: object
60 $ref: /schemas/pinctrl/qcom,pmic-mpp.yaml#
61
62 "pwrkey@[0-9a-f]+$":
63 type: object
64 $ref: /schemas/input/qcom,pm8921-pwrkey.yaml#
65
66 "rtc@[0-9a-f]+$":
67 type: object
68 $ref: /schemas/rtc/qcom-pm8xxx-rtc.yaml#
69
70 "vibrator@[0-9a-f]+$":
71 type: object
72 $ref: /schemas/input/qcom,pm8xxx-vib.yaml#
73
74 "xoadc@[0-9a-f]+$":
75 type: object
76 $ref: /schemas/iio/adc/qcom,pm8018-adc.yaml#
77
78required:
79 - compatible
80 - '#address-cells'
81 - '#size-cells'
82 - interrupts
83 - '#interrupt-cells'
84 - interrupt-controller
85
86additionalProperties: false
87
88examples:
89 - |
90 #include <dt-bindings/interrupt-controller/irq.h>
91 ssbi {
92 #address-cells = <1>;
93 #size-cells = <0>;
94 pmic@0 {
95 compatible = "qcom,pm8921";
96 reg = <0>;
97 #address-cells = <1>;
98 #size-cells = <0>;
99 interrupt-controller;
100 #interrupt-cells = <2>;
101
102 interrupt-parent = <&tlmm>;
103 interrupts = <32 IRQ_TYPE_EDGE_RISING>;
104 };
105 };
106...