|
|
@@ -121,8 +121,6 @@ uint32_t lmx2594regs[LMX_COUNT] = {
|
|
|
0x00251C
|
|
|
};
|
|
|
|
|
|
-
|
|
|
-
|
|
|
void lmx2594_init(void *bar1) {
|
|
|
// Header for LMX Reset
|
|
|
uint32_t *ptr_rst = bar1 + LMX_BASE_ADDR;
|
|
|
@@ -143,7 +141,8 @@ void lmx2594_init(void *bar1) {
|
|
|
}
|
|
|
|
|
|
/*-------------------------LMX2594 Frequency Set-------------------------*/
|
|
|
-int lmx_freq_set_main_band(void *bar1, uint64_t freq, double f_pd, double N_div) {
|
|
|
+int lmx_freq_set_main_band(void *bar1, double freq, double f_pd) {
|
|
|
+ double N_div;
|
|
|
N_div = freq / f_pd;
|
|
|
|
|
|
// divide whole part and fractional part
|
|
|
@@ -216,11 +215,12 @@ int lmx_freq_set_main_band(void *bar1, uint64_t freq, double f_pd, double N_div)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int lmx_freq_set_out_of_band(void *bar1, uint64_t freq, double f_pd, double N_div) {
|
|
|
+int lmx_freq_set_out_of_band(void *bar1, double freq, double f_pd) {
|
|
|
double f_vco = 2 * freq;
|
|
|
int chan_div = 2;
|
|
|
uint8_t ch_div_reg = 0; // 2
|
|
|
double vco_div = 7.5e9 / freq;
|
|
|
+ double N_div;
|
|
|
|
|
|
// minimum N_div value is 28 and Vco frequency can't be less than 7.5 GHz
|
|
|
if (f_vco < 7.5e9) {
|
|
|
@@ -431,7 +431,7 @@ int lmx_freq_set_out_of_band(void *bar1, uint64_t freq, double f_pd, double N_di
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int lmx_freq_set(void *bar1, uint64_t freq) {
|
|
|
+int lmx_freq_set(void *bar1, double freq) {
|
|
|
|
|
|
double f_pd = 200e6;
|
|
|
double N_div = 0;
|
|
|
@@ -441,10 +441,10 @@ int lmx_freq_set(void *bar1, uint64_t freq) {
|
|
|
}
|
|
|
// if the frequency is in the main band - 7.5 GHz to 15 GHz
|
|
|
if (freq >= 7.5e9 && freq <= 15e9) {
|
|
|
- lmx_freq_set_main_band(bar1, freq, f_pd, N_div);
|
|
|
+ lmx_freq_set_main_band(bar1, freq, f_pd);
|
|
|
}
|
|
|
else if (freq < 7.5e9) {
|
|
|
- lmx_freq_set_out_of_band(bar1, freq, f_pd, N_div);
|
|
|
+ lmx_freq_set_out_of_band(bar1, freq, f_pd);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|