[U-Boot] [PATCH 1/2] Move all command code into its own directory

Heiko Schocher hs at denx.de
Mon Jan 18 06:38:03 CET 2016


Hello Simon,

Am 18.01.2016 um 04:53 schrieb Simon Glass:
> There are a lot of unrelated files in common, including all of the commands.
> Moving them into their own directory makes them easier to find and is more
> logical.
>
> Some commands include non-command code, such as cmd_scsi.c. This should be
> sorted out at some point so that the function can be enabled with or without
> the associated command.
>
> Unfortunately, with m68k I get this error:
>
> m68k:  +   M5329AFEE
> +arch/m68k/cpu/mcf532x/start.o: In function `_start':
> +arch/m68k/cpu/mcf532x/start.S:159:(.text+0x452): relocation truncated to fit: R_68K_PC16 against symbol `board_init_f' defined in .text.board_init_f section in common/built-in.o
>
> I hope someone can shed some light on what this means. I hope it isn't
> depending on the position of code in the image.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---

Thanks!

Reviewed-by: Heiko Schocher <hs at denx.de>

bye,
Heiko
>
>   Kconfig                                 |   2 +
>   Makefile                                |   1 +
>   cmd/Kconfig                             | 585 +++++++++++++++++++++++++++++++
>   cmd/Makefile                            | 166 +++++++++
>   {common => cmd}/cmd_aes.c               |   0
>   {common => cmd}/cmd_ambapp.c            |   0
>   {common => cmd}/cmd_armflash.c          |   0
>   {common => cmd}/cmd_bdinfo.c            |   0
>   {common => cmd}/cmd_bedbug.c            |   0
>   {common => cmd}/cmd_blob.c              |   0
>   {common => cmd}/cmd_bmp.c               |   0
>   {common => cmd}/cmd_boot.c              |   0
>   {common => cmd}/cmd_bootldr.c           |   0
>   {common => cmd}/cmd_bootm.c             |   0
>   {common => cmd}/cmd_bootmenu.c          |   0
>   {common => cmd}/cmd_bootstage.c         |   0
>   {common => cmd}/cmd_cache.c             |   0
>   {common => cmd}/cmd_cbfs.c              |   0
>   {common => cmd}/cmd_clk.c               |   0
>   {common => cmd}/cmd_console.c           |   0
>   {common => cmd}/cmd_cplbinfo.c          |   0
>   {common => cmd}/cmd_cpu.c               |   0
>   {common => cmd}/cmd_cramfs.c            |   0
>   {common => cmd}/cmd_dataflash_mmc_mux.c |   0
>   {common => cmd}/cmd_date.c              |   0
>   {common => cmd}/cmd_dcr.c               |   0
>   {common => cmd}/cmd_demo.c              |   0
>   {common => cmd}/cmd_dfu.c               |   0
>   {common => cmd}/cmd_diag.c              |   0
>   {common => cmd}/cmd_disk.c              |   0
>   {common => cmd}/cmd_display.c           |   0
>   {common => cmd}/cmd_dtt.c               |   0
>   {common => cmd}/cmd_echo.c              |   0
>   {common => cmd}/cmd_eeprom.c            |   0
>   {common => cmd}/cmd_efi.c               |   0
>   {common => cmd}/cmd_elf.c               |   0
>   {common => cmd}/cmd_ethsw.c             |   0
>   {common => cmd}/cmd_exit.c              |   0
>   {common => cmd}/cmd_ext2.c              |   0
>   {common => cmd}/cmd_ext4.c              |   0
>   {common => cmd}/cmd_fastboot.c          |   0
>   {common => cmd}/cmd_fat.c               |   0
>   {common => cmd}/cmd_fdc.c               |   0
>   {common => cmd}/cmd_fdt.c               |   0
>   {common => cmd}/cmd_fitupd.c            |   0
>   {common => cmd}/cmd_flash.c             |   0
>   {common => cmd}/cmd_fpga.c              |   0
>   {common => cmd}/cmd_fpgad.c             |   0
>   {common => cmd}/cmd_fs.c                |   0
>   {common => cmd}/cmd_fs_uuid.c           |   0
>   {common => cmd}/cmd_fuse.c              |   0
>   {common => cmd}/cmd_gettime.c           |   0
>   {common => cmd}/cmd_gpio.c              |   0
>   {common => cmd}/cmd_gpt.c               |   0
>   {common => cmd}/cmd_hash.c              |   0
>   {common => cmd}/cmd_help.c              |   0
>   {common => cmd}/cmd_host.c              |   0
>   {common => cmd}/cmd_i2c.c               |   0
>   {common => cmd}/cmd_ide.c               |   0
>   {common => cmd}/cmd_immap.c             |   0
>   {common => cmd}/cmd_ini.c               |   0
>   {common => cmd}/cmd_io.c                |   0
>   {common => cmd}/cmd_iotrace.c           |   0
>   {common => cmd}/cmd_irq.c               |   0
>   {common => cmd}/cmd_itest.c             |   0
>   {common => cmd}/cmd_jffs2.c             |   0
>   {common => cmd}/cmd_ldrinfo.c           |   0
>   {common => cmd}/cmd_led.c               |   0
>   {common => cmd}/cmd_license.c           |   0
>   {common => cmd}/cmd_load.c              |   0
>   {common => cmd}/cmd_log.c               |   0
>   {common => cmd}/cmd_lzmadec.c           |   0
>   {common => cmd}/cmd_mac.c               |   0
>   {common => cmd}/cmd_md5sum.c            |   0
>   {common => cmd}/cmd_mdio.c              |   0
>   {common => cmd}/cmd_mem.c               |   0
>   {common => cmd}/cmd_mfsl.c              |   0
>   {common => cmd}/cmd_mii.c               |   0
>   {common => cmd}/cmd_misc.c              |   0
>   {common => cmd}/cmd_mmc.c               |   0
>   {common => cmd}/cmd_mmc_spi.c           |   0
>   {common => cmd}/cmd_mp.c                |   0
>   {common => cmd}/cmd_mtdparts.c          |   0
>   {common => cmd}/cmd_nand.c              |   0
>   {common => cmd}/cmd_net.c               |   0
>   {common => cmd}/cmd_nvedit.c            |   0
>   {common => cmd}/cmd_onenand.c           |   0
>   {common => cmd}/cmd_otp.c               |   0
>   {common => cmd}/cmd_part.c              |   0
>   {common => cmd}/cmd_pci.c               |   0
>   {common => cmd}/cmd_pcmcia.c            |   0
>   {common => cmd}/cmd_pmic.c              |   0
>   {common => cmd}/cmd_portio.c            |   0
>   {common => cmd}/cmd_pxe.c               |   0
>   {common => cmd}/cmd_read.c              |   0
>   {common => cmd}/cmd_reginfo.c           |   0
>   {common => cmd}/cmd_regulator.c         |   0
>   {common => cmd}/cmd_reiser.c            |   0
>   {common => cmd}/cmd_remoteproc.c        |   0
>   {common => cmd}/cmd_sata.c              |   0
>   {common => cmd}/cmd_scsi.c              |   0
>   {common => cmd}/cmd_setexpr.c           |   0
>   {common => cmd}/cmd_sf.c                |   0
>   {common => cmd}/cmd_sha1sum.c           |   0
>   {common => cmd}/cmd_softswitch.c        |   0
>   {common => cmd}/cmd_sound.c             |   0
>   {common => cmd}/cmd_source.c            |   0
>   {common => cmd}/cmd_spi.c               |   0
>   {common => cmd}/cmd_spibootldr.c        |   0
>   {common => cmd}/cmd_spl.c               |   0
>   {common => cmd}/cmd_strings.c           |   0
>   {common => cmd}/cmd_terminal.c          |   0
>   {common => cmd}/cmd_test.c              |   0
>   {common => cmd}/cmd_thordown.c          |   0
>   {common => cmd}/cmd_time.c              |   0
>   {common => cmd}/cmd_tpm.c               |   0
>   {common => cmd}/cmd_tpm_test.c          |   0
>   {common => cmd}/cmd_trace.c             |   0
>   {common => cmd}/cmd_tsi148.c            |   0
>   {common => cmd}/cmd_ubi.c               |   0
>   {common => cmd}/cmd_ubifs.c             |   0
>   {common => cmd}/cmd_universe.c          |   0
>   {common => cmd}/cmd_unzip.c             |   0
>   {common => cmd}/cmd_usb.c               |   0
>   {common => cmd}/cmd_usb_mass_storage.c  |   0
>   {common => cmd}/cmd_version.c           |   0
>   {common => cmd}/cmd_ximg.c              |   0
>   {common => cmd}/cmd_yaffs2.c            |   0
>   {common => cmd}/cmd_zfs.c               |   0
>   {common => cmd}/cmd_zip.c               |   0
>   common/Kconfig                          | 586 --------------------------------
>   common/Makefile                         | 156 +--------
>   scripts/Makefile.spl                    |   2 +-
>   133 files changed, 761 insertions(+), 737 deletions(-)
>   create mode 100644 cmd/Kconfig
>   create mode 100644 cmd/Makefile
>   rename {common => cmd}/cmd_aes.c (100%)
>   rename {common => cmd}/cmd_ambapp.c (100%)
>   rename {common => cmd}/cmd_armflash.c (100%)
>   rename {common => cmd}/cmd_bdinfo.c (100%)
>   rename {common => cmd}/cmd_bedbug.c (100%)
>   rename {common => cmd}/cmd_blob.c (100%)
>   rename {common => cmd}/cmd_bmp.c (100%)
>   rename {common => cmd}/cmd_boot.c (100%)
>   rename {common => cmd}/cmd_bootldr.c (100%)
>   rename {common => cmd}/cmd_bootm.c (100%)
>   rename {common => cmd}/cmd_bootmenu.c (100%)
>   rename {common => cmd}/cmd_bootstage.c (100%)
>   rename {common => cmd}/cmd_cache.c (100%)
>   rename {common => cmd}/cmd_cbfs.c (100%)
>   rename {common => cmd}/cmd_clk.c (100%)
>   rename {common => cmd}/cmd_console.c (100%)
>   rename {common => cmd}/cmd_cplbinfo.c (100%)
>   rename {common => cmd}/cmd_cpu.c (100%)
>   rename {common => cmd}/cmd_cramfs.c (100%)
>   rename {common => cmd}/cmd_dataflash_mmc_mux.c (100%)
>   rename {common => cmd}/cmd_date.c (100%)
>   rename {common => cmd}/cmd_dcr.c (100%)
>   rename {common => cmd}/cmd_demo.c (100%)
>   rename {common => cmd}/cmd_dfu.c (100%)
>   rename {common => cmd}/cmd_diag.c (100%)
>   rename {common => cmd}/cmd_disk.c (100%)
>   rename {common => cmd}/cmd_display.c (100%)
>   rename {common => cmd}/cmd_dtt.c (100%)
>   rename {common => cmd}/cmd_echo.c (100%)
>   rename {common => cmd}/cmd_eeprom.c (100%)
>   rename {common => cmd}/cmd_efi.c (100%)
>   rename {common => cmd}/cmd_elf.c (100%)
>   rename {common => cmd}/cmd_ethsw.c (100%)
>   rename {common => cmd}/cmd_exit.c (100%)
>   rename {common => cmd}/cmd_ext2.c (100%)
>   rename {common => cmd}/cmd_ext4.c (100%)
>   rename {common => cmd}/cmd_fastboot.c (100%)
>   rename {common => cmd}/cmd_fat.c (100%)
>   rename {common => cmd}/cmd_fdc.c (100%)
>   rename {common => cmd}/cmd_fdt.c (100%)
>   rename {common => cmd}/cmd_fitupd.c (100%)
>   rename {common => cmd}/cmd_flash.c (100%)
>   rename {common => cmd}/cmd_fpga.c (100%)
>   rename {common => cmd}/cmd_fpgad.c (100%)
>   rename {common => cmd}/cmd_fs.c (100%)
>   rename {common => cmd}/cmd_fs_uuid.c (100%)
>   rename {common => cmd}/cmd_fuse.c (100%)
>   rename {common => cmd}/cmd_gettime.c (100%)
>   rename {common => cmd}/cmd_gpio.c (100%)
>   rename {common => cmd}/cmd_gpt.c (100%)
>   rename {common => cmd}/cmd_hash.c (100%)
>   rename {common => cmd}/cmd_help.c (100%)
>   rename {common => cmd}/cmd_host.c (100%)
>   rename {common => cmd}/cmd_i2c.c (100%)
>   rename {common => cmd}/cmd_ide.c (100%)
>   rename {common => cmd}/cmd_immap.c (100%)
>   rename {common => cmd}/cmd_ini.c (100%)
>   rename {common => cmd}/cmd_io.c (100%)
>   rename {common => cmd}/cmd_iotrace.c (100%)
>   rename {common => cmd}/cmd_irq.c (100%)
>   rename {common => cmd}/cmd_itest.c (100%)
>   rename {common => cmd}/cmd_jffs2.c (100%)
>   rename {common => cmd}/cmd_ldrinfo.c (100%)
>   rename {common => cmd}/cmd_led.c (100%)
>   rename {common => cmd}/cmd_license.c (100%)
>   rename {common => cmd}/cmd_load.c (100%)
>   rename {common => cmd}/cmd_log.c (100%)
>   rename {common => cmd}/cmd_lzmadec.c (100%)
>   rename {common => cmd}/cmd_mac.c (100%)
>   rename {common => cmd}/cmd_md5sum.c (100%)
>   rename {common => cmd}/cmd_mdio.c (100%)
>   rename {common => cmd}/cmd_mem.c (100%)
>   rename {common => cmd}/cmd_mfsl.c (100%)
>   rename {common => cmd}/cmd_mii.c (100%)
>   rename {common => cmd}/cmd_misc.c (100%)
>   rename {common => cmd}/cmd_mmc.c (100%)
>   rename {common => cmd}/cmd_mmc_spi.c (100%)
>   rename {common => cmd}/cmd_mp.c (100%)
>   rename {common => cmd}/cmd_mtdparts.c (100%)
>   rename {common => cmd}/cmd_nand.c (100%)
>   rename {common => cmd}/cmd_net.c (100%)
>   rename {common => cmd}/cmd_nvedit.c (100%)
>   rename {common => cmd}/cmd_onenand.c (100%)
>   rename {common => cmd}/cmd_otp.c (100%)
>   rename {common => cmd}/cmd_part.c (100%)
>   rename {common => cmd}/cmd_pci.c (100%)
>   rename {common => cmd}/cmd_pcmcia.c (100%)
>   rename {common => cmd}/cmd_pmic.c (100%)
>   rename {common => cmd}/cmd_portio.c (100%)
>   rename {common => cmd}/cmd_pxe.c (100%)
>   rename {common => cmd}/cmd_read.c (100%)
>   rename {common => cmd}/cmd_reginfo.c (100%)
>   rename {common => cmd}/cmd_regulator.c (100%)
>   rename {common => cmd}/cmd_reiser.c (100%)
>   rename {common => cmd}/cmd_remoteproc.c (100%)
>   rename {common => cmd}/cmd_sata.c (100%)
>   rename {common => cmd}/cmd_scsi.c (100%)
>   rename {common => cmd}/cmd_setexpr.c (100%)
>   rename {common => cmd}/cmd_sf.c (100%)
>   rename {common => cmd}/cmd_sha1sum.c (100%)
>   rename {common => cmd}/cmd_softswitch.c (100%)
>   rename {common => cmd}/cmd_sound.c (100%)
>   rename {common => cmd}/cmd_source.c (100%)
>   rename {common => cmd}/cmd_spi.c (100%)
>   rename {common => cmd}/cmd_spibootldr.c (100%)
>   rename {common => cmd}/cmd_spl.c (100%)
>   rename {common => cmd}/cmd_strings.c (100%)
>   rename {common => cmd}/cmd_terminal.c (100%)
>   rename {common => cmd}/cmd_test.c (100%)
>   rename {common => cmd}/cmd_thordown.c (100%)
>   rename {common => cmd}/cmd_time.c (100%)
>   rename {common => cmd}/cmd_tpm.c (100%)
>   rename {common => cmd}/cmd_tpm_test.c (100%)
>   rename {common => cmd}/cmd_trace.c (100%)
>   rename {common => cmd}/cmd_tsi148.c (100%)
>   rename {common => cmd}/cmd_ubi.c (100%)
>   rename {common => cmd}/cmd_ubifs.c (100%)
>   rename {common => cmd}/cmd_universe.c (100%)
>   rename {common => cmd}/cmd_unzip.c (100%)
>   rename {common => cmd}/cmd_usb.c (100%)
>   rename {common => cmd}/cmd_usb_mass_storage.c (100%)
>   rename {common => cmd}/cmd_version.c (100%)
>   rename {common => cmd}/cmd_ximg.c (100%)
>   rename {common => cmd}/cmd_yaffs2.c (100%)
>   rename {common => cmd}/cmd_zfs.c (100%)
>   rename {common => cmd}/cmd_zip.c (100%)
>
> diff --git a/Kconfig b/Kconfig
> index 821b464..d5e503a 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -224,6 +224,8 @@ endmenu		# Boot images
>
>   source "common/Kconfig"
>
> +source "cmd/Kconfig"
> +
>   source "dts/Kconfig"
>
>   source "net/Kconfig"
> diff --git a/Makefile b/Makefile
> index 5882c30..6a67efb 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -667,6 +667,7 @@ libs-y += drivers/usb/musb/
>   libs-y += drivers/usb/musb-new/
>   libs-y += drivers/usb/phy/
>   libs-y += drivers/usb/ulpi/
> +libs-y += cmd/
>   libs-y += common/
>   libs-$(CONFIG_API) += api/
>   libs-$(CONFIG_HAS_POST) += post/
> diff --git a/cmd/Kconfig b/cmd/Kconfig
> new file mode 100644
> index 0000000..2ed0263
> --- /dev/null
> +++ b/cmd/Kconfig
> @@ -0,0 +1,585 @@
> +menu "Command line interface"
> +
> +config HUSH_PARSER
> +	bool "Use hush shell"
> +	select SYS_HUSH_PARSER
> +	help
> +	  This option enables the "hush" shell (from Busybox) as command line
> +	  interpreter, thus enabling powerful command line syntax like
> +	  if...then...else...fi conditionals or `&&' and '||'
> +	  constructs ("shell scripts").
> +
> +	  If disabled, you get the old, much simpler behaviour with a somewhat
> +	  smaller memory footprint.
> +
> +config SYS_HUSH_PARSER
> +	bool
> +	help
> +	  Backward compatibility.
> +
> +config SYS_PROMPT
> +	string "Shell prompt"
> +	default "=> "
> +	help
> +	  This string is displayed in the command line to the left of the
> +	  cursor.
> +
> +menu "Autoboot options"
> +
> +config AUTOBOOT_KEYED
> +	bool "Stop autobooting via specific input key / string"
> +	default n
> +	help
> +	  This option enables stopping (aborting) of the automatic
> +	  boot feature only by issuing a specific input key or
> +	  string. If not enabled, any input key will abort the
> +	  U-Boot automatic booting process and bring the device
> +	  to the U-Boot prompt for user input.
> +
> +config AUTOBOOT_PROMPT
> +	string "Autoboot stop prompt"
> +	depends on AUTOBOOT_KEYED
> +	default "Autoboot in %d seconds\\n"
> +	help
> +	  This string is displayed before the boot delay selected by
> +	  CONFIG_BOOTDELAY starts. If it is not defined	there is no
> +	  output indicating that autoboot is in progress.
> +
> +	  Note that this define is used as the (only) argument to a
> +	  printf() call, so it may contain '%' format specifications,
> +	  provided that it also includes, sepearated by commas exactly
> +	  like in a printf statement, the required arguments. It is
> +	  the responsibility of the user to select only such arguments
> +	  that are valid in the given context.
> +
> +config AUTOBOOT_ENCRYPTION
> +	bool "Enable encryption in autoboot stopping"
> +	depends on AUTOBOOT_KEYED
> +	default n
> +
> +config AUTOBOOT_DELAY_STR
> +	string "Delay autobooting via specific input key / string"
> +	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
> +	help
> +	  This option delays the automatic boot feature by issuing
> +	  a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
> +	  or the environment variable "bootdelaykey" is specified
> +	  and this string is received from console input before
> +	  autoboot starts booting, U-Boot gives a command prompt. The
> +	  U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
> +	  used, otherwise it never times out.
> +
> +config AUTOBOOT_STOP_STR
> +	string "Stop autobooting via specific input key / string"
> +	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
> +	help
> +	  This option enables stopping (aborting) of the automatic
> +	  boot feature only by issuing a specific input key or
> +	  string. If CONFIG_AUTOBOOT_STOP_STR or the environment
> +	  variable "bootstopkey" is specified and this string is
> +	  received from console input before autoboot starts booting,
> +	  U-Boot gives a command prompt. The U-Boot prompt never
> +	  times out, even if CONFIG_BOOT_RETRY_TIME is used.
> +
> +config AUTOBOOT_KEYED_CTRLC
> +	bool "Enable Ctrl-C autoboot interruption"
> +	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
> +	default n
> +	help
> +	  This option allows for the boot sequence to be interrupted
> +	  by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
> +	  Setting this variable	provides an escape sequence from the
> +	  limited "password" strings.
> +
> +config AUTOBOOT_STOP_STR_SHA256
> +	string "Stop autobooting via SHA256 encrypted password"
> +	depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
> +	help
> +	  This option adds the feature to only stop the autobooting,
> +	  and therefore boot into the U-Boot prompt, when the input
> +	  string / password matches a values that is encypted via
> +	  a SHA256 hash and saved in the environment.
> +
> +endmenu
> +
> +comment "Commands"
> +
> +menu "Info commands"
> +
> +config CMD_BDI
> +	bool "bdinfo"
> +	default y
> +	help
> +	  Print board info
> +
> +config CMD_CONSOLE
> +	bool "coninfo"
> +	default y
> +	help
> +	  Print console devices and information.
> +
> +config CMD_CPU
> +	bool "cpu"
> +	help
> +	  Print information about available CPUs. This normally shows the
> +	  number of CPUs, type (e.g. manufacturer, architecture, product or
> +	  internal name) and clock frequency. Other information may be
> +	  available depending on the CPU driver.
> +
> +config CMD_LICENSE
> +	bool "license"
> +	help
> +	  Print GPL license text
> +
> +endmenu
> +
> +menu "Boot commands"
> +
> +config CMD_BOOTD
> +	bool "bootd"
> +	default y
> +	help
> +	  Run the command stored in the environment "bootcmd", i.e.
> +	  "bootd" does the same thing as "run bootcmd".
> +
> +config CMD_BOOTM
> +	bool "bootm"
> +	default y
> +	help
> +	  Boot an application image from the memory.
> +
> +config CMD_ELF
> +	bool "bootelf, bootvx"
> +	default y
> +	help
> +	  Boot an ELF/vxWorks image from the memory.
> +
> +config CMD_GO
> +	bool "go"
> +	default y
> +	help
> +	  Start an application at a given address.
> +
> +config CMD_RUN
> +	bool "run"
> +	default y
> +	help
> +	  Run the command in the given environment variable.
> +
> +config CMD_IMI
> +	bool "iminfo"
> +	default y
> +	help
> +	  Print header information for application image.
> +
> +config CMD_IMLS
> +	bool "imls"
> +	default y
> +	help
> +	  List all images found in flash
> +
> +config CMD_XIMG
> +	bool "imxtract"
> +	default y
> +	help
> +	  Extract a part of a multi-image.
> +
> +config CMD_POWEROFF
> +	bool
> +
> +endmenu
> +
> +menu "Environment commands"
> +
> +config CMD_EXPORTENV
> +	bool "env export"
> +	default y
> +	help
> +	  Export environments.
> +
> +config CMD_IMPORTENV
> +	bool "env import"
> +	default y
> +	help
> +	  Import environments.
> +
> +config CMD_EDITENV
> +	bool "editenv"
> +	default y
> +	help
> +	  Edit environment variable.
> +
> +config CMD_SAVEENV
> +	bool "saveenv"
> +	default y
> +	help
> +	  Save all environment variables into the compiled-in persistent
> +	  storage.
> +
> +config CMD_ENV_EXISTS
> +	bool "env exists"
> +	default y
> +	help
> +	  Check if a variable is defined in the environment for use in
> +	  shell scripting.
> +
> +endmenu
> +
> +menu "Memory commands"
> +
> +config CMD_MEMORY
> +	bool "md, mm, nm, mw, cp, cmp, base, loop"
> +	default y
> +	help
> +	  Memeory commands.
> +	    md - memory display
> +	    mm - memory modify (auto-incrementing address)
> +	    nm - memory modify (constant address)
> +	    mw - memory write (fill)
> +	    cp - memory copy
> +	    cmp - memory compare
> +	    base - print or set address offset
> +	    loop - initinite loop on address range
> +
> +config CMD_CRC32
> +	bool "crc32"
> +	default y
> +	help
> +	  Compute CRC32.
> +
> +config LOOPW
> +	bool "loopw"
> +	help
> +	  Infinite write loop on address range
> +
> +config CMD_MEMTEST
> +	bool "memtest"
> +	help
> +	  Simple RAM read/write test.
> +
> +config CMD_MX_CYCLIC
> +	bool "mdc, mwc"
> +	help
> +	  mdc - memory display cyclic
> +	  mwc - memory write cyclic
> +
> +config CMD_MEMINFO
> +	bool "meminfo"
> +	help
> +	  Display memory information.
> +
> +endmenu
> +
> +menu "Device access commands"
> +
> +config CMD_DM
> +	bool "dm - Access to driver model information"
> +	depends on DM
> +	default y
> +	help
> +	  Provides access to driver model data structures and information,
> +	  such as a list of devices, list of uclasses and the state of each
> +	  device (e.g. activated). This is not required for operation, but
> +	  can be useful to see the state of driver model for debugging or
> +	  interest.
> +
> +config CMD_DEMO
> +	bool "demo - Demonstration commands for driver model"
> +	depends on DM
> +	help
> +	  Provides a 'demo' command which can be used to play around with
> +	  driver model. To use this properly you will need to enable one or
> +	  both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
> +	  Otherwise you will always get an empty list of devices. The demo
> +	  devices are defined in the sandbox device tree, so the easiest
> +	  option is to use sandbox and pass the -d point to sandbox's
> +	  u-boot.dtb file.
> +
> +config CMD_LOADB
> +	bool "loadb"
> +	default y
> +	help
> +	  Load a binary file over serial line.
> +
> +config CMD_LOADS
> +	bool "loads"
> +	default y
> +	help
> +	  Load an S-Record file over serial line
> +
> +config CMD_FLASH
> +	bool "flinfo, erase, protect"
> +	default y
> +	help
> +	  NOR flash support.
> +	    flinfo - print FLASH memory information
> +	    erase - FLASH memory
> +	    protect - enable or disable FLASH write protection
> +
> +config CMD_ARMFLASH
> +	depends on FLASH_CFI_DRIVER
> +	bool "armflash"
> +	help
> +	  ARM Ltd reference designs flash partition access
> +
> +config CMD_NAND
> +	bool "nand"
> +	help
> +	  NAND support.
> +
> +config CMD_SF
> +	bool "sf"
> +	help
> +	  SPI Flash support
> +
> +config CMD_SPI
> +	bool "sspi"
> +	help
> +	  SPI utility command.
> +
> +config CMD_I2C
> +	bool "i2c"
> +	help
> +	  I2C support.
> +
> +config CMD_USB
> +	bool "usb"
> +	help
> +	  USB support.
> +
> +config CMD_FPGA
> +	bool "fpga"
> +	default y
> +	help
> +	  FPGA support.
> +
> +config CMD_REMOTEPROC
> +	bool "remoteproc"
> +	depends on REMOTEPROC
> +	help
> +	  Support for Remote Processor control
> +
> +config CMD_GPIO
> +	bool "gpio"
> +	help
> +	  GPIO support.
> +
> +endmenu
> +
> +
> +menu "Shell scripting commands"
> +
> +config CMD_ECHO
> +	bool "echo"
> +	default y
> +	help
> +	  Echo args to console
> +
> +config CMD_ITEST
> +	bool "itest"
> +	default y
> +	help
> +	  Return true/false on integer compare.
> +
> +config CMD_SOURCE
> +	bool "source"
> +	default y
> +	help
> +	  Run script from memory
> +
> +config CMD_SETEXPR
> +	bool "setexpr"
> +	default y
> +	help
> +	  Evaluate boolean and math expressions and store the result in an env
> +	    variable.
> +	  Also supports loading the value at a memory location into a variable.
> +	  If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
> +
> +endmenu
> +
> +menu "Network commands"
> +
> +config CMD_NET
> +	bool "bootp, tftpboot"
> +        select NET
> +	default y
> +	help
> +	  Network commands.
> +	  bootp - boot image via network using BOOTP/TFTP protocol
> +	  tftpboot - boot image via network using TFTP protocol
> +
> +config CMD_TFTPPUT
> +	bool "tftp put"
> +	help
> +	  TFTP put command, for uploading files to a server
> +
> +config CMD_TFTPSRV
> +	bool "tftpsrv"
> +	help
> +	  Act as a TFTP server and boot the first received file
> +
> +config CMD_RARP
> +	bool "rarpboot"
> +	help
> +	  Boot image via network using RARP/TFTP protocol
> +
> +config CMD_DHCP
> +	bool "dhcp"
> +	help
> +	  Boot image via network using DHCP/TFTP protocol
> +
> +config CMD_NFS
> +	bool "nfs"
> +	default y
> +	help
> +	  Boot image via network using NFS protocol.
> +
> +config CMD_PING
> +	bool "ping"
> +	help
> +	  Send ICMP ECHO_REQUEST to network host
> +
> +config CMD_CDP
> +	bool "cdp"
> +	help
> +	  Perform CDP network configuration
> +
> +config CMD_SNTP
> +	bool "sntp"
> +	help
> +	  Synchronize RTC via network
> +
> +config CMD_DNS
> +	bool "dns"
> +	help
> +	  Lookup the IP of a hostname
> +
> +config CMD_LINK_LOCAL
> +	bool "linklocal"
> +	help
> +	  Acquire a network IP address using the link-local protocol
> +
> +endmenu
> +
> +menu "Misc commands"
> +
> +config CMD_AMBAPP
> +	bool "ambapp"
> +	depends on LEON3
> +	default y
> +	help
> +	  Lists AMBA Plug-n-Play information.
> +
> +config SYS_AMBAPP_PRINT_ON_STARTUP
> +	bool "Show AMBA PnP info on startup"
> +	depends on CMD_AMBAPP
> +	default n
> +	help
> +	  Show AMBA Plug-n-Play information on startup.
> +
> +config CMD_TIME
> +	bool "time"
> +	help
> +	  Run commands and summarize execution time.
> +
> +# TODO: rename to CMD_SLEEP
> +config CMD_MISC
> +	bool "sleep"
> +	default y
> +	help
> +	  Delay execution for some time
> +
> +config CMD_TIMER
> +	bool "timer"
> +	help
> +	  Access the system timer.
> +
> +config CMD_SETGETDCR
> +	bool "getdcr, setdcr, getidcr, setidcr"
> +	depends on 4xx
> +	default y
> +	help
> +	  getdcr - Get an AMCC PPC 4xx DCR's value
> +	  setdcr - Set an AMCC PPC 4xx DCR's value
> +	  getidcr - Get a register value via indirect DCR addressing
> +	  setidcr - Set a register value via indirect DCR addressing
> +
> +config CMD_SOUND
> +	bool "sound"
> +	depends on SOUND
> +	help
> +	  This provides basic access to the U-Boot's sound support. The main
> +	  feature is to play a beep.
> +
> +	     sound init   - set up sound system
> +	     sound play   - play a sound
> +
> +endmenu
> +
> +config CMD_BOOTSTAGE
> +	bool "Enable the 'bootstage' command"
> +	depends on BOOTSTAGE
> +	help
> +	  Add a 'bootstage' command which supports printing a report
> +	  and un/stashing of bootstage data.
> +
> +menu "Power commands"
> +config CMD_PMIC
> +	bool "Enable Driver Model PMIC command"
> +	depends on DM_PMIC
> +	help
> +	  This is the pmic command, based on a driver model pmic's API.
> +	  Command features are unchanged:
> +	  - list               - list pmic devices
> +	  - pmic dev <id>      - show or [set] operating pmic device (NEW)
> +	  - pmic dump          - dump registers
> +	  - pmic read address  - read byte of register at address
> +	  - pmic write address - write byte to register at address
> +	  The only one change for this command is 'dev' subcommand.
> +
> +config CMD_REGULATOR
> +	bool "Enable Driver Model REGULATOR command"
> +	depends on DM_REGULATOR
> +	help
> +	  This command is based on driver model regulator's API.
> +	  User interface features:
> +	  - list               - list regulator devices
> +	  - regulator dev <id> - show or [set] operating regulator device
> +	  - regulator info     - print constraints info
> +	  - regulator status   - print operating status
> +	  - regulator value <val] <-f> - print/[set] voltage value [uV]
> +	  - regulator current <val>    - print/[set] current value [uA]
> +	  - regulator mode <id>        - print/[set] operating mode id
> +	  - regulator enable           - enable the regulator output
> +	  - regulator disable          - disable the regulator output
> +
> +	  The '-f' (force) option can be used for set the value which exceeds
> +	  the limits, which are found in device-tree and are kept in regulator's
> +	  uclass platdata structure.
> +
> +endmenu
> +
> +menu "Security commands"
> +config CMD_TPM
> +	bool "Enable the 'tpm' command"
> +	depends on TPM
> +	help
> +	  This provides a means to talk to a TPM from the command line. A wide
> +	  range of commands if provided - see 'tpm help' for details. The
> +	  command requires a suitable TPM on your board and the correct driver
> +	  must be enabled.
> +
> +config CMD_TPM_TEST
> +	bool "Enable the 'tpm test' command"
> +	depends on CMD_TPM
> +	help
> +	  This provides a a series of tests to confirm that the TPM is working
> +	  correctly. The tests cover initialisation, non-volatile RAM, extend,
> +	  global lock and checking that timing is within expectations. The
> +	  tests pass correctly on Infineon TPMs but may need to be adjusted
> +	  for other devices.
> +
> +endmenu
> +
> +endmenu
> diff --git a/cmd/Makefile b/cmd/Makefile
> new file mode 100644
> index 0000000..880a886
> --- /dev/null
> +++ b/cmd/Makefile
> @@ -0,0 +1,166 @@
> +#
> +# (C) Copyright 2004-2006
> +# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> +#
> +# SPDX-License-Identifier:	GPL-2.0+
> +#
> +
> +ifndef CONFIG_SPL_BUILD
> +# core command
> +obj-y += cmd_boot.o
> +obj-$(CONFIG_CMD_BOOTM) += cmd_bootm.o
> +obj-y += cmd_help.o
> +obj-y += cmd_version.o
> +
> +# command
> +obj-$(CONFIG_CMD_AES) += cmd_aes.o
> +obj-$(CONFIG_CMD_AMBAPP) += cmd_ambapp.o
> +obj-$(CONFIG_CMD_ARMFLASH) += cmd_armflash.o
> +obj-$(CONFIG_SOURCE) += cmd_source.o
> +obj-$(CONFIG_CMD_SOURCE) += cmd_source.o
> +obj-$(CONFIG_CMD_BDI) += cmd_bdinfo.o
> +obj-$(CONFIG_CMD_BEDBUG) += cmd_bedbug.o
> +obj-$(CONFIG_CMD_BMP) += cmd_bmp.o
> +obj-$(CONFIG_CMD_BOOTMENU) += cmd_bootmenu.o
> +obj-$(CONFIG_CMD_BOOTLDR) += cmd_bootldr.o
> +obj-$(CONFIG_CMD_BOOTSTAGE) += cmd_bootstage.o
> +obj-$(CONFIG_CMD_CACHE) += cmd_cache.o
> +obj-$(CONFIG_CMD_CBFS) += cmd_cbfs.o
> +obj-$(CONFIG_CMD_CLK) += cmd_clk.o
> +obj-$(CONFIG_CMD_CONSOLE) += cmd_console.o
> +obj-$(CONFIG_CMD_CPLBINFO) += cmd_cplbinfo.o
> +obj-$(CONFIG_CMD_CPU) += cmd_cpu.o
> +obj-$(CONFIG_DATAFLASH_MMC_SELECT) += cmd_dataflash_mmc_mux.o
> +obj-$(CONFIG_CMD_DATE) += cmd_date.o
> +obj-$(CONFIG_CMD_DEMO) += cmd_demo.o
> +obj-$(CONFIG_CMD_SOUND) += cmd_sound.o
> +ifdef CONFIG_4xx
> +obj-$(CONFIG_CMD_SETGETDCR) += cmd_dcr.o
> +endif
> +ifdef CONFIG_POST
> +obj-$(CONFIG_CMD_DIAG) += cmd_diag.o
> +endif
> +obj-$(CONFIG_CMD_DISPLAY) += cmd_display.o
> +obj-$(CONFIG_CMD_DTT) += cmd_dtt.o
> +obj-$(CONFIG_CMD_ECHO) += cmd_echo.o
> +obj-$(CONFIG_ENV_IS_IN_EEPROM) += cmd_eeprom.o
> +obj-$(CONFIG_CMD_EEPROM) += cmd_eeprom.o
> +obj-$(CONFIG_EFI_STUB) += cmd_efi.o
> +obj-$(CONFIG_CMD_ELF) += cmd_elf.o
> +obj-$(CONFIG_SYS_HUSH_PARSER) += cmd_exit.o
> +obj-$(CONFIG_CMD_EXT4) += cmd_ext4.o
> +obj-$(CONFIG_CMD_EXT2) += cmd_ext2.o
> +obj-$(CONFIG_CMD_FAT) += cmd_fat.o
> +obj-$(CONFIG_CMD_FDC) += cmd_fdc.o
> +obj-$(CONFIG_OF_LIBFDT) += cmd_fdt.o
> +obj-$(CONFIG_CMD_FITUPD) += cmd_fitupd.o
> +obj-$(CONFIG_CMD_FLASH) += cmd_flash.o
> +ifdef CONFIG_FPGA
> +obj-$(CONFIG_CMD_FPGA) += cmd_fpga.o
> +endif
> +obj-$(CONFIG_CMD_FPGAD) += cmd_fpgad.o
> +obj-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
> +obj-$(CONFIG_CMD_FUSE) += cmd_fuse.o
> +obj-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
> +obj-$(CONFIG_CMD_GPIO) += cmd_gpio.o
> +obj-$(CONFIG_CMD_I2C) += cmd_i2c.o
> +obj-$(CONFIG_CMD_IOTRACE) += cmd_iotrace.o
> +obj-$(CONFIG_CMD_HASH) += cmd_hash.o
> +obj-$(CONFIG_CMD_IDE) += cmd_ide.o
> +obj-$(CONFIG_CMD_IMMAP) += cmd_immap.o
> +obj-$(CONFIG_CMD_INI) += cmd_ini.o
> +obj-$(CONFIG_CMD_IRQ) += cmd_irq.o
> +obj-$(CONFIG_CMD_ITEST) += cmd_itest.o
> +obj-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
> +obj-$(CONFIG_CMD_CRAMFS) += cmd_cramfs.o
> +obj-$(CONFIG_CMD_LDRINFO) += cmd_ldrinfo.o
> +obj-$(CONFIG_CMD_LED) += cmd_led.o
> +obj-$(CONFIG_CMD_LICENSE) += cmd_license.o
> +obj-y += cmd_load.o
> +obj-$(CONFIG_LOGBUFFER) += cmd_log.o
> +obj-$(CONFIG_ID_EEPROM) += cmd_mac.o
> +obj-$(CONFIG_CMD_MD5SUM) += cmd_md5sum.o
> +obj-$(CONFIG_CMD_MEMORY) += cmd_mem.o
> +obj-$(CONFIG_CMD_IO) += cmd_io.o
> +obj-$(CONFIG_CMD_MFSL) += cmd_mfsl.o
> +obj-$(CONFIG_CMD_MII) += cmd_mii.o
> +ifdef CONFIG_PHYLIB
> +obj-$(CONFIG_CMD_MII) += cmd_mdio.o
> +endif
> +obj-$(CONFIG_CMD_MISC) += cmd_misc.o
> +obj-$(CONFIG_CMD_MMC) += cmd_mmc.o
> +obj-$(CONFIG_CMD_MMC_SPI) += cmd_mmc_spi.o
> +obj-$(CONFIG_MP) += cmd_mp.o
> +obj-$(CONFIG_CMD_MTDPARTS) += cmd_mtdparts.o
> +obj-$(CONFIG_CMD_NAND) += cmd_nand.o
> +obj-$(CONFIG_CMD_NET) += cmd_net.o
> +obj-$(CONFIG_CMD_ONENAND) += cmd_onenand.o
> +obj-$(CONFIG_CMD_OTP) += cmd_otp.o
> +obj-$(CONFIG_CMD_PART) += cmd_part.o
> +ifdef CONFIG_PCI
> +obj-$(CONFIG_CMD_PCI) += cmd_pci.o
> +endif
> +obj-y += cmd_pcmcia.o
> +obj-$(CONFIG_CMD_PORTIO) += cmd_portio.o
> +obj-$(CONFIG_CMD_PXE) += cmd_pxe.o
> +obj-$(CONFIG_CMD_READ) += cmd_read.o
> +obj-$(CONFIG_CMD_REGINFO) += cmd_reginfo.o
> +obj-$(CONFIG_CMD_REISER) += cmd_reiser.o
> +obj-$(CONFIG_CMD_REMOTEPROC) += cmd_remoteproc.o
> +obj-$(CONFIG_SANDBOX) += cmd_host.o
> +obj-$(CONFIG_CMD_SATA) += cmd_sata.o
> +obj-$(CONFIG_CMD_SF) += cmd_sf.o
> +obj-$(CONFIG_CMD_SCSI) += cmd_scsi.o
> +obj-$(CONFIG_CMD_SHA1SUM) += cmd_sha1sum.o
> +obj-$(CONFIG_CMD_SETEXPR) += cmd_setexpr.o
> +obj-$(CONFIG_CMD_SOFTSWITCH) += cmd_softswitch.o
> +obj-$(CONFIG_CMD_SPI) += cmd_spi.o
> +obj-$(CONFIG_CMD_SPIBOOTLDR) += cmd_spibootldr.o
> +obj-$(CONFIG_CMD_STRINGS) += cmd_strings.o
> +obj-$(CONFIG_CMD_TERMINAL) += cmd_terminal.o
> +obj-$(CONFIG_CMD_TIME) += cmd_time.o
> +obj-$(CONFIG_CMD_TRACE) += cmd_trace.o
> +obj-$(CONFIG_SYS_HUSH_PARSER) += cmd_test.o
> +obj-$(CONFIG_CMD_TPM) += cmd_tpm.o
> +obj-$(CONFIG_CMD_TPM_TEST) += cmd_tpm_test.o
> +obj-$(CONFIG_CMD_TSI148) += cmd_tsi148.o
> +obj-$(CONFIG_CMD_UBI) += cmd_ubi.o
> +obj-$(CONFIG_CMD_UBIFS) += cmd_ubifs.o
> +obj-$(CONFIG_CMD_UNIVERSE) += cmd_universe.o
> +obj-$(CONFIG_CMD_UNZIP) += cmd_unzip.o
> +ifdef CONFIG_LZMA
> +obj-$(CONFIG_CMD_LZMADEC) += cmd_lzmadec.o
> +endif
> +
> +obj-$(CONFIG_CMD_USB) += cmd_usb.o
> +obj-$(CONFIG_CMD_FASTBOOT) += cmd_fastboot.o
> +obj-$(CONFIG_CMD_FS_UUID) += cmd_fs_uuid.o
> +
> +obj-$(CONFIG_CMD_USB_MASS_STORAGE) += cmd_usb_mass_storage.o
> +obj-$(CONFIG_CMD_THOR_DOWNLOAD) += cmd_thordown.o
> +obj-$(CONFIG_CMD_XIMG) += cmd_ximg.o
> +obj-$(CONFIG_YAFFS2) += cmd_yaffs2.o
> +obj-$(CONFIG_CMD_SPL) += cmd_spl.o
> +obj-$(CONFIG_CMD_ZIP) += cmd_zip.o
> +obj-$(CONFIG_CMD_ZFS) += cmd_zfs.o
> +
> +obj-$(CONFIG_CMD_DFU) += cmd_dfu.o
> +obj-$(CONFIG_CMD_GPT) += cmd_gpt.o
> +obj-$(CONFIG_CMD_ETHSW) += cmd_ethsw.o
> +
> +# Power
> +obj-$(CONFIG_CMD_PMIC) += cmd_pmic.o
> +obj-$(CONFIG_CMD_REGULATOR) += cmd_regulator.o
> +endif # !CONFIG_SPL_BUILD
> +
> +ifdef CONFIG_SPL_BUILD
> +ifdef CONFIG_SPL_SATA_SUPPORT
> +obj-$(CONFIG_CMD_SCSI) += cmd_scsi.o
> +endif
> +endif # CONFIG_SPL_BUILD
> +
> +obj-$(CONFIG_CMD_BLOB) += cmd_blob.o
> +
> +# core command
> +obj-y += cmd_nvedit.o
> +obj-y += cmd_disk.o
> diff --git a/common/cmd_aes.c b/cmd/cmd_aes.c
> similarity index 100%
> rename from common/cmd_aes.c
> rename to cmd/cmd_aes.c
> diff --git a/common/cmd_ambapp.c b/cmd/cmd_ambapp.c
> similarity index 100%
> rename from common/cmd_ambapp.c
> rename to cmd/cmd_ambapp.c
> diff --git a/common/cmd_armflash.c b/cmd/cmd_armflash.c
> similarity index 100%
> rename from common/cmd_armflash.c
> rename to cmd/cmd_armflash.c
> diff --git a/common/cmd_bdinfo.c b/cmd/cmd_bdinfo.c
> similarity index 100%
> rename from common/cmd_bdinfo.c
> rename to cmd/cmd_bdinfo.c
> diff --git a/common/cmd_bedbug.c b/cmd/cmd_bedbug.c
> similarity index 100%
> rename from common/cmd_bedbug.c
> rename to cmd/cmd_bedbug.c
> diff --git a/common/cmd_blob.c b/cmd/cmd_blob.c
> similarity index 100%
> rename from common/cmd_blob.c
> rename to cmd/cmd_blob.c
> diff --git a/common/cmd_bmp.c b/cmd/cmd_bmp.c
> similarity index 100%
> rename from common/cmd_bmp.c
> rename to cmd/cmd_bmp.c
> diff --git a/common/cmd_boot.c b/cmd/cmd_boot.c
> similarity index 100%
> rename from common/cmd_boot.c
> rename to cmd/cmd_boot.c
> diff --git a/common/cmd_bootldr.c b/cmd/cmd_bootldr.c
> similarity index 100%
> rename from common/cmd_bootldr.c
> rename to cmd/cmd_bootldr.c
> diff --git a/common/cmd_bootm.c b/cmd/cmd_bootm.c
> similarity index 100%
> rename from common/cmd_bootm.c
> rename to cmd/cmd_bootm.c
> diff --git a/common/cmd_bootmenu.c b/cmd/cmd_bootmenu.c
> similarity index 100%
> rename from common/cmd_bootmenu.c
> rename to cmd/cmd_bootmenu.c
> diff --git a/common/cmd_bootstage.c b/cmd/cmd_bootstage.c
> similarity index 100%
> rename from common/cmd_bootstage.c
> rename to cmd/cmd_bootstage.c
> diff --git a/common/cmd_cache.c b/cmd/cmd_cache.c
> similarity index 100%
> rename from common/cmd_cache.c
> rename to cmd/cmd_cache.c
> diff --git a/common/cmd_cbfs.c b/cmd/cmd_cbfs.c
> similarity index 100%
> rename from common/cmd_cbfs.c
> rename to cmd/cmd_cbfs.c
> diff --git a/common/cmd_clk.c b/cmd/cmd_clk.c
> similarity index 100%
> rename from common/cmd_clk.c
> rename to cmd/cmd_clk.c
> diff --git a/common/cmd_console.c b/cmd/cmd_console.c
> similarity index 100%
> rename from common/cmd_console.c
> rename to cmd/cmd_console.c
> diff --git a/common/cmd_cplbinfo.c b/cmd/cmd_cplbinfo.c
> similarity index 100%
> rename from common/cmd_cplbinfo.c
> rename to cmd/cmd_cplbinfo.c
> diff --git a/common/cmd_cpu.c b/cmd/cmd_cpu.c
> similarity index 100%
> rename from common/cmd_cpu.c
> rename to cmd/cmd_cpu.c
> diff --git a/common/cmd_cramfs.c b/cmd/cmd_cramfs.c
> similarity index 100%
> rename from common/cmd_cramfs.c
> rename to cmd/cmd_cramfs.c
> diff --git a/common/cmd_dataflash_mmc_mux.c b/cmd/cmd_dataflash_mmc_mux.c
> similarity index 100%
> rename from common/cmd_dataflash_mmc_mux.c
> rename to cmd/cmd_dataflash_mmc_mux.c
> diff --git a/common/cmd_date.c b/cmd/cmd_date.c
> similarity index 100%
> rename from common/cmd_date.c
> rename to cmd/cmd_date.c
> diff --git a/common/cmd_dcr.c b/cmd/cmd_dcr.c
> similarity index 100%
> rename from common/cmd_dcr.c
> rename to cmd/cmd_dcr.c
> diff --git a/common/cmd_demo.c b/cmd/cmd_demo.c
> similarity index 100%
> rename from common/cmd_demo.c
> rename to cmd/cmd_demo.c
> diff --git a/common/cmd_dfu.c b/cmd/cmd_dfu.c
> similarity index 100%
> rename from common/cmd_dfu.c
> rename to cmd/cmd_dfu.c
> diff --git a/common/cmd_diag.c b/cmd/cmd_diag.c
> similarity index 100%
> rename from common/cmd_diag.c
> rename to cmd/cmd_diag.c
> diff --git a/common/cmd_disk.c b/cmd/cmd_disk.c
> similarity index 100%
> rename from common/cmd_disk.c
> rename to cmd/cmd_disk.c
> diff --git a/common/cmd_display.c b/cmd/cmd_display.c
> similarity index 100%
> rename from common/cmd_display.c
> rename to cmd/cmd_display.c
> diff --git a/common/cmd_dtt.c b/cmd/cmd_dtt.c
> similarity index 100%
> rename from common/cmd_dtt.c
> rename to cmd/cmd_dtt.c
> diff --git a/common/cmd_echo.c b/cmd/cmd_echo.c
> similarity index 100%
> rename from common/cmd_echo.c
> rename to cmd/cmd_echo.c
> diff --git a/common/cmd_eeprom.c b/cmd/cmd_eeprom.c
> similarity index 100%
> rename from common/cmd_eeprom.c
> rename to cmd/cmd_eeprom.c
> diff --git a/common/cmd_efi.c b/cmd/cmd_efi.c
> similarity index 100%
> rename from common/cmd_efi.c
> rename to cmd/cmd_efi.c
> diff --git a/common/cmd_elf.c b/cmd/cmd_elf.c
> similarity index 100%
> rename from common/cmd_elf.c
> rename to cmd/cmd_elf.c
> diff --git a/common/cmd_ethsw.c b/cmd/cmd_ethsw.c
> similarity index 100%
> rename from common/cmd_ethsw.c
> rename to cmd/cmd_ethsw.c
> diff --git a/common/cmd_exit.c b/cmd/cmd_exit.c
> similarity index 100%
> rename from common/cmd_exit.c
> rename to cmd/cmd_exit.c
> diff --git a/common/cmd_ext2.c b/cmd/cmd_ext2.c
> similarity index 100%
> rename from common/cmd_ext2.c
> rename to cmd/cmd_ext2.c
> diff --git a/common/cmd_ext4.c b/cmd/cmd_ext4.c
> similarity index 100%
> rename from common/cmd_ext4.c
> rename to cmd/cmd_ext4.c
> diff --git a/common/cmd_fastboot.c b/cmd/cmd_fastboot.c
> similarity index 100%
> rename from common/cmd_fastboot.c
> rename to cmd/cmd_fastboot.c
> diff --git a/common/cmd_fat.c b/cmd/cmd_fat.c
> similarity index 100%
> rename from common/cmd_fat.c
> rename to cmd/cmd_fat.c
> diff --git a/common/cmd_fdc.c b/cmd/cmd_fdc.c
> similarity index 100%
> rename from common/cmd_fdc.c
> rename to cmd/cmd_fdc.c
> diff --git a/common/cmd_fdt.c b/cmd/cmd_fdt.c
> similarity index 100%
> rename from common/cmd_fdt.c
> rename to cmd/cmd_fdt.c
> diff --git a/common/cmd_fitupd.c b/cmd/cmd_fitupd.c
> similarity index 100%
> rename from common/cmd_fitupd.c
> rename to cmd/cmd_fitupd.c
> diff --git a/common/cmd_flash.c b/cmd/cmd_flash.c
> similarity index 100%
> rename from common/cmd_flash.c
> rename to cmd/cmd_flash.c
> diff --git a/common/cmd_fpga.c b/cmd/cmd_fpga.c
> similarity index 100%
> rename from common/cmd_fpga.c
> rename to cmd/cmd_fpga.c
> diff --git a/common/cmd_fpgad.c b/cmd/cmd_fpgad.c
> similarity index 100%
> rename from common/cmd_fpgad.c
> rename to cmd/cmd_fpgad.c
> diff --git a/common/cmd_fs.c b/cmd/cmd_fs.c
> similarity index 100%
> rename from common/cmd_fs.c
> rename to cmd/cmd_fs.c
> diff --git a/common/cmd_fs_uuid.c b/cmd/cmd_fs_uuid.c
> similarity index 100%
> rename from common/cmd_fs_uuid.c
> rename to cmd/cmd_fs_uuid.c
> diff --git a/common/cmd_fuse.c b/cmd/cmd_fuse.c
> similarity index 100%
> rename from common/cmd_fuse.c
> rename to cmd/cmd_fuse.c
> diff --git a/common/cmd_gettime.c b/cmd/cmd_gettime.c
> similarity index 100%
> rename from common/cmd_gettime.c
> rename to cmd/cmd_gettime.c
> diff --git a/common/cmd_gpio.c b/cmd/cmd_gpio.c
> similarity index 100%
> rename from common/cmd_gpio.c
> rename to cmd/cmd_gpio.c
> diff --git a/common/cmd_gpt.c b/cmd/cmd_gpt.c
> similarity index 100%
> rename from common/cmd_gpt.c
> rename to cmd/cmd_gpt.c
> diff --git a/common/cmd_hash.c b/cmd/cmd_hash.c
> similarity index 100%
> rename from common/cmd_hash.c
> rename to cmd/cmd_hash.c
> diff --git a/common/cmd_help.c b/cmd/cmd_help.c
> similarity index 100%
> rename from common/cmd_help.c
> rename to cmd/cmd_help.c
> diff --git a/common/cmd_host.c b/cmd/cmd_host.c
> similarity index 100%
> rename from common/cmd_host.c
> rename to cmd/cmd_host.c
> diff --git a/common/cmd_i2c.c b/cmd/cmd_i2c.c
> similarity index 100%
> rename from common/cmd_i2c.c
> rename to cmd/cmd_i2c.c
> diff --git a/common/cmd_ide.c b/cmd/cmd_ide.c
> similarity index 100%
> rename from common/cmd_ide.c
> rename to cmd/cmd_ide.c
> diff --git a/common/cmd_immap.c b/cmd/cmd_immap.c
> similarity index 100%
> rename from common/cmd_immap.c
> rename to cmd/cmd_immap.c
> diff --git a/common/cmd_ini.c b/cmd/cmd_ini.c
> similarity index 100%
> rename from common/cmd_ini.c
> rename to cmd/cmd_ini.c
> diff --git a/common/cmd_io.c b/cmd/cmd_io.c
> similarity index 100%
> rename from common/cmd_io.c
> rename to cmd/cmd_io.c
> diff --git a/common/cmd_iotrace.c b/cmd/cmd_iotrace.c
> similarity index 100%
> rename from common/cmd_iotrace.c
> rename to cmd/cmd_iotrace.c
> diff --git a/common/cmd_irq.c b/cmd/cmd_irq.c
> similarity index 100%
> rename from common/cmd_irq.c
> rename to cmd/cmd_irq.c
> diff --git a/common/cmd_itest.c b/cmd/cmd_itest.c
> similarity index 100%
> rename from common/cmd_itest.c
> rename to cmd/cmd_itest.c
> diff --git a/common/cmd_jffs2.c b/cmd/cmd_jffs2.c
> similarity index 100%
> rename from common/cmd_jffs2.c
> rename to cmd/cmd_jffs2.c
> diff --git a/common/cmd_ldrinfo.c b/cmd/cmd_ldrinfo.c
> similarity index 100%
> rename from common/cmd_ldrinfo.c
> rename to cmd/cmd_ldrinfo.c
> diff --git a/common/cmd_led.c b/cmd/cmd_led.c
> similarity index 100%
> rename from common/cmd_led.c
> rename to cmd/cmd_led.c
> diff --git a/common/cmd_license.c b/cmd/cmd_license.c
> similarity index 100%
> rename from common/cmd_license.c
> rename to cmd/cmd_license.c
> diff --git a/common/cmd_load.c b/cmd/cmd_load.c
> similarity index 100%
> rename from common/cmd_load.c
> rename to cmd/cmd_load.c
> diff --git a/common/cmd_log.c b/cmd/cmd_log.c
> similarity index 100%
> rename from common/cmd_log.c
> rename to cmd/cmd_log.c
> diff --git a/common/cmd_lzmadec.c b/cmd/cmd_lzmadec.c
> similarity index 100%
> rename from common/cmd_lzmadec.c
> rename to cmd/cmd_lzmadec.c
> diff --git a/common/cmd_mac.c b/cmd/cmd_mac.c
> similarity index 100%
> rename from common/cmd_mac.c
> rename to cmd/cmd_mac.c
> diff --git a/common/cmd_md5sum.c b/cmd/cmd_md5sum.c
> similarity index 100%
> rename from common/cmd_md5sum.c
> rename to cmd/cmd_md5sum.c
> diff --git a/common/cmd_mdio.c b/cmd/cmd_mdio.c
> similarity index 100%
> rename from common/cmd_mdio.c
> rename to cmd/cmd_mdio.c
> diff --git a/common/cmd_mem.c b/cmd/cmd_mem.c
> similarity index 100%
> rename from common/cmd_mem.c
> rename to cmd/cmd_mem.c
> diff --git a/common/cmd_mfsl.c b/cmd/cmd_mfsl.c
> similarity index 100%
> rename from common/cmd_mfsl.c
> rename to cmd/cmd_mfsl.c
> diff --git a/common/cmd_mii.c b/cmd/cmd_mii.c
> similarity index 100%
> rename from common/cmd_mii.c
> rename to cmd/cmd_mii.c
> diff --git a/common/cmd_misc.c b/cmd/cmd_misc.c
> similarity index 100%
> rename from common/cmd_misc.c
> rename to cmd/cmd_misc.c
> diff --git a/common/cmd_mmc.c b/cmd/cmd_mmc.c
> similarity index 100%
> rename from common/cmd_mmc.c
> rename to cmd/cmd_mmc.c
> diff --git a/common/cmd_mmc_spi.c b/cmd/cmd_mmc_spi.c
> similarity index 100%
> rename from common/cmd_mmc_spi.c
> rename to cmd/cmd_mmc_spi.c
> diff --git a/common/cmd_mp.c b/cmd/cmd_mp.c
> similarity index 100%
> rename from common/cmd_mp.c
> rename to cmd/cmd_mp.c
> diff --git a/common/cmd_mtdparts.c b/cmd/cmd_mtdparts.c
> similarity index 100%
> rename from common/cmd_mtdparts.c
> rename to cmd/cmd_mtdparts.c
> diff --git a/common/cmd_nand.c b/cmd/cmd_nand.c
> similarity index 100%
> rename from common/cmd_nand.c
> rename to cmd/cmd_nand.c
> diff --git a/common/cmd_net.c b/cmd/cmd_net.c
> similarity index 100%
> rename from common/cmd_net.c
> rename to cmd/cmd_net.c
> diff --git a/common/cmd_nvedit.c b/cmd/cmd_nvedit.c
> similarity index 100%
> rename from common/cmd_nvedit.c
> rename to cmd/cmd_nvedit.c
> diff --git a/common/cmd_onenand.c b/cmd/cmd_onenand.c
> similarity index 100%
> rename from common/cmd_onenand.c
> rename to cmd/cmd_onenand.c
> diff --git a/common/cmd_otp.c b/cmd/cmd_otp.c
> similarity index 100%
> rename from common/cmd_otp.c
> rename to cmd/cmd_otp.c
> diff --git a/common/cmd_part.c b/cmd/cmd_part.c
> similarity index 100%
> rename from common/cmd_part.c
> rename to cmd/cmd_part.c
> diff --git a/common/cmd_pci.c b/cmd/cmd_pci.c
> similarity index 100%
> rename from common/cmd_pci.c
> rename to cmd/cmd_pci.c
> diff --git a/common/cmd_pcmcia.c b/cmd/cmd_pcmcia.c
> similarity index 100%
> rename from common/cmd_pcmcia.c
> rename to cmd/cmd_pcmcia.c
> diff --git a/common/cmd_pmic.c b/cmd/cmd_pmic.c
> similarity index 100%
> rename from common/cmd_pmic.c
> rename to cmd/cmd_pmic.c
> diff --git a/common/cmd_portio.c b/cmd/cmd_portio.c
> similarity index 100%
> rename from common/cmd_portio.c
> rename to cmd/cmd_portio.c
> diff --git a/common/cmd_pxe.c b/cmd/cmd_pxe.c
> similarity index 100%
> rename from common/cmd_pxe.c
> rename to cmd/cmd_pxe.c
> diff --git a/common/cmd_read.c b/cmd/cmd_read.c
> similarity index 100%
> rename from common/cmd_read.c
> rename to cmd/cmd_read.c
> diff --git a/common/cmd_reginfo.c b/cmd/cmd_reginfo.c
> similarity index 100%
> rename from common/cmd_reginfo.c
> rename to cmd/cmd_reginfo.c
> diff --git a/common/cmd_regulator.c b/cmd/cmd_regulator.c
> similarity index 100%
> rename from common/cmd_regulator.c
> rename to cmd/cmd_regulator.c
> diff --git a/common/cmd_reiser.c b/cmd/cmd_reiser.c
> similarity index 100%
> rename from common/cmd_reiser.c
> rename to cmd/cmd_reiser.c
> diff --git a/common/cmd_remoteproc.c b/cmd/cmd_remoteproc.c
> similarity index 100%
> rename from common/cmd_remoteproc.c
> rename to cmd/cmd_remoteproc.c
> diff --git a/common/cmd_sata.c b/cmd/cmd_sata.c
> similarity index 100%
> rename from common/cmd_sata.c
> rename to cmd/cmd_sata.c
> diff --git a/common/cmd_scsi.c b/cmd/cmd_scsi.c
> similarity index 100%
> rename from common/cmd_scsi.c
> rename to cmd/cmd_scsi.c
> diff --git a/common/cmd_setexpr.c b/cmd/cmd_setexpr.c
> similarity index 100%
> rename from common/cmd_setexpr.c
> rename to cmd/cmd_setexpr.c
> diff --git a/common/cmd_sf.c b/cmd/cmd_sf.c
> similarity index 100%
> rename from common/cmd_sf.c
> rename to cmd/cmd_sf.c
> diff --git a/common/cmd_sha1sum.c b/cmd/cmd_sha1sum.c
> similarity index 100%
> rename from common/cmd_sha1sum.c
> rename to cmd/cmd_sha1sum.c
> diff --git a/common/cmd_softswitch.c b/cmd/cmd_softswitch.c
> similarity index 100%
> rename from common/cmd_softswitch.c
> rename to cmd/cmd_softswitch.c
> diff --git a/common/cmd_sound.c b/cmd/cmd_sound.c
> similarity index 100%
> rename from common/cmd_sound.c
> rename to cmd/cmd_sound.c
> diff --git a/common/cmd_source.c b/cmd/cmd_source.c
> similarity index 100%
> rename from common/cmd_source.c
> rename to cmd/cmd_source.c
> diff --git a/common/cmd_spi.c b/cmd/cmd_spi.c
> similarity index 100%
> rename from common/cmd_spi.c
> rename to cmd/cmd_spi.c
> diff --git a/common/cmd_spibootldr.c b/cmd/cmd_spibootldr.c
> similarity index 100%
> rename from common/cmd_spibootldr.c
> rename to cmd/cmd_spibootldr.c
> diff --git a/common/cmd_spl.c b/cmd/cmd_spl.c
> similarity index 100%
> rename from common/cmd_spl.c
> rename to cmd/cmd_spl.c
> diff --git a/common/cmd_strings.c b/cmd/cmd_strings.c
> similarity index 100%
> rename from common/cmd_strings.c
> rename to cmd/cmd_strings.c
> diff --git a/common/cmd_terminal.c b/cmd/cmd_terminal.c
> similarity index 100%
> rename from common/cmd_terminal.c
> rename to cmd/cmd_terminal.c
> diff --git a/common/cmd_test.c b/cmd/cmd_test.c
> similarity index 100%
> rename from common/cmd_test.c
> rename to cmd/cmd_test.c
> diff --git a/common/cmd_thordown.c b/cmd/cmd_thordown.c
> similarity index 100%
> rename from common/cmd_thordown.c
> rename to cmd/cmd_thordown.c
> diff --git a/common/cmd_time.c b/cmd/cmd_time.c
> similarity index 100%
> rename from common/cmd_time.c
> rename to cmd/cmd_time.c
> diff --git a/common/cmd_tpm.c b/cmd/cmd_tpm.c
> similarity index 100%
> rename from common/cmd_tpm.c
> rename to cmd/cmd_tpm.c
> diff --git a/common/cmd_tpm_test.c b/cmd/cmd_tpm_test.c
> similarity index 100%
> rename from common/cmd_tpm_test.c
> rename to cmd/cmd_tpm_test.c
> diff --git a/common/cmd_trace.c b/cmd/cmd_trace.c
> similarity index 100%
> rename from common/cmd_trace.c
> rename to cmd/cmd_trace.c
> diff --git a/common/cmd_tsi148.c b/cmd/cmd_tsi148.c
> similarity index 100%
> rename from common/cmd_tsi148.c
> rename to cmd/cmd_tsi148.c
> diff --git a/common/cmd_ubi.c b/cmd/cmd_ubi.c
> similarity index 100%
> rename from common/cmd_ubi.c
> rename to cmd/cmd_ubi.c
> diff --git a/common/cmd_ubifs.c b/cmd/cmd_ubifs.c
> similarity index 100%
> rename from common/cmd_ubifs.c
> rename to cmd/cmd_ubifs.c
> diff --git a/common/cmd_universe.c b/cmd/cmd_universe.c
> similarity index 100%
> rename from common/cmd_universe.c
> rename to cmd/cmd_universe.c
> diff --git a/common/cmd_unzip.c b/cmd/cmd_unzip.c
> similarity index 100%
> rename from common/cmd_unzip.c
> rename to cmd/cmd_unzip.c
> diff --git a/common/cmd_usb.c b/cmd/cmd_usb.c
> similarity index 100%
> rename from common/cmd_usb.c
> rename to cmd/cmd_usb.c
> diff --git a/common/cmd_usb_mass_storage.c b/cmd/cmd_usb_mass_storage.c
> similarity index 100%
> rename from common/cmd_usb_mass_storage.c
> rename to cmd/cmd_usb_mass_storage.c
> diff --git a/common/cmd_version.c b/cmd/cmd_version.c
> similarity index 100%
> rename from common/cmd_version.c
> rename to cmd/cmd_version.c
> diff --git a/common/cmd_ximg.c b/cmd/cmd_ximg.c
> similarity index 100%
> rename from common/cmd_ximg.c
> rename to cmd/cmd_ximg.c
> diff --git a/common/cmd_yaffs2.c b/cmd/cmd_yaffs2.c
> similarity index 100%
> rename from common/cmd_yaffs2.c
> rename to cmd/cmd_yaffs2.c
> diff --git a/common/cmd_zfs.c b/cmd/cmd_zfs.c
> similarity index 100%
> rename from common/cmd_zfs.c
> rename to cmd/cmd_zfs.c
> diff --git a/common/cmd_zip.c b/cmd/cmd_zip.c
> similarity index 100%
> rename from common/cmd_zip.c
> rename to cmd/cmd_zip.c
> diff --git a/common/Kconfig b/common/Kconfig
> index 9d446bf..067545d 100644
> --- a/common/Kconfig
> +++ b/common/Kconfig
> @@ -1,522 +1,3 @@
> -menu "Command line interface"
> -
> -config HUSH_PARSER
> -	bool "Use hush shell"
> -	select SYS_HUSH_PARSER
> -	help
> -	  This option enables the "hush" shell (from Busybox) as command line
> -	  interpreter, thus enabling powerful command line syntax like
> -	  if...then...else...fi conditionals or `&&' and '||'
> -	  constructs ("shell scripts").
> -
> -	  If disabled, you get the old, much simpler behaviour with a somewhat
> -	  smaller memory footprint.
> -
> -config SYS_HUSH_PARSER
> -	bool
> -	help
> -	  Backward compatibility.
> -
> -config SYS_PROMPT
> -	string "Shell prompt"
> -	default "=> "
> -	help
> -	  This string is displayed in the command line to the left of the
> -	  cursor.
> -
> -menu "Autoboot options"
> -
> -config AUTOBOOT_KEYED
> -	bool "Stop autobooting via specific input key / string"
> -	default n
> -	help
> -	  This option enables stopping (aborting) of the automatic
> -	  boot feature only by issuing a specific input key or
> -	  string. If not enabled, any input key will abort the
> -	  U-Boot automatic booting process and bring the device
> -	  to the U-Boot prompt for user input.
> -
> -config AUTOBOOT_PROMPT
> -	string "Autoboot stop prompt"
> -	depends on AUTOBOOT_KEYED
> -	default "Autoboot in %d seconds\\n"
> -	help
> -	  This string is displayed before the boot delay selected by
> -	  CONFIG_BOOTDELAY starts. If it is not defined	there is no
> -	  output indicating that autoboot is in progress.
> -
> -	  Note that this define is used as the (only) argument to a
> -	  printf() call, so it may contain '%' format specifications,
> -	  provided that it also includes, sepearated by commas exactly
> -	  like in a printf statement, the required arguments. It is
> -	  the responsibility of the user to select only such arguments
> -	  that are valid in the given context.
> -
> -config AUTOBOOT_ENCRYPTION
> -	bool "Enable encryption in autoboot stopping"
> -	depends on AUTOBOOT_KEYED
> -	default n
> -
> -config AUTOBOOT_DELAY_STR
> -	string "Delay autobooting via specific input key / string"
> -	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
> -	help
> -	  This option delays the automatic boot feature by issuing
> -	  a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
> -	  or the environment variable "bootdelaykey" is specified
> -	  and this string is received from console input before
> -	  autoboot starts booting, U-Boot gives a command prompt. The
> -	  U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
> -	  used, otherwise it never times out.
> -
> -config AUTOBOOT_STOP_STR
> -	string "Stop autobooting via specific input key / string"
> -	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
> -	help
> -	  This option enables stopping (aborting) of the automatic
> -	  boot feature only by issuing a specific input key or
> -	  string. If CONFIG_AUTOBOOT_STOP_STR or the environment
> -	  variable "bootstopkey" is specified and this string is
> -	  received from console input before autoboot starts booting,
> -	  U-Boot gives a command prompt. The U-Boot prompt never
> -	  times out, even if CONFIG_BOOT_RETRY_TIME is used.
> -
> -config AUTOBOOT_KEYED_CTRLC
> -	bool "Enable Ctrl-C autoboot interruption"
> -	depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
> -	default n
> -	help
> -	  This option allows for the boot sequence to be interrupted
> -	  by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
> -	  Setting this variable	provides an escape sequence from the
> -	  limited "password" strings.
> -
> -config AUTOBOOT_STOP_STR_SHA256
> -	string "Stop autobooting via SHA256 encrypted password"
> -	depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
> -	help
> -	  This option adds the feature to only stop the autobooting,
> -	  and therefore boot into the U-Boot prompt, when the input
> -	  string / password matches a values that is encypted via
> -	  a SHA256 hash and saved in the environment.
> -
> -endmenu
> -
> -comment "Commands"
> -
> -menu "Info commands"
> -
> -config CMD_BDI
> -	bool "bdinfo"
> -	default y
> -	help
> -	  Print board info
> -
> -config CMD_CONSOLE
> -	bool "coninfo"
> -	default y
> -	help
> -	  Print console devices and information.
> -
> -config CMD_CPU
> -	bool "cpu"
> -	help
> -	  Print information about available CPUs. This normally shows the
> -	  number of CPUs, type (e.g. manufacturer, architecture, product or
> -	  internal name) and clock frequency. Other information may be
> -	  available depending on the CPU driver.
> -
> -config CMD_LICENSE
> -	bool "license"
> -	help
> -	  Print GPL license text
> -
> -endmenu
> -
> -menu "Boot commands"
> -
> -config CMD_BOOTD
> -	bool "bootd"
> -	default y
> -	help
> -	  Run the command stored in the environment "bootcmd", i.e.
> -	  "bootd" does the same thing as "run bootcmd".
> -
> -config CMD_BOOTM
> -	bool "bootm"
> -	default y
> -	help
> -	  Boot an application image from the memory.
> -
> -config CMD_ELF
> -	bool "bootelf, bootvx"
> -	default y
> -	help
> -	  Boot an ELF/vxWorks image from the memory.
> -
> -config CMD_GO
> -	bool "go"
> -	default y
> -	help
> -	  Start an application at a given address.
> -
> -config CMD_RUN
> -	bool "run"
> -	default y
> -	help
> -	  Run the command in the given environment variable.
> -
> -config CMD_IMI
> -	bool "iminfo"
> -	default y
> -	help
> -	  Print header information for application image.
> -
> -config CMD_IMLS
> -	bool "imls"
> -	default y
> -	help
> -	  List all images found in flash
> -
> -config CMD_XIMG
> -	bool "imxtract"
> -	default y
> -	help
> -	  Extract a part of a multi-image.
> -
> -config CMD_POWEROFF
> -	bool
> -
> -endmenu
> -
> -menu "Environment commands"
> -
> -config CMD_EXPORTENV
> -	bool "env export"
> -	default y
> -	help
> -	  Export environments.
> -
> -config CMD_IMPORTENV
> -	bool "env import"
> -	default y
> -	help
> -	  Import environments.
> -
> -config CMD_EDITENV
> -	bool "editenv"
> -	default y
> -	help
> -	  Edit environment variable.
> -
> -config CMD_SAVEENV
> -	bool "saveenv"
> -	default y
> -	help
> -	  Save all environment variables into the compiled-in persistent
> -	  storage.
> -
> -config CMD_ENV_EXISTS
> -	bool "env exists"
> -	default y
> -	help
> -	  Check if a variable is defined in the environment for use in
> -	  shell scripting.
> -
> -endmenu
> -
> -menu "Memory commands"
> -
> -config CMD_MEMORY
> -	bool "md, mm, nm, mw, cp, cmp, base, loop"
> -	default y
> -	help
> -	  Memeory commands.
> -	    md - memory display
> -	    mm - memory modify (auto-incrementing address)
> -	    nm - memory modify (constant address)
> -	    mw - memory write (fill)
> -	    cp - memory copy
> -	    cmp - memory compare
> -	    base - print or set address offset
> -	    loop - initinite loop on address range
> -
> -config CMD_CRC32
> -	bool "crc32"
> -	default y
> -	help
> -	  Compute CRC32.
> -
> -config LOOPW
> -	bool "loopw"
> -	help
> -	  Infinite write loop on address range
> -
> -config CMD_MEMTEST
> -	bool "memtest"
> -	help
> -	  Simple RAM read/write test.
> -
> -config CMD_MX_CYCLIC
> -	bool "mdc, mwc"
> -	help
> -	  mdc - memory display cyclic
> -	  mwc - memory write cyclic
> -
> -config CMD_MEMINFO
> -	bool "meminfo"
> -	help
> -	  Display memory information.
> -
> -endmenu
> -
> -menu "Device access commands"
> -
> -config CMD_DM
> -	bool "dm - Access to driver model information"
> -	depends on DM
> -	default y
> -	help
> -	  Provides access to driver model data structures and information,
> -	  such as a list of devices, list of uclasses and the state of each
> -	  device (e.g. activated). This is not required for operation, but
> -	  can be useful to see the state of driver model for debugging or
> -	  interest.
> -
> -config CMD_DEMO
> -	bool "demo - Demonstration commands for driver model"
> -	depends on DM
> -	help
> -	  Provides a 'demo' command which can be used to play around with
> -	  driver model. To use this properly you will need to enable one or
> -	  both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
> -	  Otherwise you will always get an empty list of devices. The demo
> -	  devices are defined in the sandbox device tree, so the easiest
> -	  option is to use sandbox and pass the -d point to sandbox's
> -	  u-boot.dtb file.
> -
> -config CMD_LOADB
> -	bool "loadb"
> -	default y
> -	help
> -	  Load a binary file over serial line.
> -
> -config CMD_LOADS
> -	bool "loads"
> -	default y
> -	help
> -	  Load an S-Record file over serial line
> -
> -config CMD_FLASH
> -	bool "flinfo, erase, protect"
> -	default y
> -	help
> -	  NOR flash support.
> -	    flinfo - print FLASH memory information
> -	    erase - FLASH memory
> -	    protect - enable or disable FLASH write protection
> -
> -config CMD_ARMFLASH
> -	depends on FLASH_CFI_DRIVER
> -	bool "armflash"
> -	help
> -	  ARM Ltd reference designs flash partition access
> -
> -config CMD_NAND
> -	bool "nand"
> -	help
> -	  NAND support.
> -
> -config CMD_SF
> -	bool "sf"
> -	help
> -	  SPI Flash support
> -
> -config CMD_SPI
> -	bool "sspi"
> -	help
> -	  SPI utility command.
> -
> -config CMD_I2C
> -	bool "i2c"
> -	help
> -	  I2C support.
> -
> -config CMD_USB
> -	bool "usb"
> -	help
> -	  USB support.
> -
> -config CMD_FPGA
> -	bool "fpga"
> -	default y
> -	help
> -	  FPGA support.
> -
> -config CMD_REMOTEPROC
> -	bool "remoteproc"
> -	depends on REMOTEPROC
> -	help
> -	  Support for Remote Processor control
> -
> -config CMD_GPIO
> -	bool "gpio"
> -	help
> -	  GPIO support.
> -
> -endmenu
> -
> -
> -menu "Shell scripting commands"
> -
> -config CMD_ECHO
> -	bool "echo"
> -	default y
> -	help
> -	  Echo args to console
> -
> -config CMD_ITEST
> -	bool "itest"
> -	default y
> -	help
> -	  Return true/false on integer compare.
> -
> -config CMD_SOURCE
> -	bool "source"
> -	default y
> -	help
> -	  Run script from memory
> -
> -config CMD_SETEXPR
> -	bool "setexpr"
> -	default y
> -	help
> -	  Evaluate boolean and math expressions and store the result in an env
> -	    variable.
> -	  Also supports loading the value at a memory location into a variable.
> -	  If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
> -
> -endmenu
> -
> -menu "Network commands"
> -
> -config CMD_NET
> -	bool "bootp, tftpboot"
> -        select NET
> -	default y
> -	help
> -	  Network commands.
> -	  bootp - boot image via network using BOOTP/TFTP protocol
> -	  tftpboot - boot image via network using TFTP protocol
> -
> -config CMD_TFTPPUT
> -	bool "tftp put"
> -	help
> -	  TFTP put command, for uploading files to a server
> -
> -config CMD_TFTPSRV
> -	bool "tftpsrv"
> -	help
> -	  Act as a TFTP server and boot the first received file
> -
> -config CMD_RARP
> -	bool "rarpboot"
> -	help
> -	  Boot image via network using RARP/TFTP protocol
> -
> -config CMD_DHCP
> -	bool "dhcp"
> -	help
> -	  Boot image via network using DHCP/TFTP protocol
> -
> -config CMD_NFS
> -	bool "nfs"
> -	default y
> -	help
> -	  Boot image via network using NFS protocol.
> -
> -config CMD_PING
> -	bool "ping"
> -	help
> -	  Send ICMP ECHO_REQUEST to network host
> -
> -config CMD_CDP
> -	bool "cdp"
> -	help
> -	  Perform CDP network configuration
> -
> -config CMD_SNTP
> -	bool "sntp"
> -	help
> -	  Synchronize RTC via network
> -
> -config CMD_DNS
> -	bool "dns"
> -	help
> -	  Lookup the IP of a hostname
> -
> -config CMD_LINK_LOCAL
> -	bool "linklocal"
> -	help
> -	  Acquire a network IP address using the link-local protocol
> -
> -endmenu
> -
> -menu "Misc commands"
> -
> -config CMD_AMBAPP
> -	bool "ambapp"
> -	depends on LEON3
> -	default y
> -	help
> -	  Lists AMBA Plug-n-Play information.
> -
> -config SYS_AMBAPP_PRINT_ON_STARTUP
> -	bool "Show AMBA PnP info on startup"
> -	depends on CMD_AMBAPP
> -	default n
> -	help
> -	  Show AMBA Plug-n-Play information on startup.
> -
> -config CMD_TIME
> -	bool "time"
> -	help
> -	  Run commands and summarize execution time.
> -
> -# TODO: rename to CMD_SLEEP
> -config CMD_MISC
> -	bool "sleep"
> -	default y
> -	help
> -	  Delay execution for some time
> -
> -config CMD_TIMER
> -	bool "timer"
> -	help
> -	  Access the system timer.
> -
> -config CMD_SETGETDCR
> -	bool "getdcr, setdcr, getidcr, setidcr"
> -	depends on 4xx
> -	default y
> -	help
> -	  getdcr - Get an AMCC PPC 4xx DCR's value
> -	  setdcr - Set an AMCC PPC 4xx DCR's value
> -	  getidcr - Get a register value via indirect DCR addressing
> -	  setidcr - Set a register value via indirect DCR addressing
> -
> -config CMD_SOUND
> -	bool "sound"
> -	depends on SOUND
> -	help
> -	  This provides basic access to the U-Boot's sound support. The main
> -	  feature is to play a beep.
> -
> -	     sound init   - set up sound system
> -	     sound play   - play a sound
> -
> -endmenu
> -
>   menu "Boot timing"
>
>   config BOOTSTAGE
> @@ -565,13 +46,6 @@ config BOOTSTAGE_USER_COUNT
>   	  a new ID will be allocated from this stash. If you exceed
>   	  the limit, recording will stop.
>
> -config CMD_BOOTSTAGE
> -	bool "Enable the 'bootstage' command"
> -	depends on BOOTSTAGE
> -	help
> -	  Add a 'bootstage' command which supports printing a report
> -	  and un/stashing of bootstage data.
> -
>   config BOOTSTAGE_FDT
>   	bool "Store boot timing information in the OS device tree"
>   	depends on BOOTSTAGE
> @@ -623,66 +97,6 @@ config BOOTSTAGE_STASH_SIZE
>
>   endmenu
>
> -menu "Power commands"
> -config CMD_PMIC
> -	bool "Enable Driver Model PMIC command"
> -	depends on DM_PMIC
> -	help
> -	  This is the pmic command, based on a driver model pmic's API.
> -	  Command features are unchanged:
> -	  - list               - list pmic devices
> -	  - pmic dev <id>      - show or [set] operating pmic device (NEW)
> -	  - pmic dump          - dump registers
> -	  - pmic read address  - read byte of register at address
> -	  - pmic write address - write byte to register at address
> -	  The only one change for this command is 'dev' subcommand.
> -
> -config CMD_REGULATOR
> -	bool "Enable Driver Model REGULATOR command"
> -	depends on DM_REGULATOR
> -	help
> -	  This command is based on driver model regulator's API.
> -	  User interface features:
> -	  - list               - list regulator devices
> -	  - regulator dev <id> - show or [set] operating regulator device
> -	  - regulator info     - print constraints info
> -	  - regulator status   - print operating status
> -	  - regulator value <val] <-f> - print/[set] voltage value [uV]
> -	  - regulator current <val>    - print/[set] current value [uA]
> -	  - regulator mode <id>        - print/[set] operating mode id
> -	  - regulator enable           - enable the regulator output
> -	  - regulator disable          - disable the regulator output
> -
> -	  The '-f' (force) option can be used for set the value which exceeds
> -	  the limits, which are found in device-tree and are kept in regulator's
> -	  uclass platdata structure.
> -
> -endmenu
> -
> -menu "Security commands"
> -config CMD_TPM
> -	bool "Enable the 'tpm' command"
> -	depends on TPM
> -	help
> -	  This provides a means to talk to a TPM from the command line. A wide
> -	  range of commands if provided - see 'tpm help' for details. The
> -	  command requires a suitable TPM on your board and the correct driver
> -	  must be enabled.
> -
> -config CMD_TPM_TEST
> -	bool "Enable the 'tpm test' command"
> -	depends on CMD_TPM
> -	help
> -	  This provides a a series of tests to confirm that the TPM is working
> -	  correctly. The tests cover initialisation, non-volatile RAM, extend,
> -	  global lock and checking that timing is within expectations. The
> -	  tests pass correctly on Infineon TPMs but may need to be adjusted
> -	  for other devices.
> -
> -endmenu
> -
> -endmenu
> -
>   config CONSOLE_RECORD
>   	bool "Console recording"
>   	help
> diff --git a/common/Makefile b/common/Makefile
> index 2a1d9f8..fcf972d 100644
> --- a/common/Makefile
> +++ b/common/Makefile
> @@ -31,11 +31,7 @@ obj-$(CONFIG_SYS_GENERIC_BOARD) += board_r.o
>   obj-$(CONFIG_DISPLAY_BOARDINFO) += board_info.o
>   obj-$(CONFIG_DISPLAY_BOARDINFO_LATE) += board_info.o
>
> -# core command
> -obj-y += cmd_boot.o
> -obj-$(CONFIG_CMD_BOOTM) += cmd_bootm.o bootm.o bootm_os.o
> -obj-y += cmd_help.o
> -obj-y += cmd_version.o
> +obj-$(CONFIG_CMD_BOOTM) += bootm.o bootm_os.o
>
>   # environment
>   obj-y += env_attr.o
> @@ -58,143 +54,17 @@ obj-$(CONFIG_ENV_IS_IN_REMOTE) += env_remote.o
>   obj-$(CONFIG_ENV_IS_IN_UBI) += env_ubi.o
>   obj-$(CONFIG_ENV_IS_NOWHERE) += env_nowhere.o
>
> -# command
> -obj-$(CONFIG_CMD_AES) += cmd_aes.o
> -obj-$(CONFIG_CMD_AMBAPP) += cmd_ambapp.o
> -obj-$(CONFIG_CMD_ARMFLASH) += cmd_armflash.o
> -obj-$(CONFIG_SOURCE) += cmd_source.o
> -obj-$(CONFIG_CMD_SOURCE) += cmd_source.o
> -obj-$(CONFIG_CMD_BDI) += cmd_bdinfo.o
> -obj-$(CONFIG_CMD_BEDBUG) += bedbug.o cmd_bedbug.o
> -obj-$(CONFIG_CMD_BMP) += cmd_bmp.o
> -obj-$(CONFIG_CMD_BOOTMENU) += cmd_bootmenu.o
> -obj-$(CONFIG_CMD_BOOTLDR) += cmd_bootldr.o
> -obj-$(CONFIG_CMD_BOOTSTAGE) += cmd_bootstage.o
> -obj-$(CONFIG_CMD_CACHE) += cmd_cache.o
> -obj-$(CONFIG_CMD_CBFS) += cmd_cbfs.o
> -obj-$(CONFIG_CMD_CLK) += cmd_clk.o
> -obj-$(CONFIG_CMD_CONSOLE) += cmd_console.o
> -obj-$(CONFIG_CMD_CPLBINFO) += cmd_cplbinfo.o
> -obj-$(CONFIG_CMD_CPU) += cmd_cpu.o
> -obj-$(CONFIG_DATAFLASH_MMC_SELECT) += cmd_dataflash_mmc_mux.o
> -obj-$(CONFIG_CMD_DATE) += cmd_date.o
> -obj-$(CONFIG_CMD_DEMO) += cmd_demo.o
> -obj-$(CONFIG_CMD_SOUND) += cmd_sound.o
> -ifdef CONFIG_4xx
> -obj-$(CONFIG_CMD_SETGETDCR) += cmd_dcr.o
> -endif
> -ifdef CONFIG_POST
> -obj-$(CONFIG_CMD_DIAG) += cmd_diag.o
> -endif
> -obj-$(CONFIG_CMD_DISPLAY) += cmd_display.o
> -obj-$(CONFIG_CMD_DTT) += cmd_dtt.o
> -obj-$(CONFIG_CMD_ECHO) += cmd_echo.o
> -obj-$(CONFIG_ENV_IS_IN_EEPROM) += cmd_eeprom.o
> -obj-$(CONFIG_CMD_EEPROM) += cmd_eeprom.o
> -obj-$(CONFIG_EFI_STUB) += cmd_efi.o
> -obj-$(CONFIG_CMD_ELF) += cmd_elf.o
> -obj-$(CONFIG_SYS_HUSH_PARSER) += cmd_exit.o
> -obj-$(CONFIG_CMD_EXT4) += cmd_ext4.o
> -obj-$(CONFIG_CMD_EXT2) += cmd_ext2.o
> -obj-$(CONFIG_CMD_FAT) += cmd_fat.o
> -obj-$(CONFIG_CMD_FDC) += cmd_fdc.o
> -obj-$(CONFIG_OF_LIBFDT) += cmd_fdt.o fdt_support.o
> -obj-$(CONFIG_CMD_FITUPD) += cmd_fitupd.o
> -obj-$(CONFIG_CMD_FLASH) += cmd_flash.o
> -ifdef CONFIG_FPGA
> -obj-$(CONFIG_CMD_FPGA) += cmd_fpga.o
> -endif
> -obj-$(CONFIG_CMD_FPGAD) += cmd_fpgad.o
> -obj-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
> -obj-$(CONFIG_CMD_FUSE) += cmd_fuse.o
> -obj-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
> -obj-$(CONFIG_CMD_GPIO) += cmd_gpio.o
> -obj-$(CONFIG_CMD_I2C) += cmd_i2c.o
> -obj-$(CONFIG_CMD_IOTRACE) += cmd_iotrace.o
> -obj-$(CONFIG_CMD_HASH) += cmd_hash.o
> -obj-$(CONFIG_CMD_IDE) += cmd_ide.o
> -obj-$(CONFIG_CMD_IMMAP) += cmd_immap.o
> -obj-$(CONFIG_CMD_INI) += cmd_ini.o
> -obj-$(CONFIG_CMD_IRQ) += cmd_irq.o
> -obj-$(CONFIG_CMD_ITEST) += cmd_itest.o
> -obj-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
> -obj-$(CONFIG_CMD_CRAMFS) += cmd_cramfs.o
> -obj-$(CONFIG_CMD_LDRINFO) += cmd_ldrinfo.o
> -obj-$(CONFIG_CMD_LED) += cmd_led.o
> -obj-$(CONFIG_CMD_LICENSE) += cmd_license.o
> -obj-y += cmd_load.o
> -obj-$(CONFIG_LOGBUFFER) += cmd_log.o
> -obj-$(CONFIG_ID_EEPROM) += cmd_mac.o
> -obj-$(CONFIG_CMD_MD5SUM) += cmd_md5sum.o
> -obj-$(CONFIG_CMD_MEMORY) += cmd_mem.o
> -obj-$(CONFIG_CMD_IO) += cmd_io.o
> -obj-$(CONFIG_CMD_MFSL) += cmd_mfsl.o
> +obj-$(CONFIG_CMD_BEDBUG) += bedbug.o
> +obj-$(CONFIG_OF_LIBFDT) += fdt_support.o
> +
>   obj-$(CONFIG_MII) += miiphyutil.o
>   obj-$(CONFIG_CMD_MII) += miiphyutil.o
>   obj-$(CONFIG_PHYLIB) += miiphyutil.o
> -obj-$(CONFIG_CMD_MII) += cmd_mii.o
> -ifdef CONFIG_PHYLIB
> -obj-$(CONFIG_CMD_MII) += cmd_mdio.o
> -endif
> -obj-$(CONFIG_CMD_MISC) += cmd_misc.o
> -obj-$(CONFIG_CMD_MMC) += cmd_mmc.o
> -obj-$(CONFIG_CMD_MMC_SPI) += cmd_mmc_spi.o
> -obj-$(CONFIG_MP) += cmd_mp.o
> -obj-$(CONFIG_CMD_MTDPARTS) += cmd_mtdparts.o
> -obj-$(CONFIG_CMD_NAND) += cmd_nand.o
> -obj-$(CONFIG_CMD_NET) += cmd_net.o
> -obj-$(CONFIG_CMD_ONENAND) += cmd_onenand.o
> -obj-$(CONFIG_CMD_OTP) += cmd_otp.o
> -obj-$(CONFIG_CMD_PART) += cmd_part.o
> -ifdef CONFIG_PCI
> -obj-$(CONFIG_CMD_PCI) += cmd_pci.o
> -endif
> -obj-y += cmd_pcmcia.o
> -obj-$(CONFIG_CMD_PORTIO) += cmd_portio.o
> -obj-$(CONFIG_CMD_PXE) += cmd_pxe.o
> -obj-$(CONFIG_CMD_READ) += cmd_read.o
> -obj-$(CONFIG_CMD_REGINFO) += cmd_reginfo.o
> -obj-$(CONFIG_CMD_REISER) += cmd_reiser.o
> -obj-$(CONFIG_CMD_REMOTEPROC) += cmd_remoteproc.o
> -obj-$(CONFIG_SANDBOX) += cmd_host.o
> -obj-$(CONFIG_CMD_SATA) += cmd_sata.o
> -obj-$(CONFIG_CMD_SF) += cmd_sf.o
> -obj-$(CONFIG_CMD_SCSI) += cmd_scsi.o
> -obj-$(CONFIG_CMD_SHA1SUM) += cmd_sha1sum.o
> -obj-$(CONFIG_CMD_SETEXPR) += cmd_setexpr.o
> -obj-$(CONFIG_CMD_SOFTSWITCH) += cmd_softswitch.o
> -obj-$(CONFIG_CMD_SPI) += cmd_spi.o
> -obj-$(CONFIG_CMD_SPIBOOTLDR) += cmd_spibootldr.o
> -obj-$(CONFIG_CMD_STRINGS) += cmd_strings.o
> -obj-$(CONFIG_CMD_TERMINAL) += cmd_terminal.o
> -obj-$(CONFIG_CMD_TIME) += cmd_time.o
> -obj-$(CONFIG_CMD_TRACE) += cmd_trace.o
> -obj-$(CONFIG_SYS_HUSH_PARSER) += cmd_test.o
> -obj-$(CONFIG_CMD_TPM) += cmd_tpm.o
> -obj-$(CONFIG_CMD_TPM_TEST) += cmd_tpm_test.o
> -obj-$(CONFIG_CMD_TSI148) += cmd_tsi148.o
> -obj-$(CONFIG_CMD_UBI) += cmd_ubi.o
> -obj-$(CONFIG_CMD_UBIFS) += cmd_ubifs.o
> -obj-$(CONFIG_CMD_UNIVERSE) += cmd_universe.o
> -obj-$(CONFIG_CMD_UNZIP) += cmd_unzip.o
> -ifdef CONFIG_LZMA
> -obj-$(CONFIG_CMD_LZMADEC) += cmd_lzmadec.o
> -endif
> +
>   ifdef CONFIG_CMD_USB
> -obj-y += cmd_usb.o
>   obj-y += usb.o usb_hub.o
>   obj-$(CONFIG_USB_STORAGE) += usb_storage.o
>   endif
> -obj-$(CONFIG_CMD_FASTBOOT) += cmd_fastboot.o
> -obj-$(CONFIG_CMD_FS_UUID) += cmd_fs_uuid.o
> -
> -obj-$(CONFIG_CMD_USB_MASS_STORAGE) += cmd_usb_mass_storage.o
> -obj-$(CONFIG_CMD_THOR_DOWNLOAD) += cmd_thordown.o
> -obj-$(CONFIG_CMD_XIMG) += cmd_ximg.o
> -obj-$(CONFIG_YAFFS2) += cmd_yaffs2.o
> -obj-$(CONFIG_CMD_SPL) += cmd_spl.o
> -obj-$(CONFIG_CMD_ZIP) += cmd_zip.o
> -obj-$(CONFIG_CMD_ZFS) += cmd_zfs.o
>
>   # others
>   obj-$(CONFIG_BOOTSTAGE) += bootstage.o
> @@ -214,14 +84,8 @@ obj-$(CONFIG_MODEM_SUPPORT) += modem.o
>   obj-$(CONFIG_UPDATE_TFTP) += update.o
>   obj-$(CONFIG_DFU_TFTP) += update.o
>   obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
> -obj-$(CONFIG_CMD_DFU) += cmd_dfu.o
> -obj-$(CONFIG_CMD_GPT) += cmd_gpt.o
> -obj-$(CONFIG_CMD_ETHSW) += cmd_ethsw.o
>
> -# Power
> -obj-$(CONFIG_CMD_PMIC) += cmd_pmic.o
> -obj-$(CONFIG_CMD_REGULATOR) += cmd_regulator.o
> -endif
> +endif # !CONFIG_SPL_BUILD
>
>   ifdef CONFIG_SPL_BUILD
>   obj-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
> @@ -232,9 +96,6 @@ ifdef CONFIG_SPL_USB_HOST_SUPPORT
>   obj-$(CONFIG_SPL_USB_SUPPORT) += usb.o usb_hub.o
>   obj-$(CONFIG_USB_STORAGE) += usb_storage.o
>   endif
> -ifdef CONFIG_SPL_SATA_SUPPORT
> -obj-$(CONFIG_CMD_SCSI) += cmd_scsi.o
> -endif
>   # environment
>   ifdef CONFIG_SPL_ENV_SUPPORT
>   obj-$(CONFIG_SPL_ENV_SUPPORT) += env_attr.o
> @@ -248,8 +109,6 @@ obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += env_sf.o
>   obj-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
>   endif
>   endif
> -# core command
> -obj-y += cmd_nvedit.o
>   #environment
>   obj-y += env_common.o
>   #others
> @@ -287,8 +146,6 @@ obj-y += fb_nand.o
>   endif
>   endif
>
> -obj-$(CONFIG_CMD_BLOB) += cmd_blob.o
> -
>   # We always have this since drivers/ddr/fs/interactive.c needs it
>   obj-y += cli_simple.o
>
> @@ -297,6 +154,5 @@ obj-y += cli_readline.o
>   obj-y += command.o
>   obj-y += s_record.o
>   obj-y += xyzModem.o
> -obj-y += cmd_disk.o
>
>   CFLAGS_env_embedded.o := -Wa,--no-warn -DENV_CRC=$(shell tools/envcrc 2>/dev/null)
> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
> index 96f414a..dff16b9 100644
> --- a/scripts/Makefile.spl
> +++ b/scripts/Makefile.spl
> @@ -53,7 +53,7 @@ libs-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/
>
>   libs-$(CONFIG_SPL_FRAMEWORK) += common/spl/
>   libs-y += common/init/
> -libs-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += common/
> +libs-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += common/ cmd/
>   libs-$(CONFIG_SPL_LIBDISK_SUPPORT) += disk/
>   libs-y += drivers/
>   libs-y += dts/
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list