Lines Matching defs:efuse
10 * Currently supports JZ4780 efuse which has 8K programmable bit.
72 struct jz4780_efuse *efuse = context;
87 regmap_update_bits(efuse->map, JZ_EFUCTRL,
94 ret = regmap_read_poll_timeout(efuse->map, JZ_EFUSTATE,
99 dev_err(efuse->dev, "Time out while reading efuse data");
103 ret = regmap_bulk_read(efuse->map, JZ_EFUDATA(0),
119 .name = "jz4780-efuse",
142 struct jz4780_efuse *efuse;
151 efuse = devm_kzalloc(dev, sizeof(*efuse), GFP_KERNEL);
152 if (!efuse)
159 efuse->map = devm_regmap_init_mmio(dev, regs,
161 if (IS_ERR(efuse->map))
162 return PTR_ERR(efuse->map);
164 efuse->clk = devm_clk_get(&pdev->dev, NULL);
165 if (IS_ERR(efuse->clk))
166 return PTR_ERR(efuse->clk);
168 ret = clk_prepare_enable(efuse->clk);
174 efuse->clk);
178 clk_rate = clk_get_rate(efuse->clk);
180 efuse->dev = dev;
203 regmap_update_bits(efuse->map, JZ_EFUCFG,
211 cfg.priv = efuse;
219 { .compatible = "ingenic,jz4780-efuse" },
227 .name = "jz4780-efuse",
236 MODULE_DESCRIPTION("Ingenic JZ4780 efuse driver");