Krzysztof Kozlowski krzysztof.kozlowski@linaro.org writes:
On 26/10/2022 10:48, Aidan MacDonald wrote:
Krzysztof Kozlowski krzysztof.kozlowski@linaro.org 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