# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/fsl-asoc-card.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale Generic ASoC Sound Card with ASRC support

description:
  The Freescale Generic ASoC Sound Card can be used, ideally,
  for all Freescale SoCs connecting with external CODECs.

  The idea of this generic sound card is a bit like ASoC Simple Card.
  However, for Freescale SoCs (especially those released in recent years),
  most of them have ASRC inside. And this is a specific feature that might
  be painstakingly controlled and merged into the Simple Card.

  So having this generic sound card allows all Freescale SoC users to
  benefit from the simplification of a new card support and the capability
  of the wide sample rates support through ASRC.

  Note, The card is initially designed for those sound cards who use AC'97, I2S
  and PCM DAI formats. However, it'll be also possible to support those non
  AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as
  long as the driver has been properly upgraded.

maintainers:
  - Shengjiu Wang <shengjiu.wang@nxp.com>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - fsl,imx-sgtl5000
              - fsl,imx25-pdk-sgtl5000
              - fsl,imx53-cpuvo-sgtl5000
              - fsl,imx51-babbage-sgtl5000
              - fsl,imx53-m53evk-sgtl5000
              - fsl,imx53-qsb-sgtl5000
              - fsl,imx53-voipac-sgtl5000
              - fsl,imx6-armadeus-sgtl5000
              - fsl,imx6-rex-sgtl5000
              - fsl,imx6-sabreauto-cs42888
              - fsl,imx6-wandboard-sgtl5000
              - fsl,imx6dl-nit6xlite-sgtl5000
              - fsl,imx6q-ba16-sgtl5000
              - fsl,imx6q-nitrogen6_max-sgtl5000
              - fsl,imx6q-nitrogen6_som2-sgtl5000
              - fsl,imx6q-nitrogen6x-sgtl5000
              - fsl,imx6q-sabrelite-sgtl5000
              - fsl,imx6q-sabresd-wm8962
              - fsl,imx6q-udoo-ac97
              - fsl,imx6q-ventana-sgtl5000
              - fsl,imx6sl-evk-wm8962
              - fsl,imx6sx-sdb-mqs
              - fsl,imx6sx-sdb-wm8962
              - fsl,imx7d-evk-wm8960
              - karo,tx53-audio-sgtl5000
              - tq,imx53-mba53-sgtl5000
          - enum:
              - fsl,imx-audio-ac97
              - fsl,imx-audio-cs42888
              - fsl,imx-audio-mqs
              - fsl,imx-audio-sgtl5000
              - fsl,imx-audio-wm8960
              - fsl,imx-audio-wm8962
      - items:
          - enum:
              - fsl,imx-sabreauto-spdif
              - fsl,imx6sx-sdb-spdif
          - const: fsl,imx-audio-spdif
      - items:
          - enum:
              - fsl,imx-audio-ac97
              - fsl,imx-audio-cs42888
              - fsl,imx-audio-cs427x
              - fsl,imx-audio-mqs
              - fsl,imx-audio-nau8822
              - fsl,imx-audio-sgtl5000
              - fsl,imx-audio-si476x
              - fsl,imx-audio-tlv320aic31xx
              - fsl,imx-audio-tlv320aic32x4
              - fsl,imx-audio-wm8524
              - fsl,imx-audio-wm8904
              - fsl,imx-audio-wm8960
              - fsl,imx-audio-wm8962
              - fsl,imx-audio-wm8958
              - fsl,imx-audio-spdif

  model:
    $ref: /schemas/types.yaml#/definitions/string
    description: The user-visible name of this sound complex

  audio-asrc:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      The phandle of ASRC. It can be absent if there's no
      need to add ASRC support via DPCM.

  audio-codec:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: |
      The phandle of an audio codec.
      With "fsl,imx-audio-spdif", either SPDIF audio codec spdif_transmitter,
      spdif_receiver or both.
    minItems: 1
    maxItems: 2
    items:
      maxItems: 1

  audio-cpu:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of an CPU DAI controller

  audio-routing:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description:
      A 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. There're a few pre-designed board
      connectors. "AMIC" stands for Analog Microphone Jack.
      "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC"
      are redundant while coexisting in order to support the old bindings
      of wm8962 and sgtl5000.

  hp-det-gpio:
    deprecated: true
    maxItems: 1
    description: The GPIO that detect headphones are plugged in

  hp-det-gpios:
    maxItems: 1
    description: The GPIO that detect headphones are plugged in

  mic-det-gpio:
    deprecated: true
    maxItems: 1
    description: The GPIO that detect microphones are plugged in

  mic-det-gpios:
    maxItems: 1
    description: The GPIO that detect microphones are plugged in

  bitclock-master:
    $ref: simple-card.yaml#/definitions/bitclock-master
    description: Indicates dai-link bit clock master.

  frame-master:
    $ref: simple-card.yaml#/definitions/frame-master
    description: Indicates dai-link frame master.

  format:
    $ref: simple-card.yaml#/definitions/format
    description: audio format.

  frame-inversion:
    $ref: simple-card.yaml#/definitions/frame-inversion
    description: dai-link uses frame clock inversion.

  bitclock-inversion:
    $ref: simple-card.yaml#/definitions/bitclock-inversion
    description: dai-link uses bit clock inversion.

  mclk-id:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: Main clock id for each codec, specific for each card configuration.
    minItems: 1
    maxItems: 2

  mux-int-port:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 7]
    description: The internal port of the i.MX audio muxer (AUDMUX)

  mux-ext-port:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [3, 4, 5, 6]
    description: The external port of the i.MX audio muxer

  ssi-controller:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of an CPU DAI controller

  spdif-controller:
    $ref: /schemas/types.yaml#/definitions/phandle
    deprecated: true
    description: The phandle of an S/PDIF CPU DAI controller.

  spdif-out:
    type: boolean
    deprecated: true
    description: |
      If present, the transmitting function of S/PDIF will be enabled,
      indicating there's a physical S/PDIF out connector or jack on the
      board or it's connecting to some other IP block, such as an HDMI
      encoder or display-controller.

  spdif-in:
    type: boolean
    deprecated: true
    description: |
      If present, the receiving function of S/PDIF will be enabled,
      indicating there is a physical S/PDIF in connector/jack on the board.

required:
  - compatible
  - model

unevaluatedProperties: false

examples:
  - |
    sound-cs42888 {
        compatible = "fsl,imx-audio-cs42888";
        model = "cs42888-audio";
        audio-cpu = <&esai>;
        audio-asrc = <&asrc>;
        audio-codec = <&cs42888>;
        audio-routing =
             "Line Out Jack", "AOUT1L",
             "Line Out Jack", "AOUT1R",
             "Line Out Jack", "AOUT2L",
             "Line Out Jack", "AOUT2R",
             "Line Out Jack", "AOUT3L",
             "Line Out Jack", "AOUT3R",
             "Line Out Jack", "AOUT4L",
             "Line Out Jack", "AOUT4R",
             "AIN1L", "Line In Jack",
             "AIN1R", "Line In Jack",
             "AIN2L", "Line In Jack",
             "AIN2R", "Line In Jack";
    };

  - |
    sound-spdif-asrc {
        compatible = "fsl,imx-audio-spdif";
        model = "spdif-asrc-audio";
        audio-cpu = <&spdif>;
        audio-asrc = <&easrc>;
        audio-codec = <&spdifdit>, <&spdifdir>;
    };
