1/*
2 *  linux/include/asm-arm/hardware/icst525.h
3 *
4 *  Copyright (C) 2003 Deep Blue Solutions, Ltd, All Rights Reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 *  Support functions for calculating clocks/divisors for the ICST525
11 *  clock generators.  See http://www.icst.com/ for more information
12 *  on these devices.
13 */
14#ifndef ASMARM_HARDWARE_ICST525_H
15#define ASMARM_HARDWARE_ICST525_H
16
17struct icst525_params {
18	unsigned long	ref;
19	unsigned long	vco_max;	/* inclusive */
20	unsigned short	vd_min;		/* inclusive */
21	unsigned short	vd_max;		/* inclusive */
22	unsigned char	rd_min;		/* inclusive */
23	unsigned char	rd_max;		/* inclusive */
24};
25
26struct icst525_vco {
27	unsigned short	v;
28	unsigned char	r;
29	unsigned char	s;
30};
31
32unsigned long icst525_khz(const struct icst525_params *p, struct icst525_vco vco);
33struct icst525_vco icst525_khz_to_vco(const struct icst525_params *p, unsigned long freq);
34struct icst525_vco icst525_ps_to_vco(const struct icst525_params *p, unsigned long period);
35
36#endif
37