diff options
author | Peng Fan <peng.fan@nxp.com> | 2018-11-28 12:32:21 +0800 |
---|---|---|
committer | Peng Fan <peng.fan@nxp.com> | 2018-11-28 13:39:58 +0800 |
commit | 781f2d8febe954b2ef3e51b6a2eebcfbf24b08eb (patch) | |
tree | ad5ea2e2391bdeacbdc7f5a271abbd8e39e222e1 /arch | |
parent | c258131f4998a7c8a6e6fca230ca9e7f8f6677eb (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')
-rw-r--r-- | arch/arm/mach-imx/imx8m/soc.c | 7 |
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 436b6cb3a16..9408105569a 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; } |