public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/5] ARM: imx: Add initial support for Freescale LS1021A
Date: Wed, 2 Jul 2014 12:21:25 +0100	[thread overview]
Message-ID: <20140702112125.GE14665@leverpostej> (raw)
In-Reply-To: <1404291772-2644-5-git-send-email-jingchang.lu@freescale.com>

On Wed, Jul 02, 2014 at 10:02:51AM +0100, Jingchang Lu wrote:
> From: Jingchang Lu <b35083@freescale.com>
> 
> The LS1021A SoC is a dual-core Cortex-A7 based processor,
> this add the initial support for it.
> 
> Signed-off-by: Jingchang Lu <b35083@freescale.com>
> ---
>  arch/arm/mach-imx/Kconfig        | 17 ++++++++++++++
>  arch/arm/mach-imx/Makefile       |  2 ++
>  arch/arm/mach-imx/mach-ls1021a.c | 49 ++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 68 insertions(+)
>  create mode 100644 arch/arm/mach-imx/mach-ls1021a.c
> 
> diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
> index bdfe276..7f24892 100644
> --- a/arch/arm/mach-imx/Kconfig
> +++ b/arch/arm/mach-imx/Kconfig
> @@ -762,6 +762,23 @@ config SOC_VF610
>  	help
>  	  This enable support for Freescale Vybrid VF610 processor.
>  
> +config FSL_SOC
> +	bool
> +
> +config SOC_LS1021A
> +	bool "Freescale LS1021A support"
> +	select CPU_V7
> +	select ARM_GIC
> +	select CLKSRC_OF
> +	select HAVE_ARM_ARCH_TIMER
> +	select HAVE_SMP
> +	select FSL_SOC
> +	select MIGHT_HAVE_PCI
> +	select PCI_DOMAINS if PCI
> +
> +	help
> +	  This enable support for Freescale LS1021A  processor.
> +
>  endif
>  
>  source "arch/arm/mach-imx/devices/Kconfig"
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index a364e20..f49cbdb 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -114,4 +114,6 @@ obj-$(CONFIG_SOC_IMX53) += mach-imx53.o
>  
>  obj-$(CONFIG_SOC_VF610) += clk-vf610.o mach-vf610.o
>  
> +obj-$(CONFIG_SOC_LS1021A) += mach-ls1021a.o
> +
>  obj-y += devices/
> diff --git a/arch/arm/mach-imx/mach-ls1021a.c b/arch/arm/mach-imx/mach-ls1021a.c
> new file mode 100644
> index 0000000..d1a9bb9
> --- /dev/null
> +++ b/arch/arm/mach-imx/mach-ls1021a.c
> @@ -0,0 +1,49 @@
> +/*
> + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> + *
> + * 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.
> + */
> +
> +#include <linux/of_platform.h>
> +#include <asm/mach/arch.h>
> +
> +#include "common.h"
> +
> +static const struct of_device_id of_ls1021a_match_table[] = {
> +	{
> +		.compatible =	"simple-bus",
> +	},
> +	{
> +		.compatible     = "fsl,ifc",
> +	},
> +	{
> +		.compatible	= "fsl,fpga-qixis",
> +	},
> +	{
> +		.compatible	= "fsl,qe",
> +	},
> +	{}
> +};

Are any of thse not always-on (or default-on) MMIO busses?

Is there any reason for not giving them their own drivers?

> +
> +static void __init ls1021a_init_machine(void)
> +{
> +	mxc_arch_reset_init_dt();

This looks to only be used to set up a watchdog timer. Is there any
reason this logic can't be moved to the watchdog timer driver?

> +	of_platform_populate(NULL, of_ls1021a_match_table, NULL, NULL);
> +}
> +
> +static const char *ls1021a_dt_compat[] __initdata = {
> +	"fsl,ls1021a",
> +	NULL,
> +};
> +
> +DT_MACHINE_START(LS1021A, "Freescale LS1021A")
> +#ifdef CONFIG_ZONE_DMA
> +	.dma_zone_size	= SZ_128M,
> +#endif
> +	.init_machine   = ls1021a_init_machine,
> +	.dt_compat	= ls1021a_dt_compat,
> +	.restart	= mxc_restart,

AFAICT, that jsut uses the WDT for restart. Why can't the watchdog
driver register itself as a restart device?

That would bring us close to an empty machine descriptor, and enable
reuse of the WDT and those busses.

Thanks,
Mark.

  reply	other threads:[~2014-07-02 11:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-02  9:02 [PATCH 0/5] ARM: imx: Add Freescale LS1021A SoC and board support Jingchang Lu
2014-07-02  9:02 ` [PATCH 1/5] ARM: dts: Add SoC level device tree support for LS1021A Jingchang Lu
2014-07-02 11:14   ` Mark Rutland
2014-07-03  7:58     ` Jingchang Lu
2014-07-03 10:10       ` Mark Rutland
2014-07-02  9:02 ` [PATCH 2/5] ARM: dts: Add initial LS1021A QDS board dts support Jingchang Lu
2014-07-02  9:02 ` [PATCH 3/5] ARM: dts: Add initial LS1021A TWR " Jingchang Lu
2014-07-02  9:02 ` [PATCH 4/5] ARM: imx: Add initial support for Freescale LS1021A Jingchang Lu
2014-07-02 11:21   ` Mark Rutland [this message]
2014-07-03 10:17     ` Jingchang Lu
2014-07-03 15:12       ` Mark Rutland
2014-07-04  6:21         ` Jingchang Lu
2014-07-02  9:02 ` [PATCH 5/5] ARM: imx: Add Freescale LS1021A SMP support Jingchang Lu
2014-07-02 11:30   ` Mark Rutland
2014-07-04 10:16     ` Jingchang Lu

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=20140702112125.GE14665@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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