2019-05-19 13:07:45 +01:00
# SPDX-License-Identifier: GPL-2.0-only
2016-03-21 17:22:31 +10:30
menuconfig ARCH_ASPEED
bool "Aspeed BMC architectures"
ARM: rework endianess selection
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>
2022-04-04 11:52:31 +02:00
depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V6 || ARCH_MULTI_V7
2016-03-21 17:22:31 +10:30
select SRAM
select WATCHDOG
select ASPEED_WATCHDOG
2016-08-30 17:25:54 +09:30
select MFD_SYSCON
select PINCTRL
2016-03-21 17:22:31 +10:30
help
Say Y here if you want to run your kernel on an ASpeed BMC SoC.
if ARCH_ASPEED
config MACH_ASPEED_G4
bool "Aspeed SoC 4th Generation"
depends on ARCH_MULTI_V5
select CPU_ARM926T
2016-08-30 17:25:54 +09:30
select PINCTRL_ASPEED_G4
2019-08-21 15:25:25 +09:30
select FTTMR010_TIMER
2016-03-21 17:22:31 +10:30
help
2022-09-28 12:29:26 +09:30
Say yes if you intend to run on an Aspeed ast2400 or similar
fourth generation BMCs, such as those used by OpenPower Power8
systems.
2016-03-21 17:22:31 +10:30
config MACH_ASPEED_G5
bool "Aspeed SoC 5th Generation"
depends on ARCH_MULTI_V6
2016-08-30 17:25:54 +09:30
select PINCTRL_ASPEED_G5
2019-08-21 15:25:25 +09:30
select FTTMR010_TIMER
2016-03-21 17:22:31 +10:30
help
2022-09-28 12:29:26 +09:30
Say yes if you intend to run on an Aspeed ast2500 or similar
fifth generation Aspeed BMCs.
2016-03-21 17:22:31 +10:30
2019-08-21 15:25:26 +09:30
config MACH_ASPEED_G6
bool "Aspeed SoC 6th Generation"
depends on ARCH_MULTI_V7
select CPU_V7
select PINCTRL_ASPEED_G6
select ARM_GIC
select HAVE_ARM_ARCH_TIMER
help
2022-09-28 12:29:26 +09:30
Say yes if you intend to run on an Aspeed ast2600 or similar
sixth generation Aspeed BMCs.
2019-08-21 15:25:26 +09:30
2016-03-21 17:22:31 +10:30
endif