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