summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sparmann <theseven@rockbox.org>2009-10-17 22:32:46 +0000
committerMichael Sparmann <theseven@rockbox.org>2009-10-17 22:32:46 +0000
commit8f1709f434e88546f556e8971312b8e2162dbca7 (patch)
tree05148949c37368ab8edb211674cf42aed8731903
parent47e06dfe9e9565fbbed55d295ee757c9b58e8394 (diff)
downloadrockbox-8f1709f434e88546f556e8971312b8e2162dbca7.zip
rockbox-8f1709f434e88546f556e8971312b8e2162dbca7.tar.gz
rockbox-8f1709f434e88546f556e8971312b8e2162dbca7.tar.bz2
rockbox-8f1709f434e88546f556e8971312b8e2162dbca7.tar.xz
Adjust iPod Nano 2G CPU speed to 192MHz, which measurements show it to be. Timers will be more accurate now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23237 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/config-ipodnano2g.h2
-rw-r--r--firmware/export/s5l8700.h3
-rw-r--r--firmware/target/arm/s5l8700/kernel-s5l8700.c6
3 files changed, 6 insertions, 5 deletions
diff --git a/firmware/export/config-ipodnano2g.h b/firmware/export/config-ipodnano2g.h
index e733aa9..25e9eff 100644
--- a/firmware/export/config-ipodnano2g.h
+++ b/firmware/export/config-ipodnano2g.h
@@ -147,7 +147,7 @@
#define FLASH_SIZE 0x400000
/* Define this to the CPU frequency */
-#define CPU_FREQ 200000000
+#define CPU_FREQ 192000000
/* Define this if you have ATA power-off control */
//#define HAVE_ATA_POWER_OFF
diff --git a/firmware/export/s5l8700.h b/firmware/export/s5l8700.h
index f08abee..fe1d9ea 100644
--- a/firmware/export/s5l8700.h
+++ b/firmware/export/s5l8700.h
@@ -25,7 +25,7 @@
#define REG16_PTR_T volatile uint16_t *
#define REG32_PTR_T volatile uint32_t *
-#define TIMER_FREQ 50000000L
+#define TIMER_FREQ 48000000L
/* 04. CALMADM2E */
@@ -132,6 +132,7 @@
#define INTMSK_TIMERC (1<<5)
#define INTMSK_TIMERD (1<<5)
#define INTMSK_ECC (1<<19)
+#define INTMSK_USB_OTG (1<<16)
#else
#define INTMSK_TIMERA (1<<5)
#define INTMSK_TIMERB (1<<7)
diff --git a/firmware/target/arm/s5l8700/kernel-s5l8700.c b/firmware/target/arm/s5l8700/kernel-s5l8700.c
index 61466af..b7028eb 100644
--- a/firmware/target/arm/s5l8700/kernel-s5l8700.c
+++ b/firmware/target/arm/s5l8700/kernel-s5l8700.c
@@ -24,7 +24,7 @@
/* S5L8700 driver for the kernel timer
- Timer B is configured as a 10 kHz timer (assuming PCLK = 100 MHz)
+ Timer B is configured as a 10 kHz timer (assuming PCLK = 48 MHz)
*/
void INT_TIMERB(void)
@@ -37,14 +37,14 @@ void INT_TIMERB(void)
void tick_start(unsigned int interval_in_ms)
{
- int cycles = 5 * interval_in_ms;
+ int cycles = 10 * interval_in_ms;
/* enable timer clock */
PWRCON &= ~(1 << 4);
/* configure timer for 10 kHz */
TBCMD = (1 << 1); /* TB_CLR */
- TBPRE = 625 - 1; /* prescaler */
+ TBPRE = 300 - 1; /* prescaler */
TBCON = (0 << 13) | /* TB_INT1_EN */
(1 << 12) | /* TB_INT0_EN */
(0 << 11) | /* TB_START */