Skip to content

Commit

Permalink
ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec boards
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ben Dooks authored and Mark Brown committed Aug 21, 2009
1 parent a0a499c commit 14412ac
Show file tree
Hide file tree
Showing 6 changed files with 606 additions and 0 deletions.
37 changes: 37 additions & 0 deletions arch/arm/plat-s3c/include/plat/audio-simtec.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/* arch/arm/plat-s3c/include/plat/audio-simtec.h
*
* Copyright 2008 Simtec Electronics
* http://armlinux.simtec.co.uk/
* Ben Dooks <ben@simtec.co.uk>
*
* 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.
*
* Simtec Audio support.
*/

/**
* struct s3c24xx_audio_simtec_pdata - platform data for simtec audio
* @use_mpllin: Select codec clock from MPLLin
* @output_cdclk: Need to output CDCLK to the codec
* @have_mic: Set if we have a MIC socket
* @have_lout: Set if we have a LineOut socket
* @amp_gpio: GPIO pin to enable the AMP
* @amp_gain: Option GPIO to control AMP gain
*/
struct s3c24xx_audio_simtec_pdata {
unsigned int use_mpllin:1;
unsigned int output_cdclk:1;

unsigned int have_mic:1;
unsigned int have_lout:1;

int amp_gpio;
int amp_gain[2];

void (*startup)(void);
};

extern int simtec_audio_add(const char *codec_name,
struct s3c24xx_audio_simtec_pdata *pdata);
12 changes: 12 additions & 0 deletions sound/soc/s3c24xx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,15 @@ config SND_S3C24XX_SOC_S3C24XX_UDA134X
select SND_S3C24XX_SOC_I2S
select SND_SOC_L3
select SND_SOC_UDA134X

config SND_S3C24XX_SOC_SIMTEC
tristate
help
Internal node for common S3C24XX/Simtec suppor

config SND_S3C24XX_SOC_SIMTEC_TLV320AIC23
tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards"
depends on SND_S3C24XX_SOC
select SND_S3C24XX_SOC_I2S
select SND_SOC_TLV320AIC23
select SND_S3C24XX_SOC_SIMTEC
4 changes: 4 additions & 0 deletions sound/soc/s3c24xx/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,14 @@ snd-soc-neo1973-gta02-wm8753-objs := neo1973_gta02_wm8753.o
snd-soc-smdk2443-wm9710-objs := smdk2443_wm9710.o
snd-soc-ln2440sbc-alc650-objs := ln2440sbc_alc650.o
snd-soc-s3c24xx-uda134x-objs := s3c24xx_uda134x.o
snd-soc-s3c24xx-simtec-objs := s3c24xx_simtec.o
snd-soc-s3c24xx-simtec-tlv320aic23-objs := s3c24xx_simtec_tlv320aic23.o

obj-$(CONFIG_SND_S3C24XX_SOC_JIVE_WM8750) += snd-soc-jive-wm8750.o
obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753) += snd-soc-neo1973-wm8753.o
obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753) += snd-soc-neo1973-gta02-wm8753.o
obj-$(CONFIG_SND_S3C24XX_SOC_SMDK2443_WM9710) += snd-soc-smdk2443-wm9710.o
obj-$(CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650) += snd-soc-ln2440sbc-alc650.o
obj-$(CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X) += snd-soc-s3c24xx-uda134x.o
obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC) += snd-soc-s3c24xx-simtec.o
obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC_TLV320AIC23) += snd-soc-s3c24xx-simtec-tlv320aic23.o
Loading

0 comments on commit 14412ac

Please sign in to comment.