linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: srinivas.kandagatla@linaro.org (srinivas.kandagatla at linaro.org)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 01/24] soc: qcom dt-bindings: Add APR bus bindings
Date: Sat, 10 Mar 2018 02:24:33 +0000	[thread overview]
Message-ID: <20180310022456.26739-2-srinivas.kandagatla@linaro.org> (raw)
In-Reply-To: <20180310022456.26739-1-srinivas.kandagatla@linaro.org>

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 ++++++++++++++++++++++
 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..6071a9038b4b
--- /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,apr-dest-domain-id
+	Usage: required
+	Value type: <prop-encoded-array>
+	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:
+
+- qcom,apr-svc-id
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: APR Service ID, used for matching the service.
+	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.
+
+- qcom,apr-svc-name
+	Usage: required
+	Value type: <stringlist>
+	Definition: User readable name of a APR service.
+
+= 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";
+		qcom,apr-dest-domain-id = <APR_DOMAIN_ADSP>;
+
+		q6core {
+			compatible = "qcom,q6core";
+			qcom,apr-svc-name = "CORE";
+			qcom,apr-svc-id = <APR_SVC_ADSP_CORE>;
+		};
+
+		q6afe {
+			compatible = "qcom,q6afe";
+			qcom,apr-svc-name = "AFE";
+			qcom,apr-svc-id = <APR_SVC_AFE>;
+		};
+
+		q6asm {
+			compatible = "qcom,q6asm";
+			qcom,apr-svc-name = "ASM";
+			qcom,apr-svc-id = <APR_SVC_ASM>;
+		};
+
+		q6adm {
+			compatible = "qcom,q6adm";
+			qcom,apr-svc-name = "ADM";
+			qcom,apr-svc-id = <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.15.1

  reply	other threads:[~2018-03-10  2:24 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-10  2:24 [PATCH v4 00/24] ASoC: qcom: Add support to QDSP based Audio srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` srinivas.kandagatla at linaro.org [this message]
2018-03-10  2:24 ` [PATCH v4 02/24] soc: qcom: Add APR bus driver srinivas.kandagatla at linaro.org
2018-03-14 14:12   ` [alsa-devel] " Rohit Kumar
2018-03-14 14:15     ` Srinivas Kandagatla
2018-03-10  2:24 ` [PATCH v4 03/24] ASoC: qdsp6: q6common: Add qdsp6 helper functions srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 04/24] ASoC: qdsp6: dt-bindings: Add q6afe dt bindings srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 05/24] ASoC: qdsp6: dt-bindings: Add q6adm " srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 06/24] ASoC: qdsp6: dt-bindings: Add q6asm " srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 07/24] ASoC: qdsp6: q6afe: Add q6afe driver srinivas.kandagatla at linaro.org
2018-03-13 11:29   ` [alsa-devel] " Rohit Kumar
2018-03-13 13:51     ` Srinivas Kandagatla
2018-03-10  2:24 ` [PATCH v4 08/24] ASoC: qdsp6: qdafe: Add SLIMBus port Support srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 09/24] ASoC: qdsp6: q6afe: Add support to MI2S ports srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 10/24] ASoC: qdsp6: q6afe: Add support to MI2S sysclks srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 11/24] ASoC: qdsp6: q6adm: Add q6adm driver srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 12/24] ASoC: qdsp6: q6asm: Add q6asm driver srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 13/24] ASoC: qdsp6: q6asm: Add support to memory map and unmap srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 14/24] ASoC: qdsp6: q6asm: Add support to audio stream apis srinivas.kandagatla at linaro.org
2018-04-09 11:53   ` [alsa-devel] " Rohit Kumar
2018-03-10  2:24 ` [PATCH v4 15/24] ASoC: qdsp6: q6core: Add q6core driver srinivas.kandagatla at linaro.org
2018-03-13 11:46   ` [alsa-devel] " Rohit Kumar
2018-03-13 13:55     ` Srinivas Kandagatla
2018-03-10  2:24 ` [PATCH v4 16/24] ASoC: qdsp6: q6routing: Add q6routing driver srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 17/24] ASoC: qdsp6: q6routing: Add support to all SLIMBus Mixers srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 18/24] ASoC: qdsp6: q6routing: Add support to MI2S Mixers srinivas.kandagatla at linaro.org
2018-05-21 15:47   ` Applied "ASoC: qdsp6: q6routing: Add support to MI2S Mixers" to the asoc tree Mark Brown
2018-03-10  2:24 ` [PATCH v4 19/24] ASoC: qdsp6: q6afe: Add q6afe dai driver srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 20/24] ASoC: qdsp6: q6asm: Add q6asm " srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 21/24] ASoC: qdsp6: dt-bindings: Add apq8096 machine bindings srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 22/24] ASoC: qcom: apq8096: Add db820c machine driver srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 23/24] arm64: dts: db820c: add sound card dt entry srinivas.kandagatla at linaro.org
2018-03-10  2:24 ` [PATCH v4 24/24] MAINTAINERS: Add myself as co-maintainer of qcom audio srinivas.kandagatla at linaro.org

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=20180310022456.26739-2-srinivas.kandagatla@linaro.org \
    --to=srinivas.kandagatla@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).