ARM: cache: Allow SPL to build cache-pl310.c
authorPhilip Oberfichtner <pro@denx.de>
Wed, 17 Aug 2022 13:07:13 +0000 (15:07 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 1 Sep 2022 21:18:42 +0000 (17:18 -0400)
Introduce the new Kconfig symbol CONFIG_SPL_SYS_L2_PL310 to allow the
SPL to build cache-pl310.c.

Before this commit, the SPL could enable the PL310 L2 cache [1], but the
cache maintenance functions from cache-pl310.c were only useable for
non-SPL builds.

After enabling the cache one must be able to flush it, too. Thus this
commit allows cache-pl310.c to be included in the SPL build.

[1] See for example arch/arm/mach-imx/cache.c: v7_outer_cache_enable()

Signed-off-by: Philip Oberfichtner <pro@denx.de>
arch/arm/Kconfig
arch/arm/lib/Makefile

index 456a7fa..d6c5658 100644 (file)
@@ -493,6 +493,11 @@ config SYS_L2_PL310
        help
          Enable support for ARM PL310 L2 cache controller in U-Boot
 
+config SPL_SYS_L2_PL310
+       bool "ARM PL310 L2 cache controller in SPL"
+       help
+         Enable support for ARM PL310 L2 cache controller in SPL
+
 config SYS_L2CACHE_OFF
        bool "L2cache off"
        help
index c603fe6..d137b4b 100644 (file)
@@ -33,7 +33,6 @@ obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o
 obj-$(CONFIG_CMD_BOOTI) += bootm.o image.o
 obj-$(CONFIG_CMD_BOOTM) += bootm.o
 obj-$(CONFIG_CMD_BOOTZ) += bootm.o zimage.o
-obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o
 else
 obj-$(CONFIG_$(SPL_TPL_)FRAMEWORK) += spl.o
 obj-$(CONFIG_SPL_FRAMEWORK) += zimage.o
@@ -46,6 +45,7 @@ else
 obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMSET) += memset.o
 obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMCPY) += memcpy.o
 endif
+obj-$(CONFIG_$(SPL_TPL_)SYS_L2_PL310) += cache-pl310.o
 obj-$(CONFIG_$(SPL_TPL_)SEMIHOSTING) += semihosting.o
 
 ifneq ($(filter y,$(CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR) $(CONFIG_SAVE_PREV_BL_FDT_ADDR)),)