public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH][v6] imx: imx7d: add imx-common cpu support for imx7d
Date: Mon, 31 Aug 2015 17:50:17 +0200	[thread overview]
Message-ID: <55E477B9.3010509@denx.de> (raw)
In-Reply-To: <1440803263-11771-1-git-send-email-aalonso@freescale.com>

Hi Adrian,

On 29/08/2015 01:07, Adrian Alonso wrote:
> 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>
> Signed-off-by: Ye.Li <B37916@freescale.com>
> ---
> Changes for V2: Split patch to easier review process
> - Add system arch register definitions
> Changes for V3: Resend
> Changes for V4: Resend
> Changes for V5: Resend
> Changes for V6:
> - Rework imx-common Makefile mx7 build options
> - Remove mx6 CONFIG_GPT_TIMER as is the default option
> 
>  arch/arm/Makefile               |  4 ++--
>  arch/arm/cpu/armv7/Makefile     |  3 ++-
>  arch/arm/cpu/armv7/mx7/Makefile |  8 ++++++++
>  arch/arm/imx-common/Makefile    | 10 ++++++++--
>  arch/arm/imx-common/cpu.c       | 17 +++++++++++++++++
>  drivers/watchdog/Makefile       |  2 +-
>  6 files changed, 38 insertions(+), 6 deletions(-)
>  create mode 100644 arch/arm/cpu/armv7/mx7/Makefile
> 
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index e84d6d3..b8bc77a 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -79,11 +79,11 @@ libs-y += arch/arm/cpu/
>  libs-y += arch/arm/lib/
>  
>  ifeq ($(CONFIG_SPL_BUILD),y)
> -ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
> +ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx31 mx35))
>  libs-y += arch/arm/imx-common/
>  endif
>  else
> -ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs vf610))
> +ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx31 mx35 mxs vf610))
>  libs-y += arch/arm/imx-common/
>  endif
>  endif
> diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile
> index 6769d8f..79a38df 100644
> --- a/arch/arm/cpu/armv7/Makefile
> +++ b/arch/arm/cpu/armv7/Makefile
> @@ -12,7 +12,7 @@ obj-y	+= cache_v7.o
>  obj-y	+= cpu.o cp15.o
>  obj-y	+= syslib.o
>  
> -ifneq ($(CONFIG_AM43XX)$(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI81XX)$(CONFIG_AT91FAMILY)$(CONFIG_SUNXI)$(CONFIG_ARCH_SOCFPGA),)
> +ifneq ($(CONFIG_AM43XX)$(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_MX7)$(CONFIG_TI81XX)$(CONFIG_AT91FAMILY)$(CONFIG_SUNXI)$(CONFIG_ARCH_SOCFPGA),)
>  ifneq ($(CONFIG_SKIP_LOWLEVEL_INIT),y)
>  obj-y	+= lowlevel_init.o
>  endif
> @@ -44,6 +44,7 @@ obj-$(if $(filter bcmnsp,$(SOC)),y) += bcmnsp/
>  obj-$(if $(filter ls102xa,$(SOC)),y) += ls102xa/
>  obj-$(if $(filter mx5,$(SOC)),y) += mx5/
>  obj-$(CONFIG_MX6) += mx6/
> +obj-$(CONFIG_MX7) += mx7/
>  obj-$(CONFIG_OMAP34XX) += omap3/
>  obj-$(CONFIG_OMAP44XX) += omap4/
>  obj-$(CONFIG_OMAP54XX) += omap5/
> diff --git a/arch/arm/cpu/armv7/mx7/Makefile b/arch/arm/cpu/armv7/mx7/Makefile
> new file mode 100644
> index 0000000..e6ecef0
> --- /dev/null
> +++ b/arch/arm/cpu/armv7/mx7/Makefile
> @@ -0,0 +1,8 @@
> +#
> +# (C) Copyright 2015 Freescale Semiconductor, Inc.
> +#
> +# SPDX-License-Identifier:	GPL-2.0+
> +#
> +#
> +
> +obj-y	:= soc.o clock.o clock_slice.o
> diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile
> index d77a236..2a3b8c1 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,13 @@ 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_GPT_TIMER) += timer.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 a5efbd5..1f9a50d 100644
> --- a/arch/arm/imx-common/cpu.c
> +++ b/arch/arm/imx-common/cpu.c
> @@ -46,13 +46,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 0x00080:
> +		return "WDOG3";
> +	case 0x00100:
> +		return "WDOG4";
> +	case 0x00200:
> +		return "TEMPSENSE";
> +#else

As MX7 returns other causes, do we need the #ifdef ? I do not see
conflicts with the current ones.

>  	case 0x10000:
>  		return "WARM BOOT";
> +#endif
>  	default:
>  		return "unknown reset";
>  	}
> @@ -122,6 +135,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:
> @@ -237,6 +252,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;
> @@ -248,6 +264,7 @@ u32 get_ahb_clk(void)
>  
>  	return get_periph_clk() / (ahb_podf + 1);
>  }
> +#endif
>  
>  void arch_preboot_os(void)
>  {
> diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
> index 482a4bd..9e9cb55 100644
> --- a/drivers/watchdog/Makefile
> +++ b/drivers/watchdog/Makefile
> @@ -7,7 +7,7 @@
>  
>  obj-$(CONFIG_AT91SAM9_WATCHDOG) += at91sam9_wdt.o
>  obj-$(CONFIG_FTWDT010_WATCHDOG) += ftwdt010_wdt.o
> -ifneq (,$(filter $(SOC), mx31 mx35 mx5 mx6 vf610 ls102xa))
> +ifneq (,$(filter $(SOC), mx31 mx35 mx5 mx6 mx7 vf610 ls102xa))
>  obj-y += imx_watchdog.o
>  endif
>  obj-$(CONFIG_S5P)               += s5p_wdt.o
> 

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

      reply	other threads:[~2015-08-31 15:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-28 23:07 [U-Boot] [PATCH][v6] imx: imx7d: add imx-common cpu support for imx7d Adrian Alonso
2015-08-31 15:50 ` Stefano Babic [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55E477B9.3010509@denx.de \
    --to=sbabic@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox