aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc/mxs_ocotp.c
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2014-12-10 09:07:25 -0500
committerTom Rini <trini@ti.com>2014-12-10 09:07:25 -0500
commit9b416a9f4ca7cf5ac4d5f7143d67edde7f7d7326 (patch)
tree3860918ed8ce1a395d7dea349faee5485dd45948 /drivers/misc/mxs_ocotp.c
parentd51aae64236878b72283bd135df716e30f7f5ded (diff)
parent9e89a64fbd0ddfde17741b38cc95fbdc02679d86 (diff)
Merge branch 'master' of git://www.denx.de/git/u-boot-imx
Diffstat (limited to 'drivers/misc/mxs_ocotp.c')
-rw-r--r--drivers/misc/mxs_ocotp.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/misc/mxs_ocotp.c b/drivers/misc/mxs_ocotp.c
index 545d3ebf52..6f0a1d3e6d 100644
--- a/drivers/misc/mxs_ocotp.c
+++ b/drivers/misc/mxs_ocotp.c
@@ -187,6 +187,8 @@ static int mxs_ocotp_write_fuse(uint32_t addr, uint32_t mask)
uint32_t hclk_val, vddio_val;
int ret;
+ mxs_ocotp_clear_error();
+
/* Make sure the banks are closed for reading. */
ret = mxs_ocotp_read_bank_open(0);
if (ret) {
@@ -221,13 +223,17 @@ static int mxs_ocotp_write_fuse(uint32_t addr, uint32_t mask)
goto fail;
}
+ /* Check for errors */
+ if (readl(&ocotp_regs->hw_ocotp_ctrl) & OCOTP_CTRL_ERROR) {
+ puts("Failed writing fuses!\n");
+ ret = -EPERM;
+ goto fail;
+ }
+
fail:
mxs_ocotp_scale_vddio(0, &vddio_val);
- ret = mxs_ocotp_scale_hclk(0, &hclk_val);
- if (ret) {
+ if (mxs_ocotp_scale_hclk(0, &hclk_val))
puts("Failed scaling up the HCLK!\n");
- return ret;
- }
return ret;
}