summaryrefslogtreecommitdiffstats
path: root/sound/soc/s3c24xx
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: Support WM8580 based audio subsystem on SMDK64xx machinesjassi brar2009-09-193-0/+284
| | | | | | | | | | | | | | New machine driver for WM8580 I2S i/f on SMDK64XX. By default SoC-Slave is set and WM8580 is configured to use it's PLLA to generate clocks from a 12MHz crystal attached to WM8580. [Added dependency on BROKEN since the IISv4 interface hasn't been merged yet, fixed the PLL API usage and removed the disabling of the PLL in the hw_free function since that'll break simultaneous playback and record -- broonie.] Signed-off-by: Jassi <jassi.brar@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-2.6.32' into for-2.6.33Mark Brown2009-09-181-6/+10
|\
| * ASoC: S3C lrsync function made to work with IRQs disabled.Jassi2009-09-151-6/+10
| | | | | | | | | | | | | | | | | | | | | | s3c2412_snd_lrsync() maybe reached with IRQs disabled and if LRCLK is dead due to improper initialization of CPU or CODEC, the system gets stuck in the loop because jiffies may never get updated. Implemented counter based wait mechanism for atleast the same timeout period. Signed-off-by: Jassi <jassi.brar@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Return correct codec clock in s3c64xx-i2sJassi2009-09-181-1/+5
| | | | | | | | | | | | | | | | | | Instead of always returnig pointer to the 'audio-bus' clock, check which clock is used to generate internal clocks and then return it's pointer. Signed-off-by: Jassi <jassi.brar@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add S3C64xx IIS CDCLK source selectionMark Brown2009-09-162-0/+14
| | | | | | | | | | | | | | | | CDCLK can either be an output generated by the CPU, intended for use as the CODEC master clock, or an input (probably from the CODEC) providing a master clock for the IIS block. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: S3C I2S LRCLK polarity option.Jassi2009-09-151-1/+29
| | | | | | | | | | | | | | | | | | 1) Explicitly set LRCLK polarity for I2S Vs LSM/MSB modes. 2) Convert from numerical to bit-field values for BCLK selection. 3) Use proper error checking for return value from clk_get Signed-off-by: Jassi <jassi.brar@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add source argument to PLL configurationMark Brown2009-09-052-2/+2
|/ | | | | | | | | | More and more devices feature PLLs and FLLs with the ability to select between multiple input clocks. In order to better support these devices a new argument, source, has been added to the set_pll() configuration API. Using set_clkdiv() is often difficult due to the need to stop the PLL/FLL before any reconfiguration can be done. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix s3c-i2s-v2 buildMark Brown2009-08-261-0/+1
| | | | | | We now need the PCM header to kick the DMA. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add S3C24xx dependencies for Simtec machinesMark Brown2009-08-261-2/+2
| | | | | | | No point in building them for S3C64xx, certainly no sense in running into build issues there. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: S3C platform: Fix s3c2410_dma_started() called at improper timeShine Liu2009-08-254-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s3c24xx dma has the auto reload feature, when the the trnasfer is done, CURR_TC(DSTAT[19:0], current value of transfer count) reaches 0, and DMA ACK becomes 1, and then, TC(DCON[19:0]) will be loaded into CURR_TC. So the transmission is repeated. IRQ is issued while auto reload occurs. We change the DISRC and DCON[19:0] in the ISR, but at this time, the auto reload has been performed already. The first block is being re-transmitted by the DMA. So we need rewrite the DISRC and DCON[19:0] for the next block immediatly after the this block has been started to be transported. The function s3c2410_dma_started() is for this perpose, which is called in the form of "s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STARTED);" in s3c24xx_pcm_trigger(). But it is not correct. DMA transmission won't start until DMA REQ signal arrived, it is the time s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1) is called in s3c24xx_i2s_trigger(). In the current framework, s3c24xx_pcm_trigger() is always called before s3c24xx_pcm_trigger(). So the s3c2410_dma_started() should be called in s3c24xx_pcm_trigger() after s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1) is called in this function. However, s3c2410_dma_started() is dma related, to call this function we should provide the channel number, which is given by substream->runtime->private_data->params->channel. The private_data points to a struct s3c24xx_runtime_data object, which is define in s3c24xx_pcm.c, so s3c2410_dma_started() can't be called in s3c24xx_i2s.c Fix this by moving the call to signal the DMA started to the DAI drivers. Signed-off-by: Shine Liu <liuxian@redflag-linux.com> Signed-off-by: Shine Liu <shinel@foxmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Select core DMA when building for S3C64xxMark Brown2009-08-241-0/+1
| | | | | | | Ensure that the core DMA support is available when building for S3C64xx. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: S3C24XX: Support for Simtec Hermes boardsBen Dooks2009-08-213-0/+163
| | | | | | | Add support for the tlv320aic3x CODEC on the Simtec Hermes board. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec boardsBen Dooks2009-08-215-0/+569
| | | | | | | | | | Add core support for the range of S3C24XX Simtec boards with TLV320AIC23 CODECs on them. Since there are also boards with similar IIS routing the AMP and the configuration code is placed in a core file for re-use with other CODEC bindings. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: S3C24XX : Align the peroid size to the buffer sizeShine Liu2009-08-201-0/+1
| | | | | | | | | | | | | | | > Then it's a driver bug. If unaligned period size is allowed, it means > that the irq is really generated in that period, not at the buffer > boundary. Otherwise, it must have a proper hw-constraint to align the > period size to the buffer size. This patch will fix the bug metioned in the above mail. Force the peroid size to be aligned with the buffer size. Based and tested on linux-2.6.31-rc6. Signed-off-by: Shine Liu <shinel@foxmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Reenable S3C64xx I2S supportMark Brown2009-08-181-1/+1
| | | | | | | Joonyoung Shim reports that S3C64xx I2S is working on the NCP boards so allow it to be selected in Kconfig. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmciro.com>
* ASoC: Fix data format configuration for S3C64XX IISv2Joonyoung Shim2009-08-181-3/+3
| | | | | | | | | | The data format configuration for S3C64xx IISv2 was hardcoded for IISMOD register. This patch changes to the defined values it. And instead of bits 9 and 10 of IISMOD we should clear bits 13 and 14. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: s3c2443-ac97: convert semaphore to mutexUwe Kleine-König2009-08-081-5/+5
| | | | | | | | | | | | | | | | | This fixes a build failure for 2.6.31-rc4-rt1 (ARCH=arm, s3c2410_defconfig): CC [M] sound/soc/s3c24xx/s3c2443-ac97.o sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: type defaults to 'int' in declaration of 'DECLARE_MUTEX' sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: parameter names (without types) in function declaration sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_read': sound/soc/s3c24xx/s3c2443-ac97.c:59: error: 'ac97_mutex' undeclared (first use in this function) sound/soc/s3c24xx/s3c2443-ac97.c:59: error: (Each undeclared identifier is reported only once sound/soc/s3c24xx/s3c2443-ac97.c:59: error: for each function it appears in.) sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_write': sound/soc/s3c24xx/s3c2443-ac97.c:93: error: 'ac97_mutex' undeclared (first use in this function) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Existing S3C24xx AC97 drivers should depend on S3C24xxMark Brown2009-08-051-2/+2
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'gta02-audio' into for-2.6.32Mark Brown2009-07-303-0/+509
|\
| * ASoC: neo1973_gta02_wm8753: Replace deprecated s3c_gpio calls with gpiolibLars-Peter Clausen2009-07-291-17/+36
| | | | | | | | | | | | | | | | | | With the s3c platform has implementing gpiolib support the s3c_gpio api has been deprecated. This patch gets rid of all s3c_gpio calls and replaces them by using gpiolib. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: neo1973_gta02_wm8753: Replace snd_soc_cnew with snd_soc_add_controls.Lars-Peter Clausen2009-07-291-8/+6
| | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Add Openmoko Neo FreeRunner (GTA02) audio driverMark Brown2009-05-233-0/+492
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver supports the audio subsystem on the Openmoko Neo FreeRunner smartphone, often known by its codename GTA02. The system has a WM8753 connected to a Samsung S3C2442 with an external GPIO controlled speaker amplifier. The driver was originally written by Graeme Gregory and has recieved contributions from Openmoko, myself and members of the Openmoko community. For much of this time the primary Openmoko kernel maintainer was Andy Green. Signed-off-by: Graeme Gregory <graeme@openmoko.com> Signed-off-by: Andy Green <andy@openmoko.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2009-06-144-14/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits) MAINTAINERS: EB110ATX is not ebsa110 MAINTAINERS: update Eric Miao's email address and status fb: add support of LCD display controller on pxa168/910 (base layer) [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines [ARM] 5544/1: Trust PrimeCell resource sizes [ARM] pxa/sharpsl_pm: cleanup of gpio-related code. [ARM] pxa/sharpsl_pm: drop set_irq_type calls [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific [ARM] sa1100: remove unused collie_pm.c [ARM] pxa: fix the conflicting non-static declarations of global_gpios[] [ARM] 5550/1: Add default configure file for w90p910 platform [ARM] 5549/1: Add clock api for w90p910 platform. [ARM] 5548/1: Add gpio api for w90p910 platform [ARM] 5551/1: Add multi-function pin api for w90p910 platform. [ARM] Make ARM_VIC_NR depend on ARM_VIC [ARM] 5546/1: ARM PL022 SSP/SPI driver v3 ARM: OMAP4: SMP: Update defconfig for OMAP4430 ARM: OMAP4: SMP: Enable SMP support for OMAP4430 ...
| * \ [ARM] S3C24XX: Merge devel-gpioBen Dooks2009-05-213-0/+4
| |\ \ | | | | | | | | | | | | Merge branch 'devel-gpio' into for-rmk-devel
| | * | [ARM] S3C24XX: GPIO: Move gpio functions out of <mach/hardware.h>Ben Dooks2009-05-183-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move all the gpio functions out of <mach/hardware.h> as this file is for defining the generic IO base addresses for the kernel IO calls. Make a new header <mach/gpio-fns.h> to take this and include it via the chain from <linux/gpio.h> which is what most of these files should be using (and will be changed as soon as possible). Note, this does make minor changes to some drivers but should not mess up any pending merges. CC: Richard Purdie <rpurdie@rpsys.net> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> CC: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | | [ARM] S3C24XX: Remove hardware specific registers from DMABen Dooks2009-05-011-14/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calls The S3C24XX DMA API channel configuration registers are being passed values comprised of register values which makes it hard to move the API to cover both the S3C24XX and S3C64XX. These values can be calculated from knowing which device the channel is connected to, so remove them from the two calls s3c2410_dma_config and s3c2410_dma_devconfig. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | Merge branch 'fix/asoc' into for-linusTakashi Iwai2009-04-271-1/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix/asoc: ASoC: s3c-i2s-v2 needs to declare a license for modular builds ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991 ASoC: Fix WM8580 volume update handling for large register changes ASoC: Fix offset of freqmode in WM8580 PLL configuration
| * \ \ Merge branch 'fix/asoc' into for-linusTakashi Iwai2009-04-193-15/+17
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix/asoc: ASoC: OMAP: Fix FS polarity in OSK5912 machine driver ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver ASoC: Fix include build error in s3c2412-i2s.c ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate ASoC: Fix jive_wm8750.c build problems ASoC: pxa-ssp: allow setting of dai format 0
* | | | | ASoC: Fix lm4857 controlMark Brown2009-06-101-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf changed semantics of private_value member of kcontrol. This resulted in inability to control amplifier and subsequently in very low output volume. Tested-by: Johannes Schauer <josch@pyneo.org> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | ASoC: correct print specifiers for unsignedsRoel Kluin2009-05-281-2/+2
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Unsigned variables should use `%u' rather than `%d'. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Use platform device resource for S3C64xx IISv2Mark Brown2009-04-301-2/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Staticise txctrl and rxctrl for S3C IISv2Mark Brown2009-04-301-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They aren't used by anything external and aren't prototyped; if any users appear they can be exported again for them. Also report what modes we have a problem with when we encounter invalid mode configurations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Display S3C IISv2 mode and MS errors by defaultMark Brown2009-04-301-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Display the clock rate used as the basis for rate calculationMark Brown2009-04-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Aids debugging. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Allow use of resource from the platform device for S3C IISv2Mark Brown2009-04-301-0/+18
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Fix boot warnings from S3C IISv2Mark Brown2009-04-301-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On startup we try to make sure that the port is quiesced but if the port is already stopped then this will generate a warning about the RX/TX mode configuration. Configure the mode before doing the teardown to suppress these warnings. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bitMark Brown2009-04-302-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The data format configuration for S3C64xx IISv2 is completely different to that for S3C24xx. Instead of a single bit configuration in bit 0 of IISMOD we have format selection in bits 13 and 14 and bit clock rate selection in bits 1 and 2. While we're here add support for 24 bit samples in S3C64xx. At some point it may be desirable to expose the bit clock rate selection to users but given the limited configuration options that may not be required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Make S3C64xx clock export function to return struct clkMark Brown2009-04-302-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the interface usable with the s3c-iis-v2 rate calculator and consistent with S3C2412. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Check for supported CPUs when building s3c-i2s-v2Mark Brown2009-04-301-0/+14
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Fix error message formatting in s3c64xx-i2s driverMark Brown2009-04-301-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Use our registration function for S3C64xxMark Brown2009-04-272-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | Make sure we get the DAI operations initialised. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: s3c-i2s-v2 diagnostic improvementsMark Brown2009-04-271-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Say what invalid values we're seeing when we see an invalid value and ensure that errors are displayed by default. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Enforce symmetric rates for S3C64xx I2S interfaceMark Brown2009-04-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | There is only one LRCLK pin on each interface. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: S3C2412: Failing to get the I2S clock is an errorMark Brown2009-04-241-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Fix S3C64xx IIS device registration and support both portsMark Brown2009-04-242-50/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The S3C64xx IIS code had a number of problems with device registration. The hardware has two IIS ports of which the driver supported only one at once via a single exported DAI, attempting to identify the DAI to use based on the dev->id of the ASoC platform device. As well as limiting the driver to only supporting one IIS port at once this also meant that the ID of the soc-audio device (or in future the card device) had to match the IIS ID. Fix both problems by converting the driver to register the DAIs based on probing of platform devices registered by the arch/arm code, using those platform devices to interact with the clock API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-231-1/+2
|\ \ \ \ | | |_|/ | |/| |
| * | | ASoC: s3c-i2s-v2 needs to declare a license for modular buildsMark Brown2009-04-231-1/+2
| | |/ | |/| | | | | | | | | | | | | It relies on EXPORT_SYMBOL_GPL() symbols. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-163-15/+17
|\ \ \ | |/ / | | / | |/ |/|
| * ASoC: Fix include build error in s3c2412-i2s.cBen Dooks2009-04-161-1/+1
| | | | | | | | | | | | | | | | Fix accidental change of <mach/regs-gpio.h> to <plat/regs-gpio.h> in s3c2412-i2s.c Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Fix s3c-i2s-v2.c snd_soc_dai changesBen Dooks2009-04-161-4/+6
| | | | | | | | | | | | | | | | Fix the build error in s3c-i2s-v2.c caused by a change to the snd_soc_dai ops field. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud