+// SPDX-License-Identifier: GPL-2.0+
/*
* Freescale i.MX28 OCOTP Driver
*
* Copyright (C) 2014 Marek Vasut <marex@denx.de>
*
- * SPDX-License-Identifier: GPL-2.0+
- *
* Note: The i.MX23/i.MX28 OCOTP block is a predecessor to the OCOTP block
* used in i.MX6 . While these blocks are very similar at the first
* glance, by digging deeper, one will notice differences (like the
#include <common.h>
#include <fuse.h>
-#include <asm/errno.h>
+#include <linux/errno.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
#include <asm/arch/imx-regs.h>
/* Return the original HCLK clock speed. */
*val = readl(&clkctrl_regs->hw_clkctrl_hbus);
*val &= CLKCTRL_HBUS_DIV_MASK;
+ *val >>= CLKCTRL_HBUS_DIV_OFFSET;
/* Scale the HCLK to 454/19 = 23.9 MHz . */
scale_val = (~19) << CLKCTRL_HBUS_DIV_OFFSET;
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) {