diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-3430sdp.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-3430sdp.c | 65 | 
1 files changed, 6 insertions, 59 deletions
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index 9afd087cc29..3726465d34e 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c @@ -19,7 +19,6 @@  #include <linux/input.h>  #include <linux/input/matrix_keypad.h>  #include <linux/spi/spi.h> -#include <linux/spi/ads7846.h>  #include <linux/i2c/twl.h>  #include <linux/regulator/machine.h>  #include <linux/io.h> @@ -48,6 +47,7 @@  #include "hsmmc.h"  #include "pm.h"  #include "control.h" +#include "common-board-devices.h"  #define CONFIG_DISABLE_HFCLK 1 @@ -123,58 +123,6 @@ static struct twl4030_keypad_data sdp3430_kp_data = {  	.rep		= 1,  }; -static int ts_gpio;	/* Needed for ads7846_get_pendown_state */ - -/** - * @brief ads7846_dev_init : Requests & sets GPIO line for pen-irq - * - * @return - void. If request gpio fails then Flag KERN_ERR. - */ -static void ads7846_dev_init(void) -{ -	if (gpio_request(ts_gpio, "ADS7846 pendown") < 0) { -		printk(KERN_ERR "can't get ads746 pen down GPIO\n"); -		return; -	} - -	gpio_direction_input(ts_gpio); -	gpio_set_debounce(ts_gpio, 310); -} - -static int ads7846_get_pendown_state(void) -{ -	return !gpio_get_value(ts_gpio); -} - -static struct ads7846_platform_data tsc2046_config __initdata = { -	.get_pendown_state	= ads7846_get_pendown_state, -	.keep_vref_on		= 1, -	.wakeup				= true, -}; - - -static struct omap2_mcspi_device_config tsc2046_mcspi_config = { -	.turbo_mode	= 0, -	.single_channel	= 1,	/* 0: slave, 1: master */ -}; - -static struct spi_board_info sdp3430_spi_board_info[] __initdata = { -	[0] = { -		/* -		 * TSC2046 operates at a max freqency of 2MHz, so -		 * operate slightly below at 1.5MHz -		 */ -		.modalias		= "ads7846", -		.bus_num		= 1, -		.chip_select		= 0, -		.max_speed_hz		= 1500000, -		.controller_data	= &tsc2046_mcspi_config, -		.irq			= 0, -		.platform_data		= &tsc2046_config, -	}, -}; - -  #define SDP3430_LCD_PANEL_BACKLIGHT_GPIO	8  #define SDP3430_LCD_PANEL_ENABLE_GPIO		5 @@ -880,6 +828,8 @@ static struct omap_musb_board_data musb_board_data = {  static void __init omap_3430sdp_init(void)  { +	int gpio_pendown; +  	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);  	omap_board_config = sdp3430_config;  	omap_board_config_size = ARRAY_SIZE(sdp3430_config); @@ -887,13 +837,10 @@ static void __init omap_3430sdp_init(void)  	omap3430_i2c_init();  	omap_display_init(&sdp3430_dss_data);  	if (omap_rev() > OMAP3430_REV_ES1_0) -		ts_gpio = SDP3430_TS_GPIO_IRQ_SDPV2; +		gpio_pendown = SDP3430_TS_GPIO_IRQ_SDPV2;  	else -		ts_gpio = SDP3430_TS_GPIO_IRQ_SDPV1; -	sdp3430_spi_board_info[0].irq = gpio_to_irq(ts_gpio); -	spi_register_board_info(sdp3430_spi_board_info, -				ARRAY_SIZE(sdp3430_spi_board_info)); -	ads7846_dev_init(); +		gpio_pendown = SDP3430_TS_GPIO_IRQ_SDPV1; +	omap_ads7846_init(1, gpio_pendown, 310, NULL);  	board_serial_init();  	usb_musb_init(&musb_board_data);  	board_smc91x_init();  |