summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/imx8m
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2018-11-28 12:32:21 +0800
committerPeng Fan <peng.fan@nxp.com>2018-11-28 13:39:58 +0800
commit781f2d8febe954b2ef3e51b6a2eebcfbf24b08eb (patch)
treead5ea2e2391bdeacbdc7f5a271abbd8e39e222e1 /arch/arm/mach-imx/imx8m
parentc258131f4998a7c8a6e6fca230ca9e7f8f6677eb (diff)
MLK-20479 imx8mq: clear ocotp error bit
In case ocotp error bit is set, clear it. This is a workaround to ocotp error bit. Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'arch/arm/mach-imx/imx8m')
-rw-r--r--arch/arm/mach-imx/imx8m/soc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index 436b6cb3a1..9408105569 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -249,6 +249,7 @@ static void imx_set_wdog_powerdown(bool enable)
int arch_cpu_init(void)
{
+ struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR;
/*
* Init timer at very early state, because pll setting will use it,
* Rom Turnned off SCTR, enable it before timer_init
@@ -288,6 +289,12 @@ int arch_cpu_init(void)
writel(0x21, 0x30370038);
#endif
+ if (is_imx8mq()) {
+ clock_enable(CCGR_OCOTP, 1);
+ if (readl(&ocotp->ctrl) & 0x200)
+ writel(0x200, &ocotp->ctrl_clr);
+ }
+
return 0;
}