diff options
| author | Mark Arigo <markarigo@gmail.com> | 2008-12-19 03:31:26 +0000 |
|---|---|---|
| committer | Mark Arigo <markarigo@gmail.com> | 2008-12-19 03:31:26 +0000 |
| commit | 9bf93ba0075adf2b9e3291497e06918634d39880 (patch) | |
| tree | 8c0ac278d72dba1e7633380a4f1422c1e58b9080 /firmware/drivers/synaptics-mep.c | |
| parent | b15d837d3397f7b48a578a986bb3613bc6affe61 (diff) | |
| download | rockbox-9bf93ba0075adf2b9e3291497e06918634d39880.zip rockbox-9bf93ba0075adf2b9e3291497e06918634d39880.tar.gz rockbox-9bf93ba0075adf2b9e3291497e06918634d39880.tar.bz2 rockbox-9bf93ba0075adf2b9e3291497e06918634d39880.tar.xz | |
Working touchpad for the Philips HDD1630 using the Synaptics driver. Like the m:robe 100, the strip is divided into up, select, and down button regions. You can't swipe like in the OF. The keymap still needs some work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19480 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/synaptics-mep.c')
| -rw-r--r-- | firmware/drivers/synaptics-mep.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/firmware/drivers/synaptics-mep.c b/firmware/drivers/synaptics-mep.c index 44b1860..858edf5 100644 --- a/firmware/drivers/synaptics-mep.c +++ b/firmware/drivers/synaptics-mep.c @@ -32,6 +32,7 @@ /* Driver for the Synaptics Touchpad based on the "Synaptics Modular Embedded Protocol: 3-Wire Interface Specification" documentation */ +#if defined(MROBE_100) #define ACK (GPIOD_INPUT_VAL & 0x1) #define ACK_HI GPIOD_OUTPUT_VAL |= 0x1 #define ACK_LO GPIOD_OUTPUT_VAL &= ~0x1 @@ -45,6 +46,21 @@ #define DATA_LO GPIOD_OUTPUT_EN |= 0x4; GPIOD_OUTPUT_VAL &= ~0x4 #define DATA_CL GPIOD_OUTPUT_EN &= ~0x4 +#elif defined(PHILIPS_HDD1630) +#define ACK (GPIOD_INPUT_VAL & 0x80) +#define ACK_HI GPIOD_OUTPUT_VAL |= 0x80 +#define ACK_LO GPIOD_OUTPUT_VAL &= ~0x80 + +#define CLK ((GPIOA_INPUT_VAL & 0x20) >> 5) +#define CLK_HI GPIOA_OUTPUT_VAL |= 0x20 +#define CLK_LO GPIOA_OUTPUT_VAL &= ~0x20 + +#define DATA ((GPIOA_INPUT_VAL & 0x10) >> 4) +#define DATA_HI GPIOA_OUTPUT_EN |= 0x10; GPIOA_OUTPUT_VAL |= 0x10 +#define DATA_LO GPIOA_OUTPUT_EN |= 0x10; GPIOA_OUTPUT_VAL &= ~0x10 +#define DATA_CL GPIOA_OUTPUT_EN &= ~0x10 +#endif + #define LO 0 #define HI 1 |