All of lore.kernel.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.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Jingchang Lu <jingchang.lu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Cc: "shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Jingchang Lu <b35083-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Subject: Re: [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-KZfg59tc24xl57MIdRCFDg@public.gmane.org>

On Wed, Jul 02, 2014 at 10:02:51AM +0100, Jingchang Lu wrote:
> From: Jingchang Lu <b35083-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
> 
> The LS1021A SoC is a dual-core Cortex-A7 based processor,
> this add the initial support for it.
> 
> Signed-off-by: Jingchang Lu <b35083-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
> ---
>  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.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

Thread overview: 30+ 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 ` 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  9:02   ` Jingchang Lu
2014-07-02 11:14   ` Mark Rutland
2014-07-02 11:14     ` Mark Rutland
2014-07-03  7:58     ` Jingchang Lu
2014-07-03  7:58       ` Jingchang Lu
2014-07-03 10:10       ` Mark Rutland
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   ` Jingchang Lu
2014-07-02  9:02 ` [PATCH 3/5] ARM: dts: Add initial LS1021A TWR " Jingchang Lu
2014-07-02  9:02   ` Jingchang Lu
2014-07-02  9:02 ` [PATCH 4/5] ARM: imx: Add initial support for Freescale LS1021A Jingchang Lu
2014-07-02  9:02   ` Jingchang Lu
2014-07-02 11:21   ` Mark Rutland [this message]
2014-07-02 11:21     ` Mark Rutland
2014-07-03 10:17     ` Jingchang Lu
2014-07-03 10:17       ` Jingchang Lu
2014-07-03 15:12       ` Mark Rutland
2014-07-03 15:12         ` Mark Rutland
2014-07-04  6:21         ` Jingchang Lu
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  9:02   ` Jingchang Lu
2014-07-02 11:30   ` Mark Rutland
2014-07-02 11:30     ` Mark Rutland
2014-07-04 10:16     ` Jingchang Lu
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 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.