ASoC: S3C2412 IIS driver
PATCH 1/1 ASoC: S3C2412 IIS driver
S3C2412 SoC IIS support for ALSA/ASoC
sound/soc/s3c24xx/Kconfig +3 -0
@@ -10,6 +10,9 @@ config SND_S3C24XX_SOC config SND_S3C24XX_SOC_I2S tristate +config SND_S3C2412_SOC_I2S + tristate + config SND_S3C2443_SOC_AC97 tristate select AC97_BUS
sound/soc/s3c24xx/Makefile +2 -0
@@ -1,11 +1,13 @@ # S3c24XX Platform Support snd-soc-s3c24xx-objs := s3c24xx-pcm.o snd-soc-s3c24xx-i2s-objs := s3c24xx-i2s.o +snd-soc-s3c2412-i2s-objs := s3c2412-i2s.o snd-soc-s3c2443-ac97-objs := s3c2443-ac97.o obj-$(CONFIG_SND_S3C24XX_SOC) += snd-soc-s3c24xx.o obj-$(CONFIG_SND_S3C24XX_SOC_I2S) += snd-soc-s3c24xx-i2s.o obj-$(CONFIG_SND_S3C2443_SOC_AC97) += snd-soc-s3c2443-ac97.o +obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o # S3C24XX Machine Support snd-soc-neo1973-wm8753-objs := neo1973_wm8753.o
sound/soc/s3c24xx/s3c2412-i2s.c +686 -0
686 lines not on this page · raw message
sound/soc/s3c24xx/s3c2412-i2s.h +38 -0
@@ -0,0 +1,38 @@ +/* sound/soc/s3c24xx/s3c2412-i2s.c +* +* ALSA Soc Audio Layer - S3C2412 I2S driver +* +* Copyright (c) 2007 Simtec Electronics +* http://armlinux.simtec.co.uk/ +* Ben Dooks <[email protected]> +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +*/ + +#ifndef __SND_SOC_S3C24XX_S3C2412_I2S_H +#define __SND_SOC_S3C24XX_S3C2412_I2S_H __FILE__ + +#define S3C2412_DIV_BCLK (1) +#define S3C2412_DIV_RCLK (2) +#define S3C2412_DIV_PRESCALER (3) + +#define S3C2412_CLKSRC_PCLK (0) +#define S3C2412_CLKSRC_I2SCLK (1) + +extern struct clk *s3c2412_get_iisclk (void ); + +extern struct snd_soc_cpu_dai s3c2412_i2s_dai; + +struct s3c2412_rate_calc { +unsigned int clk_div;/* for prescaler */ +unsigned int fs_div;/* for root frame clock */ +}; + +extern int s3c2412_iis_calc_rate (struct s3c2412_rate_calc *info, +unsigned int *fstab, +unsigned int rate,struct clk *clk); + +#endif /* __SND_SOC_S3C24XX_S3C2412_I2S_H */
Quoted 3 lines · Ben Dooks
S3C2412 SoC IIS support for ALSA/ASoC
Signed-off-by Ben Dooks <[email protected]>
Looks good, thanks - I've applied this to the linux-2.6-asoc tree with some minor checkpatch.pl cleanups (everything except the line lengths).
I did notice these:
Review
Quoted 3 lines
(quoted diff) +2
-0+#define bit_set(v,b) (((v) & (b)) ? 1 : 0) +#define ABS(x) (((x) < 0) ? (-(x)) : (x))
which look like they ought to be hoisted out into generic code.
At Thu, 22 Nov 2007 13:06:19 +0000,
Quoted 12 lines · Mark Brown
Quoted 3 lines · Ben Dooks
S3C2412 SoC IIS support for ALSA/ASoC
Signed-off-by Ben Dooks <[email protected]>Signed-off-by Mark Brown <[email protected]>Looks good, thanks - I've applied this to the linux-2.6-asoc tree with some minor checkpatch.pl cleanups (everything except the line lengths).
Quoted 7 lines
I did notice these:
Review
Quoted 3 lines
(quoted diff) +2
-0+#define bit_set(v,b) (((v) & (b)) ? 1 : 0) +#define ABS(x) (((x) < 0) ? (-(x)) : (x))which look like they ought to be hoisted out into generic code.
Yes, at least, we have already abs() in linux/kernel.h. Not sure about bit_set(), though.
Takashi