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>
181 lines
4.6 KiB
Plaintext
181 lines
4.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menuconfig ARCH_MMP
|
|
bool "Marvell PXA168/910/MMP2/MMP3"
|
|
depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V7
|
|
select GPIO_PXA
|
|
select GPIOLIB
|
|
select PINCTRL
|
|
select PLAT_PXA
|
|
help
|
|
Support for Marvell's PXA168/PXA910(MMP), MMP2, and MMP3 processor lines.
|
|
|
|
if ARCH_MMP
|
|
|
|
menu "Marvell PXA168/910/MMP2 Implementations"
|
|
|
|
if ATAGS
|
|
|
|
config MACH_ASPENITE
|
|
bool "Marvell's PXA168 Aspenite Development Board"
|
|
depends on ARCH_MULTI_V5
|
|
select CPU_PXA168
|
|
help
|
|
Say 'Y' here if you want to support the Marvell PXA168-based
|
|
Aspenite Development Board.
|
|
|
|
config MACH_ZYLONITE2
|
|
bool "Marvell's PXA168 Zylonite2 Development Board"
|
|
depends on ARCH_MULTI_V5
|
|
select CPU_PXA168
|
|
help
|
|
Say 'Y' here if you want to support the Marvell PXA168-based
|
|
Zylonite2 Development Board.
|
|
|
|
config MACH_AVENGERS_LITE
|
|
bool "Marvell's PXA168 Avengers Lite Development Board"
|
|
depends on ARCH_MULTI_V5
|
|
select CPU_PXA168
|
|
help
|
|
Say 'Y' here if you want to support the Marvell PXA168-based
|
|
Avengers Lite Development Board.
|
|
|
|
config MACH_TAVOREVB
|
|
bool "Marvell's PXA910 TavorEVB Development Board"
|
|
depends on ARCH_MULTI_V5
|
|
select CPU_PXA910
|
|
help
|
|
Say 'Y' here if you want to support the Marvell PXA910-based
|
|
TavorEVB Development Board.
|
|
|
|
config MACH_TTC_DKB
|
|
bool "Marvell's PXA910 TavorEVB Development Board"
|
|
depends on ARCH_MULTI_V5
|
|
select CPU_PXA910
|
|
help
|
|
Say 'Y' here if you want to support the Marvell PXA910-based
|
|
TTC_DKB Development Board.
|
|
|
|
config MACH_BROWNSTONE
|
|
bool "Marvell's Brownstone Development Platform"
|
|
depends on ARCH_MULTI_V7
|
|
select CPU_MMP2
|
|
help
|
|
Say 'Y' here if you want to support the Marvell MMP2-based
|
|
Brown Development Platform.
|
|
MMP2-based board can't be co-existed with PXA168-based &
|
|
PXA910-based development board. Since MMP2 is compatible to
|
|
ARMv7 architecture.
|
|
|
|
config MACH_FLINT
|
|
bool "Marvell's Flint Development Platform"
|
|
depends on ARCH_MULTI_V7
|
|
select CPU_MMP2
|
|
help
|
|
Say 'Y' here if you want to support the Marvell MMP2-based
|
|
Flint Development Platform.
|
|
MMP2-based board can't be co-existed with PXA168-based &
|
|
PXA910-based development board. Since MMP2 is compatible to
|
|
ARMv7 architecture.
|
|
|
|
config MACH_MARVELL_JASPER
|
|
bool "Marvell's Jasper Development Platform"
|
|
depends on ARCH_MULTI_V7
|
|
select CPU_MMP2
|
|
help
|
|
Say 'Y' here if you want to support the Marvell MMP2-base
|
|
Jasper Development Platform.
|
|
MMP2-based board can't be co-existed with PXA168-based &
|
|
PXA910-based development board. Since MMP2 is compatible to
|
|
ARMv7 architecture.
|
|
|
|
config MACH_TETON_BGA
|
|
bool "Marvell's PXA168 Teton BGA Development Board"
|
|
depends on ARCH_MULTI_V5
|
|
select CPU_PXA168
|
|
help
|
|
Say 'Y' here if you want to support the Marvell PXA168-based
|
|
Teton BGA Development Board.
|
|
|
|
config MACH_GPLUGD
|
|
bool "Marvell's PXA168 GuruPlug Display (gplugD) Board"
|
|
depends on ARCH_MULTI_V5
|
|
select CPU_PXA168
|
|
help
|
|
Say 'Y' here if you want to support the Marvell PXA168-based
|
|
GuruPlug Display (gplugD) Board
|
|
endif
|
|
|
|
config MACH_MMP_DT
|
|
bool "Support MMP (ARMv5) platforms from device tree"
|
|
depends on ARCH_MULTI_V5
|
|
select PINCTRL
|
|
select PINCTRL_SINGLE
|
|
select ARCH_HAS_RESET_CONTROLLER
|
|
select CPU_MOHAWK
|
|
help
|
|
Include support for Marvell MMP2 based platforms using
|
|
the device tree. Needn't select any other machine while
|
|
MACH_MMP_DT is enabled.
|
|
|
|
config MACH_MMP2_DT
|
|
bool "Support MMP2 (ARMv7) platforms from device tree"
|
|
depends on ARCH_MULTI_V7
|
|
select PINCTRL
|
|
select PINCTRL_SINGLE
|
|
select ARCH_HAS_RESET_CONTROLLER
|
|
select CPU_PJ4
|
|
select PM_GENERIC_DOMAINS if PM
|
|
select PM_GENERIC_DOMAINS_OF if PM && OF
|
|
help
|
|
Include support for Marvell MMP2 based platforms using
|
|
the device tree.
|
|
|
|
config MACH_MMP3_DT
|
|
bool "Support MMP3 (ARMv7) platforms"
|
|
depends on ARCH_MULTI_V7
|
|
select ARM_GIC
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_TWD if SMP
|
|
select CACHE_L2X0
|
|
select PINCTRL
|
|
select PINCTRL_SINGLE
|
|
select ARCH_HAS_RESET_CONTROLLER
|
|
select CPU_PJ4B
|
|
select PM_GENERIC_DOMAINS if PM
|
|
select PM_GENERIC_DOMAINS_OF if PM && OF
|
|
help
|
|
Say 'Y' here if you want to include support for platforms
|
|
with Marvell MMP3 processor, also known as PXA2128 or
|
|
Armada 620.
|
|
|
|
endmenu
|
|
|
|
config CPU_PXA168
|
|
bool
|
|
select CPU_MOHAWK
|
|
help
|
|
Select code specific to PXA168
|
|
|
|
config CPU_PXA910
|
|
bool
|
|
select CPU_MOHAWK
|
|
help
|
|
Select code specific to PXA910
|
|
|
|
config CPU_MMP2
|
|
bool
|
|
select CPU_PJ4
|
|
help
|
|
Select code specific to MMP2. MMP2 is ARMv7 compatible.
|
|
|
|
config USB_EHCI_MV_U2O
|
|
bool "EHCI support for PXA USB OTG controller"
|
|
depends on USB_EHCI_MV
|
|
help
|
|
Enables support for OTG controller which can be switched to host mode.
|
|
|
|
config MMP_SRAM
|
|
bool
|
|
|
|
endif
|