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

title: NAU8825 audio CODEC

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

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

properties:
  compatible:
    enum:
      - nuvoton,nau8825

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  nuvoton,jkdet-enable:
    description:
      Enable jack detection via JKDET pin.
    type: boolean

  nuvoton,jkdet-pull-enable:
    description:
      Enable JKDET pin pull.
      If set - pin pull enabled, otherwise pin in high impedance state.
    type: boolean

  nuvoton,jkdet-pull-up:
    description:
      Pull-up JKDET pin.
      If set then JKDET pin is pull up, otherwise pull down.
    type: boolean

  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: 4
    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: 4
    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 # 500 ns
      - 1 # 1 us
      - 2 # 2 us
      - 3 # 4 us
    default: 1

  nuvoton,sar-sampling-time:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      SAR sampling time.
    enum:
      - 0 # 2 us
      - 1 # 4 us
      - 2 # 8 us
      - 3 # 16 us
    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
      - 3 # 30 ms
    default: 3

  nuvoton,jack-insert-debounce:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      number from 0 to 7 that sets debounce time to 2^(n+2) ms.
    maximum: 7
    default: 7

  nuvoton,jack-eject-debounce:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      number from 0 to 7 that sets debounce time to 2^(n+2) ms
    maximum: 7
    default: 0

  nuvoton,crosstalk-enable:
    description:
      make crosstalk function enable if set.
    type: boolean

  nuvoton,adcout-drive-strong:
    description:
      make the drive strength of ADCOUT IO PIN strong if set.
      Otherwise, the drive keeps normal strength.
    type: boolean

  nuvoton,adc-delay-ms:
    description:
      Delay (in ms) to make input path stable and avoid pop noise.
      The default value is 125 and range between 125 to 500 ms.
    minimum: 125
    maximum: 500
    default: 125

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: mclk

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

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,nau8825";
            reg = <0x1a>;
            interrupt-parent = <&gpio>;
            interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
            nuvoton,jkdet-enable;
            nuvoton,jkdet-pull-enable;
            nuvoton,jkdet-pull-up;
            nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
            nuvoton,vref-impedance = <2>;
            nuvoton,micbias-voltage = <6>;
            // Setup 4 buttons impedance according to Android specification
            nuvoton,sar-threshold-num = <4>;
            nuvoton,sar-threshold = <0xc 0x1e 0x38 0x60>;
            nuvoton,sar-hysteresis = <1>;
            nuvoton,sar-voltage = <0>;
            nuvoton,sar-compare-time = <0>;
            nuvoton,sar-sampling-time = <0>;
            nuvoton,short-key-debounce = <2>;
            nuvoton,jack-insert-debounce = <7>;
            nuvoton,jack-eject-debounce = <7>;
            nuvoton,crosstalk-enable;

            clock-names = "mclk";
            clocks = <&tegra_pmc 1>;
        };
    };
