diff options
Diffstat (limited to 'drivers/staging/rtl8723au/core/rtw_efuse.c')
-rw-r--r-- | drivers/staging/rtl8723au/core/rtw_efuse.c | 363 |
1 files changed, 213 insertions, 150 deletions
diff --git a/drivers/staging/rtl8723au/core/rtw_efuse.c b/drivers/staging/rtl8723au/core/rtw_efuse.c index 35b177fd0510..cc063cbc49bb 100644 --- a/drivers/staging/rtl8723au/core/rtw_efuse.c +++ b/drivers/staging/rtl8723au/core/rtw_efuse.c @@ -18,6 +18,8 @@ #include <drv_types.h> #include <rtw_efuse.h> +#include <rtl8723a_hal.h> +#include <usb_ops_linux.h> /*------------------------Define local variable------------------------------*/ @@ -26,8 +28,11 @@ #define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */ /* */ +#define VOLTAGE_V25 0x03 +#define LDOE25_SHIFT 28 + /*----------------------------------------------------------------------------- - * Function: Efuse_PowerSwitch23a + * Function: Efuse_PowerSwitch * * Overview: When we want to enable write operation, we should change to * pwr on state. When we stop write, we should switch to 500k mode @@ -44,13 +49,55 @@ * 11/17/2008 MHC Create Version 0. * *---------------------------------------------------------------------------*/ -void -Efuse_PowerSwitch23a( - struct rtw_adapter * pAdapter, - u8 bWrite, - u8 PwrState) +static void Efuse_PowerSwitch(struct rtw_adapter *padapter, + u8 bWrite, u8 PwrState) { - pAdapter->HalFunc.EfusePowerSwitch(pAdapter, bWrite, PwrState); + u8 tempval; + u16 tmpV16; + + if (PwrState == true) { + rtl8723au_write8(padapter, REG_EFUSE_ACCESS, EFUSE_ACCESS_ON); + + /* 1.2V Power: From VDDON with Power + Cut(0x0000h[15]), defualt valid */ + tmpV16 = rtl8723au_read16(padapter, REG_SYS_ISO_CTRL); + if (!(tmpV16 & PWC_EV12V)) { + tmpV16 |= PWC_EV12V; + rtl8723au_write16(padapter, REG_SYS_ISO_CTRL, tmpV16); + } + /* Reset: 0x0000h[28], default valid */ + tmpV16 = rtl8723au_read16(padapter, REG_SYS_FUNC_EN); + if (!(tmpV16 & FEN_ELDR)) { + tmpV16 |= FEN_ELDR; + rtl8723au_write16(padapter, REG_SYS_FUNC_EN, tmpV16); + } + + /* Clock: Gated(0x0008h[5]) 8M(0x0008h[1]) clock + from ANA, default valid */ + tmpV16 = rtl8723au_read16(padapter, REG_SYS_CLKR); + if ((!(tmpV16 & LOADER_CLK_EN)) || (!(tmpV16 & ANA8M))) { + tmpV16 |= (LOADER_CLK_EN | ANA8M); + rtl8723au_write16(padapter, REG_SYS_CLKR, tmpV16); + } + + if (bWrite == true) { + /* Enable LDO 2.5V before read/write action */ + tempval = rtl8723au_read8(padapter, EFUSE_TEST + 3); + tempval &= 0x0F; + tempval |= (VOLTAGE_V25 << 4); + rtl8723au_write8(padapter, EFUSE_TEST + 3, + tempval | 0x80); + } + } else { + rtl8723au_write8(padapter, REG_EFUSE_ACCESS, EFUSE_ACCESS_OFF); + + if (bWrite == true) { + /* Disable LDO 2.5V after read/write action */ + tempval = rtl8723au_read8(padapter, EFUSE_TEST + 3); + rtl8723au_write8(padapter, EFUSE_TEST + 3, + tempval & 0x7F); + } + } } /*----------------------------------------------------------------------------- @@ -74,7 +121,10 @@ Efuse_GetCurrentSize23a(struct rtw_adapter *pAdapter, u8 efuseType) { u16 ret = 0; - ret = pAdapter->HalFunc.EfuseGetCurrentSize(pAdapter, efuseType); + if (efuseType == EFUSE_WIFI) + ret = rtl8723a_EfuseGetCurrentSize_WiFi(pAdapter); + else + ret = rtl8723a_EfuseGetCurrentSize_BT(pAdapter); return ret; } @@ -110,21 +160,22 @@ ReadEFuseByte23a(struct rtw_adapter *Adapter, u16 _offset, u8 *pbuf) u16 retry; /* Write Address */ - rtw_write8(Adapter, EFUSE_CTRL+1, (_offset & 0xff)); - readbyte = rtw_read8(Adapter, EFUSE_CTRL+2); - rtw_write8(Adapter, EFUSE_CTRL+2, ((_offset >> 8) & 0x03) | (readbyte & 0xfc)); + rtl8723au_write8(Adapter, EFUSE_CTRL+1, (_offset & 0xff)); + readbyte = rtl8723au_read8(Adapter, EFUSE_CTRL+2); + rtl8723au_write8(Adapter, EFUSE_CTRL+2, + ((_offset >> 8) & 0x03) | (readbyte & 0xfc)); /* Write bit 32 0 */ - readbyte = rtw_read8(Adapter, EFUSE_CTRL+3); - rtw_write8(Adapter, EFUSE_CTRL+3, (readbyte & 0x7f)); + readbyte = rtl8723au_read8(Adapter, EFUSE_CTRL+3); + rtl8723au_write8(Adapter, EFUSE_CTRL+3, readbyte & 0x7f); /* Check bit 32 read-ready */ retry = 0; - value32 = rtw_read32(Adapter, EFUSE_CTRL); + value32 = rtl8723au_read32(Adapter, EFUSE_CTRL); /* while(!(((value32 >> 24) & 0xff) & 0x80) && (retry<10)) */ while(!(((value32 >> 24) & 0xff) & 0x80) && (retry<10000)) { - value32 = rtw_read32(Adapter, EFUSE_CTRL); + value32 = rtl8723au_read32(Adapter, EFUSE_CTRL); retry++; } @@ -133,46 +184,92 @@ ReadEFuseByte23a(struct rtw_adapter *Adapter, u16 _offset, u8 *pbuf) /* Designer says that there shall be some delay after ready bit is set, or the */ /* result will always stay on last data we read. */ udelay(50); - value32 = rtw_read32(Adapter, EFUSE_CTRL); + value32 = rtl8723au_read32(Adapter, EFUSE_CTRL); *pbuf = (u8)(value32 & 0xff); } -/* */ -/* Description: */ -/* 1. Execute E-Fuse read byte operation according as map offset and */ -/* save to E-Fuse table. */ -/* 2. Refered from SD1 Richard. */ -/* */ -/* Assumption: */ -/* 1. Boot from E-Fuse and successfully auto-load. */ -/* 2. PASSIVE_LEVEL (USB interface) */ -/* */ -/* Created by Roger, 2008.10.21. */ -/* */ -/* 2008/12/12 MH 1. Reorganize code flow and reserve bytes. and add description. */ -/* 2. Add efuse utilization collect. */ -/* 2008/12/22 MH Read Efuse must check if we write section 1 data again!!! Sec1 */ -/* write addr must be after sec5. */ -/* */ - -void -efuse_ReadEFuse(struct rtw_adapter *Adapter, u8 efuseType, - u16 _offset, u16 _size_byte, u8 *pbuf); -void -efuse_ReadEFuse(struct rtw_adapter *Adapter, u8 efuseType, - u16 _offset, u16 _size_byte, u8 *pbuf) -{ - Adapter->HalFunc.ReadEFuse(Adapter, efuseType, _offset, - _size_byte, pbuf); -} - void EFUSE_GetEfuseDefinition23a(struct rtw_adapter *pAdapter, u8 efuseType, - u8 type, void *pOut) + u8 type, void *pOut) { - pAdapter->HalFunc.EFUSEGetEfuseDefinition(pAdapter, efuseType, - type, pOut); + u8 *pu1Tmp; + u16 *pu2Tmp; + u8 *pMax_section; + + switch (type) { + case TYPE_EFUSE_MAX_SECTION: + pMax_section = (u8 *) pOut; + + if (efuseType == EFUSE_WIFI) + *pMax_section = EFUSE_MAX_SECTION_8723A; + else + *pMax_section = EFUSE_BT_MAX_SECTION; + break; + + case TYPE_EFUSE_REAL_CONTENT_LEN: + pu2Tmp = (u16 *) pOut; + + if (efuseType == EFUSE_WIFI) + *pu2Tmp = EFUSE_REAL_CONTENT_LEN_8723A; + else + *pu2Tmp = EFUSE_BT_REAL_CONTENT_LEN; + break; + + case TYPE_AVAILABLE_EFUSE_BYTES_BANK: + pu2Tmp = (u16 *) pOut; + + if (efuseType == EFUSE_WIFI) + *pu2Tmp = (EFUSE_REAL_CONTENT_LEN_8723A - + EFUSE_OOB_PROTECT_BYTES); + else + *pu2Tmp = (EFUSE_BT_REAL_BANK_CONTENT_LEN - + EFUSE_PROTECT_BYTES_BANK); + break; + + case TYPE_AVAILABLE_EFUSE_BYTES_TOTAL: + pu2Tmp = (u16 *) pOut; + + if (efuseType == EFUSE_WIFI) + *pu2Tmp = (EFUSE_REAL_CONTENT_LEN_8723A - + EFUSE_OOB_PROTECT_BYTES); + else + *pu2Tmp = (EFUSE_BT_REAL_CONTENT_LEN - + (EFUSE_PROTECT_BYTES_BANK * 3)); + break; + + case TYPE_EFUSE_MAP_LEN: + pu2Tmp = (u16 *) pOut; + + if (efuseType == EFUSE_WIFI) + *pu2Tmp = EFUSE_MAP_LEN_8723A; + else + *pu2Tmp = EFUSE_BT_MAP_LEN; + break; + + case TYPE_EFUSE_PROTECT_BYTES_BANK: + pu1Tmp = (u8 *) pOut; + + if (efuseType == EFUSE_WIFI) + *pu1Tmp = EFUSE_OOB_PROTECT_BYTES; + else + *pu1Tmp = EFUSE_PROTECT_BYTES_BANK; + break; + + case TYPE_EFUSE_CONTENT_LEN_BANK: + pu2Tmp = (u16 *) pOut; + + if (efuseType == EFUSE_WIFI) + *pu2Tmp = EFUSE_REAL_CONTENT_LEN_8723A; + else + *pu2Tmp = EFUSE_BT_REAL_BANK_CONTENT_LEN; + break; + + default: + pu1Tmp = (u8 *) pOut; + *pu1Tmp = 0; + break; + } } /*----------------------------------------------------------------------------- @@ -208,22 +305,22 @@ EFUSE_Read1Byte23a(struct rtw_adapter *Adapter, u16 Address) { /* Write E-fuse Register address bit0~7 */ temp = Address & 0xFF; - rtw_write8(Adapter, EFUSE_CTRL+1, temp); - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+2); + rtl8723au_write8(Adapter, EFUSE_CTRL+1, temp); + Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+2); /* Write E-fuse Register address bit8~9 */ temp = ((Address >> 8) & 0x03) | (Bytetemp & 0xFC); - rtw_write8(Adapter, EFUSE_CTRL+2, temp); + rtl8723au_write8(Adapter, EFUSE_CTRL+2, temp); /* Write 0x30[31]= 0 */ - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3); + Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3); temp = Bytetemp & 0x7F; - rtw_write8(Adapter, EFUSE_CTRL+3, temp); + rtl8723au_write8(Adapter, EFUSE_CTRL+3, temp); /* Wait Write-ready (0x30[31]= 1) */ - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3); + Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3); while(!(Bytetemp & 0x80)) { - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3); + Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3); k++; if (k == 1000) { @@ -231,7 +328,7 @@ EFUSE_Read1Byte23a(struct rtw_adapter *Adapter, u16 Address) break; } } - data = rtw_read8(Adapter, EFUSE_CTRL); + data = rtl8723au_read8(Adapter, EFUSE_CTRL); return data; } else @@ -278,27 +375,27 @@ EFUSE_Write1Byte( if (Address < contentLen) /* E-fuse 512Byte */ { - rtw_write8(Adapter, EFUSE_CTRL, Value); + rtl8723au_write8(Adapter, EFUSE_CTRL, Value); /* Write E-fuse Register address bit0~7 */ temp = Address & 0xFF; - rtw_write8(Adapter, EFUSE_CTRL+1, temp); - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+2); + rtl8723au_write8(Adapter, EFUSE_CTRL+1, temp); + Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+2); /* Write E-fuse Register address bit8~9 */ temp = ((Address >> 8) & 0x03) | (Bytetemp & 0xFC); - rtw_write8(Adapter, EFUSE_CTRL+2, temp); + rtl8723au_write8(Adapter, EFUSE_CTRL+2, temp); /* Write 0x30[31]= 1 */ - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3); + Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3); temp = Bytetemp | 0x80; - rtw_write8(Adapter, EFUSE_CTRL+3, temp); + rtl8723au_write8(Adapter, EFUSE_CTRL+3, temp); /* Wait Write-ready (0x30[31]= 0) */ - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3); + Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3); while(Bytetemp & 0x80) { - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3); + Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3); k++; if (k == 100) { @@ -310,38 +407,38 @@ EFUSE_Write1Byte( }/* EFUSE_Write1Byte */ /* 11/16/2008 MH Read one byte from real Efuse. */ -u8 +int efuse_OneByteRead23a(struct rtw_adapter *pAdapter, u16 addr, u8 *data) { u8 tmpidx = 0; - u8 bResult; + int bResult; /* -----------------e-fuse reg ctrl --------------------------------- */ /* address */ - rtw_write8(pAdapter, EFUSE_CTRL+1, (u8)(addr&0xff)); - rtw_write8(pAdapter, EFUSE_CTRL+2, ((u8)((addr>>8) &0x03)) | - (rtw_read8(pAdapter, EFUSE_CTRL+2)&0xFC)); + rtl8723au_write8(pAdapter, EFUSE_CTRL+1, (u8)(addr&0xff)); + rtl8723au_write8(pAdapter, EFUSE_CTRL+2, ((u8)((addr>>8) &0x03)) | + (rtl8723au_read8(pAdapter, EFUSE_CTRL+2)&0xFC)); - rtw_write8(pAdapter, EFUSE_CTRL+3, 0x72);/* read cmd */ + rtl8723au_write8(pAdapter, EFUSE_CTRL+3, 0x72);/* read cmd */ - while(!(0x80 &rtw_read8(pAdapter, EFUSE_CTRL+3)) && (tmpidx<100)) + while(!(0x80 &rtl8723au_read8(pAdapter, EFUSE_CTRL+3)) && (tmpidx<100)) tmpidx++; if (tmpidx < 100) { - *data = rtw_read8(pAdapter, EFUSE_CTRL); - bResult = true; + *data = rtl8723au_read8(pAdapter, EFUSE_CTRL); + bResult = _SUCCESS; } else { *data = 0xff; - bResult = false; + bResult = _FAIL; } return bResult; } /* 11/16/2008 MH Write one byte to reald Efuse. */ -u8 +int efuse_OneByteWrite23a(struct rtw_adapter *pAdapter, u16 addr, u8 data) { u8 tmpidx = 0; - u8 bResult; + int bResult; /* RT_TRACE(COMP_EFUSE, DBG_LOUD, ("Addr = %x Data =%x\n", addr, data)); */ @@ -349,51 +446,26 @@ efuse_OneByteWrite23a(struct rtw_adapter *pAdapter, u16 addr, u8 data) /* -----------------e-fuse reg ctrl --------------------------------- */ /* address */ - rtw_write8(pAdapter, EFUSE_CTRL+1, (u8)(addr&0xff)); - rtw_write8(pAdapter, EFUSE_CTRL+2, - (rtw_read8(pAdapter, EFUSE_CTRL+2)&0xFC)|(u8)((addr>>8)&0x03)); - rtw_write8(pAdapter, EFUSE_CTRL, data);/* data */ + rtl8723au_write8(pAdapter, EFUSE_CTRL+1, (u8)(addr&0xff)); + rtl8723au_write8(pAdapter, EFUSE_CTRL+2, + (rtl8723au_read8(pAdapter, EFUSE_CTRL+2)&0xFC)|(u8)((addr>>8)&0x03)); + rtl8723au_write8(pAdapter, EFUSE_CTRL, data);/* data */ - rtw_write8(pAdapter, EFUSE_CTRL+3, 0xF2);/* write cmd */ + rtl8723au_write8(pAdapter, EFUSE_CTRL+3, 0xF2);/* write cmd */ - while((0x80 & rtw_read8(pAdapter, EFUSE_CTRL+3)) && (tmpidx<100)) { + while((0x80 & rtl8723au_read8(pAdapter, EFUSE_CTRL+3)) && + (tmpidx<100)) { tmpidx++; } - if (tmpidx<100) - { - bResult = true; - } + if (tmpidx < 100) + bResult = _SUCCESS; else - { - bResult = false; - } + bResult = _FAIL; return bResult; } -int -Efuse_PgPacketRead23a(struct rtw_adapter *pAdapter, u8 offset, u8 *data) -{ - int ret = 0; - - ret = pAdapter->HalFunc.Efuse_PgPacketRead23a(pAdapter, offset, data); - - return ret; -} - -int -Efuse_PgPacketWrite23a(struct rtw_adapter *pAdapter, u8 offset, - u8 word_en, u8 *data) -{ - int ret; - - ret = pAdapter->HalFunc.Efuse_PgPacketWrite23a(pAdapter, offset, - word_en, data); - - return ret; -} - /*----------------------------------------------------------------------------- * Function: efuse_WordEnableDataRead23a * @@ -438,24 +510,12 @@ efuse_WordEnableDataRead23a(u8 word_en, } } -u8 -Efuse_WordEnableDataWrite23a(struct rtw_adapter *pAdapter, u16 efuse_addr, - u8 word_en, u8 *data) -{ - u8 ret = 0; - - ret = pAdapter->HalFunc.Efuse_WordEnableDataWrite23a(pAdapter, efuse_addr, - word_en, data); - - return ret; -} - -static u8 efuse_read8(struct rtw_adapter *padapter, u16 address, u8 *value) +static int efuse_read8(struct rtw_adapter *padapter, u16 address, u8 *value) { return efuse_OneByteRead23a(padapter, address, value); } -static u8 efuse_write8(struct rtw_adapter *padapter, u16 address, u8 *value) +static int efuse_write8(struct rtw_adapter *padapter, u16 address, u8 *value) { return efuse_OneByteWrite23a(padapter, address, *value); } @@ -463,13 +523,13 @@ static u8 efuse_write8(struct rtw_adapter *padapter, u16 address, u8 *value) /* * read/wirte raw efuse data */ -u8 rtw_efuse_access23a(struct rtw_adapter *padapter, u8 bWrite, u16 start_addr, - u16 cnts, u8 *data) +int rtw_efuse_access23a(struct rtw_adapter *padapter, u8 bWrite, u16 start_addr, + u16 cnts, u8 *data) { int i = 0; - u16 real_content_len = 0, max_available_size = 0; - u8 res = _FAIL ; - u8 (*rw8)(struct rtw_adapter *, u16, u8*); + u16 real_content_len = 0, max_available_size = 0; + int res = _FAIL ; + int (*rw8)(struct rtw_adapter *, u16, u8*); EFUSE_GetEfuseDefinition23a(padapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN, @@ -488,7 +548,7 @@ u8 rtw_efuse_access23a(struct rtw_adapter *padapter, u8 bWrite, u16 start_addr, } else rw8 = &efuse_read8; - Efuse_PowerSwitch23a(padapter, bWrite, true); + Efuse_PowerSwitch(padapter, bWrite, true); /* e-fuse one byte read / write */ for (i = 0; i < cnts; i++) { @@ -498,35 +558,37 @@ u8 rtw_efuse_access23a(struct rtw_adapter *padapter, u8 bWrite, u16 start_addr, } res = rw8(padapter, start_addr++, data++); - if (_FAIL == res) break; + if (res == _FAIL) + break; } - Efuse_PowerSwitch23a(padapter, bWrite, false); + Efuse_PowerSwitch(padapter, bWrite, false); return res; } /* */ u16 efuse_GetMaxSize23a(struct rtw_adapter *padapter) { - u16 max_size; + u16 max_size; EFUSE_GetEfuseDefinition23a(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_size); return max_size; } /* */ -u8 efuse_GetCurrentSize23a(struct rtw_adapter *padapter, u16 *size) +int efuse_GetCurrentSize23a(struct rtw_adapter *padapter, u16 *size) { - Efuse_PowerSwitch23a(padapter, false, true); + Efuse_PowerSwitch(padapter, false, true); *size = Efuse_GetCurrentSize23a(padapter, EFUSE_WIFI); - Efuse_PowerSwitch23a(padapter, false, false); + Efuse_PowerSwitch(padapter, false, false); return _SUCCESS; } /* */ -u8 rtw_efuse_map_read23a(struct rtw_adapter *padapter, u16 addr, u16 cnts, u8 *data) +int rtw_efuse_map_read23a(struct rtw_adapter *padapter, + u16 addr, u16 cnts, u8 *data) { - u16 mapLen = 0; + u16 mapLen = 0; EFUSE_GetEfuseDefinition23a(padapter, EFUSE_WIFI, TYPE_EFUSE_MAP_LEN, (void *)&mapLen); @@ -534,18 +596,19 @@ u8 rtw_efuse_map_read23a(struct rtw_adapter *padapter, u16 addr, u16 cnts, u8 *d if ((addr + cnts) > mapLen) return _FAIL; - Efuse_PowerSwitch23a(padapter, false, true); + Efuse_PowerSwitch(padapter, false, true); - efuse_ReadEFuse(padapter, EFUSE_WIFI, addr, cnts, data); + rtl8723a_readefuse(padapter, EFUSE_WIFI, addr, cnts, data); - Efuse_PowerSwitch23a(padapter, false, false); + Efuse_PowerSwitch(padapter, false, false); return _SUCCESS; } -u8 rtw_BT_efuse_map_read23a(struct rtw_adapter *padapter, u16 addr, u16 cnts, u8 *data) +int rtw_BT_efuse_map_read23a(struct rtw_adapter *padapter, + u16 addr, u16 cnts, u8 *data) { - u16 mapLen = 0; + u16 mapLen = 0; EFUSE_GetEfuseDefinition23a(padapter, EFUSE_BT, TYPE_EFUSE_MAP_LEN, (void *)&mapLen); @@ -553,11 +616,11 @@ u8 rtw_BT_efuse_map_read23a(struct rtw_adapter *padapter, u16 addr, u16 cnts, u8 if ((addr + cnts) > mapLen) return _FAIL; - Efuse_PowerSwitch23a(padapter, false, true); + Efuse_PowerSwitch(padapter, false, true); - efuse_ReadEFuse(padapter, EFUSE_BT, addr, cnts, data); + rtl8723a_readefuse(padapter, EFUSE_BT, addr, cnts, data); - Efuse_PowerSwitch23a(padapter, false, false); + Efuse_PowerSwitch(padapter, false, false); return _SUCCESS; } @@ -585,14 +648,14 @@ Efuse_ReadAllMap(struct rtw_adapter *pAdapter, u8 efuseType, u8 *Efuse) { u16 mapLen = 0; - Efuse_PowerSwitch23a(pAdapter, false, true); + Efuse_PowerSwitch(pAdapter, false, true); EFUSE_GetEfuseDefinition23a(pAdapter, efuseType, TYPE_EFUSE_MAP_LEN, (void *)&mapLen); - efuse_ReadEFuse(pAdapter, efuseType, 0, mapLen, Efuse); + rtl8723a_readefuse(pAdapter, efuseType, 0, mapLen, Efuse); - Efuse_PowerSwitch23a(pAdapter, false, false); + Efuse_PowerSwitch(pAdapter, false, false); } /*----------------------------------------------------------------------------- |