summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/_exports.h2
-rw-r--r--include/asm-generic/bitsperlong.h8
-rw-r--r--include/axp152.h6
-rw-r--r--include/axp209.h17
-rw-r--r--include/axp221.h16
-rw-r--r--include/axp_pmic.h37
-rw-r--r--include/config_cmd_all.h1
-rw-r--r--include/config_distro_bootcmd.h18
-rw-r--r--include/config_distro_defaults.h1
-rw-r--r--include/configs/B4860QDS.h1
-rw-r--r--include/configs/BSC9131RDB.h1
-rw-r--r--include/configs/BSC9132QDS.h1
-rw-r--r--include/configs/C29XPCIE.h1
-rw-r--r--include/configs/CPCI2DP.h1
-rw-r--r--include/configs/CPCI4052.h1
-rw-r--r--include/configs/M5208EVBE.h1
-rw-r--r--include/configs/M52277EVB.h1
-rw-r--r--include/configs/M5235EVB.h1
-rw-r--r--include/configs/M5272C3.h1
-rw-r--r--include/configs/M5275EVB.h1
-rw-r--r--include/configs/M53017EVB.h1
-rw-r--r--include/configs/M5329EVB.h1
-rw-r--r--include/configs/M5373EVB.h1
-rw-r--r--include/configs/M54418TWR.h1
-rw-r--r--include/configs/M54451EVB.h1
-rw-r--r--include/configs/M54455EVB.h1
-rw-r--r--include/configs/M5475EVB.h1
-rw-r--r--include/configs/M5485EVB.h1
-rw-r--r--include/configs/MIP405.h1
-rw-r--r--include/configs/MPC8536DS.h1
-rw-r--r--include/configs/MPC8540ADS.h1
-rw-r--r--include/configs/MPC8541CDS.h1
-rw-r--r--include/configs/MPC8544DS.h1
-rw-r--r--include/configs/MPC8548CDS.h1
-rw-r--r--include/configs/MPC8555CDS.h1
-rw-r--r--include/configs/MPC8560ADS.h1
-rw-r--r--include/configs/MPC8568MDS.h1
-rw-r--r--include/configs/MPC8569MDS.h1
-rw-r--r--include/configs/MPC8572DS.h1
-rw-r--r--include/configs/P1010RDB.h1
-rw-r--r--include/configs/P1022DS.h1
-rw-r--r--include/configs/P2041RDB.h1
-rw-r--r--include/configs/PIP405.h1
-rw-r--r--include/configs/PLU405.h1
-rw-r--r--include/configs/PMC405DE.h1
-rw-r--r--include/configs/PMC440.h1
-rw-r--r--include/configs/T102xQDS.h1
-rw-r--r--include/configs/T102xRDB.h1
-rw-r--r--include/configs/T1040QDS.h1
-rw-r--r--include/configs/T104xRDB.h1
-rw-r--r--include/configs/T208xQDS.h1
-rw-r--r--include/configs/T208xRDB.h1
-rw-r--r--include/configs/T4240RDB.h1
-rw-r--r--include/configs/TQM823L.h1
-rw-r--r--include/configs/TQM823M.h1
-rw-r--r--include/configs/TQM850L.h1
-rw-r--r--include/configs/TQM850M.h1
-rw-r--r--include/configs/TQM855L.h1
-rw-r--r--include/configs/TQM855M.h1
-rw-r--r--include/configs/TQM860L.h1
-rw-r--r--include/configs/TQM860M.h1
-rw-r--r--include/configs/TQM862L.h1
-rw-r--r--include/configs/TQM862M.h1
-rw-r--r--include/configs/TQM866M.h1
-rw-r--r--include/configs/UCP1020.h1
-rw-r--r--include/configs/VCMA9.h1
-rw-r--r--include/configs/VOM405.h1
-rw-r--r--include/configs/am335x_evm.h56
-rw-r--r--include/configs/am43xx_evm.h14
-rw-r--r--include/configs/amcc-common.h1
-rw-r--r--include/configs/arcangel4.h1
-rw-r--r--include/configs/astro_mcf5373l.h1
-rw-r--r--include/configs/axs101.h1
-rw-r--r--include/configs/bf537-minotaur.h1
-rw-r--r--include/configs/bf537-srv1.h1
-rw-r--r--include/configs/bfin_adi_common.h1
-rw-r--r--include/configs/blackstamp.h1
-rw-r--r--include/configs/blackvme.h1
-rw-r--r--include/configs/controlcenterd.h1
-rw-r--r--include/configs/corenet_ds.h1
-rw-r--r--include/configs/crownbay.h1
-rw-r--r--include/configs/db-88f6820-gp.h6
-rw-r--r--include/configs/db-mv784mp-gp.h6
-rw-r--r--include/configs/dbau1x00.h1
-rw-r--r--include/configs/digsy_mtc.h1
-rw-r--r--include/configs/dlvision-10g.h1
-rw-r--r--include/configs/dlvision.h1
-rw-r--r--include/configs/dockstar.h4
-rw-r--r--include/configs/io.h1
-rw-r--r--include/configs/iocon.h1
-rw-r--r--include/configs/k2g_evm.h59
-rw-r--r--include/configs/km/km_arm.h1
-rw-r--r--include/configs/lsxl.h1
-rw-r--r--include/configs/lwmon5.h1
-rw-r--r--include/configs/malta.h1
-rw-r--r--include/configs/maxbcm.h2
-rw-r--r--include/configs/mecp5123.h1
-rw-r--r--include/configs/motionpro.h1
-rw-r--r--include/configs/munices.h1
-rw-r--r--include/configs/mv-common.h10
-rw-r--r--include/configs/neo.h1
-rw-r--r--include/configs/nitrogen6x.h1
-rw-r--r--include/configs/odroid.h16
-rw-r--r--include/configs/omap3_igep00x0.h18
-rw-r--r--include/configs/openrisc-generic.h1
-rw-r--r--include/configs/origen.h1
-rw-r--r--include/configs/p1_p2_rdb_pc.h1
-rw-r--r--include/configs/p1_twr.h1
-rw-r--r--include/configs/pb1x00.h2
-rw-r--r--include/configs/pcm052.h3
-rw-r--r--include/configs/qemu-mips.h1
-rw-r--r--include/configs/qemu-mips64.h1
-rw-r--r--include/configs/qemu-ppce500.h1
-rw-r--r--include/configs/sandbox.h1
-rw-r--r--include/configs/sbc8548.h1
-rw-r--r--include/configs/sbc8641d.h11
-rw-r--r--include/configs/smdk2410.h1
-rw-r--r--include/configs/smdkc100.h1
-rw-r--r--include/configs/smdkv310.h1
-rw-r--r--include/configs/som-6896.h38
-rw-r--r--include/configs/sunxi-common.h37
-rw-r--r--include/configs/t4qds.h1
-rw-r--r--include/configs/tb100.h1
-rw-r--r--include/configs/ti_armv7_common.h2
-rw-r--r--include/configs/ti_armv7_keystone2.h24
-rw-r--r--include/configs/ti_omap4_common.h6
-rw-r--r--include/configs/ti_omap5_common.h12
-rw-r--r--include/configs/vct.h2
-rw-r--r--include/configs/vexpress_aemv8a.h4
-rw-r--r--include/configs/vme8349.h1
-rw-r--r--include/configs/x86-common.h3
-rw-r--r--include/configs/xilinx-ppc.h1
-rw-r--r--include/configs/xilinx_zynqmp.h1
-rw-r--r--include/configs/xpedite1000.h1
-rw-r--r--include/configs/xpedite517x.h1
-rw-r--r--include/configs/xpedite520x.h1
-rw-r--r--include/configs/xpedite537x.h1
-rw-r--r--include/configs/xpedite550x.h1
-rw-r--r--include/configs/zmx25.h1
-rw-r--r--include/configs/zynq-common.h1
-rw-r--r--include/cpsw.h2
-rw-r--r--include/debug_uart.h30
-rw-r--r--include/dm/uclass-id.h1
-rw-r--r--include/dt-bindings/pinctrl/am43xx.h33
-rw-r--r--include/dt-bindings/pwm/pwm.h14
-rw-r--r--include/exports.h2
-rw-r--r--include/linux/bitops.h18
-rw-r--r--include/malloc.h2
-rw-r--r--include/pci_ids.h2
-rw-r--r--include/remoteproc.h162
-rw-r--r--include/vxworks.h51
151 files changed, 635 insertions, 232 deletions
diff --git a/include/_exports.h b/include/_exports.h
index 74a882a680..11beeb24f1 100644
--- a/include/_exports.h
+++ b/include/_exports.h
@@ -23,7 +23,7 @@
EXPORT_FUNC(dummy, void, free_hdlr, void)
#endif
EXPORT_FUNC(malloc, void *, malloc, size_t)
-#ifndef CONFIG_SYS_MALLOC_SIMPLE
+#if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
EXPORT_FUNC(free, void, free, void *)
#endif
EXPORT_FUNC(udelay, void, udelay, unsigned long)
diff --git a/include/asm-generic/bitsperlong.h b/include/asm-generic/bitsperlong.h
new file mode 100644
index 0000000000..75ee21e86a
--- /dev/null
+++ b/include/asm-generic/bitsperlong.h
@@ -0,0 +1,8 @@
+#ifndef __ASM_GENERIC_BITS_PER_LONG
+#define __ASM_GENERIC_BITS_PER_LONG
+
+#ifndef BITS_PER_LONG_LONG
+#define BITS_PER_LONG_LONG 64
+#endif
+
+#endif /* __ASM_GENERIC_BITS_PER_LONG */
diff --git a/include/axp152.h b/include/axp152.h
index c3aef77210..1643266f9a 100644
--- a/include/axp152.h
+++ b/include/axp152.h
@@ -25,9 +25,3 @@ enum axp152_reg {
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
#define AXP_GPIO_STATE 0x97
#define AXP_GPIO_STATE_OFFSET 0
-
-int axp152_set_dcdc2(int mvolt);
-int axp152_set_dcdc3(int mvolt);
-int axp152_set_dcdc4(int mvolt);
-int axp152_set_ldo2(int mvolt);
-int axp152_init(void);
diff --git a/include/axp209.h b/include/axp209.h
index 6170202b4c..e1b22e3442 100644
--- a/include/axp209.h
+++ b/include/axp209.h
@@ -7,6 +7,7 @@
enum axp209_reg {
AXP209_POWER_STATUS = 0x00,
AXP209_CHIP_VERSION = 0x03,
+ AXP209_OUTPUT_CTRL = 0x12,
AXP209_DCDC2_VOLTAGE = 0x23,
AXP209_DCDC3_VOLTAGE = 0x27,
AXP209_LDO24_VOLTAGE = 0x28,
@@ -23,6 +24,13 @@ enum axp209_reg {
#define AXP209_POWER_STATUS_ON_BY_DC (1 << 0)
#define AXP209_POWER_STATUS_VBUS_USABLE (1 << 4)
+#define AXP209_OUTPUT_CTRL_EXTEN (1 << 0)
+#define AXP209_OUTPUT_CTRL_DCDC3 (1 << 1)
+#define AXP209_OUTPUT_CTRL_LDO2 (1 << 2)
+#define AXP209_OUTPUT_CTRL_LDO4 (1 << 3)
+#define AXP209_OUTPUT_CTRL_DCDC2 (1 << 4)
+#define AXP209_OUTPUT_CTRL_LDO3 (1 << 6)
+
#define AXP209_IRQ5_PEK_UP (1 << 6)
#define AXP209_IRQ5_PEK_DOWN (1 << 5)
@@ -39,12 +47,3 @@ enum axp209_reg {
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
#define AXP_GPIO_STATE 0x94
#define AXP_GPIO_STATE_OFFSET 4
-
-extern int axp209_set_dcdc2(int mvolt);
-extern int axp209_set_dcdc3(int mvolt);
-extern int axp209_set_ldo2(int mvolt);
-extern int axp209_set_ldo3(int mvolt);
-extern int axp209_set_ldo4(int mvolt);
-extern int axp209_init(void);
-extern int axp209_poweron_by_dc(void);
-extern int axp209_power_button(void);
diff --git a/include/axp221.h b/include/axp221.h
index 9c871623a8..0ee21b6280 100644
--- a/include/axp221.h
+++ b/include/axp221.h
@@ -62,19 +62,3 @@
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
#define AXP_GPIO_STATE 0x94
#define AXP_GPIO_STATE_OFFSET 0
-
-int axp221_set_dcdc1(unsigned int mvolt);
-int axp221_set_dcdc2(unsigned int mvolt);
-int axp221_set_dcdc3(unsigned int mvolt);
-int axp221_set_dcdc4(unsigned int mvolt);
-int axp221_set_dcdc5(unsigned int mvolt);
-int axp221_set_dldo1(unsigned int mvolt);
-int axp221_set_dldo2(unsigned int mvolt);
-int axp221_set_dldo3(unsigned int mvolt);
-int axp221_set_dldo4(unsigned int mvolt);
-int axp221_set_aldo1(unsigned int mvolt);
-int axp221_set_aldo2(unsigned int mvolt);
-int axp221_set_aldo3(unsigned int mvolt);
-int axp221_set_eldo(int eldo_num, unsigned int mvolt);
-int axp221_init(void);
-int axp221_get_sid(unsigned int *sid);
diff --git a/include/axp_pmic.h b/include/axp_pmic.h
new file mode 100644
index 0000000000..ef339c4785
--- /dev/null
+++ b/include/axp_pmic.h
@@ -0,0 +1,37 @@
+/*
+ * (C) Copyright 2015 Hans de Goede <hdegoede@redhat.com>
+ *
+ * X-Powers AX Power Management IC support header
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+#ifndef _AXP_PMIC_H_
+
+#ifdef CONFIG_AXP152_POWER
+#include <axp152.h>
+#endif
+#ifdef CONFIG_AXP209_POWER
+#include <axp209.h>
+#endif
+#ifdef CONFIG_AXP221_POWER
+#include <axp221.h>
+#endif
+
+int axp_set_dcdc1(unsigned int mvolt);
+int axp_set_dcdc2(unsigned int mvolt);
+int axp_set_dcdc3(unsigned int mvolt);
+int axp_set_dcdc4(unsigned int mvolt);
+int axp_set_dcdc5(unsigned int mvolt);
+int axp_set_aldo1(unsigned int mvolt);
+int axp_set_aldo2(unsigned int mvolt);
+int axp_set_aldo3(unsigned int mvolt);
+int axp_set_aldo4(unsigned int mvolt);
+int axp_set_dldo1(unsigned int mvolt);
+int axp_set_dldo2(unsigned int mvolt);
+int axp_set_dldo3(unsigned int mvolt);
+int axp_set_dldo4(unsigned int mvolt);
+int axp_set_eldo(int eldo_num, unsigned int mvolt);
+int axp_init(void);
+int axp_get_sid(unsigned int *sid);
+
+#endif
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index 4c46ddad2b..8832552f31 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -29,7 +29,6 @@
#define CONFIG_CMD_DOC /* Disk-On-Chip Support */
#define CONFIG_CMD_DTT /* Digital Therm and Thermostat */
#define CONFIG_CMD_EEPROM /* EEPROM read/write support */
-#define CONFIG_CMD_ELF /* ELF (VxWorks) load/boot cmd */
#define CONFIG_CMD_EXT2 /* EXT2 Support */
#define CONFIG_CMD_FAT /* FAT support */
#define CONFIG_CMD_FDC /* Floppy Disk Support */
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index 3a360ca49a..d2f49a12c1 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -191,11 +191,12 @@
BOOTENV_BOOT_TARGETS \
\
"boot_extlinux=" \
- "sysboot ${devtype} ${devnum}:${bootpart} any " \
+ "sysboot ${devtype} ${devnum}:${distro_bootpart} any " \
"${scriptaddr} ${prefix}extlinux/extlinux.conf\0" \
\
"scan_dev_for_extlinux=" \
- "if test -e ${devtype} ${devnum}:${bootpart} " \
+ "if test -e ${devtype} " \
+ "${devnum}:${distro_bootpart} " \
"${prefix}extlinux/extlinux.conf; then " \
"echo Found ${prefix}extlinux/extlinux.conf; " \
"run boot_extlinux; " \
@@ -203,13 +204,14 @@
"fi\0" \
\
"boot_a_script=" \
- "load ${devtype} ${devnum}:${bootpart} " \
+ "load ${devtype} ${devnum}:${distro_bootpart} " \
"${scriptaddr} ${prefix}${script}; " \
"source ${scriptaddr}\0" \
\
"scan_dev_for_scripts=" \
"for script in ${boot_scripts}; do " \
- "if test -e ${devtype} ${devnum}:${bootpart} " \
+ "if test -e ${devtype} " \
+ "${devnum}:${distro_bootpart} " \
"${prefix}${script}; then " \
"echo Found U-Boot script " \
"${prefix}${script}; " \
@@ -219,7 +221,8 @@
"done\0" \
\
"scan_dev_for_boot=" \
- "echo Scanning ${devtype} ${devnum}:${bootpart}...; " \
+ "echo Scanning ${devtype} " \
+ "${devnum}:${distro_bootpart}...; " \
"for prefix in ${boot_prefixes}; do " \
"run scan_dev_for_extlinux; " \
"run scan_dev_for_scripts; " \
@@ -228,8 +231,9 @@
"scan_dev_for_boot_part=" \
"part list ${devtype} ${devnum} -bootable devplist; " \
"env exists devplist || setenv devplist 1; " \
- "for bootpart in ${devplist}; do " \
- "if fstype ${devtype} ${devnum}:${bootpart} " \
+ "for distro_bootpart in ${devplist}; do " \
+ "if fstype ${devtype} " \
+ "${devnum}:${distro_bootpart} " \
"bootfstype; then " \
"run scan_dev_for_boot; " \
"fi; " \
diff --git a/include/config_distro_defaults.h b/include/config_distro_defaults.h
index d8165cc80e..9d1de5508f 100644
--- a/include/config_distro_defaults.h
+++ b/include/config_distro_defaults.h
@@ -49,7 +49,6 @@
#define CONFIG_CMD_BOOTZ
#endif
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_EXT4
#define CONFIG_CMD_FAT
diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h
index 1e458f44f6..858e25dbc3 100644
--- a/include/configs/B4860QDS.h
+++ b/include/configs/B4860QDS.h
@@ -756,7 +756,6 @@ unsigned long get_board_ddr_clk(void);
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h
index a7c927759c..226a170c4d 100644
--- a/include/configs/BSC9131RDB.h
+++ b/include/configs/BSC9131RDB.h
@@ -342,7 +342,6 @@ extern unsigned long get_sdram_size(void);
*/
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_ERRATA
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_FAT
#define CONFIG_CMD_IRQ
diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h
index 804493e645..e54544789a 100644
--- a/include/configs/BSC9132QDS.h
+++ b/include/configs/BSC9132QDS.h
@@ -580,7 +580,6 @@ combinations. this should be removed later
*/
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IRQ
diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h
index 6c39b1ed2b..f574994219 100644
--- a/include/configs/C29XPCIE.h
+++ b/include/configs/C29XPCIE.h
@@ -494,7 +494,6 @@
* Command line configuration.
*/
#define CONFIG_CMD_ERRATA
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
diff --git a/include/configs/CPCI2DP.h b/include/configs/CPCI2DP.h
index 638a586492..ce7bc35dd9 100644
--- a/include/configs/CPCI2DP.h
+++ b/include/configs/CPCI2DP.h
@@ -55,7 +55,6 @@
*/
#define CONFIG_CMD_PCI
#define CONFIG_CMD_IRQ
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_BSP
#define CONFIG_CMD_EEPROM
diff --git a/include/configs/CPCI4052.h b/include/configs/CPCI4052.h
index 9c25751c8f..2827a04814 100644
--- a/include/configs/CPCI4052.h
+++ b/include/configs/CPCI4052.h
@@ -72,7 +72,6 @@
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_IDE
#define CONFIG_CMD_FAT
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_DATE
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
diff --git a/include/configs/M5208EVBE.h b/include/configs/M5208EVBE.h
index 5e15dd91b3..b38a3499a1 100644
--- a/include/configs/M5208EVBE.h
+++ b/include/configs/M5208EVBE.h
@@ -23,7 +23,6 @@
/* Command line configuration */
#define CONFIG_CMD_CACHE
-#define CONFIG_CMD_ELF
#undef CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
diff --git a/include/configs/M52277EVB.h b/include/configs/M52277EVB.h
index d1cadc0165..ffee2250bb 100644
--- a/include/configs/M52277EVB.h
+++ b/include/configs/M52277EVB.h
@@ -39,7 +39,6 @@
/* Command line configuration */
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_JFFS2
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/M5235EVB.h b/include/configs/M5235EVB.h
index 1472672087..2a198e5cc3 100644
--- a/include/configs/M5235EVB.h
+++ b/include/configs/M5235EVB.h
@@ -37,7 +37,6 @@
/* Command line configuration */
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_PCI
diff --git a/include/configs/M5272C3.h b/include/configs/M5272C3.h
index 006f2d8e9b..718f31fefa 100644
--- a/include/configs/M5272C3.h
+++ b/include/configs/M5272C3.h
@@ -59,7 +59,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
-#define CONFIG_CMD_ELF
#define CONFIG_BOOTDELAY 5
diff --git a/include/configs/M5275EVB.h b/include/configs/M5275EVB.h
index 116e8e27f9..195595fb84 100644
--- a/include/configs/M5275EVB.h
+++ b/include/configs/M5275EVB.h
@@ -58,7 +58,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_PING
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_DHCP
diff --git a/include/configs/M53017EVB.h b/include/configs/M53017EVB.h
index a48ae6bccd..42cbb0f153 100644
--- a/include/configs/M53017EVB.h
+++ b/include/configs/M53017EVB.h
@@ -29,7 +29,6 @@
/* Command line configuration */
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#undef CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
diff --git a/include/configs/M5329EVB.h b/include/configs/M5329EVB.h
index e806b7a3eb..b2d544cf4a 100644
--- a/include/configs/M5329EVB.h
+++ b/include/configs/M5329EVB.h
@@ -29,7 +29,6 @@
/* Command line configuration */
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
diff --git a/include/configs/M5373EVB.h b/include/configs/M5373EVB.h
index 1df98f7e48..a906204454 100644
--- a/include/configs/M5373EVB.h
+++ b/include/configs/M5373EVB.h
@@ -29,7 +29,6 @@
/* Command line configuration */
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
diff --git a/include/configs/M54418TWR.h b/include/configs/M54418TWR.h
index db0ddcd5e4..927b7daf8a 100644
--- a/include/configs/M54418TWR.h
+++ b/include/configs/M54418TWR.h
@@ -41,7 +41,6 @@
#define CONFIG_CMD_CACHE
#undef CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#undef CONFIG_CMD_I2C
#undef CONFIG_CMD_JFFS2
#undef CONFIG_CMD_UBI
diff --git a/include/configs/M54451EVB.h b/include/configs/M54451EVB.h
index de747a48be..61ebb24214 100644
--- a/include/configs/M54451EVB.h
+++ b/include/configs/M54451EVB.h
@@ -42,7 +42,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#undef CONFIG_CMD_JFFS2
#define CONFIG_CMD_MII
diff --git a/include/configs/M54455EVB.h b/include/configs/M54455EVB.h
index 06da5f0e50..f813dab4b1 100644
--- a/include/configs/M54455EVB.h
+++ b/include/configs/M54455EVB.h
@@ -42,7 +42,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_FAT
#define CONFIG_CMD_I2C
diff --git a/include/configs/M5475EVB.h b/include/configs/M5475EVB.h
index e30b645efa..81ecbc86ea 100644
--- a/include/configs/M5475EVB.h
+++ b/include/configs/M5475EVB.h
@@ -31,7 +31,6 @@
/* Command line configuration */
#define CONFIG_CMD_CACHE
#undef CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_PCI
diff --git a/include/configs/M5485EVB.h b/include/configs/M5485EVB.h
index 051c9409bd..8621d7a8d4 100644
--- a/include/configs/M5485EVB.h
+++ b/include/configs/M5485EVB.h
@@ -31,7 +31,6 @@
/* Command line configuration */
#define CONFIG_CMD_CACHE
#undef CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_PCI
diff --git a/include/configs/MIP405.h b/include/configs/MIP405.h
index cb21b7396e..0757e67b57 100644
--- a/include/configs/MIP405.h
+++ b/include/configs/MIP405.h
@@ -55,7 +55,6 @@
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IDE
diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h
index 131243826d..7c51eef9d3 100644
--- a/include/configs/MPC8536DS.h
+++ b/include/configs/MPC8536DS.h
@@ -638,7 +638,6 @@
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/MPC8540ADS.h b/include/configs/MPC8540ADS.h
index a42c93690d..dc6e3954bc 100644
--- a/include/configs/MPC8540ADS.h
+++ b/include/configs/MPC8540ADS.h
@@ -353,7 +353,6 @@
*/
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#if defined(CONFIG_PCI)
diff --git a/include/configs/MPC8541CDS.h b/include/configs/MPC8541CDS.h
index 8942aae3ef..bf03603837 100644
--- a/include/configs/MPC8541CDS.h
+++ b/include/configs/MPC8541CDS.h
@@ -372,7 +372,6 @@ extern unsigned long get_clock_freq(void);
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h
index 67fac70294..bef28b3d3a 100644
--- a/include/configs/MPC8544DS.h
+++ b/include/configs/MPC8544DS.h
@@ -387,7 +387,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/MPC8548CDS.h b/include/configs/MPC8548CDS.h
index 842afe1421..2bea604804 100644
--- a/include/configs/MPC8548CDS.h
+++ b/include/configs/MPC8548CDS.h
@@ -496,7 +496,6 @@ extern unsigned long get_clock_freq(void);
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/MPC8555CDS.h b/include/configs/MPC8555CDS.h
index 2e8db5a67b..80b14cbf4f 100644
--- a/include/configs/MPC8555CDS.h
+++ b/include/configs/MPC8555CDS.h
@@ -370,7 +370,6 @@ extern unsigned long get_clock_freq(void);
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/MPC8560ADS.h b/include/configs/MPC8560ADS.h
index fabe6bf0cf..e1bc8ccd32 100644
--- a/include/configs/MPC8560ADS.h
+++ b/include/configs/MPC8560ADS.h
@@ -389,7 +389,6 @@
*/
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/MPC8568MDS.h b/include/configs/MPC8568MDS.h
index 7a2131bb41..064bd85090 100644
--- a/include/configs/MPC8568MDS.h
+++ b/include/configs/MPC8568MDS.h
@@ -392,7 +392,6 @@ extern unsigned long get_clock_freq(void);
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/MPC8569MDS.h b/include/configs/MPC8569MDS.h
index 9e38724710..0af670b204 100644
--- a/include/configs/MPC8569MDS.h
+++ b/include/configs/MPC8569MDS.h
@@ -482,7 +482,6 @@ extern unsigned long get_clock_freq(void);
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h
index f3334ad26b..4b5467b4a8 100644
--- a/include/configs/MPC8572DS.h
+++ b/include/configs/MPC8572DS.h
@@ -597,7 +597,6 @@
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_REGINFO
#if defined(CONFIG_PCI)
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index 8ac7000989..b85e19570a 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -813,7 +813,6 @@ extern unsigned long get_sdram_size(void);
*/
#define CONFIG_CMD_DATE
#define CONFIG_CMD_ERRATA
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index 06b293ff81..95c81ab4fb 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -678,7 +678,6 @@
/*
* Command line configuration.
*/
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_I2C
diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h
index 5468495fb4..de205e82ca 100644
--- a/include/configs/P2041RDB.h
+++ b/include/configs/P2041RDB.h
@@ -618,7 +618,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
* Command line configuration.
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h
index c9d08e6600..4601bc8acc 100644
--- a/include/configs/PIP405.h
+++ b/include/configs/PIP405.h
@@ -53,7 +53,6 @@
#define CONFIG_CMD_SCSI
#define CONFIG_CMD_FAT
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_USB
#define CONFIG_CMD_MII
#define CONFIG_CMD_SDRAM
diff --git a/include/configs/PLU405.h b/include/configs/PLU405.h
index 3a71ff8617..d5d30926e3 100644
--- a/include/configs/PLU405.h
+++ b/include/configs/PLU405.h
@@ -66,7 +66,6 @@
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_IDE
#define CONFIG_CMD_FAT
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_NAND
#define CONFIG_CMD_DATE
#define CONFIG_CMD_I2C
diff --git a/include/configs/PMC405DE.h b/include/configs/PMC405DE.h
index 5712298743..2f35ca9417 100644
--- a/include/configs/PMC405DE.h
+++ b/include/configs/PMC405DE.h
@@ -59,7 +59,6 @@
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_MII
diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h
index 17bd18031d..fad5744398 100644
--- a/include/configs/PMC440.h
+++ b/include/configs/PMC440.h
@@ -276,7 +276,6 @@
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_DTT
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
diff --git a/include/configs/T102xQDS.h b/include/configs/T102xQDS.h
index 92f51f6fd6..c9e5ea9c73 100644
--- a/include/configs/T102xQDS.h
+++ b/include/configs/T102xQDS.h
@@ -850,7 +850,6 @@ unsigned long get_board_ddr_clk(void);
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/T102xRDB.h b/include/configs/T102xRDB.h
index 324f7108d5..0601d73d23 100644
--- a/include/configs/T102xRDB.h
+++ b/include/configs/T102xRDB.h
@@ -852,7 +852,6 @@ unsigned long get_board_ddr_clk(void);
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/T1040QDS.h b/include/configs/T1040QDS.h
index 1f4616011a..4b735b5494 100644
--- a/include/configs/T1040QDS.h
+++ b/include/configs/T1040QDS.h
@@ -723,7 +723,6 @@ unsigned long get_board_ddr_clk(void);
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index 5b61b56a4e..7f8d110c14 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -787,7 +787,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_rcw.cfg
#define CONFIG_CMD_DATE
#endif
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index 23ca0cfceb..a804cbe9aa 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -792,7 +792,6 @@ unsigned long get_board_ddr_clk(void);
* Command line configuration.
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index ef42b88854..307a0ea02a 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -748,7 +748,6 @@ unsigned long get_board_ddr_clk(void);
* Command line configuration.
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_MII
#define CONFIG_CMD_I2C
diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h
index d43f6b7ea4..754d182c3a 100644
--- a/include/configs/T4240RDB.h
+++ b/include/configs/T4240RDB.h
@@ -318,7 +318,6 @@
* Command line configuration.
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/TQM823L.h b/include/configs/TQM823L.h
index 9b9217ebc1..cea314915f 100644
--- a/include/configs/TQM823L.h
+++ b/include/configs/TQM823L.h
@@ -109,7 +109,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM823M.h b/include/configs/TQM823M.h
index 5240e0f0b1..85215b132c 100644
--- a/include/configs/TQM823M.h
+++ b/include/configs/TQM823M.h
@@ -107,7 +107,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM850L.h b/include/configs/TQM850L.h
index edadf55f51..97a9fa7ebe 100644
--- a/include/configs/TQM850L.h
+++ b/include/configs/TQM850L.h
@@ -97,7 +97,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM850M.h b/include/configs/TQM850M.h
index 166bb2c6c0..636ffc830b 100644
--- a/include/configs/TQM850M.h
+++ b/include/configs/TQM850M.h
@@ -97,7 +97,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM855L.h b/include/configs/TQM855L.h
index 8b16ad2750..3c82c73e3e 100644
--- a/include/configs/TQM855L.h
+++ b/include/configs/TQM855L.h
@@ -100,7 +100,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM855M.h b/include/configs/TQM855M.h
index 8a05fa4860..66f9a88f9c 100644
--- a/include/configs/TQM855M.h
+++ b/include/configs/TQM855M.h
@@ -129,7 +129,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_EEPROM
#define CONFIG_CMD_IDE
diff --git a/include/configs/TQM860L.h b/include/configs/TQM860L.h
index bf3a25b993..3e20c7161d 100644
--- a/include/configs/TQM860L.h
+++ b/include/configs/TQM860L.h
@@ -100,7 +100,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM860M.h b/include/configs/TQM860M.h
index 47e5c6cae1..be1cd3adc5 100644
--- a/include/configs/TQM860M.h
+++ b/include/configs/TQM860M.h
@@ -100,7 +100,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM862L.h b/include/configs/TQM862L.h
index fa892a9152..f07b903314 100644
--- a/include/configs/TQM862L.h
+++ b/include/configs/TQM862L.h
@@ -103,7 +103,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM862M.h b/include/configs/TQM862M.h
index 13319f2cfb..c887a39700 100644
--- a/include/configs/TQM862M.h
+++ b/include/configs/TQM862M.h
@@ -103,7 +103,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/TQM866M.h b/include/configs/TQM866M.h
index 0e378f29db..a037b4fce5 100644
--- a/include/configs/TQM866M.h
+++ b/include/configs/TQM866M.h
@@ -143,7 +143,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_IDE
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h
index 629be997b6..0801117241 100644
--- a/include/configs/UCP1020.h
+++ b/include/configs/UCP1020.h
@@ -494,7 +494,6 @@
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_MII
diff --git a/include/configs/VCMA9.h b/include/configs/VCMA9.h
index 5b2e09222b..bfcfb405fa 100644
--- a/include/configs/VCMA9.h
+++ b/include/configs/VCMA9.h
@@ -55,7 +55,6 @@
#define CONFIG_CMD_USB
#define CONFIG_CMD_REGINFO
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_PING
#define CONFIG_CMD_BSP
diff --git a/include/configs/VOM405.h b/include/configs/VOM405.h
index ddd6377516..99ee78b885 100644
--- a/include/configs/VOM405.h
+++ b/include/configs/VOM405.h
@@ -62,7 +62,6 @@
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_BSP
#define CONFIG_CMD_IRQ
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index 3cf768e662..d58816d61d 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -18,6 +18,10 @@
#include <configs/ti_am335x_common.h>
+/* Don't override the distro default bootdelay */
+#undef CONFIG_BOOTDELAY
+#include <config_distro_defaults.h>
+
#ifndef CONFIG_SPL_BUILD
#ifndef CONFIG_FIT
# define CONFIG_FIT
@@ -67,6 +71,37 @@
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+#define BOOTENV_DEV_LEGACY_MMC(devtypeu, devtypel, instance) \
+ "bootcmd_" #devtypel #instance "=" \
+ "setenv mmcdev " #instance"; "\
+ "setenv bootpart " #instance":2 ; "\
+ "run mmcboot\0"
+
+#define BOOTENV_DEV_NAME_LEGACY_MMC(devtypeu, devtypel, instance) \
+ #devtypel #instance " "
+
+#define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \
+ "bootcmd_" #devtypel "=" \
+ "run nandboot\0"
+
+#define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
+ #devtypel #instance " "
+
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 0) \
+ func(LEGACY_MMC, legacy_mmc, 0) \
+ func(MMC, mmc, 1) \
+ func(LEGACY_MMC, legacy_mmc, 1) \
+ func(NAND, nand, 0) \
+ func(PXE, pxe, na) \
+ func(DHCP, dhcp, na)
+
+#define CONFIG_BOOTCOMMAND \
+ "run findfdt; " \
+ "run distro_bootcmd"
+
+#include <config_distro_bootcmd.h>
+
#ifndef CONFIG_SPL_BUILD
#define CONFIG_EXTRA_ENV_SETTINGS \
DEFAULT_LINUX_BOOT_ENV \
@@ -160,16 +195,10 @@
"echo WARNING: Could not determine device tree to use; fi; \0" \
NANDARGS \
NETARGS \
- DFUARGS
+ DFUARGS \
+ BOOTENV
#endif
-#define CONFIG_BOOTCOMMAND \
- "run findfdt; " \
- "run mmcboot;" \
- "setenv mmcdev 1; " \
- "setenv bootpart 1:2; " \
- "run mmcboot;" \
- "run nandboot;"
/* NS16550 Configuration */
#define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */
@@ -309,9 +338,12 @@
#endif
#ifdef CONFIG_USB_MUSB_GADGET
+/* Removing USB gadget and can be enabled adter adding support usb DM */
+#ifndef CONFIG_DM_ETH
#define CONFIG_USB_ETHER
#define CONFIG_USB_ETH_RNDIS
#define CONFIG_USBNET_HOST_ADDR "de:ad:be:af:00:00"
+#endif /* CONFIG_DM_ETH */
/* USB TI's IDs */
#define CONFIG_G_DNL_VENDOR_NUM 0x0451
@@ -319,6 +351,14 @@
#define CONFIG_G_DNL_MANUFACTURER "Texas Instruments"
#endif /* CONFIG_USB_MUSB_GADGET */
+/*
+ * Disable MMC DM for SPL build and can be re-enabled after adding
+ * DM support in SPL
+ */
+#ifdef CONFIG_SPL_BUILD
+#undef CONFIG_DM_MMC
+#endif
+
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
/* Remove other SPL modes. */
#undef CONFIG_SPL_YMODEM_SUPPORT
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index 67d5c48dde..d93e3e7619 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -23,9 +23,13 @@
/* NS16550 Configuration */
#define CONFIG_SYS_NS16550
+#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK 48000000
+#define CONFIG_SYS_NS16550_REG_SIZE (-4)
+#else
+#define CONFIG_OMAP_SERIAL
+#endif
/* I2C Configuration */
#define CONFIG_CMD_EEPROM
@@ -136,6 +140,14 @@
#define CONFIG_USB_GADGET_DUALSPEED
#endif
+/*
+ * Disable MMC DM for SPL build and can be re-enabled after adding
+ * DM support in SPL
+ */
+#ifdef CONFIG_SPL_BUILD
+#undef CONFIG_DM_MMC
+#endif
+
#ifndef CONFIG_SPL_BUILD
/* USB Device Firmware Update support */
#define CONFIG_USB_FUNCTION_DFU
diff --git a/include/configs/amcc-common.h b/include/configs/amcc-common.h
index 37dac7d131..c5ef650950 100644
--- a/include/configs/amcc-common.h
+++ b/include/configs/amcc-common.h
@@ -60,7 +60,6 @@
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_DIAG
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IRQ
diff --git a/include/configs/arcangel4.h b/include/configs/arcangel4.h
index a342d7ef92..63f61ae467 100644
--- a/include/configs/arcangel4.h
+++ b/include/configs/arcangel4.h
@@ -41,7 +41,6 @@
/*
* Command line configuration
*/
-#define CONFIG_CMD_ELF
#define CONFIG_OF_LIBFDT
diff --git a/include/configs/astro_mcf5373l.h b/include/configs/astro_mcf5373l.h
index 1c3a1c978c..860615119c 100644
--- a/include/configs/astro_mcf5373l.h
+++ b/include/configs/astro_mcf5373l.h
@@ -61,7 +61,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#if ENABLE_JFFS
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/axs101.h b/include/configs/axs101.h
index 7cb885323a..450291c6c0 100644
--- a/include/configs/axs101.h
+++ b/include/configs/axs101.h
@@ -123,7 +123,6 @@
*/
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MMC
diff --git a/include/configs/bf537-minotaur.h b/include/configs/bf537-minotaur.h
index 6674d28605..c57c8628bf 100644
--- a/include/configs/bf537-minotaur.h
+++ b/include/configs/bf537-minotaur.h
@@ -153,7 +153,6 @@
#define CONFIG_CMD_BOOTLDR
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_SF
diff --git a/include/configs/bf537-srv1.h b/include/configs/bf537-srv1.h
index 15d912e89a..90aeeec5d1 100644
--- a/include/configs/bf537-srv1.h
+++ b/include/configs/bf537-srv1.h
@@ -152,7 +152,6 @@
#define CONFIG_CMD_BOOTLDR
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_SF
diff --git a/include/configs/bfin_adi_common.h b/include/configs/bfin_adi_common.h
index 7b2faf29cb..a07505041e 100644
--- a/include/configs/bfin_adi_common.h
+++ b/include/configs/bfin_adi_common.h
@@ -80,7 +80,6 @@
# define CONFIG_CMD_BOOTLDR
# define CONFIG_CMD_CACHE
# define CONFIG_CMD_CPLBINFO
-# define CONFIG_CMD_ELF
# define CONFIG_CMD_GPIO
# define CONFIG_CMD_KGDB
# define CONFIG_CMD_LDRINFO
diff --git a/include/configs/blackstamp.h b/include/configs/blackstamp.h
index c0197ca0e6..3b7a47f8d6 100644
--- a/include/configs/blackstamp.h
+++ b/include/configs/blackstamp.h
@@ -117,7 +117,6 @@
#define CONFIG_CMD_CPLBINFO
#define CONFIG_CMD_DATE
#define CONFIG_CMD_SF
-#define CONFIG_CMD_ELF
#define CONFIG_BOOTDELAY 5
#define CONFIG_BOOTCOMMAND "run ramboot"
diff --git a/include/configs/blackvme.h b/include/configs/blackvme.h
index 4752b072a1..5b15e0efba 100644
--- a/include/configs/blackvme.h
+++ b/include/configs/blackvme.h
@@ -156,7 +156,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_CPLBINFO
#define CONFIG_CMD_SF
-#define CONFIG_CMD_ELF
/*
* Default: boot from SPI flash.
diff --git a/include/configs/controlcenterd.h b/include/configs/controlcenterd.h
index 9a1f6d0782..c879048853 100644
--- a/include/configs/controlcenterd.h
+++ b/include/configs/controlcenterd.h
@@ -388,7 +388,6 @@
#ifndef CONFIG_TRAILBLAZER
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_FAT
diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h
index 2919220f71..878fda2f80 100644
--- a/include/configs/corenet_ds.h
+++ b/include/configs/corenet_ds.h
@@ -628,7 +628,6 @@
* Command line configuration.
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/crownbay.h b/include/configs/crownbay.h
index 3153a74d3b..7f91ffffa5 100644
--- a/include/configs/crownbay.h
+++ b/include/configs/crownbay.h
@@ -15,6 +15,7 @@
#define CONFIG_SYS_MONITOR_LEN (1 << 20)
#define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_ARCH_EARLY_INIT_R
#define CONFIG_ARCH_MISC_INIT
#define CONFIG_SMSC_LPC47M
diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h
index 1dd4182136..74e5b4759f 100644
--- a/include/configs/db-88f6820-gp.h
+++ b/include/configs/db-88f6820-gp.h
@@ -16,7 +16,9 @@
#define CONFIG_SYS_L2_PL310
+#ifdef CONFIG_SPL_BUILD
#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
+#endif
#define CONFIG_SYS_GENERIC_BOARD
#define CONFIG_DISPLAY_BOARDINFO_LATE
@@ -48,7 +50,6 @@
#define CONFIG_CMD_SPI
#define CONFIG_CMD_TFTPPUT
#define CONFIG_CMD_TIME
-#define CONFIG_CMD_USB
/* I2C */
#define CONFIG_SYS_I2C
@@ -91,9 +92,6 @@
#define CONFIG_SUPPORT_VFAT
/* USB/EHCI configuration */
-#define CONFIG_USB_EHCI
-#define CONFIG_USB_STORAGE
-#define CONFIG_USB_EHCI_MARVELL
#define CONFIG_EHCI_IS_TDI
/* Environment in SPI NOR flash */
diff --git a/include/configs/db-mv784mp-gp.h b/include/configs/db-mv784mp-gp.h
index f612e72d88..672518b83f 100644
--- a/include/configs/db-mv784mp-gp.h
+++ b/include/configs/db-mv784mp-gp.h
@@ -13,7 +13,9 @@
#define CONFIG_ARMADA_XP /* SOC Family Name */
#define CONFIG_DB_784MP_GP /* Board target name for DDR training */
+#ifdef CONFIG_SPL_BUILD
#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
+#endif
#define CONFIG_SYS_GENERIC_BOARD
#define CONFIG_DISPLAY_BOARDINFO_LATE
@@ -40,7 +42,6 @@
#define CONFIG_CMD_SPI
#define CONFIG_CMD_TFTPPUT
#define CONFIG_CMD_TIME
-#define CONFIG_CMD_USB
/* I2C */
#define CONFIG_SYS_I2C
@@ -50,9 +51,6 @@
#define CONFIG_SYS_I2C_SPEED 100000
/* USB/EHCI configuration */
-#define CONFIG_USB_EHCI
-#define CONFIG_USB_STORAGE
-#define CONFIG_USB_EHCI_MARVELL
#define CONFIG_EHCI_IS_TDI
#define CONFIG_USB_MAX_CONTROLLER_COUNT 3
diff --git a/include/configs/dbau1x00.h b/include/configs/dbau1x00.h
index 46e3a6ce38..3be44d4086 100644
--- a/include/configs/dbau1x00.h
+++ b/include/configs/dbau1x00.h
@@ -75,7 +75,6 @@
* Command line configuration.
*/
#undef CONFIG_CMD_BEDBUG
-#undef CONFIG_CMD_ELF
#undef CONFIG_CMD_FAT
#undef CONFIG_CMD_MII
diff --git a/include/configs/digsy_mtc.h b/include/configs/digsy_mtc.h
index a7af35196b..02b8f91d33 100644
--- a/include/configs/digsy_mtc.h
+++ b/include/configs/digsy_mtc.h
@@ -107,7 +107,6 @@
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_DIAG
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_FAT
#define CONFIG_CMD_I2C
diff --git a/include/configs/dlvision-10g.h b/include/configs/dlvision-10g.h
index e6bfe58e98..e39f8ba7af 100644
--- a/include/configs/dlvision-10g.h
+++ b/include/configs/dlvision-10g.h
@@ -68,7 +68,6 @@
#undef CONFIG_CMD_DHCP
#undef CONFIG_CMD_DIAG
#undef CONFIG_CMD_EEPROM
-#undef CONFIG_CMD_ELF
#undef CONFIG_CMD_I2C
#undef CONFIG_CMD_IRQ
diff --git a/include/configs/dlvision.h b/include/configs/dlvision.h
index 0299d16e83..3c0553489e 100644
--- a/include/configs/dlvision.h
+++ b/include/configs/dlvision.h
@@ -64,7 +64,6 @@
#undef CONFIG_CMD_DHCP
#undef CONFIG_CMD_DIAG
#undef CONFIG_CMD_EEPROM
-#undef CONFIG_CMD_ELF
#undef CONFIG_CMD_I2C
#undef CONFIG_CMD_IRQ
diff --git a/include/configs/dockstar.h b/include/configs/dockstar.h
index a62f4e3d3b..6ebd703d32 100644
--- a/include/configs/dockstar.h
+++ b/include/configs/dockstar.h
@@ -57,8 +57,8 @@
* it has to be rounded to sector size
*/
#define CONFIG_ENV_SIZE 0x20000 /* 128k */
-#define CONFIG_ENV_ADDR 0x60000
-#define CONFIG_ENV_OFFSET 0x60000 /* env starts here */
+#define CONFIG_ENV_ADDR 0x80000
+#define CONFIG_ENV_OFFSET 0x80000 /* env starts here */
/*
* Default environment variables
diff --git a/include/configs/io.h b/include/configs/io.h
index f5b09b6162..7d863fafde 100644
--- a/include/configs/io.h
+++ b/include/configs/io.h
@@ -68,7 +68,6 @@
#undef CONFIG_CMD_DHCP
#undef CONFIG_CMD_DIAG
#undef CONFIG_CMD_EEPROM
-#undef CONFIG_CMD_ELF
#undef CONFIG_CMD_I2C
#undef CONFIG_CMD_IRQ
diff --git a/include/configs/iocon.h b/include/configs/iocon.h
index f7ae6631cc..a4d05e559b 100644
--- a/include/configs/iocon.h
+++ b/include/configs/iocon.h
@@ -64,7 +64,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_FPGAD
#undef CONFIG_CMD_EEPROM
-#undef CONFIG_CMD_ELF
#undef CONFIG_CMD_I2C
#undef CONFIG_CMD_IRQ
diff --git a/include/configs/k2g_evm.h b/include/configs/k2g_evm.h
new file mode 100644
index 0000000000..d9ad8cf4b4
--- /dev/null
+++ b/include/configs/k2g_evm.h
@@ -0,0 +1,59 @@
+/*
+ * Configuration header file for TI's k2g-evm
+ *
+ * (C) Copyright 2015
+ * Texas Instruments Incorporated, <www.ti.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __CONFIG_K2G_EVM_H
+#define __CONFIG_K2G_EVM_H
+
+/* Platform type */
+#define CONFIG_SOC_K2G
+#define CONFIG_K2G_EVM
+
+/* U-Boot general configuration */
+#define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS \
+ DEFAULT_MMC_TI_ARGS \
+ "console=ttyS0,115200n8\0" \
+ "bootpart=0:2\0" \
+ "bootdir=/boot\0" \
+ "addr_mon=0x0c040000\0" \
+ "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs " \
+ "root=ubi0:rootfs rootflags=sync rw ubi.mtd=ubifs,2048\0" \
+ "name_fdt=k2g-evm.dtb\0" \
+ "name_mon=skern-k2g.bin\0" \
+ "name_ubi=k2g-evm-ubifs.ubi\0" \
+ "name_uboot=u-boot-spi-k2g-evm.gph\0" \
+ "init_mmc=run args_all args_mmc\0" \
+ "get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}\0"\
+ "get_kern_mmc=load mmc ${bootpart} ${loadaddr} " \
+ "${bootdir}/${name_kern}\0" \
+ "get_mon_mmc=load mmc ${bootpart} ${addr_mon} ${bootdir}/${name_mon}\0"\
+
+#include <configs/ti_armv7_keystone2.h>
+
+/* SPL SPI Loader Configuration */
+#define CONFIG_SPL_TEXT_BASE 0x0c080000
+
+/* NAND Configuration */
+#define CONFIG_SYS_NAND_PAGE_2K
+
+/* Network */
+#define CONFIG_KSNET_NETCP_V1_5
+#define CONFIG_KSNET_CPSW_NUM_PORTS 2
+#define CONFIG_KSNET_MDIO_PHY_CONFIG_ENABLE
+#define CONFIG_PHY_MICREL
+
+/* MMC/SD */
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_OMAP_HSMMC
+#define CONFIG_CMD_MMC
+
+#define CONFIG_SF_DEFAULT_BUS 1
+#define CONFIG_SF_DEFAULT_CS 0
+
+#endif /* __CONFIG_K2G_EVM_H */
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index 15fca1abe6..5e0f483e47 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -122,7 +122,6 @@
/*
* Commands configuration
*/
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_MTDPARTS
/*
diff --git a/include/configs/lsxl.h b/include/configs/lsxl.h
index 18372584fb..a57e328dfd 100644
--- a/include/configs/lsxl.h
+++ b/include/configs/lsxl.h
@@ -55,7 +55,6 @@
*/
#define CONFIG_CMD_BOOTZ
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ENV
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_FAT
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index 26136a52ce..2d93d44a3a 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -415,7 +415,6 @@
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_DIAG
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IRQ
diff --git a/include/configs/malta.h b/include/configs/malta.h
index 2f33f63b1c..4d3751a10c 100644
--- a/include/configs/malta.h
+++ b/include/configs/malta.h
@@ -122,7 +122,6 @@
*/
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IDE
#define CONFIG_CMD_PCI
#define CONFIG_CMD_PING
diff --git a/include/configs/maxbcm.h b/include/configs/maxbcm.h
index 3530a26213..3bed9c7ca4 100644
--- a/include/configs/maxbcm.h
+++ b/include/configs/maxbcm.h
@@ -11,7 +11,9 @@
* High Level Configuration Options (easy to change)
*/
#define CONFIG_ARMADA_XP /* SOC Family Name */
+#ifdef CONFIG_SPL_BUILD
#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
+#endif
#define CONFIG_SYS_GENERIC_BOARD
#define CONFIG_DISPLAY_BOARDINFO_LATE
diff --git a/include/configs/mecp5123.h b/include/configs/mecp5123.h
index a8b4b24470..84f1a40084 100644
--- a/include/configs/mecp5123.h
+++ b/include/configs/mecp5123.h
@@ -309,7 +309,6 @@
#undef CONFIG_CMD_EXT2
#define CONFIG_CMD_FAT
#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_ELF
#define CONFIG_DOS_PARTITION
/*
diff --git a/include/configs/motionpro.h b/include/configs/motionpro.h
index 3b97d91e58..6eb6e518f0 100644
--- a/include/configs/motionpro.h
+++ b/include/configs/motionpro.h
@@ -41,7 +41,6 @@
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_DTT
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IDE
diff --git a/include/configs/munices.h b/include/configs/munices.h
index b1b6acd448..072bd958a0 100644
--- a/include/configs/munices.h
+++ b/include/configs/munices.h
@@ -28,7 +28,6 @@
* Command line configuration.
*/
#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IMMAP
#define CONFIG_CMD_PING
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index 92e5429929..1ecbd3521f 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -39,11 +39,17 @@
/*
* NS16550 Configuration
*/
+#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM_SERIAL)
+#define CONFIG_DW_SERIAL
+#endif
+
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK CONFIG_SYS_TCLK
+#if !defined(CONFIG_DM_SERIAL)
+#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_COM1 MV_UART_CONSOLE_BASE
+#endif
/*
* Serial Port configuration
@@ -128,7 +134,7 @@
/*
* Common USB/EHCI configuration
*/
-#ifdef CONFIG_CMD_USB
+#if defined(CONFIG_CMD_USB) && !defined(CONFIG_DM)
#define CONFIG_USB_EHCI /* Enable EHCI USB support */
#define CONFIG_USB_STORAGE
#define CONFIG_DOS_PARTITION
diff --git a/include/configs/neo.h b/include/configs/neo.h
index 33cee43097..f1783662a4 100644
--- a/include/configs/neo.h
+++ b/include/configs/neo.h
@@ -67,7 +67,6 @@
#undef CONFIG_CMD_DHCP
#undef CONFIG_CMD_DIAG
#undef CONFIG_CMD_EEPROM
-#undef CONFIG_CMD_ELF
#undef CONFIG_CMD_I2C
#undef CONFIG_CMD_IRQ
diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h
index b1137713e1..9160971a80 100644
--- a/include/configs/nitrogen6x.h
+++ b/include/configs/nitrogen6x.h
@@ -330,7 +330,6 @@
#define CONFIG_PCIE_IMX
#endif
-#define CONFIG_CMD_ELF
#define CONFIG_USB_GADGET
#define CONFIG_CMD_USB_MASS_STORAGE
diff --git a/include/configs/odroid.h b/include/configs/odroid.h
index 1afe04ad8b..4c85e851ab 100644
--- a/include/configs/odroid.h
+++ b/include/configs/odroid.h
@@ -108,11 +108,13 @@
* 2. ROOT: -
*/
#define CONFIG_EXTRA_ENV_SETTINGS \
- "loadkernel=fatload mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \
+ "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} " \
+ "boot.scr\0" \
+ "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \
"${kernelname}\0" \
- "loadinitrd=fatload mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
+ "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
"${initrdname}\0" \
- "loaddtb=fatload mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} " \
+ "loaddtb=load mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} " \
"${fdtfile}\0" \
"check_ramdisk=" \
"if run loadinitrd; then " \
@@ -129,6 +131,9 @@
"kernel_args=" \
"setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \
" rootwait ${console} ${opts}\0" \
+ "boot_script=" \
+ "run loadbootscript;" \
+ "source ${scriptaddr}\0" \
"boot_fit=" \
"setenv kerneladdr 0x42000000;" \
"setenv kernelname Image.itb;" \
@@ -152,7 +157,9 @@
"run kernel_args;" \
"bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \
"autoboot=" \
- "if test -e mmc 0 Image.itb; then; " \
+ "if test -e mmc 0 boot.scr; then; " \
+ "run boot_script; " \
+ "elif test -e mmc 0 Image.itb; then; " \
"run boot_fit;" \
"elif test -e mmc 0 zImage; then; " \
"run boot_zimg;" \
@@ -171,6 +178,7 @@
"consoleoff=set console console=ram; save; reset\0" \
"initrdname=uInitrd\0" \
"initrdaddr=42000000\0" \
+ "scriptaddr=0x42000000\0" \
"fdtaddr=40800000\0"
/* I2C */
diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h
index 4409103f49..cf2bc3e6d5 100644
--- a/include/configs/omap3_igep00x0.h
+++ b/include/configs/omap3_igep00x0.h
@@ -160,12 +160,20 @@
#define CONFIG_SYS_NAND_PAGE_SIZE 2048
#define CONFIG_SYS_NAND_OOBSIZE 64
#define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
-#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0
-#define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\
- 10, 11, 12, 13}
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
+#define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \
+ 10, 11, 12, 13, 14, 15, 16, 17, \
+ 18, 19, 20, 21, 22, 23, 24, 25, \
+ 26, 27, 28, 29, 30, 31, 32, 33, \
+ 34, 35, 36, 37, 38, 39, 40, 41, \
+ 42, 43, 44, 45, 46, 47, 48, 49, \
+ 50, 51, 52, 53, 54, 55, 56, 57, }
#define CONFIG_SYS_NAND_ECCSIZE 512
-#define CONFIG_SYS_NAND_ECCBYTES 3
-#define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_HAM1_CODE_HW
+#define CONFIG_SYS_NAND_ECCBYTES 14
+#define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
+#define CONFIG_NAND_OMAP_GPMC
+#define CONFIG_BCH
+
#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
/* NAND: SPL falcon mode configs */
#ifdef CONFIG_SPL_OS_BOOT
diff --git a/include/configs/openrisc-generic.h b/include/configs/openrisc-generic.h
index 23929c2746..d53e419678 100644
--- a/include/configs/openrisc-generic.h
+++ b/include/configs/openrisc-generic.h
@@ -115,7 +115,6 @@
* Command line configuration.
*/
#define CONFIG_CMD_IRQ
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_BSP
#define CONFIG_CMD_MII
diff --git a/include/configs/origen.h b/include/configs/origen.h
index 21d8e7ac48..ef80bf60ca 100644
--- a/include/configs/origen.h
+++ b/include/configs/origen.h
@@ -51,7 +51,6 @@
#define S5P_CHECK_LPA 0xABAD0000
#undef CONFIG_CMD_PING
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_FS_GENERIC
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index af89e6b3b1..362cf30817 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -895,7 +895,6 @@
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
#define CONFIG_CMD_DATE
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_REGINFO
/*
diff --git a/include/configs/p1_twr.h b/include/configs/p1_twr.h
index e9cc274c73..588a6c5ebf 100644
--- a/include/configs/p1_twr.h
+++ b/include/configs/p1_twr.h
@@ -425,7 +425,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_REGINFO
/*
diff --git a/include/configs/pb1x00.h b/include/configs/pb1x00.h
index 516d38144a..41b7393c0e 100644
--- a/include/configs/pb1x00.h
+++ b/include/configs/pb1x00.h
@@ -168,13 +168,11 @@
* Command line configuration.
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_MII
#define CONFIG_CMD_PING
#undef CONFIG_CMD_FAT
#undef CONFIG_CMD_IDE
-#undef CONFIG_CMD_ELF
#undef CONFIG_CMD_BEDBUG
#endif /* __CONFIG_H */
diff --git a/include/configs/pcm052.h b/include/configs/pcm052.h
index 150698ecaa..18f45af1fa 100644
--- a/include/configs/pcm052.h
+++ b/include/configs/pcm052.h
@@ -216,9 +216,6 @@
"nand erase.part ramdisk; " \
"nand write ${ram_addr} ramdisk ${filesize}; fi\0"
-/* miscellaneous commands */
-#define CONFIG_CMD_ELF
-
/* Miscellaneous configurable options */
#define CONFIG_SYS_LONGHELP /* undef to save memory */
#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
diff --git a/include/configs/qemu-mips.h b/include/configs/qemu-mips.h
index a7ec8f54c5..9395bdad07 100644
--- a/include/configs/qemu-mips.h
+++ b/include/configs/qemu-mips.h
@@ -45,7 +45,6 @@
/*
* Command line configuration.
*/
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_DHCP
diff --git a/include/configs/qemu-mips64.h b/include/configs/qemu-mips64.h
index 4de15bfb75..53ff80232e 100644
--- a/include/configs/qemu-mips64.h
+++ b/include/configs/qemu-mips64.h
@@ -45,7 +45,6 @@
/*
* Command line configuration.
*/
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_DHCP
diff --git a/include/configs/qemu-ppce500.h b/include/configs/qemu-ppce500.h
index 45f5e78215..5cd090614d 100644
--- a/include/configs/qemu-ppce500.h
+++ b/include/configs/qemu-ppce500.h
@@ -158,7 +158,6 @@ extern unsigned long long get_phys_ccsrbar_addr_early(void);
* Command line configuration.
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_BOOTZ
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index 32e3a9ba55..c96ec905db 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -141,7 +141,6 @@
#define CONFIG_IP_DEFRAG
/* Can't boot elf images */
-#undef CONFIG_CMD_ELF
#define CONFIG_CMD_HASH
#define CONFIG_HASH_VERIFY
diff --git a/include/configs/sbc8548.h b/include/configs/sbc8548.h
index 0717156c6b..87e562e171 100644
--- a/include/configs/sbc8548.h
+++ b/include/configs/sbc8548.h
@@ -539,7 +539,6 @@
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_REGINFO
#if defined(CONFIG_PCI)
diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h
index 00aab6b3d5..eed0f49751 100644
--- a/include/configs/sbc8641d.h
+++ b/include/configs/sbc8641d.h
@@ -20,6 +20,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_GENERIC_BOARD
+
/* High Level Configuration Options */
#define CONFIG_MPC8641 1 /* MPC8641 specific */
#define CONFIG_SBC8641D 1 /* SBC8641D board specific */
@@ -241,8 +243,8 @@
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
-#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */
-#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserved for malloc */
+#define CONFIG_SYS_MONITOR_LEN (384 * 1024) /* Reserve 384 kB for Mon */
+#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserved for malloc */
/* Serial Port */
#define CONFIG_CONS_INDEX 1
@@ -472,8 +474,8 @@
* Environment
*/
#define CONFIG_ENV_IS_IN_FLASH 1
-#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + 0x40000)
-#define CONFIG_ENV_SECT_SIZE 0x40000 /* 256K(one sector) for env */
+#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
+#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128k(one sector) for env */
#define CONFIG_ENV_SIZE 0x2000
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
@@ -494,6 +496,7 @@
*/
#define CONFIG_SYS_LONGHELP /* undef to save memory */
#define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */
+#define CONFIG_CMDLINE_EDITING 1 /* add command line history */
#if defined(CONFIG_CMD_KGDB)
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
diff --git a/include/configs/smdk2410.h b/include/configs/smdk2410.h
index a6bfa76bf0..fb3850259c 100644
--- a/include/configs/smdk2410.h
+++ b/include/configs/smdk2410.h
@@ -79,7 +79,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_NAND
#define CONFIG_CMD_PING
#define CONFIG_CMD_REGINFO
diff --git a/include/configs/smdkc100.h b/include/configs/smdkc100.h
index 4ec9c650dd..1d9ce92746 100644
--- a/include/configs/smdkc100.h
+++ b/include/configs/smdkc100.h
@@ -68,7 +68,6 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_REGINFO
#define CONFIG_CMD_ONENAND
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_MTDPARTS
diff --git a/include/configs/smdkv310.h b/include/configs/smdkv310.h
index dbba88b09c..217cfc04ac 100644
--- a/include/configs/smdkv310.h
+++ b/include/configs/smdkv310.h
@@ -43,7 +43,6 @@
#define CONFIG_ENV_OVERWRITE
#define CONFIG_CMD_PING
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_DHCP
/* MMC SPL */
diff --git a/include/configs/som-6896.h b/include/configs/som-6896.h
new file mode 100644
index 0000000000..300e9dfc39
--- /dev/null
+++ b/include/configs/som-6896.h
@@ -0,0 +1,38 @@
+/*
+ * Configuration settings for the SOM-6896
+ *
+ * Copyright (C) 2015 NovaTech LLC
+ * George McCollister <george.mccollister@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <configs/x86-common.h>
+
+#define CONFIG_SYS_MONITOR_LEN (1 << 20)
+
+#define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_MISC_INIT_R
+
+#define CONFIG_SCSI_DEV_LIST \
+ {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WILDCATPOINT_AHCI}
+
+#define CONFIG_SYS_EARLY_PCI_INIT
+#define CONFIG_PCI_PNP
+
+#define VIDEO_IO_OFFSET 0
+#define CONFIG_X86EMU_RAW_IO
+
+#define CONFIG_ARCH_EARLY_INIT_R
+
+#define CONFIG_STD_DEVICES_SETTINGS "stdin=serial,vga,usbkbd\0" \
+ "stdout=serial,vga\0" \
+ "stderr=serial,vga\0"
+
+#define CONFIG_ENV_SECT_SIZE 0x1000
+#define CONFIG_ENV_OFFSET 0x00ff0000
+
+#endif /* __CONFIG_H */
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index e1ba7914cd..ddcfe94e89 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -73,7 +73,10 @@
#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* default load address */
#define CONFIG_SYS_TEXT_BASE 0x2a000000
#define CONFIG_PRE_CON_BUF_ADDR 0x2f000000
-#define CONFIG_SYS_SPL_MALLOC_START 0x2ff00000
+/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
+ * since it needs to fit in with the other values. By also #defining it
+ * we get warnings if the Kconfig value mismatches. */
+#define CONFIG_SPL_STACK_R_ADDR 0x2fe00000
#define CONFIG_SPL_BSS_START_ADDR 0x2ff80000
#else
#define SDRAM_OFFSET(x) 0x4##x
@@ -81,12 +84,14 @@
#define CONFIG_SYS_LOAD_ADDR 0x42000000 /* default load address */
#define CONFIG_SYS_TEXT_BASE 0x4a000000
#define CONFIG_PRE_CON_BUF_ADDR 0x4f000000
-#define CONFIG_SYS_SPL_MALLOC_START 0x4ff00000
+/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
+ * since it needs to fit in with the other values. By also #defining it
+ * we get warnings if the Kconfig value mismatches. */
+#define CONFIG_SPL_STACK_R_ADDR 0x4fe00000
#define CONFIG_SPL_BSS_START_ADDR 0x4ff80000
#endif
#define CONFIG_SPL_BSS_MAX_SIZE 0x00080000 /* 512 KiB */
-#define CONFIG_SYS_SPL_MALLOC_SIZE 0x00080000 /* 512 KiB */
#ifdef CONFIG_MACH_SUN9I
/*
@@ -135,8 +140,7 @@
#endif
/* mmc config */
-#if !defined(CONFIG_UART0_PORT_F)
-#define CONFIG_MMC
+#ifdef CONFIG_MMC
#define CONFIG_GENERIC_MMC
#define CONFIG_CMD_MMC
#define CONFIG_MMC_SUNXI
@@ -192,7 +196,7 @@
#define CONFIG_SPL_LIBDISK_SUPPORT
-#if !defined(CONFIG_UART0_PORT_F)
+#ifdef CONFIG_MMC
#define CONFIG_SPL_MMC_SUPPORT
#endif
@@ -347,11 +351,15 @@ extern int soft_i2c_gpio_scl;
#define CONFIG_CMD_FASTBOOT
#define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR
#define CONFIG_FASTBOOT_BUF_SIZE 0x2000000
+#define CONFIG_ANDROID_BOOT_IMAGE
#define CONFIG_FASTBOOT_FLASH
+
+#ifdef CONFIG_MMC
#define CONFIG_FASTBOOT_FLASH_MMC_DEV 0
#define CONFIG_EFI_PARTITION
#endif
+#endif
#ifdef CONFIG_USB_FUNCTION_MASS_STORAGE
#define CONFIG_CMD_USB_MASS_STORAGE
@@ -430,6 +438,22 @@ extern int soft_i2c_gpio_scl;
func(PXE, pxe, na) \
func(DHCP, dhcp, na)
+#ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT
+#define BOOTCMD_SUNXI_COMPAT \
+ "bootcmd_sunxi_compat=" \
+ "setenv root /dev/mmcblk0p3 rootwait; " \
+ "if ext2load mmc 0 0x44000000 uEnv.txt; then " \
+ "echo Loaded environment from uEnv.txt; " \
+ "env import -t 0x44000000 ${filesize}; " \
+ "fi; " \
+ "setenv bootargs console=${console} root=${root} ${extraargs}; " \
+ "ext2load mmc 0 0x43000000 script.bin && " \
+ "ext2load mmc 0 0x48000000 uImage && " \
+ "bootm 0x48000000\0"
+#else
+#define BOOTCMD_SUNXI_COMPAT
+#endif
+
#include <config_distro_bootcmd.h>
#ifdef CONFIG_USB_KEYBOARD
@@ -460,6 +484,7 @@ extern int soft_i2c_gpio_scl;
MEM_LAYOUT_ENV_SETTINGS \
"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
"console=ttyS0,115200\0" \
+ BOOTCMD_SUNXI_COMPAT \
BOOTENV
#else /* ifndef CONFIG_SPL_BUILD */
diff --git a/include/configs/t4qds.h b/include/configs/t4qds.h
index d3138feb70..26028df21a 100644
--- a/include/configs/t4qds.h
+++ b/include/configs/t4qds.h
@@ -273,7 +273,6 @@
* Command line configuration.
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_ERRATA
#define CONFIG_CMD_GREPENV
#define CONFIG_CMD_IRQ
diff --git a/include/configs/tb100.h b/include/configs/tb100.h
index 41c2c72950..e3c41ef4bd 100644
--- a/include/configs/tb100.h
+++ b/include/configs/tb100.h
@@ -69,7 +69,6 @@
* Command line configuration
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_PING
#define CONFIG_OF_LIBFDT
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index 6dc6515899..586bd2b50f 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -56,6 +56,8 @@
"fdt_addr_r=0x88000000\0" \
"rdaddr=0x88080000\0" \
"ramdisk_addr_r=0x88080000\0" \
+ "scriptaddr=0x80000000\0" \
+ "pxefile_addr_r=0x80100000\0" \
"bootm_size=0x10000000\0"
#define DEFAULT_MMC_TI_ARGS \
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index 58c98ce660..ed865612fd 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -32,6 +32,12 @@
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SPL_TEXT_BASE - \
GENERATED_GBL_DATA_SIZE)
+#ifdef CONFIG_SYS_MALLOC_F_LEN
+#define SPL_MALLOC_F_SIZE CONFIG_SYS_MALLOC_F_LEN
+#else
+#define SPL_MALLOC_F_SIZE 0
+#endif
+
/* SPL SPI Loader Configuration */
#define CONFIG_SPL_PAD_TO 65536
#define CONFIG_SPL_MAX_SIZE (CONFIG_SPL_PAD_TO - 8)
@@ -44,6 +50,7 @@
#define CONFIG_SPL_STACK_SIZE (8 * 1024)
#define CONFIG_SPL_STACK (CONFIG_SYS_SPL_MALLOC_START + \
CONFIG_SYS_SPL_MALLOC_SIZE + \
+ SPL_MALLOC_F_SIZE + \
CONFIG_SPL_STACK_SIZE - 4)
#define CONFIG_SPL_SPI_FLASH_SUPPORT
#define CONFIG_SPL_SPI_SUPPORT
@@ -52,14 +59,23 @@
/* UART Configuration */
#define CONFIG_SYS_NS16550
-#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_MEM32
+#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
+#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE -4
+#else
+#define CONFIG_KEYSTONE_SERIAL
+#endif
#define CONFIG_SYS_NS16550_COM1 KS2_UART0_BASE
#define CONFIG_SYS_NS16550_COM2 KS2_UART1_BASE
-#define CONFIG_SYS_NS16550_CLK clk_get_rate(KS2_CLK1_6)
#define CONFIG_CONS_INDEX 1
+#ifndef CONFIG_SOC_K2G
+#define CONFIG_SYS_NS16550_CLK clk_get_rate(KS2_CLK1_6)
+#else
+#define CONFIG_SYS_NS16550_CLK clk_get_rate(uart_pll_clk) / 2
+#endif
+
/* SPI Configuration */
#define CONFIG_SPI_FLASH_STMICRO
#define CONFIG_DAVINCI_SPI
@@ -291,6 +307,10 @@
/* we may include files below only after all above definitions */
#include <asm/arch/hardware.h>
#include <asm/arch/clock.h>
+#ifndef CONFIG_SOC_K2G
#define CONFIG_SYS_HZ_CLOCK clk_get_rate(KS2_CLK1_6)
+#else
+#define CONFIG_SYS_HZ_CLOCK external_clk[sys_clk]
+#endif
#endif /* __CONFIG_KS2_EVM_H */
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 1cd7dae85b..741f71fc16 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -58,11 +58,15 @@
* Hardware drivers
*/
#define CONFIG_SYS_NS16550
+#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK 48000000
-#define CONFIG_CONS_INDEX 3
#define CONFIG_SYS_NS16550_COM3 UART3_BASE
+#else
+#define CONFIG_OMAP_SERIAL
+#endif
+#define CONFIG_CONS_INDEX 3
/* TWL6030 */
#ifndef CONFIG_SPL_BUILD
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 189ea7e914..5acbc92c3f 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -51,9 +51,13 @@
* Hardware drivers
*/
#define CONFIG_SYS_NS16550
+#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK 48000000
+#else
+#define CONFIG_OMAP_SERIAL
+#endif
/*
* Environment setup
@@ -157,4 +161,12 @@
#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */
#endif
+/*
+ * Disable MMC DM for SPL build and can be re-enabled after adding
+ * DM support in SPL
+ */
+#ifdef CONFIG_SPL_BUILD
+#undef CONFIG_DM_MMC
+#endif
+
#endif /* __CONFIG_TI_OMAP5_COMMON_H */
diff --git a/include/configs/vct.h b/include/configs/vct.h
index 80f6a60d84..92726c8214 100644
--- a/include/configs/vct.h
+++ b/include/configs/vct.h
@@ -84,7 +84,6 @@
* Commands
*/
#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_EEPROM
#define CONFIG_CMD_I2C
@@ -288,7 +287,6 @@ int vct_gpio_get(int pin);
#undef CONFIG_CMD_DHCP
#undef CONFIG_CMD_EEPROM
#undef CONFIG_CMD_EEPROM
-#undef CONFIG_CMD_ELF
#undef CONFIG_CMD_FAT
#undef CONFIG_CMD_I2C
#undef CONFIG_CMD_I2C
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index ef3014d68b..0f2f1a30ba 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -168,11 +168,13 @@
#define CONFIG_SYS_LOAD_ADDR (V2M_BASE + 0x10000000)
/* Physical Memory Map */
-#define CONFIG_NR_DRAM_BANKS 1
+#define CONFIG_NR_DRAM_BANKS 2
#define PHYS_SDRAM_1 (V2M_BASE) /* SDRAM Bank #1 */
+#define PHYS_SDRAM_2 (0x880000000)
/* Top 16MB reserved for secure world use */
#define DRAM_SEC_SIZE 0x01000000
#define PHYS_SDRAM_1_SIZE 0x80000000 - DRAM_SEC_SIZE
+#define PHYS_SDRAM_2_SIZE 0x180000000
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
/* Enable memtest */
diff --git a/include/configs/vme8349.h b/include/configs/vme8349.h
index bc4a998383..a6f5d6a4ea 100644
--- a/include/configs/vme8349.h
+++ b/include/configs/vme8349.h
@@ -373,7 +373,6 @@
#undef CONFIG_CMD_ENV
#endif
-#define CONFIG_CMD_ELF
/* Pass Ethernet MAC to VxWorks */
#define CONFIG_SYS_VXWORKS_MAC_PTR 0x000043f0
diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
index 3f153f24ae..faadab83ce 100644
--- a/include/configs/x86-common.h
+++ b/include/configs/x86-common.h
@@ -115,7 +115,6 @@
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_ZBOOT
-#define CONFIG_CMD_ELF
#define CONFIG_BOOTARGS \
"root=/dev/sdb3 init=/sbin/init rootwait ro"
@@ -217,7 +216,7 @@
/* Default environment */
#define CONFIG_ROOTPATH "/opt/nfsroot"
-#define CONFIG_HOSTNAME "x86"
+#define CONFIG_HOSTNAME x86
#define CONFIG_BOOTFILE "bzImage"
#define CONFIG_LOADADDR 0x1000000
diff --git a/include/configs/xilinx-ppc.h b/include/configs/xilinx-ppc.h
index 309d68d281..6bd6be86e1 100644
--- a/include/configs/xilinx-ppc.h
+++ b/include/configs/xilinx-ppc.h
@@ -29,7 +29,6 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DIAG
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_REGINFO
#undef CONFIG_CMD_JFFS2
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index da87188e84..ed09b7f67e 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -73,7 +73,6 @@
#define CONFIG_CMD_FAT
#define CONFIG_CMD_FS_GENERIC
#define CONFIG_DOS_PARTITION
-#define CONFIG_CMD_ELF
#define CONFIG_MP
#define CONFIG_CMD_MII
diff --git a/include/configs/xpedite1000.h b/include/configs/xpedite1000.h
index 4fafb5a77b..37a31c4797 100644
--- a/include/configs/xpedite1000.h
+++ b/include/configs/xpedite1000.h
@@ -191,7 +191,6 @@ extern void out32(unsigned int, unsigned long);
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/xpedite517x.h b/include/configs/xpedite517x.h
index b5d1126d59..51781daa7f 100644
--- a/include/configs/xpedite517x.h
+++ b/include/configs/xpedite517x.h
@@ -532,7 +532,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#define CONFIG_CMD_DS4510_INFO
#define CONFIG_CMD_DTT
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_JFFS2
diff --git a/include/configs/xpedite520x.h b/include/configs/xpedite520x.h
index 34a124c9d9..e48960b801 100644
--- a/include/configs/xpedite520x.h
+++ b/include/configs/xpedite520x.h
@@ -315,7 +315,6 @@
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_JFFS2
#define CONFIG_CMD_MII
diff --git a/include/configs/xpedite537x.h b/include/configs/xpedite537x.h
index 0d2423499d..3645cb28d4 100644
--- a/include/configs/xpedite537x.h
+++ b/include/configs/xpedite537x.h
@@ -387,7 +387,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
#define CONFIG_CMD_DS4510_INFO
#define CONFIG_CMD_DTT
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_JFFS2
#define CONFIG_CMD_MII
diff --git a/include/configs/xpedite550x.h b/include/configs/xpedite550x.h
index f30d1996c0..7bf0ccac7f 100644
--- a/include/configs/xpedite550x.h
+++ b/include/configs/xpedite550x.h
@@ -371,7 +371,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_DTT
#define CONFIG_CMD_EEPROM
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_I2C
#define CONFIG_CMD_JFFS2
#define CONFIG_CMD_MII
diff --git a/include/configs/zmx25.h b/include/configs/zmx25.h
index 81b9ce40d9..b7134ebc20 100644
--- a/include/configs/zmx25.h
+++ b/include/configs/zmx25.h
@@ -84,7 +84,6 @@
*/
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_PING
-#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_USB
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index e7ab50ad24..873c42d3a1 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -289,7 +289,6 @@
/* Boot FreeBSD/vxWorks from an ELF image */
#if defined(CONFIG_ZYNQ_BOOT_FREEBSD)
# define CONFIG_API
-# define CONFIG_CMD_ELF
# define CONFIG_SYS_MMC_MAX_DEVICE 1
#endif
diff --git a/include/cpsw.h b/include/cpsw.h
index 547b40c57b..cf1d30bfdc 100644
--- a/include/cpsw.h
+++ b/include/cpsw.h
@@ -31,6 +31,8 @@ enum {
struct cpsw_platform_data {
u32 mdio_base;
u32 cpsw_base;
+ u32 mac_id;
+ u32 gmii_sel;
int mdio_div;
int channels; /* number of cpdma channels (symmetric) */
u32 cpdma_reg_ofs; /* cpdma register offset */
diff --git a/include/debug_uart.h b/include/debug_uart.h
index a75e377dc0..5d5349bbd2 100644
--- a/include/debug_uart.h
+++ b/include/debug_uart.h
@@ -38,10 +38,15 @@
* To enable the debug UART in your serial driver:
*
* - #include <debug_uart.h>
- * - Define debug_uart_init(), trying to avoid using the stack
+ * - Define _debug_uart_init(), trying to avoid using the stack
* - Define _debug_uart_putc() as static inline (avoiding stack usage)
* - Immediately afterwards, add DEBUG_UART_FUNCS to define the rest of the
* functionality (printch(), etc.)
+ *
+ * If your board needs additional init for the UART to work, enable
+ * CONFIG_DEBUG_UART_BOARD_INIT and write a function called
+ * board_debug_uart_init() to perform that init. When debug_uart_init() is
+ * called, the init will happen automatically.
*/
/**
@@ -57,6 +62,14 @@
*/
void debug_uart_init(void);
+#ifdef CONFIG_DEBUG_UART_BOARD_INIT
+void board_debug_uart_init(void);
+#else
+static inline void board_debug_uart_init(void)
+{
+}
+#endif
+
/**
* printch() - Output a character to the debug UART
*
@@ -92,6 +105,12 @@ void printhex4(uint value);
*/
void printhex8(uint value);
+#ifdef CONFIG_DEBUG_UART_ANNOUNCE
+#define _DEBUG_UART_ANNOUNCE printascii("<debug_uart> ");
+#else
+#define _DEBUG_UART_ANNOUNCE
+#endif
+
/*
* Now define some functions - this should be inserted into the serial driver
*/
@@ -132,6 +151,13 @@ void printhex8(uint value);
void printhex8(uint value) \
{ \
printhex(value, 8); \
- }
+ } \
+\
+ void debug_uart_init(void) \
+ { \
+ board_debug_uart_init(); \
+ _debug_uart_init(); \
+ _DEBUG_UART_ANNOUNCE \
+ } \
#endif
diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
index 1eeec74964..da41499872 100644
--- a/include/dm/uclass-id.h
+++ b/include/dm/uclass-id.h
@@ -49,6 +49,7 @@ enum uclass_id {
UCLASS_PMIC, /* PMIC I/O device */
UCLASS_REGULATOR, /* Regulator device */
UCLASS_RESET, /* Reset device */
+ UCLASS_REMOTEPROC, /* Remote Processor device */
UCLASS_RTC, /* Real time clock device */
UCLASS_SERIAL, /* Serial UART */
UCLASS_SPI, /* SPI bus */
diff --git a/include/dt-bindings/pinctrl/am43xx.h b/include/dt-bindings/pinctrl/am43xx.h
new file mode 100644
index 0000000000..720368782e
--- /dev/null
+++ b/include/dt-bindings/pinctrl/am43xx.h
@@ -0,0 +1,33 @@
+/*
+ * This header provides constants specific to AM43XX pinctrl bindings.
+ */
+
+#ifndef _DT_BINDINGS_PINCTRL_AM43XX_H
+#define _DT_BINDINGS_PINCTRL_AM43XX_H
+
+#define MUX_MODE0 0
+#define MUX_MODE1 1
+#define MUX_MODE2 2
+#define MUX_MODE3 3
+#define MUX_MODE4 4
+#define MUX_MODE5 5
+#define MUX_MODE6 6
+#define MUX_MODE7 7
+#define MUX_MODE8 8
+
+#define PULL_DISABLE (1 << 16)
+#define PULL_UP (1 << 17)
+#define INPUT_EN (1 << 18)
+#define SLEWCTRL_SLOW (1 << 19)
+#define SLEWCTRL_FAST 0
+#define DS0_PULL_UP_DOWN_EN (1 << 27)
+#define WAKEUP_ENABLE (1 << 29)
+
+#define PIN_OUTPUT (PULL_DISABLE)
+#define PIN_OUTPUT_PULLUP (PULL_UP)
+#define PIN_OUTPUT_PULLDOWN 0
+#define PIN_INPUT (INPUT_EN | PULL_DISABLE)
+#define PIN_INPUT_PULLUP (INPUT_EN | PULL_UP)
+#define PIN_INPUT_PULLDOWN (INPUT_EN)
+
+#endif
diff --git a/include/dt-bindings/pwm/pwm.h b/include/dt-bindings/pwm/pwm.h
new file mode 100644
index 0000000000..96f49e8225
--- /dev/null
+++ b/include/dt-bindings/pwm/pwm.h
@@ -0,0 +1,14 @@
+/*
+ * This header provides constants for most PWM bindings.
+ *
+ * Most PWM bindings can include a flags cell as part of the PWM specifier.
+ * In most cases, the format of the flags cell uses the standard values
+ * defined in this header.
+ */
+
+#ifndef _DT_BINDINGS_PWM_PWM_H
+#define _DT_BINDINGS_PWM_PWM_H
+
+#define PWM_POLARITY_INVERTED (1 << 0)
+
+#endif
diff --git a/include/exports.h b/include/exports.h
index a3e0469d40..deef8fbec8 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -19,7 +19,7 @@ int printf(const char* fmt, ...);
void install_hdlr(int, interrupt_handler_t, void*);
void free_hdlr(int);
void *malloc(size_t);
-#ifndef CONFIG_SYS_MALLOC_SIMPLE
+#if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
void free(void*);
#endif
void __udelay(unsigned long);
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index 7d30ace41f..7b4011f0a3 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -3,7 +3,20 @@
#include <asm/types.h>
-#define BIT(nr) (1UL << (nr))
+#define BIT(nr) (1UL << (nr))
+#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
+#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
+
+/*
+ * Create a contiguous bitmask starting at bit position @l and ending at
+ * position @h. For example
+ * GENMASK_ULL(39, 21) gives us the 64bit vector 0x000000ffffe00000.
+ */
+#define GENMASK(h, l) \
+ (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))
+
+#define GENMASK_ULL(h, l) \
+ (((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
/*
* ffs: find first bit set. This is defined the same way as
@@ -106,9 +119,6 @@ static inline unsigned int generic_hweight8(unsigned int w)
return (res & 0x0F) + ((res >> 4) & 0x0F);
}
-#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
-#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
-
#include <asm/bitops.h>
/* linux/include/asm-generic/bitops/non-atomic.h */
diff --git a/include/malloc.h b/include/malloc.h
index f4da9e6ddd..f20e4d3d2a 100644
--- a/include/malloc.h
+++ b/include/malloc.h
@@ -872,7 +872,7 @@ extern Void_t* sbrk();
#else
-#ifdef CONFIG_SYS_MALLOC_SIMPLE
+#if CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
#define malloc malloc_simple
#define realloc realloc_simple
#define memalign memalign_simple
diff --git a/include/pci_ids.h b/include/pci_ids.h
index 49f7d7dd88..17a01a0ff4 100644
--- a/include/pci_ids.h
+++ b/include/pci_ids.h
@@ -3022,6 +3022,8 @@
#define PCI_DEVICE_ID_INTEL_IXP2800 0x9004
#define PCI_DEVICE_ID_INTEL_LYNXPOINT_AHCI 0x9c03
#define PCI_DEVICE_ID_INTEL_LYNXPOINT_LPC 0x9c45
+#define PCI_DEVICE_ID_INTEL_WILDCATPOINT_AHCI 0x9c83
+#define PCI_DEVICE_ID_INTEL_WILDCATPOINT_LPC 0x9cc3
#define PCI_DEVICE_ID_INTEL_S21152BB 0xb152
#define PCI_VENDOR_ID_SCALEMP 0x8686
diff --git a/include/remoteproc.h b/include/remoteproc.h
new file mode 100644
index 0000000000..c6e044d3b8
--- /dev/null
+++ b/include/remoteproc.h
@@ -0,0 +1,162 @@
+/*
+ * (C) Copyright 2015
+ * Texas Instruments Incorporated - http://www.ti.com/
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef _RPROC_H_
+#define _RPROC_H_
+
+/*
+ * Note: The platform data support is not meant for use with newer
+ * platforms. This is meant only for legacy devices. This mode of
+ * initialization *will* be eventually removed once all necessary
+ * platforms have moved to dm/fdt.
+ */
+#include <dm/platdata.h> /* For platform data support - non dt world */
+
+/**
+ * enum rproc_mem_type - What type of memory model does the rproc use
+ * @RPROC_INTERNAL_MEMORY_MAPPED: Remote processor uses own memory and is memory
+ * mapped to the host processor over an address range.
+ *
+ * Please note that this is an enumeration of memory model of different types
+ * of remote processors. Few of the remote processors do have own internal
+ * memories, while others use external memory for instruction and data.
+ */
+enum rproc_mem_type {
+ RPROC_INTERNAL_MEMORY_MAPPED = 0,
+};
+
+/**
+ * struct dm_rproc_uclass_pdata - platform data for a CPU
+ * @name: Platform-specific way of naming the Remote proc
+ * @mem_type: one of 'enum rproc_mem_type'
+ * @driver_plat_data: driver specific platform data that may be needed.
+ *
+ * This can be accessed with dev_get_uclass_platdata() for any UCLASS_REMOTEPROC
+ * device.
+ *
+ */
+struct dm_rproc_uclass_pdata {
+ const char *name;
+ enum rproc_mem_type mem_type;
+ void *driver_plat_data;
+};
+
+/**
+ * struct dm_rproc_ops - Operations that are provided by remote proc driver
+ * @init: Initialize the remoteproc device invoked after probe (optional)
+ * Return 0 on success, -ve error on fail
+ * @load: Load the remoteproc device using data provided(mandatory)
+ * This takes the following additional arguments.
+ * addr- Address of the binary image to be loaded
+ * size- Size of the binary image to be loaded
+ * Return 0 on success, -ve error on fail
+ * @start: Start the remoteproc device (mandatory)
+ * Return 0 on success, -ve error on fail
+ * @stop: Stop the remoteproc device (optional)
+ * Return 0 on success, -ve error on fail
+ * @reset: Reset the remote proc device (optional)
+ * Return 0 on success, -ve error on fail
+ * @is_running: Check if the remote processor is running(optional)
+ * Return 0 on success, 1 if not running, -ve on others errors
+ * @ping: Ping the remote device for basic communication check(optional)
+ * Return 0 on success, 1 if not responding, -ve on other errors
+ */
+struct dm_rproc_ops {
+ int (*init)(struct udevice *dev);
+ int (*load)(struct udevice *dev, ulong addr, ulong size);
+ int (*start)(struct udevice *dev);
+ int (*stop)(struct udevice *dev);
+ int (*reset)(struct udevice *dev);
+ int (*is_running)(struct udevice *dev);
+ int (*ping)(struct udevice *dev);
+};
+
+/* Accessor */
+#define rproc_get_ops(dev) ((struct dm_rproc_ops *)(dev)->driver->ops)
+
+#ifdef CONFIG_REMOTEPROC
+/**
+ * rproc_init() - Initialize all bound remote proc devices
+ *
+ * Return: 0 if all ok, else appropriate error value.
+ */
+int rproc_init(void);
+
+/**
+ * rproc_is_initialized() - check to see if remoteproc devices are initialized
+ *
+ * Return: 0 if all devices are initialized, else appropriate error value.
+ */
+bool rproc_is_initialized(void);
+
+/**
+ * rproc_load() - load binary to a remote processor
+ * @id: id of the remote processor
+ * @addr: address in memory where the binary image is located
+ * @size: size of the binary image
+ *
+ * Return: 0 if all ok, else appropriate error value.
+ */
+int rproc_load(int id, ulong addr, ulong size);
+
+/**
+ * rproc_start() - Start a remote processor
+ * @id: id of the remote processor
+ *
+ * Return: 0 if all ok, else appropriate error value.
+ */
+int rproc_start(int id);
+
+/**
+ * rproc_stop() - Stop a remote processor
+ * @id: id of the remote processor
+ *
+ * Return: 0 if all ok, else appropriate error value.
+ */
+int rproc_stop(int id);
+
+/**
+ * rproc_reset() - reset a remote processor
+ * @id: id of the remote processor
+ *
+ * Return: 0 if all ok, else appropriate error value.
+ */
+int rproc_reset(int id);
+
+/**
+ * rproc_ping() - ping a remote processor to check if it can communicate
+ * @id: id of the remote processor
+ *
+ * NOTE: this might need communication path available, which is not implemented
+ * as part of remoteproc framework - hook on to appropriate bus architecture to
+ * do the same
+ *
+ * Return: 0 if all ok, else appropriate error value.
+ */
+int rproc_ping(int id);
+
+/**
+ * rproc_is_running() - check to see if remote processor is running
+ * @id: id of the remote processor
+ *
+ * NOTE: this may not involve actual communication capability of the remote
+ * processor, but just ensures that it is out of reset and executing code.
+ *
+ * Return: 0 if all ok, else appropriate error value.
+ */
+int rproc_is_running(int id);
+#else
+static inline int rproc_init(void) { return -ENOSYS; }
+static inline bool rproc_is_initialized(void) { return false; }
+static inline int rproc_load(int id, ulong addr, ulong size) { return -ENOSYS; }
+static inline int rproc_start(int id) { return -ENOSYS; }
+static inline int rproc_stop(int id) { return -ENOSYS; }
+static inline int rproc_reset(int id) { return -ENOSYS; }
+static inline int rproc_ping(int id) { return -ENOSYS; }
+static inline int rproc_is_running(int id) { return -ENOSYS; }
+#endif
+
+#endif /* _RPROC_H_ */
diff --git a/include/vxworks.h b/include/vxworks.h
index 122043c941..f69b0084ff 100644
--- a/include/vxworks.h
+++ b/include/vxworks.h
@@ -8,31 +8,38 @@
#ifndef _VXWORKS_H_
#define _VXWORKS_H_
-int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
-void boot_prep_vxworks(bootm_headers_t *images);
-void boot_jump_vxworks(bootm_headers_t *images);
-void do_bootvx_fdt(bootm_headers_t *images);
-
/*
- * Use bootaddr to find the location in memory that VxWorks
- * will look for the bootline string. The default value for
- * PowerPC is LOCAL_MEM_LOCAL_ADRS + BOOT_LINE_OFFSET which
- * defaults to 0x4200
+ * VxWorks x86 E820 related stuff
+ *
+ * VxWorks on x86 gets E820 information from pre-defined address @
+ * 0x4a00 and 0x4000. At 0x4a00 it's an information table defined
+ * by VxWorks and the actual E820 table entries starts from 0x4000.
+ * As defined by the BIOS E820 spec, the maximum number of E820 table
+ * entries is 128 and each entry occupies 20 bytes, so it's 128 * 20
+ * = 2560 (0xa00) bytes in total. That's where VxWorks stores some
+ * information that is retrieved from the BIOS E820 call and saved
+ * later for sanity test during the kernel boot-up.
*/
-#ifndef CONFIG_SYS_VXWORKS_BOOT_ADDR
-#define CONFIG_SYS_VXWORKS_BOOT_ADDR 0x4200
-#endif
+#define VXWORKS_E820_DATA_ADDR 0x4000
+#define VXWORKS_E820_INFO_ADDR 0x4a00
-#ifndef CONFIG_SYS_VXWORKS_BOOT_DEVICE
-#if defined(CONFIG_4xx)
-#define CONFIG_SYS_VXWORKS_BOOT_DEVICE "emac(0,0)"
-#else
-#define CONFIG_SYS_VXWORKS_BOOT_DEVICE "eth(0,0)"
-#endif
-#endif
+/* E820 info signatiure "SMAP" - System MAP */
+#define E820_SIGNATURE 0x534d4150
-#ifndef CONFIG_SYS_VXWORKS_SERVERNAME
-#define CONFIG_SYS_VXWORKS_SERVERNAME "srv"
-#endif
+struct e820info {
+ u32 sign; /* "SMAP" signature */
+ u32 x0; /* don't care, used by VxWorks */
+ u32 x1; /* don't care, used by VxWorks */
+ u32 x2; /* don't care, used by VxWorks */
+ u32 addr; /* last e820 table entry addr */
+ u32 x3; /* don't care, used by VxWorks */
+ u32 entries; /* e820 table entry count */
+ u32 error; /* must be zero */
+};
+
+int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+void boot_prep_vxworks(bootm_headers_t *images);
+void boot_jump_vxworks(bootm_headers_t *images);
+void do_bootvx_fdt(bootm_headers_t *images);
#endif