From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
To: Rob Herring <robh@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org,
Linux-ALSA <alsa-devel@alsa-project.org>,
Banajit Goswami <bgoswami@codeaurora.org>,
rohkumar@qti.qualcomm.com,
linux-arm-msm <linux-arm-msm@vger.kernel.org>,
Patrick Lai <plai@codeaurora.org>, Takashi Iwai <tiwai@suse.com>,
Liam Girdwood <lgirdwood@gmail.com>,
David Brown <david.brown@linaro.org>,
Mark Brown <broonie@kernel.org>,
"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
<linux-arm-kernel@lists.infradead.org>,
spatakok@qti.qualcomm.com, Andy Gross <andy.gross@linaro.org>,
"open list:ARM/QUALCOMM SUPPORT" <linux-soc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 01/25] dt-bindings: soc: qcom: Add bindings for APR bus
Date: Thu, 22 Feb 2018 10:03:42 +0000 [thread overview]
Message-ID: <465a2ca7-9f74-8977-37ea-29fe3944c27c@linaro.org> (raw)
In-Reply-To: <CAL_JsqK3KFBGqpHRaURSrHew1HhObUvFYxuhND-FOQ4tCUaAHg@mail.gmail.com>
On 22/02/18 00:14, Rob Herring wrote:
> On Tue, Feb 20, 2018 at 3:33 AM, Srinivas Kandagatla
> <srinivas.kandagatla@linaro.org> wrote:
>> Thanks for your review comments,
>>
>>
>> On 18/02/18 23:04, Rob Herring wrote:
>>>
>>> On Wed, Feb 14, 2018 at 09:13:23AM +0000, Srinivas Kandagatla wrote:
>>>>
>>>> Thanks for the review,
>>>>
>>>> On 13/02/18 23:12, Rob Herring wrote:
>>>>>
>>>>> On Tue, Feb 13, 2018 at 04:58:13PM +0000, srinivas.kandagatla@linaro.org
>>>>> wrote:
>>>>>>
>>>>>> From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>>>>>>
>>>>>> This patch add dt bindings for Qualcomm APR (Asynchronous Packet
>>>>>> Router)
>>>>>> bus driver. This bus is used for communicating with DSP which provides
>>>>>> audio and various other services to cpu.
>>>>>>
>>>>>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>>>>>> ---
>>>>>> .../devicetree/bindings/soc/qcom/qcom,apr.txt | 83
>>>>>> ++++++++++++++++++++++
>>>>>> 1 file changed, 83 insertions(+)
>>>>>> create mode 100644
>>>>>> Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
>>>>>> b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
>>>>>> new file mode 100644
>>>>>> index 000000000000..1b95fbfed348
>>>>>> --- /dev/null
>>>>>> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
>>>>>> @@ -0,0 +1,83 @@
>>>>>> +Qualcomm APR (Asynchronous Packet Router) binding
>>>>>> +
>>>>>> +This binding describes the Qualcomm APR. APR is a IPC protocol for
>>>>>> +communication between Application processor and QDSP. APR is mainly
>>>>>> +used for audio/voice services on the QDSP.
>>>>>> +
...
>>>>>
>>>>>
>>>>> It's not a good design generally to mix different types of nodes at one
>>>>> level.
>>>>
>>>>
>>>> I agree, may be I can split the services and devices into different
>>>> subnodes
>>>> like below, which should avoid mixing different types of nodes.
>>>>
>>>> Does this sound good to you?
>>>
>>>
>>> Seems your original example wasn't so complete...
>>>
>> Yep, I will fix it in next version.
>>>
>>> I don't see why you need all these nodes in the first place. For a
>>> single SoC, how much does all this vary?
>>>
>> It might not vary for a given SoC, but It does vary across the SoCs.
>> Also the versions of each service are independent to each other.
>
> Not sure I follow the last statement. Meaning firmware updates change
> the services?
Sorry for not being clear, so the services like AFE, ASM, ADM have
different version numbers for a given SoC/firmware.
Not 100% sure if firmware updates would change the service version
number, even if it does, it can be queried dynamically on new B family
SoCs, and on older A Family SoCs I have not seen the firmware updates in
last 4 years.
> I don't see any versioning of services here.
Yes, Plan is that it will be part of the compatible string in cases
where version query is not supported on older QCOM A family SoCs.
On B Family SoCs we can query the version dynamically.
>
>>
>>>>
>>>> apr {
>>>> compatible = "qcom,apr-v2";
>>>> qcom,smd-channels = "apr_audio_svc";
>>>> qcom,apr-dest-domain-id = <APR_DOMAIN_ADSP>;
>>>>
>>>> apr-services {
>>>> q6core {
>>>> qcom,apr-svc-name = "CORE";
>>>> qcom,apr-svc-id = <APR_SVC_ADSP_CORE>;
>>>> compatible = "qcom,q6core";
>>>> };
>>>>
>>>> q6afe: q6afe {
>>>> compatible = "qcom,q6afe";
>>>> qcom,apr-svc-name = "AFE";
>>>> qcom,apr-svc-id = <APR_SVC_AFE>;
>>>> #sound-dai-cells = <1>;
>>>> };
>>>>
>>>> q6asm: q6asm {
>>>> compatible = "qcom,q6asm";
>>>> qcom,apr-svc-name = "ASM";
>>>> qcom,apr-svc-id = <APR_SVC_ASM>;
>>>> #sound-dai-cells = <1>;
>>>> };
>>>>
>>>> q6adm: q6adm {
>>>> compatible = "qcom,q6adm";
>>>> qcom,apr-svc-name = "ADM";
>>>> qcom,apr-svc-id = <APR_SVC_ADM>;
>>>> #sound-dai-cells = <0>;
>>>> };
>>>
>>>
>>> All these DAI nodes could be a single node and the cell value be the
>>> svc-id?
>>
So we will have 2 cell values, one representing the apr service and
other the dai.
>> No, DAI's here are both backends and frontends, and some of the services
>> like core, USM are not DAI's
>>
>> Are you also saying that we should have a single driver entity for all these
>> services?
>
> DT nodes do not equate driver entities. A driver can instantiate other drivers.
>
> Am I saying a single DT node for this? Yes, perhaps.
Yes, I will give that a go.
So we will endup having something like this in DT for one frontend and
backend dailink:
apr {
compatible = "qcom,apr-v2";
qcom,smd-channels = "apr_audio_svc";
qcom,apr-dest-domain-id = <APR_DOMAIN_ADSP>
q6audio: audiosvc {
compatible = "qcom,q6audio-svc";
qcom,apr-svcs = <APR_SVC_CORE APR_SVC_AFE APR_SVC_ASM>;
qcom,apr-svc-names = "CORE", "AFE", "ASM";
};
sndcard {
compatible = "qcom,msm8996-snd-card"
qcom,model = "DB820c";
qcom,audio-routing =
"RX_BIAS", "MCLK";
fe@1 {
is-fe;
link-name = "MultiMedia1";
cpu {
sound-dai = <&q6audio APR_SVC_ASM MM1>
};
platform {
sound-dai = <&q6audio APR_SVC_ASM MM1>;
};
};
be@1 {
link-name = "HDMI Playback";
cpu {
sound-dai = <&q6audio APR_SVC_AFE HDMI>;
};
platform {
sound-dai = <&q6audio ARP_SVC_ADM>;
};
codec {
sound-dai = <&hdmi 0>;
};
};
};
};
Thanks,
Srini
next prev parent reply other threads:[~2018-02-22 10:03 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-13 16:58 [PATCH v3 00/25] ASoC: qcom: Add support to QDSP based Audio srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A
2018-02-13 16:58 ` [PATCH v3 01/25] dt-bindings: soc: qcom: Add bindings for APR bus srinivas.kandagatla
2018-02-13 23:12 ` Rob Herring
2018-02-14 9:13 ` Srinivas Kandagatla
2018-02-18 23:04 ` Rob Herring
2018-02-20 9:33 ` Srinivas Kandagatla
2018-02-22 0:14 ` Rob Herring
2018-02-22 10:03 ` Srinivas Kandagatla [this message]
2018-02-28 18:55 ` Srinivas Kandagatla
2018-03-01 20:34 ` Mark Brown
2018-03-02 13:13 ` Srinivas Kandagatla
2018-02-13 16:58 ` [PATCH v3 02/25] soc: qcom: add support to APR bus driver srinivas.kandagatla
2018-02-19 3:08 ` Rob Herring
2018-02-20 9:33 ` Srinivas Kandagatla
[not found] ` <20180213165837.1620-1-srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-02-13 16:58 ` [PATCH v3 03/25] ASoC: qcom: qdsp6: Add common qdsp6 helper functions srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A
2018-03-01 21:04 ` Mark Brown
2018-02-13 16:58 ` [PATCH v3 16/25] ASoC: qcom: q6afe: add SLIMBus port Support srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A
2018-02-13 16:58 ` [PATCH v3 21/25] ASoC: qcom: q6afe-dai: add support to 4 MI2S ports srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A
2018-02-13 16:58 ` [PATCH v3 04/25] dt-bindings: sound: qcom: Add bindings for q6afe srinivas.kandagatla
2018-03-01 20:41 ` Mark Brown
2018-02-13 16:58 ` [PATCH v3 05/25] ASoC: qcom: qdsp6: Add support to Q6AFE srinivas.kandagatla
2018-02-19 10:30 ` [alsa-devel] " Rohit Kumar
2018-02-20 9:34 ` Srinivas Kandagatla
2018-03-01 20:42 ` Mark Brown
2018-03-01 20:59 ` Mark Brown
2018-03-02 13:13 ` Srinivas Kandagatla
2018-03-02 17:54 ` Mark Brown
2018-03-02 18:51 ` Srinivas Kandagatla
2018-02-13 16:58 ` [PATCH v3 06/25] dt-bindings: sound: qcom: Add bindings for q6adm srinivas.kandagatla
2018-02-13 16:58 ` [PATCH v3 07/25] ASoC: qcom: qdsp6: Add support to Q6ADM srinivas.kandagatla
2018-03-01 21:24 ` Mark Brown
2018-03-06 9:26 ` Srinivas Kandagatla
2018-02-13 16:58 ` [PATCH v3 08/25] dt-bindings: sound: qcom: Add bindings for q6asm srinivas.kandagatla
2018-02-13 16:58 ` [PATCH v3 09/25] ASoC: qcom: qdsp6: Add support to Q6ASM srinivas.kandagatla
2018-02-13 16:58 ` [PATCH v3 10/25] ASoC: qcom: q6asm: Add support to memory map and unmap srinivas.kandagatla
2018-03-01 21:28 ` Mark Brown
2018-03-06 9:26 ` Srinivas Kandagatla
2018-02-13 16:58 ` [PATCH v3 11/25] ASoC: qcom: q6asm: add support to audio stream apis srinivas.kandagatla
2018-03-01 21:33 ` Mark Brown
2018-03-06 9:26 ` Srinivas Kandagatla
2018-02-13 16:58 ` [PATCH v3 12/25] ASoC: qcom: qdsp6: Add support to Q6CORE srinivas.kandagatla
2018-02-19 10:33 ` [alsa-devel] " Rohit Kumar
2018-02-13 16:58 ` [PATCH v3 13/25] ASoC: qcom: qdsp6: Add support to q6routing driver srinivas.kandagatla
2018-02-13 16:58 ` [PATCH v3 14/25] ASoC: qcom: qdsp6: Add support to q6afe dai driver srinivas.kandagatla
2018-02-19 10:32 ` [alsa-devel] " Rohit Kumar
2018-02-20 9:36 ` Srinivas Kandagatla
2018-03-02 12:50 ` Mark Brown
2018-03-02 13:52 ` Srinivas Kandagatla
2018-02-13 16:58 ` [PATCH v3 15/25] ASoC: qcom: qdsp6: Add support to q6asm " srinivas.kandagatla
2018-02-21 11:14 ` Rohit Kumar
2018-02-22 11:16 ` Srinivas Kandagatla
2018-02-13 16:58 ` [PATCH v3 17/25] ASoC: qcom: q6afe-dai: add support to slim afe dais srinivas.kandagatla
2018-02-13 16:58 ` [PATCH v3 18/25] ASoC: qcom: q6routing: add support to all SLIMBus Mixers srinivas.kandagatla
2018-05-21 15:47 ` Applied "ASoC: qdsp6: q6routing: Add support to all SLIMBus Mixers" to the asoc tree Mark Brown
2018-02-13 16:58 ` [PATCH v3 19/25] ASoC: qcom: q6afe: add support to MI2S ports srinivas.kandagatla
2018-03-07 9:35 ` Rohit Kumar
2018-02-13 16:58 ` [PATCH v3 20/25] ASoC: qcom: q6afe: add support to MI2S sysclks srinivas.kandagatla
2018-02-13 16:58 ` [PATCH v3 22/25] ASoC: qcom: q6routing: add support to MI2S Mixers srinivas.kandagatla
2018-02-13 16:58 ` [PATCH v3 23/25] dt-bindings: sound: qcom: Add devicetree bindings for apq8096 srinivas.kandagatla
2018-02-13 16:58 ` [PATCH v3 24/25] ASoC: qcom: apq8096: Add db820c machine driver srinivas.kandagatla
2018-02-22 11:00 ` Rohit Kumar
2018-02-22 11:13 ` Srinivas Kandagatla
2018-02-13 16:58 ` [PATCH v3 25/25] arm64: dts: msm8996: db820c: Add sound card support srinivas.kandagatla
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=465a2ca7-9f74-8977-37ea-29fe3944c27c@linaro.org \
--to=srinivas.kandagatla@linaro.org \
--cc=alsa-devel@alsa-project.org \
--cc=andy.gross@linaro.org \
--cc=bgoswami@codeaurora.org \
--cc=broonie@kernel.org \
--cc=david.brown@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-soc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=plai@codeaurora.org \
--cc=robh@kernel.org \
--cc=rohkumar@qti.qualcomm.com \
--cc=spatakok@qti.qualcomm.com \
--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).