[PATCH] ARM: imx: soc: Select default TEXT_BASE for i.MX6

Marek Vasut marex at denx.de
Sun Oct 20 06:57:35 CEST 2024


On 10/20/24 4:55 AM, Tom Rini wrote:
> On Sun, Oct 20, 2024 at 04:25:38AM +0200, Marek Vasut wrote:
>> On 10/20/24 2:27 AM, Tom Rini wrote:
>>> On Sun, Oct 20, 2024 at 12:09:03AM +0200, Marek Vasut wrote:
>>>
>>>> Select default U-Boot and SPL text base for the i.MX6 SoC. The U-Boot
>>>> and SPL text base is picked as the one used by various i.MX6 boards.
>>>> Update all the boards.
>>>>
>>>> Signed-off-by: Marek Vasut <marex at denx.de>
>>> [snip]
>>>> diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig
>>>> index 1f8022ee685..10b19984143 100644
>>>> --- a/arch/arm/mach-imx/mx6/Kconfig
>>>> +++ b/arch/arm/mach-imx/mx6/Kconfig
>>>> @@ -15,6 +15,13 @@ config MX6
>>>>    	select GPT_TIMER if !MX6UL && !MX6ULL
>>>>    	imply CMD_FUSE
>>>> +config TEXT_BASE
>>>> +	default 0x17800000
>>>> +
>>>> +config SPL_TEXT_BASE
>>>> +	depends on SPL
>>>> +	default 0x00908000
>>>
>>> Please do these in Kconfig and common/spl/Kconfig with the other
>>> SoC-wide default values, thanks.
>> There are many examples which do it in arch/$ARCH/$SOC , imx7 does it
>> already, so ... why Kconfig instead ?
>>
>> $ git grep config.TEXT_BASE
>> Kconfig:config TEXT_BASE
>> arch/arm/mach-apple/Kconfig:config TEXT_BASE
>> arch/arm/mach-aspeed/Kconfig:config TEXT_BASE
>> arch/arm/mach-imx/mx7/Kconfig:config TEXT_BASE
>> arch/arm/mach-ipq40xx/Kconfig:config TEXT_BASE
>> arch/arm/mach-npcm/Kconfig:config TEXT_BASE
>> arch/arm/mach-owl/Kconfig:config TEXT_BASE
>> arch/arm/mach-rockchip/Kconfig:config TEXT_BASE
>> arch/arm/mach-rockchip/rk3308/Kconfig:config TEXT_BASE
>> arch/arm/mach-rockchip/rk3568/Kconfig:config TEXT_BASE
>> arch/arm/mach-rockchip/rk3588/Kconfig:config TEXT_BASE
>> arch/arm/mach-rockchip/rv1126/Kconfig:config TEXT_BASE
>> arch/arm/mach-socfpga/Kconfig:config TEXT_BASE
>> arch/arm/mach-stm32mp/Kconfig.13x:config TEXT_BASE
>> arch/arm/mach-stm32mp/Kconfig.15x:config TEXT_BASE
>> arch/arm/mach-stm32mp/Kconfig.25x:config TEXT_BASE
> 
> There are many bad examples. In general (and excluding shoving stuff
> under board/.../Kconfig) I prefer those values to be in the top-level
> Kconfig that asks them rather than per-arch so that it's (a) hopefully
> clear that yes, SoCs can and should add a default when it's known and
> (b) because perhaps this will lead to someone thinking on the problem of
> how ugly it can be and what may be a better solution. Kconfig is
> certainly better than CML1 was/is, and better than our ad-hoc just
> define stuff in board.h files, but it's not perfect. OTOH, if someone
> wants to break down the options we've put (I've told people to put) in
> the top-level Kconfig and instead demonstrate and document a reasonable
> places to put them, OK.
> 
> And if you really want to say that this should just match mx7 for today
> and move on for now, alright.
I am happy to do it either way, but we should figure out the best 
practice ... which I was under the impression was to put architecture 
(or soc) specific default values into arch/ , while the Kconfig symbol 
itself should be in matching Kconfig somewhere else in the tree. Did 
this change recently ?


More information about the U-Boot mailing list