mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 07:44:21 +08:00
arm64: dts: imx8m: update spdif sound card node properties
The merge of imx-spdif driver into fsl-asoc-card brought new DT properties that can be used with the "fsl,imx-audio-spdif" compatible: * The "spdif-controller" property from imx-spdif is named "audio-cpu" in fsl-asoc-card. * fsl-asoc-card uses codecs explicitly declared in DT with "audio-codec". With an S/PDIF, codec drivers spdif_transmitter and spdif_receiver should be used. Driver imx-spdif used instead the dummy codec and a pair of boolean properties, "spdif-in" and "spdif-out". While backward compatibility is kept to support properties "spdif-controller", "spdif-in" and "spdif-out", using new properties has several benefits: * "audio-cpu" and "audio-codec" are more generic names reflecting that the fsl-asoc-card driver supports multiple hardware. They are properties already used by devices using the fsl-asoc-card driver. They are also similar to properties of simple-card: "cpu" and "codec". * "spdif-in" and "spdif-out" imply the use of the dummy codec in the driver. However, there are already two codec drivers for the S/PDIF, spdif_transmitter and spdif_receiver. It is better to declare S/PDIF Tx and Rx devices in a DT, and then reference them with "audio-codec" than using the dummy codec. For those reasons, this commit updates in-tree DTs to use the new properties: * Rename "spdif-controller" property to "audio-cpu". * Declare S/PDIF transmitter and/or receiver devices, and use them with the "audio-codec" property instead of "spdif-out" and/or "spdif-in". These modifications were tested only on an imx8mn-evk board. Note that out-of-tree and old DTs are still supported. Signed-off-by: Elinor Montmasson <elinor.montmasson@savoirfairelinux.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
parent
7b1e0e8568
commit
7c52e1695f
@ -180,12 +180,21 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdif_out: spdif-out {
|
||||
compatible = "linux,spdif-dit";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
spdif_in: spdif-in {
|
||||
compatible = "linux,spdif-dir";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
sound-spdif {
|
||||
compatible = "fsl,imx-audio-spdif";
|
||||
model = "imx-spdif";
|
||||
spdif-controller = <&spdif1>;
|
||||
spdif-out;
|
||||
spdif-in;
|
||||
audio-cpu = <&spdif1>;
|
||||
audio-codec = <&spdif_out>, <&spdif_in>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -124,12 +124,21 @@
|
||||
"Line Out Jack", "LINEVOUTR";
|
||||
};
|
||||
|
||||
spdif_out: spdif-out {
|
||||
compatible = "linux,spdif-dit";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
spdif_in: spdif-in {
|
||||
compatible = "linux,spdif-dir";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
sound-spdif {
|
||||
compatible = "fsl,imx-audio-spdif";
|
||||
model = "imx-spdif";
|
||||
spdif-controller = <&spdif1>;
|
||||
spdif-out;
|
||||
spdif-in;
|
||||
audio-cpu = <&spdif1>;
|
||||
audio-codec = <&spdif_out>, <&spdif_in>;
|
||||
};
|
||||
|
||||
sound-micfil {
|
||||
|
@ -125,19 +125,33 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdif_out: spdif-out {
|
||||
compatible = "linux,spdif-dit";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
spdif_in: spdif-in {
|
||||
compatible = "linux,spdif-dir";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
sound-spdif {
|
||||
compatible = "fsl,imx-audio-spdif";
|
||||
model = "imx-spdif";
|
||||
spdif-controller = <&spdif1>;
|
||||
spdif-out;
|
||||
spdif-in;
|
||||
audio-cpu = <&spdif1>;
|
||||
audio-codec = <&spdif_out>, <&spdif_in>;
|
||||
};
|
||||
|
||||
hdmi_arc_in: hdmi-arc-in {
|
||||
compatible = "linux,spdif-dir";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
sound-hdmi-arc {
|
||||
compatible = "fsl,imx-audio-spdif";
|
||||
model = "imx-hdmi-arc";
|
||||
spdif-controller = <&spdif2>;
|
||||
spdif-in;
|
||||
audio-cpu = <&spdif2>;
|
||||
audio-codec = <&hdmi_arc_in>;
|
||||
};
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user