lkml.org 
[lkml]   [2018]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v5 01/23] soc: qcom dt-bindings: Add APR bus bindings
    On Wed, Apr 18, 2018 at 04:31:35PM +0100, 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 | 85 ++++++++++++++++++++++

    This should probably go under bindings/sound/ as it is at least mostly
    sound related.

    > include/dt-bindings/soc/qcom,apr.h | 27 +++++++
    > 2 files changed, 112 insertions(+)
    > create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
    > create mode 100644 include/dt-bindings/soc/qcom,apr.h
    >
    > 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..85cc0433fb00
    > --- /dev/null
    > +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
    > @@ -0,0 +1,85 @@
    > +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.
    > +
    > +- compatible:
    > + Usage: required
    > + Value type: <stringlist>
    > + Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2"
    > +
    > +- qcom,dest-domain-id
    > + Usage: required
    > + Value type: <prop-encoded-array>

    If this is an array, what do the indexes of the array correspond to?

    > + Definition: Destination processor ID.
    > + Possible values are :
    > + 1 - APR simulator
    > + 2 - PC
    > + 3 - MODEM
    > + 4 - ADSP
    > + 5 - APPS
    > + 6 - MODEM2
    > + 7 - APPS2
    > +
    > += APR SERVICES
    > +Each subnode of the APR node represents service tied to this apr. The name
    > +of the nodes are not important. The properties of these nodes are defined
    > +by the individual bindings for the specific service
    > +- All APR services MUST contain the following property:
    > +
    > +- reg
    > + Usage: required
    > + Value type: <prop-encoded-array>

    Not really an array, right?

    > + Definition: APR Service ID
    > + Possible values are :
    > + 3 - DSP Core Service
    > + 4 - Audio Front End Service.
    > + 5 - Voice Stream Manager Service.
    > + 6 - Voice processing manager.
    > + 7 - Audio Stream Manager Service.
    > + 8 - Audio Device Manager Service.
    > + 9 - Multimode voice manager.
    > + 10 - Core voice stream.
    > + 11 - Core voice processor.
    > + 12 - Ultrasound stream manager.
    > + 13 - Listen stream manager.
    > +
    > += EXAMPLE
    > +The following example represents a QDSP based sound card on a MSM8996 device
    > +which uses apr as communication between Apps and QDSP.
    > +
    > + apr {
    > + compatible = "qcom,apr-v2";
    > + qcom,smd-channels = "apr_audio_svc";

    Drop this?

    > + qcom,dest-domain-id = <APR_DOMAIN_ADSP>;
    > +
    > + q6core {
    > + compatible = "qcom,q6core";
    > + reg = <APR_SVC_ADSP_CORE>;
    > + };
    > +
    > + q6afe {
    > + compatible = "qcom,q6afe";
    > + reg = <APR_SVC_AFE>;
    > +
    > + dais {
    > + #sound-dai-cells = <1>;
    > + hdmi@1 {
    > + reg = <1>;
    > + };
    > + };
    > + };
    > +
    > + q6asm {
    > + compatible = "qcom,q6asm";
    > + reg = <APR_SVC_ASM>;
    > + ...
    > + };
    > +
    > + q6adm {
    > + compatible = "qcom,q6adm";
    > + reg = <APR_SVC_ADM>;
    > + ...
    > + };
    > + };
    > diff --git a/include/dt-bindings/soc/qcom,apr.h b/include/dt-bindings/soc/qcom,apr.h
    > new file mode 100644
    > index 000000000000..905503f81885
    > --- /dev/null
    > +++ b/include/dt-bindings/soc/qcom,apr.h
    > @@ -0,0 +1,27 @@
    > +#ifndef __DT_BINDINGS_QCOM_APR_H
    > +#define __DT_BINDINGS_QCOM_APR_H
    > +
    > +/* Domain IDs */
    > +#define APR_DOMAIN_SIM 0x1
    > +#define APR_DOMAIN_PC 0x2
    > +#define APR_DOMAIN_MODEM 0x3
    > +#define APR_DOMAIN_ADSP 0x4
    > +#define APR_DOMAIN_APPS 0x5
    > +#define APR_DOMAIN_MAX 0x6
    > +
    > +/* ADSP service IDs */
    > +#define APR_SVC_ADSP_CORE 0x3
    > +#define APR_SVC_AFE 0x4
    > +#define APR_SVC_VSM 0x5
    > +#define APR_SVC_VPM 0x6
    > +#define APR_SVC_ASM 0x7
    > +#define APR_SVC_ADM 0x8
    > +#define APR_SVC_ADSP_MVM 0x09
    > +#define APR_SVC_ADSP_CVS 0x0A
    > +#define APR_SVC_ADSP_CVP 0x0B
    > +#define APR_SVC_USM 0x0C
    > +#define APR_SVC_LSM 0x0D
    > +#define APR_SVC_VIDC 0x16
    > +#define APR_SVC_MAX 0x17
    > +
    > +#endif /* __DT_BINDINGS_QCOM_APR_H */
    > --
    > 2.16.2
    >

    \
     
     \ /
      Last update: 2018-04-24 17:53    [W:4.169 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site