From: Srinivas Kandagatla <srini@kernel.org>
To: Neil Armstrong <neil.armstrong@linaro.org>,
Srinivas Kandagatla <srini@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>
Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH RFC v2 2/6] ASoC: dt-bindings: qcom,sm8250: Add clocks properties for I2S
Date: Thu, 9 Oct 2025 15:29:47 +0100 [thread overview]
Message-ID: <b614913e-7ebf-4abe-9eb5-f41b81d91ad3@kernel.org> (raw)
In-Reply-To: <f27cad88-b1fd-41a3-bdb1-b07de3dea8a2@linaro.org>
On 10/9/25 3:25 PM, Neil Armstrong wrote:
> On 10/9/25 16:06, Srinivas Kandagatla wrote:
>>
>>
>> On 10/9/25 3:03 PM, Neil Armstrong wrote:
>>> On 10/9/25 15:36, Srinivas Kandagatla wrote:
>>>>
>>>>
>>>> On 10/8/25 7:56 PM, Neil Armstrong wrote:
>>>>> In order to describe the block and master clock of each I2S bus, add
>>>>> the first 5 I2S busses clock entries.
>>>>>
>>>>> The names (primary, secondary, tertiarty, quaternary, quinary, senary)
>>>>> uses the LPASS clock naming which were used for a long time on
>>>>> Qualcomm
>>>>> LPASS firmware interfaces.
>>>>>
>>>>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>>>>> ---
>>>>> .../devicetree/bindings/sound/qcom,sm8250.yaml | 21 ++++++++++
>>>>> +++++++++++
>>>>> 1 file changed, 21 insertions(+)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>>>>> b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>>>>> index
>>>>> 8ac91625dce5ccba5c5f31748c36296b12fac1a6..d1420d138b7ed8152aa53769c4d495e1674275e6 100644
>>>>> --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>>>>> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>>>>> @@ -64,6 +64,27 @@ properties:
>>>>> $ref: /schemas/types.yaml#/definitions/string
>>>>> description: User visible long sound card name
>>>>> + clocks:
>>>>> + minItems: 2
>>>>> + maxItems: 12
>>>>> +
>>>>> + clock-names:
>>>>> + minItems: 2
>>>>> + items:
>>>>> + # mclk is the I2S Master Clock, mi2s the I2S Bit Clock
>>>>> + - const: primary-mi2s
>>>>> + - const: primary-mclk
>>>>> + - const: secondary-mi2s
>>>>> + - const: secondary-mclk
>>>>> + - const: tertiary-mi2s
>>>>> + - const: tertiary-mclk
>>>>> + - const: quaternary-mi2s
>>>>> + - const: quaternary-mclk
>>>>> + - const: quinary-mi2s
>>>>> + - const: quinary-mclk
>>>>> + - const: senary-mi2s
>>>>> + - const: senary-mclk
>>>>> +
>>>>
>>>> I don't this is correct way to handling bitclk and mclks for I2S, these
>>>> are normally handled as part of snd_soc_dai_set_sysclk() transparently
>>>> without need of any device tree description.
>>>>
>>>> Also doing this way is an issue as this is going to break existing
>>>> Elite
>>>> based platforms, and the device description should not change across
>>>> these both audio firmwares.
>>>
>>> This is only for AudioReach platforms, on those platforms the
>>> clocks are registered in DT and are not accessible by the card.
>>>
>> Clocks will be acessable via snd_soc_dai_set_sysclk ->
>> q6prm_set_lpass_clock once set_sysclk support is added to q6apm-lpass
>> i2s dai ops.
>>
>>
>>> Device description is obviously different for the AudioReach platforms.
>>
>> Why should it be different, its same device.
>> We have platforms that use both Elite and Audioreach.
>
> I'm perfectly aware of that, it's the case for sc7280/qcm6490. And I agree
> the card bindings is the same, but it doesn't mean the DSP elements are the
> same and uses in the same manner.
>
> So let's forget the bindings and forget those clocks entries, and imagine
> I'll implement those _sys_sysclk calls like for the Elite platforms.
> This means I'll bypass the clock framework by directly setting the PRM
> clocks, this is clearly a layer violation.
You can claim clocks in the dsp layer (q6apm-lpass-dais) instead of
claiming it in machine layer, it does not necessarily have to bypass the
clk framework.
--srini
>
> Neil
>
>>
>> --srini
>>>
>>> Neil
>>>
>>>>
>>>> thanks,
>>>> Srini
>>>>
>>>>> patternProperties:
>>>>> ".*-dai-link$":
>>>>> description:
>>>>>
>>>>
>>>
>>
>
next prev parent reply other threads:[~2025-10-09 14:29 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-08 18:56 [PATCH RFC v2 0/6] ASoC: qcom: enable HDMI audio on SM8[456]50 HDK boards Neil Armstrong
2025-10-08 18:56 ` [PATCH RFC v2 1/6] ASoC: qcom: qdsp6: q6prm: add the missing MCLK clock IDs Neil Armstrong
2025-10-08 18:56 ` [PATCH RFC v2 2/6] ASoC: dt-bindings: qcom,sm8250: Add clocks properties for I2S Neil Armstrong
2025-10-09 13:36 ` Srinivas Kandagatla
2025-10-09 14:03 ` Neil Armstrong
2025-10-09 14:06 ` Srinivas Kandagatla
2025-10-09 14:25 ` Neil Armstrong
2025-10-09 14:29 ` Srinivas Kandagatla [this message]
2025-10-09 15:30 ` Neil Armstrong
2025-10-09 18:05 ` Srinivas Kandagatla
2025-10-09 20:19 ` Srinivas Kandagatla
2025-10-08 18:56 ` [PATCH RFC v2 3/6] ASoC: soc: qcom: sc8280xp: add support for I2S clocks Neil Armstrong
2025-10-09 9:41 ` Konrad Dybcio
2025-10-09 9:45 ` Neil Armstrong
2025-10-09 11:07 ` Konrad Dybcio
2025-10-09 11:21 ` Alexey Klimov
2025-10-09 11:44 ` Neil Armstrong
2025-10-09 13:40 ` Srinivas Kandagatla
2025-10-09 14:04 ` Neil Armstrong
2025-10-08 18:56 ` [PATCH RFC v2 4/6] arm64: dts: qcom: sm8450-hdk: Enable I2S for HDMI Neil Armstrong
2025-10-09 12:37 ` Konrad Dybcio
2025-10-09 12:52 ` Neil Armstrong
2025-10-08 18:56 ` [PATCH RFC v2 5/6] arm64: dts: qcom: sm8550-hdk: " Neil Armstrong
2025-10-08 18:56 ` [PATCH RFC v2 6/6] arm64: dts: qcom: sm8650-hdk: " Neil Armstrong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b614913e-7ebf-4abe-9eb5-f41b81d91ad3@kernel.org \
--to=srini@kernel.org \
--cc=andersson@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=perex@perex.cz \
--cc=robh@kernel.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).