0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef ICST_H
0010 #define ICST_H
0011
0012 struct icst_params {
0013 unsigned long ref;
0014 unsigned long vco_max;
0015 unsigned long vco_min;
0016 unsigned short vd_min;
0017 unsigned short vd_max;
0018 unsigned char rd_min;
0019 unsigned char rd_max;
0020 const unsigned char *s2div;
0021 const unsigned char *idx2s;
0022 };
0023
0024 struct icst_vco {
0025 unsigned short v;
0026 unsigned char r;
0027 unsigned char s;
0028 };
0029
0030 unsigned long icst_hz(const struct icst_params *p, struct icst_vco vco);
0031 struct icst_vco icst_hz_to_vco(const struct icst_params *p, unsigned long freq);
0032
0033
0034
0035
0036
0037 #define ICST307_VCO_MIN 6000000
0038 #define ICST307_VCO_MAX 200000000
0039
0040 extern const unsigned char icst307_s2div[];
0041 extern const unsigned char icst307_idx2s[];
0042
0043
0044
0045
0046
0047 #define ICST525_VCO_MIN 10000000
0048 #define ICST525_VCO_MAX_3V 200000000
0049 #define ICST525_VCO_MAX_5V 320000000
0050
0051 extern const unsigned char icst525_s2div[];
0052 extern const unsigned char icst525_idx2s[];
0053
0054 #endif