Lines Matching refs:fuse

46 static u8 fuse_readb(struct tegra_fuse *fuse, unsigned int offset)  in fuse_readb()  argument
50 val = fuse->read(fuse, round_down(offset, 4)); in fuse_readb()
62 struct tegra_fuse *fuse = dev_get_drvdata(dev); in fuse_read() local
72 buf[i] = fuse_readb(fuse, pos + i); in fuse_read()
100 static struct tegra_fuse *fuse = &(struct tegra_fuse) { variable
132 void __iomem *base = fuse->base; in tegra_fuse_probe()
138 fuse->phys = res->start; in tegra_fuse_probe()
139 fuse->base = devm_ioremap_resource(&pdev->dev, res); in tegra_fuse_probe()
140 if (IS_ERR(fuse->base)) in tegra_fuse_probe()
141 return PTR_ERR(fuse->base); in tegra_fuse_probe()
143 fuse->clk = devm_clk_get(&pdev->dev, "fuse"); in tegra_fuse_probe()
144 if (IS_ERR(fuse->clk)) { in tegra_fuse_probe()
146 PTR_ERR(fuse->clk)); in tegra_fuse_probe()
147 return PTR_ERR(fuse->clk); in tegra_fuse_probe()
150 platform_set_drvdata(pdev, fuse); in tegra_fuse_probe()
151 fuse->dev = &pdev->dev; in tegra_fuse_probe()
153 if (fuse->soc->probe) { in tegra_fuse_probe()
154 err = fuse->soc->probe(fuse); in tegra_fuse_probe()
159 if (tegra_fuse_create_sysfs(&pdev->dev, fuse->soc->info->size, in tegra_fuse_probe()
160 fuse->soc->info)) in tegra_fuse_probe()
181 unsigned int offset = fuse->soc->info->spare + spare * 4; in tegra_fuse_read_spare()
183 return fuse->read_early(fuse, offset) & 1; in tegra_fuse_read_spare()
188 return fuse->read_early(fuse, offset); in tegra_fuse_read_early()
193 if (!fuse->read) in tegra_fuse_readl()
196 *value = fuse->read(fuse, offset); in tegra_fuse_readl()
272 fuse->soc = &tegra20_fuse_soc; in tegra_init_fuse()
278 fuse->soc = &tegra30_fuse_soc; in tegra_init_fuse()
284 fuse->soc = &tegra114_fuse_soc; in tegra_init_fuse()
290 fuse->soc = &tegra124_fuse_soc; in tegra_init_fuse()
315 fuse->soc = match->data; in tegra_init_fuse()
330 fuse->base = ioremap_nocache(regs.start, resource_size(&regs)); in tegra_init_fuse()
331 if (!fuse->base) { in tegra_init_fuse()
336 fuse->soc->init(fuse); in tegra_init_fuse()