forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
6.2 KiB
188 lines
6.2 KiB
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.5.1" |
|
"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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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. |
|
Value of 0xFF indicates that this option is not implemented |
|
or applicable for the respective data port. |
|
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{ |
|
.... |
|
}; |
|
};
|
|
|