summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorMichael Sparmann <theseven@rockbox.org>2009-10-21 18:53:41 +0000
committerMichael Sparmann <theseven@rockbox.org>2009-10-21 18:53:41 +0000
commit4a63ac7c00a6d560b1429315fbeba3dced5376f8 (patch)
tree727d6a01f2b5d04a9f85a22a333baaf674e546e2 /firmware
parent7bff585d83444dba96c952578a265a5537fec459 (diff)
downloadrockbox-4a63ac7c00a6d560b1429315fbeba3dced5376f8.tar.gz
rockbox-4a63ac7c00a6d560b1429315fbeba3dced5376f8.zip
Add iPod Nano 2G µsec timer, and use it in the clickwheel driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23309 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/export/s5l8700.h2
-rw-r--r--firmware/target/arm/ipod/button-clickwheel.c13
2 files changed, 2 insertions, 13 deletions
diff --git a/firmware/export/s5l8700.h b/firmware/export/s5l8700.h
index 70c601a7b3..853b672500 100644
--- a/firmware/export/s5l8700.h
+++ b/firmware/export/s5l8700.h
@@ -304,6 +304,8 @@
#define TDDATA1 (*(REG32_PTR_T)(0x3C70006C)) /* Data1 Register */
#define TDPRE (*(REG32_PTR_T)(0x3C700070)) /* Pre-scale register */
#define TDCNT (*(REG32_PTR_T)(0x3C700074)) /* Counter register */
+#define USEC_TIMER (((*(REG32_PTR_T)(0x3C700080) << 32) \
+ | *(REG32_PTR_T)(0x3C700084)) * 5) /* 64bit 5usec timer */
/* 12. NAND FLASH CONTROLER */
#if CONFIG_CPU==S5L8701
diff --git a/firmware/target/arm/ipod/button-clickwheel.c b/firmware/target/arm/ipod/button-clickwheel.c
index 17f9f723f5..9a2f38bc88 100644
--- a/firmware/target/arm/ipod/button-clickwheel.c
+++ b/firmware/target/arm/ipod/button-clickwheel.c
@@ -40,18 +40,9 @@
#include "power.h"
#include "powermgmt.h"
-#ifdef CPU_PP
-/* PortalPlayer uses the USEC timer */
#define WHEEL_FAST_OFF_TIMEOUT 250000 /* timeout for acceleration = 250ms */
#define WHEEL_REPEAT_TIMEOUT 250000 /* timeout for button repeat = 250ms */
#define WHEEL_UNTOUCH_TIMEOUT 150000 /* timeout for untouching wheel = 150ms */
-#else
-/* Other targets use current_tick */
-#define WHEEL_FAST_OFF_TIMEOUT (HZ/4) /* timeout for acceleration = 250ms */
-#define WHEEL_REPEAT_TIMEOUT (HZ/4) /* timeout for button repeat = 250ms */
-#define WHEEL_UNTOUCH_TIMEOUT ((HZ*15)/100) /* timeout for untouching wheel = 150ms */
-
-#endif
#ifdef CPU_PP
#define CLICKWHEEL_DATA (*(volatile unsigned long*)(0x7000c140))
@@ -131,11 +122,7 @@ static inline int ipod_4g_button_read(void)
btn |= BUTTON_MENU;
if (status & 0x40000000)
{
-#ifdef CPU_PP
unsigned long usec = USEC_TIMER;
-#else
- unsigned long usec = current_tick;
-#endif
/* Highest wheel = 0x5F, clockwise increases */
new_wheel_value = (status >> 16) & 0x7f;