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

Commit d6a2d9b8 authored by Jorge Eduardo Candelaria's avatar Jorge Eduardo Candelaria Committed by Tony Lindgren
Browse files

OMAP4: MCPDM: Register McPDM platform device



Add platform device for McPDM interface in OMAP4 and register
its memory and irq resources.

Signed-off-by: default avatarJorge Eduardo Candelaria <x0107209@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 302720f3
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#include <plat/menelaus.h>
#include <plat/mcbsp.h>
#include <plat/dsp_common.h>
#include <plat/omap44xx.h>

#if	defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE)

@@ -192,6 +193,41 @@ void omap_mcbsp_register_board_cfg(struct omap_mcbsp_platform_data *config,

/*-------------------------------------------------------------------------*/

#if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \
		defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE)

static struct resource mcpdm_resources[] = {
	{
		.name		= "mcpdm_mem",
		.start		= OMAP44XX_MCPDM_BASE,
		.end		= OMAP44XX_MCPDM_BASE + SZ_4K,
		.flags		= IORESOURCE_MEM,
	},
	{
		.name		= "mcpdm_irq",
		.start		= INT_44XX_MCPDM_IRQ,
		.end		= INT_44XX_MCPDM_IRQ,
		.flags		= IORESOURCE_IRQ,
	},
};

static struct platform_device omap_mcpdm_device = {
	.name		= "omap-mcpdm",
	.id		= -1,
	.num_resources	= ARRAY_SIZE(mcpdm_resources),
	.resource	= mcpdm_resources,
};

static void omap_init_mcpdm(void)
{
	(void) platform_device_register(&omap_mcpdm_device);
}
#else
static inline void omap_init_mcpdm(void) {}
#endif

/*-------------------------------------------------------------------------*/

#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \
	defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)

@@ -385,6 +421,7 @@ static int __init omap_init_devices(void)
	omap_init_dsp();
	omap_init_kp();
	omap_init_rng();
	omap_init_mcpdm();
	omap_init_uwire();
	omap_init_wdt();
	return 0;