From ce028de37a0b8b725167264a96b1e36497c44504 Mon Sep 17 00:00:00 2001 From: Paul Parsons Date: Sat, 12 May 2012 12:31:02 +0100 Subject: [PATCH] --- yaml --- r: 303523 b: refs/heads/master c: b2596c682814b39f0dd16e19e3be8fc8581643bd h: refs/heads/master i: 303521: 176bc4e44c1e57a2444a90d43ab9f8487db39b19 303519: e43c7dfdb41e0da37b811c926398a73110a12793 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-pxa/hx4700.c | 24 ++++++++++++++++++- .../arm/mach-pxa/include/mach/mfp-pxa27x.h | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3f552b681df4..a31788fbfd79 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0bf189abc52b89bfcfa9782543de7f5e90263fe5 +refs/heads/master: b2596c682814b39f0dd16e19e3be8fc8581643bd diff --git a/trunk/arch/arm/mach-pxa/hx4700.c b/trunk/arch/arm/mach-pxa/hx4700.c index 88f0f51ad6d5..865f6d37372e 100644 --- a/trunk/arch/arm/mach-pxa/hx4700.c +++ b/trunk/arch/arm/mach-pxa/hx4700.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -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, @@ -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 */ @@ -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 */ @@ -823,6 +844,7 @@ static struct platform_device audio = { static struct platform_device *devices[] __initdata = { &asic3, &gpio_keys, + &navpoint, &backlight, &w3220, &hx4700_lcd, diff --git a/trunk/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h b/trunk/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h index a65867209aa0..a611ad3153c7 100644 --- a/trunk/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h +++ b/trunk/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h @@ -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)