1/*
2 *  linux/include/asm-arm/hardware/icst307.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 ICS307
11 *  clock generators.  See http://www.icst.com/ for more information
12 *  on these devices.
13 *
14 *  This file is similar to the icst525.h file
15 */
16#ifndef ASMARM_HARDWARE_ICST307_H
17#define ASMARM_HARDWARE_ICST307_H
18
19struct icst307_params {
20	unsigned long	ref;
21	unsigned long	vco_max;	/* inclusive */
22	unsigned short	vd_min;		/* inclusive */
23	unsigned short	vd_max;		/* inclusive */
24	unsigned char	rd_min;		/* inclusive */
25	unsigned char	rd_max;		/* inclusive */
26};
27
28struct icst307_vco {
29	unsigned short	v;
30	unsigned char	r;
31	unsigned char	s;
32};
33
34unsigned long icst307_khz(const struct icst307_params *p, struct icst307_vco vco);
35struct icst307_vco icst307_khz_to_vco(const struct icst307_params *p, unsigned long freq);
36struct icst307_vco icst307_ps_to_vco(const struct icst307_params *p, unsigned long period);
37
38#endif
39