xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/dlg,da9063.yaml (revision 535af610a4fdace6d50960c0ad9be0597eea7a1b)
1# 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...
147