summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/ak4535.h
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-06-23 15:51:28 +0200
committerJaroslav Kysela <perex@perex.cz>2008-06-26 09:01:58 +0200
commit796d2ca84859d1fdb11ff06cd9707ffab5642fca (patch)
tree720b4ddfb75243601774bf5d9f617c6dcf4711a2 /sound/soc/codecs/ak4535.h
parentALSA: PCI168 snd-azt3328: some more fixups (diff)
downloadlinux-796d2ca84859d1fdb11ff06cd9707ffab5642fca.tar.xz
linux-796d2ca84859d1fdb11ff06cd9707ffab5642fca.zip
ALSA: ASoC: Add AK4535 driver
The AK4535 codec is included in some HP iPAQ systems. This driver was originally written by Richard Purdie and with some bug fixes from Milan Plzik. While out of tree it has also had some mechanical updates for new APIs and current best practices from Liam Girdwood, Graeme Gregory and Mark Brown. Signed-off-by: Richard Purdie <richard@openedhand.com> Signed-off-by: Milan Plzik <milan.plzik@gmail.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/soc/codecs/ak4535.h')
-rw-r--r--sound/soc/codecs/ak4535.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/sound/soc/codecs/ak4535.h b/sound/soc/codecs/ak4535.h
new file mode 100644
index 000000000000..fc686ddf753a
--- /dev/null
+++ b/sound/soc/codecs/ak4535.h
@@ -0,0 +1,46 @@
+/*
+ * ak4535.h -- AK4535 Soc Audio driver
+ *
+ * Copyright 2005 Openedhand Ltd.
+ *
+ * Author: Richard Purdie <richard@openedhand.com>
+ *
+ * Based on wm8753.h
+ *
+ * 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 _AK4535_H
+#define _AK4535_H
+
+/* AK4535 register space */
+
+#define AK4535_PM1 0x0
+#define AK4535_PM2 0x1
+#define AK4535_SIG1 0x2
+#define AK4535_SIG2 0x3
+#define AK4535_MODE1 0x4
+#define AK4535_MODE2 0x5
+#define AK4535_DAC 0x6
+#define AK4535_MIC 0x7
+#define AK4535_TIMER 0x8
+#define AK4535_ALC1 0x9
+#define AK4535_ALC2 0xa
+#define AK4535_PGA 0xb
+#define AK4535_LATT 0xc
+#define AK4535_RATT 0xd
+#define AK4535_VOL 0xe
+#define AK4535_STATUS 0xf
+
+#define AK4535_CACHEREGNUM 0x10
+
+struct ak4535_setup_data {
+ unsigned short i2c_address;
+};
+
+extern struct snd_soc_codec_dai ak4535_dai;
+extern struct snd_soc_codec_device soc_codec_dev_ak4535;
+
+#endif