summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/mini2440/button-mini2440.c
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2009-10-27 20:25:40 +0000
committerDominik Wenger <domonoky@googlemail.com>2009-10-27 20:25:40 +0000
commit04ebf48fe4cb7bdd4d125e9e5f2507d03ede6a5b (patch)
tree0b3b501a59d9a774019d277b0947ee4194de0af4 /firmware/target/arm/s3c2440/mini2440/button-mini2440.c
parent6f9724706f4df78a91f3bf9a10b50be109aac996 (diff)
downloadrockbox-04ebf48fe4cb7bdd4d125e9e5f2507d03ede6a5b.tar.gz
rockbox-04ebf48fe4cb7bdd4d125e9e5f2507d03ede6a5b.zip
Initial touchscreen support for mini2440. Based on D2 touchscreen driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23370 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/s3c2440/mini2440/button-mini2440.c')
-rw-r--r--firmware/target/arm/s3c2440/mini2440/button-mini2440.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/firmware/target/arm/s3c2440/mini2440/button-mini2440.c b/firmware/target/arm/s3c2440/mini2440/button-mini2440.c
index 787c04d1ef..0435f47559 100644
--- a/firmware/target/arm/s3c2440/mini2440/button-mini2440.c
+++ b/firmware/target/arm/s3c2440/mini2440/button-mini2440.c
@@ -24,6 +24,7 @@
24#include "system.h" 24#include "system.h"
25#include "button.h" 25#include "button.h"
26#include "kernel.h" 26#include "kernel.h"
27#include "touchscreen-target.h"
27 28
28void button_init_device(void) 29void button_init_device(void)
29{ 30{
@@ -50,6 +51,8 @@ void button_init_device(void)
50 S3C2440_GPIO_PULLUP (GPGUP, 9, GPIO_PULLUP_ENABLE); 51 S3C2440_GPIO_PULLUP (GPGUP, 9, GPIO_PULLUP_ENABLE);
51 S3C2440_GPIO_PULLUP (GPGUP, 10, GPIO_PULLUP_ENABLE); 52 S3C2440_GPIO_PULLUP (GPGUP, 10, GPIO_PULLUP_ENABLE);
52 53
54 /* init touchscreen */
55 touchscreen_init_device();
53} 56}
54 57
55inline bool button_hold(void) 58inline bool button_hold(void)
@@ -57,12 +60,18 @@ inline bool button_hold(void)
57 return 0; 60 return 0;
58} 61}
59 62
60int button_read_device(void) 63int button_read_device(int* data)
61{ 64{
62 int btn = BUTTON_NONE; 65 int btn = BUTTON_NONE;
66 static int old_data = 0;
67
68 *data = old_data;
63 69
64 /* Read the buttons - active low */ 70 /* Read the buttons - active low */
65 btn = (GPGDAT & BUTTON_MAIN) ^ BUTTON_MAIN; 71 btn = (GPGDAT & BUTTON_MAIN) ^ BUTTON_MAIN;
72
73 /* read touchscreen */
74 btn |= touchscreen_read_device(data, &old_data);
66 75
67 return btn; 76 return btn;
68} 77}