bool rtl92c_phy_bb_config(struct ieee80211_hw *hw) { bool rtstatus = true; struct rtl_priv *rtlpriv = rtl_priv(hw); u16 regval; u32 regvaldw; u8 reg_hwparafile = 1; _rtl92c_phy_init_bb_rf_register_definition(hw); regval = rtl_read_word(rtlpriv, REG_SYS_FUNC_EN); rtl_write_word(rtlpriv, REG_SYS_FUNC_EN, regval | BIT(13) | BIT(0) | BIT(1)); rtl_write_byte(rtlpriv, REG_AFE_PLL_CTRL, 0x83); rtl_write_byte(rtlpriv, REG_AFE_PLL_CTRL + 1, 0xdb); rtl_write_byte(rtlpriv, REG_RF_CTRL, RF_EN | RF_RSTB | RF_SDMRSTB); rtl_write_byte(rtlpriv, REG_SYS_FUNC_EN, FEN_PPLL | FEN_PCIEA | FEN_DIO_PCIE | FEN_BB_GLB_RSTn | FEN_BBRSTB); rtl_write_byte(rtlpriv, REG_AFE_XTAL_CTRL + 1, 0x80); regvaldw = rtl_read_dword(rtlpriv, REG_LEDCFG0); rtl_write_dword(rtlpriv, REG_LEDCFG0, regvaldw | BIT(23)); if (reg_hwparafile == 1) rtstatus = _rtl92c_phy_bb8192c_config_parafile(hw); return rtstatus; }
bool rtl92cu_phy_bb_config( struct ieee80211_hw *hw ) { bool rtstatus = true; struct rtl_priv *rtlpriv = rtl_priv( hw ); struct rtl_hal *rtlhal = rtl_hal( rtl_priv( hw ) ); u16 regval; u32 regval32; u8 b_reg_hwparafile = 1; _rtl92c_phy_init_bb_rf_register_definition( hw ); regval = rtl_read_word( rtlpriv, REG_SYS_FUNC_EN ); rtl_write_word( rtlpriv, REG_SYS_FUNC_EN, regval | BIT( 13 ) | BIT( 0 ) | BIT( 1 ) ); rtl_write_byte( rtlpriv, REG_AFE_PLL_CTRL, 0x83 ); rtl_write_byte( rtlpriv, REG_AFE_PLL_CTRL + 1, 0xdb ); rtl_write_byte( rtlpriv, REG_RF_CTRL, RF_EN | RF_RSTB | RF_SDMRSTB ); if ( IS_HARDWARE_TYPE_8192CE( rtlhal ) ) { rtl_write_byte( rtlpriv, REG_SYS_FUNC_EN, FEN_PPLL | FEN_PCIEA | FEN_DIO_PCIE | FEN_BB_GLB_RSTn | FEN_BBRSTB ); } else if ( IS_HARDWARE_TYPE_8192CU( rtlhal ) ) { rtl_write_byte( rtlpriv, REG_SYS_FUNC_EN, FEN_USBA | FEN_USBD | FEN_BB_GLB_RSTn | FEN_BBRSTB ); } regval32 = rtl_read_dword( rtlpriv, 0x87c ); rtl_write_dword( rtlpriv, 0x87c, regval32 & ( ~BIT( 31 ) ) ); if ( IS_HARDWARE_TYPE_8192CU( rtlhal ) ) rtl_write_byte( rtlpriv, REG_LDOHCI12_CTRL, 0x0f ); rtl_write_byte( rtlpriv, REG_AFE_XTAL_CTRL + 1, 0x80 ); if ( b_reg_hwparafile == 1 ) rtstatus = _rtl92c_phy_bb8192c_config_parafile( hw ); return rtstatus; }