9 Commits
Author SHA1 Message Date
Misael Lopez Cruz f5f9d7bf6e ASoC: omap-mcpdm: Replace legacy driver
Reasons for the replacement:
The current driver for McPDM was developed to support the legacy mode only.
In preparation for the ABE support the current driver stack need the be
replaced.
The new driver is much simpler, easier to extend, and it also fixes some of the
issues with the old stack.

Main changes:
- single file for omap-mcpdm (mcpdm.c/h removed)
- Define names for registers, bits cleaned up, prefixed
- Full-duplex audio operation (arecord | aplay) has been fixed
- Less code

McPDM need to be turned off after all streams has been stopped.
This might cause pop noise on the output, if the codec's DAC is
still powered at this time.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Liam Girdwood <[email protected]>
Signed-off-by: Sebastien Guiriec <[email protected]>
Signed-off-by: Peter Ujfalusi <[email protected]>
Acked-by: Mark Brown <[email protected]>
2011-09-22 09:22:50 +03:00
Misael Lopez Cruz 1a4cdecec7 OMAP4: SDP4430: Add twl6040 codec platform support
Configure, and enable the twl6040 codec on SDP4430.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Peter Ujfalusi <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
2011-07-04 19:36:30 +03:00
Misael Lopez Cruz 6bba63b68d ASoC: twl6040: Remove pll and headset mode dependency
Remove dependency between pll (hppll, lppll) and headset power
mode (low-power, high-performance), as headset power mode can
be used with any pll.

A new control is created to allow headset power mode configuration
from userspace. Changing headset power mode during earpiece related
usecases is not propagated down to the codec as earpiece requires
HS DAC in HP mode.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Peter Ujfalusi <[email protected]>
Acked-by: Mark Brown <[email protected]>
2011-07-04 19:36:27 +03:00
Misael Lopez Cruz cc697d3839 input: Add initial support for TWL6040 vibrator
Add twl6040_vibra as a child of MFD device twl6040_codec. This
implementation covers the PCM-to-PWM mode of TWL6040 vibrator
module.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Peter Ujfalusi <[email protected]>
CC: Tejun Heo <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
2011-07-04 19:36:18 +03:00
Misael Lopez Cruz fb34d3d505 ASoC: twl6040: Convert into TWL6040 MFD child
Convert TWL6040 CODEC driver into a TWL6040 MFD child, it implies
that MFD-level operations like register accesses, clock setting
and power management are done through MFD APIs, not directly by
CODEC driver anymore. To avoid conflicts with the other MFD child,
vibrator registers are skipped in CODEC driver.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Peter Ujfalusi <[email protected]>
Acked-by: Mark Brown <[email protected]>
2011-07-04 19:35:06 +03:00
Misael Lopez Cruz f19b2823f8 mfd: twl6040: Add initial support
TWL6040 IC provides analog high-end audio codec functions for
handset applications. It contains several audio analog inputs
and outputs as well as vibrator support. It's connected to the
host processor via PDM interface for audio data communication.
The audio modules are controlled by internal registers that
can be accessed by I2C and PDM interface.

TWL6040 MFD will be registered as a child of TWL-CORE, and will
have two children of its own: twl6040-codec and twl6040-vibra.

This driver is based on TWL4030 and WM8350 MFD drivers.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Peter Ujfalusi <[email protected]>
Acked-by: Samuel Ortiz <[email protected]>
2011-07-04 19:34:37 +03:00
Misael Lopez Cruz d5e4b0adf6 ASoC: DMIC codec - Add input widget
Digital microphones can have some additional elements in their
audio path (like microphone bias). An input widget is required
for digital microphone CODEC driver to allow external connections
in machine drivers.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Liam Girdwood <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2011-05-12 17:40:05 +02:00
Misael Lopez Cruz 53a9ef15df ASoC: twl6040: Use correct offset for LineInAmp Right
Gain for LineInAmp Right uses LINEGAIN[5:3], which means that
offset for right channel should be 4.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Margarita Olaya Cabrera <[email protected]>
Acked-by: Mark Brown <[email protected]>
Signed-off-by: Liam Girdwood <[email protected]>
2010-12-14 20:38:43 +00:00
Misael Lopez Cruz 4f44ee1f49 ASoC: twl6040: Enable plug detection interrupts
Enable plug detection interrupt mask in order to get headset
PLUGINT/UNPLUGINT interrupts.

Signed-off-by: Misael Lopez Cruz <[email protected]>
Signed-off-by: Margarita Olaya Cabrera <[email protected]>
Acked-by: Mark Brown <[email protected]>
Signed-off-by: Liam Girdwood <[email protected]>
2010-12-14 20:36:59 +00:00