blob: c5a7e10d7d80e8d77b6ed602623b748ecca9bdf6 [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/dlg,da9063.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Dialog DA9063/DA9063L Power Management Integrated Circuit (PMIC)
8
9maintainers:
10 - Steve Twiss <stwiss.opensource@diasemi.com>
11
12description: |
13 For device-tree bindings of other sub-modules refer to the binding documents
14 under the respective sub-system directories.
15 Using regulator-{uv,ov}-{warn,error,protection}-microvolt requires special
16 handling: First, when GP_FB2 is used, it must be ensured that there is no
17 moment where all voltage monitors are disabled. Next, as da9063 only supports
18 UV *and* OV monitoring, both must be set to the same severity and value
19 (0: disable, 1: enable).
20
21properties:
22 compatible:
23 enum:
24 - dlg,da9063
25 - dlg,da9063l
26
27 reg:
28 maxItems: 1
29
30 interrupts:
31 maxItems: 1
32
33 interrupt-controller: true
34
35 "#interrupt-cells":
36 const: 2
37
38 dlg,use-sw-pm:
39 type: boolean
40 description:
41 Disable the watchdog during suspend.
42 Only use this option if you can't use the watchdog automatic suspend
43 function during a suspend (see register CONTROL_B).
44
45 watchdog:
46 type: object
47 $ref: /schemas/watchdog/watchdog.yaml#
48 unevaluatedProperties: false
49 properties:
50 compatible:
51 const: dlg,da9063-watchdog
52
53 rtc:
54 type: object
55 $ref: /schemas/rtc/rtc.yaml#
56 unevaluatedProperties: false
57 properties:
58 compatible:
59 const: dlg,da9063-rtc
60
61 onkey:
62 type: object
63 $ref: /schemas/input/input.yaml#
64 unevaluatedProperties: false
65 properties:
66 compatible:
67 const: dlg,da9063-onkey
68
69 dlg,disable-key-power:
70 type: boolean
71 description: |
72 Disable power-down using a long key-press.
73 If this entry does not exist then by default the key-press triggered
74 power down is enabled and the OnKey will support both KEY_POWER and
75 KEY_SLEEP.
76
77 regulators:
78 type: object
79 additionalProperties: false
80 patternProperties:
81 "^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$":
82 $ref: /schemas/regulator/regulator.yaml
83 unevaluatedProperties: false
84
85required:
86 - compatible
87 - reg
88 - interrupts
89 - interrupt-controller
90
91additionalProperties: false
92
93examples:
94 - |
95 #include <dt-bindings/interrupt-controller/irq.h>
96 i2c {
97 #address-cells = <1>;
98 #size-cells = <0>;
99 pmic@58 {
100 compatible = "dlg,da9063";
101 reg = <0x58>;
102 #interrupt-cells = <2>;
103 interrupt-parent = <&gpio6>;
104 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
105 interrupt-controller;
106
107 rtc {
108 compatible = "dlg,da9063-rtc";
109 };
110
111 watchdog {
112 compatible = "dlg,da9063-watchdog";
113 };
114
115 onkey {
116 compatible = "dlg,da9063-onkey";
117 dlg,disable-key-power;
118 };
119
120 regulators {
121 bcore1 {
122 regulator-name = "BCORE1";
123 regulator-min-microvolt = <300000>;
124 regulator-max-microvolt = <1570000>;
125 regulator-min-microamp = <500000>;
126 regulator-max-microamp = <2000000>;
127 regulator-boot-on;
128 };
129 ldo6 {
130 /* UNUSED */
131 regulator-name = "LDO_6";
132 regulator-uv-protection-microvolt = <0>;
133 regulator-ov-protection-microvolt = <0>;
134 };
135 ldo11 {
136 regulator-name = "LDO_11";
137 regulator-min-microvolt = <900000>;
138 regulator-max-microvolt = <900000>;
139 regulator-uv-protection-microvolt = <1>;
140 regulator-ov-protection-microvolt = <1>;
141 regulator-always-on;
142 };
143 };
144 };
145 };
146...