On Thu, 2021-12-16 at 13:06 -0600, Rob Herring wrote: > On Wed, Dec 15, 2021 at 02:58:35PM +0800, Trevor Wu wrote: > > clocks and clock-names are added to provide MCLK phandle for sound > > card. > > > > Signed-off-by: Trevor Wu <trevor.wu@xxxxxxxxxxxx> > > --- > > .../bindings/sound/mt8195-mt6359-rt1011-rt5682.yaml | 12 > > ++++++++++++ > > .../bindings/sound/mt8195-mt6359-rt1019-rt5682.yaml | 12 > > ++++++++++++ > > 2 files changed, 24 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/sound/mt8195-mt6359- > > rt1011-rt5682.yaml > > b/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1011- > > rt5682.yaml > > index cf6ad7933e23..b57c856d0cf3 100644 > > --- a/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1011- > > rt5682.yaml > > +++ b/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1011- > > rt5682.yaml > > @@ -32,11 +32,21 @@ properties: > > $ref: "/schemas/types.yaml#/definitions/phandle" > > description: The phandle of MT8195 HDMI codec node. > > > > + clocks: > > + items: > > + - description: phandle and clock specifier for codec MCLK. > > + > > + clock-names: > > + items: > > + - const: i2so1_mclk > > + > > additionalProperties: false > > > > required: > > - compatible > > - mediatek,platform > > + - clocks > > + - clock-names > > > > examples: > > - | > > @@ -44,6 +54,8 @@ examples: > > sound: mt8195-sound { > > compatible = "mediatek,mt8195_mt6359_rt1011_rt5682"; > > mediatek,platform = <&afe>; > > + clocks = <&topckgen 235>; //CLK_TOP_APLL12_DIV2 > > + clock-names = "i2so1_mclk"; > > pinctrl-names = "default"; > > pinctrl-0 = <&aud_pins_default>; > > }; > > diff --git a/Documentation/devicetree/bindings/sound/mt8195-mt6359- > > rt1019-rt5682.yaml > > b/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1019- > > rt5682.yaml > > index 8f177e02ad35..e4720f76f66b 100644 > > --- a/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1019- > > rt5682.yaml > > +++ b/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1019- > > rt5682.yaml > > @@ -42,11 +42,21 @@ properties: > > A list of the desired dai-links in the sound card. Each > > entry is a > > name defined in the machine driver. > > > > + clocks: > > + items: > > + - description: phandle and clock specifier for codec MCLK. > > + > > + clock-names: > > + items: > > + - const: i2so1_mclk > > + > > additionalProperties: false > > > > required: > > - compatible > > - mediatek,platform > > + - clocks > > + - clock-names > > > > examples: > > - | > > @@ -54,6 +64,8 @@ examples: > > sound: mt8195-sound { > > compatible = "mediatek,mt8195_mt6359_rt1019_rt5682"; > > mediatek,platform = <&afe>; > > + clocks = <&topckgen 235>; //CLK_TOP_APLL12_DIV2 > > + clock-names = "i2so1_mclk"; > > Being a virtual node, how does it have clocks? This belongs in the > h/w device that consumes the clock. Hi Rob, I also found the same usages in some bindings from nvidia, like[1]. Based on my understanding, it seems not to be recommended now and clocks should only be used for a real hw node, is it correct? If yes, I will try other way to get the clock I need in alsa machine driver. [1] https://elixir.bootlin.com/linux/v5.16-rc5/source/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt Thanks, Trevor > > pinctrl-0 = <&aud_pins_default>; > > }; > > -- > > 2.18.0 > > > >