/linux-master/drivers/nvmem/ |
H A D | sprd-efuse.c | 39 * The Spreadtrum AP efuse contains 2 parts: normal efuse and secure efuse, 40 * and we can only access the normal efuse in kernel. So define the normal 52 * when reading or writing data to efuse memory, the controller can save double 80 * efuse controller, so we need one hardware spinlock to synchronize between 83 static int sprd_efuse_lock(struct sprd_efuse *efuse) argument 87 mutex_lock(&efuse->mutex); 89 ret = hwspin_lock_timeout_raw(efuse->hwlock, 92 dev_err(efuse 100 sprd_efuse_unlock(struct sprd_efuse *efuse) argument 106 sprd_efuse_set_prog_power(struct sprd_efuse *efuse, bool en) argument 131 sprd_efuse_set_read_power(struct sprd_efuse *efuse, bool en) argument 146 sprd_efuse_set_prog_lock(struct sprd_efuse *efuse, bool en) argument 158 sprd_efuse_set_auto_check(struct sprd_efuse *efuse, bool en) argument 170 sprd_efuse_set_data_double(struct sprd_efuse *efuse, bool en) argument 182 sprd_efuse_set_prog_en(struct sprd_efuse *efuse, bool en) argument 194 sprd_efuse_raw_prog(struct sprd_efuse *efuse, u32 blk, bool doub, bool lock, u32 *data) argument 254 sprd_efuse_raw_read(struct sprd_efuse *efuse, int blk, u32 *val, bool doub) argument 296 struct sprd_efuse *efuse = context; local 326 struct sprd_efuse *efuse = context; local 366 struct sprd_efuse *efuse; local [all...] |
H A D | meson-mx-efuse.c | 50 static void meson_mx_efuse_mask_bits(struct meson_mx_efuse *efuse, u32 reg, argument 55 data = readl(efuse->base + reg); 59 writel(data, efuse->base + reg); 62 static int meson_mx_efuse_hw_enable(struct meson_mx_efuse *efuse) argument 66 err = clk_prepare_enable(efuse->core_clk); 70 /* power up the efuse */ 71 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL1, 74 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL4, 80 static void meson_mx_efuse_hw_disable(struct meson_mx_efuse *efuse) argument 82 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL 89 meson_mx_efuse_read_addr(struct meson_mx_efuse *efuse, unsigned int addr, u32 *value) argument 138 struct meson_mx_efuse *efuse = context; local 195 struct meson_mx_efuse *efuse; local [all...] |
H A D | sc27xx-efuse.c | 80 * efuse controller, so we need one hardware spinlock to synchronize between 83 static int sc27xx_efuse_lock(struct sc27xx_efuse *efuse) argument 87 mutex_lock(&efuse->mutex); 89 ret = hwspin_lock_timeout_raw(efuse->hwlock, 92 dev_err(efuse->dev, "timeout to get the hwspinlock\n"); 93 mutex_unlock(&efuse->mutex); 100 static void sc27xx_efuse_unlock(struct sc27xx_efuse *efuse) argument 102 hwspin_unlock_raw(efuse->hwlock); 103 mutex_unlock(&efuse->mutex); 106 static int sc27xx_efuse_poll_status(struct sc27xx_efuse *efuse, u3 argument 126 struct sc27xx_efuse *efuse = context; local 207 struct sc27xx_efuse *efuse; local [all...] |
H A D | rockchip-efuse.c | 58 struct rockchip_efuse_chip *efuse = context; local 62 ret = clk_prepare_enable(efuse->clk); 64 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n"); 68 writel(RK3288_LOAD | RK3288_PGENB, efuse->base + REG_EFUSE_CTRL); 71 writel(readl(efuse->base + REG_EFUSE_CTRL) & 73 efuse->base + REG_EFUSE_CTRL); 74 writel(readl(efuse->base + REG_EFUSE_CTRL) | 76 efuse->base + REG_EFUSE_CTRL); 78 writel(readl(efuse 98 struct rockchip_efuse_chip *efuse = context; local 153 struct rockchip_efuse_chip *efuse = context; local 256 struct rockchip_efuse_chip *efuse; local [all...] |
H A D | jz4780-efuse.c | 10 * Currently supports JZ4780 efuse which has 8K programmable bit. 72 struct jz4780_efuse *efuse = context; local 87 regmap_update_bits(efuse->map, JZ_EFUCTRL, 94 ret = regmap_read_poll_timeout(efuse->map, JZ_EFUSTATE, 99 dev_err(efuse->dev, "Time out while reading efuse data"); 103 ret = regmap_bulk_read(efuse->map, JZ_EFUDATA(0), 119 .name = "jz4780-efuse", 142 struct jz4780_efuse *efuse; local 151 efuse [all...] |
H A D | Makefile | 28 nvmem_jz4780_efuse-y := jz4780-efuse.o 38 nvmem_meson_efuse-y := meson-efuse.o 40 nvmem_meson_mx_efuse-y := meson-mx-efuse.o 43 obj-$(CONFIG_NVMEM_MTK_EFUSE) += nvmem_mtk-efuse.o 44 nvmem_mtk-efuse-y := mtk-efuse.o 58 nvmem_rockchip_efuse-y := rockchip-efuse.o 61 obj-$(CONFIG_NVMEM_SC27XX_EFUSE) += nvmem-sc27xx-efuse.o 62 nvmem-sc27xx-efuse-y := sc27xx-efuse [all...] |
H A D | zynqmp_nvmem.c | 32 * efuse access type 44 * @flag: 0 - represents efuse read and 1- represents efuse write 49 * read/write efuse memory. 64 struct xilinx_efuse *efuse; local 98 efuse = dma_alloc_coherent(dev, sizeof(struct xilinx_efuse), 100 if (!efuse) 112 efuse->flag = EFUSE_WRITE; 114 efuse->flag = EFUSE_READ; 117 efuse [all...] |
/linux-master/drivers/net/wireless/mediatek/mt76/mt7603/ |
H A D | eeprom.c | 67 mt7603_has_cal_free_data(struct mt7603_dev *dev, u8 *efuse) argument 69 if (!efuse[MT_EE_TEMP_SENSOR_CAL]) 72 if (get_unaligned_le16(efuse + MT_EE_TX_POWER_0_START_2G) == 0) 75 if (get_unaligned_le16(efuse + MT_EE_TX_POWER_1_START_2G) == 0) 78 if (!efuse[MT_EE_CP_FT_VERSION]) 81 if (!efuse[MT_EE_XTAL_FREQ_OFFSET]) 84 if (!efuse[MT_EE_XTAL_WF_RFCAL]) 91 mt7603_apply_cal_free_data(struct mt7603_dev *dev, u8 *efuse) argument 112 if (!mt7603_has_cal_free_data(dev, efuse)) 121 eeprom[offset] = efuse[offse [all...] |
/linux-master/drivers/phy/mediatek/ |
H A D | phy-mtk-pcie.c | 67 * @efuse: pointer to eFuse data for each lane 77 struct mtk_pcie_lane_efuse *efuse; member in struct:mtk_pcie_phy 83 struct mtk_pcie_lane_efuse *data = &pcie_phy->efuse[lane]; 106 * Initialize the phy by setting the efuse data. 136 struct mtk_pcie_lane_efuse *efuse = &pcie_phy->efuse[lane]; local 142 ret = nvmem_cell_read_variable_le_u32(dev, efuse_id, &efuse->tx_pmos); 147 ret = nvmem_cell_read_variable_le_u32(dev, efuse_id, &efuse->tx_nmos); 152 ret = nvmem_cell_read_variable_le_u32(dev, efuse_id, &efuse->rx_data); 156 if (!(efuse [all...] |
/linux-master/drivers/cpufreq/ |
H A D | ti-cpufreq.c | 57 unsigned long efuse); 74 unsigned long efuse) 76 if (!efuse) 77 efuse = opp_data->soc_data->efuse_fallback; 79 return ~efuse; 83 unsigned long efuse) 88 * The efuse on dra7 and am57 parts contains a specific 92 switch (efuse) { 109 unsigned long efuse) 112 return BIT(efuse); 73 amx3_efuse_xlate(struct ti_cpufreq_data *opp_data, unsigned long efuse) argument 82 dra7_efuse_xlate(struct ti_cpufreq_data *opp_data, unsigned long efuse) argument 108 omap3_efuse_xlate(struct ti_cpufreq_data *opp_data, unsigned long efuse) argument 115 am625_efuse_xlate(struct ti_cpufreq_data *opp_data, unsigned long efuse) argument 248 u32 efuse; local [all...] |
/linux-master/drivers/net/wireless/realtek/rtw88/ |
H A D | efuse.c | 8 #include "efuse.h" 31 /* efuse header format 43 u32 physical_size = rtwdev->efuse.physical_size; 44 u32 protect_size = rtwdev->efuse.protect_size; 45 u32 logical_size = rtwdev->efuse.logical_size; 90 u32 size = rtwdev->efuse.physical_size; 149 struct rtw_efuse *efuse = &rtwdev->efuse; local 150 u32 phy_size = efuse->physical_size; 151 u32 log_size = efuse [all...] |
H A D | main.c | 16 #include "efuse.h" 983 WARN(1, "invalid hw configuration from efuse\n"); 1197 struct rtw_efuse *efuse = &rtwdev->efuse; local 1227 if (efuse->hw_cap.nss == 1 || rtwdev->hal.txrx_1ss) 1404 wifi_only = !rtwdev->efuse.btcoex; 1545 struct rtw_efuse *efuse = &rtwdev->efuse; local 1558 if (efuse->hw_cap.bw & BIT(RTW_CHANNEL_WIDTH_40)) 1565 if (efuse 1581 struct rtw_efuse *efuse = &rtwdev->efuse; local 1822 struct rtw_efuse *efuse = &rtwdev->efuse; local 1914 struct rtw_efuse *efuse = &rtwdev->efuse; local 1960 struct rtw_efuse *efuse = &rtwdev->efuse; local [all...] |
H A D | phy.h | 118 struct rtw_efuse *efuse = &rtwdev->efuse; local 124 if (efuse->rfe_option < chip->rfe_defs_size) 125 rfe_def = &chip->rfe_defs[efuse->rfe_option]; 127 rtw_dbg(rtwdev, RTW_DBG_PHY, "use rfe_def[%d]\n", efuse->rfe_option); 137 rtwdev->efuse.rfe_option);
|
H A D | coex.c | 117 struct rtw_efuse *efuse = &rtwdev->efuse; local 124 if (efuse->share_ant || ant_distance <= 5 || !coex_stat->wl_gl_busy) 809 struct rtw_efuse *efuse = &rtwdev->efuse; local 823 (efuse->share_ant && center_chan <= 14 && 984 struct rtw_efuse *efuse = &rtwdev->efuse; local 992 if (efuse->share_ant) { 1070 struct rtw_efuse *efuse local 1199 struct rtw_efuse *efuse = &rtwdev->efuse; local 1529 struct rtw_efuse *efuse = &rtwdev->efuse; local 1555 struct rtw_efuse *efuse = &rtwdev->efuse; local 1597 struct rtw_efuse *efuse = &rtwdev->efuse; local 1622 struct rtw_efuse *efuse = &rtwdev->efuse; local 1649 struct rtw_efuse *efuse = &rtwdev->efuse; local 1690 struct rtw_efuse *efuse = &rtwdev->efuse; local 1758 struct rtw_efuse *efuse = &rtwdev->efuse; local 1858 struct rtw_efuse *efuse = &rtwdev->efuse; local 1906 struct rtw_efuse *efuse = &rtwdev->efuse; local 1937 struct rtw_efuse *efuse = &rtwdev->efuse; local 2021 struct rtw_efuse *efuse = &rtwdev->efuse; local 2062 struct rtw_efuse *efuse = &rtwdev->efuse; local 2101 struct rtw_efuse *efuse = &rtwdev->efuse; local 2139 struct rtw_efuse *efuse = &rtwdev->efuse; local 2195 struct rtw_efuse *efuse = &rtwdev->efuse; local 2252 struct rtw_efuse *efuse = &rtwdev->efuse; local 2287 struct rtw_efuse *efuse = &rtwdev->efuse; local 2320 struct rtw_efuse *efuse = &rtwdev->efuse; local 2351 struct rtw_efuse *efuse = &rtwdev->efuse; local 2376 struct rtw_efuse *efuse = &rtwdev->efuse; local 2416 struct rtw_efuse *efuse = &rtwdev->efuse; local 2454 struct rtw_efuse *efuse = &rtwdev->efuse; local 3585 struct rtw_efuse *efuse = &rtwdev->efuse; local 3621 struct rtw_efuse *efuse = &rtwdev->efuse; local 3918 struct rtw_efuse *efuse = &rtwdev->efuse; local [all...] |
H A D | rtw8822b.c | 23 static void rtw8822be_efuse_parsing(struct rtw_efuse *efuse, argument 26 ether_addr_copy(efuse->addr, map->e.mac_addr); 29 static void rtw8822bu_efuse_parsing(struct rtw_efuse *efuse, argument 32 ether_addr_copy(efuse->addr, map->u.mac_addr); 35 static void rtw8822bs_efuse_parsing(struct rtw_efuse *efuse, argument 38 ether_addr_copy(efuse->addr, map->s.mac_addr); 43 struct rtw_efuse *efuse = &rtwdev->efuse; local 49 efuse->rfe_option = map->rfe_option; 50 efuse 424 struct rtw_efuse *efuse = &rtwdev->efuse; local 613 struct rtw_efuse *efuse = &rtwdev->efuse; local 719 struct rtw_efuse *efuse = &rtwdev->efuse; local 740 struct rtw_efuse *efuse = &rtwdev->efuse; local 1262 struct rtw_efuse *efuse = &rtwdev->efuse; local 1528 struct rtw_efuse *efuse = &rtwdev->efuse; local [all...] |
H A D | rtw8821c.c | 23 static void rtw8821ce_efuse_parsing(struct rtw_efuse *efuse, argument 26 ether_addr_copy(efuse->addr, map->e.mac_addr); 29 static void rtw8821cu_efuse_parsing(struct rtw_efuse *efuse, argument 32 ether_addr_copy(efuse->addr, map->u.mac_addr); 35 static void rtw8821cs_efuse_parsing(struct rtw_efuse *efuse, argument 38 ether_addr_copy(efuse->addr, map->s.mac_addr); 51 struct rtw_efuse *efuse = &rtwdev->efuse; local 57 efuse->rfe_option = map->rfe_option & 0x1f; 58 efuse 556 struct rtw_efuse efuse = rtwdev->efuse; local 588 struct rtw_efuse *efuse = &rtwdev->efuse; local 988 struct rtw_efuse *efuse = &rtwdev->efuse; local 1030 struct rtw_efuse *efuse = &rtwdev->efuse; local 1174 struct rtw_efuse *efuse = &rtwdev->efuse; local [all...] |
H A D | regd.c | 30 /* If country code is not correctly defined in efuse, 284 struct rtw_efuse *efuse = &rtwdev->efuse; local 287 if (efuse->hw_cap.bw & BIT(RTW_CHANNEL_WIDTH_80)) 346 chip_reg = rtw_reg_find_by_name(rtwdev->efuse.country_code); 379 "country domain %c%c is PGed on efuse", 380 rtwdev->efuse.country_code[0], 381 rtwdev->efuse.country_code[1]); 383 ret = regulatory_hint(wiphy, rtwdev->efuse.country_code); 416 rtw_reg_match(next_regd->regulatory, rtwdev->efuse [all...] |
H A D | rtw8723d.c | 131 dm_info->thermal_meter_k = rtwdev->efuse.thermal_meter_k; 155 xtal_cap = rtwdev->efuse.crystal_cap & 0x3F; 159 if ((rtwdev->efuse.afe >> 4) == 14) { 207 static void rtw8723de_efuse_parsing(struct rtw_efuse *efuse, argument 210 ether_addr_copy(efuse->addr, map->e.mac_addr); 213 static void rtw8723du_efuse_parsing(struct rtw_efuse *efuse, argument 216 ether_addr_copy(efuse->addr, map->u.mac_addr); 219 static void rtw8723ds_efuse_parsing(struct rtw_efuse *efuse, argument 222 ether_addr_copy(efuse->addr, map->s.mac_addr); 227 struct rtw_efuse *efuse local 1587 struct rtw_efuse *efuse = &rtwdev->efuse; local 1949 struct rtw_efuse *efuse = &rtwdev->efuse; local [all...] |
/linux-master/drivers/net/wireless/realtek/rtl8xxxu/ |
H A D | rtl8xxxu_8723a.c | 183 struct rtl8723au_efuse *efuse = &priv->efuse_wifi.efuse8723; local 185 if (efuse->rtl_id != cpu_to_le16(0x8129)) 188 ether_addr_copy(priv->mac_addr, efuse->mac_addr); 191 efuse->cck_tx_power_index_A, 192 sizeof(efuse->cck_tx_power_index_A)); 194 efuse->cck_tx_power_index_B, 195 sizeof(efuse->cck_tx_power_index_B)); 198 efuse->ht40_1s_tx_power_index_A, 199 sizeof(efuse->ht40_1s_tx_power_index_A)); 201 efuse [all...] |
H A D | rtl8xxxu_8192c.c | 406 struct rtl8192cu_efuse *efuse = &priv->efuse_wifi.efuse8192; local 408 if (efuse->rtl_id != cpu_to_le16(0x8129)) 411 ether_addr_copy(priv->mac_addr, efuse->mac_addr); 414 efuse->cck_tx_power_index_A, 415 sizeof(efuse->cck_tx_power_index_A)); 417 efuse->cck_tx_power_index_B, 418 sizeof(efuse->cck_tx_power_index_B)); 421 efuse->ht40_1s_tx_power_index_A, 422 sizeof(efuse->ht40_1s_tx_power_index_A)); 424 efuse [all...] |
/linux-master/drivers/net/wireless/mediatek/mt76/mt76x2/ |
H A D | eeprom.c | 24 mt76x2_has_cal_free_data(struct mt76x02_dev *dev, u8 *efuse) argument 26 u16 *efuse_w = (u16 *)efuse; 50 mt76x2_apply_cal_free_data(struct mt76x02_dev *dev, u8 *efuse) argument 94 if (!mt76x2_has_cal_free_data(dev, efuse)) 100 eeprom[offset] = efuse[offset]; 103 if (!(efuse[MT_EE_TX_POWER_0_START_5G] | 104 efuse[MT_EE_TX_POWER_0_START_5G + 1])) 106 if (!(efuse[MT_EE_TX_POWER_1_START_5G] | 107 efuse[MT_EE_TX_POWER_1_START_5G + 1])) 110 val = get_unaligned_le16(efuse 143 void *efuse; local [all...] |
/linux-master/drivers/net/wireless/realtek/rtlwifi/ |
H A D | Makefile | 8 efuse.o \
|
/linux-master/drivers/net/wireless/realtek/rtlwifi/rtl8192de/ |
H A D | led.c | 23 if ((rtlpriv->efuse.eeprom_did == 0x8176) || 24 (rtlpriv->efuse.eeprom_did == 0x8193))
|
/linux-master/arch/mips/ralink/ |
H A D | mt7620.c | 164 u32 efuse = mt7620_get_efuse(); local 167 if (efuse & EFUSE_MT7688) {
|
/linux-master/drivers/net/wireless/realtek/rtw89/ |
H A D | Makefile | 10 efuse.o \
|