18 Oct
2023
18 Oct
'23
2:38 p.m.
On 18/10/2023 14:35, Mark Brown wrote:
On Wed, Oct 18, 2023 at 12:00:55PM +0200, Krzysztof Kozlowski wrote:
On some boards with multiple WSA8840/WSA8845 speakers, the reset (shutdown) GPIO is shared between two speakers. Request it as GPIOD_FLAGS_BIT_NONEXCLUSIVE to allow such configurations.
wsa884x->sd_n = devm_gpiod_get_optional(dev, "powerdown",
GPIOD_OUT_HIGH);
GPIOD_FLAGS_BIT_NONEXCLUSIVE | GPIOD_OUT_HIGH);
How do the speakers coordinate?
They don't and that's the generic problem of many Linux drivers. Not only this one, but others as well.
Device unbind (remove()) or runtime suspend of one speaker will affect other speaker. I don't think any other drivers solved this, because this is rather core's GPIO issue, thus I am not solving it here either. :(
Best regards, Krzysztof