[U-Boot] [PATCH v2 1/6] sunxi: add invisible options for PRCM and RSB support
Icenowy Zheng
icenowy at aosc.xyz
Sat Feb 25 23:52:03 UTC 2017
The Makefile of mach-sunxi used to build PRCM and RSB according to the
SoC's MACH_SUNxI macro, which makes it needed to add lines for new SoC
generation.
Change this behavior to invisible options in sunxi Kconfig, so that new
lines are not needed for new SoC. Also it allows more accurate control
of the build of the related sources, for example, V3s (sun8iw8) and R40
(sun8iw11) do not have PRCM at all, and H3 (sun8iw7) do not have RSB,
but these functions are built with the old code.
Signed-off-by: Icenowy Zheng <icenowy at aosc.xyz>
---
arch/arm/mach-sunxi/Makefile | 7 ++-----
board/sunxi/Kconfig | 22 ++++++++++++++++++++++
2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile
index 7daba1169c..a8bf3a6c64 100644
--- a/arch/arm/mach-sunxi/Makefile
+++ b/arch/arm/mach-sunxi/Makefile
@@ -16,12 +16,9 @@ obj-y += pinmux.o
ifndef CONFIG_MACH_SUN9I
obj-y += usb_phy.o
endif
-obj-$(CONFIG_MACH_SUN6I) += prcm.o
-obj-$(CONFIG_MACH_SUN8I) += prcm.o
-obj-$(CONFIG_MACH_SUN9I) += prcm.o
+obj-$(CONFIG_SUNXI_HAS_PRCM) += prcm.o
obj-$(CONFIG_MACH_SUN6I) += p2wi.o
-obj-$(CONFIG_MACH_SUN8I) += rsb.o
-obj-$(CONFIG_MACH_SUN9I) += rsb.o
+obj-$(CONFIG_SUNXI_HAS_RSB) += rsb.o
obj-$(CONFIG_MACH_SUN4I) += clock_sun4i.o
obj-$(CONFIG_MACH_SUN5I) += clock_sun4i.o
obj-$(CONFIG_MACH_SUN6I) += clock_sun6i.o
diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
index 37b42521a4..acd2bebcdb 100644
--- a/board/sunxi/Kconfig
+++ b/board/sunxi/Kconfig
@@ -42,6 +42,18 @@ config SUNXI_GEN_SUN6I
separate ahb reset control registers, custom pmic bus, new style
watchdog, etc.
+config SUNXI_HAS_PRCM
+ bool
+ ---help---
+ Select this for sunxi SoCs which have PRCM part, which is
+ sometimes also called "CPUs" part.
+
+config SUNXI_HAS_RSB
+ bool
+ depends on SUNXI_HAS_PRCM
+ ---help---
+ Select this for sunxi SoCs which have RSB (Reduced Serial Bus)
+ support.
choice
prompt "Sunxi SoC Variant"
@@ -67,6 +79,7 @@ config MACH_SUN6I
select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
+ select SUNXI_HAS_PRCM
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
config MACH_SUN7I
@@ -87,6 +100,8 @@ config MACH_SUN8I_A23
select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
+ select SUNXI_HAS_PRCM
+ select SUNXI_HAS_RSB
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
config MACH_SUN8I_A33
@@ -97,6 +112,8 @@ config MACH_SUN8I_A33
select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
+ select SUNXI_HAS_PRCM
+ select SUNXI_HAS_RSB
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
config MACH_SUN8I_A83T
@@ -104,6 +121,8 @@ config MACH_SUN8I_A83T
select CPU_V7
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
+ select SUNXI_HAS_PRCM
+ select SUNXI_HAS_RSB
config MACH_SUN8I_H3
bool "sun8i (Allwinner H3)"
@@ -113,6 +132,7 @@ config MACH_SUN8I_H3
select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
+ select SUNXI_HAS_PRCM
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
config MACH_SUN9I
@@ -120,6 +140,8 @@ config MACH_SUN9I
select CPU_V7
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
+ select SUNXI_HAS_PRCM
+ select SUNXI_HAS_RSB
config MACH_SUN50I
bool "sun50i (Allwinner A64)"
--
2.11.1
More information about the U-Boot
mailing list