Home
last modified time | relevance | path

Searched refs:efuse (Results 1 – 25 of 133) sorted by relevance

123456

/linux/drivers/nvmem/
H A Drockchip-efuse.c58 struct rockchip_efuse_chip *efuse = context; in rockchip_rk3288_efuse_read() local
62 ret = clk_prepare_enable(efuse->clk); in rockchip_rk3288_efuse_read()
64 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n"); in rockchip_rk3288_efuse_read()
68 writel(RK3288_LOAD | RK3288_PGENB, efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
71 writel(readl(efuse->base + REG_EFUSE_CTRL) & in rockchip_rk3288_efuse_read()
73 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
74 writel(readl(efuse->base + REG_EFUSE_CTRL) | in rockchip_rk3288_efuse_read()
76 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
78 writel(readl(efuse->base + REG_EFUSE_CTRL) | in rockchip_rk3288_efuse_read()
79 RK3288_STROBE, efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
[all …]
H A Djz4780-efuse.c72 struct jz4780_efuse *efuse = context; in jz4780_efuse_read() local
87 regmap_update_bits(efuse->map, JZ_EFUCTRL, in jz4780_efuse_read()
94 ret = regmap_read_poll_timeout(efuse->map, JZ_EFUSTATE, in jz4780_efuse_read()
99 dev_err(efuse->dev, "Time out while reading efuse data"); in jz4780_efuse_read()
103 ret = regmap_bulk_read(efuse->map, JZ_EFUDATA(0), in jz4780_efuse_read()
142 struct jz4780_efuse *efuse; in jz4780_efuse_probe() local
151 efuse = devm_kzalloc(dev, sizeof(*efuse), GFP_KERNEL); in jz4780_efuse_probe()
152 if (!efuse) in jz4780_efuse_probe()
159 efuse->map = devm_regmap_init_mmio(dev, regs, in jz4780_efuse_probe()
161 if (IS_ERR(efuse->map)) in jz4780_efuse_probe()
[all …]
H A DMakefile13 obj-$(CONFIG_NVMEM_AN8855_EFUSE) += nvmem-an8855-efuse.o
14 nvmem-an8855-efuse-y := an8855-efuse.o
32 nvmem_jz4780_efuse-y := jz4780-efuse.o
44 nvmem_meson_efuse-y := meson-efuse.o
46 nvmem_meson_mx_efuse-y := meson-mx-efuse.o
49 obj-$(CONFIG_NVMEM_MTK_EFUSE) += nvmem_mtk-efuse.o
50 nvmem_mtk-efuse-y := mtk-efuse.o
63 obj-$(CONFIG_NVMEM_RCAR_EFUSE) += nvmem-rcar-efuse.o
64 nvmem-rcar-efuse-y := rcar-efuse.o
68 nvmem_rockchip_efuse-y := rockchip-efuse.o
[all …]
H A Dzynqmp_nvmem.c64 struct xilinx_efuse *efuse; in zynqmp_efuse_access() local
98 efuse = dma_alloc_coherent(dev, sizeof(struct xilinx_efuse), in zynqmp_efuse_access()
100 if (!efuse) in zynqmp_efuse_access()
112 efuse->flag = EFUSE_WRITE; in zynqmp_efuse_access()
114 efuse->flag = EFUSE_READ; in zynqmp_efuse_access()
117 efuse->src = dma_buf; in zynqmp_efuse_access()
118 efuse->size = words; in zynqmp_efuse_access()
119 efuse->offset = offset; in zynqmp_efuse_access()
120 efuse->pufuserfuse = pufflag; in zynqmp_efuse_access()
141 efuse, dma_addr); in zynqmp_efuse_access()
/linux/drivers/net/wireless/realtek/rtw88/
H A Drtw88xxa.c34 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8812a_read_amplifier_type() local
36 efuse->ext_pa_2g = (efuse->pa_type_2g & BIT(5)) && in rtw8812a_read_amplifier_type()
37 (efuse->pa_type_2g & BIT(4)); in rtw8812a_read_amplifier_type()
38 efuse->ext_lna_2g = (efuse->lna_type_2g & BIT(7)) && in rtw8812a_read_amplifier_type()
39 (efuse->lna_type_2g & BIT(3)); in rtw8812a_read_amplifier_type()
41 efuse->ext_pa_5g = (efuse->pa_type_5g & BIT(1)) && in rtw8812a_read_amplifier_type()
42 (efuse->pa_type_5g & BIT(0)); in rtw8812a_read_amplifier_type()
43 efuse->ext_lna_5g = (efuse->lna_type_5g & BIT(7)) && in rtw8812a_read_amplifier_type()
44 (efuse->lna_type_5g & BIT(3)); in rtw8812a_read_amplifier_type()
47 if (efuse->ext_pa_2g) { in rtw8812a_read_amplifier_type()
[all …]
H A Drtw8723x.c74 # name "=0x%x\n", rtwdev->efuse.name)
226 static void rtw8723xe_efuse_parsing(struct rtw_efuse *efuse, in rtw8723xe_efuse_parsing() argument
229 ether_addr_copy(efuse->addr, map->e.mac_addr); in rtw8723xe_efuse_parsing()
232 static void rtw8723xu_efuse_parsing(struct rtw_efuse *efuse, in rtw8723xu_efuse_parsing() argument
235 ether_addr_copy(efuse->addr, map->u.mac_addr); in rtw8723xu_efuse_parsing()
238 static void rtw8723xs_efuse_parsing(struct rtw_efuse *efuse, in rtw8723xs_efuse_parsing() argument
241 ether_addr_copy(efuse->addr, map->s.mac_addr); in rtw8723xs_efuse_parsing()
255 struct rtw_efuse *efuse = &rtwdev->efuse; in __rtw8723x_read_efuse() local
256 u8 *pwr = (u8 *)efuse->txpwr_idx_table; in __rtw8723x_read_efuse()
264 efuse->rfe_option = 0; in __rtw8723x_read_efuse()
[all …]
H A Drtw8821c.c23 static void rtw8821ce_efuse_parsing(struct rtw_efuse *efuse, in rtw8821ce_efuse_parsing() argument
26 ether_addr_copy(efuse->addr, map->e.mac_addr); in rtw8821ce_efuse_parsing()
29 static void rtw8821cu_efuse_parsing(struct rtw_efuse *efuse, in rtw8821cu_efuse_parsing() argument
32 ether_addr_copy(efuse->addr, map->u.mac_addr); in rtw8821cu_efuse_parsing()
35 static void rtw8821cs_efuse_parsing(struct rtw_efuse *efuse, in rtw8821cs_efuse_parsing() argument
38 ether_addr_copy(efuse->addr, map->s.mac_addr); in rtw8821cs_efuse_parsing()
51 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8821c_read_efuse() local
57 efuse->rfe_option = map->rfe_option & 0x1f; in rtw8821c_read_efuse()
58 efuse->rf_board_option = map->rf_board_option; in rtw8821c_read_efuse()
59 efuse->crystal_cap = map->xtal_k; in rtw8821c_read_efuse()
[all …]
H A Defuse.c43 u32 physical_size = rtwdev->efuse.physical_size; in rtw_dump_logical_efuse_map()
44 u32 protect_size = rtwdev->efuse.protect_size; in rtw_dump_logical_efuse_map()
45 u32 logical_size = rtwdev->efuse.logical_size; in rtw_dump_logical_efuse_map()
90 u32 size = rtwdev->efuse.physical_size; in rtw_dump_physical_efuse_map()
149 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_parse_efuse_map() local
150 u32 phy_size = efuse->physical_size; in rtw_parse_efuse_map()
151 u32 log_size = efuse->logical_size; in rtw_parse_efuse_map()
H A Drtw8814a.c34 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8814a_read_rfe_type() local
36 if (!(efuse->rfe_option & BIT(7))) in rtw8814a_read_rfe_type()
40 efuse->rfe_option = 0; in rtw8814a_read_rfe_type()
42 efuse->rfe_option = 1; in rtw8814a_read_rfe_type()
47 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8814a_read_amplifier_type() local
49 switch (efuse->rfe_option) { in rtw8814a_read_amplifier_type()
52 efuse->pa_type_2g = 0; in rtw8814a_read_amplifier_type()
53 efuse->lna_type_2g = 0; in rtw8814a_read_amplifier_type()
55 efuse->pa_type_5g = BIT(0); in rtw8814a_read_amplifier_type()
56 efuse->lna_type_5g = BIT(3); in rtw8814a_read_amplifier_type()
[all …]
H A Dcoex.c117 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_freerun_check() local
124 if (efuse->share_ant || ant_distance <= 5 || !coex_stat->wl_gl_busy) in rtw_coex_freerun_check()
827 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_update_wl_ch_info() local
841 (efuse->share_ant && center_chan <= 14 && in rtw_coex_update_wl_ch_info()
1008 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_btc_wltoggle_table_a() local
1016 if (efuse->share_ant) { in rtw_btc_wltoggle_table_a()
1094 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_table() local
1101 if (efuse->share_ant) { in rtw_coex_table()
1223 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_tdma() local
1259 if (efuse->share_ant) { in rtw_coex_tdma()
[all …]
H A Drtw8821a.c390 const struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8821a_iqk() local
407 hal->current_band_width, efuse->ext_pa_2g, efuse->ext_pa_5g); in rtw8821a_iqk()
457 if (efuse->ext_pa_5g) in rtw8821a_iqk()
521 if (efuse->ext_pa_5g) in rtw8821a_iqk()
749 if (rtwdev->efuse.share_ant) in rtw8821a_coex_cfg_init()
763 bool share_ant = rtwdev->efuse.share_ant; in rtw8821a_coex_cfg_ant_switch()
768 if (!rtwdev->efuse.btcoex) in rtw8821a_coex_cfg_ant_switch()
844 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8821a_coex_cfg_wl_tx_power() local
845 bool share_ant = efuse->share_ant; in rtw8821a_coex_cfg_wl_tx_power()
H A Dregd.c284 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_regd_apply_hw_cap_flags() local
287 if (efuse->hw_cap.bw & BIT(RTW_CHANNEL_WIDTH_80)) in rtw_regd_apply_hw_cap_flags()
346 chip_reg = rtw_reg_find_by_name(rtwdev->efuse.country_code); in rtw_regd_init()
380 rtwdev->efuse.country_code[0], in rtw_regd_hint()
381 rtwdev->efuse.country_code[1]); in rtw_regd_hint()
383 ret = regulatory_hint(wiphy, rtwdev->efuse.country_code); in rtw_regd_hint()
416 rtw_reg_match(next_regd->regulatory, rtwdev->efuse.country_code)) { in rtw_regd_mgmt_programmed()
H A Drtw8703b.c525 struct rtw_efuse *efuse = &rtwdev->efuse; in try_mac_from_devicetree() local
529 ret = of_get_mac_address(node, efuse->addr); in try_mac_from_devicetree()
533 efuse->addr); in try_mac_from_devicetree()
540 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8703b_read_efuse() local
547 if (!is_valid_ether_addr(efuse->addr)) in rtw8703b_read_efuse()
573 dm_info->thermal_meter_k = rtwdev->efuse.thermal_meter_k; in rtw8703b_pwrtrack_init()
580 u8 xtal_cap = rtwdev->efuse.crystal_cap & 0x3F; in rtw8703b_phy_set_param()
1596 if (rtwdev->efuse.thermal_meter[0] == 0xff) in rtw8703b_phy_pwrtrack()
1640 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8703b_pwr_track() local
1643 if (efuse->power_track_type != 0) { in rtw8703b_pwr_track()
[all …]
/linux/Documentation/devicetree/bindings/regulator/
H A Dti-abb-regulator.txt35 efuse: (see Optional properties)
36 RBB enable efuse Mask: (See Optional properties)
37 FBB enable efuse Mask: (See Optional properties)
38 Vset value efuse Mask: (See Optional properties)
47 - "efuse-address" - Contains efuse base address used to pick up ABB info.
49 "efuse-address" is required for this.
55 efuse: Mandatory if 'efuse-address' register is defined. Provides offset
56 from efuse-address to pick up ABB characteristics. Set to 0 if
57 'efuse-address' is not defined.
58 RBB enable efuse Mask: Optional if 'efuse-address' register is defined.
[all …]
/linux/drivers/phy/mediatek/
H A Dphy-mtk-pcie.c77 struct mtk_pcie_lane_efuse *efuse; member
83 struct mtk_pcie_lane_efuse *data = &pcie_phy->efuse[lane]; in mtk_pcie_efuse_set_lane()
136 struct mtk_pcie_lane_efuse *efuse = &pcie_phy->efuse[lane]; in mtk_pcie_efuse_read_for_lane() local
142 ret = nvmem_cell_read_variable_le_u32(dev, efuse_id, &efuse->tx_pmos); in mtk_pcie_efuse_read_for_lane()
147 ret = nvmem_cell_read_variable_le_u32(dev, efuse_id, &efuse->tx_nmos); in mtk_pcie_efuse_read_for_lane()
152 ret = nvmem_cell_read_variable_le_u32(dev, efuse_id, &efuse->rx_data); in mtk_pcie_efuse_read_for_lane()
156 if (!(efuse->tx_pmos || efuse->tx_nmos || efuse->rx_data)) in mtk_pcie_efuse_read_for_lane()
161 efuse->lane_efuse_supported = true; in mtk_pcie_efuse_read_for_lane()
184 pcie_phy->efuse = devm_kzalloc(dev, pcie_phy->data->num_lanes * in mtk_pcie_read_efuse()
185 sizeof(*pcie_phy->efuse), GFP_KERNEL); in mtk_pcie_read_efuse()
[all …]
/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192d/
H A Dhw_common.c366 u8 *efuse, bool autoloadfail) in _rtl92d_readpowervalue_fromprom() argument
411 efuse[eeaddr] == 0xFF ? in _rtl92d_readpowervalue_fromprom()
415 efuse[eeaddr]; in _rtl92d_readpowervalue_fromprom()
426 efuse[eeaddr] == 0xFF ? in _rtl92d_readpowervalue_fromprom()
430 efuse[eeaddr]; in _rtl92d_readpowervalue_fromprom()
441 val8 = efuse[EEPROM_HT40_2S_TX_PWR_INX_DIFF_2G + offset]; in _rtl92d_readpowervalue_fromprom()
449 val8 = efuse[EEPROM_HT20_TX_PWR_INX_DIFF_2G + offset]; in _rtl92d_readpowervalue_fromprom()
457 val8 = efuse[EEPROM_OFDM_TX_PWR_INX_DIFF_2G + offset]; in _rtl92d_readpowervalue_fromprom()
465 val8 = efuse[EEPROM_HT40_MAX_PWR_OFFSET_2G + offset]; in _rtl92d_readpowervalue_fromprom()
473 val8 = efuse[EEPROM_HT20_MAX_PWR_OFFSET_2G + offset]; in _rtl92d_readpowervalue_fromprom()
[all …]
/linux/drivers/net/wireless/realtek/rtl8xxxu/
H A D8192e.c590 struct rtl8192eu_efuse *efuse = &priv->efuse_wifi.efuse8192eu; in rtl8192eu_parse_efuse() local
593 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8192eu_parse_efuse()
596 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8192eu_parse_efuse()
598 memcpy(priv->cck_tx_power_index_A, efuse->tx_power_index_A.cck_base, in rtl8192eu_parse_efuse()
599 sizeof(efuse->tx_power_index_A.cck_base)); in rtl8192eu_parse_efuse()
600 memcpy(priv->cck_tx_power_index_B, efuse->tx_power_index_B.cck_base, in rtl8192eu_parse_efuse()
601 sizeof(efuse->tx_power_index_B.cck_base)); in rtl8192eu_parse_efuse()
604 efuse->tx_power_index_A.ht40_base, in rtl8192eu_parse_efuse()
605 sizeof(efuse->tx_power_index_A.ht40_base)); in rtl8192eu_parse_efuse()
607 efuse->tx_power_index_B.ht40_base, in rtl8192eu_parse_efuse()
[all …]
H A D8723b.c429 struct rtl8723bu_efuse *efuse = &priv->efuse_wifi.efuse8723bu; in rtl8723bu_parse_efuse() local
432 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8723bu_parse_efuse()
435 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8723bu_parse_efuse()
437 memcpy(priv->cck_tx_power_index_A, efuse->tx_power_index_A.cck_base, in rtl8723bu_parse_efuse()
438 sizeof(efuse->tx_power_index_A.cck_base)); in rtl8723bu_parse_efuse()
439 memcpy(priv->cck_tx_power_index_B, efuse->tx_power_index_B.cck_base, in rtl8723bu_parse_efuse()
440 sizeof(efuse->tx_power_index_B.cck_base)); in rtl8723bu_parse_efuse()
443 efuse->tx_power_index_A.ht40_base, in rtl8723bu_parse_efuse()
444 sizeof(efuse->tx_power_index_A.ht40_base)); in rtl8723bu_parse_efuse()
446 efuse->tx_power_index_B.ht40_base, in rtl8723bu_parse_efuse()
[all …]
H A D8192f.c684 struct rtl8192fu_efuse *efuse = &priv->efuse_wifi.efuse8192fu; in rtl8192fu_parse_efuse() local
687 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8192fu_parse_efuse()
690 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8192fu_parse_efuse()
692 memcpy(priv->cck_tx_power_index_A, efuse->tx_power_index_A.cck_base, in rtl8192fu_parse_efuse()
693 sizeof(efuse->tx_power_index_A.cck_base)); in rtl8192fu_parse_efuse()
694 memcpy(priv->cck_tx_power_index_B, efuse->tx_power_index_B.cck_base, in rtl8192fu_parse_efuse()
695 sizeof(efuse->tx_power_index_B.cck_base)); in rtl8192fu_parse_efuse()
698 efuse->tx_power_index_A.ht40_base, in rtl8192fu_parse_efuse()
699 sizeof(efuse->tx_power_index_A.ht40_base)); in rtl8192fu_parse_efuse()
701 efuse->tx_power_index_B.ht40_base, in rtl8192fu_parse_efuse()
[all …]
/linux/arch/arm/boot/dts/ti/omap/
H A Domap4460.dtsi48 "efuse-address";
51 /*uV ABB efuse rbb_m fbb_m vset_m*/
66 "efuse-address";
69 /*uV ABB efuse rbb_m fbb_m vset_m*/
/linux/arch/arm/boot/dts/aspeed/
H A Daspeed-bmc-delta-ahe50dc.dts8 efuse##n { \
10 vout-supply = <&efuse##n>; \
16 efuse@##hexaddr { \
21 efuse##num: vout { \
22 regulator-name = __stringify(efuse##num##-reg); \
/linux/arch/arm/boot/dts/socionext/
H A Duniphier-pro5.dtsi394 efuse@100 {
395 compatible = "socionext,uniphier-efuse";
399 efuse@130 {
400 compatible = "socionext,uniphier-efuse";
404 efuse@200 {
405 compatible = "socionext,uniphier-efuse";
409 efuse@300 {
410 compatible = "socionext,uniphier-efuse";
414 efuse@400 {
415 compatible = "socionext,uniphier-efuse";
/linux/Documentation/ABI/testing/
H A Dsysfs-driver-jz4780-efuse4 Description: read-only access to the efuse on the Ingenic JZ4780 SoC
5 The SoC has a one time programmable 8K efuse that is
/linux/Documentation/devicetree/bindings/net/
H A Dkeystone-netcp.txt149 - efuse-mac: If this is 1, then the MAC address for the interface is
150 obtained from the device efuse mac address register.
154 when it obtains the mac address from efuse.
159 ethernet.txt and only if efuse-mac is set to 0. If all of the optional MAC
167 reg-names = "efuse";
238 efuse-mac = <1>;
250 efuse-mac = <0>;
/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192de/
H A Dled.c23 if ((rtlpriv->efuse.eeprom_did == 0x8176) || in rtl92de_sw_led_on()
24 (rtlpriv->efuse.eeprom_did == 0x8193)) in rtl92de_sw_led_on()

123456