diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h
new file mode 100644
index 0000000..57e0c6c
--- /dev/null
+++ b/include/configs/UCP1020.h
@@ -0,0 +1,1027 @@
+/*
+ * Copyright 2013-2015 Arcturus Networks, Inc.
+ *           http://www.arcturusnetworks.com/products/ucp1020/
+ * based on include/configs/p1_p2_rdb_pc.h
+ * original copyright follows:
+ * Copyright 2009-2011 Freescale Semiconductor, Inc.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/*
+ * QorIQ uCP1020-xx boards configuration file
+ */
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_DISPLAY_BOARDINFO
+
+#define CONFIG_FSL_ELBC
+#define CONFIG_PCI
+#define CONFIG_PCIE1	/* PCIE controller 1 (slot 1) */
+#define CONFIG_PCIE2	/* PCIE controller 2 (slot 2) */
+#define CONFIG_FSL_PCI_INIT	/* Use common FSL init code */
+#define CONFIG_PCI_INDIRECT_BRIDGE	/* indirect PCI bridge support */
+#define CONFIG_FSL_PCIE_RESET	/* need PCIe reset errata */
+#define CONFIG_SYS_PCI_64BIT	/* enable 64-bit PCI resources */
+
+#if defined(CONFIG_TARTGET_UCP1020T1)
+
+#define CONFIG_UCP1020_REV_1_3
+
+#define CONFIG_BOARDNAME "uCP1020-64EE512-0U1-XR-T1"
+#define CONFIG_P1020
+
+#define CONFIG_TSEC_ENET
+#define CONFIG_TSEC1
+#define CONFIG_TSEC3
+#define CONFIG_HAS_ETH0
+#define CONFIG_HAS_ETH1
+#define CONFIG_ETHADDR		00:19:D3:FF:FF:FF
+#define CONFIG_ETH1ADDR		00:19:D3:FF:FF:FE
+#define CONFIG_ETH2ADDR		00:19:D3:FF:FF:FD
+#define CONFIG_IPADDR		10.80.41.229
+#define CONFIG_SERVERIP		10.80.41.227
+#define CONFIG_NETMASK		255.255.252.0
+#define CONFIG_ETHPRIME		"eTSEC3"
+
+#ifndef CONFIG_SPI_FLASH
+#define CONFIG_SPI_FLASH	y
+#endif
+#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
+
+#define CONFIG_MMC
+#define CONFIG_SYS_L2_SIZE	(256 << 10)
+
+#define CONFIG_LAST_STAGE_INIT
+
+#if !defined(CONFIG_DONGLE)
+#define CONFIG_SILENT_CONSOLE
+#endif
+
+#endif
+
+#if defined(CONFIG_TARGET_UCP1020)
+
+#define CONFIG_UCP1020
+#define CONFIG_UCP1020_REV_1_3
+
+#define CONFIG_BOARDNAME_LOCAL "uCP1020-64EEE512-OU1-XR"
+#define CONFIG_P1020
+
+#define CONFIG_TSEC_ENET
+#define CONFIG_TSEC1
+#define CONFIG_TSEC2
+#define CONFIG_TSEC3
+#define CONFIG_HAS_ETH0
+#define CONFIG_HAS_ETH1
+#define CONFIG_HAS_ETH2
+#define CONFIG_ETHADDR		00:06:3B:FF:FF:FF
+#define CONFIG_ETH1ADDR		00:06:3B:FF:FF:FE
+#define CONFIG_ETH2ADDR		00:06:3B:FF:FF:FD
+#define CONFIG_IPADDR		192.168.1.81
+#define CONFIG_IPADDR1		192.168.1.82
+#define CONFIG_IPADDR2		192.168.1.83
+#define CONFIG_SERVERIP		192.168.1.80
+#define CONFIG_GATEWAYIP	102.168.1.1
+#define CONFIG_NETMASK		255.255.255.0
+#define CONFIG_ETHPRIME		"eTSEC1"
+
+#ifndef CONFIG_SPI_FLASH
+#define CONFIG_SPI_FLASH	y
+#endif
+#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
+
+#define CONFIG_MMC
+#define CONFIG_SYS_L2_SIZE	(256 << 10)
+
+#define CONFIG_LAST_STAGE_INIT
+
+#endif
+
+#ifdef CONFIG_SDCARD
+#define CONFIG_RAMBOOT_SDCARD
+#define CONFIG_SYS_RAMBOOT
+#define CONFIG_SYS_EXTRA_ENV_RELOC
+#define CONFIG_SYS_TEXT_BASE		0x11000000
+#define CONFIG_RESET_VECTOR_ADDRESS	0x1107fffc
+#endif
+
+#ifdef CONFIG_SPIFLASH
+#define CONFIG_RAMBOOT_SPIFLASH
+#define CONFIG_SYS_RAMBOOT
+#define CONFIG_SYS_EXTRA_ENV_RELOC
+#define CONFIG_SYS_TEXT_BASE		0x11000000
+#define CONFIG_RESET_VECTOR_ADDRESS	0x1107fffc
+#endif
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE		0xeff80000
+#endif
+#define CONFIG_SYS_TEXT_BASE_NOR	0xeff80000
+
+#ifndef CONFIG_RESET_VECTOR_ADDRESS
+#define CONFIG_RESET_VECTOR_ADDRESS	0xeffffffc
+#endif
+
+#ifndef CONFIG_SYS_MONITOR_BASE
+#define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_TEXT_BASE	/* start of monitor */
+#endif
+
+/* High Level Configuration Options */
+#define CONFIG_BOOKE
+#define CONFIG_E500
+/* #define CONFIG_MPC85xx */
+
+#define CONFIG_MP
+
+#define CONFIG_FSL_LAW
+
+#define CONFIG_ENV_OVERWRITE
+
+#define CONFIG_CMD_SATA
+#define CONFIG_SATA_SIL
+#define CONFIG_SYS_SATA_MAX_DEVICE	2
+#define CONFIG_LIBATA
+#define CONFIG_LBA48
+
+#define CONFIG_SYS_CLK_FREQ	66666666
+#define CONFIG_DDR_CLK_FREQ	66666666
+
+#define CONFIG_HWCONFIG
+
+#define CONFIG_DTT_ADM1021	1	/* ADM1021 temp sensor support	*/
+#define CONFIG_SYS_DTT_BUS_NUM	1	/* The I2C bus for DTT		*/
+#define CONFIG_DTT_SENSORS	{ 0, 1 }	/* Sensor index	*/
+/*
+ * ADM1021/NCT72 temp sensor configuration (see dtt/adm1021.c for details).
+ * there will be one entry in this array for each two (dummy) sensors in
+ * CONFIG_DTT_SENSORS.
+ *
+ * For uCP1020 module:
+ * - only one ADM1021/NCT72
+ * - i2c addr 0x41
+ * - conversion rate 0x02 = 0.25 conversions/second
+ * - ALERT output disabled
+ * - local temp sensor enabled, min set to 0 deg, max set to 85 deg
+ * - remote temp sensor enabled, min set to 0 deg, max set to 85 deg
+ */
+#define CONFIG_SYS_DTT_ADM1021	{ { CONFIG_SYS_I2C_NCT72_ADDR, \
+					 0x02, 0, 1, 0, 85, 1, 0, 85} }
+
+#define CONFIG_CMD_DTT
+
+/*
+ * These can be toggled for performance analysis, otherwise use default.
+ */
+#define CONFIG_L2_CACHE
+#define CONFIG_BTB
+
+#define CONFIG_BOARD_EARLY_INIT_F	/* Call board_pre_init */
+
+#define CONFIG_ENABLE_36BIT_PHYS
+
+#define CONFIG_SYS_MEMTEST_START	0x00200000	/* memtest works on */
+#define CONFIG_SYS_MEMTEST_END		0x1fffffff
+#define CONFIG_PANIC_HANG	/* do not reset board on panic */
+
+#define CONFIG_SYS_CCSRBAR		0xffe00000
+#define CONFIG_SYS_CCSRBAR_PHYS_LOW	CONFIG_SYS_CCSRBAR
+
+/* IN case of NAND bootloader relocate CCSRBAR in RAMboot code not in the 4k
+       SPL code*/
+#ifdef CONFIG_SPL_BUILD
+#define CONFIG_SYS_CCSR_DO_NOT_RELOCATE
+#endif
+
+/* DDR Setup */
+#define CONFIG_DDR_ECC_ENABLE
+#define CONFIG_SYS_FSL_DDR3
+#ifndef CONFIG_DDR_ECC_ENABLE
+#define CONFIG_SYS_DDR_RAW_TIMING
+#define CONFIG_DDR_SPD
+#endif
+#define CONFIG_SYS_SPD_BUS_NUM 1
+#undef CONFIG_FSL_DDR_INTERACTIVE
+
+#define CONFIG_SYS_SDRAM_SIZE_LAW	LAW_SIZE_512M
+#define CONFIG_CHIP_SELECTS_PER_CTRL	1
+#define CONFIG_SYS_SDRAM_SIZE		(1u << (CONFIG_SYS_SDRAM_SIZE_LAW - 19))
+#define CONFIG_SYS_DDR_SDRAM_BASE	0x00000000
+#define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_SDRAM_BASE
+
+#define CONFIG_NUM_DDR_CONTROLLERS	1
+#define CONFIG_DIMM_SLOTS_PER_CTLR	1
+
+/* Default settings for DDR3 */
+#define CONFIG_SYS_DDR_CS0_BNDS		0x0000003f
+#define CONFIG_SYS_DDR_CS0_CONFIG	0x80014302
+#define CONFIG_SYS_DDR_CS0_CONFIG_2	0x00000000
+#define CONFIG_SYS_DDR_CS1_BNDS		0x0040007f
+#define CONFIG_SYS_DDR_CS1_CONFIG	0x80014302
+#define CONFIG_SYS_DDR_CS1_CONFIG_2	0x00000000
+
+#define CONFIG_SYS_DDR_DATA_INIT	0xdeadbeef
+#define CONFIG_SYS_DDR_INIT_ADDR	0x00000000
+#define CONFIG_SYS_DDR_INIT_EXT_ADDR	0x00000000
+#define CONFIG_SYS_DDR_MODE_CONTROL	0x00000000
+
+#define CONFIG_SYS_DDR_ZQ_CONTROL	0x89080600
+#define CONFIG_SYS_DDR_WRLVL_CONTROL	0x8655A608
+#define CONFIG_SYS_DDR_SR_CNTR		0x00000000
+#define CONFIG_SYS_DDR_RCW_1		0x00000000
+#define CONFIG_SYS_DDR_RCW_2		0x00000000
+#ifdef CONFIG_DDR_ECC_ENABLE
+#define CONFIG_SYS_DDR_CONTROL		0xE70C0000	/* Type = DDR3 & ECC */
+#else
+#define CONFIG_SYS_DDR_CONTROL		0xC70C0000	/* Type = DDR3 */
+#endif
+#define CONFIG_SYS_DDR_CONTROL_2	0x04401050
+#define CONFIG_SYS_DDR_TIMING_4		0x00220001
+#define CONFIG_SYS_DDR_TIMING_5		0x03402400
+
+#define CONFIG_SYS_DDR_TIMING_3		0x00020000
+#define CONFIG_SYS_DDR_TIMING_0		0x00330004
+#define CONFIG_SYS_DDR_TIMING_1		0x6f6B4846
+#define CONFIG_SYS_DDR_TIMING_2		0x0FA8C8CF
+#define CONFIG_SYS_DDR_CLK_CTRL		0x03000000
+#define CONFIG_SYS_DDR_MODE_1		0x40461520
+#define CONFIG_SYS_DDR_MODE_2		0x8000c000
+#define CONFIG_SYS_DDR_INTERVAL		0x0C300000
+
+#undef CONFIG_CLOCKS_IN_MHZ
+
+/*
+ * Memory map
+ *
+ * 0x0000_0000 0x7fff_ffff	DDR		Up to 2GB cacheable
+ * 0x8000_0000 0xdfff_ffff	PCI Express Mem	1G non-cacheable(PCIe * 2)
+ * 0xec00_0000 0xefff_ffff	NOR flash	Up to 64M non-cacheable	CS0/1
+ * 0xf8f8_0000 0xf8ff_ffff	L2 SRAM		Up to 256K cacheable
+ *   (early boot only)
+ * 0xffc0_0000 0xffc3_ffff	PCI IO range	256k non-cacheable
+ * 0xffd0_0000 0xffd0_3fff	L1 for stack	16K cacheable
+ * 0xffe0_0000 0xffef_ffff	CCSR		1M non-cacheable
+ */
+
+/*
+ * Local Bus Definitions
+ */
+#define CONFIG_SYS_MAX_FLASH_SECT	512	/* 64M */
+#define CONFIG_SYS_FLASH_BASE		0xec000000
+
+#define CONFIG_SYS_FLASH_BASE_PHYS	CONFIG_SYS_FLASH_BASE
+
+#define CONFIG_FLASH_BR_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) \
+	| BR_PS_16 | BR_V)
+
+#define CONFIG_FLASH_OR_PRELIM		0xfc000ff7
+
+#define CONFIG_SYS_FLASH_BANKS_LIST	{CONFIG_SYS_FLASH_BASE_PHYS}
+#define CONFIG_SYS_FLASH_QUIET_TEST
+#define CONFIG_FLASH_SHOW_PROGRESS	45	/* count down from 45/5: 9..1 */
+
+#define CONFIG_SYS_MAX_FLASH_BANKS	1	/* number of banks */
+
+#undef CONFIG_SYS_FLASH_CHECKSUM
+#define CONFIG_SYS_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
+#define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */
+
+#define CONFIG_FLASH_CFI_DRIVER
+#define CONFIG_SYS_FLASH_CFI
+#define CONFIG_SYS_FLASH_EMPTY_INFO
+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
+
+#define CONFIG_BOARD_EARLY_INIT_R	/* call board_early_init_r function */
+
+#define CONFIG_SYS_INIT_RAM_LOCK
+#define CONFIG_SYS_INIT_RAM_ADDR	0xffd00000 /* stack in RAM */
+/* Initial L1 address */
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS	CONFIG_SYS_INIT_RAM_ADDR
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH 0
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW CONFIG_SYS_INIT_RAM_ADDR_PHYS
+/* Size of used area in RAM */
+#define CONFIG_SYS_INIT_RAM_SIZE	0x00004000
+
+#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	(1024 * 1024)/* Reserved for malloc */
+
+#define CONFIG_SYS_PMC_BASE	0xff980000
+#define CONFIG_SYS_PMC_BASE_PHYS	CONFIG_SYS_PMC_BASE
+#define CONFIG_PMC_BR_PRELIM	(BR_PHYS_ADDR(CONFIG_SYS_PMC_BASE_PHYS) | \
+					BR_PS_8 | BR_V)
+#define CONFIG_PMC_OR_PRELIM	(OR_AM_64KB | OR_GPCM_CSNT | OR_GPCM_XACS | \
+				 OR_GPCM_SCY | OR_GPCM_TRLX | OR_GPCM_EHTR | \
+				 OR_GPCM_EAD)
+
+#define CONFIG_SYS_BR0_PRELIM	CONFIG_FLASH_BR_PRELIM	/* NOR Base Address */
+#define CONFIG_SYS_OR0_PRELIM	CONFIG_FLASH_OR_PRELIM	/* NOR Options */
+#ifdef CONFIG_NAND_FSL_ELBC
+#define CONFIG_SYS_BR1_PRELIM	CONFIG_SYS_NAND_BR_PRELIM /* NAND Base Addr */
+#define CONFIG_SYS_OR1_PRELIM	CONFIG_SYS_NAND_OR_PRELIM /* NAND Options */
+#endif
+
+/* Serial Port - controlled on board with jumper J8
+ * open - index 2
+ * shorted - index 1
+ */
+#define CONFIG_CONS_INDEX		1
+#undef CONFIG_SERIAL_SOFTWARE_FIFO
+#define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_SERIAL
+#define CONFIG_SYS_NS16550_REG_SIZE	1
+#define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
+#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_INIT_MINIMAL)
+#define CONFIG_NS16550_MIN_FUNCTIONS
+#endif
+
+#define CONFIG_SYS_BAUDRATE_TABLE	\
+	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
+
+#define CONFIG_SYS_NS16550_COM1	(CONFIG_SYS_CCSRBAR + 0x4500)
+#define CONFIG_SYS_NS16550_COM2	(CONFIG_SYS_CCSRBAR + 0x4600)
+
+/* Use the HUSH parser */
+#define CONFIG_SYS_HUSH_PARSER
+
+/*
+ * Pass open firmware flat tree
+ */
+#define CONFIG_OF_LIBFDT
+#define CONFIG_OF_BOARD_SETUP
+#define CONFIG_OF_STDOUT_VIA_ALIAS
+
+/* new uImage format support */
+#define CONFIG_FIT
+#define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */
+
+/* I2C */
+#define CONFIG_SYS_I2C
+#define CONFIG_SYS_I2C_FSL
+#define CONFIG_SYS_FSL_I2C_SPEED	400000
+#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000
+#define CONFIG_SYS_FSL_I2C2_SPEED	400000
+#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F
+#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100
+#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x29} }
+#define CONFIG_SYS_SPD_BUS_NUM		1 /* For rom_loc and flash bank */
+
+#define CONFIG_RTC_DS1337
+#define CONFIG_SYS_RTC_DS1337_NOOSC
+#define CONFIG_SYS_I2C_RTC_ADDR		0x68
+#define CONFIG_SYS_I2C_PCA9557_ADDR	0x18
+#define CONFIG_SYS_I2C_NCT72_ADDR	0x4C
+#define CONFIG_SYS_I2C_IDT6V49205B	0x69
+
+/*
+ * eSPI - Enhanced SPI
+ */
+#define CONFIG_HARD_SPI
+#define CONFIG_FSL_ESPI
+
+#define CONFIG_SPI_FLASH_SST		1
+#define CONFIG_SPI_FLASH_STMICRO	1
+#define CONFIG_SPI_FLASH_WINBOND	1
+#define CONFIG_CMD_SF			1
+#define CONFIG_CMD_SPI			1
+#define CONFIG_SF_DEFAULT_SPEED		10000000
+#define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0
+
+#if defined(CONFIG_PCI)
+/*
+ * General PCI
+ * Memory space is mapped 1-1, but I/O space must start from 0.
+ */
+
+/* controller 2, direct to uli, tgtid 2, Base address 9000 */
+#define CONFIG_SYS_PCIE2_NAME		"PCIe SLOT CON9"
+#define CONFIG_SYS_PCIE2_MEM_VIRT	0xa0000000
+#define CONFIG_SYS_PCIE2_MEM_BUS	0xa0000000
+#define CONFIG_SYS_PCIE2_MEM_PHYS	0xa0000000
+#define CONFIG_SYS_PCIE2_MEM_SIZE	0x20000000	/* 512M */
+#define CONFIG_SYS_PCIE2_IO_VIRT	0xffc10000
+#define CONFIG_SYS_PCIE2_IO_BUS		0x00000000
+#define CONFIG_SYS_PCIE2_IO_PHYS	0xffc10000
+#define CONFIG_SYS_PCIE2_IO_SIZE	0x00010000	/* 64k */
+
+/* controller 1, Slot 2, tgtid 1, Base address a000 */
+#define CONFIG_SYS_PCIE1_NAME		"PCIe SLOT CON10"
+#define CONFIG_SYS_PCIE1_MEM_VIRT	0x80000000
+#define CONFIG_SYS_PCIE1_MEM_BUS	0x80000000
+#define CONFIG_SYS_PCIE1_MEM_PHYS	0x80000000
+#define CONFIG_SYS_PCIE1_MEM_SIZE	0x20000000	/* 512M */
+#define CONFIG_SYS_PCIE1_IO_VIRT	0xffc00000
+#define CONFIG_SYS_PCIE1_IO_BUS		0x00000000
+#define CONFIG_SYS_PCIE1_IO_PHYS	0xffc00000
+#define CONFIG_SYS_PCIE1_IO_SIZE	0x00010000	/* 64k */
+
+#define CONFIG_PCI_PNP	/* do pci plug-and-play */
+#define CONFIG_E1000	/* Defind e1000 pci Ethernet card*/
+#define CONFIG_CMD_PCI
+#define CONFIG_CMD_NET
+
+#define CONFIG_PCI_SCAN_SHOW	/* show pci devices on startup */
+#define CONFIG_DOS_PARTITION
+#endif /* CONFIG_PCI */
+
+/*
+ * Environment
+ */
+#ifdef CONFIG_ENV_FIT_UCBOOT
+
+#define CONFIG_ENV_IS_IN_FLASH
+#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x20000)
+#define CONFIG_ENV_SIZE		0x20000
+#define CONFIG_ENV_SECT_SIZE	0x20000 /* 128K (one sector) */
+
+#else
+
+#define CONFIG_ENV_SPI_BUS	0
+#define CONFIG_ENV_SPI_CS	0
+#define CONFIG_ENV_SPI_MAX_HZ	10000000
+#define CONFIG_ENV_SPI_MODE	0
+
+#ifdef CONFIG_RAMBOOT_SPIFLASH
+
+#define CONFIG_ENV_IS_IN_SPI_FLASH
+#define CONFIG_ENV_SIZE		0x3000		/* 12KB */
+#define CONFIG_ENV_OFFSET	0x2000		/* 8KB */
+#define CONFIG_ENV_SECT_SIZE	0x1000
+
+#if defined(CONFIG_SYS_REDUNDAND_ENVIRONMENT)
+/* Address and size of Redundant Environment Sector	*/
+#define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
+#define CONFIG_ENV_SIZE_REDUND		CONFIG_ENV_SIZE
+#endif
+
+#elif defined(CONFIG_RAMBOOT_SDCARD)
+#define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_FSL_FIXED_MMC_LOCATION
+#define CONFIG_ENV_SIZE		0x2000
+#define CONFIG_SYS_MMC_ENV_DEV	0
+
+#elif defined(CONFIG_SYS_RAMBOOT)
+#define CONFIG_ENV_IS_NOWHERE	/* Store ENV in memory only */
+#define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE - 0x1000)
+#define CONFIG_ENV_SIZE		0x2000
+
+#else
+#define CONFIG_ENV_IS_IN_FLASH
+#define CONFIG_ENV_BASE		(CONFIG_SYS_FLASH_BASE)
+#define CONFIG_ENV_SECT_SIZE	0x20000 /* 128K (one sector) */
+#define CONFIG_ENV_SIZE		CONFIG_ENV_SECT_SIZE
+#define CONFIG_ENV_ADDR		(CONFIG_ENV_BASE + 0xC0000)
+#if defined(CONFIG_SYS_REDUNDAND_ENVIRONMENT)
+/* Address and size of Redundant Environment Sector	*/
+#define CONFIG_ENV_ADDR_REDUND	(CONFIG_ENV_ADDR + CONFIG_ENV_SIZE)
+#define CONFIG_ENV_SIZE_REDUND	CONFIG_ENV_SIZE
+#endif
+
+#endif
+
+#endif	/* CONFIG_ENV_FIT_UCBOOT */
+
+#define CONFIG_LOADS_ECHO		/* echo on for serial download */
+#define CONFIG_SYS_LOADS_BAUD_CHANGE	/* allow baudrate change */
+
+/*
+ * Command line configuration.
+ */
+#include <config_cmd_default.h>
+
+#define CONFIG_CMD_IRQ
+#define CONFIG_CMD_PING
+#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
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_SETEXPR
+#define CONFIG_CMD_REGINFO
+#define CONFIG_CMD_ERRATA
+#define CONFIG_CMD_CRAMFS
+#define CONFIG_CRAMFS_CMDLINE
+
+/*
+ * USB
+ */
+#define CONFIG_HAS_FSL_DR_USB
+
+#if defined(CONFIG_HAS_FSL_DR_USB)
+#define CONFIG_USB_EHCI
+
+#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
+
+#ifdef CONFIG_USB_EHCI
+#define CONFIG_CMD_USB
+#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
+#define CONFIG_USB_EHCI_FSL
+#define CONFIG_USB_STORAGE
+#endif
+#endif
+
+#undef CONFIG_WATCHDOG			/* watchdog disabled */
+
+#ifdef CONFIG_MMC
+#define CONFIG_FSL_ESDHC
+#define CONFIG_SYS_FSL_ESDHC_ADDR	CONFIG_SYS_MPC85xx_ESDHC_ADDR
+#define CONFIG_CMD_MMC
+#define CONFIG_MMC_SPI
+#define CONFIG_CMD_MMC_SPI
+#define CONFIG_GENERIC_MMC
+#endif
+
+#if defined(CONFIG_MMC) || defined(CONFIG_USB_EHCI) || defined(CONFIG_FSL_SATA)
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+#define CONFIG_DOS_PARTITION
+#endif
+
+/* Misc Extra Settings */
+#define CONFIG_CMD_GPIO			1
+#undef CONFIG_WATCHDOG	/* watchdog disabled */
+
+/*
+ * Miscellaneous configurable options
+ */
+#define CONFIG_SYS_LONGHELP			/* undef to save memory */
+#define CONFIG_CMDLINE_EDITING			/* Command-line editing */
+#define CONFIG_SYS_LOAD_ADDR	0x2000000	/* default load address */
+#define CONFIG_SYS_PROMPT	"B$ "		/* Monitor Command Prompt */
+#if defined(CONFIG_CMD_KGDB)
+#define CONFIG_SYS_CBSIZE	1024		/* Console I/O Buffer Size */
+#else
+#define CONFIG_SYS_CBSIZE	256		/* Console I/O Buffer Size */
+#endif
+#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
+	/* Print Buffer Size */
+#define CONFIG_SYS_MAXARGS	16	/* max number of command args */
+#define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE/* Boot Argument Buffer Size */
+#define CONFIG_SYS_HZ		1000	/* decrementer freq: 1ms tick */
+
+/*
+ * For booting Linux, the board info and command line data
+ * have to be in the first 64 MB of memory, since this is
+ * the maximum mapped by the Linux kernel during initialization.
+ */
+#define CONFIG_SYS_BOOTMAPSZ	(64 << 20)	/* Initial Memory for Linux*/
+#define CONFIG_SYS_BOOTM_LEN	(64 << 20)	/* Increase max gunzip size */
+
+#if defined(CONFIG_CMD_KGDB)
+#define CONFIG_KGDB_BAUDRATE	230400	/* speed to run kgdb serial port */
+#define CONFIG_KGDB_SER_INDEX	2	/* which serial port to use */
+#endif
+
+/*
+ * Environment Configuration
+ */
+
+#if defined(CONFIG_TSEC_ENET)
+
+#if defined(CONFIG_UCP1020_REV_1_2)
+#define CONFIG_PHY_MICREL_KSZ9021
+#elif defined(CONFIG_UCP1020_REV_1_3)
+#define CONFIG_PHY_MICREL_KSZ9031
+#else
+#error "UCP1020 module revision is not defined !!!"
+#endif
+
+#define CONFIG_CMD_DHCP
+#define CONFIG_BOOTP_SERVERIP
+
+#define CONFIG_MII		/* MII PHY management */
+#define CONFIG_TSEC1_NAME	"eTSEC1"
+#define CONFIG_TSEC2_NAME	"eTSEC2"
+#define CONFIG_TSEC3_NAME	"eTSEC3"
+
+#define TSEC1_PHY_ADDR	4
+#define TSEC2_PHY_ADDR	0
+#define TSEC2_PHY_ADDR_SGMII	0x00
+#define TSEC3_PHY_ADDR	6
+
+#define TSEC1_FLAGS	(TSEC_GIGABIT | TSEC_REDUCED)
+#define TSEC2_FLAGS	(TSEC_GIGABIT | TSEC_REDUCED)
+#define TSEC3_FLAGS	(TSEC_GIGABIT | TSEC_REDUCED)
+
+#define TSEC1_PHYIDX	0
+#define TSEC2_PHYIDX	0
+#define TSEC3_PHYIDX	0
+
+#define CONFIG_PHY_GIGE	1	/* Include GbE speed/duplex detection */
+
+#endif
+
+#define CONFIG_HOSTNAME		UCP1020
+#define CONFIG_ROOTPATH		"/opt/nfsroot"
+#define CONFIG_BOOTFILE		"uImage"
+#define CONFIG_UBOOTPATH	u-boot.bin /* U-Boot image on TFTP server */
+
+/* default location for tftp and bootm */
+#define CONFIG_LOADADDR		1000000
+
+/*
+ * Autobooting
+ */
+#define CONFIG_AUTOBOOT_KEYED
+#define CONFIG_AUTOBOOT_STOP_STR	"\x1b"
+#define DEBUG_BOOTKEYS			0
+#undef CONFIG_AUTOBOOT_DELAY_STR
+#undef CONFIG_BOOTARGS
+#define CONFIG_AUTOBOOT_PROMPT	"Autobooting in %d seconds, "	\
+				"press \"<Esc>\" to stop\n", bootdelay
+
+#define CONFIG_BOOTARGS	/* the boot command will set bootargs */
+
+#define CONFIG_BAUDRATE	115200
+
+#if defined(CONFIG_DONGLE)
+
+#define CONFIG_BOOTDELAY 1	/* autoboot after 1 seconds */
+#define	CONFIG_EXTRA_ENV_SETTINGS					\
+"bootcmd=run prog_spi_mbrbootcramfs\0"					\
+"bootfile=uImage\0"							\
+"consoledev=ttyS0\0"							\
+"cramfsfile=image.cramfs\0"						\
+"dtbaddr=0x00c00000\0"							\
+"dtbfile=image.dtb\0"							\
+"ethaddr=" __stringify(CONFIG_ETHADDR) "\0"				\
+"eth1addr=" __stringify(CONFIG_ETH1ADDR) "\0"				\
+"eth2addr=" __stringify(CONFIG_ETH2ADDR) "\0"				\
+"fileaddr=0x01000000\0"							\
+"filesize=0x00080000\0"							\
+"flashmbr=sf probe 0; "							\
+	"tftp $loadaddr $mbr; "						\
+	"sf erase $mbr_offset +$filesize; "				\
+	"sf write $loadaddr $mbr_offset $filesize\0"			\
+"flashrecovery=tftp $recoveryaddr $cramfsfile; "			\
+	"protect off $nor_recoveryaddr +$filesize; "			\
+	"erase $nor_recoveryaddr +$filesize; "				\
+	"cp.b $recoveryaddr $nor_recoveryaddr $filesize; "		\
+	"protect on $nor_recoveryaddr +$filesize\0 "			\
+"flashuboot=tftp $ubootaddr $ubootfile; "				\
+	"protect off $nor_ubootaddr +$filesize; "			\
+	"erase $nor_ubootaddr +$filesize; "				\
+	"cp.b $ubootaddr $nor_ubootaddr $filesize; "			\
+	"protect on $nor_ubootaddr +$filesize\0 "			\
+"flashworking=tftp $workingaddr $cramfsfile; "				\
+	"protect off $nor_workingaddr +$filesize; "			\
+	"erase $nor_workingaddr +$filesize; "				\
+	"cp.b $workingaddr $nor_workingaddr $filesize; "		\
+	"protect on $nor_workingaddr +$filesize\0 "			\
+"hwconfig=usb1:dr_mode=host,phy_type=ulpi\0 "				\
+"kerneladdr=0x01100000\0"						\
+"kernelfile=uImage\0"							\
+"loadaddr=0x01000000\0"							\
+"mbr=uCP1020d.mbr\0"							\
+"mbr_offset=0x00000000\0"						\
+"mmbr=uCP1020Quiet.mbr\0"						\
+"mmcpart=0:2\0"								\
+"mmc__mbrd=fatload mmc $mmcpart $loadaddr $mbr; "			\
+	"mmc erase 1 1; "						\
+	"mmc write $loadaddr 1 1\0"					\
+"mmc__uboot=fatload mmc $mmcpart $loadaddr $ubootfile; "		\
+	"mmc erase 0x40 0x400; "					\
+	"mmc write $loadaddr 0x40 0x400\0"				\
+"netdev=eth0\0"								\
+"nor_recoveryaddr=0xEC0A0000\0"						\
+"nor_ubootaddr=0xEFF80000\0"						\
+"nor_workingaddr=0xECFA0000\0"						\
+"norbootrecovery=setenv bootargs $recoverybootargs"			\
+	" console=$consoledev,$baudrate $othbootargs; "			\
+	"run norloadrecovery; "						\
+	"bootm $kerneladdr - $dtbaddr\0"				\
+"norbootworking=setenv bootargs $workingbootargs"			\
+	" console=$consoledev,$baudrate $othbootargs; "			\
+	"run norloadworking; "						\
+	"bootm $kerneladdr - $dtbaddr\0"				\
+"norloadrecovery=mw.l $kerneladdr 0x0 0x00a00000; "			\
+	"setenv cramfsaddr $nor_recoveryaddr; "				\
+	"cramfsload $dtbaddr $dtbfile; "				\
+	"cramfsload $kerneladdr $kernelfile\0"				\
+"norloadworking=mw.l $kerneladdr 0x0 0x00a00000; "			\
+	"setenv cramfsaddr $nor_workingaddr; "				\
+	"cramfsload $dtbaddr $dtbfile; "				\
+	"cramfsload $kerneladdr $kernelfile\0"				\
+"prog_spi_mbr=run spi__mbr\0"						\
+"prog_spi_mbrboot=run spi__mbr; run spi__boot1; run spi__boot2\0"	\
+"prog_spi_mbrbootcramfs=run spi__mbr; run spi__boot1; run spi__boot2; "	\
+	"run spi__cramfs\0"						\
+"ramboot=setenv bootargs root=/dev/ram ramdisk_size=$ramdisk_size ro"	\
+	" console=$consoledev,$baudrate $othbootargs; "			\
+	"tftp $rootfsaddr $rootfsfile; "				\
+	"tftp $loadaddr $kernelfile; "					\
+	"tftp $dtbaddr $dtbfile; "					\
+	"bootm $loadaddr $rootfsaddr $dtbaddr\0"			\
+"ramdisk_size=120000\0"							\
+"ramdiskfile=rootfs.ext2.gz.uboot\0"					\
+"recoveryaddr=0x02F00000\0"						\
+"recoverybootargs=root=/dev/mtdblock0 rootfstype=cramfs ro\0"		\
+"releasefpga=mw.l 0xffe0f000 0x00400000; mw.l 0xffe0f004 0x00000000; "	\
+	"mw.l 0xffe0f008 0x00400000\0"					\
+"rootfsaddr=0x02F00000\0"						\
+"rootfsfile=rootfs.ext2.gz.uboot\0"					\
+"rootpath=/opt/nfsroot\0"						\
+"spi__boot1=fatload mmc $mmcpart $loadaddr u-boot.bin; "		\
+	"protect off 0xeC000000 +$filesize; "				\
+	"erase 0xEC000000 +$filesize; "					\
+	"cp.b $loadaddr 0xEC000000 $filesize; "				\
+	"cmp.b $loadaddr 0xEC000000 $filesize; "			\
+	"protect on 0xeC000000 +$filesize\0"				\
+"spi__boot2=fatload mmc $mmcpart $loadaddr u-boot.bin; "		\
+	"protect off 0xeFF80000 +$filesize; "				\
+	"erase 0xEFF80000 +$filesize; "					\
+	"cp.b $loadaddr 0xEFF80000 $filesize; "				\
+	"cmp.b $loadaddr 0xEFF80000 $filesize; "			\
+	"protect on 0xeFF80000 +$filesize\0"				\
+"spi__bootd=fatload mmc $mmcpart $loadaddr $ubootd; "			\
+	"sf probe 0; sf erase 0x8000 +$filesize; "			\
+	"sf write $loadaddr 0x8000 $filesize\0"				\
+"spi__cramfs=fatload mmc $mmcpart $loadaddr image.cramfs; "		\
+	"protect off 0xec0a0000 +$filesize; "				\
+	"erase 0xeC0A0000 +$filesize; "					\
+	"cp.b $loadaddr 0xeC0A0000 $filesize; "				\
+	"protect on 0xec0a0000 +$filesize\0"				\
+"spi__mbr=fatload mmc $mmcpart $loadaddr $mmbr; "			\
+	"sf probe 1; sf erase 0 +$filesize; "				\
+	"sf write $loadaddr 0 $filesize\0"				\
+"spi__mbrd=fatload mmc $mmcpart $loadaddr $mbr; "			\
+	"sf probe 0; sf erase 0 +$filesize; "				\
+	"sf write $loadaddr 0 $filesize\0"				\
+"tftpflash=tftpboot $loadaddr $uboot; "					\
+	"protect off " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
+	"erase " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; "	\
+	"cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; " \
+	"protect on " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
+	"cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize\0"\
+"uboot= " __stringify(CONFIG_UBOOTPATH) "\0"				\
+"ubootaddr=0x01000000\0"						\
+"ubootfile=u-boot.bin\0"						\
+"ubootd=u-boot4dongle.bin\0"						\
+"upgrade=run flashworking\0"						\
+"usb_phy_type=ulpi\0 "							\
+"workingaddr=0x02F00000\0"						\
+"workingbootargs=root=/dev/mtdblock1 rootfstype=cramfs ro\0"
+
+#else
+
+#if defined(CONFIG_UCP1020T1)
+
+#define CONFIG_BOOTDELAY 2 /* autoboot after 2 sec, -1 disables auto-boot */
+#define	CONFIG_EXTRA_ENV_SETTINGS					\
+"bootcmd=run releasefpga; run norbootworking || run norbootrecovery\0"	\
+"bootfile=uImage\0"							\
+"consoledev=ttyS0\0"							\
+"cramfsfile=image.cramfs\0"						\
+"dtbaddr=0x00c00000\0"							\
+"dtbfile=image.dtb\0"							\
+"ethaddr=" __stringify(CONFIG_ETHADDR) "\0"				\
+"eth1addr=" __stringify(CONFIG_ETH1ADDR) "\0"				\
+"eth2addr=" __stringify(CONFIG_ETH2ADDR) "\0"				\
+"fileaddr=0x01000000\0"							\
+"filesize=0x00080000\0"							\
+"flashmbr=sf probe 0; "							\
+	"tftp $loadaddr $mbr; "						\
+	"sf erase $mbr_offset +$filesize; "				\
+	"sf write $loadaddr $mbr_offset $filesize\0"			\
+"flashrecovery=tftp $recoveryaddr $cramfsfile; "			\
+	"protect off $nor_recoveryaddr +$filesize; "			\
+	"erase $nor_recoveryaddr +$filesize; "				\
+	"cp.b $recoveryaddr $nor_recoveryaddr $filesize; "		\
+	"protect on $nor_recoveryaddr +$filesize\0 "			\
+"flashuboot=tftp $ubootaddr $ubootfile; "				\
+	"protect off $nor_ubootaddr +$filesize; "			\
+	"erase $nor_ubootaddr +$filesize; "				\
+	"cp.b $ubootaddr $nor_ubootaddr $filesize; "			\
+	"protect on $nor_ubootaddr +$filesize\0 "			\
+"flashworking=tftp $workingaddr $cramfsfile; "				\
+	"protect off $nor_workingaddr +$filesize; "			\
+	"erase $nor_workingaddr +$filesize; "				\
+	"cp.b $workingaddr $nor_workingaddr $filesize; "		\
+	"protect on $nor_workingaddr +$filesize\0 "			\
+"hwconfig=usb1:dr_mode=host,phy_type=ulpi\0 "				\
+"kerneladdr=0x01100000\0"						\
+"kernelfile=uImage\0"							\
+"loadaddr=0x01000000\0"							\
+"mbr=uCP1020.mbr\0"							\
+"mbr_offset=0x00000000\0"						\
+"netdev=eth0\0"								\
+"nor_recoveryaddr=0xEC0A0000\0"						\
+"nor_ubootaddr=0xEFF80000\0"						\
+"nor_workingaddr=0xECFA0000\0"						\
+"norbootrecovery=setenv bootargs $recoverybootargs"			\
+	" console=$consoledev,$baudrate $othbootargs; "			\
+	"run norloadrecovery; "						\
+	"bootm $kerneladdr - $dtbaddr\0"				\
+"norbootworking=setenv bootargs $workingbootargs"			\
+	" console=$consoledev,$baudrate $othbootargs; "			\
+	"run norloadworking; "						\
+	"bootm $kerneladdr - $dtbaddr\0"				\
+"norloadrecovery=mw.l $kerneladdr 0x0 0x00a00000; "			\
+	"setenv cramfsaddr $nor_recoveryaddr; "				\
+	"cramfsload $dtbaddr $dtbfile; "				\
+	"cramfsload $kerneladdr $kernelfile\0"				\
+"norloadworking=mw.l $kerneladdr 0x0 0x00a00000; "			\
+	"setenv cramfsaddr $nor_workingaddr; "				\
+	"cramfsload $dtbaddr $dtbfile; "				\
+	"cramfsload $kerneladdr $kernelfile\0"				\
+"othbootargs=quiet\0"							\
+"ramboot=setenv bootargs root=/dev/ram ramdisk_size=$ramdisk_size ro"	\
+	" console=$consoledev,$baudrate $othbootargs; "			\
+	"tftp $rootfsaddr $rootfsfile; "				\
+	"tftp $loadaddr $kernelfile; "					\
+	"tftp $dtbaddr $dtbfile; "					\
+	"bootm $loadaddr $rootfsaddr $dtbaddr\0"			\
+"ramdisk_size=120000\0"							\
+"ramdiskfile=rootfs.ext2.gz.uboot\0"					\
+"recoveryaddr=0x02F00000\0"						\
+"recoverybootargs=root=/dev/mtdblock0 rootfstype=cramfs ro\0"		\
+"releasefpga=mw.l 0xffe0f000 0x00400000; mw.l 0xffe0f004 0x00000000; "	\
+	"mw.l 0xffe0f008 0x00400000\0"					\
+"rootfsaddr=0x02F00000\0"						\
+"rootfsfile=rootfs.ext2.gz.uboot\0"					\
+"rootpath=/opt/nfsroot\0"						\
+"silent=1\0"								\
+"tftpflash=tftpboot $loadaddr $uboot; "					\
+	"protect off " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
+	"erase " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; "	\
+	"cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; " \
+	"protect on " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
+	"cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize\0"\
+"uboot= " __stringify(CONFIG_UBOOTPATH) "\0"				\
+"ubootaddr=0x01000000\0"						\
+"ubootfile=u-boot.bin\0"						\
+"upgrade=run flashworking\0"						\
+"workingaddr=0x02F00000\0"						\
+"workingbootargs=root=/dev/mtdblock1 rootfstype=cramfs ro\0"
+
+#else /* For Arcturus Modules */
+
+#define CONFIG_BOOTDELAY 2 /* autoboot after 2 sec, -1 disables auto-boot */
+#define	CONFIG_EXTRA_ENV_SETTINGS					\
+"bootcmd=run norkernel\0"						\
+"bootfile=uImage\0"							\
+"consoledev=ttyS0\0"							\
+"dtbaddr=0x00c00000\0"							\
+"dtbfile=image.dtb\0"							\
+"ethaddr=" __stringify(CONFIG_ETHADDR) "\0"				\
+"eth1addr=" __stringify(CONFIG_ETH1ADDR) "\0"				\
+"eth2addr=" __stringify(CONFIG_ETH2ADDR) "\0"				\
+"fileaddr=0x01000000\0"							\
+"filesize=0x00080000\0"							\
+"flashmbr=sf probe 0; "							\
+	"tftp $loadaddr $mbr; "						\
+	"sf erase $mbr_offset +$filesize; "				\
+	"sf write $loadaddr $mbr_offset $filesize\0"			\
+"flashuboot=tftp $loadaddr $ubootfile; "				\
+	"protect off $nor_ubootaddr0 +$filesize; "			\
+	"erase $nor_ubootaddr0 +$filesize; "				\
+	"cp.b $loadaddr $nor_ubootaddr0 $filesize; "			\
+	"protect on $nor_ubootaddr0 +$filesize; "			\
+	"protect off $nor_ubootaddr1 +$filesize; "			\
+	"erase $nor_ubootaddr1 +$filesize; "				\
+	"cp.b $loadaddr $nor_ubootaddr1 $filesize; "			\
+	"protect on $nor_ubootaddr1 +$filesize\0 "			\
+"format0=protect off $part0base +$part0size; "				\
+	"erase $part0base +$part0size\0"				\
+"format1=protect off $part1base +$part1size; "				\
+	"erase $part1base +$part1size\0"				\
+"format2=protect off $part2base +$part2size; "				\
+	"erase $part2base +$part2size\0"				\
+"format3=protect off $part3base +$part3size; "				\
+	"erase $part3base +$part3size\0"				\
+"hwconfig=usb1:dr_mode=host,phy_type=ulpi\0 "				\
+"kerneladdr=0x01100000\0"						\
+"kernelargs=root=/dev/mtdblock1 rootfstype=cramfs ro\0"			\
+"kernelfile=uImage\0"							\
+"loadaddr=0x01000000\0"							\
+"mbr=uCP1020.mbr\0"							\
+"mbr_offset=0x00000000\0"						\
+"netdev=eth0\0"								\
+"nor_ubootaddr0=0xEC000000\0"						\
+"nor_ubootaddr1=0xEFF80000\0"						\
+"norkernel=setenv bootargs $kernelargs console=$consoledev,$baudrate; "	\
+	"run norkernelload; "						\
+	"bootm $kerneladdr - $dtbaddr\0"				\
+"norkernelload=mw.l $kerneladdr 0x0 0x00a00000; "			\
+	"setenv cramfsaddr $part0base; "				\
+	"cramfsload $dtbaddr $dtbfile; "				\
+	"cramfsload $kerneladdr $kernelfile\0"				\
+"part0base=0xEC100000\0"						\
+"part0size=0x00700000\0"						\
+"part1base=0xEC800000\0"						\
+"part1size=0x02000000\0"						\
+"part2base=0xEE800000\0"						\
+"part2size=0x00800000\0"						\
+"part3base=0xEF000000\0"						\
+"part3size=0x00F80000\0"						\
+"partENVbase=0xEC080000\0"						\
+"partENVsize=0x00080000\0"						\
+"program0=tftp part0-000000.bin; "					\
+	"protect off $part0base +$filesize; "				\
+	"erase $part0base +$filesize; "					\
+	"cp.b $loadaddr $part0base $filesize; "				\
+	"echo Verifying...; "						\
+	"cmp.b $loadaddr $part0base $filesize\0"			\
+"program1=tftp part1-000000.bin; "					\
+	"protect off $part1base +$filesize; "				\
+	"erase $part1base +$filesize; "					\
+	"cp.b $loadaddr $part1base $filesize; "				\
+	"echo Verifying...; "						\
+	"cmp.b $loadaddr $part1base $filesize\0"			\
+"program2=tftp part2-000000.bin; "					\
+	"protect off $part2base +$filesize; "				\
+	"erase $part2base +$filesize; "					\
+	"cp.b $loadaddr $part2base $filesize; "				\
+	"echo Verifying...; "						\
+	"cmp.b $loadaddr $part2base $filesize\0"			\
+"ramboot=setenv bootargs root=/dev/ram ramdisk_size=$ramdisk_size ro"	\
+	"  console=$consoledev,$baudrate $othbootargs; "		\
+	"tftp $rootfsaddr $rootfsfile; "				\
+	"tftp $loadaddr $kernelfile; "					\
+	"tftp $dtbaddr $dtbfile; "					\
+	"bootm $loadaddr $rootfsaddr $dtbaddr\0"			\
+"ramdisk_size=120000\0"							\
+"ramdiskfile=rootfs.ext2.gz.uboot\0"					\
+"releasefpga=mw.l 0xffe0f000 0x00400000; mw.l 0xffe0f004 0x00000000; "	\
+	"mw.l 0xffe0f008 0x00400000\0"					\
+"rootfsaddr=0x02F00000\0"						\
+"rootfsfile=rootfs.ext2.gz.uboot\0"					\
+"rootpath=/opt/nfsroot\0"						\
+"spi__mbr=fatload mmc $mmcpart $loadaddr $mmbr; "			\
+	"sf probe 0; sf erase 0 +$filesize; "				\
+	"sf write $loadaddr 0 $filesize\0"				\
+"spi__boot=fatload mmc $mmcpart $loadaddr u-boot.bin; "			\
+	"protect off 0xeC000000 +$filesize; "				\
+	"erase 0xEC000000 +$filesize; "					\
+	"cp.b $loadaddr 0xEC000000 $filesize; "				\
+	"cmp.b $loadaddr 0xEC000000 $filesize; "			\
+	"protect on 0xeC000000 +$filesize\0"				\
+"tftpflash=tftpboot $loadaddr $uboot; "					\
+	"protect off " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
+	"erase " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; "	\
+	"cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; " \
+	"protect on " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
+	"cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize\0"\
+"uboot= " __stringify(CONFIG_UBOOTPATH) "\0"				\
+"ubootfile=u-boot.bin\0"						\
+"upgrade=run flashuboot\0"						\
+"usb_phy_type=ulpi\0 "							\
+"boot_nfs= "								\
+	"setenv bootargs root=/dev/nfs rw "				\
+	"nfsroot=$serverip:$rootpath "					\
+	"ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \
+	"console=$consoledev,$baudrate $othbootargs;"			\
+	"tftp $loadaddr $bootfile;"					\
+	"tftp $fdtaddr $fdtfile;"					\
+	"bootm $loadaddr - $fdtaddr\0"					\
+"boot_hd = "								\
+	"setenv bootargs root=/dev/$bdev rw rootdelay=30 "		\
+	"console=$consoledev,$baudrate $othbootargs;"			\
+	"usb start;"							\
+	"ext2load usb 0:1 $loadaddr /boot/$bootfile;"			\
+	"ext2load usb 0:1 $fdtaddr /boot/$fdtfile;"			\
+	"bootm $loadaddr - $fdtaddr\0"					\
+"boot_usb_fat = "							\
+	"setenv bootargs root=/dev/ram rw "				\
+	"console=$consoledev,$baudrate $othbootargs "			\
+	"ramdisk_size=$ramdisk_size;"					\
+	"usb start;"							\
+	"fatload usb 0:2 $loadaddr $bootfile;"				\
+	"fatload usb 0:2 $fdtaddr $fdtfile;"				\
+	"fatload usb 0:2 $ramdiskaddr $ramdiskfile;"			\
+	"bootm $loadaddr $ramdiskaddr $fdtaddr\0 "			\
+"boot_usb_ext2 = "							\
+	"setenv bootargs root=/dev/ram rw "				\
+	"console=$consoledev,$baudrate $othbootargs "			\
+	"ramdisk_size=$ramdisk_size;"					\
+	"usb start;"							\
+	"ext2load usb 0:4 $loadaddr $bootfile;"				\
+	"ext2load usb 0:4 $fdtaddr $fdtfile;"				\
+	"ext2load usb 0:4 $ramdiskaddr $ramdiskfile;"			\
+	"bootm $loadaddr $ramdiskaddr $fdtaddr\0 "			\
+"boot_nor = "								\
+	"setenv bootargs root=/dev/$jffs2nor rw "			\
+	"console=$consoledev,$baudrate rootfstype=jffs2 $othbootargs;"	\
+	"bootm $norbootaddr - $norfdtaddr\0 "				\
+"boot_ram = "								\
+	"setenv bootargs root=/dev/ram rw "				\
+	"console=$consoledev,$baudrate $othbootargs "			\
+	"ramdisk_size=$ramdisk_size;"					\
+	"tftp $ramdiskaddr $ramdiskfile;"				\
+	"tftp $loadaddr $bootfile;"					\
+	"tftp $fdtaddr $fdtfile;"					\
+	"bootm $loadaddr $ramdiskaddr $fdtaddr\0"
+
+#endif
+#endif
+
+#endif /* __CONFIG_H */
