From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Mon, 01 Dec 2014 10:35:43 +0100 Subject: [U-Boot] [PATCH 2/3] mxs_ocotp: check for errors from the OTP controller after writing In-Reply-To: <1416588884-21701-2-git-send-email-hector.palacios@digi.com> References: <1416588884-21701-1-git-send-email-hector.palacios@digi.com> <1416588884-21701-2-git-send-email-hector.palacios@digi.com> Message-ID: <547C366F.3080509@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 21/11/2014 17:54, Hector Palacios wrote: > 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 > --- > drivers/misc/mxs_ocotp.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/misc/mxs_ocotp.c b/drivers/misc/mxs_ocotp.c > index 09002814f2f0..1659ee6a5eec 100644 > --- a/drivers/misc/mxs_ocotp.c > +++ b/drivers/misc/mxs_ocotp.c > @@ -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)) > Applied to u-boot-imx, thanks ! Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================