[U-Boot] What is the correct way to configure SPL options?
Tom Rini
trini at ti.com
Thu May 17 22:47:13 CEST 2012
On 05/17/2012 01:22 PM, Scott Wood wrote:
> On 05/17/2012 01:48 PM, Tom Rini wrote:
>> On Thu, May 17, 2012 at 12:13:20PM +1200, Charles Manning wrote:
>>> Hi All
>>>
>>> My understanding of the way SPL is intended to be configured is:
>>>
>>> (a) You have one config file for both SPL and u-boot.
>>
>> Yes.
>>
>>> (b) SPL features are selected via SPL-specific options.
>>
>> For some parts, yes. Note that SPL does use
>> -ffunction-sections/-fdata-sections/--gc-sections.
>>
>>> I have a need to build SPL with MMC/FAT support, but I don't want
>>> u-boot to have MMC/FAT support.
>>
>> This is a new challenge, yes.
>>
>>> I do however see that quite a few SPL feature selections don't use SPL
>>> config definitions though which would seem to violate (b) above.
>>>
>>> eg.drivers/mmc/Makefile contains
>>> COBJS-$(CONFIG_GENERIC_MMC) += mmc.o
>>>
>>> It seems to me there are three ways to address this:
>>>
>>> A) Change all those Makefiles to something like:
>>>
>>> ifdef CONFIG_SPL_BUILD
>>> COBJS-$(CONFIG_SPL_MMC_SUPPORT) += mmc.o
>>> else
>>> COBJS-$(CONFIG_GENERIC_MMC) += mmc.o
>>> endif
>>>
>>>
>>> B) Modifying the config file with something like
>>>
>>> #ifdef CONFIG_SPL_BUILD
>>> #define CONFIG_GENERIC_MMC
>>> ...
>>> #endif
>>>
>>> C) Separate config files. One for SPL and the other for u-boot.
>>>
>>> Which is the best way to do this?
>>
>> I think (B) is the method to go with. We already do this with certain
>> things like CONFIG_SKIP_LOW_LEVEL_INIT.
>
> We had problems with (B) regarding TEXT_BASE -- the makefile versions of
> the config symbols will only be generated once.
> CONFIG_SKIP_LOW_LEVEL_INIT doesn't seem to be used from makefiles.
>
> I still think (C) is the way to go.
But since we have CONFIG_SYS_SPL_TEXT_BASE now, (B) is how we do it
normally, yes? I really think it's a good thing that one build target
gets one a bootable system now. If we need to rework things further,
lets figure that out but I think it's a good thing that 'make
omap3_beagle' spits out both parts.
--
Tom
More information about the U-Boot
mailing list