2014-06-10 22:06:10 +08:00
|
|
|
menuconfig ARCH_MVEBU
|
2014-02-23 03:14:57 +08:00
|
|
|
bool "Marvell Engineering Business Unit (MVEBU) SoCs" if (ARCH_MULTI_V7 || ARCH_MULTI_V5)
|
2013-02-01 18:36:22 +08: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-07 02:41:12 +08:00
|
|
|
select CLKSRC_MMIO
|
|
|
|
select GENERIC_IRQ_CHIP
|
2012-09-27 23:10:12 +08:00
|
|
|
select PINCTRL
|
|
|
|
select PLAT_ORION
|
2014-03-05 01:51:47 +08:00
|
|
|
select SOC_BUS
|
2013-03-22 00:59:15 +08:00
|
|
|
select MVEBU_MBUS
|
2013-04-09 06:52:10 +08:00
|
|
|
select ZONE_DMA if ARM_LPAE
|
2013-05-17 20:25:03 +08:00
|
|
|
select ARCH_REQUIRE_GPIOLIB
|
2013-05-16 23:55:23 +08:00
|
|
|
select PCI_QUIRKS if PCI
|
2014-06-10 04:52:45 +08: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-07 02:41:12 +08:00
|
|
|
|
2012-06-02 00:21:46 +08:00
|
|
|
if ARCH_MVEBU
|
|
|
|
|
2014-07-24 05:05:49 +08:00
|
|
|
config MACH_MVEBU_ANY
|
|
|
|
bool
|
|
|
|
|
2014-02-17 22:23:19 +08:00
|
|
|
config MACH_MVEBU_V7
|
2012-09-13 23:41:51 +08:00
|
|
|
bool
|
2012-06-14 01:01:28 +08:00
|
|
|
select ARMADA_370_XP_TIMER
|
2012-09-27 00:02:48 +08: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 20:06:37 +08:00
|
|
|
select ARM_CPU_SUSPEND
|
2014-07-24 05:05:49 +08:00
|
|
|
select MACH_MVEBU_ANY
|
2012-09-13 23:41:51 +08:00
|
|
|
|
|
|
|
config MACH_ARMADA_370
|
2014-02-23 03:14:50 +08:00
|
|
|
bool "Marvell Armada 370 boards" if ARCH_MULTI_V7
|
2013-05-11 09:08:09 +08:00
|
|
|
select ARMADA_370_CLK
|
2014-02-17 22:23:21 +08:00
|
|
|
select CPU_PJ4B
|
2014-02-17 22:23:19 +08:00
|
|
|
select MACH_MVEBU_V7
|
2012-09-13 23:41:52 +08:00
|
|
|
select PINCTRL_ARMADA_370
|
2012-06-14 01:01:28 +08:00
|
|
|
help
|
2012-09-13 23:41:51 +08:00
|
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
|
|
on the Marvell Armada 370 SoC with device tree.
|
2012-06-14 01:01:28 +08:00
|
|
|
|
2014-02-17 22:23:23 +08:00
|
|
|
config MACH_ARMADA_375
|
2014-02-23 23:48:25 +08:00
|
|
|
bool "Marvell Armada 375 boards" if ARCH_MULTI_V7
|
2014-02-17 22:23:23 +08:00
|
|
|
select ARM_ERRATA_720789
|
|
|
|
select ARM_ERRATA_753970
|
|
|
|
select ARM_GIC
|
|
|
|
select ARMADA_375_CLK
|
2014-04-14 21:47:03 +08:00
|
|
|
select HAVE_ARM_SCU
|
2014-04-24 19:34:36 +08:00
|
|
|
select HAVE_ARM_TWD if SMP
|
2014-04-14 21:54:05 +08:00
|
|
|
select HAVE_SMP
|
2014-02-17 22:23:23 +08: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 22:23:27 +08:00
|
|
|
config MACH_ARMADA_38X
|
2014-02-23 23:48:25 +08:00
|
|
|
bool "Marvell Armada 380/385 boards" if ARCH_MULTI_V7
|
2014-02-17 22:23:27 +08:00
|
|
|
select ARM_ERRATA_720789
|
|
|
|
select ARM_ERRATA_753970
|
|
|
|
select ARM_GIC
|
|
|
|
select ARMADA_38X_CLK
|
2014-04-14 21:47:03 +08:00
|
|
|
select HAVE_ARM_SCU
|
2014-04-24 19:34:36 +08:00
|
|
|
select HAVE_ARM_TWD if SMP
|
2014-04-14 21:54:05 +08:00
|
|
|
select HAVE_SMP
|
2014-02-17 22:23:27 +08: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 22:41:11 +08: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 23:41:51 +08:00
|
|
|
config MACH_ARMADA_XP
|
2014-02-23 03:14:50 +08:00
|
|
|
bool "Marvell Armada XP boards" if ARCH_MULTI_V7
|
2013-05-11 09:08:09 +08:00
|
|
|
select ARMADA_XP_CLK
|
2014-02-17 22:23:21 +08:00
|
|
|
select CPU_PJ4B
|
2014-02-17 22:23:19 +08:00
|
|
|
select MACH_MVEBU_V7
|
2012-09-13 23:41:52 +08:00
|
|
|
select PINCTRL_ARMADA_XP
|
2012-09-13 23:41:51 +08: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-14 01:01:28 +08:00
|
|
|
|
2014-03-01 16:39:38 +08:00
|
|
|
config MACH_DOVE
|
|
|
|
bool "Marvell Dove boards" if ARCH_MULTI_V7
|
|
|
|
select CACHE_L2X0
|
|
|
|
select CPU_PJ4
|
|
|
|
select DOVE_CLK
|
2014-07-24 05:05:49 +08:00
|
|
|
select MACH_MVEBU_ANY
|
2014-03-01 16:39:38 +08:00
|
|
|
select ORION_IRQCHIP
|
|
|
|
select ORION_TIMER
|
2015-07-16 02:59:36 +08:00
|
|
|
select PM_GENERIC_DOMAINS if PM
|
2014-03-01 16:39:38 +08:00
|
|
|
select PINCTRL_DOVE
|
|
|
|
help
|
|
|
|
Say 'Y' here if you want your kernel to support the
|
|
|
|
Marvell Dove using flattened device tree.
|
|
|
|
|
2014-02-23 03:14:57 +08:00
|
|
|
config MACH_KIRKWOOD
|
|
|
|
bool "Marvell Kirkwood boards" if ARCH_MULTI_V5
|
|
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
|
|
select CPU_FEROCEON
|
|
|
|
select KIRKWOOD_CLK
|
2014-07-24 05:05:49 +08:00
|
|
|
select MACH_MVEBU_ANY
|
2014-02-23 03:14:57 +08: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-02 00:21:46 +08:00
|
|
|
endif
|