Re: [PATCH v2 7/7] ASoC: dt-bindings: mediatek,mt8188-afe: add audio properties

From: Krzysztof Kozlowski
Date: Fri Apr 21 2023 - 12:43:55 EST


On 21/04/2023 12:09, Trevor Wu wrote:
> Assign top_a1sys_hp clock to 26M, and add apll1_d4 to clocks for switching
> the parent of top_a1sys_hp dynamically
> On the other hand, "mediatek,infracfg" is included for bus protection.
>
> Signed-off-by: Trevor Wu <trevor.wu@xxxxxxxxxxxx>
> ---
> .../bindings/sound/mediatek,mt8188-afe.yaml | 16 ++++++++++++++--
> 1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
> index 82ccb32f08f2..812e0702ca36 100644
> --- a/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
> +++ b/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
> @@ -29,6 +29,10 @@ properties:
> $ref: /schemas/types.yaml#/definitions/phandle
> description: The phandle of the mediatek topckgen controller
>
> + mediatek,infracfg:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: The phandle of the mediatek infracfg controller
> +
> power-domains:
> maxItems: 1
>
> @@ -52,6 +56,7 @@ properties:
> - description: mux for i2si1_mck
> - description: mux for i2si2_mck
> - description: audio 26m clock
> + - description: audio pll1 divide 4
>
> clock-names:
> items:
> @@ -73,6 +78,7 @@ properties:
> - const: i2si1_m_sel
> - const: i2si2_m_sel
> - const: adsp_audio_26m
> + - const: apll1_d4
>
> mediatek,etdm-in1-cowork-source:
> $ref: /schemas/types.yaml#/definitions/uint32
> @@ -147,6 +153,8 @@ required:
> - power-domains
> - clocks
> - clock-names
> + - assigned-clocks
> + - assigned-clock-parents

You were explaining it last time, but it did not solve my concerns.
Requiring these properties means that your hardware boots with incorrect
clock parents, including result of any firmware, and there is no way it
can correctly work without reparenting. What's more, this means that
your clock hierarchy does not include these clocks for some reason, e.g.
you need to reparent parents of some parent of your clock input,
otherwise device cannot work. Cannot work never ever.

Is this the case?

Have in mind that bindings are used also by other OS and projects, like
bootloaders, firmware etc.

Best regards,
Krzysztof