xref: /linux/Documentation/devicetree/bindings/sound/dialog,da7219.yaml (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1345585b7SDavid Rau# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2345585b7SDavid Rau%YAML 1.2
3345585b7SDavid Rau---
4345585b7SDavid Rau$id: http://devicetree.org/schemas/sound/dialog,da7219.yaml#
5345585b7SDavid Rau$schema: http://devicetree.org/meta-schemas/core.yaml#
6345585b7SDavid Rau
7345585b7SDavid Rautitle: Dialog Semiconductor DA7219 Audio Codec
8345585b7SDavid Rau
9345585b7SDavid Raumaintainers:
10345585b7SDavid Rau  - David Rau <David.Rau.opensource@dm.renesas.com>
11345585b7SDavid Rau
12345585b7SDavid Raudescription:
13345585b7SDavid Rau  The DA7219 is an ultra low-power audio codec with
14345585b7SDavid Rau  in-built advanced accessory detection (AAD) for mobile
15345585b7SDavid Rau  computing and accessory applications, which supports
16345585b7SDavid Rau  sample rates up to 96 kHz at 24-bit resolution.
17345585b7SDavid Rau
18345585b7SDavid Rauproperties:
19345585b7SDavid Rau  compatible:
20345585b7SDavid Rau    const: dlg,da7219
21345585b7SDavid Rau
22345585b7SDavid Rau  reg:
23345585b7SDavid Rau    maxItems: 1
24345585b7SDavid Rau
25345585b7SDavid Rau  interrupts:
26345585b7SDavid Rau    maxItems: 1
27345585b7SDavid Rau
28345585b7SDavid Rau  VDD-supply:
29345585b7SDavid Rau    description:
30345585b7SDavid Rau      VDD power supply for the device.
31345585b7SDavid Rau
32345585b7SDavid Rau  VDDMIC-supply:
33345585b7SDavid Rau    description:
34345585b7SDavid Rau      VDDMIC power supply for the device.
35345585b7SDavid Rau
36345585b7SDavid Rau  VDDIO-supply:
37345585b7SDavid Rau    description:
38345585b7SDavid Rau      VDDIO power supply for the device.
39345585b7SDavid Rau
40345585b7SDavid Rau  interrupt-names:
41345585b7SDavid Rau    description:
42345585b7SDavid Rau      Should be "wakeup" if interrupt is to be used to wake system,
43345585b7SDavid Rau      otherwise "irq" should be used.
44345585b7SDavid Rau    enum:
45345585b7SDavid Rau      - wakeup
46345585b7SDavid Rau      - irq
47345585b7SDavid Rau
48345585b7SDavid Rau  wakeup-source:
49345585b7SDavid Rau    type: boolean
50345585b7SDavid Rau    description:
51345585b7SDavid Rau      Flag to indicate this device can wake system (suspend/resume).
52345585b7SDavid Rau
53345585b7SDavid Rau  "#clock-cells":
54345585b7SDavid Rau    const: 1
55345585b7SDavid Rau
56345585b7SDavid Rau  clock-output-names:
57345585b7SDavid Rau    minItems: 2
58345585b7SDavid Rau    maxItems: 2
59345585b7SDavid Rau    description:
60345585b7SDavid Rau      Name given for DAI WCLK and BCLK outputs.
61345585b7SDavid Rau
62345585b7SDavid Rau  clocks:
63345585b7SDavid Rau    maxItems: 1
64345585b7SDavid Rau    description:
65345585b7SDavid Rau      phandle and clock specifier for codec MCLK.
66345585b7SDavid Rau
67345585b7SDavid Rau  clock-names:
68345585b7SDavid Rau    const: mclk
69345585b7SDavid Rau
70345585b7SDavid Rau  dlg,micbias-lvl:
71345585b7SDavid Rau    enum: [1600, 1800, 2000, 2200, 2400, 2600]
72345585b7SDavid Rau    description:
73345585b7SDavid Rau      Voltage (mV) for Mic Bias.
74345585b7SDavid Rau    $ref: /schemas/types.yaml#/definitions/uint32
75345585b7SDavid Rau
76345585b7SDavid Rau  dlg,mic-amp-in-sel:
7745698208SRob Herring    enum: [diff, se_p, se_n]
78345585b7SDavid Rau    description:
79345585b7SDavid Rau      Mic input source type.
80345585b7SDavid Rau
81345585b7SDavid Rau      diff - Differential.
82345585b7SDavid Rau
83345585b7SDavid Rau      se_p - MIC_P.
84345585b7SDavid Rau      Positive differential analog microphone input.
85345585b7SDavid Rau
86345585b7SDavid Rau      se_n - MIC_N.
87345585b7SDavid Rau      Negative differential analog microphone input.
88345585b7SDavid Rau    $ref: /schemas/types.yaml#/definitions/string
89345585b7SDavid Rau
90345585b7SDavid Rau  da7219_aad:
91345585b7SDavid Rau    type: object
92*7b71da59SRob Herring    additionalProperties: false
93345585b7SDavid Rau    description:
94345585b7SDavid Rau      Configuration of advanced accessory detection.
95345585b7SDavid Rau    properties:
96345585b7SDavid Rau      dlg,micbias-pulse-lvl:
97345585b7SDavid Rau        enum: [2800, 2900]
98345585b7SDavid Rau        description:
99345585b7SDavid Rau          Mic bias higher voltage pulse level (mV).
100345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
101345585b7SDavid Rau
102345585b7SDavid Rau      dlg,micbias-pulse-time:
103345585b7SDavid Rau        description:
104345585b7SDavid Rau          Mic bias higher voltage pulse duration (ms).
105345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
106345585b7SDavid Rau        minimum: 0
107345585b7SDavid Rau
108345585b7SDavid Rau      dlg,btn-cfg:
109345585b7SDavid Rau        enum: [2, 5, 10, 50, 100, 200, 500]
110345585b7SDavid Rau        description:
111345585b7SDavid Rau          Periodic button press measurements for 4-pole jack (ms).
112345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
113345585b7SDavid Rau
114345585b7SDavid Rau      dlg,mic-det-thr:
115345585b7SDavid Rau        enum: [200, 500, 750, 1000]
116345585b7SDavid Rau        description:
117345585b7SDavid Rau          Impedance threshold for mic detection measurement (Ohms).
118345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
119345585b7SDavid Rau
120345585b7SDavid Rau      dlg,jack-ins-deb:
121345585b7SDavid Rau        enum: [5, 10, 20, 50, 100, 200, 500, 1000]
122345585b7SDavid Rau        description:
123345585b7SDavid Rau          Debounce time for jack insertion (ms).
124345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
125345585b7SDavid Rau
126c28dc3bdSDavid Rau      dlg,jack-ins-det-pty:
12745698208SRob Herring        enum: [low, high]
128c28dc3bdSDavid Rau        description:
129c28dc3bdSDavid Rau          Polarity for jack insertion detection.
130c28dc3bdSDavid Rau        $ref: /schemas/types.yaml#/definitions/string
131c28dc3bdSDavid Rau
132345585b7SDavid Rau      dlg,jack-det-rate:
133345585b7SDavid Rau        enum: ["32_64", "64_128", "128_256", "256_512"]
134345585b7SDavid Rau        description:
135345585b7SDavid Rau          Jack type (3/4 pole) detection latency (ms).
136345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/string
137345585b7SDavid Rau
138345585b7SDavid Rau      dlg,jack-rem-deb:
139345585b7SDavid Rau        enum: [1, 5, 10, 20]
140345585b7SDavid Rau        description:
141345585b7SDavid Rau          Debounce time for jack removal (ms).
142345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
143345585b7SDavid Rau
144345585b7SDavid Rau      dlg,a-d-btn-thr:
145345585b7SDavid Rau        description:
146345585b7SDavid Rau          Impedance threshold between buttons A and D.
147345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
148345585b7SDavid Rau        minimum: 0
149345585b7SDavid Rau        maximum: 255
150345585b7SDavid Rau
151345585b7SDavid Rau      dlg,d-b-btn-thr:
152345585b7SDavid Rau        description:
153345585b7SDavid Rau          Impedance threshold between buttons D and B.
154345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
155345585b7SDavid Rau        minimum: 0
156345585b7SDavid Rau        maximum: 255
157345585b7SDavid Rau
158345585b7SDavid Rau      dlg,b-c-btn-thr:
159345585b7SDavid Rau        description:
160345585b7SDavid Rau          Impedance threshold between buttons B and C.
161345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
162345585b7SDavid Rau        minimum: 0
163345585b7SDavid Rau        maximum: 255
164345585b7SDavid Rau
165345585b7SDavid Rau      dlg,c-mic-btn-thr:
166345585b7SDavid Rau        description:
167345585b7SDavid Rau          Impedance threshold between button C and Mic.
168345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
169345585b7SDavid Rau        minimum: 0
170345585b7SDavid Rau        maximum: 255
171345585b7SDavid Rau
172345585b7SDavid Rau      dlg,btn-avg:
173345585b7SDavid Rau        enum: [1, 2, 4, 8]
174345585b7SDavid Rau        description:
175345585b7SDavid Rau          Number of 8-bit readings for averaged button measurement.
176345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
177345585b7SDavid Rau
178345585b7SDavid Rau      dlg,adc-1bit-rpt:
179345585b7SDavid Rau        enum: [1, 2, 4, 8]
180345585b7SDavid Rau        description:
181345585b7SDavid Rau          Repeat count for 1-bit button measurement.
182345585b7SDavid Rau        $ref: /schemas/types.yaml#/definitions/uint32
183345585b7SDavid Rau
184345585b7SDavid Raurequired:
185345585b7SDavid Rau  - compatible
186345585b7SDavid Rau  - reg
187345585b7SDavid Rau  - interrupts
188345585b7SDavid Rau  - VDD-supply
189345585b7SDavid Rau  - VDDMIC-supply
190345585b7SDavid Rau  - VDDIO-supply
191345585b7SDavid Rau
192345585b7SDavid RauadditionalProperties: false
193345585b7SDavid Rau
194345585b7SDavid Rauexamples:
195345585b7SDavid Rau  - |
196345585b7SDavid Rau    #include <dt-bindings/interrupt-controller/irq.h>
197345585b7SDavid Rau    i2c {
198345585b7SDavid Rau      #address-cells = <1>;
199345585b7SDavid Rau      #size-cells = <0>;
200345585b7SDavid Rau
201345585b7SDavid Rau      codec: da7219@1a {
202345585b7SDavid Rau          compatible = "dlg,da7219";
203345585b7SDavid Rau          reg = <0x1a>;
204345585b7SDavid Rau
205345585b7SDavid Rau          interrupt-parent = <&gpio6>;
206345585b7SDavid Rau          interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
207345585b7SDavid Rau
208345585b7SDavid Rau          VDD-supply = <&vdd_reg>;
209345585b7SDavid Rau          VDDMIC-supply = <&vddmic_reg>;
210345585b7SDavid Rau          VDDIO-supply = <&vddio_reg>;
211345585b7SDavid Rau
212345585b7SDavid Rau          #clock-cells = <1>;
213345585b7SDavid Rau          clock-output-names = "da7219-dai-wclk", "da7219-dai-bclk";
214345585b7SDavid Rau
215345585b7SDavid Rau          clocks = <&clks 201>;
216345585b7SDavid Rau          clock-names = "mclk";
217345585b7SDavid Rau
218345585b7SDavid Rau          dlg,micbias-lvl = <2600>;
219345585b7SDavid Rau          dlg,mic-amp-in-sel = "diff";
220345585b7SDavid Rau
221345585b7SDavid Rau          da7219_aad {
222345585b7SDavid Rau              dlg,btn-cfg = <50>;
223345585b7SDavid Rau              dlg,mic-det-thr = <500>;
224345585b7SDavid Rau              dlg,jack-ins-deb = <20>;
225c28dc3bdSDavid Rau              dlg,jack-ins-det-pty = "low";
226345585b7SDavid Rau              dlg,jack-det-rate = "32_64";
227345585b7SDavid Rau              dlg,jack-rem-deb = <1>;
228345585b7SDavid Rau
229345585b7SDavid Rau              dlg,a-d-btn-thr = <0xa>;
230345585b7SDavid Rau              dlg,d-b-btn-thr = <0x16>;
231345585b7SDavid Rau              dlg,b-c-btn-thr = <0x21>;
232345585b7SDavid Rau              dlg,c-mic-btn-thr = <0x3E>;
233345585b7SDavid Rau
234345585b7SDavid Rau              dlg,btn-avg = <4>;
235345585b7SDavid Rau              dlg,adc-1bit-rpt = <1>;
236345585b7SDavid Rau          };
237345585b7SDavid Rau      };
238345585b7SDavid Rau    };
239