Searched refs:efuse (Results 1 - 25 of 82) sorted by relevance

1234

/linux-master/drivers/nvmem/
H A Dsprd-efuse.c39 * 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 Dmeson-mx-efuse.c50 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 Dsc27xx-efuse.c80 * 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 Drockchip-efuse.c58 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 Djz4780-efuse.c10 * 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 DMakefile28 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 Dzynqmp_nvmem.c32 * 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 Deeprom.c67 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 Dphy-mtk-pcie.c67 * @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 Dti-cpufreq.c57 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 Defuse.c8 #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 Dmain.c16 #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 Dphy.h118 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 Dcoex.c117 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 Drtw8822b.c23 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 Drtw8821c.c23 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 Dregd.c30 /* 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 Drtw8723d.c131 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 Drtl8xxxu_8723a.c183 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 Drtl8xxxu_8192c.c406 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 Deeprom.c24 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 DMakefile8 efuse.o \
/linux-master/drivers/net/wireless/realtek/rtlwifi/rtl8192de/
H A Dled.c23 if ((rtlpriv->efuse.eeprom_did == 0x8176) ||
24 (rtlpriv->efuse.eeprom_did == 0x8193))
/linux-master/arch/mips/ralink/
H A Dmt7620.c164 u32 efuse = mt7620_get_efuse(); local
167 if (efuse & EFUSE_MT7688) {
/linux-master/drivers/net/wireless/realtek/rtw89/
H A DMakefile10 efuse.o \

Completed in 235 milliseconds

1234