2019-05-19 20:07:45 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2014-04-01 11:01:09 +08:00
|
|
|
config ARCH_HISI
|
|
|
|
bool "Hisilicon SoC Support"
|
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 17:52:31 +08:00
|
|
|
depends on ARCH_MULTI_V7 || (ARCH_MULTI_V5 && CPU_LITTLE_ENDIAN)
|
2013-12-11 15:54:50 +08:00
|
|
|
select ARM_AMBA
|
2020-09-29 22:14:43 +08:00
|
|
|
select ARM_GIC if ARCH_MULTI_V7
|
2013-12-11 15:54:50 +08:00
|
|
|
select ARM_TIMER_SP804
|
2014-05-13 17:11:28 +08:00
|
|
|
select POWER_RESET
|
|
|
|
select POWER_RESET_HISI
|
|
|
|
select POWER_SUPPLY
|
2014-04-01 11:01:09 +08:00
|
|
|
|
|
|
|
if ARCH_HISI
|
|
|
|
|
|
|
|
menu "Hisilicon platform type"
|
|
|
|
|
|
|
|
config ARCH_HI3xxx
|
ARM: use "depends on" for SoC configs instead of "if" after prompt
Many ARM sub-architectures use prompts followed by "if" conditional,
but it is wrong.
Please notice the difference between
config ARCH_FOO
bool "Foo SoCs" if ARCH_MULTI_V7
and
config ARCH_FOO
bool "Foo SoCs"
depends on ARCH_MULTI_V7
These two are *not* equivalent!
In the former statement, it is not ARCH_FOO, but its prompt that
depends on ARCH_MULTI_V7. So, it is completely valid that ARCH_FOO
is selected by another, but ARCH_MULTI_V7 is still disabled. As it is
not unmet dependency, Kconfig never warns. This is probably not what
you want.
The former should be used only when you need to do so, and you really
understand what you are doing. (In most cases, it should be wrong!)
For enabling/disabling sub-architectures, the latter is always correct.
As a good side effect, this commit fixes some entries over 80 columns
(mach-imx, mach-integrator, mach-mbevu).
[Arnd: I note that there is not really a bug here, according to
the discussion that followed, but I can see value in being consistent
and in making the lines shorter]
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Jun Nie <jun.nie@linaro.org>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Krzysztof Halasa <khc@piap.pl>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-11-16 11:06:10 +08:00
|
|
|
bool "Hisilicon Hi36xx family"
|
2020-09-29 22:14:43 +08:00
|
|
|
depends on ARCH_MULTI_V7
|
2013-12-11 15:54:50 +08:00
|
|
|
select CACHE_L2X0
|
2014-02-18 03:29:14 +08:00
|
|
|
select HAVE_ARM_SCU if SMP
|
2014-02-02 06:35:42 +08:00
|
|
|
select HAVE_ARM_TWD if SMP
|
2013-12-11 15:54:50 +08:00
|
|
|
select PINCTRL
|
|
|
|
select PINCTRL_SINGLE
|
|
|
|
help
|
2014-04-11 11:54:11 +08:00
|
|
|
Support for Hisilicon Hi36xx SoC family
|
2014-04-01 11:01:09 +08:00
|
|
|
|
2014-12-24 11:09:57 +08:00
|
|
|
config ARCH_HIP01
|
2019-05-27 23:51:28 +08:00
|
|
|
bool "Hisilicon HIP01 family"
|
2020-09-29 22:14:43 +08:00
|
|
|
depends on ARCH_MULTI_V7
|
2019-05-27 23:51:28 +08:00
|
|
|
select HAVE_ARM_SCU if SMP
|
|
|
|
select HAVE_ARM_TWD if SMP
|
|
|
|
select ARM_GLOBAL_TIMER
|
|
|
|
help
|
|
|
|
Support for Hisilicon HIP01 SoC family
|
2014-12-24 11:09:57 +08:00
|
|
|
|
2014-05-09 16:58:04 +08:00
|
|
|
config ARCH_HIP04
|
ARM: use "depends on" for SoC configs instead of "if" after prompt
Many ARM sub-architectures use prompts followed by "if" conditional,
but it is wrong.
Please notice the difference between
config ARCH_FOO
bool "Foo SoCs" if ARCH_MULTI_V7
and
config ARCH_FOO
bool "Foo SoCs"
depends on ARCH_MULTI_V7
These two are *not* equivalent!
In the former statement, it is not ARCH_FOO, but its prompt that
depends on ARCH_MULTI_V7. So, it is completely valid that ARCH_FOO
is selected by another, but ARCH_MULTI_V7 is still disabled. As it is
not unmet dependency, Kconfig never warns. This is probably not what
you want.
The former should be used only when you need to do so, and you really
understand what you are doing. (In most cases, it should be wrong!)
For enabling/disabling sub-architectures, the latter is always correct.
As a good side effect, this commit fixes some entries over 80 columns
(mach-imx, mach-integrator, mach-mbevu).
[Arnd: I note that there is not really a bug here, according to
the discussion that followed, but I can see value in being consistent
and in making the lines shorter]
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Jun Nie <jun.nie@linaro.org>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Krzysztof Halasa <khc@piap.pl>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-11-16 11:06:10 +08:00
|
|
|
bool "Hisilicon HiP04 Cortex A15 family"
|
2020-09-29 22:14:43 +08:00
|
|
|
depends on ARCH_MULTI_V7
|
2014-05-09 16:58:04 +08:00
|
|
|
select ARM_ERRATA_798181 if SMP
|
|
|
|
select HAVE_ARM_ARCH_TIMER
|
|
|
|
select MCPM if SMP
|
|
|
|
select MCPM_QUAD_CLUSTER if SMP
|
2022-07-02 04:00:51 +08:00
|
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
2014-05-09 16:58:04 +08:00
|
|
|
help
|
|
|
|
Support for Hisilicon HiP04 SoC family
|
|
|
|
|
2014-04-11 11:54:11 +08:00
|
|
|
config ARCH_HIX5HD2
|
ARM: use "depends on" for SoC configs instead of "if" after prompt
Many ARM sub-architectures use prompts followed by "if" conditional,
but it is wrong.
Please notice the difference between
config ARCH_FOO
bool "Foo SoCs" if ARCH_MULTI_V7
and
config ARCH_FOO
bool "Foo SoCs"
depends on ARCH_MULTI_V7
These two are *not* equivalent!
In the former statement, it is not ARCH_FOO, but its prompt that
depends on ARCH_MULTI_V7. So, it is completely valid that ARCH_FOO
is selected by another, but ARCH_MULTI_V7 is still disabled. As it is
not unmet dependency, Kconfig never warns. This is probably not what
you want.
The former should be used only when you need to do so, and you really
understand what you are doing. (In most cases, it should be wrong!)
For enabling/disabling sub-architectures, the latter is always correct.
As a good side effect, this commit fixes some entries over 80 columns
(mach-imx, mach-integrator, mach-mbevu).
[Arnd: I note that there is not really a bug here, according to
the discussion that followed, but I can see value in being consistent
and in making the lines shorter]
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Jun Nie <jun.nie@linaro.org>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Krzysztof Halasa <khc@piap.pl>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-11-16 11:06:10 +08:00
|
|
|
bool "Hisilicon X5HD2 family"
|
2020-09-29 22:14:43 +08:00
|
|
|
depends on ARCH_MULTI_V7
|
2014-04-11 11:54:11 +08:00
|
|
|
select CACHE_L2X0
|
|
|
|
select HAVE_ARM_SCU if SMP
|
|
|
|
select HAVE_ARM_TWD if SMP
|
|
|
|
select PINCTRL
|
|
|
|
select PINCTRL_SINGLE
|
|
|
|
help
|
|
|
|
Support for Hisilicon HIX5HD2 SoC family
|
2020-09-29 22:14:43 +08:00
|
|
|
|
|
|
|
config ARCH_SD5203
|
|
|
|
bool "Hisilicon SD5203 family"
|
|
|
|
depends on ARCH_MULTI_V5
|
|
|
|
select DW_APB_ICTL
|
|
|
|
help
|
|
|
|
Support for Hisilicon SD5203 SoC family
|
|
|
|
|
2014-04-01 11:01:09 +08:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
endif
|