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

title: Realtek RT5651 audio CODEC

maintainers:
  - Bard Liao <bardliao@realtek.com>

description: >
  This device supports I2C only.

  Pins on the device (for linking into audio routes) for RT5651:

    * DMIC L1
    * DMIC R1
    * IN1P
    * IN2P
    * IN2N
    * IN3P
    * HPOL
    * HPOR
    * LOUTL
    * LOUTR
    * PDML
    * PDMR

allOf:
  - $ref: /schemas/sound/dai-common.yaml#

properties:
  compatible:
    const: realtek,rt5651

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    const: mclk

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

  realtek,in2-differential:
    type: boolean
    description: Indicate MIC2 input are differential, rather than single-ended.

  realtek,dmic-en:
    type: boolean
    description: Indicates DMIC is used.

  realtek,jack-detect-source:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Select jack-detect input pin.
    enum: [1, 2, 3]

  realtek,jack-detect-not-inverted:
    type: boolean
    description:
      Normal jack-detect switches give an inverted (active-low) signal. Set this
      bool in the rare case you've a jack-detect switch which is not inverted.

  realtek,over-current-threshold-microamp:
    description: Micbias over-current detection threshold in µA.
    enum: [600, 1500, 2000]

  realtek,over-current-scale-factor:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: >
      Micbias over-current detection scale factor:

        0: scale current by 0.5
        1: scale current by 0.75
        2: scale current by 1.0
        3: scale current by 1.5
    enum: [0, 1, 2, 3]

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        codec@1a {
            compatible = "realtek,rt5651";
            reg = <0x1a>;
            realtek,dmic-en;
            realtek,in2-differential;
        };
    };
