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