A little update on this, it seems to be broken again on the latest Rasperry OS version
The overlay below now gives the following error
This was working flawlessly on 6.1, even installing this image https://downloads.raspberrypi.org/raspi ... 023-12-06/ it works fine, however after an upgrade, or using the imagers default the above error appears. I have taken a look through a bunch of the included overlays and I can't see anything different. My overlay is below, any pointers would be greatly appreciated!
Code:
Linux raspberrypi 6.6.20+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
Code:
[ 6.398476] designware-i2s 1f000a4000.i2s: ASoC: error at snd_soc_dai_set_tdm_slot on 1f000a4000.i2s: -22[ 6.398485] designware-i2s 1f000a4000.i2s: simple-card: set_tdm_slot error[ 6.398487] 1f000a4000.i2s-dit-hifi: ASoC: error at snd_soc_link_init on 1f000a4000.i2s-dit-hifi: -22
Code:
//Device tree overlay for generic stereo audio codec. ex) Asahi kasei AK4556/dts-v1/;/plugin/;/ { compatible = "brcm,bcm2708"; fragment@0 { target = <&sound>; __overlay__ { compatible = "simple-audio-card"; simple-audio-card,name = "PiMost"; status="okay"; capture_link: simple-audio-card,dai-link@0 { format = "i2s"; // Set RasPi to I2S slave bitclock-master = <&r_codec_dai>; frame-master = <&r_codec_dai>; r_cpu_dai: cpu { sound-dai = <&i2s>; // TDM slot configuration for stereo dai-tdm-slot-num = <2>; dai-tdm-slot-width = <16>; }; r_codec_dai: codec { sound-dai = <&codec_in>; }; }; playback_link: simple-audio-card,dai-link@1 { format = "i2s"; // Set RasPi to I2S slave bitclock-master = <&p_codec_dai>; frame-master = <&p_codec_dai>; p_cpu_dai: cpu { sound-dai = <&i2s>; // TDM slot configuration for stereo dai-tdm-slot-num = <2>; dai-tdm-slot-width = <16>; }; p_codec_dai: codec { sound-dai = <&codec_out>; }; }; }; }; fragment@1 { target-path = "/"; __overlay__ { codec_out: spdif-transmitter { #address-cells = <0>; #size-cells = <0>; #sound-dai-cells = <0>; /* "linux,spdif-dit" is used in generic I2S(transmitter) driver. You can see details "linux,spdif-dit" by bellow command modinfo snd_soc_spdif_tx */ compatible = "linux,spdif-dit"; status = "okay"; }; codec_in: spdif-receiver { #address-cells = <0>; #size-cells = <0>; #sound-dai-cells = <0>; /* "linux,spdif-dir" is used in generic I2S(receiver) driver. You can see details "linux,spdif-dir" by bellow command modinfo snd_soc_spdif_rx */ compatible = "linux,spdif-dir"; status = "okay"; }; }; }; fragment@2 { target = <&i2s>; __overlay__ { #sound-dai-cells = <0>; status = "okay"; }; };};
Statistics: Posted by Rhys_m — Mon Mar 18, 2024 10:14 pm