On 3/11/2021 3:57 PM, Michael Walle wrote:
I've had a closer look at this and it seems you're messing around with the clock of the codec's node (which is _not_ a subnode of the simple-audio-card). I don't think this is correct.
I guess you should rather set the clock property in the codec subnode of the simple-audio-card, which is then picked up by the simple-audio-card driver and changed accordingly.
For example: simple-audio-card,dai-link@0 { reg = <0>; bitclock-master = <&dailink0_master>; frame-master = <&dailink0_master>; format = "i2s";
cpu { sound-dai = <&sai6>; };
dailink0_master: codec { sound-dai = <&wm8904>; clocks = <&mclk>; }; };
In this case mclk will be enabled and disabled accordingly.
Could you test this?
It would work and initially I had similar patch, see [0] and related series. Suggestion is to always use "clocks" property with devices only.
[0] https://patchwork.kernel.org/project/alsa-devel/patch/1611944866-29373-4-git...