aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/pxa
Commit message (Collapse)AuthorAge
* ASoC: UDA1380: refactor device registrationPhilipp Zabel2009-06-15
| | | | | | | | | | | | | | This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c5 "ASoC: Refactor WM8731 device registration" to make UDA1380 use standard device instantiation. Similarly, the I2C device registration temporarily moves into the magician machine driver before it will find its final resting place in the board file. At the same time, platform specific configuration is moved to platform data and common power/reset GPIO handling moves into the codec driver. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: remove duplicated code on pxa-ssp.cDaniel Ribeiro2009-06-11
| | | | | | | | | | | | * We don't need to write the registers twice, remove the first write. * DAIFMT_INV switch is duplicated inside DAIFMT_FORMAT switch, move it out. (This patch is for Mark's for-2.6.32 branch, I have not checked if the code is duplicated on current 2.6.30) Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: correct print specifiers for unsignedsRoel Kluin2009-05-28
| | | | | | | | 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: Optimize switch/case in magician.cTakashi Iwai2009-05-15
| | | | | | | | | Use default to optimize the switch/case in magicial_playback_hw_params(), which also fixes the compile warnings below: sound/soc/pxa/magician.c:89: warning: 'acds' may be used uninitialized in this function sound/soc/pxa/magician.c:89: warning: 'acps' may be used uninitialized in this function Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: pxa2xx-i2s: Fix suspend/resumeKarl Beldan2009-05-14
| | | | | | | | | | | | | pxa2xx_i2s_resume is : - unconditionnaly setting SACR0_ENB - unsetting SACR0_ENB in saved SACR0 pxa_i2s.sacr0 fix these. In pxa2xx_i2s_{resume,suspend}, save/restore registers even when !dai->active. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: pxa2xx-i2s: Fix inappropriate release of i2s clockKarl Beldan2009-05-14
| | | | | | | | | i2s_clk is 'put' for no reason in pxa2xx_i2s_shutdown. Now we 'get' i2s_clk at probe and 'put' it at driver removal or when probe fails. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separatelyKarl Beldan2009-05-14
| | | | | | | | | | - hw_params enables both RPL and REC functions each time : Enable the appropriate function in pxa2xx_i2s_trigger. - pxa2xx_i2s_shutdown disables i2s anytime one of RPL or REC function is off : Turn it off only when both functions are off. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: pxa2xx-i2s: Proper hw initializationKarl Beldan2009-05-14
| | | | | | | | | | | | Make sure we are in a know good state at end of probe : Reset FIFO logic and registers, and make sure REC and RPL functions along with FIFO service are disabled (SACR0_RST enables REC and RPL). Resetting loses current settings so remove reset from stream startup. Now reset occurs only at probe. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Enforce symmetric rates for PXA2xx I2SMark Brown2009-05-12
| | | | | | There is a single I2S_SYNC pin on the chip. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: em-x270: make the driver support also eXeda and CM-X300 machinesMike Rapoport2009-05-12
| | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge commit 'takashi/topic/asoc' into for-2.6.31Mark Brown2009-05-05
|\
| * Merge branch 'fix/asoc' into topic/asocTakashi Iwai2009-05-04
| |\
| | * Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2009-04-24
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5460/1: Orion: reduce namespace pollution [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config [ARM] 5457/1: mach-imx gpio buildfix [ARM] 5456/1: add sys_preadv and sys_pwritev [ARM] pxa/pcm990: start external GPIOs immediately after built-in ones [ARM] pxa/palm27x: General fix for Palm27x aSoC driver [ARM] pxa/mioa701: use GPIO95 as AC97 reset line [ARM] pxa: merge AC97 platform data structures [ARM] pxa/magician: remove un-necessary #include of pxa-regs.h and hardware.h
| | | * Merge branch 'fix' of ↵Russell King2009-04-20
| | | |\ | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6
| | | | * [ARM] pxa/palm27x: General fix for Palm27x aSoC driverMarek Vasut2009-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, this patch makes the palm27x asoc driver a little more sane. Also, since all affected devices use GPIO95 as AC97_nRESET, this patch sets that properly. Affected are PalmT5, TX and LifeDrive. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| | | | * [ARM] pxa/magician: remove un-necessary #include of pxa-regs.h and hardware.hEric Miao2009-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Philipp Zabel <philipp.zabel@gmail.com> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | Merge branch 'fix/asoc' into for-linusTakashi Iwai2009-04-21
| | |\ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | * fix/asoc: ASoC: Fix warning in wm9705 ASoC: OMAP: Update contact addresses ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR
| | * | | Merge branch 'fix/asoc' into for-linusTakashi Iwai2009-04-19
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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: IMote2 ASoC SupportJonathan Cameron2009-05-05
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the ASoC side of the board support for the Crossbow IMB400 daughter board. Thanks to Crossbow for considerable assistance. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | ASoC: change stereo/mono to 32-bit/16-bit for pxa-sspEric Miao2009-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original idea came from pHilipp, and this makes the code looks more consistent. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | ASoC: simplify the SSP DMA parameters settings by run-time generationEric Miao2009-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SSP DMA parameters can actually be easily generated at run-time since they are almost similar except for the FIFO width and direction. Another benefit is the re-use of information from 'struct ssp_device', like SSDR physical FIFO address and DRCMR register index for both directions. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Reviewed-by: pHilipp Zabel <philipp.zabel@gmail.com>
* | | | | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-20
|\ \ \ \ \ | | |_|/ / | |/| | |
| * | | | ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCRPhilipp Zabel2009-04-17
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those macros are just screwed as soon as CONFIG_PXA25x is enabled. This patch - changes ssp_set_scr to take an ssp_dev pointer instead of ssp_device - adds a corresponding ssp_get_scr function. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-16
|\| | |
| * | | ASoC: pxa-ssp: allow setting of dai format 0Daniel Mack2009-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pxa_ssp_set_dai_fmt() currently has an early exit if the desired format equals the current configuration. This is correct behaviour unless this function is called with a zero value parameter for the first time. Zero is a valid value for this function, but the early exit is bogus in this case. Hence, set priv->dai_fmt to -1 in the beginning so we can configure the port. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: pHilipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-14
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch 'for-2.6.30' of ↵Takashi Iwai2009-04-14
| |\| | | | |/ | |/| | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| * | Merge branch 'for-linus' of ↵Linus Torvalds2009-04-07
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (36 commits) ALSA: hda - Add VREF powerdown sequence for another board ALSA: oss - volume control for CSWITCH and CROUTE ALSA: hda - add missing comma in ad1884_slave_vols sound: usb-audio: allow period sizes less than 1 ms sound: usb-audio: save data packet interval in audioformat structure sound: usb-audio: remove check_hw_params_convention() sound: usb-audio: show sample format width in proc file ASoC: fsl_dma: Pass the proper device for dma mapping routines ASoC: Fix null dereference in ak4535_remove() ALSA: hda - enable SPDIF output for Intel DX58SO board ALSA: snd-atmel-abdac: increase periods_min to 6 instead of 4 ALSA: snd-atmel-abdac: replace bus_id with dev_name() ALSA: snd-atmel-ac97c: replace bus_id with dev_name() ALSA: snd-atmel-ac97c: cleanup registers when removing driver ALSA: snd-atmel-ac97c: do a proper reset of the external codec ALSA: snd-atmel-ac97c: enable interrupts to catch events for error reporting ALSA: snd-atmel-ac97c: set correct size for buffer hardware parameter ALSA: snd-atmel-ac97c: do not overwrite OCA and ICA when assigning channels ALSA: snd-atmel-ac97c: remove dead break statements after return in switch case ALSA: snd-atmel-ac97c: cleanup register definitions ...
| | * \ Merge branch 'topic/asoc' into for-linusTakashi Iwai2009-04-05
| | |\ \
| * | | | dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)Yang Hongyang2009-04-07
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | | Merge branch 'origin' into develRussell King2009-03-28
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: sound/soc/pxa/pxa2xx-i2s.c
| * | | | [ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.hEric Miao2009-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pxa-regs.h and hardware.h are not intended for use directly in driver code, remove those unnecessary references. Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | | | [ARM] pxa: move DMA registers definitions into <mach/dma.h>Eric Miao2009-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Driver code where pxa_request_dma() is called will most likely reference DMA registers as well, and it is really unnecessary to include pxa-regs.h just for this. Move the definitions into <mach/dma.h> and make relevant drivers include it instead of <mach/pxa-regs.h>. 2. Introduce DMAC_REGS_VIRT as the virtual address base for these DMA registers. This allows later processors to re-use the same IP while registers may start at different I/O address. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | | | | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-13
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.hEric Miao2009-04-09
| | |_|/ | |/| | | | | | | | | | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* / | | ASoC: pxa-ssp.c fix clock/frame invertDaniel Ribeiro2009-04-13
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCMODE(0): Data Driven (Falling), Data Sampled (Rising), Idle State (Low) SCMODE(1): Data Driven (Rising), Data Sampled (Falling), Idle State (Low) SCMODE(2): Data Driven (Rising), Data Sampled (Falling), Idle State (High) SCMODE(3): Data Driven (Falling), Data Sampled (Rising), Idle State (High) SCMODE(3) does not invert the clock polarity compared to the default SCMODE(0). This patch also adds all possible NF/IF, NB/IB combinations to the DSP_A and DSP_B modes. Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Add Magician machine supportPhilipp Zabel2009-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HTC Magician has a Philips UDA1380 codec connected via SSP1 (playback) and I2S (capture). There is a flip-flop between the SSP frame clock output and the codec's word select input pin. To make the codec see proper I2S input, the SSP has to send two frames per sample. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: pxa-ssp: Use 16-bit DMA for magician stereoPhilipp Zabel2009-04-02
| |/ |/| | | | | | | | | | | | | | | Now magician and similar boards can use network mode with only one active slot to explicitly set 16 bit frame width, even for S16_LE stereo sound. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'pxa-ssp' into for-2.6.30Mark Brown2009-03-17
|\ \
| * | ASoC: Fix Zylonite for non-networked SSP modeMark Brown2009-03-14
| | | | | | | | | | | | | | | | | | This also simplifies the code a bit. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Fix non-networked I2S mode for PXA SSPMark Brown2009-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two issues are fixed here: - I2S transmits the left frame with the clock low but I don't seem to get LRCLK out without SFRMDLY being set so invert SFRMP and set a delay. - I2S has a clock cycle prior to the first data byte in each channel so we need to delay the data by one cycle. Tested-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: switch PXA SSP driver from network mode to PSPDaniel Mack2009-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches the pxa ssp port usage from network mode to PSP mode. Removed some comments and checks for configured TDM channels. A special case is added to support configuration where BCLK = 64fs. We need to do some black magic in this case which doesn't look nice but there is unfortunately no other option than that. Diagnosed-by: Tim Ruetz <tim@caiaq.de> Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Each PXA AC97 DAI needs a separate opsMark Brown2009-03-16
|/ / | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.Philipp Zabel2009-03-12
| | | | | | | | | | | | | | | | | | The drivers are basically duplicating the same code over and over. As snd_soc_cnew is going to be made static some time after the next merge window, we might as well convert them now. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Merge dai_ops factor outMark Brown2009-03-11
|\ \ | | | | | | | | | | | | | | | | | | | | | Merge Eric Maio's patch to merge snd_soc_dai_ops out of line. Fixed merge issues and updated drivers, plus an issue with the ops for the two s3c2443 AC97 DAIs having been merged. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: make ops a pointer in 'struct snd_soc_dai'Eric Miao2009-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Considering the fact that most cpu_dai or codec_dai are using a same 'snd_soc_dai_ops' for several similar interfaces, 'ops' would be better made a pointer instead, to make sharing easier and code a bit cleaner. The patch below is rather preliminary since the asoc tree is being actively developed, and this touches almost every piece of code, (and possibly many others in development need to be changed as well). Building of all codecs are OK, yet to every SoC, I didn't test that. Signed-off-by: Eric Miao <eric.miao@marvell.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: don't touch pxa-ssp registers when stream is runningDaniel Mack2009-03-10
| | | | | | | | | | | | | | | | | | | | | | | | In pxa_ssp_set_dai_fmt(), check whether there is anything to do at all. If there would be but the SSP port is in use already, bail out. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Convert PXA AC97 driver to probe with the platform deviceMark Brown2009-03-09
| | | | | | | | | | | | | | | | | | | | | This will break any boards that don't register the AC97 controller device due to using ASoC. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Fix name of register bit in pxa-sspDaniel Mack2009-03-06
| | | | | | | | | | | | | | | | | | | | | | | | A bit in PXA's SSCR0 register was erroneously named ADC but its name is in fact ACS (audio clock select). Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Use network mode with 2 slots for 16-bit stereo in pxa-ssp/ZylonitePhilipp Zabel2009-03-03
|/ / | | | | | | | | | | | | | | | | | | | | | | | | For consistency with 24-bit and 32-bit modes, don't send 16-bit stereo in one 32-bit transfer. Use 2 slots instead on Zylonite. It should result in exactly the same behaviour. Now it is possible to use 16-bit single slot transfers in pxa-ssp, which are needed for Magician to get two frame clock pulses per sample (one for each channel). Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Tested-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>