All of lore.kernel.org
 help / color / mirror / Atom feed
* am335x: mcasp in DIT mode
@ 2013-03-01 10:53 Yegor Yefremov
  2013-03-04  6:22 ` Bedia, Vaibhav
  0 siblings, 1 reply; 12+ messages in thread
From: Yegor Yefremov @ 2013-03-01 10:53 UTC (permalink / raw)
  To: alsa-devel@alsa-project.org; +Cc: Porter, Matt, joelagnel, Daniel Mack

I've solved the problem with DIT/SPDIF mode (see the issue description
here: http://e2e.ti.com/support/arm/sitara_arm/f/791/p/247447/870030.aspx).

In davinci_mcasp_hw_params() the DIT or I2S params will be set in the
beginning. DIT mode configures the DAVINCI_MCASP_TXMASK_REG and
DAVINCI_MCASP_TXFMT_REG.

And here comes the problem:

at the end of davinci_mcasp_hw_params() the
davinci_config_channel_size() will touch the same registers again and
thus overwrite the settings necessary for DIT. After I commented this
routine I got the sound over S/PDIF and sii9022a HDMI transmitter and
I could see the proper bits appearing on my oscilloscope.

What were the best way to solve this problem?

1. execute  davinci_config_channel_size() only if not in DIT mode?
2. for DIT only change the DAVINCI_MCASP_TXMASK_REG according to channel width?
3. execute

if (dev->op_mode == DAVINCI_MCASP_DIT_MODE)
                davinci_hw_dit_param(dev);
else
                davinci_hw_param(dev, substream->stream);

after davinci_config_channel_size()

Yegor

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-03-05 11:15 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-01 10:53 am335x: mcasp in DIT mode Yegor Yefremov
2013-03-04  6:22 ` Bedia, Vaibhav
2013-03-04  7:55   ` Daniel Mack
2013-03-04  8:03     ` Daniel Mack
2013-03-04  8:05     ` Yegor Yefremov
2013-03-04 10:10       ` Bedia, Vaibhav
2013-03-04 10:26         ` Yegor Yefremov
2013-03-04 11:25           ` Bedia, Vaibhav
2013-03-04 15:56             ` Yegor Yefremov
2013-03-05  6:33               ` Bedia, Vaibhav
2013-03-05  7:20                 ` Yegor Yefremov
2013-03-05 11:15                   ` Bedia, Vaibhav

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.