|
@@ -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();
|