[PATCH v3 1/3] Convert CONFIG_SYS_L2_PL310 to Kconfig

Phil Sutter phil at nwl.cc
Tue Aug 9 16:32:05 CEST 2022


On Tue, Aug 09, 2022 at 01:21:51PM +0200, Pali Rohár wrote:
> On Tuesday 09 August 2022 13:16:41 Marek Vasut wrote:
> > On 8/9/22 12:58, Pali Rohár wrote:
> > > On Tuesday 09 August 2022 12:07:00 Philip Oberfichtner wrote:
> > > > This converts CONFIG_SYS_L2_PL310 to Kconfig.
> > > ...
> > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > > > index 949ebb46ba..dde06bdd96 100644
> > > > --- a/arch/arm/Kconfig
> > > > +++ b/arch/arm/Kconfig
> > > > @@ -488,6 +488,10 @@ config TPL_SYS_THUMB_BUILD
> > > >   	   density. For ARM architectures that support Thumb2 this flag will
> > > >   	   result in Thumb2 code generated by GCC.
> > > > +config SYS_L2_PL310
> > > > +	bool "ARM PL310 L2 cache controller"
> > > > +	help
> > > > +	  Enable support for ARM PL310 L2 cache controller in U-Boot
> > > >   config SYS_L2CACHE_OFF
> > > >   	bool "L2cache off"
> > > > diff --git a/arch/arm/mach-mvebu/include/mach/config.h b/arch/arm/mach-mvebu/include/mach/config.h
> > > > index 4add0d9e10..0bba0a4cf9 100644
> > > > --- a/arch/arm/mach-mvebu/include/mach/config.h
> > > > +++ b/arch/arm/mach-mvebu/include/mach/config.h
> > > > @@ -25,8 +25,6 @@
> > > >   #define MV88F78X60 /* for the DDR training bin_hdr code */
> > > >   #endif
> > > > -#define CONFIG_SYS_L2_PL310
> > > > -
> > > >   #define MV_UART_CONSOLE_BASE		MVEBU_UART0_BASE
> > > >   /* Needed for SPI NOR booting in SPL */
> > > 
> > > This option is required for mvebu SoC and is not user (de)-selectable.
> > > So please do not define it in each individual mvebu board. It would make
> > > it harder to introduce a new mvebu board into U-Boot. Instead enable it
> > > for mvebu SoCs like it was before this change. It can be done e.g. by
> > > "select" Kconfig keyword in mvebu Kconfig file.
> > 
> > Should it rather be 'default y if MVEBU' in that new PL310 Kconfig option ?
> 
> No, because this is just default value of this option and still allows
> end-user to de-select this option.
> 
> "select" is IIRC the only way how to force Kconfig to always enable some
> symbol without any option for end-user to disable it.
> 
> At least I do not know a way how CONFIG_SYS_L2_PL310 symbol could decide
> that it is required for CONFIG_MVEBU. Just symbol CONFIG_MVEBU can
> decide that it requires CONFIG_SYS_L2_PL310 symbol (and not in opposite
> direction).

That's correct. If this really is to be controlled from PL310 Kconfig
file, one could introduce a hidden (i.e., no prompt) symbol depending on
CONFIG_MVEBU and selecting CONFIG_SYS_L2_PL310. Something like this
might also work:

| config MVEBU_REQUIRE_SYS_L2_PL310
| 	select SYS_L2_PL310 if MVEBU

Cheers, Phil


More information about the U-Boot mailing list