Linux Audio

Check our new training course

Linux debugging, profiling, tracing and performance analysis training

Mar 24-27, 2025, special US time zones
Register
Loading...
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/sound/samsung,aries-wm8994.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Samsung Aries audio complex with WM8994 codec
  8
  9maintainers:
 10  - Jonathan Bakker <xc-racer2@live.ca>
 11
 12properties:
 13  compatible:
 14    enum:
 15      # With FM radio and modem master
 16      - samsung,aries-wm8994
 17      # Without FM radio and modem slave
 18      - samsung,fascinate4g-wm8994
 19
 20  model:
 21    $ref: /schemas/types.yaml#/definitions/string
 22    description: The user-visible name of this sound complex.
 23
 24  cpu:
 25    type: object
 26    properties:
 27      sound-dai:
 28        minItems: 2
 29        maxItems: 2
 30        $ref: /schemas/types.yaml#/definitions/phandle-array
 31        description: |
 32          phandles to the I2S controller and bluetooth codec,
 33          in that order
 34
 35  codec:
 36    type: object
 37    properties:
 38      sound-dai:
 39        $ref: /schemas/types.yaml#/definitions/phandle-array
 40        description: phandle to the WM8994 CODEC
 41
 42  samsung,audio-routing:
 43    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
 44    description: |
 45      List of the connections between audio
 46      components;  each entry is a pair of strings, the first being the
 47      connection's sink, the second being the connection's source;
 48      valid names for sources and sinks are the WM8994's pins (as
 49      documented in its binding), and the jacks on the board -
 50      For samsung,aries-wm8994: HP, SPK, RCV, LINE, Main Mic, Headset Mic,
 51      or FM In
 52      For samsung,fascinate4g-wm8994: HP, SPK, RCV, LINE, Main Mic,
 53      or HeadsetMic
 54
 55  extcon:
 56    description: Extcon phandle for dock detection
 57
 58  main-micbias-supply:
 59    description: Supply for the micbias on the main mic
 60
 61  headset-micbias-supply:
 62    description: Supply for the micbias on the headset mic
 63
 64  earpath-sel-gpios:
 65    maxItems: 1
 66    description: GPIO for switching between tv-out and mic paths
 67
 68  headset-detect-gpios:
 69    maxItems: 1
 70    description: GPIO for detection of headset insertion
 71
 72  headset-key-gpios:
 73    maxItems: 1
 74    description: GPIO for detection of headset key press
 75
 76  io-channels:
 77    maxItems: 1
 78    description: IO channel to read micbias voltage for headset detection
 79
 80  io-channel-names:
 81    const: headset-detect
 82
 83required:
 84  - compatible
 85  - model
 86  - cpu
 87  - codec
 88  - samsung,audio-routing
 89  - extcon
 90  - main-micbias-supply
 91  - headset-micbias-supply
 92  - earpath-sel-gpios
 93  - headset-detect-gpios
 94  - headset-key-gpios
 95
 96additionalProperties: false
 97
 98examples:
 99  - |
100    #include <dt-bindings/gpio/gpio.h>
101
102    sound {
103        compatible = "samsung,fascinate4g-wm8994";
104
105        model = "Fascinate4G";
106
107        extcon = <&fsa9480>;
108
109        main-micbias-supply = <&main_micbias_reg>;
110        headset-micbias-supply = <&headset_micbias_reg>;
111
112        earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>;
113
114        io-channels = <&adc 3>;
115        io-channel-names = "headset-detect";
116        headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_HIGH>;
117        headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>;
118
119        samsung,audio-routing =
120            "HP", "HPOUT1L",
121            "HP", "HPOUT1R",
122
123            "SPK", "SPKOUTLN",
124            "SPK", "SPKOUTLP",
125
126            "RCV", "HPOUT2N",
127            "RCV", "HPOUT2P",
128
129            "LINE", "LINEOUT2N",
130            "LINE", "LINEOUT2P",
131
132            "IN1LP", "Main Mic",
133            "IN1LN", "Main Mic",
134
135            "IN1RP", "Headset Mic",
136            "IN1RN", "Headset Mic";
137
138        pinctrl-names = "default";
139        pinctrl-0 = <&headset_det &earpath_sel>;
140
141        cpu {
142            sound-dai = <&i2s0>, <&bt_codec>;
143        };
144
145        codec {
146            sound-dai = <&wm8994>;
147        };
148    };
149