Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b5fe9c9 authored by Alex Elder's avatar Alex Elder Committed by Matt Porter
Browse files

ARM: bcm: config option for l2 cache support



Add a new config option ARCH_BCM_MOBILE_L2_CACHE that allows support
for level-2 cache to be enabled or disabled at build time for
BCM218XX and BCM21664 family SoCs.

Build support for SMC only if it's required (currently it's only
required for to support level 2 cache control).

If arch/arm/mach-bcm/kona.c gets compiled, ARCH_BCM_MOBILE_L2_CACHE
must have been selected, which implies CONFIG_CACHE_L2X0 is set.
There is therefore no need to check CONFIG_CACHE_L2X0 at the top
of kona_l2_cache_init(), so get rid of that check.

Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Reviewed-by: default avatarTim Kryger <tim.kryger@linaro.org>
Reviewed-by: default avatarMarkus Mayer <markus.mayer@linaro.org>
Reviewed-by: default avatarMatt Porter <mporter@linaro.org>
Signed-off-by: default avatarMatt Porter <mporter@linaro.org>
parent 35138d52
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ config ARCH_BCM_MOBILE
	select ARM_GIC
	select GPIO_BCM_KONA
	select TICK_ONESHOT
	select CACHE_L2X0
	select HAVE_ARM_ARCH_TIMER
	select PINCTRL
	help
@@ -43,6 +42,17 @@ config ARCH_BCM_21664
	  Enable support for the the BCM21664 family, which includes
	  BCM21663 and BCM21664 variants.

config ARCH_BCM_MOBILE_L2_CACHE
	bool "Broadcom mobile SoC level 2 cache support"
	depends on (ARCH_BCM_281XX || ARCH_BCM_21664)
	default y
	select CACHE_L2X0
	select ARCH_BCM_MOBILE_SMC

config ARCH_BCM_MOBILE_SMC
	bool
	depends on ARCH_BCM_281XX || ARCH_BCM_21664

endmenu

endif
+4 −1
Original line number Diff line number Diff line
@@ -17,7 +17,10 @@ obj-$(CONFIG_ARCH_BCM_281XX) += board_bcm281xx.o
obj-$(CONFIG_ARCH_BCM_21664)	+= board_bcm21664.o

# BCM281XX and BCM21664 L2 cache control
obj-$(CONFIG_ARCH_BCM_MOBILE)	+= bcm_kona_smc.o bcm_kona_smc_asm.o kona.o
obj-$(CONFIG_ARCH_BCM_MOBILE_L2_CACHE) += kona.o

# Support for secure monitor traps
obj-$(CONFIG_ARCH_BCM_MOBILE_SMC) += bcm_kona_smc.o bcm_kona_smc_asm.o
plus_sec := $(call as-instr,.arch_extension sec,+sec)
AFLAGS_bcm_kona_smc_asm.o	:=-Wa,-march=armv7-a$(plus_sec)

+0 −3
Original line number Diff line number Diff line
@@ -22,9 +22,6 @@ void __init kona_l2_cache_init(void)
	unsigned int result;
	int ret;

	if (!IS_ENABLED(CONFIG_CACHE_L2X0))
		return;

	ret = bcm_kona_smc_init();
	if (ret) {
		pr_info("Secure API not available (%d). Skipping L2 init.\n",
+5 −0
Original line number Diff line number Diff line
@@ -11,4 +11,9 @@
 * GNU General Public License for more details.
 */

#ifdef CONFIG_ARCH_BCM_MOBILE_L2_CACHE

void __init kona_l2_cache_init(void);
#else
#define kona_l2_cache_init() ((void)0)
#endif