6d7f68a1ea
This patch adds machine support for Amstrad E3 (Delta) videophone to ASoC. Created and tested against linux-2.6.31-rc3. Applies and works with linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Depends on: 1) latest version of the CX20442 codec driver that exposes v253_ops structure[1], 2) patch 2/3 form this series: TTY: Add definition of a new line discipline required by Amstrad E3 (Delta) ASoC driver[2]. CPU DAI parameters best matching the codec DAI has been selected out empirically for best user experience. Board specific audio function control (with related DAPM widgets) has been modeled after empirically discovered codec capabilities. Unlike other ASoC machine drivers, this one makes use of a codec provided line discipline that is required for talking to a modem chip that can control the codec behavoiur. As the line discipline operations must call board specific bits as well, the machine driver registers its own line discipline ops, not the codec provided, and then calls those codec provided from inside its own callbacks. If some kind of a glue, like a bus over a tty, exsited that could help in runtime detection of a modem (bus adapter) over a more generic line discipline (bus driver)[3], the line discipline code could be probably designed in a more generic way. In order to work at all, this driver requires a working McBSP1. On OMAP1510 based machines (not sure if other OMAP1 variants as well), where McBSP1 is a DSP public peripheral, that means the kernel must provide basic DSP support, ie. omap_dsp_init(), in order to power up the DSP. This used to be included in linux-omap-2.6 tree up to commit 2512fd29db4eb09e82d182596304c7aaf76d2c5c. Without that, the driver would not work, ie. not shift in/out any bits over the CPU DAI[4]. This limitation is not board, but CPU specific, and may apply to other code that makes use of McBSP1/McBSP3 on affected machines. I provide an extra patch (4/3) as a temporary solution. To work correctly in playback mode, this driver requires my prevoiusly submitted patch that corrects pcm pointer calculation for OMAP1510 based machines[5] (already included in linux-2.6.31-rc3). To support codec controls, this driver requires my previously submitted patch that adds support for modem found on Amstrad Delta[6]. [1] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019780.html [2] http://www.spinics.net/lists/linux-serial/msg01862.html [3] http://www.spinics.net/lists/linux-serial/msg01856.html [4] http://www.spinics.net/lists/linux-omap/msg15114.html [5] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-June/018950.html [6] http://www.spinics.net/lists/linux-omap/msg15432.html Credits to: Mark Underwood - for his initial, omap-alsa based sound driver for this machine, Mark Brown - for his help, patience and excellent subsytem maintainer support. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
91 lines
2.7 KiB
Plaintext
91 lines
2.7 KiB
Plaintext
config SND_OMAP_SOC
|
|
tristate "SoC Audio for the Texas Instruments OMAP chips"
|
|
depends on ARCH_OMAP
|
|
|
|
config SND_OMAP_SOC_MCBSP
|
|
tristate
|
|
select OMAP_MCBSP
|
|
|
|
config SND_OMAP_SOC_N810
|
|
tristate "SoC Audio support for Nokia N810"
|
|
depends on SND_OMAP_SOC && MACH_NOKIA_N810 && I2C
|
|
select SND_OMAP_SOC_MCBSP
|
|
select OMAP_MUX
|
|
select SND_SOC_TLV320AIC3X
|
|
help
|
|
Say Y if you want to add support for SoC audio on Nokia N810.
|
|
|
|
config SND_OMAP_SOC_AMS_DELTA
|
|
tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
|
|
depends on SND_OMAP_SOC && MACH_AMS_DELTA
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_CX20442
|
|
help
|
|
Say Y if you want to add support for SoC audio on Amstrad Delta.
|
|
|
|
config SND_OMAP_SOC_OSK5912
|
|
tristate "SoC Audio support for omap osk5912"
|
|
depends on SND_OMAP_SOC && MACH_OMAP_OSK && I2C
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_TLV320AIC23
|
|
help
|
|
Say Y if you want to add support for SoC audio on osk5912.
|
|
|
|
config SND_OMAP_SOC_OVERO
|
|
tristate "SoC Audio support for Gumstix Overo"
|
|
depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OVERO
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y if you want to add support for SoC audio on the Gumstix Overo.
|
|
|
|
config SND_OMAP_SOC_OMAP2EVM
|
|
tristate "SoC Audio support for OMAP2EVM board"
|
|
depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP2EVM
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y if you want to add support for SoC audio on the omap2evm board.
|
|
|
|
config SND_OMAP_SOC_OMAP3EVM
|
|
tristate "SoC Audio support for OMAP3EVM board"
|
|
depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP3EVM
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y if you want to add support for SoC audio on the omap3evm board.
|
|
|
|
config SND_OMAP_SOC_SDP3430
|
|
tristate "SoC Audio support for Texas Instruments SDP3430"
|
|
depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP_3430SDP
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y if you want to add support for SoC audio on Texas Instruments
|
|
SDP3430.
|
|
|
|
config SND_OMAP_SOC_OMAP3_PANDORA
|
|
tristate "SoC Audio support for OMAP3 Pandora"
|
|
depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP3_PANDORA
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y if you want to add support for SoC audio on the OMAP3 Pandora.
|
|
|
|
config SND_OMAP_SOC_OMAP3_BEAGLE
|
|
tristate "SoC Audio support for OMAP3 Beagle"
|
|
depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP3_BEAGLE
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y if you want to add support for SoC audio on the Beagleboard.
|
|
|
|
config SND_OMAP_SOC_ZOOM2
|
|
tristate "SoC Audio support for Zoom2"
|
|
depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP_ZOOM2
|
|
select SND_OMAP_SOC_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y if you want to add support for Soc audio on Zoom2 board.
|
|
|