linux/arch/arm/include/asm/hardware/icst.h
<<
>>
Prefs
   1/*
   2 *  arch/arm/include/asm/hardware/icst.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 ICST
  11 *  clock generators.  See http://www.idt.com/ for more information
  12 *  on these devices.
  13 */
  14#ifndef ASMARM_HARDWARE_ICST_H
  15#define ASMARM_HARDWARE_ICST_H
  16
  17struct icst_params {
  18        unsigned long   ref;
  19        unsigned long   vco_max;        /* inclusive */
  20        unsigned long   vco_min;        /* exclusive */
  21        unsigned short  vd_min;         /* inclusive */
  22        unsigned short  vd_max;         /* inclusive */
  23        unsigned char   rd_min;         /* inclusive */
  24        unsigned char   rd_max;         /* inclusive */
  25        const unsigned char *s2div;     /* chip specific s2div array */
  26        const unsigned char *idx2s;     /* chip specific idx2s array */
  27};
  28
  29struct icst_vco {
  30        unsigned short  v;
  31        unsigned char   r;
  32        unsigned char   s;
  33};
  34
  35unsigned long icst_hz(const struct icst_params *p, struct icst_vco vco);
  36struct icst_vco icst_hz_to_vco(const struct icst_params *p, unsigned long freq);
  37
  38/*
  39 * ICST307 VCO frequency must be between 6MHz and 200MHz (3.3 or 5V).
  40 * This frequency is pre-output divider.
  41 */
  42#define ICST307_VCO_MIN 6000000
  43#define ICST307_VCO_MAX 200000000
  44
  45extern const unsigned char icst307_s2div[];
  46extern const unsigned char icst307_idx2s[];
  47
  48/*
  49 * ICST525 VCO frequency must be between 10MHz and 200MHz (3V) or 320MHz (5V).
  50 * This frequency is pre-output divider.
  51 */
  52#define ICST525_VCO_MIN         10000000
  53#define ICST525_VCO_MAX_3V      200000000
  54#define ICST525_VCO_MAX_5V      320000000
  55
  56extern const unsigned char icst525_s2div[];
  57extern const unsigned char icst525_idx2s[];
  58
  59#endif
  60