asoc: codecs: Add parent child relation for bolero and tanggu
In bolero and tanggu combination, make bolero parent of tanggu.
Bolero and tanggu can communicate mutually using notifier and
plat_data callback APIs.
Change-Id: Iecd119df7f0ad1ba225c0427f3f42f217146b092
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
diff --git a/asoc/codecs/bolero/bolero-cdc.h b/asoc/codecs/bolero/bolero-cdc.h
index f7e95ee..3e8197d 100644
--- a/asoc/codecs/bolero/bolero-cdc.h
+++ b/asoc/codecs/bolero/bolero-cdc.h
@@ -31,6 +31,20 @@
MCLK_MUX_MAX
};
+enum {
+ BOLERO_ADC0 = 1,
+ BOLERO_ADC1,
+ BOLERO_ADC2,
+ BOLERO_ADC3,
+ BOLERO_ADC_MAX
+};
+
+enum {
+ BOLERO_MACRO_EVT_RX_MUTE = 1, /* for RX mute/unmute */
+ BOLERO_MACRO_EVT_IMPED_TRUE, /* for imped true */
+ BOLERO_MACRO_EVT_IMPED_FALSE, /* for imped false */
+};
+
struct macro_ops {
int (*init)(struct snd_soc_codec *codec);
int (*exit)(struct snd_soc_codec *codec);
@@ -38,6 +52,8 @@
struct device *dev;
struct snd_soc_dai_driver *dai_ptr;
int (*mclk_fn)(struct device *dev, bool enable);
+ int (*event_handler)(struct snd_soc_codec *codec, u16 event,
+ u32 data);
char __iomem *io_base;
};
@@ -52,6 +68,7 @@
int bolero_info_create_codec_entry(
struct snd_info_entry *codec_root,
struct snd_soc_codec *codec);
+void bolero_clear_amic_tx_hold(struct device *dev, u16 adc_n);
#else
static inline int bolero_register_macro(struct device *dev,
u16 macro_id,
@@ -83,5 +100,9 @@
{
return 0;
}
+
+static inline void bolero_clear_amic_tx_hold(struct device *dev, u16 adc_n)
+{
+}
#endif /* CONFIG_SND_SOC_BOLERO */
#endif /* BOLERO_CDC_H */