mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
3a6818c771
Input to qcom,sd-lines should be between 0 and 3 instead of 1 to 4 as 0 corresponds to BIT(0) which is MI2S_SD0 line. Bit 1 to 3 corresponds to SD1 to SD3 lines respectively. Updated documentation for the same. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Signed-off-by: Mark Brown <broonie@kernel.org>
179 lines
3.7 KiB
Plaintext
179 lines
3.7 KiB
Plaintext
Qualcomm Audio Front End (Q6AFE) binding
|
|
|
|
AFE is one of the APR audio service on Q6DSP
|
|
Please refer to qcom,apr.txt for details of the common apr service bindings
|
|
used by all apr services. Must contain the following properties.
|
|
|
|
- compatible:
|
|
Usage: required
|
|
Value type: <stringlist>
|
|
Definition: must be "qcom,q6afe-v<MAJOR-NUMBER>.<MINOR-NUMBER>"
|
|
Or "qcom,q6afe" where the version number can be queried
|
|
from DSP.
|
|
example "qcom,q6afe"
|
|
|
|
= AFE DAIs (Digial Audio Interface)
|
|
"dais" subnode of the AFE node. It represents afe dais, each afe dai is a
|
|
subnode of "dais" representing board specific dai setup.
|
|
"dais" node should have following properties followed by dai children.
|
|
|
|
- compatible:
|
|
Usage: required
|
|
Value type: <stringlist>
|
|
Definition: must be "qcom,q6afe-dais"
|
|
|
|
- #sound-dai-cells
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: Must be 1
|
|
|
|
- #address-cells
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: Must be 1
|
|
|
|
- #size-cells
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: Must be 0
|
|
|
|
== AFE DAI is subnode of "dais" and represent a dai, it includes board specific
|
|
configuration of each dai. Must contain the following properties.
|
|
|
|
- reg
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: Must be dai id
|
|
|
|
- qcom,sd-lines
|
|
Usage: required for mi2s interface
|
|
Value type: <prop-encoded-array>
|
|
Definition: Must be list of serial data lines used by this dai.
|
|
should be one or more of the 0-3 sd lines.
|
|
|
|
- qcom,tdm-sync-mode:
|
|
Usage: required for tdm interface
|
|
Value type: <prop-encoded-array>
|
|
Definition: Synchronization mode.
|
|
0 - Short sync bit mode
|
|
1 - Long sync mode
|
|
2 - Short sync slot mode
|
|
|
|
- qcom,tdm-sync-src:
|
|
Usage: required for tdm interface
|
|
Value type: <prop-encoded-array>
|
|
Definition: Synchronization source.
|
|
0 - External source
|
|
1 - Internal source
|
|
|
|
- qcom,tdm-data-out:
|
|
Usage: required for tdm interface
|
|
Value type: <prop-encoded-array>
|
|
Definition: Data out signal to drive with other masters.
|
|
0 - Disable
|
|
1 - Enable
|
|
|
|
- qcom,tdm-invert-sync:
|
|
Usage: required for tdm interface
|
|
Value type: <prop-encoded-array>
|
|
Definition: Invert the sync.
|
|
0 - Normal
|
|
1 - Invert
|
|
|
|
- qcom,tdm-data-delay:
|
|
Usage: required for tdm interface
|
|
Value type: <prop-encoded-array>
|
|
Definition: Number of bit clock to delay data
|
|
with respect to sync edge.
|
|
0 - 0 bit clock cycle
|
|
1 - 1 bit clock cycle
|
|
2 - 2 bit clock cycle
|
|
|
|
- qcom,tdm-data-align:
|
|
Usage: required for tdm interface
|
|
Value type: <prop-encoded-array>
|
|
Definition: Indicate how data is packed
|
|
within the slot. For example, 32 slot width in case of
|
|
sample bit width is 24.
|
|
0 - MSB
|
|
1 - LSB
|
|
|
|
= EXAMPLE
|
|
|
|
q6afe@4 {
|
|
compatible = "qcom,q6afe";
|
|
reg = <APR_SVC_AFE>;
|
|
|
|
dais {
|
|
compatible = "qcom,q6afe-dais";
|
|
#sound-dai-cells = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
hdmi@1 {
|
|
reg = <1>;
|
|
};
|
|
|
|
tdm@24 {
|
|
reg = <24>;
|
|
qcom,tdm-sync-mode = <1>:
|
|
qcom,tdm-sync-src = <1>;
|
|
qcom,tdm-data-out = <0>;
|
|
qcom,tdm-invert-sync = <1>;
|
|
qcom,tdm-data-delay = <1>;
|
|
qcom,tdm-data-align = <0>;
|
|
|
|
};
|
|
|
|
tdm@25 {
|
|
reg = <25>;
|
|
qcom,tdm-sync-mode = <1>:
|
|
qcom,tdm-sync-src = <1>;
|
|
qcom,tdm-data-out = <0>;
|
|
qcom,tdm-invert-sync = <1>;
|
|
qcom,tdm-data-delay <1>:
|
|
qcom,tdm-data-align = <0>;
|
|
};
|
|
|
|
prim-mi2s-rx@16 {
|
|
reg = <16>;
|
|
qcom,sd-lines = <0 2>;
|
|
};
|
|
|
|
prim-mi2s-tx@17 {
|
|
reg = <17>;
|
|
qcom,sd-lines = <1>;
|
|
};
|
|
|
|
sec-mi2s-rx@18 {
|
|
reg = <18>;
|
|
qcom,sd-lines = <0 3>;
|
|
};
|
|
|
|
sec-mi2s-tx@19 {
|
|
reg = <19>;
|
|
qcom,sd-lines = <1>;
|
|
};
|
|
|
|
tert-mi2s-rx@20 {
|
|
reg = <20>;
|
|
qcom,sd-lines = <1 3>;
|
|
};
|
|
|
|
tert-mi2s-tx@21 {
|
|
reg = <21>;
|
|
qcom,sd-lines = <0>;
|
|
};
|
|
|
|
quat-mi2s-rx@22 {
|
|
reg = <22>;
|
|
qcom,sd-lines = <0>;
|
|
};
|
|
|
|
quat-mi2s-tx@23 {
|
|
reg = <23>;
|
|
qcom,sd-lines = <1>;
|
|
};
|
|
};
|
|
};
|