Lines Matching defs:efuse

58 	struct rockchip_efuse_chip *efuse = context;
62 ret = clk_prepare_enable(efuse->clk);
64 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n");
68 writel(RK3288_LOAD | RK3288_PGENB, efuse->base + REG_EFUSE_CTRL);
71 writel(readl(efuse->base + REG_EFUSE_CTRL) &
73 efuse->base + REG_EFUSE_CTRL);
74 writel(readl(efuse->base + REG_EFUSE_CTRL) |
76 efuse->base + REG_EFUSE_CTRL);
78 writel(readl(efuse->base + REG_EFUSE_CTRL) |
79 RK3288_STROBE, efuse->base + REG_EFUSE_CTRL);
81 *buf++ = readb(efuse->base + REG_EFUSE_DOUT);
82 writel(readl(efuse->base + REG_EFUSE_CTRL) &
83 (~RK3288_STROBE), efuse->base + REG_EFUSE_CTRL);
88 writel(RK3288_PGENB | RK3288_CSB, efuse->base + REG_EFUSE_CTRL);
90 clk_disable_unprepare(efuse->clk);
98 struct rockchip_efuse_chip *efuse = context;
104 ret = clk_prepare_enable(efuse->clk);
106 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n");
110 /* 128 Byte efuse, 96 Byte for secure, 32 Byte for non-secure */
127 efuse->base + RK3328_AUTO_CTRL);
129 status = readl(efuse->base + RK3328_INT_STATUS);
134 out_value = readl(efuse->base + RK3328_DOUT);
135 writel(RK3328_INT_FINISH, efuse->base + RK3328_INT_STATUS);
145 clk_disable_unprepare(efuse->clk);
153 struct rockchip_efuse_chip *efuse = context;
159 ret = clk_prepare_enable(efuse->clk);
161 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n");
173 clk_disable_unprepare(efuse->clk);
178 efuse->base + REG_EFUSE_CTRL);
181 writel(readl(efuse->base + REG_EFUSE_CTRL) | RK3399_STROBE |
183 efuse->base + REG_EFUSE_CTRL);
185 out_value = readl(efuse->base + REG_EFUSE_DOUT);
186 writel(readl(efuse->base + REG_EFUSE_CTRL) & (~RK3399_STROBE),
187 efuse->base + REG_EFUSE_CTRL);
195 writel(RK3399_PD | RK3399_CSB, efuse->base + REG_EFUSE_CTRL);
201 clk_disable_unprepare(efuse->clk);
207 .name = "rockchip-efuse",
216 .compatible = "rockchip,rockchip-efuse",
220 .compatible = "rockchip,rk3066a-efuse",
224 .compatible = "rockchip,rk3188-efuse",
228 .compatible = "rockchip,rk3228-efuse",
232 .compatible = "rockchip,rk3288-efuse",
236 .compatible = "rockchip,rk3368-efuse",
240 .compatible = "rockchip,rk3328-efuse",
244 .compatible = "rockchip,rk3399-efuse",
255 struct rockchip_efuse_chip *efuse;
265 efuse = devm_kzalloc(dev, sizeof(struct rockchip_efuse_chip),
267 if (!efuse)
271 efuse->base = devm_ioremap_resource(dev, res);
272 if (IS_ERR(efuse->base))
273 return PTR_ERR(efuse->base);
275 efuse->clk = devm_clk_get(dev, "pclk_efuse");
276 if (IS_ERR(efuse->clk))
277 return PTR_ERR(efuse->clk);
279 efuse->dev = dev;
280 if (of_property_read_u32(dev->of_node, "rockchip,efuse-size",
284 econfig.priv = efuse;
285 econfig.dev = efuse->dev;
294 .name = "rockchip-efuse",