aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/corgi.c
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2005-09-13 01:25:30 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-13 08:22:31 -0700
commit50a5de44821352354a3ee804e2c7cbfee5a81c06 (patch)
tree8b6a4472e4e21038df8c9494daa7d2b00a26c743 /arch/arm/mach-pxa/corgi.c
parent610827dee82731c7be5a135d750d194ac56881a9 (diff)
downloadkernel_samsung_smdk4412-50a5de44821352354a3ee804e2c7cbfee5a81c06.zip
kernel_samsung_smdk4412-50a5de44821352354a3ee804e2c7cbfee5a81c06.tar.gz
kernel_samsung_smdk4412-50a5de44821352354a3ee804e2c7cbfee5a81c06.tar.bz2
[PATCH] SharpSL: Abstract c7x0 specifics from Corgi SSP
Sharp's newer range of Zaurus clamshell handhelds, the cxx00's are similar to the c7x0 series yet different. This patch series abstracts the differences and generates a set of common drivers that support both series of devices. It then adds machine support for Spitz (SL-C3000) and Borzoi (SL-C3100). Hooks for Akita (SL-C1000) differences are also added. The I2C driver for its IO expander is the only missing piece. This patch: Separate out the Sharp Zaurus c7x0 series specific code from corgi_ssp.c so that other models such as the cxx00's can share it. Create sharpsl.h which will be used to abstract machine/model specifics. This enables the driver to be used by the Zaurus cxx00 series. Signed-Off-by: Richard Purdie <rpurdie@rpsys.net> Cc: Vojtech Pavlik <vojtech@suse.cz> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/arm/mach-pxa/corgi.c')
-rw-r--r--arch/arm/mach-pxa/corgi.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c
index 07b5dd4..3678d1e 100644
--- a/arch/arm/mach-pxa/corgi.c
+++ b/arch/arm/mach-pxa/corgi.c
@@ -41,6 +41,7 @@
#include <asm/hardware/scoop.h>
#include "generic.h"
+#include "sharpsl.h"
/*
@@ -94,6 +95,16 @@ struct platform_device corgissp_device = {
.id = -1,
};
+struct corgissp_machinfo corgi_ssp_machinfo = {
+ .port = 1,
+ .cs_lcdcon = CORGI_GPIO_LCDCON_CS,
+ .cs_ads7846 = CORGI_GPIO_ADS7846_CS,
+ .cs_max1111 = CORGI_GPIO_MAX1111_CS,
+ .clk_lcdcon = 76,
+ .clk_ads7846 = 2,
+ .clk_max1111 = 8,
+};
+
/*
* Corgi Backlight Device
@@ -225,6 +236,8 @@ static struct platform_device *devices[] __initdata = {
static void __init corgi_init(void)
{
+ corgi_ssp_set_machinfo(&corgi_ssp_machinfo);
+
pxa_gpio_mode(CORGI_GPIO_USB_PULLUP | GPIO_OUT);
pxa_set_udc_info(&udc_info);
pxa_set_mci_info(&corgi_mci_platform_data);