我正在尝试让 Coral 开发板通过 HDMI ARC 从我的电视接收音频。我很确定我在电视端启用了 ARC,但我认为 Coral Linux 端缺少一些东西。谁能帮我让它工作吗?还有其他人成功了吗?
我修改了 phanbell 设备树以启用 spdif2 和 sound-hdmi-arc。
sound-hdmi-arc {
compatible = "fsl,imx-audio-spdif";
model = "imx-hdmi-arc";
spdif-controller = <&spdif2>;
spdif-in;
};
&spdif2 {
assigned-clocks = <&clk IMX8MQ_CLK_SPDIF2>;
assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
assigned-clock-rates = <24576000>;
status = "okay";
};
arc 设备显示在 Linux 中,但当我尝试从中记录时收到错误消息。
arecord -D hw:CARD=imxhdmiarc,DEV=0 -r 48000 -f S24_LE -c 2 -d 3 ~/arc.wav
Recording WAVE '/home/mendel/arc.wav' : Signed 24 bit Little Endian, Rate 48000 Hz, Stereo
arecord: pcm_read:2145: read error: Input/output error
如果我连接 Coral 开发板和一些音频测试设备,我会收到相同的错误消息。如果我将音频设备设置为禁用 ARC 链路协商并强制打开音频,则该命令确实有效。这让我相信 Coral Linux 端缺少某种链接协商。
如果有人可以提供帮助,请告诉我。谢谢。
我明白了。
# install the cec-ctl and read-edid utilities
sudo apt install cec-utils read-edid
# find our physical address reported by the TV
read-edid /devices/platform/display-subsystem/drm/card0/card0-HDMI-A-1/edid | grep physical
# set the logical address
cec-clt --audio
# set the physical address
cec-ctl -p 1.0.0.0
# send the command
cec-ctl --to 0 --initiate-arc
刚看到你的帖子,我对 Coral 开发板很好奇。这个板子真的有hdmi ARC输入功能吗?