[U-Boot] [PATCH 02/13] spl: Kconfig: Add SPL__BOOT as Kconfig option

Andrew F. Davis
2016-08-19T15:29:54Z

On 08/18/2016 11:10 PM, Lokesh Vutla wrote:
>
>
> On Thursday 18 August 2016 09:11 PM, Andrew F. Davis wrote:
>> Currently U-Boot proper has Kconfig options that enable the generation
>> of U-Boot binaries that are capable of being booted from the selected
>> boot media type. The same set of generation targets for SPL are assumed
>> with various methods and config header hackery. On some platforms the
>> options for SPL, such as load address, are dependent on boot type
>> and cannot depend on boot image type selected for U-Boot proper.
>> Add a Kconfig menu to select SPL boot image types, and populate it
>> with the same media types as are already available for U-Boot proper.
>> Uses of this option are added later.
>>
>> Signed-off-by: Andrew F. Davis <afd@ti.com>
>> ---
>> common/Kconfig | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 69 insertions(+)
>>
>> diff --git a/common/Kconfig b/common/Kconfig
>> index f594db5..90ba5b2 100644
>> --- a/common/Kconfig
>> +++ b/common/Kconfig
>> @@ -156,6 +156,75 @@ config SPI_BOOT
>> booted via SPI flash. This is not a must, some SoCs need this,
>> somes not.
>>
>> +menu "SPL Boot media"
>> + depends on SPL
>> +
>> +config SPL_NOR_BOOT
>> + bool "Support for booting SPL from NOR flash"
>> + default n
>
> Shouldn't this depend on SPL_NOR_SUPPORT? Similarly others.
>

Nope, these simply enable the SPL to be built for being itself loaded
from this media, for instance the SPL does not need to know how to load
images over UART just because it itself was.

> May be a dump question. Do you see any issue with using
> SPL_<media>_SUPPORT config for the same purpose as SPL_<media>_BOOT
> instead of creating a new defconfig?
>

Kind of the same answer as above, the idea is that _SUPPORT is for
adding the ability to load images from a media type to the SPL, and
_BOOT is to inform the make system to generate an SPL image that can be
loaded from this media. This mirrors, for SPL, the same options that
already exist for U-Boot proper.

Now something that I had considered was using the U-Boot proper _BOOT
options to determine what kinds of media the SPL should know how to load
images from, but this becomes very complex and would led to
misunderstandings of the options, like the one I correct in patch 8, so
I have kept them independent of each other.

Thanks,
Andrew

> Thanks and regards,
> Lokesh
>
>> + help
>> + Enabling this will make an SPL binary that is capable of being
>> + booted via NOR flash. This is not a must, some SoCs need this,
>> + some do not.
>> +
>> +config SPL_NAND_BOOT
>> + bool "Support for booting SPL from NAND flash"
>> + default n
>> + help
>> + Enabling this will make an SPL binary that is capable of being
>> + booted via NAND flash. This is not a must, some SoCs need this,
>> + some do not.
>> +
>> +config SPL_ONENAND_BOOT
>> + bool "Support for booting SPL from ONENAND"
>> + default n
>> + help
>> + Enabling this will make an SPL binary that is capable of being
>> + booted via ONENAND. This is not a must, some SoCs need this,
>> + some do not.
>> +
>> +config SPL_QSPI_BOOT
>> + bool "Support for booting SPL from QSPI flash"
>> + default n
>> + help
>> + Enabling this will make an SPL binary that is capable of being
>> + booted via QSPI flash. This is not a must, some SoCs need this,
>> + some do not.
>> +
>> +config SPL_SATA_BOOT
>> + bool "Support for booting SPL from SATA"
>> + default n
>> + help
>> + Enabling this will make an SPL binary that is capable of being
>> + booted via SATA. This is not a must, some SoCs need this,
>> + some do not.
>> +
>> +config SPL_SD_BOOT
>> + bool "Support for booting SPL from SD/MMC/eMMC"
>> + default n
>> + help
>> + Enabling this will make an SPL binary that is capable of being
>> + booted via SD/MMC/eMMC. This is not a must, some SoCs need this,
>> + some do not.
>> +
>> +config SPL_SPI_BOOT
>> + bool "Support for booting SPL from SPI flash"
>> + default n
>> + help
>> + Enabling this will make an SPL binary that is capable of being
>> + booted via SPI flash. This is not a must, some SoCs need this,
>> + some do not.
>> +
>> +config SPL_UART_BOOT
>> + bool "Support for booting SPL from UART"
>> + default n
>> + help
>> + Enabling this will make an SPL binary that is capable of being
>> + booted via UART. This is not a must, some SoCs need this,
>> + some do not.
>> +
>> +endmenu
>> +
>> menu "SPL Media Loading Support"
>> depends on SPL
>>
>>