Home
last modified time | relevance | path

Searched full:efuse (Results 1 – 25 of 224) sorted by relevance

123456789

/linux/drivers/nvmem/
H A Drockchip-efuse.c3 * Rockchip eFuse Driver
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()
[all …]
H A Djz4780-efuse.c3 * JZ4780 EFUSE Memory Support driver
10 * Currently supports JZ4780 efuse which has 8K programmable bit.
11 * Efuse is separated into seven segments as below:
72 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()
119 .name = "jz4780-efuse",
142 struct jz4780_efuse *efuse; in jz4780_efuse_probe() local
[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.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; 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()
[all …]
H A Dmtk-efuse.c113 { .compatible = "mediatek,mt8173-efuse", .data = &mtk_efuse_pdata },
114 { .compatible = "mediatek,mt8186-efuse", .data = &mtk_mt8186_efuse_pdata },
115 { .compatible = "mediatek,efuse", .data = &mtk_efuse_pdata },
132 .name = "mediatek,efuse",
143 pr_err("Failed to register efuse driver\n"); in mtk_efuse_init()
159 MODULE_DESCRIPTION("Mediatek EFUSE driver");
H A Duniphier-efuse.c3 * UniPhier eFuse driver
62 { .compatible = "socionext,uniphier-efuse",},
70 .name = "uniphier-efuse",
77 MODULE_DESCRIPTION("UniPhier eFuse driver");
/linux/arch/arm/boot/dts/aspeed/
H A Daspeed-bmc-delta-ahe50dc.dts8 efuse##n { \
10 vout-supply = <&efuse##n>; \
15 #define EFUSE(hexaddr, num) \ macro
16 efuse@##hexaddr { \
21 efuse##num: vout { \
22 regulator-name = __stringify(efuse##num##-reg); \
166 EFUSE(10, 03);
167 EFUSE(11, 04);
168 EFUSE(12, 01);
169 EFUSE(13, 02);
[all …]
/linux/Documentation/devicetree/bindings/nvmem/
H A Drockchip-efuse.yaml4 $id: http://devicetree.org/schemas/nvmem/rockchip-efuse.yaml#
7 title: Rockchip eFuse
19 - rockchip,rk3066a-efuse
20 - rockchip,rk3188-efuse
21 - rockchip,rk3228-efuse
22 - rockchip,rk3288-efuse
23 - rockchip,rk3328-efuse
24 - rockchip,rk3368-efuse
25 - rockchip,rk3399-efuse
28 - rockchip,rockchip-efuse
[all …]
H A Damlogic,meson6-efuse.yaml4 $id: http://devicetree.org/schemas/nvmem/amlogic,meson6-efuse.yaml#
7 title: Amlogic Meson6 eFuse
20 - amlogic,meson6-efuse
21 - amlogic,meson8-efuse
22 - amlogic,meson8b-efuse
43 efuse: efuse@0 {
44 compatible = "amlogic,meson6-efuse";
H A Damlogic,meson-gxbb-efuse.yaml4 $id: http://devicetree.org/schemas/nvmem/amlogic,meson-gxbb-efuse.yaml#
7 title: Amlogic Meson GX eFuse
19 - const: amlogic,meson-gxbb-efuse
21 - const: amlogic,meson-gx-efuse
22 - const: amlogic,meson-gxbb-efuse
43 efuse: efuse {
44 compatible = "amlogic,meson-gxbb-efuse";
H A Dingenic,jz4780-efuse.yaml4 $id: http://devicetree.org/schemas/nvmem/ingenic,jz4780-efuse.yaml#
7 title: Ingenic JZ EFUSE driver
18 - ingenic,jz4780-efuse
24 # Handle for the ahb for the efuse.
38 efuse@134100d0 {
39 compatible = "ingenic,jz4780-efuse";
H A Dsocionext,uniphier-efuse.yaml4 $id: http://devicetree.org/schemas/nvmem/socionext,uniphier-efuse.yaml#
7 title: Socionext UniPhier eFuse
19 const: socionext,uniphier-efuse
32 efuse@100 {
33 compatible = "socionext,uniphier-efuse";
37 efuse@200 {
38 compatible = "socionext,uniphier-efuse";
/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/Documentation/devicetree/bindings/fuse/
H A Dnvidia,tegra20-fuse.yaml17 - nvidia,tegra20-efuse
18 - nvidia,tegra30-efuse
19 - nvidia,tegra114-efuse
20 - nvidia,tegra124-efuse
21 - nvidia,tegra210-efuse
22 - nvidia,tegra186-efuse
23 - nvidia,tegra194-efuse
24 - nvidia,tegra234-efuse
27 - const: nvidia,tegra132-efuse
28 - const: nvidia,tegra124-efuse
[all …]
/linux/drivers/net/wireless/realtek/rtw88/
H A Drtw88xxa.c15 #include "efuse.h"
34 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()
[all …]
H A Drtw8723x.c73 rtw_dbg(rtwdev, RTW_DBG_EFUSE, "Fixed invalid EFUSE value: " \
74 # name "=0x%x\n", rtwdev->efuse.name)
185 rtw_dbg(rtwdev, RTW_DBG_EFUSE, "EFUSE raw logical map:\n"); in efuse_debug_dump()
188 rtw_dbg(rtwdev, RTW_DBG_EFUSE, "Parsed rtw8723x EFUSE data:\n"); in efuse_debug_dump()
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()
[all …]
H A Defuse.c8 #include "efuse.h"
31 /* efuse header format
43 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()
165 rtw_err(rtwdev, "failed to dump efuse physical map\n"); in rtw_parse_efuse_map()
[all …]
H A Drtw8814a.c15 #include "efuse.h"
34 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()
[all …]
/linux/drivers/phy/mediatek/
H A Dphy-mtk-pcie.c36 * struct mtk_pcie_lane_efuse - eFuse data for each lane
40 * @lane_efuse_supported: software eFuse data is supported for this lane
52 * @sw_efuse_supported: support software to load eFuse data
65 * @sw_efuse_en: software eFuse enable status
67 * @efuse: pointer to eFuse data for each lane
77 struct mtk_pcie_lane_efuse *efuse; member
83 struct mtk_pcie_lane_efuse *data = &pcie_phy->efuse[lane]; in mtk_pcie_efuse_set_lane()
106 * Initialize the phy by setting the efuse data.
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()
[all …]
/linux/Documentation/devicetree/bindings/opp/
H A Dti,omap-opp-supply.yaml10 OMAP5, DRA7, and AM57 families of SoCs have Class 0 AVS eFuse
37 - description: OMAP5+ optimized voltages in efuse(Class 0) VDD along with
40 - description: OMAP5+ optimized voltages in efuse(class0) VDD but no VBB
52 ti,efuse-settings:
54 optimized efuse configuration.
63 - description: efuse offset where the optimized voltage is located
81 - ti,efuse-settings
95 ti,efuse-settings =
/linux/drivers/opp/
H A Dti-opp-supply.c28 * @optimized_uv: Optimized voltage from efuse
56 * @efuse_voltage_mask: mask required for efuse register representing voltage
57 * @efuse_voltage_uv: Are the efuse entries in micro-volts? if not, assume
73 * Picks up efuse based optimized voltages for VDD unique per device and
90 /* pick up Efuse based voltages */ in _store_optimized_voltages()
100 dev_err(dev, "Unable to map Efuse registers\n"); in _store_optimized_voltages()
105 /* Fetch efuse-settings. */ in _store_optimized_voltages()
106 prop = of_find_property(dev->of_node, "ti,efuse-settings", NULL); in _store_optimized_voltages()
108 dev_err(dev, "No 'ti,efuse-settings' property found\n"); in _store_optimized_voltages()
117 dev_err(dev, "Invalid 'ti,efuse-settings'\n"); in _store_optimized_voltages()
[all …]
/linux/Documentation/devicetree/bindings/soc/socionext/
H A Dsocionext,uniphier-soc-glue-debug.yaml45 "^efuse@[0-9a-f]+$":
46 $ref: /schemas/nvmem/socionext,uniphier-efuse.yaml#
64 efuse@100 {
65 compatible = "socionext,uniphier-efuse";
/linux/arch/arm/mach-omap2/
H A Domap_twl.c58 * efuse register the voltage range supported in in twl6030_vsel_to_uv()
60 * 0.7V - 1.4V. In TWL6030 ES1.0 SMPS_OFFSET efuse in twl6030_vsel_to_uv()
62 * TWL6030 ES1.1 the efuse is programmed to 1 in twl6030_vsel_to_uv()
92 * efuse register the voltage range supported in in twl6030_uv_to_vsel()
94 * 0.7V - 1.4V. In TWL6030 ES1.0 SMPS_OFFSET efuse in twl6030_uv_to_vsel()
96 * TWL6030 ES1.1 the efuse is programmed to 1 in twl6030_uv_to_vsel()
/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192d/
H A Dhw_common.c7 #include "../efuse.h"
366 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()
434 /* These just for 92D efuse offset. */ 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()
[all …]
/linux/Documentation/devicetree/bindings/net/
H A Dkeystone-netcp.txt57 - Efuse MAC address register
149 - 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>;

123456789