summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/imx.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/imx.c')
-rw-r--r--arch/arm/mach-imx/imx.c45
1 files changed, 27 insertions, 18 deletions
diff --git a/arch/arm/mach-imx/imx.c b/arch/arm/mach-imx/imx.c
index 0942d50695..f3491c6df7 100644
--- a/arch/arm/mach-imx/imx.c
+++ b/arch/arm/mach-imx/imx.c
@@ -1,23 +1,12 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
+// SPDX-License-Identifier: GPL-2.0-or-later
#include <common.h>
#include <of.h>
#include <init.h>
#include <io.h>
-#include <mach/revision.h>
-#include <mach/generic.h>
-#include <mach/reset-reason.h>
+#include <mach/imx/revision.h>
+#include <mach/imx/generic.h>
+#include <mach/imx/reset-reason.h>
static int __imx_silicon_revision = IMX_CHIP_REV_UNKNOWN;
@@ -80,6 +69,14 @@ static int imx_soc_from_dt(void)
return IMX_CPU_IMX7;
if (of_machine_is_compatible("fsl,imx8mq"))
return IMX_CPU_IMX8MQ;
+ if (of_machine_is_compatible("fsl,imx8mm"))
+ return IMX_CPU_IMX8MM;
+ if (of_machine_is_compatible("fsl,imx8mn"))
+ return IMX_CPU_IMX8MN;
+ if (of_machine_is_compatible("fsl,imx8mp"))
+ return IMX_CPU_IMX8MP;
+ if (of_machine_is_compatible("fsl,imx93"))
+ return IMX_CPU_IMX93;
if (of_machine_is_compatible("fsl,vf610"))
return IMX_CPU_VF610;
@@ -98,6 +95,10 @@ static int imx_init(void)
return 0;
}
+ /*
+ * Don't add new SoCs to this list, instead use the new
+ * soc framework (see soc-imx8m.c).
+ */
if (cpu_is_mx1())
ret = imx1_init();
else if (cpu_is_mx21())
@@ -120,8 +121,16 @@ static int imx_init(void)
ret = imx6_init();
else if (cpu_is_mx7())
ret = imx7_init();
+ else if (cpu_is_mx8mm())
+ ret = 0;
+ else if (cpu_is_mx8mn())
+ ret = 0;
+ else if (cpu_is_mx8mp())
+ ret = 0;
else if (cpu_is_mx8mq())
- ret = imx8mq_init();
+ ret = 0;
+ else if (cpu_is_mx93())
+ ret = imx93_init();
else if (cpu_is_vf610())
ret = vf610_init();
else
@@ -201,6 +210,6 @@ void imx_set_reset_reason(void __iomem *srsr,
reset_source_set_prinst(type, RESET_SOURCE_DEFAULT_PRIORITY, instance);
- pr_info("i.MX reset reason %s (SRSR: 0x%08x)\n",
- reset_source_name(), reg);
+ pr_debug("i.MX reset reason %s (SRSR: 0x%08x)\n",
+ reset_source_to_string(type), reg);
}