Patrick Georgi (pgeorgi@google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8744
-gerrit
commit f8fdb71f4c28aa451d83e6888482905ee99e3a88 Author: Ionela Voinescu ionela.voinescu@imgtec.com Date: Thu Jan 22 14:53:28 2015 +0000
libpayload: pistachio: fix timer implementation
timer_raw_value must return the number of CPU ticks, and not the time obtained by dividing the ticks by the CPU frequency. The CPU counter is increased at every 2 CPU clocks and therfore the number of ticks will be the counter value multiplied by 2.
BUG=chrome-os-partner:31438 TEST=tested on Pistachio FPGA; it works properly. BRANCH=none
Change-Id: Iae62cb328e882f84822250bdf72146321ca9bbe0 Signed-off-by: Patrick Georgi pgeorgi@chromium.org Original-Commit-Id: 7ab25ce7dcaffb453ee774d870963a56444d46af Original-Change-Id: I74408950900463a2c054d5aebd3edb005a325adb Original-Signed-off-by: Ionela Voinescu ionela.voinescu@imgtec.com Original-Reviewed-on: https://chromium-review.googlesource.com/242393 Original-Reviewed-by: David Hendricks dhendrix@chromium.org --- payloads/libpayload/drivers/timer/img_pistachio.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/payloads/libpayload/drivers/timer/img_pistachio.c b/payloads/libpayload/drivers/timer/img_pistachio.c index dcfe555..ae53a9d 100644 --- a/payloads/libpayload/drivers/timer/img_pistachio.c +++ b/payloads/libpayload/drivers/timer/img_pistachio.c @@ -20,11 +20,6 @@ #include <libpayload.h> #include <arch/cpu.h>
-static int get_timer_speed_khz(void) -{ - return get_cpu_speed()/2; -} - uint64_t timer_hz(void) { return lib_sysinfo.cpu_khz * 1000; @@ -32,5 +27,5 @@ uint64_t timer_hz(void)
uint64_t timer_raw_value(void) { - return read_c0_count()/(get_timer_speed_khz()/1000); + return read_c0_count() * 2; }