diff options
author | Adrian Alonso <aalonso@freescale.com> | 2015-09-02 13:54:23 -0500 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2015-09-13 10:11:54 +0200 |
commit | cd562c8d07c0684a49edb41eedc207fed7690f56 (patch) | |
tree | ec9e2230e2bc05c4cf39aa223abce61f2d6f6ee3 /arch/arm/imx-common | |
parent | d1aa6f2d58f7f27a890d26d0a1f1fc14aa81f127 (diff) | |
download | talos-obmc-uboot-cd562c8d07c0684a49edb41eedc207fed7690f56.tar.gz talos-obmc-uboot-cd562c8d07c0684a49edb41eedc207fed7690f56.zip |
imx: imx7d: add imx-common cpu support for imx7d
Add imx-common cpu support for imx7d SoC
- Update reset_cause for imx7d
- Enable watchdog driver built for imx7d
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Diffstat (limited to 'arch/arm/imx-common')
-rw-r--r-- | arch/arm/imx-common/Makefile | 9 | ||||
-rw-r--r-- | arch/arm/imx-common/cpu.c | 19 |
2 files changed, 26 insertions, 2 deletions
diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile index d77a2363dd..1698d061e7 100644 --- a/arch/arm/imx-common/Makefile +++ b/arch/arm/imx-common/Makefile @@ -7,7 +7,7 @@ # SPDX-License-Identifier: GPL-2.0+ # -ifeq ($(SOC),$(filter $(SOC),mx25 mx35 mx5 mx6 vf610)) +ifeq ($(SOC),$(filter $(SOC),mx25 mx35 mx5 mx6 mx7 vf610)) obj-y = iomux-v3.o endif ifeq ($(SOC),$(filter $(SOC),mx5 mx6)) @@ -18,7 +18,12 @@ ifeq ($(SOC),$(filter $(SOC),mx6 mxs)) obj-y += misc.o obj-$(CONFIG_SPL_BUILD) += spl.o endif -ifeq ($(SOC),$(filter $(SOC),mx6)) +ifeq ($(SOC),$(filter $(SOC),mx7)) +obj-y += cpu.o +obj-$(CONFIG_SYS_I2C_MXC) += i2c-mxv7.o +obj-$(CONFIG_SYSCOUNTER_TIMER) += syscounter.o +endif +ifeq ($(SOC),$(filter $(SOC),mx6 mx7)) obj-y += cache.o init.o obj-$(CONFIG_CMD_SATA) += sata.o obj-$(CONFIG_IMX_VIDEO_SKIP) += video.o diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index 38cd0c8280..dc6d959eae 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -46,13 +46,28 @@ 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"; + case 0x00080: + return "WDOG3"; +#ifdef CONFIG_MX7 + case 0x00100: + return "WDOG4"; + case 0x00200: + return "TEMPSENSE"; +#else + case 0x00100: + return "TEMPSENSE"; case 0x10000: return "WARM BOOT"; +#endif default: return "unknown reset"; } @@ -122,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_MX6QP: return "6QP"; /* Quad-Plus version of the mx6 */ case MXC_CPU_MX6DP: @@ -236,6 +253,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; @@ -247,6 +265,7 @@ u32 get_ahb_clk(void) return get_periph_clk() / (ahb_podf + 1); } +#endif void arch_preboot_os(void) { |