Re: em28xx i2s volume control

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

 



Em Mon, 27 Jul 2009 21:36:48 -0300
Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx> escreveu:

> Em Mon, 20 Jul 2009 14:00:08 -0400
> acano@xxxxxxxxxxx escreveu:
> 
> > On Sun, Jul 19, 2009 at 10:50:49AM -0300, Mauro Carvalho Chehab wrote:
> > > Em Sat, 18 Jul 2009 14:22:51 -0400
> > > acano@xxxxxxxxxxx escreveu:
> > >
> > > > How do you control the i2s volume output on empia boards?
> > >
> > > the em28xx chip doesn't control volume. This is done at the audio chip.
> > >
> > > For ac97 chips, the volume is inside the em28xx driver, since we don't have a
> > > v4l2 device driver for it yet.
> > >
> > > On the cases where the volume is on an i2s chips like msp34xx, the volume
> > > control is done at the i2c driver, that should be exporting such controls via
> > > v4l2 dev/subdev API, by calling:
> > > 	v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_ctrl, ctrl);
> > >
> > > This way, any application can control the volume via the proper ioctl's.
> > >
> > > While trying to see why are you asking this, I noticed that the em28xx driver,
> > > due to historic reasons, had an implementation that may cause
> > > confusion.
> > 
> > The problem is that it's not working for usb audio streaming.  With a
> > cable from line out of the device to my sound card it works well.
> > Volume can be controlled by applications using the v4l2 ioctls.
> > 
> > The audio from /dev/dsp? is always at max and distorts horribly on
> > many tv stations.  I can verify with 'modprobe msp3400 debug=1' that
> > it is trying to set volume I pass to it, but it simply has no effect
> > on the usb audio stream.
> > 
> > The reason I asked about i2s volume control is because the eeprom has
> > the bit set that shows my device as "USB audio class volume control
> > (capable) when audio source is i2s device".

Angelo,

I just checked the datasheet, at page 8 [1]: there's nothing we can do at msp34xx to control
volume at i2s interface.

Looking at the signal flow block diagram of MSP34x5G, it is clear that you have 3 different output patches:

1) loudspeaker: offers bass/treble, loudness, spatial effects, balance and volume controls;

2) SCART1 output: offers only volume control;

3) I2S: no control at all. 

So, with msp34xx, there's no way to change the i2s output volume.

[1] http://www.datasheetcatalog.org/datasheet/MicronasIntermetall/mXsrwrs.pdf



Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux