All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.