REG_MCUFWDL
value8 = (rtl_read_byte(rtlpriv, REG_MCUFWDL + 2) & 0xF8) | u8page;
rtl_write_byte(rtlpriv, (REG_MCUFWDL + 2), value8);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) {
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp | 0x01);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL + 2);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 2, tmp & 0xf7);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp & 0xfe);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 1, 0x00);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
rtl_write_dword(rtlpriv, REG_MCUFWDL, value32);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
if ((rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) && rtlhal->fw_ready)
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
rtl_write_dword(rtlpriv, REG_MCUFWDL, value32);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
u32 value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
rtl_write_dword(rtlpriv, REG_MCUFWDL, value32);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp | 0x01);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL + 2);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 2, tmp & 0xf7);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp & 0xfe);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 1, 0x00);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7))
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0);
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(1)) {
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0);
return !!(rtl_read_dword(rtlpriv, REG_MCUFWDL) & MCUFWDL_RDY);
rtl_read_dword(rtlpriv, REG_MCUFWDL));
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp | 0x01);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL + 2);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 2, tmp & 0xf7);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp & 0xfe);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
rtl_write_dword(rtlpriv, REG_MCUFWDL, value32);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) {
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) {
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & MCUFWDL_RDY) {
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0);
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) {
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0);
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x05);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL + 2);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 2, tmp & 0xf7);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp & 0xfe);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
rtl_write_dword(rtlpriv, REG_MCUFWDL, value32);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
if ((rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) && rtlhal->fw_ready)
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
if ((rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) &&
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
if ((rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) &&
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL) | MCUFWDL_RDY;
rtl_write_dword(rtlpriv, REG_MCUFWDL, value32);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL)&BIT(7)) {
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp | 0x01);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL + 2);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 2, tmp & 0xf7);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp & 0xfe);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 1, 0x00);
if (rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) {
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x05);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL + 2);
rtl_write_byte(rtlpriv, REG_MCUFWDL + 2, tmp & 0xf7);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
rtl_write_byte(rtlpriv, REG_MCUFWDL, tmp & 0xfe);
tmp = rtl_read_byte(rtlpriv, REG_MCUFWDL);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
rtl_write_dword(rtlpriv, REG_MCUFWDL, value32);
value32 = rtl_read_dword(rtlpriv, REG_MCUFWDL);
if ((rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) &&
rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00);
value8 = (rtw_read8(padapter, REG_MCUFWDL+2) & 0xF8) | u8Page;
rtw_write8(padapter, REG_MCUFWDL+2, value8);
value32 = rtw_read32(adapter, REG_MCUFWDL);
value32 = rtw_read32(adapter, REG_MCUFWDL);
rtw_write32(adapter, REG_MCUFWDL, value32);
tmp = rtw_read8(padapter, REG_MCUFWDL);
value32 = rtw_read32(adapter, REG_MCUFWDL);
rtw_write8(padapter, REG_MCUFWDL, tmp|0x01);
tmp = rtw_read8(padapter, REG_MCUFWDL);
rtw_write8(padapter, REG_MCUFWDL, tmp|0x01);
tmp = rtw_read8(padapter, REG_MCUFWDL+2);
rtw_write8(padapter, REG_MCUFWDL+2, tmp&0xf7);
if (rtw_read8(padapter, REG_MCUFWDL) & RAM_DL_SEL) { /* 8051 RAM code */
rtw_write8(padapter, REG_MCUFWDL, 0x00);
tmp = rtw_read8(padapter, REG_MCUFWDL);
rtw_write8(padapter, REG_MCUFWDL, rtw_read8(padapter, REG_MCUFWDL)|FWDL_ChkSum_rpt);
rtw_write8(padapter, REG_MCUFWDL, tmp&0xfe);
val = rtw_read8(padapter, REG_MCUFWDL);
rtw_write8(padapter, REG_MCUFWDL, 0);