diff --git a/README b/README
index 2dafe21f0d..5f3ccbe112 100644
--- a/README
+++ b/README
@@ -850,7 +850,6 @@ The following options need to be configured:
 		CONFIG_CMD_IMI		  iminfo
 		CONFIG_CMD_IMLS		  List all images found in NOR flash
 		CONFIG_CMD_IMLS_NAND	* List all images found in NAND flash
-		CONFIG_CMD_IMMAP	* IMMR dump support
 		CONFIG_CMD_IOTRACE	* I/O tracing for debugging
 		CONFIG_CMD_IMPORTENV	* import an environment
 		CONFIG_CMD_INI		* import data from an ini file into the env
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 3d2c1319c9..eae94c8fd5 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -49,6 +49,8 @@ config 4xx
 
 endchoice
 
+source "arch/powerpc/lib/Kconfig"
+
 source "arch/powerpc/cpu/mpc512x/Kconfig"
 source "arch/powerpc/cpu/mpc5xx/Kconfig"
 source "arch/powerpc/cpu/mpc5xxx/Kconfig"
diff --git a/arch/powerpc/lib/Kconfig b/arch/powerpc/lib/Kconfig
new file mode 100644
index 0000000000..987cec99cb
--- /dev/null
+++ b/arch/powerpc/lib/Kconfig
@@ -0,0 +1,8 @@
+config CMD_IMMAP
+	bool "Enable various commands to dump IMMR information"
+	help
+	  This enables various commands such as:
+
+	    siuinfo - print System Interface Unit (SIU) registers
+	    memcinfo - print Memory Controller registers
+	    sitinfo - print System Integration Timers (SIT) registers
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index 88adb26e2e..e09bd9a88a 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -33,6 +33,7 @@ obj-$(CONFIG_BAT_RW) += bat_rw.o
 obj-$(CONFIG_CMD_BOOTM) += bootm.o
 obj-y	+= cache.o
 obj-y	+= extable.o
+obj-$(CONFIG_CMD_IMMAP) += immap.o
 obj-y	+= interrupts.o
 obj-$(CONFIG_CMD_KGDB) += kgdb.o
 obj-$(CONFIG_IDE) += ide.o
diff --git a/cmd/immap.c b/arch/powerpc/lib/immap.c
similarity index 100%
rename from cmd/immap.c
rename to arch/powerpc/lib/immap.c
diff --git a/cmd/Makefile b/cmd/Makefile
index f043407656..1293d24e39 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -68,7 +68,6 @@ obj-$(CONFIG_CMD_I2C) += i2c.o
 obj-$(CONFIG_CMD_IOTRACE) += iotrace.o
 obj-$(CONFIG_CMD_HASH) += hash.o
 obj-$(CONFIG_CMD_IDE) += ide.o disk.o
-obj-$(CONFIG_CMD_IMMAP) += immap.o
 obj-$(CONFIG_CMD_INI) += ini.o
 obj-$(CONFIG_CMD_IRQ) += irq.o
 obj-$(CONFIG_CMD_ITEST) += itest.o
diff --git a/configs/canmb_defconfig b/configs/canmb_defconfig
index 1f6f18d601..87eb205d0c 100644
--- a/configs/canmb_defconfig
+++ b/configs/canmb_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_CANMB=y
 CONFIG_BOOTDELAY=5
 CONFIG_CMD_ASKENV=y
diff --git a/configs/kmcoge4_defconfig b/configs/kmcoge4_defconfig
index 4d6718dd31..63ad7edf48 100644
--- a/configs/kmcoge4_defconfig
+++ b/configs/kmcoge4_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_KMP204X=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
diff --git a/configs/kmcoge5ne_defconfig b/configs/kmcoge5ne_defconfig
index 233943c0d7..31cad022ef 100644
--- a/configs/kmcoge5ne_defconfig
+++ b/configs/kmcoge5ne_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_KM8360=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/kmeter1_defconfig b/configs/kmeter1_defconfig
index d92e6b2934..bb8a0fe292 100644
--- a/configs/kmeter1_defconfig
+++ b/configs/kmeter1_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_KM8360=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/kmlion1_defconfig b/configs/kmlion1_defconfig
index 13f5c1e304..e5b7ba67a4 100644
--- a/configs/kmlion1_defconfig
+++ b/configs/kmlion1_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_KMP204X=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
diff --git a/configs/kmopti2_defconfig b/configs/kmopti2_defconfig
index 0b112ffb48..9e9c0b9843 100644
--- a/configs/kmopti2_defconfig
+++ b/configs/kmopti2_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/kmsupx5_defconfig b/configs/kmsupx5_defconfig
index ba02124ccb..5235530725 100644
--- a/configs/kmsupx5_defconfig
+++ b/configs/kmsupx5_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/kmtegr1_defconfig b/configs/kmtegr1_defconfig
index 16b7b18062..464a125c39 100644
--- a/configs/kmtegr1_defconfig
+++ b/configs/kmtegr1_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_SUVD3=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/kmtepr2_defconfig b/configs/kmtepr2_defconfig
index 3f73346208..ca64a6e99e 100644
--- a/configs/kmtepr2_defconfig
+++ b/configs/kmtepr2_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/kmvect1_defconfig b/configs/kmvect1_defconfig
index 8b9180b6a6..04a3e48d53 100644
--- a/configs/kmvect1_defconfig
+++ b/configs/kmvect1_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_SUVD3=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/mgcoge3ne_defconfig b/configs/mgcoge3ne_defconfig
index d66fffe47e..0d4a1e102d 100644
--- a/configs/mgcoge3ne_defconfig
+++ b/configs/mgcoge3ne_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC8260=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_KM82XX=y
 CONFIG_FIT=y
 CONFIG_OF_BOARD_SETUP=y
diff --git a/configs/mgcoge_defconfig b/configs/mgcoge_defconfig
index c9f07d11a4..f4f8ae5452 100644
--- a/configs/mgcoge_defconfig
+++ b/configs/mgcoge_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC8260=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_KM82XX=y
 CONFIG_FIT=y
 CONFIG_OF_BOARD_SETUP=y
diff --git a/configs/motionpro_defconfig b/configs/motionpro_defconfig
index ab9ea81021..5521e6d01b 100644
--- a/configs/motionpro_defconfig
+++ b/configs/motionpro_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_MOTIONPRO=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_VERSION_VARIABLE=y
diff --git a/configs/munices_defconfig b/configs/munices_defconfig
index ddd5c43de2..0e2b188a51 100644
--- a/configs/munices_defconfig
+++ b/configs/munices_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC5xxx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_MUNICES=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=5
diff --git a/configs/suvd3_defconfig b/configs/suvd3_defconfig
index 68fee8ce79..68cfe65a5e 100644
--- a/configs/suvd3_defconfig
+++ b/configs/suvd3_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_SUVD3=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/tuge1_defconfig b/configs/tuge1_defconfig
index a5579e4f33..3cb1404c92 100644
--- a/configs/tuge1_defconfig
+++ b/configs/tuge1_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/configs/tuxx1_defconfig b/configs/tuxx1_defconfig
index 519472f247..18b124a58c 100644
--- a/configs/tuxx1_defconfig
+++ b/configs/tuxx1_defconfig
@@ -1,5 +1,6 @@
 CONFIG_PPC=y
 CONFIG_MPC83xx=y
+CONFIG_CMD_IMMAP=y
 CONFIG_TARGET_TUXX1=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index b00f96ef6e..8ab46ca47e 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -13,7 +13,6 @@
  * Alphabetical list of all possible commands.
  */
 
-#define CONFIG_CMD_IMMAP	/* IMMR dump support		*/
 #define CONFIG_CMD_IO		/* Access to X86 IO space	*/
 #define CONFIG_CMD_IRQ		/* irqinfo			*/
 #define CONFIG_CMD_JFFS2	/* JFFS2 Support		*/
diff --git a/include/configs/canmb.h b/include/configs/canmb.h
index c70979ed1a..b7c74b4264 100644
--- a/include/configs/canmb.h
+++ b/include/configs/canmb.h
@@ -46,7 +46,6 @@
 /*
  * Command line configuration.
  */
-#define CONFIG_CMD_IMMAP
 #define CONFIG_CMD_REGINFO
 
 /*
diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h
index 506ce51236..08ccaa200c 100644
--- a/include/configs/km/keymile-common.h
+++ b/include/configs/km/keymile-common.h
@@ -13,7 +13,6 @@
 /*
  * Command line configuration.
  */
-#define CONFIG_CMD_IMMAP
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_MTDPARTS
 
diff --git a/include/configs/motionpro.h b/include/configs/motionpro.h
index 02ac7b3089..035f1dc5f9 100644
--- a/include/configs/motionpro.h
+++ b/include/configs/motionpro.h
@@ -33,7 +33,6 @@
 /*
  * Command line configuration.
  */
-#define CONFIG_CMD_IMMAP
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_REGINFO
 
diff --git a/include/configs/munices.h b/include/configs/munices.h
index 1679430951..ad2d69e6a5 100644
--- a/include/configs/munices.h
+++ b/include/configs/munices.h
@@ -26,7 +26,6 @@
 /*
  * Command line configuration.
  */
-#define CONFIG_CMD_IMMAP
 #define CONFIG_CMD_REGINFO
 
 #if defined(CONFIG_CMD_KGDB)
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index bf8e9d5024..3d5e45da73 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -384,7 +384,6 @@ CONFIG_CM922T_XA10
 CONFIG_CMDLINE_EDITING
 CONFIG_CMDLINE_PS_SUPPORT
 CONFIG_CMDLINE_TAG
-CONFIG_CMD_IMMAP
 CONFIG_CMD_IMXOTP
 CONFIG_CMD_IMX_FUSE
 CONFIG_CMD_IO
