summaryrefslogtreecommitdiff
path: root/arch/arm/imx-common/cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/imx-common/cpu.c')
-rw-r--r--arch/arm/imx-common/cpu.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c
index 7137938..6e3e617 100644
--- a/arch/arm/imx-common/cpu.c
+++ b/arch/arm/imx-common/cpu.c
@@ -49,13 +49,26 @@ static char *get_reset_cause(void)
case 0x00008:
return "IPP USER";
case 0x00010:
+#ifdef CONFIG_MX7
+ return "WDOG1";
+#else
return "WDOG";
+#endif
case 0x00020:
return "JTAG HIGH-Z";
case 0x00040:
return "JTAG SW";
+#ifdef CONFIG_MX7
+ case 0x0080:
+ return "WDOG3";
+ case 0x0100:
+ return "WDOG4";
+ case 0x0200:
+ return "TEMPSENSE";
+#else
case 0x10000:
return "WARM BOOT";
+#endif
default:
return "unknown reset";
}
@@ -124,6 +137,8 @@ unsigned imx_ddr_size(void)
const char *get_imx_type(u32 imxtype)
{
switch (imxtype) {
+ case MXC_CPU_MX7D:
+ return "7D"; /* Dual-core version of the mx7 */
case MXC_CPU_MX6Q:
return "6Q"; /* Quad-core version of the mx6 */
case MXC_CPU_MX6D:
@@ -166,7 +181,8 @@ int print_cpuinfo(void)
(cpurev & 0x0000F) >> 0,
mxc_get_clock(MXC_ARM_CLK) / 1000000);
-#if defined(CONFIG_MX6) && defined(CONFIG_IMX6_THERMAL)
+#if (defined(CONFIG_MX6) && defined(CONFIG_IMX6_THERMAL)) || \
+ (defined(CONFIG_MX7) && defined(CONFIG_IMX7_THERMAL))
ret = uclass_get_device(UCLASS_THERMAL, 0, &thermal_dev);
if (!ret) {
ret = thermal_get_temp(thermal_dev, &cpu_tmp);
@@ -215,6 +231,7 @@ int cpu_mmc_init(bd_t *bis)
}
#endif
+#ifndef CONFIG_MX7
u32 get_ahb_clk(void)
{
struct mxc_ccm_reg *imx_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
@@ -226,6 +243,7 @@ u32 get_ahb_clk(void)
return get_periph_clk() / (ahb_podf + 1);
}
+#endif
void arch_preboot_os(void)
{