v850e_timer_d.c

来自「Linux Kernel 2.6.9 for OMAP1710」· C语言 代码 · 共 55 行

C
55
字号
/* * include/asm-v850/v850e_timer_d.c -- `Timer D' component often used *	with V850E CPUs * *  Copyright (C) 2001,02,03  NEC Electronics Corporation *  Copyright (C) 2001,02,03  Miles Bader <miles@gnu.org> * * This file is subject to the terms and conditions of the GNU General * Public License.  See the file COPYING in the main directory of this * archive for more details. * * Written by Miles Bader <miles@gnu.org> */#include <linux/kernel.h>#include <asm/v850e_utils.h>#include <asm/v850e_timer_d.h>/* Start interval timer TIMER (0-3).  The timer will issue the   corresponding INTCMD interrupt RATE times per second.   This function does not enable the interrupt.  */void v850e_timer_d_configure (unsigned timer, unsigned rate){	unsigned divlog2, count;	/* Calculate params for timer.  */	if (! calc_counter_params (		    V850E_TIMER_D_BASE_FREQ, rate,		    V850E_TIMER_D_TMCD_CS_MIN, V850E_TIMER_D_TMCD_CS_MAX, 16,		    &divlog2, &count))		printk (KERN_WARNING			"Cannot find interval timer %d setting suitable"			" for rate of %dHz.\n"			"Using rate of %dHz instead.\n",			timer, rate,			(V850E_TIMER_D_BASE_FREQ >> divlog2) >> 16);	/* Do the actual hardware timer initialization:  */	/* Enable timer.  */	V850E_TIMER_D_TMCD(timer) = V850E_TIMER_D_TMCD_CAE;	/* Set clock divider.  */	V850E_TIMER_D_TMCD(timer)		= V850E_TIMER_D_TMCD_CAE		| V850E_TIMER_D_TMCD_CS(divlog2);	/* Set timer compare register.  */	V850E_TIMER_D_CMD(timer) = count;	/* Start counting.  */	V850E_TIMER_D_TMCD(timer)		= V850E_TIMER_D_TMCD_CAE		| V850E_TIMER_D_TMCD_CS(divlog2)		| V850E_TIMER_D_TMCD_CE;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?