mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 13:41:51 +00:00
5d6f52671e
Choosing big-endian vs little-endian kernels in Kconfig has not worked correctly since the introduction of CONFIG_ARCH_MULTIPLATFORM a long time ago. The problems is that CONFIG_BIG_ENDIAN depends on ARCH_SUPPORTS_BIG_ENDIAN, which can set by any one platform in the config, but would actually have to be supported by all of them. This was mostly ok for ARMv6/ARMv7 builds, since these are BE8 and tend to just work aside from problems in nonportable device drivers. For ARMv4/v5 machines, CONFIG_BIG_ENDIAN and CONFIG_ARCH_MULTIPLATFORM were never set together, so this was disabled on all those machines except for IXP4xx. As IXP4xx can now become part of ARCH_MULTIPLATFORM, it seems better to formalize this logic: all ARMv4/v5 platforms get an explicit dependency on being either big-endian (ixp4xx) or little-endian (the rest). We may want to fix ixp4xx in the future to support both, but it does not work in LE mode at the moment. For the ARMv6/v7 platforms, there are two ways this could be handled a) allow both modes only for platforms selecting 'ARCH_SUPPORTS_BIG_ENDIAN' today, but only LE mode for the others, given that these were added intentionally at some point. b) allow both modes everwhere, given that it was already possible to build that way by e.g. selecting ARCH_VIRT, and that the list is not an accurate reflection of which platforms may or may not work. Out of these, I picked b) because it seemed slighly more logical to me. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
132 lines
3.1 KiB
Plaintext
132 lines
3.1 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menuconfig ARCH_MVEBU
|
|
bool "Marvell Engineering Business Unit (MVEBU) SoCs"
|
|
depends on ARCH_MULTI_V7 || (ARCH_MULTI_V5 && CPU_LITTLE_ENDIAN)
|
|
select CLKSRC_MMIO
|
|
select PINCTRL
|
|
select PLAT_ORION
|
|
select SOC_BUS
|
|
select MVEBU_MBUS
|
|
select ZONE_DMA if ARM_LPAE
|
|
select GPIOLIB
|
|
select PCI_QUIRKS if PCI
|
|
|
|
if ARCH_MVEBU
|
|
|
|
config MACH_MVEBU_ANY
|
|
bool
|
|
|
|
config MACH_MVEBU_V7
|
|
bool
|
|
select ARMADA_370_XP_TIMER
|
|
select CACHE_L2X0
|
|
select ARM_CPU_SUSPEND
|
|
select MACH_MVEBU_ANY
|
|
select MVEBU_CLK_COREDIV
|
|
|
|
config MACH_ARMADA_370
|
|
bool "Marvell Armada 370 boards"
|
|
depends on ARCH_MULTI_V7
|
|
select ARMADA_370_CLK
|
|
select ARMADA_370_XP_IRQ
|
|
select CPU_PJ4B
|
|
select MACH_MVEBU_V7
|
|
select PINCTRL_ARMADA_370
|
|
help
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
on the Marvell Armada 370 SoC with device tree.
|
|
|
|
config MACH_ARMADA_375
|
|
bool "Marvell Armada 375 boards"
|
|
depends on ARCH_MULTI_V7
|
|
select ARMADA_370_XP_IRQ
|
|
select ARM_ERRATA_720789
|
|
select PL310_ERRATA_753970
|
|
select ARM_GIC
|
|
select ARMADA_375_CLK
|
|
select HAVE_ARM_SCU
|
|
select HAVE_ARM_TWD if SMP
|
|
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.
|
|
|
|
config MACH_ARMADA_38X
|
|
bool "Marvell Armada 380/385 boards"
|
|
depends on ARCH_MULTI_V7
|
|
select ARM_ERRATA_720789
|
|
select PL310_ERRATA_753970
|
|
select ARM_GIC
|
|
select ARM_GLOBAL_TIMER
|
|
select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
|
|
select ARMADA_370_XP_IRQ
|
|
select ARMADA_38X_CLK
|
|
select HAVE_ARM_SCU
|
|
select HAVE_ARM_TWD if SMP
|
|
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.
|
|
|
|
config MACH_ARMADA_39X
|
|
bool "Marvell Armada 39x boards"
|
|
depends on ARCH_MULTI_V7
|
|
select ARM_GIC
|
|
select ARMADA_370_XP_IRQ
|
|
select ARMADA_39X_CLK
|
|
select CACHE_L2X0
|
|
select HAVE_ARM_SCU
|
|
select HAVE_ARM_TWD if 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.
|
|
|
|
config MACH_ARMADA_XP
|
|
bool "Marvell Armada XP boards"
|
|
depends on ARCH_MULTI_V7
|
|
select ARMADA_370_XP_IRQ
|
|
select ARMADA_XP_CLK
|
|
select CPU_PJ4B
|
|
select MACH_MVEBU_V7
|
|
select PINCTRL_ARMADA_XP
|
|
help
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
on the Marvell Armada XP SoC with device tree.
|
|
|
|
config MACH_DOVE
|
|
bool "Marvell Dove boards"
|
|
depends on ARCH_MULTI_V7
|
|
select CACHE_L2X0
|
|
select CPU_PJ4
|
|
select DOVE_CLK
|
|
select MACH_MVEBU_ANY
|
|
select ORION_IRQCHIP
|
|
select ORION_TIMER
|
|
select PM_GENERIC_DOMAINS if PM
|
|
select PINCTRL_DOVE
|
|
help
|
|
Say 'Y' here if you want your kernel to support the
|
|
Marvell Dove using flattened device tree.
|
|
|
|
config MACH_KIRKWOOD
|
|
bool "Marvell Kirkwood boards"
|
|
depends on ARCH_MULTI_V5
|
|
select CPU_FEROCEON
|
|
select GPIOLIB
|
|
select KIRKWOOD_CLK
|
|
select MACH_MVEBU_ANY
|
|
select ORION_IRQCHIP
|
|
select ORION_TIMER
|
|
select FORCE_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.
|
|
|
|
endif
|