| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #ifndef LMX2594_H
- #define LMX2594_H
- #include "pci.h"
- #include "tmsgheaders.h"
- #include "lmx2594regs.h"
- #define LMX_COUNT 113
- #define LMX_BASE_ADDR 0x04
- #define LMX_LD_STATUS_ADDR 0x18
- struct vco_params {
- int vco_core;
- double f_coremin;
- double f_coremax;
- int c_core_min;
- int c_core_max;
- int a_core_min;
- int a_core_max;
- uint16_t vco_cap_ctrl_strt;
- uint16_t vco_daciset_strt;
- uint16_t acal_cmp_dly;
- uint16_t cal_clk_div;
- uint16_t pfd_dly_sel;
- uint16_t fcal_hpfd_adj;
- // LMX parameters
- double N_div;
- uint32_t N;
- int chan_div;
- uint8_t ch_div_reg;
- double f_vco;
- };
- extern uint32_t lmx_change_freq_regs[12];
- void set_vco_params(struct vco_params *params);
- void send_vco_params(reg_addr_pci* pci_bar_1, struct vco_params *params);
- struct vco_params calculate_vco_params(double lmx_freq, double f_pd);
- void lmx2594_init(reg_addr_pci* pci_bar_1);
- void auto_cal(reg_addr_pci* pci_bar_1);
- int lmx_freq_set_main_band(reg_addr_pci* pci_bar_1, double freq, double f_pd);
- int lmx_freq_set_main_band_int_mode(double freq, double f_pd);
- int lmx_freq_set_out_of_band(reg_addr_pci* pci_bar_1, double freq, double f_pd);
- int lmx_freq_set_out_of_band_int_mode(double freq, double f_pd);
- double lmx_lower_bond_set (double freq, double f_pd);
- double lmx_get_freq(double freq);
- int lmx_freq_set(reg_addr_pci* pci_bar_1, double freq,double f_pd);
- uint32_t lmx_ld_status(reg_addr_pci* pci_bar_1);
- #endif //LMX2594_H
|