Lines Matching refs:fuse
44 static u8 fuse_readb(struct tegra_fuse *fuse, unsigned int offset) in fuse_readb() argument
48 val = fuse->read(fuse, round_down(offset, 4)); in fuse_readb()
60 struct tegra_fuse *fuse = dev_get_drvdata(dev); in fuse_read() local
70 buf[i] = fuse_readb(fuse, pos + i); in fuse_read()
98 static struct tegra_fuse *fuse = &(struct tegra_fuse) { variable
127 void __iomem *base = fuse->base; in tegra_fuse_probe()
133 fuse->base = devm_ioremap_resource(&pdev->dev, res); in tegra_fuse_probe()
134 if (IS_ERR(fuse->base)) in tegra_fuse_probe()
135 return PTR_ERR(fuse->base); in tegra_fuse_probe()
137 fuse->clk = devm_clk_get(&pdev->dev, "fuse"); in tegra_fuse_probe()
138 if (IS_ERR(fuse->clk)) { in tegra_fuse_probe()
140 PTR_ERR(fuse->clk)); in tegra_fuse_probe()
141 return PTR_ERR(fuse->clk); in tegra_fuse_probe()
144 platform_set_drvdata(pdev, fuse); in tegra_fuse_probe()
145 fuse->dev = &pdev->dev; in tegra_fuse_probe()
147 if (fuse->soc->probe) { in tegra_fuse_probe()
148 err = fuse->soc->probe(fuse); in tegra_fuse_probe()
153 if (tegra_fuse_create_sysfs(&pdev->dev, fuse->soc->info->size, in tegra_fuse_probe()
154 fuse->soc->info)) in tegra_fuse_probe()
175 unsigned int offset = fuse->soc->info->spare + spare * 4; in tegra_fuse_read_spare()
177 return fuse->read_early(fuse, offset) & 1; in tegra_fuse_read_spare()
182 return fuse->read_early(fuse, offset); in tegra_fuse_read_early()
187 if (!fuse->read) in tegra_fuse_readl()
190 *value = fuse->read(fuse, offset); in tegra_fuse_readl()
241 fuse->soc = &tegra20_fuse_soc; in tegra_init_fuse()
247 fuse->soc = &tegra30_fuse_soc; in tegra_init_fuse()
253 fuse->soc = &tegra114_fuse_soc; in tegra_init_fuse()
259 fuse->soc = &tegra124_fuse_soc; in tegra_init_fuse()
284 fuse->soc = match->data; in tegra_init_fuse()
299 fuse->base = ioremap_nocache(regs.start, resource_size(®s)); in tegra_init_fuse()
300 if (!fuse->base) { in tegra_init_fuse()
305 fuse->soc->init(fuse); in tegra_init_fuse()