xref: /openbmc/linux/Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
114ebd62cSJonathan Bakker# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
214ebd62cSJonathan Bakker%YAML 1.2
314ebd62cSJonathan Bakker---
414ebd62cSJonathan Bakker$id: http://devicetree.org/schemas/sound/samsung,aries-wm8994.yaml#
514ebd62cSJonathan Bakker$schema: http://devicetree.org/meta-schemas/core.yaml#
614ebd62cSJonathan Bakker
714ebd62cSJonathan Bakkertitle: Samsung Aries audio complex with WM8994 codec
814ebd62cSJonathan Bakker
914ebd62cSJonathan Bakkermaintainers:
1014ebd62cSJonathan Bakker  - Jonathan Bakker <xc-racer2@live.ca>
1114ebd62cSJonathan Bakker
12*d63cff2bSKrzysztof KozlowskiallOf:
13*d63cff2bSKrzysztof Kozlowski  - $ref: sound-card-common.yaml#
14*d63cff2bSKrzysztof Kozlowski
1514ebd62cSJonathan Bakkerproperties:
1614ebd62cSJonathan Bakker  compatible:
17cac17861SKrzysztof Kozlowski    enum:
18cac17861SKrzysztof Kozlowski      # With FM radio and modem master
19cac17861SKrzysztof Kozlowski      - samsung,aries-wm8994
20cac17861SKrzysztof Kozlowski      # Without FM radio and modem slave
21cac17861SKrzysztof Kozlowski      - samsung,fascinate4g-wm8994
2214ebd62cSJonathan Bakker
2314ebd62cSJonathan Bakker  cpu:
2414ebd62cSJonathan Bakker    type: object
259e10a1deSRob Herring    additionalProperties: false
2614ebd62cSJonathan Bakker    properties:
2714ebd62cSJonathan Bakker      sound-dai:
2814ebd62cSJonathan Bakker        minItems: 2
2914ebd62cSJonathan Bakker        maxItems: 2
3014ebd62cSJonathan Bakker        description: |
3114ebd62cSJonathan Bakker          phandles to the I2S controller and bluetooth codec,
3214ebd62cSJonathan Bakker          in that order
337f021b72SKrzysztof Kozlowski    required:
347f021b72SKrzysztof Kozlowski      - sound-dai
3514ebd62cSJonathan Bakker
3614ebd62cSJonathan Bakker  codec:
379e10a1deSRob Herring    additionalProperties: false
3814ebd62cSJonathan Bakker    type: object
3914ebd62cSJonathan Bakker    properties:
4014ebd62cSJonathan Bakker      sound-dai:
4197709d36SRob Herring        maxItems: 1
4214ebd62cSJonathan Bakker        description: phandle to the WM8994 CODEC
437f021b72SKrzysztof Kozlowski    required:
447f021b72SKrzysztof Kozlowski      - sound-dai
4514ebd62cSJonathan Bakker
4614ebd62cSJonathan Bakker  samsung,audio-routing:
4714ebd62cSJonathan Bakker    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
48*d63cff2bSKrzysztof Kozlowski    deprecated: true
4914ebd62cSJonathan Bakker    description: |
5014ebd62cSJonathan Bakker      List of the connections between audio
5114ebd62cSJonathan Bakker      components;  each entry is a pair of strings, the first being the
5214ebd62cSJonathan Bakker      connection's sink, the second being the connection's source;
5314ebd62cSJonathan Bakker      valid names for sources and sinks are the WM8994's pins (as
5414ebd62cSJonathan Bakker      documented in its binding), and the jacks on the board -
5514ebd62cSJonathan Bakker      For samsung,aries-wm8994: HP, SPK, RCV, LINE, Main Mic, Headset Mic,
5614ebd62cSJonathan Bakker      or FM In
5714ebd62cSJonathan Bakker      For samsung,fascinate4g-wm8994: HP, SPK, RCV, LINE, Main Mic,
5814ebd62cSJonathan Bakker      or HeadsetMic
59*d63cff2bSKrzysztof Kozlowski      Deprecated, use audio-routing.
6014ebd62cSJonathan Bakker
6114ebd62cSJonathan Bakker  extcon:
6214ebd62cSJonathan Bakker    description: Extcon phandle for dock detection
6314ebd62cSJonathan Bakker
6414ebd62cSJonathan Bakker  main-micbias-supply:
6514ebd62cSJonathan Bakker    description: Supply for the micbias on the main mic
6614ebd62cSJonathan Bakker
6714ebd62cSJonathan Bakker  headset-micbias-supply:
6814ebd62cSJonathan Bakker    description: Supply for the micbias on the headset mic
6914ebd62cSJonathan Bakker
7014ebd62cSJonathan Bakker  earpath-sel-gpios:
710499220dSRob Herring    maxItems: 1
7214ebd62cSJonathan Bakker    description: GPIO for switching between tv-out and mic paths
7314ebd62cSJonathan Bakker
7414ebd62cSJonathan Bakker  headset-detect-gpios:
750499220dSRob Herring    maxItems: 1
7614ebd62cSJonathan Bakker    description: GPIO for detection of headset insertion
7714ebd62cSJonathan Bakker
7814ebd62cSJonathan Bakker  headset-key-gpios:
790499220dSRob Herring    maxItems: 1
8014ebd62cSJonathan Bakker    description: GPIO for detection of headset key press
8114ebd62cSJonathan Bakker
8214ebd62cSJonathan Bakker  io-channels:
8314ebd62cSJonathan Bakker    maxItems: 1
8414ebd62cSJonathan Bakker    description: IO channel to read micbias voltage for headset detection
8514ebd62cSJonathan Bakker
8614ebd62cSJonathan Bakker  io-channel-names:
8714ebd62cSJonathan Bakker    const: headset-detect
8814ebd62cSJonathan Bakker
8914ebd62cSJonathan Bakkerrequired:
9014ebd62cSJonathan Bakker  - compatible
9114ebd62cSJonathan Bakker  - cpu
9214ebd62cSJonathan Bakker  - codec
93*d63cff2bSKrzysztof Kozlowski  - audio-routing
9414ebd62cSJonathan Bakker  - extcon
9514ebd62cSJonathan Bakker  - main-micbias-supply
9614ebd62cSJonathan Bakker  - headset-micbias-supply
9714ebd62cSJonathan Bakker  - earpath-sel-gpios
9814ebd62cSJonathan Bakker  - headset-detect-gpios
9914ebd62cSJonathan Bakker  - headset-key-gpios
10014ebd62cSJonathan Bakker
101*d63cff2bSKrzysztof KozlowskiunevaluatedProperties: false
10214ebd62cSJonathan Bakker
10314ebd62cSJonathan Bakkerexamples:
10414ebd62cSJonathan Bakker  - |
10514ebd62cSJonathan Bakker    #include <dt-bindings/gpio/gpio.h>
10614ebd62cSJonathan Bakker
10714ebd62cSJonathan Bakker    sound {
10814ebd62cSJonathan Bakker        compatible = "samsung,fascinate4g-wm8994";
10914ebd62cSJonathan Bakker
11014ebd62cSJonathan Bakker        model = "Fascinate4G";
11114ebd62cSJonathan Bakker
11214ebd62cSJonathan Bakker        extcon = <&fsa9480>;
11314ebd62cSJonathan Bakker
11414ebd62cSJonathan Bakker        main-micbias-supply = <&main_micbias_reg>;
11514ebd62cSJonathan Bakker        headset-micbias-supply = <&headset_micbias_reg>;
11614ebd62cSJonathan Bakker
11714ebd62cSJonathan Bakker        earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>;
11814ebd62cSJonathan Bakker
11914ebd62cSJonathan Bakker        io-channels = <&adc 3>;
12014ebd62cSJonathan Bakker        io-channel-names = "headset-detect";
12114ebd62cSJonathan Bakker        headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_HIGH>;
12214ebd62cSJonathan Bakker        headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>;
12314ebd62cSJonathan Bakker
124*d63cff2bSKrzysztof Kozlowski        audio-routing =
12514ebd62cSJonathan Bakker            "HP", "HPOUT1L",
12614ebd62cSJonathan Bakker            "HP", "HPOUT1R",
12714ebd62cSJonathan Bakker
12814ebd62cSJonathan Bakker            "SPK", "SPKOUTLN",
12914ebd62cSJonathan Bakker            "SPK", "SPKOUTLP",
13014ebd62cSJonathan Bakker
13114ebd62cSJonathan Bakker            "RCV", "HPOUT2N",
13214ebd62cSJonathan Bakker            "RCV", "HPOUT2P",
13314ebd62cSJonathan Bakker
13414ebd62cSJonathan Bakker            "LINE", "LINEOUT2N",
13514ebd62cSJonathan Bakker            "LINE", "LINEOUT2P",
13614ebd62cSJonathan Bakker
13714ebd62cSJonathan Bakker            "IN1LP", "Main Mic",
13814ebd62cSJonathan Bakker            "IN1LN", "Main Mic",
13914ebd62cSJonathan Bakker
14014ebd62cSJonathan Bakker            "IN1RP", "Headset Mic",
14114ebd62cSJonathan Bakker            "IN1RN", "Headset Mic";
14214ebd62cSJonathan Bakker
14314ebd62cSJonathan Bakker        pinctrl-names = "default";
14414ebd62cSJonathan Bakker        pinctrl-0 = <&headset_det &earpath_sel>;
14514ebd62cSJonathan Bakker
14614ebd62cSJonathan Bakker        cpu {
14714ebd62cSJonathan Bakker            sound-dai = <&i2s0>, <&bt_codec>;
14814ebd62cSJonathan Bakker        };
14914ebd62cSJonathan Bakker
15014ebd62cSJonathan Bakker        codec {
15114ebd62cSJonathan Bakker            sound-dai = <&wm8994>;
15214ebd62cSJonathan Bakker        };
15314ebd62cSJonathan Bakker    };
154