Re: [PATCH QUESTION] ASoC: qcom: sdm845: use DSP_A format for TDM codec DAIs

David Heidelberg <[email protected]>
Newsgroups org.kernel.vger.phone-devel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound
Message-ID <[email protected]>
On 14/06/2026 01:53, Mark Brown wrote:
> On Sat, Jun 13, 2026 at 09:55:59PM +0200, David Heidelberg via B4 Relay wrote:
> 
>> Currently this worked only because the cs35l36
>> codec mapped both DSP_A and DSP_B to the same hardware register value
>> (asp_fmt = 0), which is inherently DSP_A timing.
> 
>> The CPU-side AFE is configured with qcom,tdm-data-delay = <1> which
>> produces DSP_A framing.
>> The codec format should match what is actually on the wire.
> 
>> So I'm pretty lost if I should go fixing cs35l36 or sdm845.c.
> 
> That sounds like both.  The Cirrus driver is definitely buggy if it's
> mapping DSP A and B to the same register value, at least one of those is
> wrong.

I need to clarify. The CS35L36 supports by default only DSP_A, but when extended 
to "take DSP_B", speaker just works.

This was done previously.

Since there isn't any different configuration on the codec side when added DSP_B 
into same codepath as DSP_A, I would assume QCOM ASoC send DSP_A, just marking 
it as DSP_B ?

There isn't any other consumer to check against and I would assume incorrectly 
configured TDM slot would lead - at least - to disorted output.

The reference (which now works) is here [1].

David

[1] https://codeberg.org/sdm845/linux/commits/branch/b4/pixel3-audio
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.