Documentation / devicetree / bindings / sound / realtek,rt5677.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/realtek,rt5677.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: RT5677 audio CODEC

maintainers:
  - Animesh Agarwal <animeshagarwal28@gmail.com>

description: |
  This device supports I2C only.
 
  Pins on the device (for linking into audio routes):
    * IN1P
    * IN1N
    * IN2P
    * IN2N
    * MICBIAS1
    * DMIC1
    * DMIC2
    * DMIC3
    * DMIC4
    * LOUT1
    * LOUT2
    * LOUT3

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

properties:
  compatible:
    const: realtek,rt5677

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  gpio-controller: true
 
  '#gpio-cells':
    const: 2

  realtek,pow-ldo2-gpio:
    maxItems: 1
    description: CODEC's POW_LDO2 pin.

  realtek,reset-gpio:
    maxItems: 1
    description: CODEC's RESET pin. Active low.

  realtek,gpio-config:
    description: |
      Array of six 8bit elements that configures GPIO.
      0 - floating (reset value)
      1 - pull down
      2 - pull up
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 6
    maxItems: 6
    items:
      maximum: 2

  realtek,jd1-gpio:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 0 # OFF
      - 1 # GPIO1 for jd1.
      - 2 # GPIO2 for jd1.
      - 3 # GPIO3 for jd1.
    description: Configures GPIO Mic Jack detection 1.

  realtek,jd2-gpio:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 0 # OFF
      - 1 # GPIO4 for jd2.
      - 2 # GPIO5 for jd2.
      - 3 # GPIO6 for jd2.
    description: Configures GPIO Mic Jack detection 2.

  realtek,jd3-gpio:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 0 # OFF
      - 1 # GPIO4 for jd3.
      - 2 # GPIO5 for jd3.
      - 3 # GPIO6 for jd3.
    description: Configures GPIO Mic Jack detection 3.

patternProperties:
  '^realtek,in[1-2]-differential$':
    type: boolean
    description: Indicate MIC1/2 input are differential, rather than
      single-ended.
 
  '^realtek,lout[1-3]-differential$':
    type: boolean
    description: Indicate LOUT1/2/3 outputs are differential, rather than
      single-ended.

required:
  - compatible
  - reg
  - interrupts
  - gpio-controller
  - '#gpio-cells'

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
 
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        codec@2c {
            compatible = "realtek,rt5677";
            reg = <0x2c>;
            interrupt-parent = <&gpio>;
            interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
            gpio-controller;
            #gpio-cells = <2>;
            realtek,pow-ldo2-gpio = <&gpio 3 GPIO_ACTIVE_HIGH>;
            realtek,reset-gpio = <&gpio 3 GPIO_ACTIVE_LOW>;
            realtek,in1-differential;
            realtek,gpio-config = <0 0 0 0 0 2>;
        };
    };