mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-26 07:17:10 +00:00
arm: mach-imx: imx8m: re-use SNVS init routine
Working with HAB on the i.MX8MP we've encountered a case where a board
that successfully authenticates u-boot when booting Linux subsequently
fails to properly bring up the RTC.
The RTC registers live in the low-power block of the Secure Non-Volatile
Storage (SNVS) block.
The root cause of the error has been traced to the HAB handing off the
SNVS-RTC in a state where HPCOMR::NPSWA_EN = 0 in other words where the
Non-Privileged Software Access Enable bit is zero.
Configure SNVS to allow unpriv access to SNVS LP for imx8m and imx8mp.
This commit generalizes 723f8359c1
("imx: mx7: snvs: Add an SNVS init
routine") to also be used on i.MX8M SoCs, and was testeed on i.MX8MP.
Signed-off-by: Ian Ray <ian.ray@gehealthcare.com>
This commit is contained in:
parent
d6893740c1
commit
28958998f6
2 changed files with 5 additions and 1 deletions
|
@ -294,4 +294,4 @@ obj-$(CONFIG_ARCH_IMXRT) += imxrt/
|
||||||
obj-$(CONFIG_SPL_BOOTROM_SUPPORT) += spl_imx_romapi.o
|
obj-$(CONFIG_SPL_BOOTROM_SUPPORT) += spl_imx_romapi.o
|
||||||
obj-$(CONFIG_IMX8_ROMAPI) += romapi.o
|
obj-$(CONFIG_IMX8_ROMAPI) += romapi.o
|
||||||
|
|
||||||
obj-$(CONFIG_MX7) += snvs.o
|
obj-$(CONFIG_MX7)$(CONFIG_IMX8M) += snvs.o
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
#include <linux/bitfield.h>
|
#include <linux/bitfield.h>
|
||||||
#include <linux/sizes.h>
|
#include <linux/sizes.h>
|
||||||
|
|
||||||
|
#include "../snvs.h"
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
#if defined(CONFIG_IMX_HAB)
|
#if defined(CONFIG_IMX_HAB)
|
||||||
|
@ -576,6 +578,8 @@ static void imx8m_setup_snvs(void)
|
||||||
writel(SNVS_LPPGDR_INIT, SNVS_BASE_ADDR + SNVS_LPLVDR);
|
writel(SNVS_LPPGDR_INIT, SNVS_BASE_ADDR + SNVS_LPLVDR);
|
||||||
/* Clear interrupt status */
|
/* Clear interrupt status */
|
||||||
writel(0xffffffff, SNVS_BASE_ADDR + SNVS_LPSR);
|
writel(0xffffffff, SNVS_BASE_ADDR + SNVS_LPSR);
|
||||||
|
|
||||||
|
init_snvs();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void imx8m_setup_csu_tzasc(void)
|
static void imx8m_setup_csu_tzasc(void)
|
||||||
|
|
Loading…
Add table
Reference in a new issue