[alsa-devel] [PATCH] ASoC: omap-mcbsp: On OMAP1 and OMAP2420 only 16bit format is supported

Peter Ujfalusi peter.ujfalusi at ti.com
Fri Oct 26 08:21:50 CEST 2018



On 2018-10-26 09:00, Jarkko Nikula wrote:
> On Thu, Oct 25, 2018 at 04:48:24PM +0300, Peter Ujfalusi wrote:
>> For samples sizes of 20/24/32 bit the DRR2/DXR2 registers must be used to
>> receive or transmit the most significant part of the 32bit sample.
>> We can not trick the system by using the DRR2/DXR2 register offset and use
>> 32bit element size since these (and other McBSP) registers are 16bit ones.
>>
>> We would need support for port_window in cyclic mode from the sDMA driver,
>> but it is not straight forward as we would need to have the sDMA frame to
>> cover the 32bit (DRR2+DRR1/DXR2+DXR1), but the frames must cover the ALSA
>> period to be able to receive periodic interrupts.
>>
>> Since the 32bit samples are not working (DMA timeout), just remove it in
>> case we have McBSP with reg_size of 2.
>>
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
>> ---
>> Hi,
>>
>> I have noticed that on Nokia n810 32bit samples just don't work at all for audio
>>
>> Regards,
>> Peter
>>
>>  sound/soc/omap/omap-mcbsp.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
> I guess this same holds for OMAP1 too as it has 16-bit McBSP registers
> too.

Yes, it does. That's why I check for the reg_size.

> Acked-by: Jarkko Nikula <jarkko.nikula at bitmer.com>

Thanks.

There is a slight chance that I can make the 32bit samples to work on
the sDMA side, but it is a long shot:
Add support for port_window to cyclic
Set the dev_width for omap1/omap2420 to 16bit (as this is the case)
If port_windows is set and it is multiple of dev_width
 use single indexed addressing on the McBSP side instead of constant
 set the csdp.xxx_packed
 set the csdp.data_type to 32bit
 set the ES (element size) to 16bit
 set EI to -4

Aaargh, no, it can not be done... The TRM states that Packed access only
works if EI=1 in single/double indexed modes.

I don't see how this can be done :(

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


More information about the Alsa-devel mailing list