summaryrefslogtreecommitdiff
path: root/firmware/drivers/synaptics-mep.c
diff options
context:
space:
mode:
authorSzymon Dziok <b0hoon@o2.pl>2010-07-04 12:03:38 +0000
committerSzymon Dziok <b0hoon@o2.pl>2010-07-04 12:03:38 +0000
commit63c795a3496bc322a9e6118a3b08d0a7029b0b7d (patch)
tree2503ed6801f54e9caf88a4fbdc59a0b6b0cfeddf /firmware/drivers/synaptics-mep.c
parent78c9a19e51ffa1b3c949ed76c870a10eee5d095c (diff)
downloadrockbox-63c795a3496bc322a9e6118a3b08d0a7029b0b7d.tar.gz
rockbox-63c795a3496bc322a9e6118a3b08d0a7029b0b7d.zip
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
Diffstat (limited to 'firmware/drivers/synaptics-mep.c')
-rw-r--r--firmware/drivers/synaptics-mep.c12
1 files changed, 10 insertions, 2 deletions
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)
558 } 558 }
559 else if (val == MEP_ABSOLUTE_HEADER) 559 else if (val == MEP_ABSOLUTE_HEADER)
560 { 560 {
561/* for HDD6330 an absolute packet will follow for sensor nr 0 which we ignore */
562#if defined(PHILIPS_HDD6330)
563 if ((data[3]>>6) == 0) syn_read(tmp, 4);
564#endif
561 logf(" pos %d", val); 565 logf(" pos %d", val);
562 logf(" z %d", data[3]); 566 logf(" z %d", data[3]);
563 logf(" finger %d", data[1] & 0x1); 567 logf(" finger %d", data[1] & 0x1);
@@ -583,7 +587,7 @@ int touchpad_read_device(char *data, int len)
583 return val; 587 return val;
584} 588}
585 589
586int touchpad_set_parameter(char par_nr, unsigned int param) 590int touchpad_set_parameter(char mod_nr, char par_nr, unsigned int param)
587{ 591{
588 char data[4]; 592 char data[4];
589 int val=0; 593 int val=0;
@@ -592,7 +596,7 @@ int touchpad_set_parameter(char par_nr, unsigned int param)
592 { 596 {
593 syn_enable_int(false); 597 syn_enable_int(false);
594 598
595 data[0]=0x03; /* header - addr:0,global:0,control:0,len:3 */ 599 data[0]=0x03 | (mod_nr << 5); /* header - addr=mod_nr,global:0,ctrl:0,len:3 */
596 data[1]=0x40+par_nr; /* parameter number */ 600 data[1]=0x40+par_nr; /* parameter number */
597 data[2]=(param >> 8) & 0xff; /* param_hi */ 601 data[2]=(param >> 8) & 0xff; /* param_hi */
598 data[3]=param & 0xff; /* param_lo */ 602 data[3]=param & 0xff; /* param_lo */
@@ -614,7 +618,11 @@ int touchpad_set_buttonlights(unsigned int led_mask, char brightness)
614 syn_enable_int(false); 618 syn_enable_int(false);
615 619
616 /* turn on all touchpad leds */ 620 /* turn on all touchpad leds */
621#if defined(PHILIPS_HDD6330)
622 data[0] = 0x25; /* HDD6330: second module */
623#else
617 data[0] = 0x05; 624 data[0] = 0x05;
625#endif
618 data[1] = 0x31; 626 data[1] = 0x31;
619 data[2] = (brightness & 0xf) << 4; 627 data[2] = (brightness & 0xf) << 4;
620 data[3] = 0x00; 628 data[3] = 0x00;