[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <74793074-19ee-48f3-b502-8d970b9f50af@quicinc.com>
Date: Wed, 25 Jun 2025 12:20:39 +0530
From: Prasad Kumpatla <quic_pkumpatl@...cinc.com>
To: Bjorn Andersson <andersson@...nel.org>
CC: Linus Walleij <linus.walleij@...aro.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Srinivas Kandagatla <srini@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
<cros-qcom-dts-watchers@...omium.org>, <linux-arm-msm@...r.kernel.org>,
<linux-gpio@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-sound@...r.kernel.org>,
<kernel@....qualcomm.com>, Mohammad Rafi Shaik <quic_mohs@...cinc.com>,
Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Subject: Re: [PATCH v4 1/8] arm64: dts: qcom: qcs6490-audioreach: Add gpr node
On 6/18/2025 2:15 AM, Bjorn Andersson wrote:
> On Tue, May 27, 2025 at 04:42:20PM +0530, Prasad Kumpatla wrote:
>> From: Mohammad Rafi Shaik <quic_mohs@...cinc.com>
>>
>> Add GPR(Generic Pack router) node along with
>> APM(Audio Process Manager) and PRM(Proxy resource
>> Manager) audio services.
>>
>
> This should talk about the choice of adding a new "-audioreach.dtsi"
> file, and should cover why it wouldn't make more sense to add the
> opposite of this change in sc7180-trogdor.dtsi.
Ack
>
>> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@...cinc.com>
>> Co-developed-by: Prasad Kumpatla <quic_pkumpatl@...cinc.com>
>> Signed-off-by: Prasad Kumpatla <quic_pkumpatl@...cinc.com>
>> Reviewed-by: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
>> ---
>> .../boot/dts/qcom/qcs6490-audioreach.dtsi | 53 +++++++++++++++++++
>> arch/arm64/boot/dts/qcom/sc7280.dtsi | 2 +-
>> 2 files changed, 54 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi b/arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi
>> new file mode 100644
>> index 000000000000..29d4a6a2db26
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi
>> @@ -0,0 +1,53 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>
> We can be more permissive than that, please use BSD-3-Clause.
Ack
>
>> +/*
>> + * qcs6490 device tree source for Audioreach Solution.
>> + * This file will handle the common audio device tree nodes.
>
> "Common audio device tree nodes", but not those audio device tree nodes
> that are already specified in sc7180.dtsi...
Ack
>
>> + *
>> + * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
>> + */
>> +
>> +#include <dt-bindings/clock/qcom,lpass-sc7280.h>
>> +#include <dt-bindings/soc/qcom,gpr.h>
>> +#include <dt-bindings/sound/qcom,q6afe.h>
>> +#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
>> +
>> +&remoteproc_adsp_glink {
>> + /delete-node/ apr;
>> +
>> + gpr {
>
> Glink only consider available (status = "okay") nodes, so if there's a
> even spread across AudioReach and not, we could even move this to
> sc7180.dtsi and mark both status = "disabled", and have the appropriate
> one enabled for each board.
I am trying to add apr and gpr both the nodes under glink-edge, but yaml
not allowing to add both the nodes.
Facing yaml errors, it's accepting apr (or) gpr only one subnode.
Please find the error logs for reference.
arch/arm64/boot/dts/qcom/qcm6490-idp.dtb: remoteproc@...0000:
glink-edge:gpr: False schema does not allow {'compatible': ['qcom,gpr'],
'qcom,glink-channels': ['adsp_apps'], 'qcom,domain': 2, 'qcom,intents':
[[512, 20]], '#address-cells': 1, '#size-cells': 0, 'service@1':
{'compatible': ['qcom,q6apm'], 'reg': [[1]], '#sound-dai-cells': 0,
'qcom,protection-domain': ['avs/audio', 'msm/adsp/audio_pd'], 'phandle':
356, 'dais': {'compatible': ['qcom,q6apm-dais'], 'iommus': [[66, 6145,
0]]}, 'bedais': {'compatible': ['qcom,q6apm-lpass-dais'],
'#sound-dai-cells': 1, 'phandle': 355}}, 'service@2': {'compatible':
['qcom,q6prm'], 'reg': [[2]], 'qcom,protection-domain': ['avs/audio',
'msm/adsp/audio_pd'], 'clock-controller': {'compatible':
['qcom,q6prm-lpass-clocks'], '#clock-cells': 2, 'phandle': 204}}}
from schema $id:
http://devicetree.org/schemas/remoteproc/qcom,sc7180-pas.yaml#
arch/arm64/boot/dts/qcom/qcm6490-idp.dtb: remoteproc@...0000:
glink-edge:apr: False schema does not allow {'compatible':
['qcom,apr-v2'], 'qcom,glink-channels': ['apr_audio_svc'],
'qcom,domain': 4, '#address-cells': 1, '#size-cells': 0, 'service@3':
{'reg': [[3]], 'compatible': ['qcom,q6core'], 'qcom,protection-domain':
['avs/audio', 'msm/adsp/audio_pd']}, 'service@4': {'compatible':
['qcom,q6afe'], 'reg': [[4]], 'qcom,protection-domain': ['avs/audio',
'msm/adsp/audio_pd'], 'dais': {'compatible': ['qcom,q6afe-dais'],
'#address-cells': 1, '#size-cells': 0, '#sound-dai-cells': 1},
'clock-controller': {'compatible': ['qcom,q6afe-clocks'],
'#clock-cells': 2}}, 'service@7': {'compatible': ['qcom,q6asm'], 'reg':
[[7]], 'qcom,protection-domain': ['avs/audio', 'msm/adsp/audio_pd'],
'dais': {'compatible': ['qcom,q6asm-dais'], '#address-cells': 1,
'#size-cells': 0, '#sound-dai-cells': 1, 'iommus': [[66, 6145, 0]],
'dai@0': {'reg': [[0]]}, 'dai@1': {'reg': [[1]]}, 'dai@2': {'reg':
[[2]]}}}, 'service@8': {'compatible': ['qcom,q6adm'], 'reg': [[8]],
'qcom,protection-domain': ['avs/audio', 'msm/adsp/audio_pd'], 'routing':
{'compatible': ['qcom,q6adm-routing'], '#sound-dai-cells': 0}}}
from schema $id:
http://devicetree.org/schemas/remoteproc/qcom,sc7180-pas.yaml#
arch/arm64/boot/dts/qcom/qcm6490-idp.dtb: remoteproc@...0000:
Unevaluated properties are not allowed ('glink-edge',
'qcom,smem-state-names', 'qcom,smem-states' were unexpected)
from schema $id:
http://devicetree.org/schemas/remoteproc/qcom,sc7180-pas.yaml#
/local/mnt/workspace/ANDRIOD/K2C_project/UPSTREAM/linux_next_11_June_2025/linux-next/arch/arm64/boot/dts/qcom
Thanks,
Prasad
>
> Regards,
> Bjorn
>
>> + compatible = "qcom,gpr";
>> + qcom,glink-channels = "adsp_apps";
>> + qcom,domain = <GPR_DOMAIN_ID_ADSP>;
>> + qcom,intents = <512 20>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + q6apm: service@1 {
>> + compatible = "qcom,q6apm";
>> + reg = <GPR_APM_MODULE_IID>;
>> + #sound-dai-cells = <0>;
>> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
>> +
>> + q6apmdai: dais {
>> + compatible = "qcom,q6apm-dais";
>> + iommus = <&apps_smmu 0x1801 0x0>;
>> + };
>> +
>> + q6apmbedai: bedais {
>> + compatible = "qcom,q6apm-lpass-dais";
>> + #sound-dai-cells = <1>;
>> + };
>> + };
>> +
>> + q6prm: service@2 {
>> + compatible = "qcom,q6prm";
>> + reg = <GPR_PRM_MODULE_IID>;
>> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
>> +
>> + q6prmcc: clock-controller {
>> + compatible = "qcom,q6prm-lpass-clocks";
>> + #clock-cells = <2>;
>> + };
>> + };
>> + };
>> +};
>> diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
>> index b1cc3bc1aec8..708df3f08984 100644
>> --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
>> @@ -3814,7 +3814,7 @@ remoteproc_adsp: remoteproc@...0000 {
>>
>> status = "disabled";
>>
>> - glink-edge {
>> + remoteproc_adsp_glink: glink-edge {
>> interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
>> IPCC_MPROC_SIGNAL_GLINK_QMP
>> IRQ_TYPE_EDGE_RISING>;
>> --
>> 2.34.1
>>
Powered by blists - more mailing lists