243 lines
7.8 KiB
YAML
243 lines
7.8 KiB
YAML
# 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>;
|
|
};
|