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

Simon Glass sjg at chromium.org
Mon Jan 18 04:53:51 CET 2016


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>
---

 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/
-- 
2.6.0.rc2.230.g3dd15c0



More information about the U-Boot mailing list