diff options
author | Szymon Dziok <b0hoon@o2.pl> | 2010-07-04 12:03:38 +0000 |
---|---|---|
committer | Szymon Dziok <b0hoon@o2.pl> | 2010-07-04 12:03:38 +0000 |
commit | 63c795a3496bc322a9e6118a3b08d0a7029b0b7d (patch) | |
tree | 2503ed6801f54e9caf88a4fbdc59a0b6b0cfeddf /firmware/drivers | |
parent | 78c9a19e51ffa1b3c949ed76c870a10eee5d095c (diff) | |
download | rockbox-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')
-rw-r--r-- | firmware/drivers/synaptics-mep.c | 12 |
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 | ||
586 | int touchpad_set_parameter(char par_nr, unsigned int param) | 590 | int 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; |