linux/sound/soc/samsung
Sylwester Nawrocki 074b89bb5f ASoC: samsung: i2s: Add clock provider for the I2S internal clocks
This patch adds clock provider (currently only for DT platforms) for
the CODECLKO (CDCLK) gate, RCLKSRC mux and RCLK pre-scaler divider
divider clock. Those all tree clock are only available in the IIS
Multi Audio Interface (I2S0), the regular IIS Bus Interface has only
CDCLK gate clock.

The motivation behind this patch is to expose the I2S internal clocks
which are currently controlled through set_sysclk() through the clk
API, so dedicated sound machine driver per each board can be avoided.

The intention is also to fix the CDCLK gating issue reported by
Daniel Drake:
http://mailman.alsa-project.org/pipermail/alsa-devel/2014-September/081753.html

This patch also reverts commit b97c60abf9
("ASoC: samsung-i2s: Maintain CDCLK settings across i2s_{shutdown/
startup}") The problem that commit attempted to solve only affects
the Odroid X2/U3, which doesn't configure the CDCLK clock in
struct snd_soc_dai_ops hw_params callback and the issue should be
now resolved by using clk API, i.e. having the codec enabling/
disabling the CDCLK clock as required.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-14 19:46:54 +00:00
..
ac97.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
arndale_rt5631.c ASoC: samsung: drop owner assignment from platform_drivers 2014-12-22 12:02:43 +00:00
bells.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
dma.h ASoC: samsung: remove unused DMA data 2014-07-14 19:53:43 +01:00
dmaengine.c ASoC: samsung: s3c24{xx,12}-i2s: port to use generic dmaengine API 2014-06-24 11:57:43 +01:00
goni_wm8994.c ARM: mach-s5p: get rid of all <mach/gpio.h> headers 2014-06-30 21:37:21 +02:00
h1940_uda1380.c ASoC: Fix wrong argument for card remove callbacks 2014-06-03 12:52:21 +02:00
i2s-regs.h ASoC: samsung: add support for exynos7 I2S controller 2014-11-07 10:41:22 +00:00
i2s.c ASoC: samsung: i2s: Add clock provider for the I2S internal clocks 2015-01-14 19:46:54 +00:00
i2s.h ASoC: samsung: Allow setting OP_CLK of the IIS Multi Audio Interface 2014-05-20 23:20:57 +01:00
idma.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
idma.h ASoC: Fix __iomem annotation for IDMA registers 2011-11-29 17:28:16 +00:00
jive_wm8750.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
Kconfig ASoC: Samsung: Add arndale_rt5631 machine driver and binding 2014-11-26 16:44:44 +00:00
littlemill.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
ln2440sbc_alc650.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
lowland.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
Makefile ASoC: Samsung: Add arndale_rt5631 machine driver and binding 2014-11-26 16:44:44 +00:00
neo1973_wm8753.c ASoC: neo1973_wm8753: Automatically disconnected non-connected pins 2014-05-20 23:29:22 +01:00
odroidx2_max98090.c ASoC: samsung: odroidx2: Handle I2S CDCLK clock conditionally 2015-01-14 19:46:54 +00:00
pcm.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
pcm.h
regs-ac97.h ASoC: samsung: Trivial cleanups in header files 2013-12-30 12:05:56 +00:00
regs-i2s-v2.h
regs-iis.h ASoC: samsung: Trivial cleanups in header files 2013-12-30 12:05:56 +00:00
rx1950_uda1380.c ASoC: Fix wrong argument for card remove callbacks 2014-06-03 12:52:21 +02:00
s3c24xx_simtec_hermes.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
s3c24xx_simtec_tlv320aic23.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
s3c24xx_simtec.c ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
s3c24xx_simtec.h
s3c24xx_uda134x.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
s3c24xx-i2s.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
s3c24xx-i2s.h
s3c2412-i2s.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
s3c2412-i2s.h
s3c-i2s-v2.c ASoC: samsung: remove unused DMA data 2014-07-14 19:53:43 +01:00
s3c-i2s-v2.h ASoC: switch over to use snd_soc_register_component() on s3c i2s 2013-03-26 21:57:31 +00:00
smartq_wm8987.c ASoC: Fix wrong argument for card remove callbacks 2014-06-03 12:52:21 +02:00
smdk2443_wm9710.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
smdk_spdif.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
smdk_wm8580.c ASoC: samsung: Use params_width() 2014-05-26 17:04:20 +01:00
smdk_wm8580pcm.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
smdk_wm8994.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
smdk_wm8994pcm.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
smdk_wm9713.c ASoC: Samsung: Do not register samsung audio dma device as pdev 2012-12-07 19:36:07 +09:00
snow.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
spdif.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
spdif.h
speyside.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00
tobermory.c ASoC: samsung: drop owner assignment from platform_drivers 2014-10-20 16:22:13 +02:00