Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a161d23 authored by Manuel Lauss's avatar Manuel Lauss Committed by Jaroslav Kysela
Browse files

ALSA: ASoC: Au12x0/Au1550 PSC Audio support



Audio for Au12x0/Au1550 PSCs in AC97 and I2S mode, for ASoC v1 framework.

- DBDMA, AC97 and I2S drivers
- sample AC97 machine code (Db1200)

Signed-off-by: default avatarManuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: default avatarLiam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent bf415345
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -204,6 +204,14 @@ typedef struct psc_i2s {
	u32	psc_i2sudf;
} psc_i2s_t;

#define PSC_I2SCFG_OFFSET	0x08
#define PSC_I2SMASK_OFFSET	0x0C
#define PSC_I2SPCR_OFFSET	0x10
#define PSC_I2SSTAT_OFFSET	0x14
#define PSC_I2SEVENT_OFFSET	0x18
#define PSC_I2SRXTX_OFFSET	0x1C
#define PSC_I2SUDF_OFFSET	0x20

/* I2S Config Register. */
#define PSC_I2SCFG_RT_MASK	(3 << 30)
#define PSC_I2SCFG_RT_FIFO1	(0 << 30)
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ config SND_SOC_AC97_BUS
# All the supported Soc's
source "sound/soc/at32/Kconfig"
source "sound/soc/at91/Kconfig"
source "sound/soc/au1x/Kconfig"
source "sound/soc/pxa/Kconfig"
source "sound/soc/s3c24xx/Kconfig"
source "sound/soc/sh/Kconfig"
+1 −1
Original line number Diff line number Diff line
@@ -2,4 +2,4 @@ snd-soc-core-objs := soc-core.o soc-dapm.o

obj-$(CONFIG_SND_SOC)	+= snd-soc-core.o
obj-$(CONFIG_SND_SOC)	+= codecs/ at32/ at91/ pxa/ s3c24xx/ sh/ fsl/ davinci/
obj-$(CONFIG_SND_SOC)	+= omap/
obj-$(CONFIG_SND_SOC)	+= omap/ au1x/

sound/soc/au1x/Kconfig

0 → 100644
+32 −0
Original line number Diff line number Diff line
##
## Au1200/Au1550 PSC + DBDMA
##
config SND_SOC_AU1XPSC
	tristate "SoC Audio for Au1200/Au1250/Au1550"
	depends on SOC_AU1200 || SOC_AU1550
	help
	  This option enables support for the Programmable Serial
	  Controllers in AC97 and I2S mode, and the Descriptor-Based DMA
	  Controller (DBDMA) as found on the Au1200/Au1250/Au1550 SoC.

config SND_SOC_AU1XPSC_I2S
	tristate

config SND_SOC_AU1XPSC_AC97
	tristate
	select AC97_BUS
	select SND_AC97_CODEC
	select SND_SOC_AC97_BUS


##
## Boards
##
config SND_SOC_SAMPLE_PSC_AC97
	tristate "Sample Au12x0/Au1550 PSC AC97 sound machine"
	depends on SND_SOC_AU1XPSC
	select SND_SOC_AU1XPSC_AC97
	select SND_SOC_AC97_CODEC
	help
	  This is a sample AC97 sound machine for use in Au12x0/Au1550
	  based systems which have audio on PSC1 (e.g. Db1200 demoboard).
+13 −0
Original line number Diff line number Diff line
# Au1200/Au1550 PSC audio
snd-soc-au1xpsc-dbdma-objs := dbdma2.o
snd-soc-au1xpsc-i2s-objs := psc-i2s.o
snd-soc-au1xpsc-ac97-objs := psc-ac97.o

obj-$(CONFIG_SND_SOC_AU1XPSC) += snd-soc-au1xpsc-dbdma.o
obj-$(CONFIG_SND_SOC_AU1XPSC_I2S) += snd-soc-au1xpsc-i2s.o
obj-$(CONFIG_SND_SOC_AU1XPSC_AC97) += snd-soc-au1xpsc-ac97.o

# Boards
snd-soc-sample-ac97-objs := sample-ac97.o

obj-$(CONFIG_SND_SOC_SAMPLE_PSC_AC97) += snd-soc-sample-ac97.o
Loading