Re: [PATCH v8 1/3] ASoC: dt-bindings: qcom,q6apm-lpass-dais: Document DAI subnode
Ajay Kumar Nandam <[email protected]>
| Newsgroups | org.kernel.vger.linux-sound,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 7/27/2026 8:42 PM, Mohammad Rafi Shaik wrote: > Extend the qcom,q6apm-lpass-dais device tree binding to explicitly > describe Digital Audio Interface (DAI) child nodes. > > Add #address-cells and #size-cells to allow representation of multiple > DAI instances as child nodes, and define a dai@<id> pattern to document > per-DAI properties such as the interface ID and associated clocks. > > On platforms such as Monaco and Lemans, third-party codecs are hardware > wired to the SoC and do not always have an in-tree codec driver to manage > their clocks. For these designs, clock line enablement must be driven > from the platform side, and this series provides the necessary support > for that. > > On QAIF-based platforms such as Shikra and Hawi, responsibility for voting > I2S MCLK and BCLK has moved from the DSP to the kernel. This series > introduces the required device tree binding support to represent and > vote for these clocks from the kernel. > > Co-developed-by: Srinivas Kandagatla <[email protected]> > Signed-off-by: Srinivas Kandagatla <[email protected]> > Reviewed-by: Krzysztof Kozlowski <[email protected]> > Signed-off-by: Mohammad Rafi Shaik <[email protected]> > --- > .../bindings/sound/qcom,q6apm-lpass-dais.yaml | 50 +++++++++++++++++++ > 1 file changed, 50 insertions(+) > Thanks for the patch. Tested on Shikra-IQS. No issues observed. Tested-by: Ajay Kumar Nandam <[email protected]> Thanks Ajay Kumar Nandam > diff --git a/Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml b/Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml > index 2fb95544d..78587139f 100644 > --- a/Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml > +++ b/Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml > @@ -21,6 +21,43 @@ properties: > '#sound-dai-cells': > const: 1 > > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > +# Digital Audio Interfaces > +patternProperties: > + '^dai@[0-9a-f]+$': > + type: object > + description: > + Q6DSP Digital Audio Interfaces. > + > + properties: > + reg: > + maxItems: 1 > + description: > + Digital Audio Interface ID > + > + clocks: > + minItems: 1 > + maxItems: 2 > + > + clock-names: > + minItems: 1 > + items: > + - enum: [bclk, mclk] > + - const: mclk > + > + dependencies: > + clocks: [clock-names] > + > + required: > + - reg > + > + additionalProperties: false > + > required: > - compatible > - '#sound-dai-cells' > @@ -29,7 +66,20 @@ unevaluatedProperties: false > > examples: > - | > + #include <dt-bindings/sound/qcom,q6afe.h> > + > dais { > compatible = "qcom,q6apm-lpass-dais"; > #sound-dai-cells = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + dai@10 { > + reg = <PRIMARY_MI2S_RX>; > + clocks = <&q6prmcc LPASS_CLK_ID_PRI_MI2S_IBIT > + LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_CLK_ID_MCLK_1 > + LPASS_CLK_ATTRIBUTE_COUPLE_NO>; > + clock-names = "bclk", "mclk"; > + }; > };