# 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 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 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>; }; }; };