Re: [PATCH 03/12] add a mc13783 codec driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mark,

> > +static int mc13783_set_tdm_slot_codec(struct snd_soc_dai *dai,
> > +	unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width)
> > +{
> > +	struct snd_soc_codec *codec = dai->codec;
> > +	unsigned int reg;
> > +
> > +	if (slots != 4)
> > +		return -EINVAL;
> > +
> > +	reg = mc13783_read(codec, PMIC_SSI_NETWORK);
> > +
> > +	reg &= ~(0xfff << 0);
> > +	reg |= (0x00 << 2);	/* primary timeslot RX/TX(?) is 0 */
> > +	reg |= (0x01 << 4);	/* secondary timeslot TX is 1 */
> > +	reg |= (0x01 << 6);	/* secondary timeslot RX is 1 */
> 
> This appears to be pretty much ignoring the supplied arguments and using
> a fixed configuration?
> 

The problem here is that I don't really understand what arguments I
should supply to this function and how to parse them to archieve what I
want.

The MC13783 Voice Codec always uses a network mode to send data. It has
a fixed width of four slots.

PMIC_SSI_NETWORK[2:3] defines the slot for primary transmit/receive
PMIC_SSI_NETWORK[4:5] defines the secondary transmit timeslot
PMIC_SSI_NETWORK[6:7] defines the secondary receive timeslot

The Codec has two channels and it's not primarily desgined to do stereo
Audio. I want to put the primary channel into the first timeslot and
the secondary channel into the second timeslot.

Any idea how to do this correctly?

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux