[PATCH v3 1/3] Convert CONFIG_SYS_L2_PL310 to Kconfig
Marek Vasut
marex at denx.de
Tue Aug 9 13:38:32 CEST 2022
On 8/9/22 13:32, Pali Rohár wrote:
> On Tuesday 09 August 2022 13:27:38 Marek Vasut wrote:
>> On 8/9/22 13:21, Pali Rohár wrote:
>>
>> (reducing the CC list)
>>
>>> 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).
>>
>> So why should the user be unable to deselect L2CC support on MVEBU ?
>> I can very well disable L2CC support on MX6 and the platform works without
>> it just fine. Maybe the MVEBU needs to be fixed to support the same instead
>> ?
>
> Well, I'm not sure, currently it is non-deselectable option. Maybe it is
> a bug... but at least change which is doing kconfig conversion should
> not change behavior.
I agree -- I think your proposal to make this non-user-configurable is
changing the behavior, see:
Before -- you could comment the entry in include/configs/board.h out to
deselect an option.
After -- you can flip Kconfig switch to deselect an option.
More information about the U-Boot
mailing list