aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-09-22 03:56:12 -0400
committerTakashi Iwai <tiwai@suse.de>2011-09-22 03:56:12 -0400
commitaf1910a817c5ad52c32dddacc1744cfa1b35889e (patch)
tree2d6504a2ac5971bb84e0172bbdd309b781048849 /include/sound
parent5495ffbd7b56d8bffebc5e30f03ea374590f1bb4 (diff)
parentf648de832dbf6d1947ce5a7c0ed24a3a71d8545b (diff)
Merge branch 'topic/asoc' into topic/remove-irqf_disable
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/adau1373.h34
-rw-r--r--include/sound/saif.h16
-rw-r--r--include/sound/soc-dapm.h2
-rw-r--r--include/sound/soc.h16
4 files changed, 65 insertions, 3 deletions
diff --git a/include/sound/adau1373.h b/include/sound/adau1373.h
new file mode 100644
index 000000000000..1b19c7666574
--- /dev/null
+++ b/include/sound/adau1373.h
@@ -0,0 +1,34 @@
1/*
2 * Analog Devices ADAU1373 Audio Codec drive
3 *
4 * Copyright 2011 Analog Devices Inc.
5 * Author: Lars-Peter Clausen <lars@metafoo.de>
6 *
7 * Licensed under the GPL-2 or later.
8 */
9
10#ifndef __SOUND_ADAU1373_H__
11#define __SOUND_ADAU1373_H__
12
13enum adau1373_micbias_voltage {
14 ADAU1373_MICBIAS_2_9V = 0,
15 ADAU1373_MICBIAS_2_2V = 1,
16 ADAU1373_MICBIAS_2_6V = 2,
17 ADAU1373_MICBIAS_1_8V = 3,
18};
19
20#define ADAU1373_DRC_SIZE 13
21
22struct adau1373_platform_data {
23 bool input_differential[4];
24 bool lineout_differential;
25 bool lineout_ground_sense;
26
27 unsigned int num_drc;
28 uint8_t drc_setting[3][ADAU1373_DRC_SIZE];
29
30 enum adau1373_micbias_voltage micbias1;
31 enum adau1373_micbias_voltage micbias2;
32};
33
34#endif
diff --git a/include/sound/saif.h b/include/sound/saif.h
new file mode 100644
index 000000000000..d0e0de7984ec
--- /dev/null
+++ b/include/sound/saif.h
@@ -0,0 +1,16 @@
1/*
2 * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef __SOUND_SAIF_H__
10#define __SOUND_SAIF_H__
11
12struct mxs_saif_platform_data {
13 int (*init) (void);
14 int (*get_master_id) (unsigned int saif_id);
15};
16#endif
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index e0583b7769cb..350b1b395cac 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -524,6 +524,8 @@ struct snd_soc_dapm_context {
524 enum snd_soc_bias_level target_bias_level; 524 enum snd_soc_bias_level target_bias_level;
525 struct list_head list; 525 struct list_head list;
526 526
527 int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);
528
527#ifdef CONFIG_DEBUG_FS 529#ifdef CONFIG_DEBUG_FS
528 struct dentry *debugfs_dapm; 530 struct dentry *debugfs_dapm;
529#endif 531#endif
diff --git a/include/sound/soc.h b/include/sound/soc.h
index aa19f5a32ba8..24e17be38c19 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -19,6 +19,7 @@
19#include <linux/workqueue.h> 19#include <linux/workqueue.h>
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/regmap.h>
22#include <sound/core.h> 23#include <sound/core.h>
23#include <sound/pcm.h> 24#include <sound/pcm.h>
24#include <sound/control.h> 25#include <sound/control.h>
@@ -260,6 +261,7 @@ extern struct snd_ac97_bus_ops soc_ac97_ops;
260enum snd_soc_control_type { 261enum snd_soc_control_type {
261 SND_SOC_I2C = 1, 262 SND_SOC_I2C = 1,
262 SND_SOC_SPI, 263 SND_SOC_SPI,
264 SND_SOC_REGMAP,
263}; 265};
264 266
265enum snd_soc_compress_type { 267enum snd_soc_compress_type {
@@ -274,7 +276,7 @@ enum snd_soc_pcm_subclass {
274}; 276};
275 277
276int snd_soc_codec_set_sysclk(struct snd_soc_codec *codec, int clk_id, 278int snd_soc_codec_set_sysclk(struct snd_soc_codec *codec, int clk_id,
277 unsigned int freq, int dir); 279 int source, unsigned int freq, int dir);
278int snd_soc_codec_set_pll(struct snd_soc_codec *codec, int pll_id, int source, 280int snd_soc_codec_set_pll(struct snd_soc_codec *codec, int pll_id, int source,
279 unsigned int freq_in, unsigned int freq_out); 281 unsigned int freq_in, unsigned int freq_out);
280 282
@@ -576,6 +578,7 @@ struct snd_soc_codec {
576 const void *reg_def_copy; 578 const void *reg_def_copy;
577 const struct snd_soc_cache_ops *cache_ops; 579 const struct snd_soc_cache_ops *cache_ops;
578 struct mutex cache_rw_mutex; 580 struct mutex cache_rw_mutex;
581 int val_bytes;
579 582
580 /* dapm */ 583 /* dapm */
581 struct snd_soc_dapm_context dapm; 584 struct snd_soc_dapm_context dapm;
@@ -607,7 +610,7 @@ struct snd_soc_codec_driver {
607 610
608 /* codec wide operations */ 611 /* codec wide operations */
609 int (*set_sysclk)(struct snd_soc_codec *codec, 612 int (*set_sysclk)(struct snd_soc_codec *codec,
610 int clk_id, unsigned int freq, int dir); 613 int clk_id, int source, unsigned int freq, int dir);
611 int (*set_pll)(struct snd_soc_codec *codec, int pll_id, int source, 614 int (*set_pll)(struct snd_soc_codec *codec, int pll_id, int source,
612 unsigned int freq_in, unsigned int freq_out); 615 unsigned int freq_in, unsigned int freq_out);
613 616
@@ -619,7 +622,7 @@ struct snd_soc_codec_driver {
619 int (*volatile_register)(struct snd_soc_codec *, unsigned int); 622 int (*volatile_register)(struct snd_soc_codec *, unsigned int);
620 int (*readable_register)(struct snd_soc_codec *, unsigned int); 623 int (*readable_register)(struct snd_soc_codec *, unsigned int);
621 int (*writable_register)(struct snd_soc_codec *, unsigned int); 624 int (*writable_register)(struct snd_soc_codec *, unsigned int);
622 short reg_cache_size; 625 unsigned int reg_cache_size;
623 short reg_cache_step; 626 short reg_cache_step;
624 short reg_word_size; 627 short reg_word_size;
625 const void *reg_cache_default; 628 const void *reg_cache_default;
@@ -630,10 +633,14 @@ struct snd_soc_codec_driver {
630 /* codec bias level */ 633 /* codec bias level */
631 int (*set_bias_level)(struct snd_soc_codec *, 634 int (*set_bias_level)(struct snd_soc_codec *,
632 enum snd_soc_bias_level level); 635 enum snd_soc_bias_level level);
636 bool idle_bias_off;
633 637
634 void (*seq_notifier)(struct snd_soc_dapm_context *, 638 void (*seq_notifier)(struct snd_soc_dapm_context *,
635 enum snd_soc_dapm_type, int); 639 enum snd_soc_dapm_type, int);
636 640
641 /* codec stream completion event */
642 int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);
643
637 /* probe ordering - for components with runtime dependencies */ 644 /* probe ordering - for components with runtime dependencies */
638 int probe_order; 645 int probe_order;
639 int remove_order; 646 int remove_order;
@@ -669,6 +676,9 @@ struct snd_soc_platform_driver {
669 /* platform stream ops */ 676 /* platform stream ops */
670 struct snd_pcm_ops *ops; 677 struct snd_pcm_ops *ops;
671 678
679 /* platform stream completion event */
680 int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);
681
672 /* probe ordering - for components with runtime dependencies */ 682 /* probe ordering - for components with runtime dependencies */
673 int probe_order; 683 int probe_order;
674 int remove_order; 684 int remove_order;