Lines Matching refs:efuse

66 	struct rockchip_efuse_chip *efuse = context;  in rockchip_rk3288_efuse_read()  local
70 ret = clk_prepare_enable(efuse->clk); in rockchip_rk3288_efuse_read()
72 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n"); in rockchip_rk3288_efuse_read()
76 writel(RK3288_LOAD | RK3288_PGENB, efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
79 writel(readl(efuse->base + REG_EFUSE_CTRL) & in rockchip_rk3288_efuse_read()
81 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
82 writel(readl(efuse->base + REG_EFUSE_CTRL) | in rockchip_rk3288_efuse_read()
84 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
86 writel(readl(efuse->base + REG_EFUSE_CTRL) | in rockchip_rk3288_efuse_read()
87 RK3288_STROBE, efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
89 *buf++ = readb(efuse->base + REG_EFUSE_DOUT); in rockchip_rk3288_efuse_read()
90 writel(readl(efuse->base + REG_EFUSE_CTRL) & in rockchip_rk3288_efuse_read()
91 (~RK3288_STROBE), efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
96 writel(RK3288_PGENB | RK3288_CSB, efuse->base + REG_EFUSE_CTRL); in rockchip_rk3288_efuse_read()
98 clk_disable_unprepare(efuse->clk); in rockchip_rk3288_efuse_read()
106 struct rockchip_efuse_chip *efuse = context; in rockchip_rk3328_efuse_read() local
112 ret = clk_prepare_enable(efuse->clk); in rockchip_rk3328_efuse_read()
114 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n"); in rockchip_rk3328_efuse_read()
135 efuse->base + RK3328_AUTO_CTRL); in rockchip_rk3328_efuse_read()
137 status = readl(efuse->base + RK3328_INT_STATUS); in rockchip_rk3328_efuse_read()
142 out_value = readl(efuse->base + RK3328_DOUT); in rockchip_rk3328_efuse_read()
143 writel(RK3328_INT_FINISH, efuse->base + RK3328_INT_STATUS); in rockchip_rk3328_efuse_read()
153 clk_disable_unprepare(efuse->clk); in rockchip_rk3328_efuse_read()
161 struct rockchip_efuse_chip *efuse = context; in rockchip_rk3399_efuse_read() local
167 ret = clk_prepare_enable(efuse->clk); in rockchip_rk3399_efuse_read()
169 dev_err(efuse->dev, "failed to prepare/enable efuse clk\n"); in rockchip_rk3399_efuse_read()
181 clk_disable_unprepare(efuse->clk); in rockchip_rk3399_efuse_read()
186 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3399_efuse_read()
189 writel(readl(efuse->base + REG_EFUSE_CTRL) | RK3399_STROBE | in rockchip_rk3399_efuse_read()
191 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3399_efuse_read()
193 out_value = readl(efuse->base + REG_EFUSE_DOUT); in rockchip_rk3399_efuse_read()
194 writel(readl(efuse->base + REG_EFUSE_CTRL) & (~RK3399_STROBE), in rockchip_rk3399_efuse_read()
195 efuse->base + REG_EFUSE_CTRL); in rockchip_rk3399_efuse_read()
203 writel(RK3399_PD | RK3399_CSB, efuse->base + REG_EFUSE_CTRL); in rockchip_rk3399_efuse_read()
209 clk_disable_unprepare(efuse->clk); in rockchip_rk3399_efuse_read()
263 struct rockchip_efuse_chip *efuse; in rockchip_efuse_probe() local
273 efuse = devm_kzalloc(dev, sizeof(struct rockchip_efuse_chip), in rockchip_efuse_probe()
275 if (!efuse) in rockchip_efuse_probe()
279 efuse->base = devm_ioremap_resource(dev, res); in rockchip_efuse_probe()
280 if (IS_ERR(efuse->base)) in rockchip_efuse_probe()
281 return PTR_ERR(efuse->base); in rockchip_efuse_probe()
283 efuse->clk = devm_clk_get(dev, "pclk_efuse"); in rockchip_efuse_probe()
284 if (IS_ERR(efuse->clk)) in rockchip_efuse_probe()
285 return PTR_ERR(efuse->clk); in rockchip_efuse_probe()
287 efuse->dev = dev; in rockchip_efuse_probe()
292 econfig.priv = efuse; in rockchip_efuse_probe()
293 econfig.dev = efuse->dev; in rockchip_efuse_probe()