[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