mxs_ocotp: check for errors from the OTP controller after writing

The write operation may fail when trying to write to a locked area. In
this case the ERROR bit is set in the CTRL register. Check for that
condition and return an error.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
This commit is contained in:
Hector Palacios 2014-11-21 17:54:43 +01:00 committed by Stefano Babic
parent d8d160e420
commit ad5dd7ae4b
1 changed files with 7 additions and 0 deletions

View File

@ -221,6 +221,13 @@ 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);
if (mxs_ocotp_scale_hclk(0, &hclk_val))