2014-06-10 08:06:10 -06:00
|
|
|
menuconfig ARCH_MVEBU
|
2014-02-22 12:14:57 -07:00
|
|
|
bool "Marvell Engineering Business Unit (MVEBU) SoCs" if (ARCH_MULTI_V7 || ARCH_MULTI_V5)
|
2013-02-01 03:36:22 -07:00
|
|
|
select ARCH_SUPPORTS_BIG_ENDIAN
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-06 12:41:12 -06:00
|
|
|
select CLKSRC_MMIO
|
|
|
|
select GENERIC_IRQ_CHIP
|
2012-09-27 09:10:12 -06:00
|
|
|
select PINCTRL
|
|
|
|
select PLAT_ORION
|
2014-03-04 10:51:47 -07:00
|
|
|
select SOC_BUS
|
2013-03-21 10:59:15 -06:00
|
|
|
select MVEBU_MBUS
|
2013-04-08 16:52:10 -06:00
|
|
|
select ZONE_DMA if ARM_LPAE
|
2013-05-17 06:25:03 -06:00
|
|
|
select ARCH_REQUIRE_GPIOLIB
|
2013-05-16 09:55:23 -06:00
|
|
|
select PCI_QUIRKS if PCI
|
2014-06-09 14:52:45 -06:00
|
|
|
select OF_ADDRESS_PCI
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-06 12:41:12 -06:00
|
|
|
|
2012-06-01 10:21:46 -06:00
|
|
|
if ARCH_MVEBU
|
|
|
|
|
2014-07-23 15:05:49 -06:00
|
|
|
config MACH_MVEBU_ANY
|
|
|
|
bool
|
|
|
|
|
2014-02-17 07:23:19 -07:00
|
|
|
config MACH_MVEBU_V7
|
2012-09-13 09:41:51 -06:00
|
|
|
bool
|
2012-06-13 11:01:28 -06:00
|
|
|
select ARMADA_370_XP_TIMER
|
2012-09-26 10:02:48 -06:00
|
|
|
select CACHE_L2X0
|
ARM: mvebu: select ARM_CPU_SUSPEND for Marvell EBU v7 platforms
On Marvell Armada platforms, the PMSU (Power Management Service Unit)
controls a number of power management related activities, needed for
things like suspend/resume, CPU hotplug, cpuidle or even simply SMP.
Since cpuidle support was added for Armada XP, the pmsu.c file in
arch/arm/mach-mvebu/ calls the cpu_suspend() and cpu_resume() ARM
functions, which are only available when
CONFIG_ARM_CPU_SUSPEND=y. Therefore, configurations that have
CONFIG_ARM_CPU_SUSPEND disabled due to PM_SLEEP being disabled no
longer build properly, due to undefined references to cpu_suspend()
and cpu_resume().
To fix this, this patch simply ensures CONFIG_ARM_CPU_SUSPEND is
always enabled for Marvell EBU v7 platforms. Doing things in a more
fine-grained way would require a lot of #ifdef-ery in pmsu.c to
isolate the parts that use cpu_suspend()/cpu_resume(), and those parts
would anyway have been needed as soon as either one of suspend/resume,
CPU hotplug or cpuidle was enabled.
Reported-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1402488397-31381-1-git-send-email-thomas.petazzoni@free-electrons.com
Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-06-11 06:06:37 -06:00
|
|
|
select ARM_CPU_SUSPEND
|
2014-07-23 15:05:49 -06:00
|
|
|
select MACH_MVEBU_ANY
|
2012-09-13 09:41:51 -06:00
|
|
|
|
|
|
|
config MACH_ARMADA_370
|
2014-02-22 12:14:50 -07:00
|
|
|
bool "Marvell Armada 370 boards" if ARCH_MULTI_V7
|
2013-05-10 19:08:09 -06:00
|
|
|
select ARMADA_370_CLK
|
2014-02-17 07:23:21 -07:00
|
|
|
select CPU_PJ4B
|
2014-02-17 07:23:19 -07:00
|
|
|
select MACH_MVEBU_V7
|
2012-09-13 09:41:52 -06:00
|
|
|
select PINCTRL_ARMADA_370
|
2012-06-13 11:01:28 -06:00
|
|
|
help
|
2012-09-13 09:41:51 -06:00
|
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
|
|
on the Marvell Armada 370 SoC with device tree.
|
2012-06-13 11:01:28 -06:00
|
|
|
|
2014-02-17 07:23:23 -07:00
|
|
|
config MACH_ARMADA_375
|
2014-02-23 08:48:25 -07:00
|
|
|
bool "Marvell Armada 375 boards" if ARCH_MULTI_V7
|
2014-02-17 07:23:23 -07:00
|
|
|
select ARM_ERRATA_720789
|
|
|
|
select ARM_ERRATA_753970
|
|
|
|
select ARM_GIC
|
|
|
|
select ARMADA_375_CLK
|
2014-04-14 07:47:03 -06:00
|
|
|
select HAVE_ARM_SCU
|
2014-04-24 05:34:36 -06:00
|
|
|
select HAVE_ARM_TWD if SMP
|
2014-04-14 07:54:05 -06:00
|
|
|
select HAVE_SMP
|
2014-02-17 07:23:23 -07:00
|
|
|
select MACH_MVEBU_V7
|
|
|
|
select PINCTRL_ARMADA_375
|
|
|
|
help
|
|
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
|
|
on the Marvell Armada 375 SoC with device tree.
|
|
|
|
|
2014-02-17 07:23:27 -07:00
|
|
|
config MACH_ARMADA_38X
|
2014-02-23 08:48:25 -07:00
|
|
|
bool "Marvell Armada 380/385 boards" if ARCH_MULTI_V7
|
2014-02-17 07:23:27 -07:00
|
|
|
select ARM_ERRATA_720789
|
|
|
|
select ARM_ERRATA_753970
|
|
|
|
select ARM_GIC
|
|
|
|
select ARMADA_38X_CLK
|
2014-04-14 07:47:03 -06:00
|
|
|
select HAVE_ARM_SCU
|
2014-04-24 05:34:36 -06:00
|
|
|
select HAVE_ARM_TWD if SMP
|
2014-04-14 07:54:05 -06:00
|
|
|
select HAVE_SMP
|
2014-02-17 07:23:27 -07:00
|
|
|
select MACH_MVEBU_V7
|
|
|
|
select PINCTRL_ARMADA_38X
|
|
|
|
help
|
|
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
|
|
on the Marvell Armada 380/385 SoC with device tree.
|
|
|
|
|
ARM: mvebu: add core support for Armada 39x
This commit adds the core support for Armada 39x, which is quite
simple:
- a new Kconfig option which selects the appropriate clock and
pinctrl drivers as well as other common features (GIC, L2 cache,
SMP, etc.)
- a new DT_MACHINE_START which references the top-level compatible
strings supported for the Marvell Armada 39x.
- a new SMP enable-method. The mechanism to enable CPUs for Armada
39x appears to be the same as Armada 38x. However, we do not want
to use marvell,armada-380-smp in the Device Tree, in the case of
the discovery of a subtle difference in the future, which would
require changing the Device Tree. And the enable-method isn't a
compatible string: you can't specify several values and expect a
fallback on the second string if the first one isn't
supported. Therefore, we simply declare the SMP enable method
"marvell,armada-390-smp" as doing the same thing as the
"marvell,armada-380-smp" one.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-03-03 07:41:11 -07:00
|
|
|
config MACH_ARMADA_39X
|
|
|
|
bool "Marvell Armada 39x boards" if ARCH_MULTI_V7
|
|
|
|
select ARM_GIC
|
|
|
|
select ARMADA_39X_CLK
|
|
|
|
select CACHE_L2X0
|
|
|
|
select HAVE_ARM_SCU
|
|
|
|
select HAVE_ARM_TWD if SMP
|
|
|
|
select HAVE_SMP
|
|
|
|
select MACH_MVEBU_V7
|
|
|
|
select PINCTRL_ARMADA_39X
|
|
|
|
help
|
|
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
|
|
on the Marvell Armada 39x SoC with device tree.
|
|
|
|
|
2012-09-13 09:41:51 -06:00
|
|
|
config MACH_ARMADA_XP
|
2014-02-22 12:14:50 -07:00
|
|
|
bool "Marvell Armada XP boards" if ARCH_MULTI_V7
|
2013-05-10 19:08:09 -06:00
|
|
|
select ARMADA_XP_CLK
|
2014-02-17 07:23:21 -07:00
|
|
|
select CPU_PJ4B
|
2014-02-17 07:23:19 -07:00
|
|
|
select MACH_MVEBU_V7
|
2012-09-13 09:41:52 -06:00
|
|
|
select PINCTRL_ARMADA_XP
|
2012-09-13 09:41:51 -06:00
|
|
|
help
|
|
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
|
|
on the Marvell Armada XP SoC with device tree.
|
2012-06-13 11:01:28 -06:00
|
|
|
|
2014-03-01 01:39:38 -07:00
|
|
|
config MACH_DOVE
|
|
|
|
bool "Marvell Dove boards" if ARCH_MULTI_V7
|
|
|
|
select CACHE_L2X0
|
|
|
|
select CPU_PJ4
|
|
|
|
select DOVE_CLK
|
2014-07-23 15:05:49 -06:00
|
|
|
select MACH_MVEBU_ANY
|
2014-03-01 01:39:38 -07:00
|
|
|
select ORION_IRQCHIP
|
|
|
|
select ORION_TIMER
|
2015-07-15 12:59:36 -06:00
|
|
|
select PM_GENERIC_DOMAINS if PM
|
2014-03-01 01:39:38 -07:00
|
|
|
select PINCTRL_DOVE
|
|
|
|
help
|
|
|
|
Say 'Y' here if you want your kernel to support the
|
|
|
|
Marvell Dove using flattened device tree.
|
|
|
|
|
2014-02-22 12:14:57 -07:00
|
|
|
config MACH_KIRKWOOD
|
|
|
|
bool "Marvell Kirkwood boards" if ARCH_MULTI_V5
|
|
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
|
|
select CPU_FEROCEON
|
|
|
|
select KIRKWOOD_CLK
|
2014-07-23 15:05:49 -06:00
|
|
|
select MACH_MVEBU_ANY
|
2014-02-22 12:14:57 -07:00
|
|
|
select ORION_IRQCHIP
|
|
|
|
select ORION_TIMER
|
|
|
|
select PCI
|
|
|
|
select PCI_QUIRKS
|
|
|
|
select PINCTRL_KIRKWOOD
|
|
|
|
help
|
|
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
|
|
on the Marvell Kirkwood device tree.
|
|
|
|
|
2012-06-01 10:21:46 -06:00
|
|
|
endif
|