All of lore.kernel.org
 help / color / mirror / Atom feed
* [0/3] spl: Start cleaning up common/spl/Kconfig
@ 2022-05-31 16:17 Tom Rini
  2022-05-31 16:17 ` [PATCH 1/3] spl: Move all VPL, TPL and PowerPC specific CONFIG options to separate files Tom Rini
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Tom Rini @ 2022-05-31 16:17 UTC (permalink / raw)
  To: u-boot

Hey all,

This series depends on:
https://patchwork.ozlabs.org/project/uboot/list/?series=299963
https://patchwork.ozlabs.org/project/uboot/list/?series=300980
https://patchwork.ozlabs.org/project/uboot/list/?series=301665
https://patchwork.ozlabs.org/project/uboot/list/?series=302137
https://patchwork.ozlabs.org/project/uboot/list/?series=302394
https://patchwork.ozlabs.org/project/uboot/list/?series=302371
and is the starting point of cleaning up / re-organizing SPL (and TPL
and VPL) options in Kconfig, now that all SPL options are in Kconfig and
we can more clearly see some of the messes that exist and unwind them.

This series start by splitting some of the large chunks out to
additional files then moves on to tightening dependencies and doing some
small amounts of re-organization.  After this, I feel like the three
biggest chunks to address are:
- Falcon stuff, perhaps in it's own file, or at least all in its own
  menu.
- Everything that's SPL_FRAMEWORK dependent should also be in its own
  menu, probably.  Maybe just a big if ... endif?  Outside of the
  PowerPC case, there's much less non-SPL_FRAMEWORK configs, but there
  are a few of them.  Perhaps some of the options should be moved
  outside of common/spl/Kconfig and to their arch/mach Kconfig and
  selected or def_bool'd.
- There's more SPL_FRAMEWORK + SPL_DM requiring options, and the too
  should be grouped together and at least have correct dependencies and
  maybe if ... endif but probably not a menu in that case.

Finally, I could squash parts 2 and 3 of this series together, but I
don't have strong feelings either way.

-- 
Tom



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] spl: Move all VPL, TPL and PowerPC specific CONFIG options to separate files
  2022-05-31 16:17 [0/3] spl: Start cleaning up common/spl/Kconfig Tom Rini
@ 2022-05-31 16:17 ` Tom Rini
  2022-06-06 21:37   ` Tom Rini
  2022-05-31 16:17 ` [PATCH 2/3] spl: Rework Kconfig to be more menu driven Tom Rini
  2022-05-31 16:17 ` [PATCH 3/3] spl: Rework and tighten some dependencies Tom Rini
  2 siblings, 1 reply; 7+ messages in thread
From: Tom Rini @ 2022-05-31 16:17 UTC (permalink / raw)
  To: u-boot

- Move all PowerPC (and some shared with Layerscape) options to
  common/spl/Kconfig.nxp
- Move all other TPL related options to common/spl/Kconfig.tpl
- Move all VPL related options to common/spl/Kconfig.vpl

This makes the whole of common/spl/Kconfig slightly more readable.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 common/spl/Kconfig     | 661 +----------------------------------------
 common/spl/Kconfig.nxp | 124 ++++++++
 common/spl/Kconfig.tpl | 322 ++++++++++++++++++++
 common/spl/Kconfig.vpl | 201 +++++++++++++
 4 files changed, 650 insertions(+), 658 deletions(-)
 create mode 100644 common/spl/Kconfig.nxp
 create mode 100644 common/spl/Kconfig.tpl
 create mode 100644 common/spl/Kconfig.vpl

diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index d4f02b527d9d..25078432a7ed 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -199,117 +199,7 @@ config SPL_BINMAN_SYMBOLS
 	  For this to work, you must have a U-Boot image in the binman image, so
 	  binman can update SPL with the location of it.
 
-menu "PowerPC and LayerScape SPL Boot options"
-
-config SPL_NAND_BOOT
-	bool "Load SPL from NAND flash"
-	depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK)
-
-config SPL_MMC_BOOT
-	bool "Load SPL from SD Card / eMMC"
-	depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK)
-
-config SPL_SPI_BOOT
-	bool "Load SPL from SPI flash"
-	depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK)
-
-config SPL_FSL_PBL
-	bool "Create SPL in Freescale PBI format"
-	depends on (PPC || ARCH_LS1021A || ARCH_LS1043A || ARCH_LS1046A) && \
-		    SUPPORT_SPL
-	help
-	  Create boot binary having SPL binary in PBI format concatenated with
-	  u-boot binary.
-
-config SPL_SYS_CCSR_DO_NOT_RELOCATE
-	bool "Ensures that CCSR is not relocated"
-	depends on PPC
-	help
-	  If this is defined, then CONFIG_SYS_CCSRBAR_PHYS will be forced to a
-	  value that ensures that CCSR is not relocated.
-
-config TPL_SYS_CCSR_DO_NOT_RELOCATE
-	def_bool y
-	depends on SPL_SYS_CCSR_DO_NOT_RELOCATE
-
-endmenu
-
-menu "PowerPC SPL / TPL specific options"
-	depends on PPC && (SPL && !SPL_FRAMEWORK)
-
-config SPL_INIT_MINIMAL
-	bool "Arch init code will be built for a very small image"
-
-config SPL_FLUSH_IMAGE
-	bool "Clean dcache and invalidate icache after loading the image"
-
-config SPL_SKIP_RELOCATE
-	bool "Skip relocating SPL"
-
-config SPL_GD_ADDR
-	hex "Address to use for global data (gd) in SPL"
-	depends on !SPL_INIT_MINIMAL
-
-config SPL_RELOC_TEXT_BASE
-	hex "Address to relocate SPL to"
-	default SPL_TEXT_BASE
-	help
-	  If unspecified, this is equal to CONFIG_SPL_TEXT_BASE (i.e. no
-	  relocation is done).
-
-config SPL_RELOC_STACK
-	hex "Address of the start of the stack SPL will use after relocation."
-	help
-	  If unspecified, this is equal to CONFIG_SYS_SPL_MALLOC_START.  Starting
-	  address of the malloc pool used in SPL.  When this option is set the full
-	  malloc is used in SPL and it is set up by spl_init() and before that, the
-	  simple malloc() can be used if CONFIG_SYS_MALLOC_F is defined.
-
-config SPL_RELOC_MALLOC
-	bool "SPL has malloc pool after relocation"
-
-config SPL_RELOC_MALLOC_ADDR
-	hex "Address of malloc pool in SPL"
-	depends on SPL_RELOC_MALLOC
-
-config SPL_RELOC_MALLOC_SIZE
-	hex "Size of malloc pool in SPL"
-	depends on SPL_RELOC_MALLOC
-
-config TPL_GD_ADDR
-	hex "Address to use for global data (gd) in TPL"
-	depends on TPL
-
-config TPL_RELOC_TEXT_BASE
-	hex "Address to relocate TPL to"
-	depends on TPL
-	default TPL_TEXT_BASE
-	help
-	  If unspecified, this is equal to CONFIG_TPL_TEXT_BASE (i.e. no
-	  relocation is done).
-
-config TPL_RELOC_STACK
-	hex "Address of the start of the stack TPL will use after relocation."
-	depends on TPL
-	help
-	  If unspecified, this is equal to CONFIG_SYS_TPL_MALLOC_START.  Starting
-	  address of the malloc pool used in TPL.  When this option is set the full
-	  malloc is used in TPL and it is set up by spl_init() and before that, the
-	  simple malloc() can be used if CONFIG_SYS_MALLOC_F is defined.
-
-config TPL_RELOC_MALLOC
-	bool "TPL has malloc pool after relocation"
-	depends on TPL
-
-config TPL_RELOC_MALLOC_ADDR
-	hex "Address of malloc pool in TPL"
-	depends on TPL_RELOC_MALLOC
-
-config TPL_RELOC_MALLOC_SIZE
-	hex "Size of malloc pool in TPL"
-	depends on TPL_RELOC_MALLOC
-
-endmenu
+source "common/spl/Kconfig.nxp"
 
 config HANDOFF
 	bool "Pass hand-off information from SPL to U-Boot proper"
@@ -360,13 +250,6 @@ config SPL_BOARD_INIT
 	  spl_board_init() from board_init_r(). This function should be
 	  provided by the board.
 
-config VPL_BOARD_INIT
-	bool "Call board-specific initialization in VPL"
-	help
-	  If this option is enabled, U-Boot will call the function
-	  spl_board_init() from board_init_r(). This function should be
-	  provided by the board.
-
 config SPL_BOOTROM_SUPPORT
 	bool "Support returning to the BOOTROM"
 	help
@@ -425,16 +308,6 @@ config SPL_SYS_MALLOC_SIMPLE
 	  this will make the SPL binary smaller at the cost of more heap
 	  usage as the *_simple malloc functions do not re-use free-ed mem.
 
-config TPL_SYS_MALLOC_SIMPLE
-	bool
-	prompt "Only use malloc_simple functions in the TPL"
-	depends on TPL
-	help
-	  Say Y here to only use the *_simple malloc functions from
-	  malloc_simple.c, rather then using the versions from dlmalloc.c;
-	  this will make the TPL binary smaller at the cost of more heap
-	  usage as the *_simple malloc functions do not re-use free-ed mem.
-
 config SPL_SHARES_INIT_SP_ADDR
 	bool "SPL and U-Boot use the same initial stack pointer location"
 	depends on (ARM || ARCH_JZ47XX || MICROBLAZE || RISCV) && SPL_FRAMEWORK
@@ -523,16 +396,6 @@ config SPL_READ_ONLY
 	  writeable memory) of anything it wants to modify, such as
 	  device-private data.
 
-config TPL_SEPARATE_BSS
-	bool "BSS section is in a different memory region from text"
-	default y if SPL_SEPARATE_BSS
-	help
-	  Some platforms need a large BSS region in TPL and can provide this
-	  because RAM is already set up. In this case BSS can be moved to RAM.
-	  This option should then be enabled so that the correct device tree
-	  location is used. Normally we put the device tree at the end of BSS
-	  but with this option enabled, it goes at _image_binary_end.
-
 config SPL_BANNER_PRINT
 	bool "Enable output of the SPL banner 'U-Boot SPL ...'"
 	default y
@@ -541,15 +404,6 @@ config SPL_BANNER_PRINT
 	  info. Disabling this option could be useful to reduce SPL boot time
 	  (e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
 
-config TPL_BANNER_PRINT
-	bool "Enable output of the TPL banner 'U-Boot TPL ...'"
-	depends on TPL
-	default y
-	help
-	  If this option is enabled, TPL will print the banner with version
-	  info. Disabling this option could be useful to reduce TPL boot time
-	  (e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
-
 config SPL_EARLY_BSS
 	depends on ARM && !ARM64
 	bool "Allows initializing BSS early before entering board_init_f"
@@ -1625,314 +1479,7 @@ config TPL
 	help
 	  If you want to build TPL as well as the normal image and SPL, say Y.
 
-if TPL
-
-config TPL_SIZE_LIMIT
-	hex "Maximum size of TPL image"
-	depends on TPL
-	default 0x0
-	help
-	  Specifies the maximum length of the U-Boot TPL image.
-	  If this value is zero, it is ignored.
-
-config TPL_BINMAN_SYMBOLS
-	bool "Declare binman symbols in TPL"
-	depends on SPL_FRAMEWORK && BINMAN
-	default y
-	help
-	  This enables use of symbols in TPL which refer to U-Boot, enabling TPL
-	  to obtain the location of U-Boot simply by calling spl_get_image_pos()
-	  and spl_get_image_size().
-
-	  For this to work, you must have a U-Boot image in the binman image, so
-	  binman can update TPL with the location of it.
-
-config TPL_FRAMEWORK
-	bool "Support TPL based upon the common SPL framework"
-	default y if SPL_FRAMEWORK
-	help
-	  Enable the SPL framework under common/spl/ for TPL builds.
-	  This framework supports MMC, NAND and YMODEM and other methods
-	  loading of U-Boot's SPL stage. If unsure, say Y.
-
-config TPL_HANDOFF
-	bool "Pass hand-off information from TPL to SPL and U-Boot proper"
-	depends on HANDOFF && TPL_BLOBLIST
-	default y
-	help
-	  This option enables TPL to write handoff information. This can be
-	  used to pass information like the size of SDRAM from TPL to U-Boot
-	  proper. The information is also available to SPL if it is useful
-	  there.
-
-config TPL_BOARD_INIT
-	bool "Call board-specific initialization in TPL"
-	help
-	  If this option is enabled, U-Boot will call the function
-	  spl_board_init() from board_init_r(). This function should be
-	  provided by the board.
-
-config TPL_BOOTCOUNT_LIMIT
-	bool "Support bootcount in TPL"
-	depends on TPL_ENV_SUPPORT
-	help
-	  If this option is enabled, the TPL will support bootcount.
-	  For example, it may be useful to choose the device to boot.
-
-config TPL_LDSCRIPT
-	string "Linker script for the TPL stage"
-	depends on TPL
-	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
-	default "arch/\$(ARCH)/cpu/u-boot-spl.lds"
-	help
-	  The TPL stage will usually require a different linker-script
-	  (as it runs from a different memory region) than the regular
-	  U-Boot stage.  Set this to the path of the linker-script to
-	  be used for TPL.
-
-	  May be left empty to trigger the Makefile infrastructure to
-	  fall back to the linker-script used for the SPL stage.
-
-config TPL_NEEDS_SEPARATE_STACK
-	bool "TPL needs a separate initial stack-pointer"
-	depends on TPL
-	help
-	  Enable, if the TPL stage should not inherit its initial
-	  stack-pointer from the settings for the SPL stage.
-
-config TPL_POWER
-	bool "Support power drivers"
-	help
-	  Enable support for power control in TPL. This includes support
-	  for PMICs (Power-management Integrated Circuits) and some of the
-	  features provided by PMICs. In particular, voltage regulators can
-	  be used to enable/disable power and vary its voltage. That can be
-	  useful in TPL to turn on boot peripherals and adjust CPU voltage
-	  so that the clock speed can be increased. This enables the drivers
-	  in drivers/power, drivers/power/pmic and drivers/power/regulator
-	  as part of an TPL build.
-
-config TPL_TEXT_BASE
-	hex "Base address for the .text section of the TPL stage"
-	default 0
-	help
-	  The base address for the .text section of the TPL stage.
-
-config TPL_MAX_SIZE
-	hex "Maximum size (in bytes) for the TPL stage"
-	default 0x2e000 if ROCKCHIP_RK3399
-	default 0x8000 if ROCKCHIP_RK3288
-	default 0x7000 if ROCKCHIP_RK322X || ROCKCHIP_RK3328 || ROCKCHIP_RK3368
-	default 0x2800 if ROCKCHIP_PX30
-	default 0x0
-	help
-	  The maximum size (in bytes) of the TPL stage.
-
-config TPL_PAD_TO
-	hex "Offset to which the TPL should be padded before appending the TPL payload"
-	depends on !TPL_FRAMEWORK && PPC
-	default TPL_MAX_SIZE
-	help
-	  Image offset to which the TPL should be padded before appending the
-	  TPL payload. By default, this is defined as CONFIG_TPL_MAX_SIZE, or 0 if
-	  CONFIG_TPL_MAX_SIZE is undefined.  CONFIG_TPL_PAD_TO must be either
-	  0, meaning to append the TPL payload without any padding, or >=
-	  CONFIG_TPL_MAX_SIZE.
-
-config TPL_STACK
-	hex "Address of the initial stack-pointer for the TPL stage"
-	depends on TPL_NEEDS_SEPARATE_STACK
-	help
-	  The address of the initial stack-pointer for the TPL stage.
-	  Usually this will be the (aligned) top-of-stack.
-
-config TPL_READ_ONLY
-	bool
-	depends on TPL_OF_PLATDATA
-	select TPL_OF_PLATDATA_NO_BIND
-	select TPL_OF_PLATDATA_RT
-	help
-	  Some platforms (e.g. x86 Apollo Lake) load SPL into a read-only
-	  section of memory. This means that of-platdata must make a copy (in
-	  writeable memory) of anything it wants to modify, such as
-	  device-private data.
-
-config TPL_BOOTROM_SUPPORT
-	bool "Support returning to the BOOTROM (from TPL)"
-	help
-	  Some platforms (e.g. the Rockchip RK3368) provide support in their
-	  ROM for loading the next boot-stage after performing basic setup
-	  from the TPL stage.
-
-	  Enable this option, to return to the BOOTROM through the
-	  BOOT_DEVICE_BOOTROM (or fall-through to the next boot device in the
-	  boot device list, if not implemented for a given board)
-
-config TPL_CRC32
-	bool "Support CRC32 in TPL"
-	default y if TPL_ENV_SUPPORT || TPL_BLOBLIST
-	help
-	  Enable this to support CRC32 in uImages or FIT images within SPL.
-	  This is a 32-bit checksum value that can be used to verify images.
-	  For FIT images, this is the least secure type of checksum, suitable
-	  for detected accidental image corruption. For secure applications you
-	  should consider SHA1 or SHA256.
-
-config TPL_DRIVERS_MISC
-	bool "Support misc drivers in TPL"
-	help
-	  Enable miscellaneous drivers in TPL. These drivers perform various
-	  tasks that don't fall nicely into other categories, Enable this
-	  option to build the drivers in drivers/misc as part of an TPL
-	  build, for those that support building in TPL (not all drivers do).
-
-config TPL_ENV_SUPPORT
-	bool "Support an environment"
-	help
-	  Enable environment support in TPL. See SPL_ENV_SUPPORT for details.
-
-config TPL_GPIO
-	bool "Support GPIO in TPL"
-	help
-	  Enable support for GPIOs (General-purpose Input/Output) in TPL.
-	  GPIOs allow U-Boot to read the state of an input line (high or
-	  low) and set the state of an output line. This can be used to
-	  drive LEDs, control power to various system parts and read user
-	  input. GPIOs can be useful in TPL to enable a 'sign-of-life' LED,
-	  for example. Enable this option to build the drivers in
-	  drivers/gpio as part of an TPL build.
-
-config TPL_I2C
-	bool "Support I2C"
-	help
-	  Enable support for the I2C bus in TPL. See SPL_I2C for
-	  details.
-
-config TPL_LIBCOMMON_SUPPORT
-	bool "Support common libraries"
-	help
-	  Enable support for common U-Boot libraries within TPL. See
-	  SPL_LIBCOMMON_SUPPORT for details.
-
-config TPL_LIBGENERIC_SUPPORT
-	bool "Support generic libraries"
-	help
-	  Enable support for generic U-Boot libraries within TPL. See
-	  SPL_LIBGENERIC_SUPPORT for details.
-
-config TPL_MPC8XXX_INIT_DDR
-	bool "Support MPC8XXX DDR init"
-	help
-	  Enable support for DDR-SDRAM on the MPC8XXX family within TPL. See
-	  SPL_MPC8XXX_INIT_DDR for details.
-
-config TPL_MMC
-	bool "Support MMC"
-	depends on MMC
-	help
-	  Enable support for MMC within TPL. See SPL_MMC for details.
-
-config TPL_NAND_SUPPORT
-	bool "Support NAND flash"
-	help
-	  Enable support for NAND in TPL. See SPL_NAND_SUPPORT for details.
-
-config TPL_PCI
-	bool "Support PCI drivers"
-	help
-	  Enable support for PCI in TPL. For platforms that need PCI to boot,
-	  or must perform some init using PCI in SPL, this provides the
-	  necessary driver support. This enables the drivers in drivers/pci
-	  as part of a TPL build.
-
-config TPL_PCH
-	bool "Support PCH drivers"
-	help
-	  Enable support for PCH (Platform Controller Hub) devices in TPL.
-	  These are used to set up GPIOs and the SPI peripheral early in
-	  boot. This enables the drivers in drivers/pch as part of a TPL
-	  build.
-
-config TPL_RAM_SUPPORT
-	bool "Support booting from RAM"
-	help
-	  Enable booting of an image in RAM. The image can be preloaded or
-	  it can be loaded by TPL directly into RAM (e.g. using USB).
-
-config TPL_RAM_DEVICE
-	bool "Support booting from preloaded image in RAM"
-	depends on TPL_RAM_SUPPORT
-	help
-	  Enable booting of an image already loaded in RAM. The image has to
-	  be already in memory when TPL takes over, e.g. loaded by the boot
-	  ROM.
-
-config TPL_RTC
-	bool "Support RTC drivers"
-	help
-	  Enable RTC (Real-time Clock) support in TPL. This includes support
-	  for reading and setting the time. Some RTC devices also have some
-	  non-volatile (battery-backed) memory which is accessible if
-	  needed. This enables the drivers in drivers/rtc as part of an TPL
-	  build.
-
-config TPL_SERIAL
-	bool "Support serial"
-	select TPL_PRINTF
-	select TPL_STRTO
-	help
-	  Enable support for serial in TPL. See SPL_SERIAL for
-	  details.
-
-config TPL_SPI_FLASH_SUPPORT
-	bool "Support SPI flash drivers"
-	help
-	  Enable support for using SPI flash in TPL. See SPL_SPI_FLASH_SUPPORT
-	  for details.
-
-config TPL_SPI_FLASH_TINY
-	bool "Enable low footprint TPL SPI Flash support"
-	depends on TPL_SPI_FLASH_SUPPORT && !SPI_FLASH_BAR
-	default y if SPI_FLASH
-	help
-	 Enable lightweight TPL SPI Flash support that supports just reading
-	 data/images from flash. No support to write/erase flash. Enable
-	 this if you have TPL size limitations and don't need full-fledged
-	 SPI flash support.
-
-config TPL_SPI_LOAD
-	bool "Support loading from SPI flash"
-	depends on TPL_SPI_FLASH_SUPPORT
-	help
-	  Enable support for loading next stage, U-Boot or otherwise, from
-	  SPI NOR in U-Boot TPL.
-
-config TPL_SPI
-	bool "Support SPI drivers"
-	help
-	  Enable support for using SPI in TPL. See SPL_SPI for
-	  details.
-
-config TPL_DM_SPI
-	bool "Support SPI DM drivers in TPL"
-	help
-	  Enable support for SPI DM drivers in TPL.
-
-config TPL_DM_SPI_FLASH
-	bool "Support SPI DM FLASH drivers in TPL"
-	help
-	  Enable support for SPI DM flash drivers in TPL.
-
-config TPL_YMODEM_SUPPORT
-	bool "Support loading using Ymodem"
-	depends on TPL_SERIAL
-	help
-	  While loading from serial is slow it can be a useful backup when
-	  there is no other option. The Ymodem protocol provides a reliable
-	  means of transmitting U-Boot over a serial line for using in TPL,
-	  with a checksum to ensure correctness.
-
-endif # TPL
+source "common/spl/Kconfig.tpl"
 
 config VPL
 	bool
@@ -1942,209 +1489,7 @@ config VPL
 	  If you want to build VPL as well as the normal image, TPL and SPL,
 	  say Y.
 
-if VPL
-
-config VPL_BANNER_PRINT
-	bool "Enable output of the VPL banner 'U-Boot VPL ...'"
-	depends on VPL
-	default y
-	help
-	  If this option is enabled, VPL will print the banner with version
-	  info. Disabling this option could be useful to reduce VPL boot time
-	  (e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
-
-config VPL_BOARD_INIT
-	bool "Call board-specific initialization in VPL"
-	help
-	  If this option is enabled, U-Boot will call the function
-	  spl_board_init() from board_init_r(). This function should be
-	  provided by the board.
-
-config VPL_CACHE
-	depends on CACHE
-	bool "Support cache drivers in VPL"
-	help
-	  Enable support for cache drivers in VPL.
-
-config VPL_CRC32
-	bool "Support CRC32 in VPL"
-	default y if VPL_ENV_SUPPORT || VPL_BLOBLIST
-	help
-	  Enable this to support CRC32 in uImages or FIT images within VPL.
-	  This is a 32-bit checksum value that can be used to verify images.
-	  For FIT images, this is the least secure type of checksum, suitable
-	  for detected accidental image corruption. For secure applications you
-	  should consider SHA1 or SHA256.
-
-config VPL_DM_SPI
-	bool "Support SPI DM drivers in VPL"
-	help
-	  Enable support for SPI DM drivers in VPL.
-
-config VPL_DM_SPI_FLASH
-	bool "Support SPI DM FLASH drivers in VPL"
-	help
-	  Enable support for SPI DM flash drivers in VPL.
-
-config VPL_FRAMEWORK
-	bool "Support VPL based upon the common SPL framework"
-	default y
-	help
-	  Enable the SPL framework under common/spl/ for VPL builds.
-	  This framework supports MMC, NAND and YMODEM and other methods
-	  loading of U-Boot's next stage. If unsure, say Y.
-
-config VPL_HANDOFF
-	bool "Pass hand-off information from VPL to SPL"
-	depends on HANDOFF && VPL_BLOBLIST
-	default y
-	help
-	  This option enables VPL to write handoff information. This can be
-	  used to pass information like the size of SDRAM from VPL to SPL. Also
-	  VPL can receive information from TPL in the same place if that is
-	  enabled.
-
-config VPL_LIBCOMMON_SUPPORT
-	bool "Support common libraries"
-	default y if SPL_LIBCOMMON_SUPPORT
-	help
-	  Enable support for common U-Boot libraries within VPL. See
-	  SPL_LIBCOMMON_SUPPORT for details.
-
-config VPL_LIBGENERIC_SUPPORT
-	bool "Support generic libraries"
-	default y if SPL_LIBGENERIC_SUPPORT
-	help
-	  Enable support for generic U-Boot libraries within VPL. These
-	  libraries include generic code to deal with device tree, hashing,
-	  printf(), compression and the like. This option is enabled on many
-	  boards. Enable this option to build the code in lib/ as part of a
-	  VPL build.
-
-config VPL_DRIVERS_MISC
-	bool "Support misc drivers"
-	default y if TPL_DRIVERS_MISC
-	help
-	  Enable miscellaneous drivers in VPL. These drivers perform various
-	  tasks that don't fall nicely into other categories, Enable this
-	  option to build the drivers in drivers/misc as part of a VPL
-	  build, for those that support building in VPL (not all drivers do).
-
-config VPL_ENV_SUPPORT
-	bool "Support an environment"
-	help
-	  Enable environment support in VPL. The U-Boot environment provides
-	  a number of settings (essentially name/value pairs) which can
-	  control many aspects of U-Boot's operation. Enabling this option will
-	  make env_get() and env_set() available in VSPL.
-
-config VPL_GPIO
-	bool "Support GPIO in VPL"
-	default y if SPL_GPIO
-	help
-	  Enable support for GPIOs (General-purpose Input/Output) in VPL.
-	  GPIOs allow U-Boot to read the state of an input line (high or
-	  low) and set the state of an output line. This can be used to
-	  drive LEDs, control power to various system parts and read user
-	  input. GPIOs can be useful in VPL to enable a 'sign-of-life' LED,
-	  for example. Enable this option to build the drivers in
-	  drivers/gpio as part of a VPL build.
-
-config VPL_HANDOFF
-	bool "Pass hand-off information from VPL to SPL and U-Boot proper"
-	depends on HANDOFF && VPL_BLOBLIST
-	default y
-	help
-	  This option enables VPL to write handoff information. This can be
-	  used to pass information like the size of SDRAM from VPL to U-Boot
-	  proper. The information is also available to VPL if it is useful
-	  there.
-
-config VPL_HASH
-	bool "Support hashing drivers in VPL"
-	depends on VPL
-	select SHA1
-	select SHA256
-	help
-	  Enable hashing drivers in VPL. These drivers can be used to
-	  accelerate secure boot processing in secure applications. Enable
-	  this option to build system-specific drivers for hash acceleration
-	  as part of a VPL build.
-
-config VPL_I2C_SUPPORT
-	bool "Support I2C in VPL"
-	default y if SPL_I2C_SUPPORT
-	help
-	  Enable support for the I2C bus in VPL. Vee SPL_I2C_SUPPORT for
-	  details.
-
-config VPL_PCH_SUPPORT
-	bool "Support PCH drivers"
-	default y if TPL_PCH_SUPPORT
-	help
-	  Enable support for PCH (Platform Controller Hub) devices in VPL.
-	  These are used to set up GPIOs and the SPI peripheral early in
-	  boot. This enables the drivers in drivers/pch as part of a VPL
-	  build.
-
-config VPL_PCI
-	bool "Support PCI drivers"
-	default y if SPL_PCI
-	help
-	  Enable support for PCI in VPL. For platforms that need PCI to boot,
-	  or must perform some init using PCI in VPL, this provides the
-	  necessary driver support. This enables the drivers in drivers/pci
-	  as part of a VPL build.
-
-config VPL_RTC
-	bool "Support RTC drivers"
-	help
-	  Enable RTC (Real-time Clock) support in VPL. This includes support
-	  for reading and setting the time. Some RTC devices also have some
-	  non-volatile (battery-backed) memory which is accessible if
-	  needed. This enables the drivers in drivers/rtc as part of a VPL
-	  build.
-
-config VPL_SERIAL
-	bool "Support serial"
-	default y if TPL_SERIAL
-	select VPL_PRINTF
-	select VPL_STRTO
-	help
-	  Enable support for serial in VPL. See SPL_SERIAL_SUPPORT for
-	  details.
-
-config VPL_SIZE_LIMIT
-	hex "Maximum size of VPL image"
-	depends on VPL
-	default 0x0
-	help
-	  Specifies the maximum length of the U-Boot VPL image.
-	  If this value is zero, it is ignored.
-
-config VPL_SPI
-	bool "Support SPI drivers"
-	help
-	  Enable support for using SPI in VPL. See SPL_SPI_SUPPORT for
-	  details.
-
-config VPL_SPI_FLASH_SUPPORT
-	bool "Support SPI flash drivers"
-	help
-	  Enable support for using SPI flash in VPL, and loading U-Boot from
-	  SPI flash. SPI flash (Serial Peripheral Bus flash) is named after
-	  the SPI bus that is used to connect it to a system. It is a simple
-	  but fast bidirectional 4-wire bus (clock, chip select and two data
-	  lines). This enables the drivers in drivers/mtd/spi as part of a
-	  VPL build. This normally requires VPL_SPI_SUPPORT.
-
-config VPL_TEXT_BASE
-	hex "VPL Text Base"
-	default 0x0
-	help
-	  The address in memory that VPL will be running from.
-
-endif # VPL
+source "common/spl/Kconfig.vpl"
 
 config SPL_AT91_MCK_BYPASS
 	bool "Use external clock signal as a source of main clock for AT91 platforms"
diff --git a/common/spl/Kconfig.nxp b/common/spl/Kconfig.nxp
new file mode 100644
index 000000000000..8da85539afd1
--- /dev/null
+++ b/common/spl/Kconfig.nxp
@@ -0,0 +1,124 @@
+menu "PowerPC and LayerScape SPL Boot options"
+	depends on (PPC && SUPPORT_SPL && !SPL_FRAMEWORK) || \
+		   ((ARCH_LS1021A || ARCH_LS1043A || ARCH_LS1046A) && SUPPORT_SPL)
+
+config SPL_NAND_BOOT
+	bool "Load SPL from NAND flash"
+	depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK)
+
+config SPL_MMC_BOOT
+	bool "Load SPL from SD Card / eMMC"
+	depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK)
+
+config SPL_SPI_BOOT
+	bool "Load SPL from SPI flash"
+	depends on PPC && (SUPPORT_SPL && !SPL_FRAMEWORK)
+
+config SPL_FSL_PBL
+	bool "Create SPL in Freescale PBI format"
+	depends on (PPC || ARCH_LS1021A || ARCH_LS1043A || ARCH_LS1046A) && \
+		    SUPPORT_SPL
+	help
+	  Create boot binary having SPL binary in PBI format concatenated with
+	  u-boot binary.
+
+config SPL_SYS_CCSR_DO_NOT_RELOCATE
+	bool "Ensures that CCSR is not relocated"
+	depends on PPC
+	help
+	  If this is defined, then CONFIG_SYS_CCSRBAR_PHYS will be forced to a
+	  value that ensures that CCSR is not relocated.
+
+config TPL_SYS_CCSR_DO_NOT_RELOCATE
+	def_bool y
+	depends on SPL_SYS_CCSR_DO_NOT_RELOCATE
+
+menu "PowerPC SPL / TPL specific options"
+	depends on PPC && (SPL && !SPL_FRAMEWORK)
+
+config SPL_INIT_MINIMAL
+	bool "Arch init code will be built for a very small image"
+
+config SPL_FLUSH_IMAGE
+	bool "Clean dcache and invalidate icache after loading the image"
+
+config SPL_SKIP_RELOCATE
+	bool "Skip relocating SPL"
+
+config SPL_GD_ADDR
+	hex "Address to use for global data (gd) in SPL"
+	depends on !SPL_INIT_MINIMAL
+
+config SPL_RELOC_TEXT_BASE
+	hex "Address to relocate SPL to"
+	default SPL_TEXT_BASE
+	help
+	  If unspecified, this is equal to CONFIG_SPL_TEXT_BASE (i.e. no
+	  relocation is done).
+
+config SPL_RELOC_STACK
+	hex "Address of the start of the stack SPL will use after relocation."
+	help
+	  If unspecified, this is equal to CONFIG_SYS_SPL_MALLOC_START.  Starting
+	  address of the malloc pool used in SPL.  When this option is set the full
+	  malloc is used in SPL and it is set up by spl_init() and before that, the
+	  simple malloc() can be used if CONFIG_SYS_MALLOC_F is defined.
+
+config SPL_RELOC_MALLOC
+	bool "SPL has malloc pool after relocation"
+
+config SPL_RELOC_MALLOC_ADDR
+	hex "Address of malloc pool in SPL"
+	depends on SPL_RELOC_MALLOC
+
+config SPL_RELOC_MALLOC_SIZE
+	hex "Size of malloc pool in SPL"
+	depends on SPL_RELOC_MALLOC
+
+config TPL_GD_ADDR
+	hex "Address to use for global data (gd) in TPL"
+	depends on TPL
+
+config TPL_RELOC_TEXT_BASE
+	hex "Address to relocate TPL to"
+	depends on TPL
+	default TPL_TEXT_BASE
+	help
+	  If unspecified, this is equal to CONFIG_TPL_TEXT_BASE (i.e. no
+	  relocation is done).
+
+config TPL_RELOC_STACK
+	hex "Address of the start of the stack TPL will use after relocation."
+	depends on TPL
+	help
+	  If unspecified, this is equal to CONFIG_SYS_TPL_MALLOC_START.  Starting
+	  address of the malloc pool used in TPL.  When this option is set the full
+	  malloc is used in TPL and it is set up by spl_init() and before that, the
+	  simple malloc() can be used if CONFIG_SYS_MALLOC_F is defined.
+
+config TPL_RELOC_MALLOC
+	bool "TPL has malloc pool after relocation"
+	depends on TPL
+
+config TPL_RELOC_MALLOC_ADDR
+	hex "Address of malloc pool in TPL"
+	depends on TPL_RELOC_MALLOC
+
+config TPL_RELOC_MALLOC_SIZE
+	hex "Size of malloc pool in TPL"
+	depends on TPL_RELOC_MALLOC
+
+config TPL_PAD_TO
+	hex "Offset to which the TPL should be padded before appending the TPL payload"
+	depends on TPL && !TPL_FRAMEWORK
+	default TPL_MAX_SIZE
+	help
+	  Image offset to which the TPL should be padded before appending the
+	  TPL payload. By default, this is defined as CONFIG_TPL_MAX_SIZE, or 0 if
+	  CONFIG_TPL_MAX_SIZE is undefined.  CONFIG_TPL_PAD_TO must be either
+	  0, meaning to append the TPL payload without any padding, or >=
+	  CONFIG_TPL_MAX_SIZE.
+endmenu
+
+endmenu
+
diff --git a/common/spl/Kconfig.tpl b/common/spl/Kconfig.tpl
new file mode 100644
index 000000000000..9a0e719cf949
--- /dev/null
+++ b/common/spl/Kconfig.tpl
@@ -0,0 +1,322 @@
+menu "TPL configuration options"
+	depends on TPL
+
+config TPL_SIZE_LIMIT
+	hex "Maximum size of TPL image"
+	default 0x0
+	help
+	  Specifies the maximum length of the U-Boot TPL image.
+	  If this value is zero, it is ignored.
+
+config TPL_BINMAN_SYMBOLS
+	bool "Declare binman symbols in TPL"
+	depends on SPL_FRAMEWORK && BINMAN
+	default y
+	help
+	  This enables use of symbols in TPL which refer to U-Boot, enabling TPL
+	  to obtain the location of U-Boot simply by calling spl_get_image_pos()
+	  and spl_get_image_size().
+
+	  For this to work, you must have a U-Boot image in the binman image, so
+	  binman can update TPL with the location of it.
+
+config TPL_FRAMEWORK
+	bool "Support TPL based upon the common SPL framework"
+	default y if SPL_FRAMEWORK
+	help
+	  Enable the SPL framework under common/spl/ for TPL builds.
+	  This framework supports MMC, NAND and YMODEM and other methods
+	  loading of U-Boot's SPL stage. If unsure, say Y.
+
+config TPL_BANNER_PRINT
+	bool "Enable output of the TPL banner 'U-Boot TPL ...'"
+	default y
+	help
+	  If this option is enabled, TPL will print the banner with version
+	  info. Disabling this option could be useful to reduce TPL boot time
+	  (e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
+
+config TPL_HANDOFF
+	bool "Pass hand-off information from TPL to SPL and U-Boot proper"
+	depends on HANDOFF && TPL_BLOBLIST
+	default y
+	help
+	  This option enables TPL to write handoff information. This can be
+	  used to pass information like the size of SDRAM from TPL to U-Boot
+	  proper. The information is also available to SPL if it is useful
+	  there.
+
+config TPL_BOARD_INIT
+	bool "Call board-specific initialization in TPL"
+	help
+	  If this option is enabled, U-Boot will call the function
+	  spl_board_init() from board_init_r(). This function should be
+	  provided by the board.
+
+config TPL_BOOTCOUNT_LIMIT
+	bool "Support bootcount in TPL"
+	depends on TPL_ENV_SUPPORT
+	help
+	  If this option is enabled, the TPL will support bootcount.
+	  For example, it may be useful to choose the device to boot.
+
+config TPL_SYS_MALLOC_SIMPLE
+	bool
+	prompt "Only use malloc_simple functions in the TPL"
+	help
+	  Say Y here to only use the *_simple malloc functions from
+	  malloc_simple.c, rather then using the versions from dlmalloc.c;
+	  this will make the TPL binary smaller at the cost of more heap
+	  usage as the *_simple malloc functions do not re-use free-ed mem.
+
+config TPL_SEPARATE_BSS
+	bool "BSS section is in a different memory region from text"
+	default y if SPL_SEPARATE_BSS
+	help
+	  Some platforms need a large BSS region in TPL and can provide this
+	  because RAM is already set up. In this case BSS can be moved to RAM.
+	  This option should then be enabled so that the correct device tree
+	  location is used. Normally we put the device tree at the end of BSS
+	  but with this option enabled, it goes at _image_binary_end.
+
+config TPL_LDSCRIPT
+	string "Linker script for the TPL stage"
+	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
+	default "arch/\$(ARCH)/cpu/u-boot-spl.lds"
+	help
+	  The TPL stage will usually require a different linker-script
+	  (as it runs from a different memory region) than the regular
+	  U-Boot stage.  Set this to the path of the linker-script to
+	  be used for TPL.
+
+	  May be left empty to trigger the Makefile infrastructure to
+	  fall back to the linker-script used for the SPL stage.
+
+config TPL_NEEDS_SEPARATE_STACK
+	bool "TPL needs a separate initial stack-pointer"
+	help
+	  Enable, if the TPL stage should not inherit its initial
+	  stack-pointer from the settings for the SPL stage.
+
+config TPL_POWER
+	bool "Support power drivers"
+	help
+	  Enable support for power control in TPL. This includes support
+	  for PMICs (Power-management Integrated Circuits) and some of the
+	  features provided by PMICs. In particular, voltage regulators can
+	  be used to enable/disable power and vary its voltage. That can be
+	  useful in TPL to turn on boot peripherals and adjust CPU voltage
+	  so that the clock speed can be increased. This enables the drivers
+	  in drivers/power, drivers/power/pmic and drivers/power/regulator
+	  as part of an TPL build.
+
+config TPL_TEXT_BASE
+	hex "Base address for the .text section of the TPL stage"
+	default 0
+	help
+	  The base address for the .text section of the TPL stage.
+
+config TPL_MAX_SIZE
+	hex "Maximum size (in bytes) for the TPL stage"
+	default 0x2e000 if ROCKCHIP_RK3399
+	default 0x8000 if ROCKCHIP_RK3288
+	default 0x7000 if ROCKCHIP_RK322X || ROCKCHIP_RK3328 || ROCKCHIP_RK3368
+	default 0x2800 if ROCKCHIP_PX30
+	default 0x0
+	help
+	  The maximum size (in bytes) of the TPL stage.
+
+config TPL_STACK
+	hex "Address of the initial stack-pointer for the TPL stage"
+	depends on TPL_NEEDS_SEPARATE_STACK
+	help
+	  The address of the initial stack-pointer for the TPL stage.
+	  Usually this will be the (aligned) top-of-stack.
+
+config TPL_READ_ONLY
+	bool
+	depends on TPL_OF_PLATDATA
+	select TPL_OF_PLATDATA_NO_BIND
+	select TPL_OF_PLATDATA_RT
+	help
+	  Some platforms (e.g. x86 Apollo Lake) load SPL into a read-only
+	  section of memory. This means that of-platdata must make a copy (in
+	  writeable memory) of anything it wants to modify, such as
+	  device-private data.
+
+config TPL_BOOTROM_SUPPORT
+	bool "Support returning to the BOOTROM (from TPL)"
+	help
+	  Some platforms (e.g. the Rockchip RK3368) provide support in their
+	  ROM for loading the next boot-stage after performing basic setup
+	  from the TPL stage.
+
+	  Enable this option, to return to the BOOTROM through the
+	  BOOT_DEVICE_BOOTROM (or fall-through to the next boot device in the
+	  boot device list, if not implemented for a given board)
+
+config TPL_CRC32
+	bool "Support CRC32 in TPL"
+	default y if TPL_ENV_SUPPORT || TPL_BLOBLIST
+	help
+	  Enable this to support CRC32 in uImages or FIT images within SPL.
+	  This is a 32-bit checksum value that can be used to verify images.
+	  For FIT images, this is the least secure type of checksum, suitable
+	  for detected accidental image corruption. For secure applications you
+	  should consider SHA1 or SHA256.
+
+config TPL_DRIVERS_MISC
+	bool "Support misc drivers in TPL"
+	help
+	  Enable miscellaneous drivers in TPL. These drivers perform various
+	  tasks that don't fall nicely into other categories, Enable this
+	  option to build the drivers in drivers/misc as part of an TPL
+	  build, for those that support building in TPL (not all drivers do).
+
+config TPL_ENV_SUPPORT
+	bool "Support an environment"
+	help
+	  Enable environment support in TPL. See SPL_ENV_SUPPORT for details.
+
+config TPL_GPIO
+	bool "Support GPIO in TPL"
+	help
+	  Enable support for GPIOs (General-purpose Input/Output) in TPL.
+	  GPIOs allow U-Boot to read the state of an input line (high or
+	  low) and set the state of an output line. This can be used to
+	  drive LEDs, control power to various system parts and read user
+	  input. GPIOs can be useful in TPL to enable a 'sign-of-life' LED,
+	  for example. Enable this option to build the drivers in
+	  drivers/gpio as part of an TPL build.
+
+config TPL_I2C
+	bool "Support I2C"
+	help
+	  Enable support for the I2C bus in TPL. See SPL_I2C for
+	  details.
+
+config TPL_LIBCOMMON_SUPPORT
+	bool "Support common libraries"
+	help
+	  Enable support for common U-Boot libraries within TPL. See
+	  SPL_LIBCOMMON_SUPPORT for details.
+
+config TPL_LIBGENERIC_SUPPORT
+	bool "Support generic libraries"
+	help
+	  Enable support for generic U-Boot libraries within TPL. See
+	  SPL_LIBGENERIC_SUPPORT for details.
+
+config TPL_MPC8XXX_INIT_DDR
+	bool "Support MPC8XXX DDR init"
+	help
+	  Enable support for DDR-SDRAM on the MPC8XXX family within TPL. See
+	  SPL_MPC8XXX_INIT_DDR for details.
+
+config TPL_MMC
+	bool "Support MMC"
+	depends on MMC
+	help
+	  Enable support for MMC within TPL. See SPL_MMC for details.
+
+config TPL_NAND_SUPPORT
+	bool "Support NAND flash"
+	help
+	  Enable support for NAND in TPL. See SPL_NAND_SUPPORT for details.
+
+config TPL_PCI
+	bool "Support PCI drivers"
+	help
+	  Enable support for PCI in TPL. For platforms that need PCI to boot,
+	  or must perform some init using PCI in SPL, this provides the
+	  necessary driver support. This enables the drivers in drivers/pci
+	  as part of a TPL build.
+
+config TPL_PCH
+	bool "Support PCH drivers"
+	help
+	  Enable support for PCH (Platform Controller Hub) devices in TPL.
+	  These are used to set up GPIOs and the SPI peripheral early in
+	  boot. This enables the drivers in drivers/pch as part of a TPL
+	  build.
+
+config TPL_RAM_SUPPORT
+	bool "Support booting from RAM"
+	help
+	  Enable booting of an image in RAM. The image can be preloaded or
+	  it can be loaded by TPL directly into RAM (e.g. using USB).
+
+config TPL_RAM_DEVICE
+	bool "Support booting from preloaded image in RAM"
+	depends on TPL_RAM_SUPPORT
+	help
+	  Enable booting of an image already loaded in RAM. The image has to
+	  be already in memory when TPL takes over, e.g. loaded by the boot
+	  ROM.
+
+config TPL_RTC
+	bool "Support RTC drivers"
+	help
+	  Enable RTC (Real-time Clock) support in TPL. This includes support
+	  for reading and setting the time. Some RTC devices also have some
+	  non-volatile (battery-backed) memory which is accessible if
+	  needed. This enables the drivers in drivers/rtc as part of an TPL
+	  build.
+
+config TPL_SERIAL
+	bool "Support serial"
+	select TPL_PRINTF
+	select TPL_STRTO
+	help
+	  Enable support for serial in TPL. See SPL_SERIAL for
+	  details.
+
+config TPL_SPI_FLASH_SUPPORT
+	bool "Support SPI flash drivers"
+	help
+	  Enable support for using SPI flash in TPL. See SPL_SPI_FLASH_SUPPORT
+	  for details.
+
+config TPL_SPI_FLASH_TINY
+	bool "Enable low footprint TPL SPI Flash support"
+	depends on TPL_SPI_FLASH_SUPPORT && !SPI_FLASH_BAR
+	default y if SPI_FLASH
+	help
+	 Enable lightweight TPL SPI Flash support that supports just reading
+	 data/images from flash. No support to write/erase flash. Enable
+	 this if you have TPL size limitations and don't need full-fledged
+	 SPI flash support.
+
+config TPL_SPI_LOAD
+	bool "Support loading from SPI flash"
+	depends on TPL_SPI_FLASH_SUPPORT
+	help
+	  Enable support for loading next stage, U-Boot or otherwise, from
+	  SPI NOR in U-Boot TPL.
+
+config TPL_SPI
+	bool "Support SPI drivers"
+	help
+	  Enable support for using SPI in TPL. See SPL_SPI for
+	  details.
+
+config TPL_DM_SPI
+	bool "Support SPI DM drivers in TPL"
+	help
+	  Enable support for SPI DM drivers in TPL.
+
+config TPL_DM_SPI_FLASH
+	bool "Support SPI DM FLASH drivers in TPL"
+	help
+	  Enable support for SPI DM flash drivers in TPL.
+
+config TPL_YMODEM_SUPPORT
+	bool "Support loading using Ymodem"
+	depends on TPL_SERIAL
+	help
+	  While loading from serial is slow it can be a useful backup when
+	  there is no other option. The Ymodem protocol provides a reliable
+	  means of transmitting U-Boot over a serial line for using in TPL,
+	  with a checksum to ensure correctness.
+
+endmenu
diff --git a/common/spl/Kconfig.vpl b/common/spl/Kconfig.vpl
new file mode 100644
index 000000000000..ba1ea6075b94
--- /dev/null
+++ b/common/spl/Kconfig.vpl
@@ -0,0 +1,201 @@
+menu "VPL options"
+	depends on VPL
+
+config VPL_BANNER_PRINT
+	bool "Enable output of the VPL banner 'U-Boot VPL ...'"
+	default y
+	help
+	  If this option is enabled, VPL will print the banner with version
+	  info. Disabling this option could be useful to reduce VPL boot time
+	  (e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
+
+config VPL_BOARD_INIT
+	bool "Call board-specific initialization in VPL"
+	help
+	  If this option is enabled, U-Boot will call the function
+	  spl_board_init() from board_init_r(). This function should be
+	  provided by the board.
+
+config VPL_CACHE
+	depends on CACHE
+	bool "Support cache drivers in VPL"
+	help
+	  Enable support for cache drivers in VPL.
+
+config VPL_CRC32
+	bool "Support CRC32 in VPL"
+	default y if VPL_ENV_SUPPORT || VPL_BLOBLIST
+	help
+	  Enable this to support CRC32 in uImages or FIT images within VPL.
+	  This is a 32-bit checksum value that can be used to verify images.
+	  For FIT images, this is the least secure type of checksum, suitable
+	  for detected accidental image corruption. For secure applications you
+	  should consider SHA1 or SHA256.
+
+config VPL_DM_SPI
+	bool "Support SPI DM drivers in VPL"
+	help
+	  Enable support for SPI DM drivers in VPL.
+
+config VPL_DM_SPI_FLASH
+	bool "Support SPI DM FLASH drivers in VPL"
+	help
+	  Enable support for SPI DM flash drivers in VPL.
+
+config VPL_FRAMEWORK
+	bool "Support VPL based upon the common SPL framework"
+	default y
+	help
+	  Enable the SPL framework under common/spl/ for VPL builds.
+	  This framework supports MMC, NAND and YMODEM and other methods
+	  loading of U-Boot's next stage. If unsure, say Y.
+
+config VPL_HANDOFF
+	bool "Pass hand-off information from VPL to SPL"
+	depends on HANDOFF && VPL_BLOBLIST
+	default y
+	help
+	  This option enables VPL to write handoff information. This can be
+	  used to pass information like the size of SDRAM from VPL to SPL. Also
+	  VPL can receive information from TPL in the same place if that is
+	  enabled.
+
+config VPL_LIBCOMMON_SUPPORT
+	bool "Support common libraries"
+	default y if SPL_LIBCOMMON_SUPPORT
+	help
+	  Enable support for common U-Boot libraries within VPL. See
+	  SPL_LIBCOMMON_SUPPORT for details.
+
+config VPL_LIBGENERIC_SUPPORT
+	bool "Support generic libraries"
+	default y if SPL_LIBGENERIC_SUPPORT
+	help
+	  Enable support for generic U-Boot libraries within VPL. These
+	  libraries include generic code to deal with device tree, hashing,
+	  printf(), compression and the like. This option is enabled on many
+	  boards. Enable this option to build the code in lib/ as part of a
+	  VPL build.
+
+config VPL_DRIVERS_MISC
+	bool "Support misc drivers"
+	default y if TPL_DRIVERS_MISC
+	help
+	  Enable miscellaneous drivers in VPL. These drivers perform various
+	  tasks that don't fall nicely into other categories, Enable this
+	  option to build the drivers in drivers/misc as part of a VPL
+	  build, for those that support building in VPL (not all drivers do).
+
+config VPL_ENV_SUPPORT
+	bool "Support an environment"
+	help
+	  Enable environment support in VPL. The U-Boot environment provides
+	  a number of settings (essentially name/value pairs) which can
+	  control many aspects of U-Boot's operation. Enabling this option will
+	  make env_get() and env_set() available in VSPL.
+
+config VPL_GPIO
+	bool "Support GPIO in VPL"
+	default y if SPL_GPIO
+	help
+	  Enable support for GPIOs (General-purpose Input/Output) in VPL.
+	  GPIOs allow U-Boot to read the state of an input line (high or
+	  low) and set the state of an output line. This can be used to
+	  drive LEDs, control power to various system parts and read user
+	  input. GPIOs can be useful in VPL to enable a 'sign-of-life' LED,
+	  for example. Enable this option to build the drivers in
+	  drivers/gpio as part of a VPL build.
+
+config VPL_HANDOFF
+	bool "Pass hand-off information from VPL to SPL and U-Boot proper"
+	depends on HANDOFF && VPL_BLOBLIST
+	default y
+	help
+	  This option enables VPL to write handoff information. This can be
+	  used to pass information like the size of SDRAM from VPL to U-Boot
+	  proper. The information is also available to VPL if it is useful
+	  there.
+
+config VPL_HASH
+	bool "Support hashing drivers in VPL"
+	select SHA1
+	select SHA256
+	help
+	  Enable hashing drivers in VPL. These drivers can be used to
+	  accelerate secure boot processing in secure applications. Enable
+	  this option to build system-specific drivers for hash acceleration
+	  as part of a VPL build.
+
+config VPL_I2C_SUPPORT
+	bool "Support I2C in VPL"
+	default y if SPL_I2C_SUPPORT
+	help
+	  Enable support for the I2C bus in VPL. Vee SPL_I2C_SUPPORT for
+	  details.
+
+config VPL_PCH_SUPPORT
+	bool "Support PCH drivers"
+	default y if TPL_PCH_SUPPORT
+	help
+	  Enable support for PCH (Platform Controller Hub) devices in VPL.
+	  These are used to set up GPIOs and the SPI peripheral early in
+	  boot. This enables the drivers in drivers/pch as part of a VPL
+	  build.
+
+config VPL_PCI
+	bool "Support PCI drivers"
+	default y if SPL_PCI
+	help
+	  Enable support for PCI in VPL. For platforms that need PCI to boot,
+	  or must perform some init using PCI in VPL, this provides the
+	  necessary driver support. This enables the drivers in drivers/pci
+	  as part of a VPL build.
+
+config VPL_RTC
+	bool "Support RTC drivers"
+	help
+	  Enable RTC (Real-time Clock) support in VPL. This includes support
+	  for reading and setting the time. Some RTC devices also have some
+	  non-volatile (battery-backed) memory which is accessible if
+	  needed. This enables the drivers in drivers/rtc as part of a VPL
+	  build.
+
+config VPL_SERIAL
+	bool "Support serial"
+	default y if TPL_SERIAL
+	select VPL_PRINTF
+	select VPL_STRTO
+	help
+	  Enable support for serial in VPL. See SPL_SERIAL_SUPPORT for
+	  details.
+
+config VPL_SIZE_LIMIT
+	hex "Maximum size of VPL image"
+	default 0x0
+	help
+	  Specifies the maximum length of the U-Boot VPL image.
+	  If this value is zero, it is ignored.
+
+config VPL_SPI
+	bool "Support SPI drivers"
+	help
+	  Enable support for using SPI in VPL. See SPL_SPI_SUPPORT for
+	  details.
+
+config VPL_SPI_FLASH_SUPPORT
+	bool "Support SPI flash drivers"
+	help
+	  Enable support for using SPI flash in VPL, and loading U-Boot from
+	  SPI flash. SPI flash (Serial Peripheral Bus flash) is named after
+	  the SPI bus that is used to connect it to a system. It is a simple
+	  but fast bidirectional 4-wire bus (clock, chip select and two data
+	  lines). This enables the drivers in drivers/mtd/spi as part of a
+	  VPL build. This normally requires VPL_SPI_SUPPORT.
+
+config VPL_TEXT_BASE
+	hex "VPL Text Base"
+	default 0x0
+	help
+	  The address in memory that VPL will be running from.
+
+endmenu
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] spl: Rework Kconfig to be more menu driven
  2022-05-31 16:17 [0/3] spl: Start cleaning up common/spl/Kconfig Tom Rini
  2022-05-31 16:17 ` [PATCH 1/3] spl: Move all VPL, TPL and PowerPC specific CONFIG options to separate files Tom Rini
@ 2022-05-31 16:17 ` Tom Rini
  2022-06-06 21:37   ` Tom Rini
  2022-05-31 16:17 ` [PATCH 3/3] spl: Rework and tighten some dependencies Tom Rini
  2 siblings, 1 reply; 7+ messages in thread
From: Tom Rini @ 2022-05-31 16:17 UTC (permalink / raw)
  To: u-boot

Make it so that all of SPL, TPL and VPL are proper menus hidden behind a
gating question.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 common/spl/Kconfig | 54 +++++++++++++++++++---------------------------
 1 file changed, 22 insertions(+), 32 deletions(-)

diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 25078432a7ed..9952a9b94c18 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -1,5 +1,3 @@
-menu "SPL / TPL / VPL"
-
 config SUPPORT_SPL
 	bool
 
@@ -13,15 +11,16 @@ config SPL_DFU_NO_RESET
 	bool
 
 config SPL
-	bool
+	bool "Enable SPL"
 	depends on SUPPORT_SPL
-	prompt "Enable SPL"
 	help
 	  If you want to build SPL as well as the normal image, say Y.
 
+menu "SPL configuration options"
+	depends on SPL
+
 config SPL_FRAMEWORK
 	bool "Support SPL based upon the common SPL framework"
-	depends on SPL
 	default y
 	help
 	  Enable the SPL framework under common/spl/.  This framework
@@ -39,7 +38,6 @@ config SPL_FRAMEWORK_BOARD_INIT_F
 
 config SPL_SIZE_LIMIT
 	hex "Maximum size of SPL image"
-	depends on SPL
 	default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
 	default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
 	default 0x0
@@ -122,7 +120,7 @@ config SPL_BSS_START_ADDR
 
 choice
 	prompt "Enforce SPL BSS limit"
-	depends on SPL && !PPC
+	depends on !PPC
 	default SPL_BSS_LIMIT
 	help
 	  In some platforms we only want to enforce a limit on the size of the
@@ -203,7 +201,7 @@ source "common/spl/Kconfig.nxp"
 
 config HANDOFF
 	bool "Pass hand-off information from SPL to U-Boot proper"
-	depends on SPL && BLOBLIST
+	depends on BLOBLIST
 	help
 	  It is useful to be able to pass information from SPL to U-Boot
 	  proper to preserve state that is known in SPL and is needed in U-Boot.
@@ -211,8 +209,6 @@ config HANDOFF
 	  in boot. It is available in gd->handoff. The state state is set up
 	  in SPL (or TPL if that is being used).
 
-if SPL
-
 config SPL_HANDOFF
 	bool "Pass hand-off information from SPL to U-Boot proper"
 	depends on HANDOFF && SPL_BLOBLIST
@@ -300,8 +296,7 @@ config SPL_LEGACY_IMAGE_CRC_CHECK
 	  are correct, without further integrity checks.
 
 config SPL_SYS_MALLOC_SIMPLE
-	bool
-	prompt "Only use malloc_simple functions in the SPL"
+	bool "Only use malloc_simple functions in the SPL"
 	help
 	  Say Y here to only use the *_simple malloc functions from
 	  malloc_simple.c, rather then using the versions from dlmalloc.c;
@@ -1020,7 +1015,6 @@ config SPL_NOR_SUPPORT
 
 config SPL_XIP_SUPPORT
 	bool "Support XIP"
-	depends on SPL
 	help
 	  Enable support for execute in place of U-Boot or kernel image. There
 	  is no need to copy image from flash to ram if flash supports execute
@@ -1131,7 +1125,6 @@ config SPL_POST_MEM_SUPPORT
 
 config SPL_DM_RESET
 	bool "Support reset drivers"
-	depends on SPL
 	help
 	  Enable support for reset control in SPL.
 	  That can be useful in SPL to handle IP reset in driver, as in U-Boot,
@@ -1472,35 +1465,32 @@ config SPL_TARGET
 	  On some platforms we need to have 'make' run additional build target
 	  rules. If required on your platform, enter it here, otherwise leave blank.
 
+
+config SPL_AT91_MCK_BYPASS
+	bool "Use external clock signal as a source of main clock for AT91 platforms"
+	depends on ARCH_AT91
+	help
+	  Use external 8 to 24 Mhz clock signal as source of main clock instead
+	  of an external crystal oscillator.
+	  This option disables the internal driving on the XOUT pin.
+	  The external source has to provide a stable clock on the XIN pin.
+	  If this option is disabled, the SoC expects a crystal oscillator
+	  that needs driving on both XIN and XOUT lines.
+endmenu
+
 config TPL
-	bool
 	depends on SUPPORT_TPL
-	prompt "Enable TPL"
+	bool "Enable TPL"
 	help
 	  If you want to build TPL as well as the normal image and SPL, say Y.
 
 source "common/spl/Kconfig.tpl"
 
 config VPL
-	bool
 	depends on SUPPORT_SPL
-	prompt "Enable VPL"
+	bool "Enable VPL"
 	help
 	  If you want to build VPL as well as the normal image, TPL and SPL,
 	  say Y.
 
 source "common/spl/Kconfig.vpl"
-
-config SPL_AT91_MCK_BYPASS
-	bool "Use external clock signal as a source of main clock for AT91 platforms"
-	depends on ARCH_AT91
-	help
-	  Use external 8 to 24 Mhz clock signal as source of main clock instead
-	  of an external crystal oscillator.
-	  This option disables the internal driving on the XOUT pin.
-	  The external source has to provide a stable clock on the XIN pin.
-	  If this option is disabled, the SoC expects a crystal oscillator
-	  that needs driving on both XIN and XOUT lines.
-
-endif # SPL
-endmenu
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] spl: Rework and tighten some dependencies
  2022-05-31 16:17 [0/3] spl: Start cleaning up common/spl/Kconfig Tom Rini
  2022-05-31 16:17 ` [PATCH 1/3] spl: Move all VPL, TPL and PowerPC specific CONFIG options to separate files Tom Rini
  2022-05-31 16:17 ` [PATCH 2/3] spl: Rework Kconfig to be more menu driven Tom Rini
@ 2022-05-31 16:17 ` Tom Rini
  2022-06-06 21:37   ` Tom Rini
  2 siblings, 1 reply; 7+ messages in thread
From: Tom Rini @ 2022-05-31 16:17 UTC (permalink / raw)
  To: u-boot

- In a few places, add missing "depends on" that can be implied from the
  option name (i.e. SPL_DM_xxx depends on SPL_DM).
- Make less use of "if SPL_xxx ... endif" clauses as most of the time
  this reads better as depends on.  In the case of UBI however, move it
  all to a sub-menu.
- Rework SPL_NO_CPU_SUPPORT as it's very specific to the
  non-SPL_FRAMEWORK implementation used on those platforms, and a
  tangent to how CONFIG_SPL_START_S_PATH was used.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 common/spl/Kconfig | 55 ++++++++++++++++++++--------------------------
 1 file changed, 24 insertions(+), 31 deletions(-)

diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 9952a9b94c18..2ad2351c6eb3 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -750,6 +750,7 @@ config SPL_LIBGENERIC_SUPPORT
 
 config SPL_DM_MAILBOX
 	bool "Support Mailbox"
+	depends on SPL_DM
 	help
 	  Enable support for Mailbox within SPL. This enable the inter
 	  processor communication protocols tobe used within SPL. Enable
@@ -874,19 +875,9 @@ config SPL_UBI
 	  Enable support for loading payloads from UBI. See
 	  README.ubispl for more info.
 
-if SPL_DM
-config SPL_DM_SPI
-	bool "Support SPI DM drivers in SPL"
-	help
-	  Enable support for SPI DM drivers in SPL.
-
-config SPL_DM_SPI_FLASH
-	bool "Support SPI DM FLASH drivers in SPL"
-	help
-	  Enable support for SPI DM flash drivers in SPL.
+menu "UBI configuration for SPL"
+	depends on SPL_UBI
 
-endif
-if SPL_UBI
 config SPL_UBI_LOAD_BY_VOLNAME
 	bool "Support loading volumes by name"
 	help
@@ -896,58 +887,49 @@ config SPL_UBI_LOAD_BY_VOLNAME
 
 config SPL_UBI_MAX_VOL_LEBS
 	int "Maximum number of LEBs per volume"
-	depends on SPL_UBI
 	help
 	  The maximum number of logical eraseblocks which a static volume
 	  to load can contain. Used for sizing the scan data structure.
 
 config SPL_UBI_MAX_PEB_SIZE
 	int "Maximum PEB size"
-	depends on SPL_UBI
 	help
 	  The maximum physical erase block size.
 
 config SPL_UBI_MAX_PEBS
 	int "Maximum number of PEBs"
-	depends on SPL_UBI
 	help
 	  The maximum physical erase block size. If not overridden by
 	  board code, this value will be used as the actual number of PEBs.
 
 config SPL_UBI_PEB_OFFSET
 	int "Offset to first UBI PEB"
-	depends on SPL_UBI
 	help
 	  The offset in number of PEBs from the start of flash to the first
 	  PEB part of the UBI image.
 
 config SPL_UBI_VID_OFFSET
 	int "Offset to VID header"
-	depends on SPL_UBI
 
 config SPL_UBI_LEB_START
 	int "Offset to LEB in PEB"
-	depends on SPL_UBI
 	help
 	  The offset in bytes to the LEB within a PEB.
 
 config SPL_UBI_INFO_ADDR
 	hex "Address to place UBI scan info"
-	depends on SPL_UBI
 	help
 	  Address for ubispl to place the scan info. Read README.ubispl to
 	  determine the required size
 
 config SPL_UBI_VOL_IDS
 	int "Maximum volume id"
-	depends on SPL_UBI
 	help
 	  The maximum volume id which can be loaded. Used for sizing the
 	  scan data structure.
 
 config SPL_UBI_LOAD_MONITOR_ID
 	int "id of U-Boot volume"
-	depends on SPL_UBI
 	help
 	  The UBI volume id from which to load U-Boot
 
@@ -959,13 +941,13 @@ config SPL_UBI_LOAD_MONITOR_VOLNAME
 
 config SPL_UBI_LOAD_KERNEL_ID
 	int "id of kernel volume"
-	depends on SPL_OS_BOOT && SPL_UBI
+	depends on SPL_OS_BOOT
 	help
 	  The UBI volume id from which to load the kernel
 
 config SPL_UBI_LOAD_ARGS_ID
 	int "id of kernel args volume"
-	depends on SPL_OS_BOOT && SPL_UBI
+	depends on SPL_OS_BOOT
 	help
 	  The UBI volume id from which to load the device tree
 
@@ -975,7 +957,19 @@ config UBI_SPL_SILENCE_MSG
 	  Disable messages from UBI SPL. This leaves warnings
 	  and errors enabled.
 
-endif   # if SPL_UBI
+endmenu
+
+config SPL_DM_SPI
+	bool "Support SPI DM drivers in SPL"
+	depends on SPL_DM
+	help
+	  Enable support for SPI DM drivers in SPL.
+
+config SPL_DM_SPI_FLASH
+	bool "Support SPI DM FLASH drivers in SPL"
+	depends on SPL_DM
+	help
+	  Enable support for SPI DM flash drivers in SPL.
 
 config SPL_NET
 	bool "Support networking"
@@ -986,19 +980,19 @@ config SPL_NET
 	  the network stack uses a number of environment variables. See also
 	  SPL_ETH.
 
-if SPL_NET
 config SPL_NET_VCI_STRING
 	string "BOOTP Vendor Class Identifier string sent by SPL"
+	depends on SPL_NET
 	help
 	  As defined by RFC 2132 the vendor class identifier field can be
 	  sent by the client to identify the vendor type and configuration
 	  of a client.  This is often used in practice to allow for the DHCP
 	  server to specify different files to load depending on if the ROM,
 	  SPL or U-Boot itself makes the request
-endif   # if SPL_NET
 
 config SPL_NO_CPU_SUPPORT
-	bool "Drop CPU code in SPL"
+	def_bool y
+	depends on (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
 	help
 	  This is specific to the ARM926EJ-S CPU. It disables the standard
 	  start.S start-up code, presumably so that a replacement can be
@@ -1048,16 +1042,13 @@ config SYS_NAND_SPL_KERNEL_OFFS
 	hex "Address in memory to load the OS file for Falcon mode to"
 	depends on SPL_OS_BOOT && SPL_NAND_SUPPORT
 
-if SPL_OS_BOOT
 config SYS_OS_BASE
 	hex "addr, where OS is found"
-	depends on SPL_NOR_SUPPORT
+	depends on SPL_OS_BOOT && SPL_NOR_SUPPORT
 	help
 	  Specify the address, where the OS image is found, which
 	  gets booted.
 
-endif # SPL_OS_BOOT
-
 config SPL_FALCON_BOOT_MMCSD
 	bool "Enable Falcon boot from MMC or SD media"
 	depends on SPL_OS_BOOT && SPL_MMC
@@ -1125,6 +1116,7 @@ config SPL_POST_MEM_SUPPORT
 
 config SPL_DM_RESET
 	bool "Support reset drivers"
+	depends on SPL_DM
 	help
 	  Enable support for reset control in SPL.
 	  That can be useful in SPL to handle IP reset in driver, as in U-Boot,
@@ -1427,6 +1419,7 @@ config SPL_ATF_NO_PLATFORM_PARAM
 
 config SPL_AM33XX_ENABLE_RTC32K_OSC
 	bool "Enable the RTC32K OSC on AM33xx based platforms"
+	depends on AM33XX
 	default y if AM33XX
 	help
 	  Enable access to the AM33xx RTC and select the external 32kHz clock
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] spl: Move all VPL, TPL and PowerPC specific CONFIG options to separate files
  2022-05-31 16:17 ` [PATCH 1/3] spl: Move all VPL, TPL and PowerPC specific CONFIG options to separate files Tom Rini
@ 2022-06-06 21:37   ` Tom Rini
  0 siblings, 0 replies; 7+ messages in thread
From: Tom Rini @ 2022-06-06 21:37 UTC (permalink / raw)
  To: u-boot

[-- Attachment #1: Type: text/plain, Size: 455 bytes --]

On Tue, May 31, 2022 at 12:17:03PM -0400, Tom Rini wrote:

> - Move all PowerPC (and some shared with Layerscape) options to
>   common/spl/Kconfig.nxp
> - Move all other TPL related options to common/spl/Kconfig.tpl
> - Move all VPL related options to common/spl/Kconfig.vpl
> 
> This makes the whole of common/spl/Kconfig slightly more readable.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/next, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] spl: Rework Kconfig to be more menu driven
  2022-05-31 16:17 ` [PATCH 2/3] spl: Rework Kconfig to be more menu driven Tom Rini
@ 2022-06-06 21:37   ` Tom Rini
  0 siblings, 0 replies; 7+ messages in thread
From: Tom Rini @ 2022-06-06 21:37 UTC (permalink / raw)
  To: u-boot

[-- Attachment #1: Type: text/plain, Size: 256 bytes --]

On Tue, May 31, 2022 at 12:17:04PM -0400, Tom Rini wrote:

> Make it so that all of SPL, TPL and VPL are proper menus hidden behind a
> gating question.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/next, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] spl: Rework and tighten some dependencies
  2022-05-31 16:17 ` [PATCH 3/3] spl: Rework and tighten some dependencies Tom Rini
@ 2022-06-06 21:37   ` Tom Rini
  0 siblings, 0 replies; 7+ messages in thread
From: Tom Rini @ 2022-06-06 21:37 UTC (permalink / raw)
  To: u-boot

[-- Attachment #1: Type: text/plain, Size: 645 bytes --]

On Tue, May 31, 2022 at 12:17:05PM -0400, Tom Rini wrote:

> - In a few places, add missing "depends on" that can be implied from the
>   option name (i.e. SPL_DM_xxx depends on SPL_DM).
> - Make less use of "if SPL_xxx ... endif" clauses as most of the time
>   this reads better as depends on.  In the case of UBI however, move it
>   all to a sub-menu.
> - Rework SPL_NO_CPU_SUPPORT as it's very specific to the
>   non-SPL_FRAMEWORK implementation used on those platforms, and a
>   tangent to how CONFIG_SPL_START_S_PATH was used.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/next, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-06-06 21:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-31 16:17 [0/3] spl: Start cleaning up common/spl/Kconfig Tom Rini
2022-05-31 16:17 ` [PATCH 1/3] spl: Move all VPL, TPL and PowerPC specific CONFIG options to separate files Tom Rini
2022-06-06 21:37   ` Tom Rini
2022-05-31 16:17 ` [PATCH 2/3] spl: Rework Kconfig to be more menu driven Tom Rini
2022-06-06 21:37   ` Tom Rini
2022-05-31 16:17 ` [PATCH 3/3] spl: Rework and tighten some dependencies Tom Rini
2022-06-06 21:37   ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.