Skip to content

Commit

Permalink
ARM: pxa: hx4700: Add Synaptics NavPoint touchpad
Browse files Browse the repository at this point in the history
This patch adds the Synaptics NavPoint touchpad to the hx4700 platform:
1. Change GPIO23_SSP1_SCLK value in hx4700_pin_config[] from an output
to an input, since the NavPoint is connected to SSP in SPI slave mode.
2. Add GPIO102_GPIO (NavPoint power) to hx4700_pin_config[].
3. Add navpoint platform_device to devices[].

Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
  • Loading branch information
Paul Parsons authored and Haojian Zhuang committed May 14, 2012
1 parent 0bf189a commit b2596c6
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
24 changes: 23 additions & 1 deletion arch/arm/mach-pxa/hx4700.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <linux/gpio.h>
#include <linux/gpio_keys.h>
#include <linux/input.h>
#include <linux/input/navpoint.h>
#include <linux/lcd.h>
#include <linux/mfd/htc-egpio.h>
#include <linux/mfd/asic3.h>
Expand Down Expand Up @@ -113,7 +114,7 @@ static unsigned long hx4700_pin_config[] __initdata = {
GPIO113_I2S_SYSCLK,

/* SSP 1 (NavPoint) */
GPIO23_SSP1_SCLK,
GPIO23_SSP1_SCLK_IN,
GPIO24_SSP1_SFRM,
GPIO25_SSP1_TXD,
GPIO26_SSP1_RXD,
Expand All @@ -129,6 +130,9 @@ static unsigned long hx4700_pin_config[] __initdata = {
GPIO13_GPIO, /* W3220_IRQ */
GPIO14_GPIO, /* nWLAN_IRQ */

/* HX4700 specific output GPIOs */
GPIO102_GPIO | MFP_LPM_DRIVE_LOW, /* SYNAPTICS_POWER_ON */

GPIO10_GPIO, /* GSM_IRQ */
GPIO13_GPIO, /* CPLD_IRQ */
GPIO107_GPIO, /* DS1WM_IRQ */
Expand Down Expand Up @@ -182,6 +186,23 @@ static struct platform_device gpio_keys = {
.id = -1,
};

/*
* Synaptics NavPoint connected to SSP1
*/

static struct navpoint_platform_data navpoint_platform_data = {
.port = 1,
.gpio = GPIO102_HX4700_SYNAPTICS_POWER_ON,
};

static struct platform_device navpoint = {
.name = "navpoint",
.id = -1,
.dev = {
.platform_data = &navpoint_platform_data,
},
};

/*
* ASIC3
*/
Expand Down Expand Up @@ -823,6 +844,7 @@ static struct platform_device audio = {
static struct platform_device *devices[] __initdata = {
&asic3,
&gpio_keys,
&navpoint,
&backlight,
&w3220,
&hx4700_lcd,
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-pxa/include/mach/mfp-pxa27x.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@
#define GPIO113_I2S_SYSCLK MFP_CFG_OUT(GPIO113, AF1, DRIVE_LOW)

/* SSP 1 */
#define GPIO23_SSP1_SCLK_IN MFP_CFG_IN(GPIO23, AF2)
#define GPIO23_SSP1_SCLK MFP_CFG_OUT(GPIO23, AF2, DRIVE_LOW)
#define GPIO29_SSP1_SCLK MFP_CFG_IN(GPIO29, AF3)
#define GPIO27_SSP1_SYSCLK MFP_CFG_OUT(GPIO27, AF1, DRIVE_LOW)
Expand Down

0 comments on commit b2596c6

Please sign in to comment.