Home
last modified time | relevance | path

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

12345

/Linux-v4.19/drivers/nvmem/
Dmeson-mx-efuse.c59 static void meson_mx_efuse_mask_bits(struct meson_mx_efuse *efuse, u32 reg, in meson_mx_efuse_mask_bits() argument
64 data = readl(efuse->base + reg); in meson_mx_efuse_mask_bits()
68 writel(data, efuse->base + reg); in meson_mx_efuse_mask_bits()
71 static int meson_mx_efuse_hw_enable(struct meson_mx_efuse *efuse) in meson_mx_efuse_hw_enable() argument
75 err = clk_prepare_enable(efuse->core_clk); in meson_mx_efuse_hw_enable()
80 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL1, in meson_mx_efuse_hw_enable()
83 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL4, in meson_mx_efuse_hw_enable()
89 static void meson_mx_efuse_hw_disable(struct meson_mx_efuse *efuse) in meson_mx_efuse_hw_disable() argument
91 meson_mx_efuse_mask_bits(efuse, MESON_MX_EFUSE_CNTL1, in meson_mx_efuse_hw_disable()
95 clk_disable_unprepare(efuse->core_clk); in meson_mx_efuse_hw_disable()
[all …]
Dsc27xx-efuse.c65 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 …]
Drockchip-efuse.c66 struct rockchip_efuse_chip *efuse = context; in rockchip_rk3288_efuse_read() local
70 ret = clk_prepare_enable(efuse->clk); in rockchip_rk3288_efuse_read()
72 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n"); in rockchip_rk3288_efuse_read()
76 writel(RK3288_LOAD | RK3288_PGENB, efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
79 writel(readl(efuse->base + REG_EFUSE_CTRL) & in rockchip_rk3288_efuse_read()
81 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
82 writel(readl(efuse->base + REG_EFUSE_CTRL) | in rockchip_rk3288_efuse_read()
84 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
86 writel(readl(efuse->base + REG_EFUSE_CTRL) | in rockchip_rk3288_efuse_read()
87 RK3288_STROBE, efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
[all …]
DMakefile22 obj-$(CONFIG_MTK_EFUSE) += nvmem_mtk-efuse.o
23 nvmem_mtk-efuse-y := mtk-efuse.o
27 nvmem_rockchip_efuse-y := rockchip-efuse.o
30 obj-$(CONFIG_UNIPHIER_EFUSE) += nvmem-uniphier-efuse.o
31 nvmem-uniphier-efuse-y := uniphier-efuse.o
35 nvmem_meson_efuse-y := meson-efuse.o
37 nvmem_meson_mx_efuse-y := meson-mx-efuse.o
42 obj-$(CONFIG_SC27XX_EFUSE) += nvmem-sc27xx-efuse.o
43 nvmem-sc27xx-efuse-y := sc27xx-efuse.o
/Linux-v4.19/drivers/net/wireless/realtek/rtl8xxxu/
Drtl8xxxu_8192c.c356 struct rtl8192cu_efuse *efuse = &priv->efuse_wifi.efuse8192; in rtl8192cu_parse_efuse() local
359 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8192cu_parse_efuse()
362 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8192cu_parse_efuse()
365 efuse->cck_tx_power_index_A, in rtl8192cu_parse_efuse()
366 sizeof(efuse->cck_tx_power_index_A)); in rtl8192cu_parse_efuse()
368 efuse->cck_tx_power_index_B, in rtl8192cu_parse_efuse()
369 sizeof(efuse->cck_tx_power_index_B)); in rtl8192cu_parse_efuse()
372 efuse->ht40_1s_tx_power_index_A, in rtl8192cu_parse_efuse()
373 sizeof(efuse->ht40_1s_tx_power_index_A)); in rtl8192cu_parse_efuse()
375 efuse->ht40_1s_tx_power_index_B, in rtl8192cu_parse_efuse()
[all …]
Drtl8xxxu_8723a.c142 struct rtl8723au_efuse *efuse = &priv->efuse_wifi.efuse8723; in rtl8723au_parse_efuse() local
144 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8723au_parse_efuse()
147 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8723au_parse_efuse()
150 efuse->cck_tx_power_index_A, in rtl8723au_parse_efuse()
151 sizeof(efuse->cck_tx_power_index_A)); in rtl8723au_parse_efuse()
153 efuse->cck_tx_power_index_B, in rtl8723au_parse_efuse()
154 sizeof(efuse->cck_tx_power_index_B)); in rtl8723au_parse_efuse()
157 efuse->ht40_1s_tx_power_index_A, in rtl8723au_parse_efuse()
158 sizeof(efuse->ht40_1s_tx_power_index_A)); in rtl8723au_parse_efuse()
160 efuse->ht40_1s_tx_power_index_B, in rtl8723au_parse_efuse()
[all …]
Drtl8xxxu_8192e.c567 struct rtl8192eu_efuse *efuse = &priv->efuse_wifi.efuse8192eu; in rtl8192eu_parse_efuse() local
570 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8192eu_parse_efuse()
573 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8192eu_parse_efuse()
575 memcpy(priv->cck_tx_power_index_A, efuse->tx_power_index_A.cck_base, in rtl8192eu_parse_efuse()
576 sizeof(efuse->tx_power_index_A.cck_base)); in rtl8192eu_parse_efuse()
577 memcpy(priv->cck_tx_power_index_B, efuse->tx_power_index_B.cck_base, in rtl8192eu_parse_efuse()
578 sizeof(efuse->tx_power_index_B.cck_base)); in rtl8192eu_parse_efuse()
581 efuse->tx_power_index_A.ht40_base, in rtl8192eu_parse_efuse()
582 sizeof(efuse->tx_power_index_A.ht40_base)); in rtl8192eu_parse_efuse()
584 efuse->tx_power_index_B.ht40_base, in rtl8192eu_parse_efuse()
[all …]
Drtl8xxxu_8723b.c406 struct rtl8723bu_efuse *efuse = &priv->efuse_wifi.efuse8723bu; in rtl8723bu_parse_efuse() local
409 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8723bu_parse_efuse()
412 ether_addr_copy(priv->mac_addr, efuse->mac_addr); in rtl8723bu_parse_efuse()
414 memcpy(priv->cck_tx_power_index_A, efuse->tx_power_index_A.cck_base, in rtl8723bu_parse_efuse()
415 sizeof(efuse->tx_power_index_A.cck_base)); in rtl8723bu_parse_efuse()
416 memcpy(priv->cck_tx_power_index_B, efuse->tx_power_index_B.cck_base, in rtl8723bu_parse_efuse()
417 sizeof(efuse->tx_power_index_B.cck_base)); in rtl8723bu_parse_efuse()
420 efuse->tx_power_index_A.ht40_base, in rtl8723bu_parse_efuse()
421 sizeof(efuse->tx_power_index_A.ht40_base)); in rtl8723bu_parse_efuse()
423 efuse->tx_power_index_B.ht40_base, in rtl8723bu_parse_efuse()
[all …]
/Linux-v4.19/Documentation/devicetree/bindings/nvmem/
Drockchip-efuse.txt5 - "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 …]
Dmtk-efuse.txt7 "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";
Damlogic-meson-mx-efuse.txt1 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";
Dsc27xx-efuse.txt5 "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";
Duniphier-efuse.txt6 - 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";
Damlogic-efuse.txt4 - compatible: should be "amlogic,meson-gxbb-efuse"
12 efuse: efuse {
13 compatible = "amlogic,meson-gxbb-efuse";
/Linux-v4.19/Documentation/devicetree/bindings/regulator/
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-v4.19/Documentation/devicetree/bindings/fuse/
Dnvidia,tegra20-fuse.txt4 - 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-v4.19/drivers/cpufreq/
Dti-cpufreq.c48 unsigned long efuse);
66 unsigned long efuse) in amx3_efuse_xlate() argument
68 if (!efuse) in amx3_efuse_xlate()
69 efuse = opp_data->soc_data->efuse_fallback; in amx3_efuse_xlate()
71 return ~efuse; in amx3_efuse_xlate()
75 unsigned long efuse) in dra7_efuse_xlate() argument
84 switch (efuse) { in dra7_efuse_xlate()
133 u32 efuse; in ti_cpufreq_get_efuse() local
137 &efuse); in ti_cpufreq_get_efuse()
145 efuse = (efuse & opp_data->soc_data->efuse_mask); in ti_cpufreq_get_efuse()
[all …]
/Linux-v4.19/drivers/net/wireless/mediatek/mt76/
Dmt76x2_eeprom.c109 mt76x2_has_cal_free_data(struct mt76x2_dev *dev, u8 *efuse) in mt76x2_has_cal_free_data() argument
111 u16 *efuse_w = (u16 *) efuse; in mt76x2_has_cal_free_data()
135 mt76x2_apply_cal_free_data(struct mt76x2_dev *dev, u8 *efuse) in mt76x2_apply_cal_free_data() argument
175 if (!mt76x2_has_cal_free_data(dev, efuse)) in mt76x2_apply_cal_free_data()
181 eeprom[offset] = efuse[offset]; in mt76x2_apply_cal_free_data()
184 if (!(efuse[MT_EE_TX_POWER_0_START_5G] | in mt76x2_apply_cal_free_data()
185 efuse[MT_EE_TX_POWER_0_START_5G + 1])) in mt76x2_apply_cal_free_data()
187 if (!(efuse[MT_EE_TX_POWER_1_START_5G] | in mt76x2_apply_cal_free_data()
188 efuse[MT_EE_TX_POWER_1_START_5G + 1])) in mt76x2_apply_cal_free_data()
191 val = get_unaligned_le16(efuse + MT_EE_BT_RCAL_RESULT); in mt76x2_apply_cal_free_data()
[all …]
/Linux-v4.19/Documentation/devicetree/bindings/opp/
Dti-omap5-opp-supply.txt26 "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-v4.19/Documentation/devicetree/bindings/edac/
Dapm-xgene-edac.txt18 - regmap-efuse : Regmap of the PMD efuse resource.
66 efuse: efuse@1054a000 {
67 compatible = "apm,xgene-efuse", "syscon";
84 regmap-efuse = <&efuse>;
/Linux-v4.19/arch/arm/boot/dts/
Duniphier-pro5.dtsi363 efuse@100 {
364 compatible = "socionext,uniphier-efuse";
368 efuse@130 {
369 compatible = "socionext,uniphier-efuse";
373 efuse@200 {
374 compatible = "socionext,uniphier-efuse";
378 efuse@300 {
379 compatible = "socionext,uniphier-efuse";
383 efuse@400 {
384 compatible = "socionext,uniphier-efuse";
Domap4460.dtsi58 "efuse-address";
61 /*uV ABB efuse rbb_m fbb_m vset_m*/
76 "efuse-address";
79 /*uV ABB efuse rbb_m fbb_m vset_m*/
Duniphier-pro4.dtsi306 efuse@100 {
307 compatible = "socionext,uniphier-efuse";
311 efuse@130 {
312 compatible = "socionext,uniphier-efuse";
316 efuse@200 {
317 compatible = "socionext,uniphier-efuse";
/Linux-v4.19/Documentation/devicetree/bindings/phy/
Dphy-mtk-xsphy.txt49 - mediatek,efuse-intr : u32, the selection of Internal Resistor
52 - mediatek,efuse-intr : u32, the selection of Internal Resistor
53 - mediatek,efuse-tx-imp : u32, the selection of TX Impedance
54 - mediatek,efuse-rx-imp : u32, the selection of RX Impedance
106 mediatek,efuse-intr = <28>;
/Linux-v4.19/Documentation/devicetree/bindings/net/
Dkeystone-netcp.txt132 - efuse-mac: If this is 1, then the MAC address for the interface is
133 obtained from the device efuse mac address register.
137 when it obtains the mac address from efuse.
139 only if efuse-mac is 0. When efuse-mac is 0, the MAC
150 reg-names = "efuse";
204 efuse-mac = <1>;
216 efuse-mac = <0>;

12345