lmx2594.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef DMADRIVER_LMX2594_H
  2. #define DMADRIVER_LMX2594_H
  3. #include "tmsgheaders.h"
  4. #include "lmx2594regs.h"
  5. #define LMX_COUNT 113
  6. #define LMX_BASE_ADDR 0x04
  7. #define LMX_LD_STATUS_ADDR 0x18
  8. struct vco_params {
  9. int vco_core;
  10. double f_coremin;
  11. double f_coremax;
  12. int c_core_min;
  13. int c_core_max;
  14. int a_core_min;
  15. int a_core_max;
  16. uint16_t vco_cap_ctrl_strt;
  17. uint16_t vco_daciset_strt;
  18. uint8_t acal_cmp_dly;
  19. uint8_t cal_clk_div;
  20. uint8_t pfd_dly_sel;
  21. uint8_t fcal_hpfd_adj;
  22. };
  23. void set_vco_params (struct vco_params *params);
  24. struct vco_params calculate_vco_params (double lmx_freq, double f_pd);
  25. void lmx2594_init(void *bar1);
  26. void auto_cal(void *bar1);
  27. int lmx_freq_set_main_band(void *bar1, double freq, double f_pd);
  28. int lmx_freq_set_main_band_int_mode(void *bar1, double freq, double f_pd);
  29. int lmx_freq_set_out_of_band(void *bar1, double freq, double f_pd);
  30. int lmx_freq_set_out_of_band_int_mode(void *bar1, double freq, double f_pd);
  31. double lmx_lower_bond_set (double freq, double f_pd);
  32. double lmx_get_freq(double freq);
  33. int lmx_freq_set(void *bar1, double freq,double f_pd);
  34. uint32_t lmx_ld_status(void *bar1);
  35. #endif //DMADRIVER_LMX2594_H