From: Chen Baozi Date: Thu, 8 Aug 2013 10:52:24 +0000 (+0800) Subject: xen/arm: Add support for device tree specified arch_timer clock frequency. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6551 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=dd11cc89c5ba53ae8d969037eda8b8c70d20ffa6;p=xen.git xen/arm: Add support for device tree specified arch_timer clock frequency. Signed-off-by: Chen Baozi Acked-by: Ian Campbell --- diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c index 4ed7882722..9a1b080489 100644 --- a/xen/arch/arm/time.c +++ b/xen/arch/arm/time.c @@ -104,6 +104,7 @@ int __init init_xen_time(void) struct dt_device_node *dev; int res; unsigned int i; + u32 rate; dev = dt_find_compatible_node(NULL, NULL, "arm,armv7-timer"); if ( !dev ) @@ -134,7 +135,11 @@ int __init init_xen_time(void) if ( !cpu_has_gentimer ) panic("CPU does not support the Generic Timer v1 interface.\n"); - cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000; + res = dt_property_read_u32(dev, "clock-frequency", &rate); + if ( res ) + cpu_khz = rate / 1000; + else + cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000; boot_count = READ_SYSREG64(CNTPCT_EL0); printk("Using generic timer at %lu KHz\n", cpu_khz);