summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/imxrt/soc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/imxrt/soc.c')
-rw-r--r--arch/arm/mach-imx/imxrt/soc.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/arch/arm/mach-imx/imxrt/soc.c b/arch/arm/mach-imx/imxrt/soc.c
index 8e7d15160d..ba015992ee 100644
--- a/arch/arm/mach-imx/imxrt/soc.c
+++ b/arch/arm/mach-imx/imxrt/soc.c
@@ -8,13 +8,14 @@
#include <init.h>
#include <asm/io.h>
#include <asm/armv7_mpu.h>
+#include <asm/mach-imx/sys_proto.h>
#include <linux/bitops.h>
int arch_cpu_init(void)
{
int i;
- struct mpu_region_config imxrt1050_region_config[] = {
+ struct mpu_region_config imxrt_region_config[] = {
{ 0x00000000, REGION_0, XN_DIS, PRIV_RW_USR_RW,
STRONG_ORDER, REGION_4GB },
{ PHYS_SDRAM, REGION_1, XN_DIS, PRIV_RW_USR_RW,
@@ -29,9 +30,20 @@ int arch_cpu_init(void)
* the whole 4GB address space.
*/
disable_mpu();
- for (i = 0; i < ARRAY_SIZE(imxrt1050_region_config); i++)
- mpu_config(&imxrt1050_region_config[i]);
+ for (i = 0; i < ARRAY_SIZE(imxrt_region_config); i++)
+ mpu_config(&imxrt_region_config[i]);
enable_mpu();
return 0;
}
+
+u32 get_cpu_rev(void)
+{
+#if defined(CONFIG_IMXRT1020)
+ return MXC_CPU_IMXRT1020 << 12;
+#elif defined(CONFIG_IMXRT1050)
+ return MXC_CPU_IMXRT1050 << 12;
+#else
+#error This IMXRT SoC is not supported
+#endif
+}