OSDN Git Service

ASoC: qdsp6: dt-bindings: Add q6afe dt bindings
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Wed, 9 May 2018 12:56:15 +0000 (13:56 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 11 May 2018 03:13:28 +0000 (12:13 +0900)
This patch add DT bindings for AFE (Audio Frontend) DSP module.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-and-tested-by: Rohit kumar <rohitkr@codeaurora.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/qcom,q6afe.txt [new file with mode: 0644]
include/dt-bindings/sound/qcom,q6afe.h [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/sound/qcom,q6afe.txt b/Documentation/devicetree/bindings/sound/qcom,q6afe.txt
new file mode 100644 (file)
index 0000000..14335a0
--- /dev/null
@@ -0,0 +1,104 @@
+Qualcomm Audio Front End (Q6AFE) binding
+
+AFE is one of the APR audio service on Q6DSP
+Please refer to qcom,apr.txt for details of the common apr service bindings
+used by all apr services. Must contain the following properties.
+
+- compatible:
+       Usage: required
+       Value type: <stringlist>
+       Definition: must be "qcom,q6afe-v<MAJOR-NUMBER>.<MINOR-NUMBER>"
+                 Or "qcom,q6afe" where the version number can be queried
+                 from DSP.
+                 example "qcom,q6afe"
+
+= AFE DAIs (Digial Audio Interface)
+"dais" subnode of the AFE node. It represents afe dais, each afe dai is a
+subnode of "dais" representing board specific dai setup.
+"dais" node should have following properties followed by dai children.
+
+- #sound-dai-cells
+       Usage: required
+       Value type: <u32>
+       Definition: Must be 1
+
+- #address-cells
+       Usage: required
+       Value type: <u32>
+       Definition: Must be 1
+
+- #size-cells
+       Usage: required
+       Value type: <u32>
+       Definition: Must be 0
+
+== AFE DAI is subnode of "dais" and represent a dai, it includes board specific
+configuration of each dai. Must contain the following properties.
+
+- reg
+       Usage: required
+       Value type: <u32>
+       Definition: Must be dai id
+
+- qcom,sd-lines
+       Usage: required for mi2s interface
+       Value type: <prop-encoded-array>
+       Definition: Must be list of serial data lines used by this dai.
+       should be one or more of the 1-4 sd lines.
+
+= EXAMPLE
+
+q6afe@4 {
+       compatible = "qcom,q6afe";
+       reg = <APR_SVC_AFE>;
+
+       dais {
+               #sound-dai-cells = <1>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               hdmi@1 {
+                       reg = <1>;
+               };
+
+               prim-mi2s-rx@16 {
+                       reg = <16>;
+                       qcom,sd-lines = <1 3>;
+               };
+
+               prim-mi2s-tx@17 {
+                       reg = <17>;
+                       qcom,sd-lines = <2>;
+               };
+
+               sec-mi2s-rx@18 {
+                       reg = <18>;
+                       qcom,sd-lines = <1 4>;
+               };
+
+               sec-mi2s-tx@19 {
+                       reg = <19>;
+                       qcom,sd-lines = <2>;
+               };
+
+               tert-mi2s-rx@20 {
+                       reg = <20>;
+                       qcom,sd-lines = <2 4>;
+               };
+
+               tert-mi2s-tx@21 {
+                       reg = <21>;
+                       qcom,sd-lines = <1>;
+               };
+
+               quat-mi2s-rx@22 {
+                       reg = <22>;
+                       qcom,sd-lines = <1>;
+               };
+
+               quat-mi2s-tx@23 {
+                       reg = <23>;
+                       qcom,sd-lines = <2>;
+               };
+       };
+};
diff --git a/include/dt-bindings/sound/qcom,q6afe.h b/include/dt-bindings/sound/qcom,q6afe.h
new file mode 100644 (file)
index 0000000..e162045
--- /dev/null
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __DT_BINDINGS_Q6_AFE_H__
+#define __DT_BINDINGS_Q6_AFE_H__
+
+/* Audio Front End (AFE) virtual ports IDs */
+#define HDMI_RX                1
+#define SLIMBUS_0_RX    2
+#define SLIMBUS_0_TX    3
+#define SLIMBUS_1_RX    4
+#define SLIMBUS_1_TX    5
+#define SLIMBUS_2_RX    6
+#define SLIMBUS_2_TX    7
+#define SLIMBUS_3_RX    8
+#define SLIMBUS_3_TX    9
+#define SLIMBUS_4_RX    10
+#define SLIMBUS_4_TX    11
+#define SLIMBUS_5_RX    12
+#define SLIMBUS_5_TX    13
+#define SLIMBUS_6_RX    14
+#define SLIMBUS_6_TX    15
+#define PRIMARY_MI2S_RX                16
+#define PRIMARY_MI2S_TX                17
+#define SECONDARY_MI2S_RX      18
+#define SECONDARY_MI2S_TX      19
+#define TERTIARY_MI2S_RX       20
+#define TERTIARY_MI2S_TX       21
+#define QUATERNARY_MI2S_RX     22
+#define QUATERNARY_MI2S_TX     23
+
+#endif /* __DT_BINDINGS_Q6_AFE_H__ */
+