diff options
author | Tom Rini <trini@ti.com> | 2014-12-10 09:07:25 -0500 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-12-10 09:07:25 -0500 |
commit | 9b416a9f4ca7cf5ac4d5f7143d67edde7f7d7326 (patch) | |
tree | 3860918ed8ce1a395d7dea349faee5485dd45948 /drivers/misc/mxs_ocotp.c | |
parent | d51aae64236878b72283bd135df716e30f7f5ded (diff) | |
parent | 9e89a64fbd0ddfde17741b38cc95fbdc02679d86 (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.c | 14 |
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; } |