tmsgheaders.c 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include "tmsgheaders.h"
  2. void rst_for_fpga(void *bar1) {
  3. uint32_t *ptr = bar1 + RST_ADDR;
  4. *ptr = RST_FOR_FPGA_ON;
  5. usleep(1);
  6. *ptr = RST_FOR_FPGA_OFF;
  7. }
  8. void shift_reg (void *bar1) {
  9. uint32_t *ptr = bar1 + LMX_BASE_ADDR;
  10. *ptr = InitShRegHeader;
  11. uint32_t *data_ptr = bar1 + LMX_BASE_ADDR ;
  12. *data_ptr = SHIFT_REG;
  13. }
  14. void key_switch (void *bar1, double freq){
  15. if (freq >= 100e3 && freq <= 1000e6) {
  16. uint32_t *ptr_header = bar1 + LMX_BASE_ADDR;
  17. *ptr_header = InitShRegHeader;
  18. // Data for Shift Reg
  19. uint32_t *ptr = bar1 + LMX_BASE_ADDR;
  20. *ptr = 0x1<<SHIFT_REG_SW1_RF_BITP|0x1<<SHIFT_REG_GPIO_SW_015_RF_BITP | 0x0<<SHIFT_REG_SW_MIXER_RF_BITP | 0x0<<SHIFT_REG_SW2_RF_BITP | 0x1 << SHIFT_REG_SW_RF_BITP;
  21. }
  22. else if (freq > 1000e6 && freq <= 1300e6) {
  23. uint32_t *ptr_header = bar1 + LMX_BASE_ADDR;
  24. *ptr_header = InitShRegHeader;
  25. // Data for Shift Reg
  26. uint32_t *ptr = bar1 + LMX_BASE_ADDR;
  27. *ptr = 0x1<<SHIFT_REG_SW1_RF_BITP | 0x1<<SHIFT_REG_SW2_RF_BITP | 0x1<<SHIFT_REG_GPIO_SW_015_RF_BITP | 0x1<<SHIFT_REG_SW_MIXER_RF_BITP | 0x1<<SHIFT_REG_SW3_RF_BITP | 0x1 << SHIFT_REG_SW_RF_BITP;
  28. }
  29. else if (freq > 1300e6 && freq <= 2200e6) {
  30. uint32_t *ptr_header = bar1 + LMX_BASE_ADDR;
  31. *ptr_header = InitShRegHeader;
  32. // Data for Shift Reg
  33. uint32_t *ptr = bar1 + LMX_BASE_ADDR;
  34. *ptr = 0x1<<SHIFT_REG_SW1_RF_BITP | 0x1<<SHIFT_REG_SW2_RF_BITP | 0x0<<SHIFT_REG_SW3_RF_BITP | 0x1<<SHIFT_REG_GPIO_SW_015_RF_BITP | 0x1<<SHIFT_REG_SW_MIXER_RF_BITP | 0x1 << SHIFT_REG_SW_RF_BITP;
  35. }
  36. else if (freq > 2200e6 && freq <= 3600e6) {
  37. uint32_t *ptr_header = bar1 + LMX_BASE_ADDR;
  38. *ptr_header = InitShRegHeader;
  39. // Data for Shift Reg
  40. uint32_t *ptr = bar1 + LMX_BASE_ADDR;
  41. *ptr = 0x1<<SHIFT_REG_SW1_RF_BITP | 0x0 <<SHIFT_REG_SW2_RF_BITP | 0x1<<SHIFT_REG_SW_MIXER_RF | 0x1<<SHIFT_REG_GPIO_SW_015_RF_BITP | 0x1 << SHIFT_REG_SW_RF_BITP;
  42. }
  43. else if (freq > 3600e6 && freq <= 5500e6) {
  44. uint32_t *ptr_header = bar1 + LMX_BASE_ADDR;
  45. *ptr_header = InitShRegHeader;
  46. // Data for Shift Reg
  47. uint32_t *ptr = bar1 + LMX_BASE_ADDR;
  48. *ptr = 0x0<<SHIFT_REG_SW1_RF_BITP | 0x1<<SHIFT_REG_SW_MIXER_RF | 0x1<<SHIFT_REG_GPIO_SW_015_RF_BITP | 0x1 << SHIFT_REG_SW_RF_BITP;
  49. }
  50. else if (freq >5500e6 && freq <= 9000e6){
  51. uint32_t *ptr_header = bar1 + LMX_BASE_ADDR;
  52. *ptr_header = InitShRegHeader;
  53. // Data for Shift Reg
  54. uint32_t *ptr = bar1 + LMX_BASE_ADDR;
  55. *ptr = 0x1<<SHIFT_REG_SW_MIXER_RF | 0x1<<SHIFT_REG_GPIO_SW_015_RF_BITP | 0x0 << SHIFT_REG_SW_RF_BITP;
  56. }
  57. };