From 63c795a3496bc322a9e6118a3b08d0a7029b0b7d Mon Sep 17 00:00:00 2001 From: Szymon Dziok Date: Sun, 4 Jul 2010 12:03:38 +0000 Subject: hdd6330: change the synaptics-mep driver in a few places according to the touchpad behavior. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27273 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/synaptics-mep.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'firmware/drivers/synaptics-mep.c') diff --git a/firmware/drivers/synaptics-mep.c b/firmware/drivers/synaptics-mep.c index d87b828afb..f5b619053b 100644 --- a/firmware/drivers/synaptics-mep.c +++ b/firmware/drivers/synaptics-mep.c @@ -558,6 +558,10 @@ int touchpad_read_device(char *data, int len) } else if (val == MEP_ABSOLUTE_HEADER) { +/* for HDD6330 an absolute packet will follow for sensor nr 0 which we ignore */ +#if defined(PHILIPS_HDD6330) + if ((data[3]>>6) == 0) syn_read(tmp, 4); +#endif logf(" pos %d", val); logf(" z %d", data[3]); logf(" finger %d", data[1] & 0x1); @@ -583,7 +587,7 @@ int touchpad_read_device(char *data, int len) return val; } -int touchpad_set_parameter(char par_nr, unsigned int param) +int touchpad_set_parameter(char mod_nr, char par_nr, unsigned int param) { char data[4]; int val=0; @@ -592,7 +596,7 @@ int touchpad_set_parameter(char par_nr, unsigned int param) { syn_enable_int(false); - data[0]=0x03; /* header - addr:0,global:0,control:0,len:3 */ + data[0]=0x03 | (mod_nr << 5); /* header - addr=mod_nr,global:0,ctrl:0,len:3 */ data[1]=0x40+par_nr; /* parameter number */ data[2]=(param >> 8) & 0xff; /* param_hi */ data[3]=param & 0xff; /* param_lo */ @@ -614,7 +618,11 @@ int touchpad_set_buttonlights(unsigned int led_mask, char brightness) syn_enable_int(false); /* turn on all touchpad leds */ +#if defined(PHILIPS_HDD6330) + data[0] = 0x25; /* HDD6330: second module */ +#else data[0] = 0x05; +#endif data[1] = 0x31; data[2] = (brightness & 0xf) << 4; data[3] = 0x00; -- cgit v1.2.3