diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2012-10-21 14:42:32 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2012-10-21 14:45:09 +0200 |
commit | 709827b5ea23f0df86a8056b73bf71fa93cc6681 (patch) | |
tree | 0350774c2897d483c624e71fefd1191bd3e936b7 /firmware | |
parent | e86991f484f29891b969e851680f66e1948542fa (diff) | |
download | rockbox-709827b5ea23f0df86a8056b73bf71fa93cc6681.tar.gz rockbox-709827b5ea23f0df86a8056b73bf71fa93cc6681.zip |
imx233: fix user timer
The running count is only 16-bit wide, since the always tick
setting derives from the crystal clock at 24MHz the user timer
cannot be set lower than ~300Hz which is already too high.
Switch to the 32KHz crystal source to fix this.
Change-Id: Ie7775460b17ea7ab331738734e3d688ad5563857
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/export/imx233.h | 4 | ||||
-rw-r--r-- | firmware/target/arm/imx233/timer-imx233.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/firmware/export/imx233.h b/firmware/export/imx233.h index 70be3788ff..a18b584d8e 100644 --- a/firmware/export/imx233.h +++ b/firmware/export/imx233.h | |||
@@ -61,8 +61,8 @@ | |||
61 | #define FRAME_PHYS_ADDR (DRAM_ORIG + DRAM_SIZE - TTB_SIZE - FRAME_SIZE) | 61 | #define FRAME_PHYS_ADDR (DRAM_ORIG + DRAM_SIZE - TTB_SIZE - FRAME_SIZE) |
62 | #define FRAME ((void *)(FRAME_PHYS_ADDR - UNCACHED_DRAM_ADDR + BUFFERED_DRAM_ADDR)) | 62 | #define FRAME ((void *)(FRAME_PHYS_ADDR - UNCACHED_DRAM_ADDR + BUFFERED_DRAM_ADDR)) |
63 | 63 | ||
64 | /* Timer runs at APBX speed which is derived from ref_xtal@24MHz */ | 64 | /* Timer runs at 32KHz, derived from clk32k@32KHz */ |
65 | #define TIMER_FREQ 24000000 | 65 | #define TIMER_FREQ 32000 |
66 | 66 | ||
67 | /* USBOTG */ | 67 | /* USBOTG */ |
68 | #define USB_QHARRAY_ATTR __attribute__((section(".qharray"),nocommon,aligned(2048))) | 68 | #define USB_QHARRAY_ATTR __attribute__((section(".qharray"),nocommon,aligned(2048))) |
diff --git a/firmware/target/arm/imx233/timer-imx233.c b/firmware/target/arm/imx233/timer-imx233.c index bcc1974c63..4175dde95a 100644 --- a/firmware/target/arm/imx233/timer-imx233.c +++ b/firmware/target/arm/imx233/timer-imx233.c | |||
@@ -58,7 +58,7 @@ bool timer_set(long cycles, bool start) | |||
58 | bool timer_start(IF_COP_VOID(int core)) | 58 | bool timer_start(IF_COP_VOID(int core)) |
59 | { | 59 | { |
60 | imx233_setup_timer(USER_TIMER_NR, true, timer_cycles, | 60 | imx233_setup_timer(USER_TIMER_NR, true, timer_cycles, |
61 | HW_TIMROT_TIMCTRL__SELECT_TICK_ALWAYS, HW_TIMROT_TIMCTRL__PRESCALE_1, | 61 | HW_TIMROT_TIMCTRL__SELECT_32KHZ_XTAL, HW_TIMROT_TIMCTRL__PRESCALE_1, |
62 | false, &timer_fn); | 62 | false, &timer_fn); |
63 | return true; | 63 | return true; |
64 | } | 64 | } |