[alsa-devel] [PATCH v2 4/5] dt-bindings: soundwire: add bindings for Qcom controller

Srinivas Kandagatla srinivas.kandagatla at linaro.org
Fri Aug 30 10:05:44 CEST 2019


Hi Rob,

On 23/08/2019 08:28, Vinod Koul wrote:
> On 13-08-19, 09:35, 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.
> 
> Rob.. ?
> 
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at 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

Do you see any issues with the these bindings?

--srini
>> 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 at 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
> 


More information about the Alsa-devel mailing list