# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/nuvoton,nau8824.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NAU8824 audio CODEC

maintainers:
  - John Hsu <KCHSU0@nuvoton.com>

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    enum:
      - nuvoton,nau8824

  reg:
    maxItems: 1

  '#sound-dai-cells':
    const: 0

  interrupts:
    maxItems: 1

  nuvoton,jkdet-polarity:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      JKDET pin polarity.
    enum:
      - 0 # active high
      - 1 # active low
    default: 1

  nuvoton,vref-impedance:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      VREF Impedance selection.
    enum:
      - 0 # Open
      - 1 # 25 kOhm
      - 2 # 125 kOhm
      - 3 # 2.5 kOhm
    default: 2

  nuvoton,micbias-voltage:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Micbias voltage level.
    enum:
      - 0 # VDDA
      - 1 # VDDA
      - 2 # VDDA * 1.1
      - 3 # VDDA * 1.2
      - 4 # VDDA * 1.3
      - 5 # VDDA * 1.4
      - 6 # VDDA * 1.53
      - 7 # VDDA * 1.53
    default: 6

  nuvoton,sar-threshold-num:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Number of buttons supported.
    minimum: 1
    maximum: 8
    default: 4

  nuvoton,sar-threshold:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description:
      Impedance threshold for each button. Array that contains up to 8 buttons
      configuration. SAR value is calculated as
      SAR = 255 * MICBIAS / SAR_VOLTAGE * R / (2000 + R) where MICBIAS is
      configured by 'nuvoton,micbias-voltage', SAR_VOLTAGE is configured by
      'nuvoton,sar-voltage', R - button impedance.
      Refer datasheet section 10.2 for more information about threshold
      calculation.
    minItems: 1
    maxItems: 8
    items:
      minimum: 0
      maximum: 255

  nuvoton,sar-hysteresis:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Button impedance measurement hysteresis.
    default: 0

  nuvoton,sar-voltage:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Reference voltage for button impedance measurement.
    enum:
      - 0 # VDDA
      - 1 # VDDA
      - 2 # VDDA * 1.1
      - 3 # VDDA * 1.2
      - 4 # VDDA * 1.3
      - 5 # VDDA * 1.4
      - 6 # VDDA * 1.53
      - 7 # VDDA * 1.53
    default: 6

  nuvoton,sar-compare-time:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      SAR compare time.
    enum:
      - 0 # 500ns
      - 1 # 1us
      - 2 # 2us
      - 3 # 4us
    default: 1

  nuvoton,sar-sampling-time:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      SAR sampling time.
    enum:
      - 0 # 2us
      - 1 # 4us
      - 2 # 8us
      - 3 # 16us
    default: 1

  nuvoton,short-key-debounce:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Button short key press debounce time.
    enum:
      - 0 # 30 ms
      - 1 # 50 ms
      - 2 # 100 ms
    default: 0

  nuvoton,jack-eject-debounce:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Jack ejection debounce time.
    enum:
      - 0 # 0 ms
      - 1 # 1 ms
      - 2 # 10 ms
    default: 1

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        codec@1a {
            #sound-dai-cells = <0>;
            compatible = "nuvoton,nau8824";
            reg = <0x1a>;
            interrupt-parent = <&gpio>;
            interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
            nuvoton,vref-impedance = <2>;
            nuvoton,micbias-voltage = <6>;
            nuvoton,sar-threshold-num = <4>;
            // Setup 4 buttons impedance according to Android specification
            nuvoton,sar-threshold = <0xc 0x1e 0x38 0x60>;
            nuvoton,sar-hysteresis = <0>;
            nuvoton,sar-voltage = <6>;
            nuvoton,sar-compare-time = <1>;
            nuvoton,sar-sampling-time = <1>;
            nuvoton,short-key-debounce = <0>;
            nuvoton,jack-eject-debounce = <1>;
        };
    };
