Message ID | 20200212015222.8229-7-adam@serbinski.com |
---|---|
State | New |
Headers | show |
Series | None | expand |
On 12/02/2020 11:01, Adam Serbinski wrote: >>> >>> + >>> + - qcom,pcm-slot-mapping >>> + Usage: required for pcm interface >> >> Are these not specific to 8k and 16k mode ? >> We should probably list values for both modes here. > > No, this is just the offset that the audio sample is placed in with > respect to a maximum of 4 slots, 16 bits wide, beginning with the sync > pulse. That's not true atleast by the QDSP documentation, according to it we will use more slots to transfer at higher sample rate. ex: 16 kHz data can be transferred using 8 kHz samples in two slots. Also there are 32 slots for each of 4 supported channels for PCM AFE port. > > When switching between 8 and 16k sample rate, it is just the sync pulse > rate that is changed. The audio sample will be delivered in the same > slot, just at a different frequency.
On 2020-02-12 06:43, Srinivas Kandagatla wrote: > On 12/02/2020 11:01, Adam Serbinski wrote: >>>> >>>> + >>>> + - qcom,pcm-slot-mapping >>>> + Usage: required for pcm interface >>> >>> Are these not specific to 8k and 16k mode ? >>> We should probably list values for both modes here. >> >> No, this is just the offset that the audio sample is placed in with >> respect to a maximum of 4 slots, 16 bits wide, beginning with the sync >> pulse. > > > That's not true atleast by the QDSP documentation, > according to it we will use more slots to transfer at higher sample > rate. ex: > 16 kHz data can be transferred using 8 kHz samples in two > slots. > > Also there are 32 slots for each of 4 supported channels for PCM AFE > port. Ok, if that's the case, then it sounds like someone else is going to have to implement it. I have no way to test that kind of a configuration, so attempting to implement it would be futile. > > >> >> When switching between 8 and 16k sample rate, it is just the sync >> pulse rate that is changed. The audio sample will be delivered in the >> same slot, just at a different frequency.
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6afe.txt b/Documentation/devicetree/bindings/sound/qcom,q6afe.txt index d74888b9f1bb..6b1b17d31a2a 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6afe.txt +++ b/Documentation/devicetree/bindings/sound/qcom,q6afe.txt @@ -51,6 +51,24 @@ configuration of each dai. Must contain the following properties. Definition: Must be list of serial data lines used by this dai. should be one or more of the 0-3 sd lines. + - qcom,pcm-quantype + Usage: required for pcm interface + Value type: <u32> + Definition: PCM quantization type + 0 - ALAW, no padding + 1 - MULAW, no padding + 2 - Linear, no padding + 3 - ALAW, padding + 4 - MULAW, padding + 5 - Linear, padding + + - qcom,pcm-slot-mapping + Usage: required for pcm interface + Value type: <prop-encoded-array> + Definition: Slot mapping for audio channels. Array size is the number + of slots, minimum 1, maximum 4. The value is 0 for no mapping + to the slot, or the channel number from 1 to 32. + - qcom,tdm-sync-mode: Usage: required for tdm interface Value type: <prop-encoded-array> @@ -174,5 +192,29 @@ q6afe@4 { reg = <23>; qcom,sd-lines = <1>; }; + + pri-pcm-rx@105 { + reg = <105>; + qcom,pcm-quantype = <2>; + qcom,pcm-slot-mapping = <1>; + }; + + pri-pcm-tx@106 { + reg = <106>; + qcom,pcm-quantype = <2>; + qcom,pcm-slot-mapping = <1>; + }; + + quat-pcm-rx@111 { + reg = <111>; + qcom,pcm-quantype = <5>; + qcom,pcm-slot-mapping = <0 0 1>; + }; + + quat-pcm-tx@112 { + reg = <112>; + qcom,pcm-quantype = <5>; + qcom,pcm-slot-mapping = <0 0 1>; + }; }; };
This patch adds documentation of bindings required for PCM ports on AFE. Signed-off-by: Adam Serbinski <adam@serbinski.com> CC: Andy Gross <agross@kernel.org> CC: Mark Rutland <mark.rutland@arm.com> CC: Liam Girdwood <lgirdwood@gmail.com> CC: Patrick Lai <plai@codeaurora.org> CC: Banajit Goswami <bgoswami@codeaurora.org> CC: Jaroslav Kysela <perex@perex.cz> CC: Takashi Iwai <tiwai@suse.com> CC: alsa-devel@alsa-project.org CC: linux-arm-msm@vger.kernel.org CC: devicetree@vger.kernel.org CC: linux-kernel@vger.kernel.org --- .../devicetree/bindings/sound/qcom,q6afe.txt | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+)