devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
To: Stefan Agner <stefan-XLVq0VzYD2Y@public.gmane.org>
Cc: shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org,
	marcel-mitwqZ+T+m9Wk0Htik3J/w@public.gmane.org,
	linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFC 3/7] ARM: vf610m4: add new machine and SoC for Vybrid on Cortex-M4
Date: Mon, 13 Oct 2014 12:57:11 +0200	[thread overview]
Message-ID: <2289511.sEGFxtoWl5@wuerfel> (raw)
In-Reply-To: <776a06abd938d507d7798670e6ad27d1-XLVq0VzYD2Y@public.gmane.org>

On Monday 13 October 2014 12:03:12 Stefan Agner wrote:
> Am 2014-10-12 20:51, schrieb Arnd Bergmann:
> > On Sunday 12 October 2014 20:13:57 Stefan Agner wrote:
> >> This patch adds a new machine ARCH_MXCM4 which requires !MMU and
> >> !MULTIARCH and is meant as machine for the hetregenous multi-core
> >> Vybrid/i.MX SoC's to run Linux on the Cortex-M4.
> >>
> >> The first SoC supported is Vybrid on Cortex-M4 (SOC_VF610M4).
> >>
> >> Signed-off-by: Stefan Agner <stefan-XLVq0VzYD2Y@public.gmane.org>
> >> ---
> >> Not sure whether we really need a new MACH, but since MACH_MXC needs
> >> MULTIARCH, which in turn conflicts with !MMU, I guess there is no
> >> easier way to do it... And then, this also needs a new SOC.
> > 
> > I've carried an experimental patch to enable !MMU in combination with
> > MULTIPLATFORM for a while, it's probably time to do this for real now,
> > especially since we now have two !MMU platforms that can be built
> > together. Independent of the question of whether such a combined kernel
> > could run on real hardware or anybody would want to run such a kernel
> > if it were possible, I think it's very useful to be able to build
> > allmodconfig with MMU disabled and get all drivers for the available
> > platforms for build testing.
> 
> Are these patches online somewhere?
> 
> That sounds interesting. I guess I can get rid of ARCH_MXCM4 then.
> Still, SOC_VF610M4 will be needed. We just need to make ARCH_MXC also
> available on !MMU and use if to distinguish !MMU/MMU SoC's.

I have a long series of patches at
http://git.kernel.org/cgit/linux/kernel/git/arnd/playground.git
and I should upload a newer version of that.

The part with !MMU support has to be changed anyway, but you can
get a lot of useful patches from my tree if you look carefully.

We should probably have a Kconfig symbol

config ARCH_MULTIPLATFORM_STRICT
	bool "Allow only configurations that do not break multiplatform support"
	depends on ARCH_MULTIPLATFORM && EXPERT

and then make this mutually exclusive with all options that are known
to break multiplatform: !MMU, CPU_BIG_ENDIAN, DEBUG_LL, XIP_KERNEL,
!AUTO_ZRELADDR, !ARM_PATCH_PHYS_VIRT and a lot of the errata workarounds
that are currently 'depends on !MULTIPLATFORM'.

Also, we currently have a rather complex setup to pick the allowed
CPU architecture levels in arbitrary combinations. Adding in V7M
would make this even more complicated, so I'd rather simplify it first,
and change it into a "minimum architecture level" choice statement,
which in effect isn't all that different to what we have today.

Something like

choice "CPU Core family selection"

config ARCH_MULTI_V4_MIN
	bool "ARMv4 based platforms (FA526)"
	select ARCH_MULTI_V4
	select ARCH_MULTI_V4T
	select ARCH_MULTI_V5

config ARCH_MULTI_V4T_MIN
	bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
	select ARCH_MULTI_V4T
	select ARCH_MULTI_V5

config ARCH_MULTI_V5_MIN
	bool "ARMv5 based platforms (ARM926T, PJ1, ...)"
	select ARCH_MULTI_V5

config ARCH_MULTI_V6_MIN
	bool "ARMv6 based platforms (ARM1136r0)"
	select ARCH_MULTI_V6
	select ARCH_MULTI_V6K
	select ARCH_MULTI_V7
	select ARCH_MULTI_V7_VE

config ARCH_MULTI_V6K_MIN
	bool "ARMv6K based platforms (ARM1136r1, ARM1176, ARM11MPCORE)"
	select ARCH_MULTI_V6K
	select ARCH_MULTI_V7
	select ARCH_MULTI_V7VE

config ARCH_MULTI_V7_MIN
	bool "ARMv7 based platforms (Cortex-A5/A8/A9, PJ4, Scorpion)"
	select ARCH_MULTI_V7
	select ARCH_MULTI_V7VE

config ARCH_MULTI_V7_VEMIN
	bool "ARMv7VE based platforms (Cortex-A7/A12/A15/A17, Brahma-B15, Krait)"
	select ARCH_MULTI_V7VE

config ARCH_MULTI_V7M
	bool "ARMv7-M based platforms (Cortex-M3/M4/M7)"

endchoice

I'm not sure about the exact symbol names, we should try to minimize the
impact on existing configuration file when doing this.

	Arnd
--
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

  parent reply	other threads:[~2014-10-13 10:57 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-12 18:13 [RFC 0/7] ARM: vf610m4: Add Vybrid Cortex-M4 support Stefan Agner
     [not found] ` <cover.1413136383.git.stefan-XLVq0VzYD2Y@public.gmane.org>
2014-10-12 18:13   ` [RFC 1/7] ARM: vf610: add low level debug support for !MMU Stefan Agner
     [not found]     ` <331b5f06d72890ac348adcd8cce616db576eb10e.1413136383.git.stefan-XLVq0VzYD2Y@public.gmane.org>
2014-10-12 18:48       ` Arnd Bergmann
2014-10-13  9:26         ` Stefan Agner
2014-10-12 18:13   ` [RFC 2/7] clocksource: add dependencies for Vybrid pit clocksource Stefan Agner
     [not found]     ` <603e0f51e88b5643cb42e966cbb1b80b21a55ecf.1413136383.git.stefan-XLVq0VzYD2Y@public.gmane.org>
2014-10-12 18:18       ` Uwe Kleine-König
     [not found]         ` <20141012181821.GQ31554-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-10-13  9:46           ` Stefan Agner
     [not found]             ` <98ca2b7a76dc786a36cf6c4113ca751f-XLVq0VzYD2Y@public.gmane.org>
2014-10-13 10:57               ` Uwe Kleine-König
2014-10-12 18:13   ` [RFC 3/7] ARM: vf610m4: add new machine and SoC for Vybrid on Cortex-M4 Stefan Agner
     [not found]     ` <d1b3670556c7c7a11092834abf52eedb22c332b7.1413136383.git.stefan-XLVq0VzYD2Y@public.gmane.org>
2014-10-12 18:51       ` Arnd Bergmann
2014-10-13 10:03         ` Stefan Agner
     [not found]           ` <776a06abd938d507d7798670e6ad27d1-XLVq0VzYD2Y@public.gmane.org>
2014-10-13 10:57             ` Arnd Bergmann [this message]
2014-10-12 18:13   ` [RFC 4/7] ARM: dts: add support for Vybrid running " Stefan Agner
     [not found]     ` <b3dd902655e9cc4496170a05a907fcce5a687427.1413136383.git.stefan-XLVq0VzYD2Y@public.gmane.org>
2014-10-12 18:56       ` Arnd Bergmann
2014-10-13 10:41         ` Stefan Agner
2014-10-13 10:32       ` Mark Rutland
2014-10-13 11:08         ` Stefan Agner
     [not found]           ` <fadc1e22c016f4259819d87ba06d0d99-XLVq0VzYD2Y@public.gmane.org>
2014-10-13 11:24             ` Arnd Bergmann
2014-10-13 16:11               ` Stefan Agner
     [not found]                 ` <e7425f34e2149aa495a2e3611854e952-XLVq0VzYD2Y@public.gmane.org>
2014-10-13 19:54                   ` Arnd Bergmann
2014-10-13 21:20                     ` Stefan Agner
     [not found]                       ` <7c474d8f876cbf9adaec55af1dffd6c2-XLVq0VzYD2Y@public.gmane.org>
2014-10-14 10:01                         ` Arnd Bergmann
2014-10-12 18:13   ` [RFC 5/7] irqchip: nvic: increase number of external interrupts to 112 Stefan Agner
2014-10-12 18:14   ` [RFC 6/7] ARM: vf610m4: HACK: get dtb pointer from SRC_GPR3 Stefan Agner
     [not found]     ` <2bdc44912522eb02db2e4612738fe9f0545b36d9.1413136383.git.stefan-XLVq0VzYD2Y@public.gmane.org>
2014-10-12 19:00       ` Arnd Bergmann
2014-10-13 10:10         ` Stefan Agner
2014-10-12 18:14   ` [RFC 7/7] ARM: vf610m4: add defconfig for Linux on Vybrids Cortex-M4 Stefan Agner
2014-11-28 14:17   ` [RFC 0/7] ARM: vf610m4: Add Vybrid Cortex-M4 support Andreas Färber
     [not found]     ` <54788417.6020408-l3A5Bk7waGM@public.gmane.org>
2014-11-28 16:00       ` Stefan Agner

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=2289511.sEGFxtoWl5@wuerfel \
    --to=arnd-r2ngtmty4d4@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=marcel-mitwqZ+T+m9Wk0Htik3J/w@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=stefan-XLVq0VzYD2Y@public.gmane.org \
    --cc=u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.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;
as well as URLs for NNTP newsgroup(s).