Documentation / devicetree / bindings / sound / samsung,midas-audio.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 136 137 138 139 140 141 142 143 144 145
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/samsung,midas-audio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung Midas audio complex with WM1811 codec

maintainers:
  - Sylwester Nawrocki <s.nawrocki@samsung.com>

allOf:
  - $ref: sound-card-common.yaml#

properties:
  compatible:
    const: samsung,midas-audio

  cpu:
    type: object
    additionalProperties: false
    properties:
      sound-dai:
        maxItems: 1
        description: phandle to the I2S controller
    required:
      - sound-dai

  codec:
    type: object
    additionalProperties: false
    properties:
      sound-dai:
        maxItems: 1
        description: phandle to the WM1811 CODEC
    required:
      - sound-dai

  samsung,audio-routing:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description: |
      List of the connections between audio components; each entry is
      a pair of strings, the first being the connection's sink, the second
      being the connection's source; valid names for sources and sinks are
      the WM1811's pins (as documented in its binding), and the jacks
      on the board: HP, SPK, Main Mic, Sub Mic, Headset Mic.
      Deprecated, use audio-routing.

  mic-bias-supply:
    description: Supply for the micbias on the Main microphone

  submic-bias-supply:
    description: Supply for the micbias on the Sub microphone

  headset-mic-bias-supply:
    description: Supply for the micbias on the Headset microphone

  fm-sel-gpios:
    maxItems: 1
    description: GPIO pin for FM selection

  lineout-sel-gpios:
    maxItems: 1
    description: GPIO pin for line out selection

  headset-detect-gpios:
    maxItems: 1
    description: GPIO for detection of headset insertion

  headset-key-gpios:
    maxItems: 1
    description: GPIO for detection of headset key press

  io-channels:
    maxItems: 1
    description: IO channel to read micbias voltage for headset detection

  io-channel-names:
    const: headset-detect

  samsung,headset-4pole-threshold-microvolt:
    minItems: 2
    maxItems: 2
    description:
      Array containing minimum and maximum IO channel value for 4-pole
      (with microphone/button) headsets. If the IO channel value is
      outside of this range, a 3-pole headset is assumed.

  samsung,headset-button-threshold-microvolt:
    minItems: 3
    maxItems: 3
    description: |
      Array of minimum (inclusive) IO channel values for headset button
      detection, in order: "Media", "Volume Up" and "Volume Down".

required:
  - compatible
  - cpu
  - codec
  - audio-routing
  - mic-bias-supply
  - submic-bias-supply

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
 
    sound {
        compatible = "samsung,midas-audio";
        model = "Midas";
 
        fm-sel-gpios = <&gpaa0 3 GPIO_ACTIVE_HIGH>;
 
        mic-bias-supply = <&mic_bias_reg>;
        submic-bias-supply = <&submic_bias_reg>;
 
        audio-routing =
                "HP", "HPOUT1L",
                "HP", "HPOUT1R",
 
                "SPK", "SPKOUTLN",
                "SPK", "SPKOUTLP",
                "SPK", "SPKOUTRN",
                "SPK", "SPKOUTRP",
 
                "RCV", "HPOUT2N",
                "RCV", "HPOUT2P",
 
                "IN1LP", "Main Mic",
                "IN1LN", "Main Mic",
                "IN1RP", "Sub Mic",
                "IN1LP", "Sub Mic";
 
        cpu {
            sound-dai = <&i2s0>;
        };
 
        codec {
            sound-dai = <&wm1811>;
        };
 
    };