Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66cd8d6e authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Greg Kroah-Hartman
Browse files

Staging: rt28x0: run *.c files through Lindent

parent 460bb8df
Loading
Loading
Loading
Loading
+29 −45
Original line number Original line Diff line number Diff line
@@ -39,12 +39,10 @@


#include "../rt_config.h"
#include "../rt_config.h"



#ifndef RTMP_RF_RW_SUPPORT
#ifndef RTMP_RF_RW_SUPPORT
#error "You Should Enable compile flag RTMP_RF_RW_SUPPORT for this chip"
#error "You Should Enable compile flag RTMP_RF_RW_SUPPORT for this chip"
#endif // RTMP_RF_RW_SUPPORT //
#endif // RTMP_RF_RW_SUPPORT //



VOID NICInitRT3070RFRegisters(IN PRTMP_ADAPTER pAd)
VOID NICInitRT3070RFRegisters(IN PRTMP_ADAPTER pAd)
{
{
	INT i;
	INT i;
@@ -52,8 +50,7 @@ VOID NICInitRT3070RFRegisters(IN PRTMP_ADAPTER pAd)


	// Driver must read EEPROM to get RfIcType before initial RF registers
	// Driver must read EEPROM to get RfIcType before initial RF registers
	// Initialize RF register to default value
	// Initialize RF register to default value
	if (IS_RT3070(pAd) || IS_RT3071(pAd))
	if (IS_RT3070(pAd) || IS_RT3071(pAd)) {
	{
		// Init RF calibration
		// Init RF calibration
		// Driver should toggle RF R30 bit7 before init RF registers
		// Driver should toggle RF R30 bit7 before init RF registers
		UINT32 RfReg = 0;
		UINT32 RfReg = 0;
@@ -67,28 +64,25 @@ VOID NICInitRT3070RFRegisters(IN PRTMP_ADAPTER pAd)
		RT30xxWriteRFRegister(pAd, RF_R30, (UCHAR) RfReg);
		RT30xxWriteRFRegister(pAd, RF_R30, (UCHAR) RfReg);


		// Initialize RF register to default value
		// Initialize RF register to default value
		for (i = 0; i < NUM_RF_REG_PARMS; i++)
		for (i = 0; i < NUM_RF_REG_PARMS; i++) {
		{
			RT30xxWriteRFRegister(pAd,
			RT30xxWriteRFRegister(pAd, RT30xx_RFRegTable[i].Register, RT30xx_RFRegTable[i].Value);
					      RT30xx_RFRegTable[i].Register,
					      RT30xx_RFRegTable[i].Value);
		}
		}


		// add by johnli
		// add by johnli
		if (IS_RT3070(pAd))
		if (IS_RT3070(pAd)) {
		{
			//
			//
			// The DAC issue(LDO_CFG0) has been fixed in RT3070(F).
			// The DAC issue(LDO_CFG0) has been fixed in RT3070(F).
			// The voltage raising patch is no longer needed for RT3070(F)
			// The voltage raising patch is no longer needed for RT3070(F)
			//
			//
			if ((pAd->MACVersion & 0xffff) < 0x0201)
			if ((pAd->MACVersion & 0xffff) < 0x0201) {
			{
				//  Update MAC 0x05D4 from 01xxxxxx to 0Dxxxxxx (voltage 1.2V to 1.35V) for RT3070 to improve yield rate
				//  Update MAC 0x05D4 from 01xxxxxx to 0Dxxxxxx (voltage 1.2V to 1.35V) for RT3070 to improve yield rate
				RTUSBReadMACRegister(pAd, LDO_CFG0, &data);
				RTUSBReadMACRegister(pAd, LDO_CFG0, &data);
				data = ((data & 0xF0FFFFFF) | 0x0D000000);
				data = ((data & 0xF0FFFFFF) | 0x0D000000);
				RTUSBWriteMACRegister(pAd, LDO_CFG0, data);
				RTUSBWriteMACRegister(pAd, LDO_CFG0, data);
			}
			}
		}
		} else if (IS_RT3071(pAd)) {
		else if (IS_RT3071(pAd))
		{
			// Driver should set RF R6 bit6 on before init RF registers
			// Driver should set RF R6 bit6 on before init RF registers
			RT30xxReadRFRegister(pAd, RF_R06, (PUCHAR) & RfReg);
			RT30xxReadRFRegister(pAd, RF_R06, (PUCHAR) & RfReg);
			RfReg |= 0x40;
			RfReg |= 0x40;
@@ -98,15 +92,13 @@ VOID NICInitRT3070RFRegisters(IN PRTMP_ADAPTER pAd)
			RT30xxWriteRFRegister(pAd, RF_R31, 0x14);
			RT30xxWriteRFRegister(pAd, RF_R31, 0x14);


			// RT3071 version E has fixed this issue
			// RT3071 version E has fixed this issue
			if ((pAd->NicConfig2.field.DACTestBit == 1) && ((pAd->MACVersion & 0xffff) < 0x0211))
			if ((pAd->NicConfig2.field.DACTestBit == 1)
			{
			    && ((pAd->MACVersion & 0xffff) < 0x0211)) {
				// patch tx EVM issue temporarily
				// patch tx EVM issue temporarily
				RTUSBReadMACRegister(pAd, LDO_CFG0, &data);
				RTUSBReadMACRegister(pAd, LDO_CFG0, &data);
				data = ((data & 0xE0FFFFFF) | 0x0D000000);
				data = ((data & 0xE0FFFFFF) | 0x0D000000);
				RTUSBWriteMACRegister(pAd, LDO_CFG0, data);
				RTUSBWriteMACRegister(pAd, LDO_CFG0, data);
			}
			} else {
			else
			{
				RTMP_IO_READ32(pAd, LDO_CFG0, &data);
				RTMP_IO_READ32(pAd, LDO_CFG0, &data);
				data = ((data & 0xE0FFFFFF) | 0x01000000);
				data = ((data & 0xE0FFFFFF) | 0x01000000);
				RTMP_IO_WRITE32(pAd, LDO_CFG0, data);
				RTMP_IO_WRITE32(pAd, LDO_CFG0, data);
@@ -117,7 +109,6 @@ VOID NICInitRT3070RFRegisters(IN PRTMP_ADAPTER pAd)
			data &= ~(0x20);
			data &= ~(0x20);
			RTUSBWriteMACRegister(pAd, GPIO_SWITCH, data);
			RTUSBWriteMACRegister(pAd, GPIO_SWITCH, data);
		}
		}

		//For RF filter Calibration
		//For RF filter Calibration
		RTMPFilterCalibration(pAd);
		RTMPFilterCalibration(pAd);


@@ -126,15 +117,12 @@ VOID NICInitRT3070RFRegisters(IN PRTMP_ADAPTER pAd)
		// TX to RX IQ glitch(RF_R27) has been fixed in RT3070(F).
		// TX to RX IQ glitch(RF_R27) has been fixed in RT3070(F).
		// Raising RF voltage is no longer needed for RT3070(F)
		// Raising RF voltage is no longer needed for RT3070(F)
		//
		//
		if ((IS_RT3070(pAd)) && ((pAd->MACVersion & 0xffff) < 0x0201))
		if ((IS_RT3070(pAd)) && ((pAd->MACVersion & 0xffff) < 0x0201)) {
		{
			RT30xxWriteRFRegister(pAd, RF_R27, 0x3);
			RT30xxWriteRFRegister(pAd, RF_R27, 0x3);
		}
		} else if ((IS_RT3071(pAd))
		else if ((IS_RT3071(pAd)) && ((pAd->MACVersion & 0xffff) < 0x0211))
			   && ((pAd->MACVersion & 0xffff) < 0x0211)) {
		{
			RT30xxWriteRFRegister(pAd, RF_R27, 0x3);
			RT30xxWriteRFRegister(pAd, RF_R27, 0x3);
		}
		}

		// set led open drain enable
		// set led open drain enable
		RTUSBReadMACRegister(pAd, OPT_14, &data);
		RTUSBReadMACRegister(pAd, OPT_14, &data);
		data |= 0x01;
		data |= 0x01;
@@ -145,28 +133,24 @@ VOID NICInitRT3070RFRegisters(IN PRTMP_ADAPTER pAd)
		RT30xxReadRFRegister(pAd, RF_R17, &RFValue);
		RT30xxReadRFRegister(pAd, RF_R17, &RFValue);
		RFValue &= (~0x08);
		RFValue &= (~0x08);
		// to fix rx long range issue
		// to fix rx long range issue
		if (pAd->NicConfig2.field.ExternalLNAForG == 0)
		if (pAd->NicConfig2.field.ExternalLNAForG == 0) {
		{
			if ((IS_RT3071(pAd)
			if ((IS_RT3071(pAd) && ((pAd->MACVersion & 0xffff) >= 0x0211)) || IS_RT3070(pAd))
			     && ((pAd->MACVersion & 0xffff) >= 0x0211))
			{
			    || IS_RT3070(pAd)) {
				RFValue |= 0x20;
				RFValue |= 0x20;
			}
			}
		}
		}
		// set RF_R17_bit[2:0] equal to EEPROM setting at 0x48h
		// set RF_R17_bit[2:0] equal to EEPROM setting at 0x48h
		if (pAd->TxMixerGain24G >= 1)
		if (pAd->TxMixerGain24G >= 1) {
		{
			RFValue &= (~0x7);	// clean bit [2:0]
			RFValue &= (~0x7);	// clean bit [2:0]
			RFValue |= pAd->TxMixerGain24G;
			RFValue |= pAd->TxMixerGain24G;
		}
		}
		RT30xxWriteRFRegister(pAd, RF_R17, RFValue);
		RT30xxWriteRFRegister(pAd, RF_R17, RFValue);


		if (IS_RT3071(pAd))
		if (IS_RT3071(pAd)) {
		{
			// add by johnli, RF power sequence setup, load RF normal operation-mode setup
			// add by johnli, RF power sequence setup, load RF normal operation-mode setup
			RT30xxLoadRFNormalModeSetup(pAd);
			RT30xxLoadRFNormalModeSetup(pAd);
		}
		} else if (IS_RT3070(pAd)) {
		else if (IS_RT3070(pAd))
		{
			/* add by johnli, reset RF_R27 when interface down & up to fix throughput problem */
			/* add by johnli, reset RF_R27 when interface down & up to fix throughput problem */
			// LDORF_VC, RF R27 register Bit 2 to 0
			// LDORF_VC, RF R27 register Bit 2 to 0
			RT30xxReadRFRegister(pAd, RF_R27, &RFValue);
			RT30xxReadRFRegister(pAd, RF_R27, &RFValue);
+14 −18
Original line number Original line Diff line number Diff line
@@ -39,19 +39,16 @@


#include "../rt_config.h"
#include "../rt_config.h"



#ifndef RTMP_RF_RW_SUPPORT
#ifndef RTMP_RF_RW_SUPPORT
#error "You Should Enable compile flag RTMP_RF_RW_SUPPORT for this chip"
#error "You Should Enable compile flag RTMP_RF_RW_SUPPORT for this chip"
#endif // RTMP_RF_RW_SUPPORT //
#endif // RTMP_RF_RW_SUPPORT //



VOID NICInitRT3090RFRegisters(IN PRTMP_ADAPTER pAd)
VOID NICInitRT3090RFRegisters(IN PRTMP_ADAPTER pAd)
{
{
	INT i;
	INT i;
	// Driver must read EEPROM to get RfIcType before initial RF registers
	// Driver must read EEPROM to get RfIcType before initial RF registers
	// Initialize RF register to default value
	// Initialize RF register to default value
	if (IS_RT3090(pAd))
	if (IS_RT3090(pAd)) {
	{
		// Init RF calibration
		// Init RF calibration
		// Driver should toggle RF R30 bit7 before init RF registers
		// Driver should toggle RF R30 bit7 before init RF registers
		UINT32 RfReg = 0, data;
		UINT32 RfReg = 0, data;
@@ -68,15 +65,13 @@ VOID NICInitRT3090RFRegisters(IN PRTMP_ADAPTER pAd)
		RT30xxWriteRFRegister(pAd, RF_R31, 0x0F);
		RT30xxWriteRFRegister(pAd, RF_R31, 0x0F);


		// RT309x version E has fixed this issue
		// RT309x version E has fixed this issue
		if ((pAd->NicConfig2.field.DACTestBit == 1) && ((pAd->MACVersion & 0xffff) < 0x0211))
		if ((pAd->NicConfig2.field.DACTestBit == 1)
		{
		    && ((pAd->MACVersion & 0xffff) < 0x0211)) {
			// patch tx EVM issue temporarily
			// patch tx EVM issue temporarily
			RTMP_IO_READ32(pAd, LDO_CFG0, &data);
			RTMP_IO_READ32(pAd, LDO_CFG0, &data);
			data = ((data & 0xE0FFFFFF) | 0x0D000000);
			data = ((data & 0xE0FFFFFF) | 0x0D000000);
			RTMP_IO_WRITE32(pAd, LDO_CFG0, data);
			RTMP_IO_WRITE32(pAd, LDO_CFG0, data);
		}
		} else {
		else
		{
			RTMP_IO_READ32(pAd, LDO_CFG0, &data);
			RTMP_IO_READ32(pAd, LDO_CFG0, &data);
			data = ((data & 0xE0FFFFFF) | 0x01000000);
			data = ((data & 0xE0FFFFFF) | 0x01000000);
			RTMP_IO_WRITE32(pAd, LDO_CFG0, data);
			RTMP_IO_WRITE32(pAd, LDO_CFG0, data);
@@ -88,9 +83,10 @@ VOID NICInitRT3090RFRegisters(IN PRTMP_ADAPTER pAd)
		RTMP_IO_WRITE32(pAd, GPIO_SWITCH, data);
		RTMP_IO_WRITE32(pAd, GPIO_SWITCH, data);


		// Initialize RF register to default value
		// Initialize RF register to default value
		for (i = 0; i < NUM_RF_REG_PARMS; i++)
		for (i = 0; i < NUM_RF_REG_PARMS; i++) {
		{
			RT30xxWriteRFRegister(pAd,
			RT30xxWriteRFRegister(pAd, RT30xx_RFRegTable[i].Register, RT30xx_RFRegTable[i].Value);
					      RT30xx_RFRegTable[i].Register,
					      RT30xx_RFRegTable[i].Value);
		}
		}


		// Driver should set RF R6 bit6 on before calibration
		// Driver should set RF R6 bit6 on before calibration
+126 −147
Original line number Original line Diff line number Diff line
@@ -35,55 +35,67 @@
	--------    ----------    ----------------------------------------------
	--------    ----------    ----------------------------------------------
*/
*/



#ifdef RT30xx
#ifdef RT30xx



#ifndef RTMP_RF_RW_SUPPORT
#ifndef RTMP_RF_RW_SUPPORT
#error "You Should Enable compile flag RTMP_RF_RW_SUPPORT for this chip"
#error "You Should Enable compile flag RTMP_RF_RW_SUPPORT for this chip"
#endif // RTMP_RF_RW_SUPPORT //
#endif // RTMP_RF_RW_SUPPORT //


#include "../rt_config.h"
#include "../rt_config.h"



//
//
// RF register initialization set
// RF register initialization set
//
//
REG_PAIR RT30xx_RFRegTable[] = {
REG_PAIR RT30xx_RFRegTable[] = {
        {RF_R04,          0x40},
	{RF_R04, 0x40}
        {RF_R05,          0x03},
	,
        {RF_R06,          0x02},
	{RF_R05, 0x03}
        {RF_R07,          0x70},
	,
        {RF_R09,          0x0F},
	{RF_R06, 0x02}
        {RF_R10,          0x41},
	,
        {RF_R11,          0x21},
	{RF_R07, 0x70}
        {RF_R12,          0x7B},
	,
        {RF_R14,          0x90},
	{RF_R09, 0x0F}
        {RF_R15,          0x58},
	,
        {RF_R16,          0xB3},
	{RF_R10, 0x41}
        {RF_R17,          0x92},
	,
        {RF_R18,          0x2C},
	{RF_R11, 0x21}
        {RF_R19,          0x02},
	,
        {RF_R20,          0xBA},
	{RF_R12, 0x7B}
        {RF_R21,          0xDB},
	,
        {RF_R24,          0x16},
	{RF_R14, 0x90}
        {RF_R25,          0x01},
	,
        {RF_R29,          0x1F},
	{RF_R15, 0x58}
	,
	{RF_R16, 0xB3}
	,
	{RF_R17, 0x92}
	,
	{RF_R18, 0x2C}
	,
	{RF_R19, 0x02}
	,
	{RF_R20, 0xBA}
	,
	{RF_R21, 0xDB}
	,
	{RF_R24, 0x16}
	,
	{RF_R25, 0x01}
	,
	{RF_R29, 0x1F}
	,
};
};


UCHAR NUM_RF_REG_PARMS = (sizeof(RT30xx_RFRegTable) / sizeof(REG_PAIR));
UCHAR NUM_RF_REG_PARMS = (sizeof(RT30xx_RFRegTable) / sizeof(REG_PAIR));




// Antenna divesity use GPIO3 and EESK pin for control
// Antenna divesity use GPIO3 and EESK pin for control
// Antenna and EEPROM access are both using EESK pin,
// Antenna and EEPROM access are both using EESK pin,
// Therefor we should avoid accessing EESK at the same time
// Therefor we should avoid accessing EESK at the same time
// Then restore antenna after EEPROM access
// Then restore antenna after EEPROM access
// The original name of this function is AsicSetRxAnt(), now change to
// The original name of this function is AsicSetRxAnt(), now change to
//VOID AsicSetRxAnt(
//VOID AsicSetRxAnt(
VOID RT30xxSetRxAnt(
VOID RT30xxSetRxAnt(IN PRTMP_ADAPTER pAd, IN UCHAR Ant)
	IN PRTMP_ADAPTER	pAd,
	IN UCHAR			Ant)
{
{
	UINT32 Value;
	UINT32 Value;
#ifdef RTMP_MAC_PCI
#ifdef RTMP_MAC_PCI
@@ -94,14 +106,11 @@ VOID RT30xxSetRxAnt(
	    (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)) ||
	    (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)) ||
	    (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS)) ||
	    (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS)) ||
	    (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) ||
	    (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) ||
		(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))
	    (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))) {
	{
		return;
		return;
	}
	}

	// the antenna selection is through firmware and MAC register(GPIO3)
	// the antenna selection is through firmware and MAC register(GPIO3)
	if (Ant == 0)
	if (Ant == 0) {
	{
		// Main antenna
		// Main antenna
#ifdef RTMP_MAC_PCI
#ifdef RTMP_MAC_PCI
		RTMP_IO_READ32(pAd, E2PROM_CSR, &x);
		RTMP_IO_READ32(pAd, E2PROM_CSR, &x);
@@ -114,10 +123,9 @@ VOID RT30xxSetRxAnt(
		RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
		RTMP_IO_READ32(pAd, GPIO_CTRL_CFG, &Value);
		Value &= ~(0x0808);
		Value &= ~(0x0808);
		RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
		RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
		DBGPRINT_RAW(RT_DEBUG_TRACE, ("AsicSetRxAnt, switch to main antenna\n"));
		DBGPRINT_RAW(RT_DEBUG_TRACE,
	}
			     ("AsicSetRxAnt, switch to main antenna\n"));
	else
	} else {
	{
		// Aux antenna
		// Aux antenna
#ifdef RTMP_MAC_PCI
#ifdef RTMP_MAC_PCI
		RTMP_IO_READ32(pAd, E2PROM_CSR, &x);
		RTMP_IO_READ32(pAd, E2PROM_CSR, &x);
@@ -130,11 +138,11 @@ VOID RT30xxSetRxAnt(
		Value &= ~(0x0808);
		Value &= ~(0x0808);
		Value |= 0x08;
		Value |= 0x08;
		RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
		RTMP_IO_WRITE32(pAd, GPIO_CTRL_CFG, Value);
		DBGPRINT_RAW(RT_DEBUG_TRACE, ("AsicSetRxAnt, switch to aux antenna\n"));
		DBGPRINT_RAW(RT_DEBUG_TRACE,
			     ("AsicSetRxAnt, switch to aux antenna\n"));
	}
	}
}
}



/*
/*
	========================================================================
	========================================================================


@@ -151,8 +159,7 @@ VOID RT30xxSetRxAnt(


	========================================================================
	========================================================================
*/
*/
VOID RTMPFilterCalibration(
VOID RTMPFilterCalibration(IN PRTMP_ADAPTER pAd)
	IN PRTMP_ADAPTER pAd)
{
{
	UCHAR R55x = 0, value, FilterTarget = 0x1E, BBPValue = 0;
	UCHAR R55x = 0, value, FilterTarget = 0x1E, BBPValue = 0;
	UINT loop = 0, count = 0, loopcnt = 0, ReTry = 0;
	UINT loop = 0, count = 0, loopcnt = 0, ReTry = 0;
@@ -162,8 +169,7 @@ VOID RTMPFilterCalibration(
	pAd->Mlme.CaliBW20RfR24 = 0x1F;
	pAd->Mlme.CaliBW20RfR24 = 0x1F;
	pAd->Mlme.CaliBW40RfR24 = 0x2F;	//Bit[5] must be 1 for BW 40
	pAd->Mlme.CaliBW40RfR24 = 0x2F;	//Bit[5] must be 1 for BW 40


	do
	do {
	{
		if (loop == 1)	//BandWidth = 40 MHz
		if (loop == 1)	//BandWidth = 40 MHz
		{
		{
			// Write 0x27 to RF_R24 to program filter
			// Write 0x27 to RF_R24 to program filter
@@ -184,8 +190,7 @@ VOID RTMPFilterCalibration(
			RT30xxReadRFRegister(pAd, RF_R31, &value);
			RT30xxReadRFRegister(pAd, RF_R31, &value);
			value |= 0x20;
			value |= 0x20;
			RT30xxWriteRFRegister(pAd, RF_R31, value);
			RT30xxWriteRFRegister(pAd, RF_R31, value);
		}
		} else		//BandWidth = 20 MHz
		else			//BandWidth = 20 MHz
		{
		{
			// Write 0x07 to RF_R24 to program filter
			// Write 0x07 to RF_R24 to program filter
			RF_R24_Value = 0x07;
			RF_R24_Value = 0x07;
@@ -209,8 +214,7 @@ VOID RTMPFilterCalibration(
		// Write 0x00 to BBP_R24 to set power & frequency of passband test tone
		// Write 0x00 to BBP_R24 to set power & frequency of passband test tone
		RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R24, 0);
		RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R24, 0);


		do
		do {
		{
			// Write 0x90 to BBP_R25 to transmit test tone
			// Write 0x90 to BBP_R25 to transmit test tone
			RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R25, 0x90);
			RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R25, 0x90);


@@ -224,8 +228,7 @@ VOID RTMPFilterCalibration(
		// Write 0x06 to BBP_R24 to set power & frequency of stopband test tone
		// Write 0x06 to BBP_R24 to set power & frequency of stopband test tone
		RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R24, 0x06);
		RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R24, 0x06);


		while(TRUE)
		while (TRUE) {
		{
			// Write 0x90 to BBP_R25 to transmit test tone
			// Write 0x90 to BBP_R25 to transmit test tone
			RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R25, 0x90);
			RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R25, 0x90);


@@ -233,52 +236,40 @@ VOID RTMPFilterCalibration(
			RTMPusecDelay(1000);
			RTMPusecDelay(1000);
			RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R55, &value);
			RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R55, &value);
			value &= 0xFF;
			value &= 0xFF;
			if ((R55x - value) < FilterTarget)
			if ((R55x - value) < FilterTarget) {
			{
				RF_R24_Value++;
				RF_R24_Value++;
			}
			} else if ((R55x - value) == FilterTarget) {
			else if ((R55x - value) == FilterTarget)
			{
				RF_R24_Value++;
				RF_R24_Value++;
				count++;
				count++;
			}
			} else {
			else
			{
				break;
				break;
			}
			}


			// prevent infinite loop cause driver hang.
			// prevent infinite loop cause driver hang.
			if (loopcnt++ > 100)
			if (loopcnt++ > 100) {
			{
				DBGPRINT(RT_DEBUG_ERROR,
				DBGPRINT(RT_DEBUG_ERROR, ("RTMPFilterCalibration - can't find a valid value, loopcnt=%d stop calibrating", loopcnt));
					 ("RTMPFilterCalibration - can't find a valid value, loopcnt=%d stop calibrating",
					  loopcnt));
				break;
				break;
			}
			}

			// Write RF_R24 to program filter
			// Write RF_R24 to program filter
			RT30xxWriteRFRegister(pAd, RF_R24, RF_R24_Value);
			RT30xxWriteRFRegister(pAd, RF_R24, RF_R24_Value);
		}
		}


		if (count > 0)
		if (count > 0) {
		{
			RF_R24_Value = RF_R24_Value - ((count) ? (1) : (0));
			RF_R24_Value = RF_R24_Value - ((count) ? (1) : (0));
		}
		}

		// Store for future usage
		// Store for future usage
		if (loopcnt < 100)
		if (loopcnt < 100) {
		{
			if (loop++ == 0) {
			if (loop++ == 0)
			{
				//BandWidth = 20 MHz
				//BandWidth = 20 MHz
				pAd->Mlme.CaliBW20RfR24 = (UCHAR) RF_R24_Value;
				pAd->Mlme.CaliBW20RfR24 = (UCHAR) RF_R24_Value;
			}
			} else {
			else
			{
				//BandWidth = 40 MHz
				//BandWidth = 40 MHz
				pAd->Mlme.CaliBW40RfR24 = (UCHAR) RF_R24_Value;
				pAd->Mlme.CaliBW40RfR24 = (UCHAR) RF_R24_Value;
				break;
				break;
			}
			}
		}
		} else
		else
			break;
			break;


		RT30xxWriteRFRegister(pAd, RF_R24, RF_R24_Value);
		RT30xxWriteRFRegister(pAd, RF_R24, RF_R24_Value);
@@ -301,10 +292,11 @@ VOID RTMPFilterCalibration(
	BBPValue &= (~0x18);
	BBPValue &= (~0x18);
	RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R4, BBPValue);
	RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R4, BBPValue);


	DBGPRINT(RT_DEBUG_TRACE, ("RTMPFilterCalibration - CaliBW20RfR24=0x%x, CaliBW40RfR24=0x%x\n", pAd->Mlme.CaliBW20RfR24, pAd->Mlme.CaliBW40RfR24));
	DBGPRINT(RT_DEBUG_TRACE,
		 ("RTMPFilterCalibration - CaliBW20RfR24=0x%x, CaliBW40RfR24=0x%x\n",
		  pAd->Mlme.CaliBW20RfR24, pAd->Mlme.CaliBW40RfR24));
}
}



// add by johnli, RF power sequence setup
// add by johnli, RF power sequence setup
/*
/*
	==========================================================================
	==========================================================================
@@ -314,8 +306,7 @@ VOID RTMPFilterCalibration(


	==========================================================================
	==========================================================================
 */
 */
VOID RT30xxLoadRFNormalModeSetup(
VOID RT30xxLoadRFNormalModeSetup(IN PRTMP_ADAPTER pAd)
	IN PRTMP_ADAPTER	pAd)
{
{
	UCHAR RFValue;
	UCHAR RFValue;


@@ -381,13 +372,11 @@ VOID RT30xxLoadRFNormalModeSetup(


	==========================================================================
	==========================================================================
 */
 */
VOID RT30xxLoadRFSleepModeSetup(
VOID RT30xxLoadRFSleepModeSetup(IN PRTMP_ADAPTER pAd)
	IN PRTMP_ADAPTER	pAd)
{
{
	UCHAR RFValue;
	UCHAR RFValue;
	UINT32 MACValue;
	UINT32 MACValue;



#ifdef RTMP_MAC_USB
#ifdef RTMP_MAC_USB
	if (!IS_RT3572(pAd))
	if (!IS_RT3572(pAd))
#endif // RTMP_MAC_USB //
#endif // RTMP_MAC_USB //
@@ -415,8 +404,7 @@ VOID RT30xxLoadRFSleepModeSetup(


	if (IS_RT3090(pAd) ||	// IS_RT3090 including RT309x and RT3071/72
	if (IS_RT3090(pAd) ||	// IS_RT3090 including RT309x and RT3071/72
	    IS_RT3572(pAd) ||
	    IS_RT3572(pAd) ||
		(IS_RT3070(pAd) && ((pAd->MACVersion & 0xffff) < 0x0201)))
	    (IS_RT3070(pAd) && ((pAd->MACVersion & 0xffff) < 0x0201))) {
	{
#ifdef RTMP_MAC_USB
#ifdef RTMP_MAC_USB
		if (!IS_RT3572(pAd))
		if (!IS_RT3572(pAd))
#endif // RTMP_MAC_USB //
#endif // RTMP_MAC_USB //
@@ -440,8 +428,7 @@ VOID RT30xxLoadRFSleepModeSetup(


	==========================================================================
	==========================================================================
 */
 */
VOID RT30xxReverseRFSleepModeSetup(
VOID RT30xxReverseRFSleepModeSetup(IN PRTMP_ADAPTER pAd)
	IN PRTMP_ADAPTER	pAd)
{
{
	UCHAR RFValue;
	UCHAR RFValue;
	UINT32 MACValue;
	UINT32 MACValue;
@@ -474,8 +461,7 @@ VOID RT30xxReverseRFSleepModeSetup(
	if (IS_RT3090(pAd) ||	// IS_RT3090 including RT309x and RT3071/72
	if (IS_RT3090(pAd) ||	// IS_RT3090 including RT309x and RT3071/72
	    IS_RT3572(pAd) ||
	    IS_RT3572(pAd) ||
	    IS_RT3390(pAd) ||
	    IS_RT3390(pAd) ||
		(IS_RT3070(pAd) && ((pAd->MACVersion & 0xffff) < 0x0201)))
	    (IS_RT3070(pAd) && ((pAd->MACVersion & 0xffff) < 0x0201))) {
	{
#ifdef RTMP_MAC_USB
#ifdef RTMP_MAC_USB
		if (!IS_RT3572(pAd))
		if (!IS_RT3572(pAd))
#endif // RTMP_MAC_USB //
#endif // RTMP_MAC_USB //
@@ -487,17 +473,14 @@ VOID RT30xxReverseRFSleepModeSetup(
				RFValue = (RFValue & (~0x77));
				RFValue = (RFValue & (~0x77));
			RT30xxWriteRFRegister(pAd, RF_R27, RFValue);
			RT30xxWriteRFRegister(pAd, RF_R27, RFValue);
		}
		}

		// RT3071 version E has fixed this issue
		// RT3071 version E has fixed this issue
		if ((pAd->NicConfig2.field.DACTestBit == 1) && ((pAd->MACVersion & 0xffff) < 0x0211))
		if ((pAd->NicConfig2.field.DACTestBit == 1)
		{
		    && ((pAd->MACVersion & 0xffff) < 0x0211)) {
			// patch tx EVM issue temporarily
			// patch tx EVM issue temporarily
			RTMP_IO_READ32(pAd, LDO_CFG0, &MACValue);
			RTMP_IO_READ32(pAd, LDO_CFG0, &MACValue);
			MACValue = ((MACValue & 0xE0FFFFFF) | 0x0D000000);
			MACValue = ((MACValue & 0xE0FFFFFF) | 0x0D000000);
			RTMP_IO_WRITE32(pAd, LDO_CFG0, MACValue);
			RTMP_IO_WRITE32(pAd, LDO_CFG0, MACValue);
		}
		} else {
		else
		{
			RTMP_IO_READ32(pAd, LDO_CFG0, &MACValue);
			RTMP_IO_READ32(pAd, LDO_CFG0, &MACValue);
			MACValue = ((MACValue & 0xE0FFFFFF) | 0x01000000);
			MACValue = ((MACValue & 0xE0FFFFFF) | 0x01000000);
			RTMP_IO_WRITE32(pAd, LDO_CFG0, MACValue);
			RTMP_IO_WRITE32(pAd, LDO_CFG0, MACValue);
@@ -507,28 +490,24 @@ VOID RT30xxReverseRFSleepModeSetup(
	if (IS_RT3572(pAd))
	if (IS_RT3572(pAd))
		RT30xxWriteRFRegister(pAd, RF_R08, 0x80);
		RT30xxWriteRFRegister(pAd, RF_R08, 0x80);
}
}

// end johnli
// end johnli


VOID RT30xxHaltAction(
VOID RT30xxHaltAction(IN PRTMP_ADAPTER pAd)
	IN PRTMP_ADAPTER	pAd)
{
{
	UINT32 TxPinCfg = 0x00050F0F;
	UINT32 TxPinCfg = 0x00050F0F;


	//
	//
	// Turn off LNA_PE or TRSW_POL
	// Turn off LNA_PE or TRSW_POL
	//
	//
	if (IS_RT3070(pAd) || IS_RT3071(pAd) || IS_RT3572(pAd))
	if (IS_RT3070(pAd) || IS_RT3071(pAd) || IS_RT3572(pAd)) {
	{
		if ((IS_RT3071(pAd) || IS_RT3572(pAd))
		if ((IS_RT3071(pAd) || IS_RT3572(pAd))
#ifdef RTMP_EFUSE_SUPPORT
#ifdef RTMP_EFUSE_SUPPORT
		    && (pAd->bUseEfuse)
		    && (pAd->bUseEfuse)
#endif // RTMP_EFUSE_SUPPORT //
#endif // RTMP_EFUSE_SUPPORT //
			)
		    ) {
		{
			TxPinCfg &= 0xFFFBF0F0;	// bit18 off
			TxPinCfg &= 0xFFFBF0F0;	// bit18 off
		}
		} else {
		else
		{
			TxPinCfg &= 0xFFFFF0F0;
			TxPinCfg &= 0xFFFFF0F0;
		}
		}


+505 −511

File changed.

Preview size limit exceeded, changes collapsed.

+479 −588

File changed.

Preview size limit exceeded, changes collapsed.

Loading