/Linux-v5.4/drivers/nvmem/ |
D | meson-mx-efuse.c | 51 static void meson_mx_efuse_mask_bits(struct meson_mx_efuse *efuse, u32 reg, in meson_mx_efuse_mask_bits() argument 56 data = readl(efuse->base + reg); in meson_mx_efuse_mask_bits() 60 writel(data, efuse->base + reg); in meson_mx_efuse_mask_bits() 63 static int meson_mx_efuse_hw_enable(struct meson_mx_efuse *efuse) in meson_mx_efuse_hw_enable() argument 67 err = clk_prepare_enable(efuse->core_clk); in meson_mx_efuse_hw_enable() 72 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL1, in meson_mx_efuse_hw_enable() 75 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL4, in meson_mx_efuse_hw_enable() 81 static void meson_mx_efuse_hw_disable(struct meson_mx_efuse *efuse) in meson_mx_efuse_hw_disable() argument 83 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL1, in meson_mx_efuse_hw_disable() 87 clk_disable_unprepare(efuse->core_clk); in meson_mx_efuse_hw_disable() [all …]
|
D | sc27xx-efuse.c | 65 static int sc27xx_efuse_lock(struct sc27xx_efuse *efuse) in sc27xx_efuse_lock() argument 69 mutex_lock(&efuse->mutex); in sc27xx_efuse_lock() 71 ret = hwspin_lock_timeout_raw(efuse->hwlock, in sc27xx_efuse_lock() 74 dev_err(efuse->dev, "timeout to get the hwspinlock\n"); in sc27xx_efuse_lock() 75 mutex_unlock(&efuse->mutex); in sc27xx_efuse_lock() 82 static void sc27xx_efuse_unlock(struct sc27xx_efuse *efuse) in sc27xx_efuse_unlock() argument 84 hwspin_unlock_raw(efuse->hwlock); in sc27xx_efuse_unlock() 85 mutex_unlock(&efuse->mutex); in sc27xx_efuse_unlock() 88 static int sc27xx_efuse_poll_status(struct sc27xx_efuse *efuse, u32 bits) in sc27xx_efuse_poll_status() argument 93 ret = regmap_read_poll_timeout(efuse->regmap, in sc27xx_efuse_poll_status() [all …]
|
D | rockchip-efuse.c | 58 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 …]
|
D | Makefile | 27 obj-$(CONFIG_MTK_EFUSE) += nvmem_mtk-efuse.o 28 nvmem_mtk-efuse-y := mtk-efuse.o 32 nvmem_rockchip_efuse-y := rockchip-efuse.o 37 obj-$(CONFIG_UNIPHIER_EFUSE) += nvmem-uniphier-efuse.o 38 nvmem-uniphier-efuse-y := uniphier-efuse.o 42 nvmem_meson_efuse-y := meson-efuse.o 44 nvmem_meson_mx_efuse-y := meson-mx-efuse.o 49 obj-$(CONFIG_SC27XX_EFUSE) += nvmem-sc27xx-efuse.o 50 nvmem-sc27xx-efuse-y := sc27xx-efuse.o
|
/Linux-v5.4/drivers/net/wireless/realtek/rtl8xxxu/ |
D | rtl8xxxu_8192c.c | 348 struct rtl8192cu_efuse *efuse = &priv->efuse_wifi.efuse8192; in rtl8192cu_parse_efuse() local 351 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8192cu_parse_efuse() 354 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8192cu_parse_efuse() 357 efuse->cck_tx_power_index_A, in rtl8192cu_parse_efuse() 358 sizeof(efuse->cck_tx_power_index_A)); in rtl8192cu_parse_efuse() 360 efuse->cck_tx_power_index_B, in rtl8192cu_parse_efuse() 361 sizeof(efuse->cck_tx_power_index_B)); in rtl8192cu_parse_efuse() 364 efuse->ht40_1s_tx_power_index_A, in rtl8192cu_parse_efuse() 365 sizeof(efuse->ht40_1s_tx_power_index_A)); in rtl8192cu_parse_efuse() 367 efuse->ht40_1s_tx_power_index_B, in rtl8192cu_parse_efuse() [all …]
|
D | rtl8xxxu_8723a.c | 134 struct rtl8723au_efuse *efuse = &priv->efuse_wifi.efuse8723; in rtl8723au_parse_efuse() local 136 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8723au_parse_efuse() 139 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8723au_parse_efuse() 142 efuse->cck_tx_power_index_A, in rtl8723au_parse_efuse() 143 sizeof(efuse->cck_tx_power_index_A)); in rtl8723au_parse_efuse() 145 efuse->cck_tx_power_index_B, in rtl8723au_parse_efuse() 146 sizeof(efuse->cck_tx_power_index_B)); in rtl8723au_parse_efuse() 149 efuse->ht40_1s_tx_power_index_A, in rtl8723au_parse_efuse() 150 sizeof(efuse->ht40_1s_tx_power_index_A)); in rtl8723au_parse_efuse() 152 efuse->ht40_1s_tx_power_index_B, in rtl8723au_parse_efuse() [all …]
|
D | rtl8xxxu_8192e.c | 559 struct rtl8192eu_efuse *efuse = &priv->efuse_wifi.efuse8192eu; in rtl8192eu_parse_efuse() local 562 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8192eu_parse_efuse() 565 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8192eu_parse_efuse() 567 memcpy(priv->cck_tx_power_index_A, efuse->tx_power_index_A.cck_base, in rtl8192eu_parse_efuse() 568 sizeof(efuse->tx_power_index_A.cck_base)); in rtl8192eu_parse_efuse() 569 memcpy(priv->cck_tx_power_index_B, efuse->tx_power_index_B.cck_base, in rtl8192eu_parse_efuse() 570 sizeof(efuse->tx_power_index_B.cck_base)); in rtl8192eu_parse_efuse() 573 efuse->tx_power_index_A.ht40_base, in rtl8192eu_parse_efuse() 574 sizeof(efuse->tx_power_index_A.ht40_base)); in rtl8192eu_parse_efuse() 576 efuse->tx_power_index_B.ht40_base, in rtl8192eu_parse_efuse() [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/nvmem/ |
D | rockchip-efuse.txt | 5 - "rockchip,rk3066a-efuse" - for RK3066a SoCs. 6 - "rockchip,rk3188-efuse" - for RK3188 SoCs. 7 - "rockchip,rk3228-efuse" - for RK3228 SoCs. 8 - "rockchip,rk3288-efuse" - for RK3288 SoCs. 9 - "rockchip,rk3328-efuse" - for RK3328 SoCs. 10 - "rockchip,rk3368-efuse" - for RK3368 SoCs. 11 - "rockchip,rk3399-efuse" - for RK3399 SoCs. 17 - rockchip,efuse-size: Should be exact eFuse size in byte, the eFuse 21 - compatible: "rockchip,rockchip-efuse" 22 Old efuse compatible value compatible to rk3066a, rk3188 and rk3288 [all …]
|
D | mtk-efuse.txt | 7 "mediatek,mt7622-efuse", "mediatek,efuse": for MT7622 8 "mediatek,mt7623-efuse", "mediatek,efuse": for MT7623 9 "mediatek,mt8173-efuse" or "mediatek,efuse": for MT8173 18 efuse: efuse@10206000 { 19 compatible = "mediatek,mt8173-efuse";
|
D | amlogic-meson-mx-efuse.txt | 1 Amlogic Meson6/Meson8/Meson8b efuse 5 - "amlogic,meson6-efuse" 6 - "amlogic,meson8-efuse" 7 - "amlogic,meson8b-efuse" 8 - reg: base address and size of the efuse registers 9 - clocks: a reference to the efuse core gate clock 17 efuse: nvmem@0 { 18 compatible = "amlogic,meson8-efuse";
|
D | sc27xx-efuse.txt | 5 "sprd,sc2720-efuse" 6 "sprd,sc2721-efuse" 7 "sprd,sc2723-efuse" 8 "sprd,sc2730-efuse" 9 "sprd,sc2731-efuse" 10 - reg: Specify the address offset of efuse controller. 29 efuse@380 { 30 compatible = "sprd,sc2731-efuse";
|
D | uniphier-efuse.txt | 6 - compatible: should be "socionext,uniphier-efuse" 10 Are child nodes of efuse, bindings of which as described in 22 efuse@100 { 23 compatible = "socionext,uniphier-efuse"; 27 efuse@200 { 28 compatible = "socionext,uniphier-efuse";
|
D | amlogic-efuse.txt | 4 - compatible: should be "amlogic,meson-gxbb-efuse" 5 - clocks: phandle to the efuse peripheral clock provided by the 14 efuse: efuse { 15 compatible = "amlogic,meson-gxbb-efuse";
|
/Linux-v5.4/Documentation/devicetree/bindings/regulator/ |
D | ti-abb-regulator.txt | 35 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-v5.4/drivers/net/wireless/realtek/rtw88/ |
D | main.c | 535 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_update_sta_info() local 603 if (efuse->hw_cap.nss == 1) { in rtw_update_sta_info() 711 wifi_only = !rtwdev->efuse.btcoex; in rtw_power_on() 769 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_init_ht_cap() local 777 if (efuse->hw_cap.bw & BIT(RTW_CHANNEL_WIDTH_40)) in rtw_init_ht_cap() 784 if (efuse->hw_cap.nss > 1) { in rtw_init_ht_cap() 800 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_init_vht_cap() local 804 if (efuse->hw_cap.ptcl != EFUSE_HW_CAP_IGNORE && in rtw_init_vht_cap() 805 efuse->hw_cap.ptcl != EFUSE_HW_CAP_PTCL_VHT) in rtw_init_vht_cap() 824 if (efuse->hw_cap.nss > 1) { in rtw_init_vht_cap() [all …]
|
D | coex.c | 638 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_update_wl_ch_info() local 649 if (center_chan == 0 || (efuse->share_ant && center_chan <= 14)) { in rtw_coex_update_wl_ch_info() 782 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_table() local 786 if (efuse->share_ant) { in rtw_coex_table() 887 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_tdma() local 915 if (efuse->share_ant) { in rtw_coex_tdma() 1135 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_action_coex_all_off() local 1139 if (efuse->share_ant) { in rtw_coex_action_coex_all_off() 1159 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_coex_action_freerun() local 1163 if (efuse->share_ant) in rtw_coex_action_freerun() [all …]
|
D | efuse.c | 41 u32 physical_size = rtwdev->efuse.physical_size; in rtw_dump_logical_efuse_map() 42 u32 protect_size = rtwdev->efuse.protect_size; in rtw_dump_logical_efuse_map() 43 u32 logical_size = rtwdev->efuse.logical_size; in rtw_dump_logical_efuse_map() 88 u32 size = rtwdev->efuse.physical_size; in rtw_dump_physical_efuse_map() 122 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_parse_efuse_map() local 123 u32 phy_size = efuse->physical_size; in rtw_parse_efuse_map() 124 u32 log_size = efuse->logical_size; in rtw_parse_efuse_map()
|
D | rtw8822b.c | 20 static void rtw8822be_efuse_parsing(struct rtw_efuse *efuse, in rtw8822be_efuse_parsing() argument 23 ether_addr_copy(efuse->addr, map->e.mac_addr); in rtw8822be_efuse_parsing() 28 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8822b_read_efuse() local 34 efuse->rfe_option = map->rfe_option; in rtw8822b_read_efuse() 35 efuse->rf_board_option = map->rf_board_option; in rtw8822b_read_efuse() 36 efuse->crystal_cap = map->xtal_k; in rtw8822b_read_efuse() 37 efuse->pa_type_2g = map->pa_type; in rtw8822b_read_efuse() 38 efuse->pa_type_5g = map->pa_type; in rtw8822b_read_efuse() 39 efuse->lna_type_2g = map->lna_type_2g[0]; in rtw8822b_read_efuse() 40 efuse->lna_type_5g = map->lna_type_5g[0]; in rtw8822b_read_efuse() [all …]
|
D | phy.h | 89 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw_get_rfe_def() local 95 if (efuse->rfe_option < chip->rfe_defs_size) in rtw_get_rfe_def() 96 rfe_def = &chip->rfe_defs[efuse->rfe_option]; in rtw_get_rfe_def() 98 rtw_dbg(rtwdev, RTW_DBG_PHY, "use rfe_def[%d]\n", efuse->rfe_option); in rtw_get_rfe_def() 108 rtwdev->efuse.rfe_option); in rtw_check_supported_rfe()
|
/Linux-v5.4/Documentation/devicetree/bindings/fuse/ |
D | nvidia,tegra20-fuse.txt | 4 - compatible : For Tegra20, must contain "nvidia,tegra20-efuse". For Tegra30, 5 must contain "nvidia,tegra30-efuse". For Tegra114, must contain 6 "nvidia,tegra114-efuse". For Tegra124, must contain "nvidia,tegra124-efuse". 7 Otherwise, must contain "nvidia,<chip>-efuse", plus one of the above, where 10 nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data 13 nvidia,tegra30-efuse, nvidia,tegra114-efuse and nvidia,tegra124-efuse: 14 The differences between these SoCs are the size of the efuse array, 31 compatible = "nvidia,tegra20-efuse";
|
/Linux-v5.4/drivers/cpufreq/ |
D | ti-cpufreq.c | 40 unsigned long efuse); 58 unsigned long efuse) in amx3_efuse_xlate() argument 60 if (!efuse) in amx3_efuse_xlate() 61 efuse = opp_data->soc_data->efuse_fallback; in amx3_efuse_xlate() 63 return ~efuse; in amx3_efuse_xlate() 67 unsigned long efuse) in dra7_efuse_xlate() argument 76 switch (efuse) { in dra7_efuse_xlate() 126 u32 efuse; in ti_cpufreq_get_efuse() local 130 &efuse); in ti_cpufreq_get_efuse() 138 efuse = (efuse & opp_data->soc_data->efuse_mask); in ti_cpufreq_get_efuse() [all …]
|
/Linux-v5.4/drivers/net/wireless/mediatek/mt76/mt7603/ |
D | eeprom.c | 66 mt7603_has_cal_free_data(struct mt7603_dev *dev, u8 *efuse) in mt7603_has_cal_free_data() argument 68 if (!efuse[MT_EE_TEMP_SENSOR_CAL]) in mt7603_has_cal_free_data() 71 if (get_unaligned_le16(efuse + MT_EE_TX_POWER_0_START_2G) == 0) in mt7603_has_cal_free_data() 74 if (get_unaligned_le16(efuse + MT_EE_TX_POWER_1_START_2G) == 0) in mt7603_has_cal_free_data() 77 if (!efuse[MT_EE_CP_FT_VERSION]) in mt7603_has_cal_free_data() 80 if (!efuse[MT_EE_XTAL_FREQ_OFFSET]) in mt7603_has_cal_free_data() 83 if (!efuse[MT_EE_XTAL_WF_RFCAL]) in mt7603_has_cal_free_data() 90 mt7603_apply_cal_free_data(struct mt7603_dev *dev, u8 *efuse) in mt7603_apply_cal_free_data() argument 107 if (!mt7603_has_cal_free_data(dev, efuse)) in mt7603_apply_cal_free_data() 116 eeprom[offset] = efuse[offset]; in mt7603_apply_cal_free_data()
|
/Linux-v5.4/drivers/net/wireless/mediatek/mt76/mt76x2/ |
D | eeprom.c | 23 mt76x2_has_cal_free_data(struct mt76x02_dev *dev, u8 *efuse) in mt76x2_has_cal_free_data() argument 25 u16 *efuse_w = (u16 *)efuse; in mt76x2_has_cal_free_data() 49 mt76x2_apply_cal_free_data(struct mt76x02_dev *dev, u8 *efuse) in mt76x2_apply_cal_free_data() argument 89 if (!mt76x2_has_cal_free_data(dev, efuse)) in mt76x2_apply_cal_free_data() 95 eeprom[offset] = efuse[offset]; in mt76x2_apply_cal_free_data() 98 if (!(efuse[MT_EE_TX_POWER_0_START_5G] | in mt76x2_apply_cal_free_data() 99 efuse[MT_EE_TX_POWER_0_START_5G + 1])) in mt76x2_apply_cal_free_data() 101 if (!(efuse[MT_EE_TX_POWER_1_START_5G] | in mt76x2_apply_cal_free_data() 102 efuse[MT_EE_TX_POWER_1_START_5G + 1])) in mt76x2_apply_cal_free_data() 105 val = get_unaligned_le16(efuse + MT_EE_BT_RCAL_RESULT); in mt76x2_apply_cal_free_data() [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/opp/ |
D | ti-omap5-opp-supply.txt | 26 "ti,omap5-opp-supply" - OMAP5+ optimized voltages in efuse(class0)VDD 28 "ti,omap5-core-opp-supply" - OMAP5+ optimized voltages in efuse(class0) VDD 30 - reg: Address and length of the efuse register set for the device (mandatory 32 - ti,efuse-settings: An array of u32 tuple items providing information about 33 optimized efuse configuration. Each item consists of the following: 35 efuse_offseet: efuse offset from reg where the optimized voltage is stored. 56 ti,efuse-settings = <
|
/Linux-v5.4/Documentation/devicetree/bindings/edac/ |
D | apm-xgene-edac.txt | 18 - regmap-efuse : Regmap of the PMD efuse resource. 66 efuse: efuse@1054a000 { 67 compatible = "apm,xgene-efuse", "syscon"; 84 regmap-efuse = <&efuse>;
|