32#define totalAdcIOddPhase(i) caldata[0][i].u
33#define totalAdcIEvenPhase(i) caldata[1][i].u
34#define totalAdcQOddPhase(i) caldata[2][i].u
35#define totalAdcQEvenPhase(i) caldata[3][i].u
50 cal->totalAdcIOddPhase(i) +=
52 cal->totalAdcIEvenPhase(i) +=
54 cal->totalAdcQOddPhase(i) +=
56 cal->totalAdcQEvenPhase(i) +=
60 "%d: Chn %d oddi=0x%08x; eveni=0x%08x; oddq=0x%08x; evenq=0x%08x;\n",
62 cal->totalAdcIEvenPhase(i), cal->totalAdcQOddPhase(i),
63 cal->totalAdcQEvenPhase(i));
76 for (i = 0; i < numChains; i++) {
77 uint32_t iOddMeasOffset = cal->totalAdcIOddPhase(i);
78 uint32_t iEvenMeasOffset = cal->totalAdcIEvenPhase(i);
79 uint32_t qOddMeasOffset = cal->totalAdcQOddPhase(i);
80 uint32_t qEvenMeasOffset = cal->totalAdcQEvenPhase(i);
83 "Start ADC Gain Cal for Chain %d\n", i);
85 " pwr_meas_odd_i = 0x%08x\n", iOddMeasOffset);
87 " pwr_meas_even_i = 0x%08x\n", iEvenMeasOffset);
89 " pwr_meas_odd_q = 0x%08x\n", qOddMeasOffset);
91 " pwr_meas_even_q = 0x%08x\n", qEvenMeasOffset);
93 if (iOddMeasOffset != 0 && qEvenMeasOffset != 0) {
94 uint32_t iGainMismatch =
95 ((iEvenMeasOffset*32)/iOddMeasOffset) & 0x3f;
96 uint32_t qGainMismatch =
97 ((qOddMeasOffset*32)/qEvenMeasOffset) & 0x3f;
101 " gain_mismatch_i = 0x%08x\n",
104 " gain_mismatch_q = 0x%08x\n",
109 val |= (qGainMismatch) | (iGainMismatch << 6);
113 "ADC Gain Cal done for Chain %d\n", i);
#define AR5416_MAX_CHAINS
#define OS_REG_SET_BIT(_a, _r, _f)
#define HALDEBUG(_ah, __m,...)
#define OS_REG_WRITE(_ah, _reg, _val)
#define OS_REG_READ(_ah, _reg)
void ar5416AdcGainCalibration(struct ath_hal *ah, uint8_t numChains)
void ar5416AdcGainCalCollect(struct ath_hal *ah)
#define AR_PHY_CAL_MEAS_2(_i)
#define AR_PHY_CAL_MEAS_1(_i)
#define AR_PHY_NEW_ADC_DC_GAIN_CORR(_i)
#define AR_PHY_NEW_ADC_GAIN_CORR_ENABLE
#define AR_PHY_CAL_MEAS_3(_i)
#define AR_PHY_CAL_MEAS_0(_i)