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