Lines Matching full:otp
3 * Rockchip Secure OTP Driver
39 int (*init)(struct rockchip_otp *otp);
51 * func: read data from non-protected oem zone in secure otp
154 * func: write data to non-protected oem zone in secure otp
259 struct rockchip_otp *otp = context; in rockchip_secure_otp_read() local
262 if (otp->data && otp->data->reg_read) in rockchip_secure_otp_read()
263 ret = otp->data->reg_read(offset, val, bytes); in rockchip_secure_otp_read()
271 struct rockchip_otp *otp = context; in rockchip_secure_otp_write() local
274 if (otp->data && otp->data->reg_write) in rockchip_secure_otp_write()
275 ret = otp->data->reg_write(offset, val, bytes); in rockchip_secure_otp_write()
281 .name = "rockchip-secure-otp",
297 .compatible = "rockchip,secure-otp",
307 struct rockchip_otp *otp; in rockchip_secure_otp_probe() local
319 ret = device_property_read_u32(dev, "rockchip,otp-size", &otp_size); in rockchip_secure_otp_probe()
321 dev_err(dev, "otp size parameter not specified\n"); in rockchip_secure_otp_probe()
324 dev_err(dev, "otp size must be > 0\n"); in rockchip_secure_otp_probe()
328 otp = devm_kzalloc(&pdev->dev, sizeof(struct rockchip_otp), in rockchip_secure_otp_probe()
330 if (!otp) in rockchip_secure_otp_probe()
333 otp->data = data; in rockchip_secure_otp_probe()
334 otp->dev = dev; in rockchip_secure_otp_probe()
336 otp->config = &otp_config; in rockchip_secure_otp_probe()
337 otp->config->size = otp_size; in rockchip_secure_otp_probe()
338 otp->config->priv = otp; in rockchip_secure_otp_probe()
339 otp->config->dev = dev; in rockchip_secure_otp_probe()
342 ret = data->init(otp); in rockchip_secure_otp_probe()
347 nvmem = devm_nvmem_register(dev, otp->config); in rockchip_secure_otp_probe()
355 .name = "rockchip-secure-otp",
366 pr_err("failed to register secure otp driver\n"); in rockchip_secure_otp_init()
381 MODULE_DESCRIPTION("Rockchip Secure OTP Driver");