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