diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-4430sdp.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 34 | 
1 files changed, 32 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 4e9071589bf..890c446e7b3 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c @@ -25,6 +25,7 @@  #include <linux/regulator/fixed.h>  #include <linux/leds.h>  #include <linux/leds_pwm.h> +#include <linux/platform_data/omap4-keypad.h>  #include <mach/hardware.h>  #include <asm/hardware/gic.h> @@ -41,6 +42,7 @@  #include <video/omap-panel-nokia-dsi.h>  #include <video/omap-panel-picodlp.h>  #include <linux/wl12xx.h> +#include <linux/platform_data/omap-abe-twl6040.h>  #include "mux.h"  #include "hsmmc.h" @@ -378,12 +380,40 @@ static struct platform_device sdp4430_dmic_codec = {  	.id	= -1,  }; +static struct omap_abe_twl6040_data sdp4430_abe_audio_data = { +	.card_name = "SDP4430", +	.has_hs		= ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, +	.has_hf		= ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, +	.has_ep		= 1, +	.has_aux	= ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, +	.has_vibra	= ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, + +	.has_dmic	= 1, +	.has_hsmic	= 1, +	.has_mainmic	= 1, +	.has_submic	= 1, +	.has_afm	= ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, + +	.jack_detection = 1, +	/* MCLK input is 38.4MHz */ +	.mclk_freq	= 38400000, +}; + +static struct platform_device sdp4430_abe_audio = { +	.name		= "omap-abe-twl6040", +	.id		= -1, +	.dev = { +		.platform_data = &sdp4430_abe_audio_data, +	}, +}; +  static struct platform_device *sdp4430_devices[] __initdata = {  	&sdp4430_gpio_keys_device,  	&sdp4430_leds_gpio,  	&sdp4430_leds_pwm,  	&sdp4430_vbat,  	&sdp4430_dmic_codec, +	&sdp4430_abe_audio,  };  static struct omap_musb_board_data musb_board_data = { @@ -491,9 +521,9 @@ static int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers)  {  	struct omap2_hsmmc_info *c; -	omap2_hsmmc_init(controllers); +	omap_hsmmc_init(controllers);  	for (c = controllers; c->mmc; c++) -		omap4_twl6030_hsmmc_set_late_init(c->dev); +		omap4_twl6030_hsmmc_set_late_init(&c->pdev->dev);  	return 0;  }  |