File Index
Files and directories
Sign in
FILE

dialog,da7219.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/dialog,da7219.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/sound/dialog,da7219.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Dialog Semiconductor DA7219 Audio Codec
  8
  9maintainers:
 10  - David Rau <David.Rau.opensource@dm.renesas.com>
 11
 12description:
 13  The DA7219 is an ultra low-power audio codec with
 14  in-built advanced accessory detection (AAD) for mobile
 15  computing and accessory applications, which supports
 16  sample rates up to 96 kHz at 24-bit resolution.
 17
 18properties:
 19  compatible:
 20    const: dlg,da7219
 21
 22  reg:
 23    maxItems: 1
 24
 25  interrupts:
 26    maxItems: 1
 27
 28  VDD-supply:
 29    description:
 30      VDD power supply for the device.
 31
 32  VDDMIC-supply:
 33    description:
 34      VDDMIC power supply for the device.
 35
 36  VDDIO-supply:
 37    description:
 38      VDDIO power supply for the device.
 39
 40  interrupt-names:
 41    description:
 42      Should be "wakeup" if interrupt is to be used to wake system,
 43      otherwise "irq" should be used.
 44    enum:
 45      - wakeup
 46      - irq
 47
 48  wakeup-source:
 49    type: boolean
 50    description:
 51      Flag to indicate this device can wake system (suspend/resume).
 52
 53  "#clock-cells":
 54    const: 1
 55
 56  clock-output-names:
 57    minItems: 2
 58    maxItems: 2
 59    description:
 60      Name given for DAI WCLK and BCLK outputs.
 61
 62  clocks:
 63    maxItems: 1
 64    description:
 65      phandle and clock specifier for codec MCLK.
 66
 67  clock-names:
 68    const: mclk
 69
 70  dlg,micbias-lvl:
 71    enum: [1600, 1800, 2000, 2200, 2400, 2600]
 72    description:
 73      Voltage (mV) for Mic Bias.
 74    $ref: /schemas/types.yaml#/definitions/uint32
 75
 76  dlg,mic-amp-in-sel:
 77    enum: [diff, se_p, se_n]
 78    description:
 79      Mic input source type.
 80
 81      diff - Differential.
 82
 83      se_p - MIC_P.
 84      Positive differential analog microphone input.
 85
 86      se_n - MIC_N.
 87      Negative differential analog microphone input.
 88    $ref: /schemas/types.yaml#/definitions/string
 89
 90  da7219_aad:
 91    type: object
 92    additionalProperties: false
 93    description:
 94      Configuration of advanced accessory detection.
 95    properties:
 96      dlg,micbias-pulse-lvl:
 97        enum: [2800, 2900]
 98        description:
 99          Mic bias higher voltage pulse level (mV).
100        $ref: /schemas/types.yaml#/definitions/uint32
101
102      dlg,micbias-pulse-time:
103        description:
104          Mic bias higher voltage pulse duration (ms).
105        $ref: /schemas/types.yaml#/definitions/uint32
106        minimum: 0
107
108      dlg,btn-cfg:
109        enum: [2, 5, 10, 50, 100, 200, 500]
110        description:
111          Periodic button press measurements for 4-pole jack (ms).
112        $ref: /schemas/types.yaml#/definitions/uint32
113
114      dlg,mic-det-thr:
115        enum: [200, 500, 750, 1000]
116        description:
117          Impedance threshold for mic detection measurement (Ohms).
118        $ref: /schemas/types.yaml#/definitions/uint32
119
120      dlg,jack-ins-deb:
121        enum: [5, 10, 20, 50, 100, 200, 500, 1000]
122        description:
123          Debounce time for jack insertion (ms).
124        $ref: /schemas/types.yaml#/definitions/uint32
125
126      dlg,jack-ins-det-pty:
127        enum: [low, high]
128        description:
129          Polarity for jack insertion detection.
130        $ref: /schemas/types.yaml#/definitions/string
131
132      dlg,jack-det-rate:
133        enum: ["32_64", "64_128", "128_256", "256_512"]
134        description:
135          Jack type (3/4 pole) detection latency (ms).
136        $ref: /schemas/types.yaml#/definitions/string
137
138      dlg,jack-rem-deb:
139        enum: [1, 5, 10, 20]
140        description:
141          Debounce time for jack removal (ms).
142        $ref: /schemas/types.yaml#/definitions/uint32
143
144      dlg,a-d-btn-thr:
145        description:
146          Impedance threshold between buttons A and D.
147        $ref: /schemas/types.yaml#/definitions/uint32
148        minimum: 0
149        maximum: 255
150
151      dlg,d-b-btn-thr:
152        description:
153          Impedance threshold between buttons D and B.
154        $ref: /schemas/types.yaml#/definitions/uint32
155        minimum: 0
156        maximum: 255
157
158      dlg,b-c-btn-thr:
159        description:
160          Impedance threshold between buttons B and C.
161        $ref: /schemas/types.yaml#/definitions/uint32
162        minimum: 0
163        maximum: 255
164
165      dlg,c-mic-btn-thr:
166        description:
167          Impedance threshold between button C and Mic.
168        $ref: /schemas/types.yaml#/definitions/uint32
169        minimum: 0
170        maximum: 255
171
172      dlg,btn-avg:
173        enum: [1, 2, 4, 8]
174        description:
175          Number of 8-bit readings for averaged button measurement.
176        $ref: /schemas/types.yaml#/definitions/uint32
177
178      dlg,adc-1bit-rpt:
179        enum: [1, 2, 4, 8]
180        description:
181          Repeat count for 1-bit button measurement.
182        $ref: /schemas/types.yaml#/definitions/uint32
183
184required:
185  - compatible
186  - reg
187  - interrupts
188  - VDD-supply
189  - VDDMIC-supply
190  - VDDIO-supply
191
192additionalProperties: false
193
194examples:
195  - |
196    #include <dt-bindings/interrupt-controller/irq.h>
197    i2c {
198      #address-cells = <1>;
199      #size-cells = <0>;
200
201      codec: da7219@1a {
202          compatible = "dlg,da7219";
203          reg = <0x1a>;
204
205          interrupt-parent = <&gpio6>;
206          interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
207
208          VDD-supply = <&vdd_reg>;
209          VDDMIC-supply = <&vddmic_reg>;
210          VDDIO-supply = <&vddio_reg>;
211
212          #clock-cells = <1>;
213          clock-output-names = "da7219-dai-wclk", "da7219-dai-bclk";
214
215          clocks = <&clks 201>;
216          clock-names = "mclk";
217
218          dlg,micbias-lvl = <2600>;
219          dlg,mic-amp-in-sel = "diff";
220
221          da7219_aad {
222              dlg,btn-cfg = <50>;
223              dlg,mic-det-thr = <500>;
224              dlg,jack-ins-deb = <20>;
225              dlg,jack-ins-det-pty = "low";
226              dlg,jack-det-rate = "32_64";
227              dlg,jack-rem-deb = <1>;
228
229              dlg,a-d-btn-thr = <0xa>;
230              dlg,d-b-btn-thr = <0x16>;
231              dlg,b-c-btn-thr = <0x21>;
232              dlg,c-mic-btn-thr = <0x3E>;
233
234              dlg,btn-avg = <4>;
235              dlg,adc-1bit-rpt = <1>;
236          };
237      };
238    };
~/ Read-only file preview.