Lines Matching defs:fuse

20 #include <soc/tegra/fuse.h>
22 #include "fuse.h"
46 static struct tegra_fuse *fuse = &(struct tegra_fuse) {
86 struct tegra_fuse *fuse = priv;
90 buffer[i] = fuse->read(fuse, offset + i * 4);
185 void __iomem *base = fuse->base;
192 fuse->phys = res->start;
193 fuse->base = devm_ioremap_resource(&pdev->dev, res);
194 if (IS_ERR(fuse->base)) {
195 err = PTR_ERR(fuse->base);
196 fuse->base = base;
200 fuse->clk = devm_clk_get(&pdev->dev, "fuse");
201 if (IS_ERR(fuse->clk)) {
202 if (PTR_ERR(fuse->clk) != -EPROBE_DEFER)
204 PTR_ERR(fuse->clk));
206 fuse->base = base;
207 return PTR_ERR(fuse->clk);
210 platform_set_drvdata(pdev, fuse);
211 fuse->dev = &pdev->dev;
213 if (fuse->soc->probe) {
214 err = fuse->soc->probe(fuse);
221 nvmem.name = "fuse";
230 nvmem.size = fuse->soc->info->size;
233 nvmem.priv = fuse;
235 fuse->nvmem = devm_nvmem_register(&pdev->dev, &nvmem);
236 if (IS_ERR(fuse->nvmem)) {
237 err = PTR_ERR(fuse->nvmem);
249 fuse->base = base;
255 .name = "tegra-fuse",
265 unsigned int offset = fuse->soc->info->spare + spare * 4;
267 return fuse->read_early(fuse, offset) & 1;
272 return fuse->read_early(fuse, offset);
277 if (!fuse->read || !fuse->clk)
280 if (IS_ERR(fuse->clk))
281 return PTR_ERR(fuse->clk);
283 *value = fuse->read(fuse, offset);
373 attr->custom_attr_group = fuse->soc->soc_attr_group;
415 fuse->soc = &tegra20_fuse_soc;
421 fuse->soc = &tegra30_fuse_soc;
427 fuse->soc = &tegra114_fuse_soc;
433 fuse->soc = &tegra124_fuse_soc;
458 fuse->soc = match->data;
473 fuse->base = ioremap(regs.start, resource_size(&regs));
474 if (!fuse->base) {
479 fuse->soc->init(fuse);
488 if (fuse->soc->lookups) {
489 size_t size = sizeof(*fuse->lookups) * fuse->soc->num_lookups;
491 fuse->lookups = kmemdup(fuse->soc->lookups, size, GFP_KERNEL);
492 if (!fuse->lookups)
495 nvmem_add_cell_lookups(fuse->lookups, fuse->soc->num_lookups);