| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/sound/dialog,da7219.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Dialog Semiconductor DA7219 Audio Codec |
| |
| maintainers: |
| - David Rau <David.Rau.opensource@dm.renesas.com> |
| |
| description: |
| The DA7219 is an ultra low-power audio codec with |
| in-built advanced accessory detection (AAD) for mobile |
| computing and accessory applications, which supports |
| sample rates up to 96 kHz at 24-bit resolution. |
| |
| properties: |
| compatible: |
| const: dlg,da7219 |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| VDD-supply: |
| description: |
| VDD power supply for the device. |
| |
| VDDMIC-supply: |
| description: |
| VDDMIC power supply for the device. |
| |
| VDDIO-supply: |
| description: |
| VDDIO power supply for the device. |
| |
| interrupt-names: |
| description: |
| Should be "wakeup" if interrupt is to be used to wake system, |
| otherwise "irq" should be used. |
| enum: |
| - wakeup |
| - irq |
| |
| wakeup-source: |
| type: boolean |
| description: |
| Flag to indicate this device can wake system (suspend/resume). |
| |
| "#clock-cells": |
| const: 1 |
| |
| clock-output-names: |
| minItems: 2 |
| maxItems: 2 |
| description: |
| Name given for DAI WCLK and BCLK outputs. |
| |
| clocks: |
| maxItems: 1 |
| description: |
| phandle and clock specifier for codec MCLK. |
| |
| clock-names: |
| const: mclk |
| |
| dlg,micbias-lvl: |
| enum: [1600, 1800, 2000, 2200, 2400, 2600] |
| description: |
| Voltage (mV) for Mic Bias. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| dlg,mic-amp-in-sel: |
| enum: [diff, se_p, se_n] |
| description: |
| Mic input source type. |
| |
| diff - Differential. |
| |
| se_p - MIC_P. |
| Positive differential analog microphone input. |
| |
| se_n - MIC_N. |
| Negative differential analog microphone input. |
| $ref: /schemas/types.yaml#/definitions/string |
| |
| da7219_aad: |
| type: object |
| additionalProperties: false |
| description: |
| Configuration of advanced accessory detection. |
| properties: |
| dlg,micbias-pulse-lvl: |
| enum: [2800, 2900] |
| description: |
| Mic bias higher voltage pulse level (mV). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| dlg,micbias-pulse-time: |
| description: |
| Mic bias higher voltage pulse duration (ms). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| |
| dlg,btn-cfg: |
| enum: [2, 5, 10, 50, 100, 200, 500] |
| description: |
| Periodic button press measurements for 4-pole jack (ms). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| dlg,mic-det-thr: |
| enum: [200, 500, 750, 1000] |
| description: |
| Impedance threshold for mic detection measurement (Ohms). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| dlg,jack-ins-deb: |
| enum: [5, 10, 20, 50, 100, 200, 500, 1000] |
| description: |
| Debounce time for jack insertion (ms). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| dlg,jack-ins-det-pty: |
| enum: [low, high] |
| description: |
| Polarity for jack insertion detection. |
| $ref: /schemas/types.yaml#/definitions/string |
| |
| dlg,jack-det-rate: |
| enum: ["32_64", "64_128", "128_256", "256_512"] |
| description: |
| Jack type (3/4 pole) detection latency (ms). |
| $ref: /schemas/types.yaml#/definitions/string |
| |
| dlg,jack-rem-deb: |
| enum: [1, 5, 10, 20] |
| description: |
| Debounce time for jack removal (ms). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| dlg,a-d-btn-thr: |
| description: |
| Impedance threshold between buttons A and D. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 255 |
| |
| dlg,d-b-btn-thr: |
| description: |
| Impedance threshold between buttons D and B. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 255 |
| |
| dlg,b-c-btn-thr: |
| description: |
| Impedance threshold between buttons B and C. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 255 |
| |
| dlg,c-mic-btn-thr: |
| description: |
| Impedance threshold between button C and Mic. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 255 |
| |
| dlg,btn-avg: |
| enum: [1, 2, 4, 8] |
| description: |
| Number of 8-bit readings for averaged button measurement. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| dlg,adc-1bit-rpt: |
| enum: [1, 2, 4, 8] |
| description: |
| Repeat count for 1-bit button measurement. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - VDD-supply |
| - VDDMIC-supply |
| - VDDIO-supply |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| codec: da7219@1a { |
| compatible = "dlg,da7219"; |
| reg = <0x1a>; |
| |
| interrupt-parent = <&gpio6>; |
| interrupts = <11 IRQ_TYPE_LEVEL_LOW>; |
| |
| VDD-supply = <&vdd_reg>; |
| VDDMIC-supply = <&vddmic_reg>; |
| VDDIO-supply = <&vddio_reg>; |
| |
| #clock-cells = <1>; |
| clock-output-names = "da7219-dai-wclk", "da7219-dai-bclk"; |
| |
| clocks = <&clks 201>; |
| clock-names = "mclk"; |
| |
| dlg,micbias-lvl = <2600>; |
| dlg,mic-amp-in-sel = "diff"; |
| |
| da7219_aad { |
| dlg,btn-cfg = <50>; |
| dlg,mic-det-thr = <500>; |
| dlg,jack-ins-deb = <20>; |
| dlg,jack-ins-det-pty = "low"; |
| dlg,jack-det-rate = "32_64"; |
| dlg,jack-rem-deb = <1>; |
| |
| dlg,a-d-btn-thr = <0xa>; |
| dlg,d-b-btn-thr = <0x16>; |
| dlg,b-c-btn-thr = <0x21>; |
| dlg,c-mic-btn-thr = <0x3E>; |
| |
| dlg,btn-avg = <4>; |
| dlg,adc-1bit-rpt = <1>; |
| }; |
| }; |
| }; |