|
|
@@ -4,7 +4,8 @@ uint32_t cfgReg = CFG_REG_RST_FOR_FPGA_OFF |
|
|
|
CFG_REG_WIDTH_SPI_TMSG_24_BIT |
|
|
|
CFG_REG_MOD_1 |
|
|
|
CFG_REG_LR_GPIO_0 |
|
|
|
- CFG_REG_HR_GPIO_0;
|
|
|
+ CFG_REG_HR_GPIO_0 |
|
|
|
+ CFG_REG_SPI_MODE_1MOSI;
|
|
|
|
|
|
uint32_t tmsgGpioReg = FPGA_AM_CTRL_0 |
|
|
|
DDS_SAW1_FPGA_0 |
|
|
|
@@ -95,7 +96,7 @@ void key_switch (void *bar1, double freq, double lmx_freq) {
|
|
|
}
|
|
|
else if (freq >5500e6 && freq <= 6000e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_MIXER_RF_1 | SHIFT_REG_GPIO_SW_015_RF_1 | SHIFT_REG_SW_RF_0;
|
|
|
+ *ptr = SHIFT_REG_SW_MIXER_RF_1 | SHIFT_REG_GPIO_SW_015_RF_1 | SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1;
|
|
|
}
|
|
|
// Header for GPIO_REG 1MOSI
|
|
|
*ptr = (SB_HEADER_SPI_MODE_1MOSI) |
|
|
|
@@ -113,33 +114,42 @@ void key_switch (void *bar1, double freq, double lmx_freq) {
|
|
|
else if (freq > 6000e6 && freq <= 27000e6) {
|
|
|
if (freq > 6000e6 && freq <= 7500e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_1;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_1;
|
|
|
+ // Data for GPIO_REG
|
|
|
+ SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_1);
|
|
|
+ SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_1);
|
|
|
}
|
|
|
else if (freq > 7500e6 && freq <= 9000e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_1;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_1;
|
|
|
+ // Data for GPIO_REG
|
|
|
+ SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_1);
|
|
|
+ SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_1);
|
|
|
}
|
|
|
else if (freq > 9000e6 && freq <= 15000e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_1;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_1;
|
|
|
+ // Data for GPIO_REG
|
|
|
+ SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_1);
|
|
|
+ SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_1);
|
|
|
}
|
|
|
else if (freq > 15000e6 && freq <= 18000e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
// Data for GPIO_REG
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_0); // temporary solution. need GPIO_ADRF_V1_1
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_1);
|
|
|
}
|
|
|
else if (freq > 18000e6 && freq <= 22000e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
// Data for GPIO_REG
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_0);
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_1);
|
|
|
}
|
|
|
else if (freq > 22000e6 && freq <= 27000e6){
|
|
|
// Data for Shift Regs
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
// Data for GPIO_REG
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_1);
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_0);
|
|
|
@@ -169,11 +179,11 @@ void key_switch (void *bar1, double freq, double lmx_freq) {
|
|
|
double freq_div2 = freq / 2;
|
|
|
if (freq_div2 > 13500e6 && freq_div2 <= 15000e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_1;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_1;
|
|
|
}
|
|
|
else if(freq_div2 > 15000e6 && freq_div2 <= 18000e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
// Data for GPIO_REG
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_0); // temporary solution. need GPIO_ADRF_V1_1
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_1);
|
|
|
@@ -181,7 +191,7 @@ void key_switch (void *bar1, double freq, double lmx_freq) {
|
|
|
else if (freq_div2 > 18000e6 && freq_div2 <= 18500e6)
|
|
|
{
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
// Data for GPIO_REG
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_0);
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_1);
|
|
|
@@ -208,16 +218,17 @@ void key_switch (void *bar1, double freq, double lmx_freq) {
|
|
|
*ptr = cfgReg;
|
|
|
}
|
|
|
else if (freq > 37000e6 && freq <= 45000e6) {
|
|
|
- if (freq / 2 > 18500e6 && freq / 2 <= 22000e6){
|
|
|
+ double freq_div2 = freq / 2;
|
|
|
+ if (freq_div2> 18500e6 && freq_div2 <= 22000e6){
|
|
|
// Data for Shift Reg
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
// Data for GPIO_REG
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_0);
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_1);
|
|
|
}
|
|
|
- else if(freq / 2 > 22000e6 && freq / 2 <= 27500e6){
|
|
|
+ else if(freq_div2 > 22000e6 && freq_div2 <= 27500e6){
|
|
|
// Data for Shift Regs
|
|
|
- *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_1 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
+ *ptr = SHIFT_REG_SW_RF_0 | SHIFT_REG_SW4_RF_0 | SHIFT_REG_GPIO_SW_015_RF_0 | SHIFT_REG_GPIO_SW_X2_RF_0;
|
|
|
// Data for GPIO_REG
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V1_BITM, GPIO_ADRF_V1_BITP, GPIO_ADRF_V1_1);
|
|
|
SET_REGISTER_PARAM(tmsgGpioReg, GPIO_ADRF_V2_BITM, GPIO_ADRF_V2_BITP, GPIO_ADRF_V2_0);
|