Message ID | 20200212015222.8229-7-adam@serbinski.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3,1/6] ASoC: qdsp6: dt-bindings: Add q6afe pcm dt binding | expand |
On 12/02/2020 01:52, Adam Serbinski wrote: > 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(+) > > 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 Are these not specific to 8k and 16k mode ? We should probably list values for both modes here. --srini > + 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>; > + }; > }; > }; >
On 2020-02-12 04:59, Srinivas Kandagatla wrote: > On 12/02/2020 01:52, Adam Serbinski wrote: >> 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(+) >> >> 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 > > 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. 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. >> + 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>; >> + }; >> }; >> }; >>
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(+)