diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-4430sdp.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 39 | 
1 files changed, 36 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 4e9071589bf..30768c2f53f 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" @@ -322,7 +324,10 @@ static struct spi_board_info sdp4430_spi_board_info[] __initdata = {  		.bus_num                = 1,  		.chip_select            = 0,  		.max_speed_hz           = 24000000, -		.irq                    = ETH_KS8851_IRQ, +		/* +		 * .irq is set to gpio_to_irq(ETH_KS8851_IRQ) +		 * in omap_4430sdp_init +		 */  	},  }; @@ -378,12 +383,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 +524,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;  }  |