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

Commit aa5c14d5 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'topic/asoc' into for-linus

Conflicts:
	arch/powerpc/platforms/85xx/p1022_ds.c
parents 79fc84c7 b11bdb52
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -295,6 +295,18 @@ static void davinci_init_wdt(void)

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

struct platform_device davinci_pcm_device = {
	.name		= "davinci-pcm-audio",
	.id		= -1,
};

static void davinci_init_pcm(void)
{
	platform_device_register(&davinci_pcm_device);
}

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

struct davinci_timer_instance davinci_timer_instance[2] = {
	{
		.base		= DAVINCI_TIMER0_BASE,
@@ -315,6 +327,7 @@ static int __init davinci_init_devices(void)
	/* please keep these calls, and their implementations above,
	 * in alphabetical order so they're easier to sort through.
	 */
	davinci_init_pcm();
	davinci_init_wdt();

	return 0;
+40 −0
Original line number Diff line number Diff line
@@ -776,9 +776,15 @@ static struct platform_device ep93xx_i2s_device = {
	.resource	= ep93xx_i2s_resource,
};

static struct platform_device ep93xx_pcm_device = {
	.name		= "ep93xx-pcm-audio",
	.id		= -1,
};

void __init ep93xx_register_i2s(void)
{
	platform_device_register(&ep93xx_i2s_device);
	platform_device_register(&ep93xx_pcm_device);
}

#define EP93XX_SYSCON_DEVCFG_I2S_MASK	(EP93XX_SYSCON_DEVCFG_I2SONSSP | \
@@ -826,6 +832,40 @@ void ep93xx_i2s_release(void)
}
EXPORT_SYMBOL(ep93xx_i2s_release);

/*************************************************************************
 * EP93xx AC97 audio peripheral handling
 *************************************************************************/
static struct resource ep93xx_ac97_resources[] = {
	{
		.start	= EP93XX_AAC_PHYS_BASE,
		.end	= EP93XX_AAC_PHYS_BASE + 0xb0 - 1,
		.flags	= IORESOURCE_MEM,
	},
	{
		.start	= IRQ_EP93XX_AACINTR,
		.end	= IRQ_EP93XX_AACINTR,
		.flags	= IORESOURCE_IRQ,
	},
};

static struct platform_device ep93xx_ac97_device = {
	.name		= "ep93xx-ac97",
	.id		= -1,
	.num_resources	= ARRAY_SIZE(ep93xx_ac97_resources),
	.resource	= ep93xx_ac97_resources,
};

void __init ep93xx_register_ac97(void)
{
	/*
	 * Make sure that the AC97 pins are not used by I2S.
	 */
	ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_I2SONAC97);

	platform_device_register(&ep93xx_ac97_device);
	platform_device_register(&ep93xx_pcm_device);
}

extern void ep93xx_gpio_init(void);

void __init ep93xx_init_devices(void)
+1 −0
Original line number Diff line number Diff line
@@ -105,6 +105,7 @@
#define EP93XX_GPIO_B_INT_STATUS	EP93XX_GPIO_REG(0xbc)
#define EP93XX_GPIO_EEDRIVE		EP93XX_GPIO_REG(0xc8)

#define EP93XX_AAC_PHYS_BASE		EP93XX_APB_PHYS(0x00080000)
#define EP93XX_AAC_BASE			EP93XX_APB_IOMEM(0x00080000)

#define EP93XX_SPI_PHYS_BASE		EP93XX_APB_PHYS(0x000a0000)
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ void ep93xx_keypad_release_gpio(struct platform_device *pdev);
void ep93xx_register_i2s(void);
int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config);
void ep93xx_i2s_release(void);
void ep93xx_register_ac97(void);

void ep93xx_init_devices(void);
extern struct sys_timer ep93xx_timer;
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ static void __init simone_init_machine(void)
	ep93xx_register_fb(&simone_fb_info);
	ep93xx_register_i2c(&simone_i2c_gpio_data, simone_i2c_board_info,
			    ARRAY_SIZE(simone_i2c_board_info));
	ep93xx_register_ac97();
}

MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
Loading