ASoC: Samsung: Add common I2S driver
The I2S controllers since S3C64XX are incremental revisions, with a new feature added to the last one. The programming i/f doesn't conflict between these revisions, so it is possible to have one common driver that could manage various versions of I2S (v3, 4 & 5) Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
0068402c58
commit
1c7ac01807
4 changed files with 1290 additions and 0 deletions
|
@ -41,6 +41,9 @@ config SND_S5P_SOC_SPDIF
|
|||
tristate
|
||||
select SND_SOC_SPDIF
|
||||
|
||||
config SND_SAMSUNG_I2S
|
||||
tristate
|
||||
|
||||
config SND_S3C24XX_SOC_NEO1973_WM8753
|
||||
tristate "SoC I2S Audio support for NEO1973 - WM8753"
|
||||
depends on SND_S3C24XX_SOC && MACH_NEO1973_GTA01
|
||||
|
|
|
@ -8,6 +8,7 @@ snd-soc-s3c64xx-i2s-v4-objs := s3c64xx-i2s-v4.o
|
|||
snd-soc-s3c-i2s-v2-objs := s3c-i2s-v2.o
|
||||
snd-soc-samsung-spdif-objs := spdif.o
|
||||
snd-soc-pcm-objs := pcm.o
|
||||
snd-soc-i2s-objs := i2s.o
|
||||
|
||||
obj-$(CONFIG_SND_S3C24XX_SOC) += snd-soc-s3c24xx.o
|
||||
obj-$(CONFIG_SND_S3C24XX_SOC_I2S) += snd-soc-s3c24xx-i2s.o
|
||||
|
@ -18,6 +19,7 @@ obj-$(CONFIG_SND_S3C64XX_SOC_I2S_V4) += snd-soc-s3c64xx-i2s-v4.o
|
|||
obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-v2.o
|
||||
obj-$(CONFIG_SND_S5P_SOC_SPDIF) += snd-soc-samsung-spdif.o
|
||||
obj-$(CONFIG_SND_S3C_SOC_PCM) += snd-soc-pcm.o
|
||||
obj-$(CONFIG_SND_SAMSUNG_I2S) += snd-soc-i2s.o
|
||||
|
||||
# S3C24XX Machine Support
|
||||
snd-soc-jive-wm8750-objs := jive_wm8750.o
|
||||
|
|
1256
sound/soc/s3c24xx/i2s.c
Normal file
1256
sound/soc/s3c24xx/i2s.c
Normal file
File diff suppressed because it is too large
Load diff
29
sound/soc/s3c24xx/i2s.h
Normal file
29
sound/soc/s3c24xx/i2s.h
Normal file
|
@ -0,0 +1,29 @@
|
|||
/* sound/soc/s3c24xx/i2s.h
|
||||
*
|
||||
* ALSA SoC Audio Layer - Samsung I2S Controller driver
|
||||
*
|
||||
* Copyright (c) 2010 Samsung Electronics Co. Ltd.
|
||||
* Jaswinder Singh <jassi.brar@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __SND_SOC_SAMSUNG_I2S_H
|
||||
#define __SND_SOC_SAMSUNG_I2S_H
|
||||
|
||||
/*
|
||||
* Maximum number of I2S blocks that any SoC can have.
|
||||
* The secondary interface of a CPU dai(if there exists any),
|
||||
* is indexed at [cpu-dai's ID + SAMSUNG_I2S_SECOFF]
|
||||
*/
|
||||
#define SAMSUNG_I2S_SECOFF 4
|
||||
|
||||
#define SAMSUNG_I2S_DIV_BCLK 1
|
||||
|
||||
#define SAMSUNG_I2S_RCLKSRC_0 0
|
||||
#define SAMSUNG_I2S_RCLKSRC_1 1
|
||||
#define SAMSUNG_I2S_CDCLK 2
|
||||
|
||||
#endif /* __SND_SOC_SAMSUNG_I2S_H */
|
Loading…
Reference in a new issue