All of lore.kernel.org
 help / color / mirror / Atom feed
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
To: vkoul@kernel.org, broonie@kernel.org
Cc: bgoswami@codeaurora.org, plai@codeaurora.org,
	pierre-louis.bossart@linux.intel.com, robh+dt@kernel.org,
	devicetree@vger.kernel.org, lgirdwood@gmail.com,
	alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org,
	spapothi@codeaurora.org,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Subject: [PATCH v2 4/5] dt-bindings: soundwire: add bindings for Qcom controller
Date: Tue, 13 Aug 2019 09:35:49 +0100	[thread overview]
Message-ID: <20190813083550.5877-5-srinivas.kandagatla@linaro.org> (raw)
In-Reply-To: <20190813083550.5877-1-srinivas.kandagatla@linaro.org>

This patch adds bindings for Qualcomm soundwire controller.

Qualcomm SoundWire Master controller is present in most Qualcomm SoCs
either integrated as part of WCD audio codecs via slimbus or
as part of SOC I/O.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 .../bindings/soundwire/qcom,sdw.txt           | 167 ++++++++++++++++++
 1 file changed, 167 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soundwire/qcom,sdw.txt

diff --git a/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt b/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
new file mode 100644
index 000000000000..436547f3b155
--- /dev/null
+++ b/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
@@ -0,0 +1,167 @@
+Qualcomm SoundWire Controller Bindings
+
+
+This binding describes the Qualcomm SoundWire Controller along with its
+board specific bus parameters.
+
+- compatible:
+	Usage: required
+	Value type: <stringlist>
+	Definition: must be "qcom,soundwire-v<MAJOR>.<MINOR>.<STEP>",
+		    Example:
+			"qcom,soundwire-v1.3.0"
+			"qcom,soundwire-v1.5.0"
+			"qcom,soundwire-v1.6.0"
+- reg:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: the base address and size of SoundWire controller
+		    address space.
+
+- interrupts:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: should specify the SoundWire Controller IRQ
+
+- clock-names:
+	Usage: required
+	Value type: <stringlist>
+	Definition: should be "iface" for SoundWire Controller interface clock
+
+- clocks:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: should specify the SoundWire Controller interface clock
+
+- #sound-dai-cells:
+	Usage: required
+	Value type: <u32>
+	Definition: must be 1 for digital audio interfaces on the controller.
+
+- qcom,dout-ports:
+	Usage: required
+	Value type: <u32>
+	Definition: must be count of data out ports
+
+- qcom,din-ports:
+	Usage: required
+	Value type: <u32>
+	Definition: must be count of data in ports
+
+- qcom,ports-offset1:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: should specify payload transport window offset1 of each
+		    data port. Out ports followed by In ports.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,ports-offset2:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: should specify payload transport window offset2 of each
+		    data port. Out ports followed by In ports.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,ports-sinterval-low:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: should be sample interval low of each data port.
+		    Out ports followed by In ports. Used for Sample Interval
+		    calculation.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,ports-word-length:
+	Usage: optional
+	Value type: <prop-encoded-array>
+	Definition: should be size of payload channel sample.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,ports-block-pack-mode:
+	Usage: optional
+	Value type: <prop-encoded-array>
+	Definition: should be 0 or 1 to indicate the block packing mode.
+		    0 to indicate Blocks are per Channel
+		    1 to indicate Blocks are per Port.
+		    Out ports followed by In ports.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,ports-block-group-count:
+	Usage: optional
+	Value type: <prop-encoded-array>
+	Definition: should be in range 1 to 4 to indicate how many sample
+		    intervals are combined into a payload.
+		    Out ports followed by In ports.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,ports-lane-control:
+	Usage: optional
+	Value type: <prop-encoded-array>
+	Definition: should be in range 0 to 7 to identify which	data lane
+		    the data port uses.
+		    Out ports followed by In ports.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,ports-hstart:
+	Usage: optional
+	Value type: <prop-encoded-array>
+	Definition: should be number identifying lowerst numbered coloum in
+		    SoundWire Frame, i.e. left edge of the Transport sub-frame
+		    for each port. Values between 0 and 15 are valid.
+		    Out ports followed by In ports.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,ports-hstop:
+	Usage: optional
+	Value type: <prop-encoded-array>
+	Definition: should be number identifying highest numbered coloum in
+		    SoundWire Frame, i.e. the right edge of the Transport
+		    sub-frame for each port. Values between 0 and 15 are valid.
+		    Out ports followed by In ports.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+- qcom,dports-type:
+	Usage: optional
+	Value type: <prop-encoded-array>
+	Definition: should be one of the following types
+		    0 for reduced port
+		    1 for simple ports
+		    2 for full port
+		    Out ports followed by In ports.
+		    More info in MIPI Alliance SoundWire 1.0 Specifications.
+
+Note:
+	More Information on detail of encoding of these fields can be
+found in MIPI Alliance SoundWire 1.0 Specifications.
+
+= SoundWire devices
+Each subnode of the bus represents SoundWire device attached to it.
+The properties of these nodes are defined by the individual bindings.
+
+= EXAMPLE
+The following example represents a SoundWire controller on DB845c board
+which has controller integrated inside WCD934x codec on SDM845 SoC.
+
+soundwire: soundwire@c85 {
+	compatible = "qcom,soundwire-v1.3.0";
+	reg = <0xc85 0x20>;
+	interrupts = <20 IRQ_TYPE_EDGE_RISING>;
+	clocks = <&wcc>;
+	clock-names = "iface";
+	#sound-dai-cells = <1>;
+	qcom,dports-type = <0>;
+	qcom,dout-ports	= <6>;
+	qcom,din-ports	= <2>;
+	qcom,ports-sinterval-low = /bits/ 8  <0x07 0x1F 0x3F 0x7 0x1F 0x3F 0x0F 0x0F>;
+	qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x6 0x12 0x0D 0x07 0x0A >;
+	qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1F 0x00 0x00 0x1F 0x00 0x00>;
+
+	/* Left Speaker */
+	left{
+		....
+	};
+
+	/* Right Speaker */
+	right{
+		....
+	};
+};
-- 
2.21.0


  parent reply	other threads:[~2019-08-13  8:36 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-13  8:35 [PATCH v2 0/5] soundwire: Add support to Qualcomm SoundWire master Srinivas Kandagatla
2019-08-13  8:35 ` [PATCH v2 1/5] soundwire: Add compute_params callback Srinivas Kandagatla
2019-08-13 14:34   ` Pierre-Louis Bossart
2019-08-13 18:17     ` Srinivas Kandagatla
2019-08-13 19:08       ` Pierre-Louis Bossart
2019-08-14  4:05         ` Vinod Koul
2019-09-04  9:28   ` Vinod Koul
2019-09-04  9:28     ` [alsa-devel] " Vinod Koul
2019-09-04 13:36     ` Pierre-Louis Bossart
2019-09-04 13:36       ` Pierre-Louis Bossart
2019-08-13  8:35 ` [PATCH v2 2/5] soundwire: stream: make stream name a const pointer Srinivas Kandagatla
2019-09-04  9:29   ` Vinod Koul
2019-09-04  9:29     ` [alsa-devel] " Vinod Koul
2019-08-13  8:35 ` [PATCH v2 3/5] ASoC: core: add support to snd_soc_dai_get_sdw_stream() Srinivas Kandagatla
2019-08-13 14:44   ` [alsa-devel] " Pierre-Louis Bossart
2019-08-13 16:50     ` Srinivas Kandagatla
2019-08-13 17:51       ` Pierre-Louis Bossart
2019-08-13 18:06         ` Srinivas Kandagatla
2019-08-13 19:15           ` Pierre-Louis Bossart
2019-08-13 19:18             ` Mark Brown
2019-08-13 19:38               ` Pierre-Louis Bossart
2019-08-13 19:58                 ` Mark Brown
2019-08-14  4:11                   ` Vinod Koul
2019-08-14  9:08                     ` Mark Brown
2019-08-14 14:09                     ` Pierre-Louis Bossart
2019-10-09  8:32                       ` Srinivas Kandagatla
2019-10-09  8:32                         ` Srinivas Kandagatla
2019-10-09 14:29                         ` Pierre-Louis Bossart
2019-10-09 14:29                           ` Pierre-Louis Bossart
2019-10-09 14:29                           ` Pierre-Louis Bossart
2019-10-09 16:01                           ` Srinivas Kandagatla
2019-10-09 16:01                             ` Srinivas Kandagatla
2019-10-09 16:01                             ` Srinivas Kandagatla
2019-10-09 18:53                             ` Pierre-Louis Bossart
2019-10-09 18:53                               ` Pierre-Louis Bossart
2019-10-10  8:50                               ` Srinivas Kandagatla
2019-10-10  8:50                                 ` Srinivas Kandagatla
2019-10-10 12:03                                 ` Charles Keepax
2019-10-10 12:03                                   ` Charles Keepax
2019-10-10 12:03                                   ` Charles Keepax
2019-10-10 13:51                                   ` Mark Brown
2019-10-10 13:51                                     ` Mark Brown
2019-10-10 14:01                                   ` Pierre-Louis Bossart
2019-10-10 14:01                                     ` Pierre-Louis Bossart
2019-10-10 14:52                                     ` Srinivas Kandagatla
2019-10-10 14:52                                       ` Srinivas Kandagatla
2019-10-10 15:49                                       ` Pierre-Louis Bossart
2019-10-10 15:49                                         ` Pierre-Louis Bossart
2019-10-11 12:30                                         ` Srinivas Kandagatla
2019-10-11 12:30                                           ` Srinivas Kandagatla
2019-08-13 16:03   ` Cezary Rojewski
2019-08-13 16:52     ` Srinivas Kandagatla
2019-08-13 17:29       ` Cezary Rojewski
2019-08-13 19:19         ` Mark Brown
2019-08-13  8:35 ` Srinivas Kandagatla [this message]
2019-08-23  7:28   ` [PATCH v2 4/5] dt-bindings: soundwire: add bindings for Qcom controller Vinod Koul
2019-08-30  8:05     ` Srinivas Kandagatla
2019-08-30  8:05       ` [alsa-devel] " Srinivas Kandagatla
2019-08-13  8:35 ` [PATCH v2 5/5] soundwire: qcom: add support for SoundWire controller 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=20190813083550.5877-5-srinivas.kandagatla@linaro.org \
    --to=srinivas.kandagatla@linaro.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=bgoswami@codeaurora.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=plai@codeaurora.org \
    --cc=robh+dt@kernel.org \
    --cc=spapothi@codeaurora.org \
    --cc=vkoul@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.