|
@@ -336,6 +336,27 @@ static void omap_init_mcpdm(void)
|
|
|
static inline void omap_init_mcpdm(void) {}
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CONFIG_SND_OMAP_SOC_DMIC) || \
|
|
|
+ defined(CONFIG_SND_OMAP_SOC_DMIC_MODULE)
|
|
|
+
|
|
|
+static void omap_init_dmic(void)
|
|
|
+{
|
|
|
+ struct omap_hwmod *oh;
|
|
|
+ struct platform_device *pdev;
|
|
|
+
|
|
|
+ oh = omap_hwmod_lookup("dmic");
|
|
|
+ if (!oh) {
|
|
|
+ printk(KERN_ERR "Could not look up mcpdm hw_mod\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ pdev = omap_device_build("omap-dmic", -1, oh, NULL, 0, NULL, 0, 0);
|
|
|
+ WARN(IS_ERR(pdev), "Can't build omap_device for omap-dmic.\n");
|
|
|
+}
|
|
|
+#else
|
|
|
+static inline void omap_init_dmic(void) {}
|
|
|
+#endif
|
|
|
+
|
|
|
#if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE)
|
|
|
|
|
|
#include <plat/mcspi.h>
|
|
@@ -681,6 +702,7 @@ static int __init omap2_init_devices(void)
|
|
|
*/
|
|
|
omap_init_audio();
|
|
|
omap_init_mcpdm();
|
|
|
+ omap_init_dmic();
|
|
|
omap_init_camera();
|
|
|
omap_init_mbox();
|
|
|
omap_init_mcspi();
|