On 21/09/2021 16:30, Peter Rosin wrote:
On 2021-09-21 14:01, Mark Brown wrote:
On Tue, Sep 21, 2021 at 10:48:01AM +0200, Peter Rosin wrote:
On 2021-09-21 10:10, Peter Rosin wrote:
Ok, so the attached works for me as well. But I don't know if it's appropriate to resume/suspend like that?
is:
pcm512x 0-004c: Failed to set data format: -16
The root cause is that the chip is in Powerdown mode when pcm512x_set_fmt runs. So, bring the chip out of suspend for the update of the format.
How would this work if the device looses power while in suspend (eg, due to the regulators being software controllable)? If the data isn't being stored in the cache then it'll need to be stored somewhere else and restored on resume.
Right. Scratch v2. I'd go with the original patch. We have verified that the original content of the I2S_1 register is the expected 0x02 (at least on one pcm5142) and besides, the four RSV bits are probably don't care anyway.
Péter might have a different opinion?
The original patch is correct, the defaults are those exactly (by TRM and by your register read).
This at some point needs to be addressed when someone comes along with wanting something else than I2S as default format.
Thanks for the debugging!