Lines Matching full:efuse
16 #include "efuse.h"
1002 WARN(1, "invalid hw configuration from efuse\n"); in rtw_hw_config_rf_ant_num()
1216 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_update_sta_info() local
1247 if (efuse->hw_cap.nss == 1 || rtwdev->hal.txrx_1ss) in rtw_update_sta_info()
1249 else if (efuse->hw_cap.nss == 2) in rtw_update_sta_info()
1312 tx_num = efuse->hw_cap.nss; in rtw_update_sta_info()
1424 wifi_only = !rtwdev->efuse.btcoex; in rtw_power_on()
1567 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_init_ht_cap() local
1581 if (efuse->hw_cap.bw & BIT(RTW_CHANNEL_WIDTH_40)) in rtw_init_ht_cap()
1589 for (i = 0; i < efuse->hw_cap.nss; i++) in rtw_init_ht_cap()
1592 ht_cap->mcs.rx_highest = cpu_to_le16(150 * efuse->hw_cap.nss); in rtw_init_ht_cap()
1598 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_init_vht_cap() local
1603 if (efuse->hw_cap.ptcl != EFUSE_HW_CAP_IGNORE && in rtw_init_vht_cap()
1604 efuse->hw_cap.ptcl != EFUSE_HW_CAP_PTCL_VHT) in rtw_init_vht_cap()
1625 if (i < efuse->hw_cap.nss) in rtw_init_vht_cap()
1631 highest = cpu_to_le16(390 * efuse->hw_cap.nss); in rtw_init_vht_cap()
1834 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_chip_parameter_setup() local
1871 efuse->physical_size = chip->phy_efuse_size; in rtw_chip_parameter_setup()
1872 efuse->logical_size = chip->log_efuse_size; in rtw_chip_parameter_setup()
1873 efuse->protect_size = chip->ptct_efuse_size; in rtw_chip_parameter_setup()
1926 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_dump_hw_feature() local
1947 efuse->hw_cap.bw = hw_bw_cap_to_bitamp(bw); in rtw_dump_hw_feature()
1948 efuse->hw_cap.hci = GET_EFUSE_HW_CAP_HCI(hw_feature); in rtw_dump_hw_feature()
1949 efuse->hw_cap.nss = GET_EFUSE_HW_CAP_NSS(hw_feature); in rtw_dump_hw_feature()
1950 efuse->hw_cap.ptcl = GET_EFUSE_HW_CAP_PTCL(hw_feature); in rtw_dump_hw_feature()
1951 efuse->hw_cap.ant_num = GET_EFUSE_HW_CAP_ANT_NUM(hw_feature); in rtw_dump_hw_feature()
1953 rtw_hw_config_rf_ant_num(rtwdev, efuse->hw_cap.ant_num); in rtw_dump_hw_feature()
1955 if (efuse->hw_cap.nss == EFUSE_HW_CAP_IGNORE || in rtw_dump_hw_feature()
1956 efuse->hw_cap.nss > rtwdev->hal.rf_path_num) in rtw_dump_hw_feature()
1957 efuse->hw_cap.nss = rtwdev->hal.rf_path_num; in rtw_dump_hw_feature()
1961 efuse->hw_cap.hci, efuse->hw_cap.bw, efuse->hw_cap.ptcl, in rtw_dump_hw_feature()
1962 efuse->hw_cap.ant_num, efuse->hw_cap.nss); in rtw_dump_hw_feature()
1975 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_chip_efuse_info_setup() local
1980 /* power on mac to read efuse */ in rtw_chip_efuse_info_setup()
1997 if (efuse->crystal_cap == 0xff) in rtw_chip_efuse_info_setup()
1998 efuse->crystal_cap = 0; in rtw_chip_efuse_info_setup()
1999 if (efuse->pa_type_2g == 0xff) in rtw_chip_efuse_info_setup()
2000 efuse->pa_type_2g = 0; in rtw_chip_efuse_info_setup()
2001 if (efuse->pa_type_5g == 0xff) in rtw_chip_efuse_info_setup()
2002 efuse->pa_type_5g = 0; in rtw_chip_efuse_info_setup()
2003 if (efuse->lna_type_2g == 0xff) in rtw_chip_efuse_info_setup()
2004 efuse->lna_type_2g = 0; in rtw_chip_efuse_info_setup()
2005 if (efuse->lna_type_5g == 0xff) in rtw_chip_efuse_info_setup()
2006 efuse->lna_type_5g = 0; in rtw_chip_efuse_info_setup()
2007 if (efuse->channel_plan == 0xff) in rtw_chip_efuse_info_setup()
2008 efuse->channel_plan = 0x7f; in rtw_chip_efuse_info_setup()
2009 if (efuse->rf_board_option == 0xff) in rtw_chip_efuse_info_setup()
2010 efuse->rf_board_option = 0; in rtw_chip_efuse_info_setup()
2011 if (efuse->bt_setting & BIT(0)) in rtw_chip_efuse_info_setup()
2012 efuse->share_ant = true; in rtw_chip_efuse_info_setup()
2013 if (efuse->regd == 0xff) in rtw_chip_efuse_info_setup()
2014 efuse->regd = 0; in rtw_chip_efuse_info_setup()
2015 if (efuse->tx_bb_swing_setting_2g == 0xff) in rtw_chip_efuse_info_setup()
2016 efuse->tx_bb_swing_setting_2g = 0; in rtw_chip_efuse_info_setup()
2017 if (efuse->tx_bb_swing_setting_5g == 0xff) in rtw_chip_efuse_info_setup()
2018 efuse->tx_bb_swing_setting_5g = 0; in rtw_chip_efuse_info_setup()
2020 efuse->btcoex = (efuse->rf_board_option & 0xe0) == 0x20; in rtw_chip_efuse_info_setup()
2021 efuse->ext_pa_2g = efuse->pa_type_2g & BIT(4) ? 1 : 0; in rtw_chip_efuse_info_setup()
2022 efuse->ext_lna_2g = efuse->lna_type_2g & BIT(3) ? 1 : 0; in rtw_chip_efuse_info_setup()
2023 efuse->ext_pa_5g = efuse->pa_type_5g & BIT(0) ? 1 : 0; in rtw_chip_efuse_info_setup()
2024 efuse->ext_lna_5g = efuse->lna_type_5g & BIT(3) ? 1 : 0; in rtw_chip_efuse_info_setup()
2026 if (!is_valid_ether_addr(efuse->addr)) { in rtw_chip_efuse_info_setup()
2027 eth_random_addr(efuse->addr); in rtw_chip_efuse_info_setup()
2028 dev_warn(rtwdev->dev, "efuse MAC invalid, using random\n"); in rtw_chip_efuse_info_setup()
2070 rtw_err(rtwdev, "failed to setup chip efuse info\n"); in rtw_chip_info_setup()
2280 SET_IEEE80211_PERM_ADDR(hw, rtwdev->efuse.addr); in rtw_register_hw()