| /linux/drivers/nvmem/ |
| H A D | rockchip-efuse.c | 3 * 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 D | jz4780-efuse.c | 3 * 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 D | Makefile | 13 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 D | zynqmp_nvmem.c | 32 * 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 D | mtk-efuse.c | 113 { .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 D | uniphier-efuse.c | 3 * 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 D | aspeed-bmc-delta-ahe50dc.dts | 8 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 D | rockchip-efuse.yaml | 4 $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 D | amlogic,meson6-efuse.yaml | 4 $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 D | amlogic,meson-gxbb-efuse.yaml | 4 $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 D | ingenic,jz4780-efuse.yaml | 4 $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 D | socionext,uniphier-efuse.yaml | 4 $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 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/Documentation/devicetree/bindings/fuse/ |
| H A D | nvidia,tegra20-fuse.yaml | 17 - 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 D | rtw88xxa.c | 15 #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 D | rtw8723x.c | 73 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 D | efuse.c | 8 #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 D | rtw8814a.c | 15 #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 D | phy-mtk-pcie.c | 36 * 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 D | ti,omap-opp-supply.yaml | 10 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 D | ti-opp-supply.c | 28 * @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 D | socionext,uniphier-soc-glue-debug.yaml | 45 "^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 D | omap_twl.c | 58 * 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 D | hw_common.c | 7 #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 D | keystone-netcp.txt | 57 - 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>;
|