Re: [PATCH v1 2/2] dt-bindings: ASoC: simple-card: Add system-clock-id property

From: Aidan MacDonald
Date: Wed Oct 26 2022 - 15:27:16 EST



Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> writes:

> On 26/10/2022 10:48, Aidan MacDonald wrote:
>>
>> Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> writes:
>>
>>> And the remaining piece I don't get is that these are not bindings for
>>> codec, but for sound audio card. You want to set "system-clock-id"
>>> property for audio card, while putting clock from codec, which will be
>>> used to pass back to the codec... so it is a property of the codec, not
>>> of the audio card. IOW, NAU8821_CLK_* does not configure here the clock
>>> of the system, but only, only clock of the codec.
>>
>> The system clock is controlled at the DAI level, it's specific to one
>> DAI on one component. The simple-card device node has sub-nodes for the
>> DAI links, and each DAI link node has sub-nodes for the DAIs within the
>> link. "system-clock-id" is a property on the DAI nodes, so it's not a
>> card-level property, just one part of the overall card definition.
>>
>> Since the clock ID is something defined by the codec it would naturally
>> be a value defined by the codec, but the *configuration* of the codec is
>> part of the sound card because it depends on how everything is connected
>> together. If you used the same codec in a different machine it would
>> have a different configuration.
>
> OK, that sounds reasonable. Thank you for explaining this. You still
> need to convince Mark :)

No problem, thanks for bearing with all my explanations! Mark raised
some good points, and I have to agree with him. This could create too
many future issues, and the problem might be better solved with the
clock API -- but unfortunately that's not yet feasible.

Regards,
Aidan