18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/samsung,aries-wm8994.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Samsung Aries audio complex with WM8994 codec
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Jonathan Bakker <xc-racer2@live.ca>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciproperties:
138c2ecf20Sopenharmony_ci  compatible:
148c2ecf20Sopenharmony_ci    enum:
158c2ecf20Sopenharmony_ci      # With FM radio and modem master
168c2ecf20Sopenharmony_ci      - samsung,aries-wm8994
178c2ecf20Sopenharmony_ci      # Without FM radio and modem slave
188c2ecf20Sopenharmony_ci      - samsung,fascinate4g-wm8994
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci  model:
218c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
228c2ecf20Sopenharmony_ci    description: The user-visible name of this sound complex.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  cpu:
258c2ecf20Sopenharmony_ci    type: object
268c2ecf20Sopenharmony_ci    properties:
278c2ecf20Sopenharmony_ci      sound-dai:
288c2ecf20Sopenharmony_ci        minItems: 2
298c2ecf20Sopenharmony_ci        maxItems: 2
308c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/phandle-array
318c2ecf20Sopenharmony_ci        description: |
328c2ecf20Sopenharmony_ci          phandles to the I2S controller and bluetooth codec,
338c2ecf20Sopenharmony_ci          in that order
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci  codec:
368c2ecf20Sopenharmony_ci    type: object
378c2ecf20Sopenharmony_ci    properties:
388c2ecf20Sopenharmony_ci      sound-dai:
398c2ecf20Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/phandle-array
408c2ecf20Sopenharmony_ci        description: phandle to the WM8994 CODEC
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci  samsung,audio-routing:
438c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
448c2ecf20Sopenharmony_ci    description: |
458c2ecf20Sopenharmony_ci      List of the connections between audio
468c2ecf20Sopenharmony_ci      components;  each entry is a pair of strings, the first being the
478c2ecf20Sopenharmony_ci      connection's sink, the second being the connection's source;
488c2ecf20Sopenharmony_ci      valid names for sources and sinks are the WM8994's pins (as
498c2ecf20Sopenharmony_ci      documented in its binding), and the jacks on the board -
508c2ecf20Sopenharmony_ci      For samsung,aries-wm8994: HP, SPK, RCV, LINE, Main Mic, Headset Mic,
518c2ecf20Sopenharmony_ci      or FM In
528c2ecf20Sopenharmony_ci      For samsung,fascinate4g-wm8994: HP, SPK, RCV, LINE, Main Mic,
538c2ecf20Sopenharmony_ci      or HeadsetMic
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci  extcon:
568c2ecf20Sopenharmony_ci    description: Extcon phandle for dock detection
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci  main-micbias-supply:
598c2ecf20Sopenharmony_ci    description: Supply for the micbias on the main mic
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci  headset-micbias-supply:
628c2ecf20Sopenharmony_ci    description: Supply for the micbias on the headset mic
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci  earpath-sel-gpios:
658c2ecf20Sopenharmony_ci    description: GPIO for switching between tv-out and mic paths
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci  headset-detect-gpios:
688c2ecf20Sopenharmony_ci    description: GPIO for detection of headset insertion
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci  headset-key-gpios:
718c2ecf20Sopenharmony_ci    description: GPIO for detection of headset key press
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci  io-channels:
748c2ecf20Sopenharmony_ci    maxItems: 1
758c2ecf20Sopenharmony_ci    description: IO channel to read micbias voltage for headset detection
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci  io-channel-names:
788c2ecf20Sopenharmony_ci    const: headset-detect
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_cirequired:
818c2ecf20Sopenharmony_ci  - compatible
828c2ecf20Sopenharmony_ci  - model
838c2ecf20Sopenharmony_ci  - cpu
848c2ecf20Sopenharmony_ci  - codec
858c2ecf20Sopenharmony_ci  - samsung,audio-routing
868c2ecf20Sopenharmony_ci  - extcon
878c2ecf20Sopenharmony_ci  - main-micbias-supply
888c2ecf20Sopenharmony_ci  - headset-micbias-supply
898c2ecf20Sopenharmony_ci  - earpath-sel-gpios
908c2ecf20Sopenharmony_ci  - headset-detect-gpios
918c2ecf20Sopenharmony_ci  - headset-key-gpios
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ciadditionalProperties: false
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciexamples:
968c2ecf20Sopenharmony_ci  - |
978c2ecf20Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci    sound {
1008c2ecf20Sopenharmony_ci        compatible = "samsung,fascinate4g-wm8994";
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci        model = "Fascinate4G";
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci        extcon = <&fsa9480>;
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci        main-micbias-supply = <&main_micbias_reg>;
1078c2ecf20Sopenharmony_ci        headset-micbias-supply = <&headset_micbias_reg>;
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci        earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>;
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci        io-channels = <&adc 3>;
1128c2ecf20Sopenharmony_ci        io-channel-names = "headset-detect";
1138c2ecf20Sopenharmony_ci        headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_HIGH>;
1148c2ecf20Sopenharmony_ci        headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>;
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci        samsung,audio-routing =
1178c2ecf20Sopenharmony_ci            "HP", "HPOUT1L",
1188c2ecf20Sopenharmony_ci            "HP", "HPOUT1R",
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci            "SPK", "SPKOUTLN",
1218c2ecf20Sopenharmony_ci            "SPK", "SPKOUTLP",
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci            "RCV", "HPOUT2N",
1248c2ecf20Sopenharmony_ci            "RCV", "HPOUT2P",
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci            "LINE", "LINEOUT2N",
1278c2ecf20Sopenharmony_ci            "LINE", "LINEOUT2P",
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci            "IN1LP", "Main Mic",
1308c2ecf20Sopenharmony_ci            "IN1LN", "Main Mic",
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci            "IN1RP", "Headset Mic",
1338c2ecf20Sopenharmony_ci            "IN1RN", "Headset Mic";
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci        pinctrl-names = "default";
1368c2ecf20Sopenharmony_ci        pinctrl-0 = <&headset_det &earpath_sel>;
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci        cpu {
1398c2ecf20Sopenharmony_ci            sound-dai = <&i2s0>, <&bt_codec>;
1408c2ecf20Sopenharmony_ci        };
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci        codec {
1438c2ecf20Sopenharmony_ci            sound-dai = <&wm8994>;
1448c2ecf20Sopenharmony_ci        };
1458c2ecf20Sopenharmony_ci    };
1468c2ecf20Sopenharmony_ci
147