On 09/05/2022 15:36, Pierre-Louis Bossart wrote:
Even if enumeration timeout, we will not access the registers because the ASoC codec is not registered yet from WCD938x component master.
What happens when the codec is registered then? the autoenumeration
Codec is only registered after reset and when both TX and RX components are probed.
still didn't complete, so what prevents the read/writes from failing then?
If codec is reset and registered and for some reason autoenum took more than 100ms which will be hw bug then :-). In this case register read/writes will fail.
Does this reset result in the 'bus reset' in the SoundWire sence and restart hence the autoenumeration?
The reset am referring here is codec reset gpio line. on reset device will show up on the bus which should trigger an autoenumeration.
It looks like you have a race between different components and starting the bus before it's needed, no?WCD938x is bit of a odd hw configuration, that is why we are using
Component framework for this codec. This does ensure most part of it.
--srini