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>
97 lines
2.0 KiB
Plaintext
97 lines
2.0 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# SPEAr Platform configuration file
|
|
#
|
|
|
|
menuconfig PLAT_SPEAR
|
|
bool "ST SPEAr Family"
|
|
depends on ARCH_MULTI_V7 || (ARCH_MULTI_V5 && CPU_LITTLE_ENDIAN)
|
|
select ARM_AMBA
|
|
select CLKSRC_MMIO
|
|
select GPIOLIB
|
|
|
|
if PLAT_SPEAR
|
|
|
|
config ARCH_SPEAR13XX
|
|
bool "ST SPEAr13xx"
|
|
depends on ARCH_MULTI_V7
|
|
select ARM_GIC
|
|
select GPIO_SPEAR_SPICS
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_TWD if SMP
|
|
select PINCTRL
|
|
select MFD_SYSCON
|
|
help
|
|
Supports for ARM's SPEAR13XX family
|
|
|
|
if ARCH_SPEAR13XX
|
|
|
|
config MACH_SPEAR1310
|
|
bool "SPEAr1310 Machine support with Device Tree"
|
|
select PINCTRL_SPEAR1310
|
|
select PHY_ST_SPEAR1310_MIPHY
|
|
help
|
|
Supports ST SPEAr1310 machine configured via the device-tree
|
|
|
|
config MACH_SPEAR1340
|
|
bool "SPEAr1340 Machine support with Device Tree"
|
|
select PINCTRL_SPEAR1340
|
|
select PHY_ST_SPEAR1340_MIPHY
|
|
help
|
|
Supports ST SPEAr1340 machine configured via the device-tree
|
|
|
|
endif #ARCH_SPEAR13XX
|
|
|
|
config ARCH_SPEAR3XX
|
|
bool "ST SPEAr3xx"
|
|
depends on ARCH_MULTI_V5
|
|
depends on !ARCH_SPEAR13XX
|
|
select ARM_VIC
|
|
select PINCTRL
|
|
help
|
|
Supports for ARM's SPEAR3XX family
|
|
|
|
if ARCH_SPEAR3XX
|
|
|
|
config MACH_SPEAR300
|
|
bool "SPEAr300 Machine support with Device Tree"
|
|
select PINCTRL_SPEAR300
|
|
help
|
|
Supports ST SPEAr300 machine configured via the device-tree
|
|
|
|
config MACH_SPEAR310
|
|
bool "SPEAr310 Machine support with Device Tree"
|
|
select PINCTRL_SPEAR310
|
|
help
|
|
Supports ST SPEAr310 machine configured via the device-tree
|
|
|
|
config MACH_SPEAR320
|
|
bool "SPEAr320 Machine support with Device Tree"
|
|
select PINCTRL_SPEAR320
|
|
help
|
|
Supports ST SPEAr320 machine configured via the device-tree
|
|
|
|
endif
|
|
|
|
config ARCH_SPEAR6XX
|
|
bool "ST SPEAr6XX"
|
|
depends on ARCH_MULTI_V5
|
|
depends on !ARCH_SPEAR13XX
|
|
select ARM_VIC
|
|
help
|
|
Supports for ARM's SPEAR6XX family
|
|
|
|
config MACH_SPEAR600
|
|
def_bool y
|
|
depends on ARCH_SPEAR6XX
|
|
help
|
|
Supports ST SPEAr600 boards configured via the device-tree
|
|
|
|
config ARCH_SPEAR_AUTO
|
|
bool
|
|
depends on !ARCH_SPEAR13XX && !ARCH_SPEAR6XX
|
|
select ARCH_SPEAR3XX
|
|
|
|
endif
|
|
|