Merge master.kernel.org:/home/rmk/linux-2.6-arm-smp
[linux-2.6] / include / asm-v850 / v850e_utils.h
1 /*
2  * include/asm-v850/v850e_utils.h -- Utility functions associated with
3  *      V850E CPUs
4  *
5  *  Copyright (C) 2001,03  NEC Electronics Corporation
6  *  Copyright (C) 2001,03  Miles Bader <miles@gnu.org>
7  *
8  * This file is subject to the terms and conditions of the GNU General
9  * Public License.  See the file COPYING in the main directory of this
10  * archive for more details.
11  *
12  * Written by Miles Bader <miles@gnu.org>
13  */
14
15 #ifndef __V850_V850E_UTILS_H__
16 #define __V850_V850E_UTILS_H__
17
18 /* Calculate counter clock-divider and count values to attain the
19    desired frequency RATE from the base frequency BASE_FREQ.  The
20    counter is expected to have a clock-divider, which can divide the
21    system cpu clock by a power of two value from MIN_DIVLOG2 to
22    MAX_DIV_LOG2, and a word-size of COUNTER_SIZE bits (the counter
23    counts up and resets whenever it's equal to the compare register,
24    generating an interrupt or whatever when it does so).  The returned
25    values are: *DIVLOG2 -- log2 of the desired clock divider and *COUNT
26    -- the counter compare value to use.  Returns true if it was possible
27    to find a reasonable value, otherwise false (and the other return
28    values will be set to be as good as possible).  */
29 extern int calc_counter_params (unsigned long base_freq,
30                                 unsigned long rate,
31                                 unsigned min_divlog2, unsigned max_divlog2,
32                                 unsigned counter_size,
33                                 unsigned *divlog2, unsigned *count);
34
35 #endif /* __V850_V850E_UTILS_H__ */