From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
broonie@kernel.org, vkoul@kernel.org
Cc: robh+dt@kernel.org, devicetree@vger.kernel.org,
mark.rutland@arm.com, alsa-devel@alsa-project.org,
linux-kernel@vger.kernel.org
Subject: Re: [alsa-devel] [RFC PATCH 5/6] dt-bindings: soundwire: add bindings for Qcom controller
Date: Fri, 7 Jun 2019 07:50:10 -0500 [thread overview]
Message-ID: <f2ea97b2-935d-0c7d-cb55-6e16a19c2060@linux.intel.com> (raw)
In-Reply-To: <20190607085643.932-6-srinivas.kandagatla@linaro.org>
On 6/7/19 3:56 AM, Srinivas Kandagatla wrote:
> 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,swr.txt | 62 +++++++++++++++++++
> 1 file changed, 62 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/soundwire/qcom,swr.txt
you seem to use the 'swr' prefix in this patch. Most implementers use
'sdw', and that's the default also used in the MIPI DisCo spec for
properties. Can we align on the same naming conventions?
>
> diff --git a/Documentation/devicetree/bindings/soundwire/qcom,swr.txt b/Documentation/devicetree/bindings/soundwire/qcom,swr.txt
> new file mode 100644
> index 000000000000..eb84d0f4f36f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soundwire/qcom,swr.txt
> @@ -0,0 +1,62 @@
> +Qualcomm SoundWire Controller
> +
> +This binding describes the Qualcomm SoundWire Controller Bindings.
> +
> +Required properties:
> +
> +- compatible: 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: SoundWire controller address space.
> +- interrupts: SoundWire controller interrupt.
> +- clock-names: Must contain "iface".
> +- clocks: Interface clocks needed for controller.
> +- #sound-dai-cells: Must be 1 for digital audio interfaces on the controllers.
> +- #address-cells: Must be 1 for SoundWire devices;
> +- #size-cells: Must be <0> as SoundWire addresses have no size component.
> +- qcom,dout-ports: Must be count of data out ports
> +- qcom,din-ports: Must be count of data in ports
> +- qcom,ports-offset1: Must be frame offset1 of each data port.
> + Out followed by In. Used for Block size calculation.
> +- qcom,ports-offset2: Must be frame offset2 of each data port.
> + Out followed by In. Used for Block size calculation.
> +- qcom,ports-sinterval-low: Must be sample interval low of each data port.
> + Out followed by In. Used for Sample Interval calculation.
These definitions are valid only for specific types of ports, I believe
here it's a 'reduced' port since offset2 is not required for simpler
ports and you don't have Hstart/Hstop.
so if you state that all of these properties are required, you are
explicitly ruling out future implementations of simple ports or will
have to redefine them later.
Also the definition 'frame offset1/2' is incorrect. the offset is
defined within each Payload Transport Window - not each frame - and its
definition depends on the packing mode used, which isn't defined or
stated here.
And last it looks like you assume a fixed frame shape - likely 50 rows
by 8 columns, it might be worth adding a note on the max values for
offset1/2 implied by this frame shape.
> +
> += 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>;
> + #address-cells = <1>;
> + #size-cells = <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 */
> + wsa8810@1{
> + ....
> + reg = <1>;
> + };
> +
> + /* Right Speaker */
> + wsa8810@2{
> + ....
> + reg = <2>;
> + };
> +};
>
next prev parent reply other threads:[~2019-06-07 12:50 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-07 8:56 [RFC PATCH 0/6] soundwire: Add support to Qualcomm SoundWire master Srinivas Kandagatla
2019-06-07 8:56 ` [RFC PATCH 1/6] ASoC: core: add support to snd_soc_dai_get_sdw_stream() Srinivas Kandagatla
2019-06-08 19:22 ` Cezary Rojewski
2019-06-09 12:16 ` Srinivas Kandagatla
2019-06-10 4:34 ` Vinod Koul
2019-06-10 7:58 ` Srinivas Kandagatla
2019-06-07 8:56 ` [RFC PATCH 2/6] soundwire: Add compute_params callback Srinivas Kandagatla
2019-06-07 8:56 ` [RFC PATCH 3/6] soundwire: core: define SDW_MAX_PORT Srinivas Kandagatla
2019-06-07 12:31 ` [alsa-devel] " Pierre-Louis Bossart
2019-06-08 20:04 ` Cezary Rojewski
2019-06-07 8:56 ` [RFC PATCH 4/6] soundwire: stream: make stream name a const pointer Srinivas Kandagatla
2019-06-07 8:56 ` [RFC PATCH 5/6] dt-bindings: soundwire: add bindings for Qcom controller Srinivas Kandagatla
2019-06-07 12:50 ` Pierre-Louis Bossart [this message]
2019-06-09 12:16 ` [alsa-devel] " Srinivas Kandagatla
2019-06-10 4:51 ` Vinod Koul
2019-06-10 8:14 ` Srinivas Kandagatla
2019-06-10 13:58 ` [alsa-devel] " Pierre-Louis Bossart
2019-06-07 8:56 ` [RFC PATCH 6/6] soundwire: qcom: add support for SoundWire controller Srinivas Kandagatla
2019-06-07 13:36 ` [alsa-devel] " Pierre-Louis Bossart
2019-06-09 12:15 ` Srinivas Kandagatla
2019-06-10 14:12 ` Pierre-Louis Bossart
2019-06-11 10:29 ` Srinivas Kandagatla
2019-06-11 12:21 ` Pierre-Louis Bossart
2019-06-15 13:24 ` Srinivas Kandagatla
2019-06-08 21:53 ` Cezary Rojewski
2019-06-09 12:15 ` Srinivas Kandagatla
2019-06-10 6:40 ` Vinod Koul
2019-06-10 8:27 ` 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=f2ea97b2-935d-0c7d-cb55-6e16a19c2060@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
--cc=srinivas.kandagatla@linaro.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 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).