From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chen Baozi Subject: [PATCH v6 5/6] xen/arm: Add support for device tree specified arch_timer clock frequency. Date: Fri, 9 Aug 2013 10:20:22 +0800 Message-ID: <1376014823-28657-6-git-send-email-baozich@gmail.com> References: <1376014823-28657-1-git-send-email-baozich@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1376014823-28657-1-git-send-email-baozich@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell , Julien Grall Cc: Chen Baozi , Xen Developer List List-Id: xen-devel@lists.xenproject.org Signed-off-by: Chen Baozi Acked-by: Ian Campbell --- xen/arch/arm/time.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c index 4ed7882..9a1b080 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); -- 1.8.1.4