summaryrefslogtreecommitdiff
path: root/common
Commit message (Collapse)AuthorAgeLines
...
* serial: mpc512x: Move serial registration from serial_initialize()Marek Vasut2012-10-15-14/+2
| | | | | | | | | | | | | | | | | | | | | | | Move the registration of serialN_device ports from default serial_initialize() into driver specific function called from serial_initialize(). This slims down the serial_initialize() call to a bare tracker of all possible serial port registration routines in U-Boot. The newly implemented mpc512x_serial_initialize() function, which is implemented inside of the mpc512x serial driver allows encapsulation of serialN_device within the mpc512x serial driver itself. Also, remove the exports of serialN_device from include/serial.h as they are no longer needed. This is simply because the implementation of default_serial_console() is wrapped into the mpx512x serial driver and the default console is picked by CONFIG_SERIAL<N> macro in config file. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com> Cc: Anatolij Gustschin <agust@denx.de> Cc: Stefan Roese <sr@denx.de>
* serial: microblaze: Move serial registration from serial_initialize()Marek Vasut2012-10-15-14/+2
| | | | | | | | | | | | | | | | | | | | | | Move the registration of xuartlite_serialN_device ports from default serial_initialize() into driver specific function called from serial_initialize(). This slims down the serial_initialize() call to a bare tracker of all possible serial port registration routines in U-Boot. The newly implemented xuartlite_serial_initialize() function, which is implemented inside of the serial_xuartlite driver allows encapsulation of xuartlite_serialN_device within the serial_xuartlite driver itself. Also, remove the exports of xuartlite_serialN_device from include/serial.h as they are no longer needed. This is simply because the implementation of default_serial_console() is wrapped into the serial_xuartlite driver and the default console is picked by CONFIG_SERIAL<N> macro in config file. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com> Cc: Michal Simek <monstr@monstr.eu>
* serial: zynq: Move serial registration from serial_initialize()Tom Rini2012-10-15-8/+2
| | | | | | | | | | | | | | | | | | | Move the registration of zynq_serialN_device ports from default serial_initialize() into driver specific function called from serial_initialize(). This slims down the serial_initialize() call to a bare tracker of all possible serial port registration routines in U-Boot. The newly implemented zynq_serial_initialize() function, which is implemented inside of the serial_zynq driver allows encapsulation of zynq_serialN_device within the serial_zynq driver itself. Also, remove the exports of zynq_serialN_device from include/serial.h as they are no longer needed. This is simply because the implementation of default_serial_console() is wrapped into the serial_zynq driver and the default console is picked by CONFIG_SERIAL<N> macro in config file. Signed-off-by: Tom Rini <trini@ti.com>
* serial: s5p: Move serial registration from serial_initialize()Marek Vasut2012-10-15-6/+2
| | | | | | | | | | | | | | | | | | | | | | Move the registration of s5p_serialN_device ports from default serial_initialize() into driver specific function called from serial_initialize(). This slims down the serial_initialize() call to a bare tracker of all possible serial port registration routines in U-Boot. The newly implemented s5p_serial_initialize() function, which is implemented inside of the serial_s5p driver allows encapsulation of s5p_serialN_device within the serial_s5p driver itself. Also, remove the exports of s5p_serialN_device from include/serial.h as they are no longer needed. This is simply because the implementation of default_serial_console() is wrapped into the serial_s5p driver and the default console is picked by CONFIG_SERIAL<N> macro in config file. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com> Cc: Minkyu Kang <mk7.kang@samsung.com>
* serial: pxa: Move serial registration from serial_initialize()Marek Vasut2012-10-15-9/+2
| | | | | | | | | | | | | | | | | | | | | Move the registration of serial_XXuart ports from default serial_initialize() into driver specific function called from serial_initialize(). This slims down the serial_initialize() call to a bare tracker of all possible serial port registration routines in U-Boot. The newly implemented pxa_serial_initialize() function, which is implemented inside of the serial_pxa driver allows encapsulation of serial_XXuart within the serial_pxa driver itself. Also, remove the exports of serial_XXuart from include/serial.h as they are no longer needed. This is simply because the implementation of default_serial_console() is wrapped into the serial_pxa driver and the default console is picked by CONFIG_CONS_IDX macro in config file. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com>
* serial: s3c24xx: Move serial registration from serial_initialize()Marek Vasut2012-10-15-5/+2
| | | | | | | | | | | | | | | | | | | | | | Move the registration of s3c24xx_serialN_device ports from default serial_initialize() into driver specific function called from serial_initialize(). This slims down the serial_initialize() call to a bare tracker of all possible serial port registration routines in U-Boot. The newly implemented s3c24xx_serial_initialize() function, which is implemented inside of the serial_s3c24xx driver allows encapsulation of s3c24xx_serialN_device within the serial_s3c24xx driver itself. Also, remove the exports of s3c24xx_serialN_device from include/serial.h as they are no longer needed. This is simply because the implementation of default_serial_console() is wrapped into the serial_s3c24xx driver and the default console is picked by CONFIG_SERIAL<N> macro in config file. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com> Cc: C Nauman <cnauman@diagraph.com>
* serial: mpc8xx: Move serial registration from serial_initialize()Marek Vasut2012-10-15-8/+3
| | | | | | | | | | | | | | | | | | | Move the registration of serial_smc and serial_scc ports from default serial_initialize() into CPU specific function called from serial_initialize(). This slims down the serial_initialize() call to a bare tracker of all possible serial port registration routines in U-Boot. The exports of both serial_scc_device and serial_smc_device can not yet be removed as they are still used in default_serial_console() calls. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com> Cc: Anatolij Gustschin <agust@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Mike Frysinger <vapier@gentoo.org>
* serial: Implement serial_initfunc() macroMarek Vasut2012-10-15-0/+8
| | | | | | | | | | | | | | | | | This macro simplifies declaration of weak aliases for per-driver functions, which register these drivers with the serial subsystem. The idea here is to push serial_register() calls from serial.c into the drivers. To avoid pile of ifdef construct as it is now, create weak aliases to these functions, which in case the driver is not present alias onto an empty function, which is in turn optimized out altogether. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com> Cc: Anatolij Gustschin <agust@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Mike Frysinger <vapier@gentoo.org>
* serial: Rename .init() and .uninit() in serial_deviceMarek Vasut2012-10-15-8/+8
| | | | | | | | | | | | Rename .init() to .start() and .uninit() to .stop() in struct serial_device. This allows aligning struct serial_device with closer to struct stdio_dev. The real goal here is to allow these two structures to converge together and eventually make one to be a superset of the other. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Tom Rini <trini@ti.com>
* COMMON: Use __stringify() instead of MK_STR()Marek Vasut2012-10-15-45/+34
| | | | | | | | | Kill multiple occurances and redeclaration of MK_STR in favor of __stringify(). Signed-off-by: Marek Vasut <marex@denx.de> Cc: Wolfgang Denk <wd@denx.de> Signed-off-by: Tom Rini <trini@ti.com>
* SPL: Remove setting GD_FLG_RELOC in preloader_console_init()Tom Rini2012-10-15-1/+0
| | | | | | | We have not strictly speaking relocated at this point, do not claim that we have. This is not required for output. Signed-off-by: Tom Rini <trini@ti.com>
* gth2: Remove this platformTom Rini2012-10-15-2/+1
| | | | | | | After taking with the former maintainer, delete this platform. The patch is from the former maintainer. Signed-off-by: Tom Rini <trini@ti.com>
* common: cmd_elf.c: use uintptr_t for casts from u32 to void*Daniel Schwierzeck2012-10-15-3/+4
| | | | | | | | | | | | This fixes warnings when compiling with ELDK-5.2.1 for MIPS64: cmd_elf.c: In function 'load_elf_image_phdr': cmd_elf.c:289:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] cmd_elf.c: In function 'load_elf_image_shdr': cmd_elf.c:343:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] cmd_elf.c:346:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
* common: cmd_elf.c: fix checkpath.pl warningsDaniel Schwierzeck2012-10-15-95/+94
| | | | | | | | [Tom: Move valid_elf_image around and don't mark it as static as another board makes use of this function] Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Tom Rini <trini@ti.com>
* ARM: prevent misaligned array initsAlbert ARIBAUD2012-10-15-1/+5
| | | | | | | | | | | | | | Under option -munaligned-access, gcc can perform local char or 16-bit array initializations using misaligned native accesses which will throw a data abort exception. Fix files where these array initializations were unneeded, and for files known to contain such initializations, enforce gcc option -mno-unaligned-access. Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net> [trini: Switch to usign call cc-option for -mno-unaligned-access as Albert had done previously as that's really correct] Signed-off-by: Tom Rini <trini@ti.com>
* env: fix crash using default -f -aGerlando Falauto2012-10-05-0/+3
| | | | | | | | | | | env default -a -f calls env_check_apply on all existing environment variables with a NULL value for "newval" as a way of cleaning up. This causes string manipulation functions to crash on most architectures. So replace a NULL argument with an empty string. Reported-By: Stefano Babic <sbabic@denx.de> Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com> Tested-by: Stefano Babic <sbabic@denx.de>
* Improve license declaration for cmd_ini.hJoe Hershberger2012-10-05-2/+30
| | | | | | | | | | | | Instead of referenceing the source webpage (which can change) include the license in the source file. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reported-by: Igor Grinberg <grinberg@compulab.co.il> Cc: Igor Grinberg <grinberg@compulab.co.il> Cc: Tom Rini <trini@ti.com> Cc: Wolfgang Denk <wd@denx.de> Acked-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2012-10-04-2/+89
|\
| * serial: Add Zynq serial driverMichal Simek2012-10-04-0/+8
| | | | | | | | | | | | | | | | | | The driver is used on Xilinx Zynq platform. Signed-off-by: Michal Simek <monstr@monstr.eu> CC: Joe Hershberger <joe.hershberger@gmail.com> CC: Marek Vasut <marex@denx.de> Acked-by: Marek Vasut <marex@denx.de>
| * OMAP: networking support for SPLIlya Yanok2012-10-01-2/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for networking in SPL. Some devices are capable of loading SPL via network so it makes sense to load the main U-Boot binary via network too. This patch tries to use existing network code as much as possible. Unfortunately, it depends on environment which in turn depends on other code so SPL size is increased significantly. No effort was done to decouple network code and environment so far. Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Tom Rini <trini@ti.com>
| * OMAP: spl: call timer_init() from SPLIlya Yanok2012-10-01-0/+2
| | | | | | | | | | | | | | We need to initialize timer properly, otherwise all delays inside SPL will be wrong. Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
* | Output strings from echo with puts where easyJoe Hershberger2012-10-03-7/+21
| | | | | | | | | | | | | | | | Change echo to puts characters together where it knows about them together. This improves netconsole performance by greatly reducing the number of packets that are sent. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Add a command to access the system timerJoe Hershberger2012-10-03-0/+27
| | | | | | | | | | | | | | | | | | | | Two sub-commands... start and get. * start sets the reference. * get prints out the time since the last start (in "<sec>.<msec>" format). If get is called without start, returns time since boot. Simple way to benchmark an operation: "timer start;<commands-to-measure>;timer get" Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Add a new "ini" commandJoe Hershberger2012-10-03-0/+248
| | | | | | | | | | | | | | | | | | This allows you to read ini-formatted data from anywhere and then import one of the sections into the environment This is based on rev 16 at http://code.google.com/p/inih/ Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Cleanup cache command printsJoe Hershberger2012-10-03-1/+1
| | | | | | | | | | | | Only print when queried, not every time the setting is changed. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Fix checkpatch.pl complaints in cmd_cache.cJoe Hershberger2012-10-03-21/+26
| | | | | | | | | | | | Old code that is not compliant. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Add parameter to md5sum to save the md5 sumJoe Hershberger2012-10-03-4/+37
| | | | | | | | | | | | | | Add a parameter that allows you to store the md5 sum to either a memory location or a variable. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Implement verify option for md5sum commandJoe Hershberger2012-10-03-0/+105
| | | | | | | | | | | | | | | | | | Loosely based on CONFIG_CRC32_VERIFY. The sum to verify against can be in memory, in a variable, or the last parameter to the function directly. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Add parameter to sha1sum to save the SHA1 sumJoe Hershberger2012-10-03-4/+37
| | | | | | | | | | | | | | Add a parameter that allows you to store the SHA1 sum to either a memory location or a variable. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Implement verify option for sha1sum commandJoe Hershberger2012-10-03-0/+105
| | | | | | | | | | | | | | | | | | Loosely based on CONFIG_CRC32_VERIFY. The sum to verify against can be in memory, in a variable, or the last parameter to the function directly. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Change dead code in "test" cmd to debug outputJoe Hershberger2012-10-03-3/+3
| | | | | | | | | | | | | | Improve debug output for test by indicating the number of parameters and quoting the parameters to make it clear exactly what each contains Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | Allow runtime configuration of "zero-delay" checkJoe Hershberger2012-10-03-2/+3
|/ | | | | | | Define the new "-2" value for bootdelay to mean autoboot with no delay and don't check for an abort key (while "0" value means do check). Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* cmd_fat.c: fix build warningAnatolij Gustschin2012-09-29-1/+0
| | | | | | | | | | | | | | Commit cfda5aeab89d73779e26f0d34cf10f64caa67431 (cmd_fat: use common get_device_and_partition function) introduced a warning: cmd_fat.c: In function 'do_fat_fswrite': cmd_fat.c:178:8: warning: unused variable 'ep' [-Wunused-variable] Fix it. Signed-off-by: Anatolij Gustschin <agust@denx.de> Reported-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Tested-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* common: add zip command supportLei Wen2012-09-29-0/+61
| | | | Signed-off-by: Lei Wen <leiwen@marvell.com>
* Merge branch 'master' of git://git.denx.de/u-boot-netTom Rini2012-09-27-3/+53
|\
| * PXE: FDT: Add support for fdt in PXEChander Kashyap2012-09-27-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now DT support is becoming common for all new SoC's. Hence it is better to have option for getting specific FDT from the remote server. This patch adds support for new label i.e. 'fdt'. This will allow to retrieve 'fdt blob' from the remote server. This patch take care for the following scenarios. The usage of fdt is optional. The 'fdt blob' can be retrieved from tftp or can be available locally or can be absent. If 'fdt_addr_r' environment variable is set and 'fdt' label is defined retrieve 'fdt blob' from tftp. 'fdt_addr_r' is then passed along bootm command. If 'fdt_addr' is set and 'fdt blob' is not retrieved from the tftp pass 'fdt_addr' to bootm command. In this case 'fdt blob' will be available at 'fdt_addr'. If 'fdt_addr' is not set and 'fdt blob' is not retrieve from tftp pass NULL to boot command. In this case 'fdt blob' is not required and absent. Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> Acked-by: Jason Hobbs <jason.hobbs@calxeda.com>
| * net: Improve the speed of netconsoleJoe Hershberger2012-09-24-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously u-boot would initialize the network interface for every network operation and then shut it down again. This makes sense for most operations where the network in not known to be needed soon after the operation is complete. In the case of netconsole, it will use the network for every interaction with the shell or every printf. This means that the network is being reinitialized very often. On many devices, this intialization is very slow. This patch checks for consecutive netconsole actions and leaves the ethernet hardware initialized between them. It will still behave the same old way for all other network operations and any time another network operation happens between netconsole operations. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Cc: Stefano Babic <sbabic@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
* | SPL: Add support for loading image from ram in SPL.Pavel Machek2012-09-27-0/+22
| | | | | | | | | | Signed-off-by: Pavel Machek <pavel@denx.de> Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: Rework how we inform about un-headered imagesTom Rini2012-09-27-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | First, remove the puts from the case where we don't have an mkimage header as this is somewhat common and intentional for no-arg target images. Second, rework the final switch statement in board_init_r to, in the case of !CONFIG_SPL_OS_BOOT be only about doing debug prints about if we know what the magic is or not (the CONFIG_SPL_OS_BOOT case is unchanged). Then we call jump_to_image_no_args(). This gives us the same behavior as before but with slightly smaller code. Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: Make un-supported boot device puts a debug insteadTom Rini2012-09-27-3/+1
| | | | | | | | Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: Enable use of custom defined U-Boot entry pointStefan Roese2012-09-27-1/+4
| | | | | | | | | | | | | | | | | | By setting CONFIG_SYS_UBOOT_START boards can now use a different entry point for their U-Boot image. So the U-Boot entry point is not fixed to CONFIG_SYS_TEXT_BASE any more. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: SPI: Enhance spi_spl_load to match the other load functionsTom Rini2012-09-27-2/+2
| | | | | | | | Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: Add option to skip copying of the mkimage headerStefan Roese2012-09-27-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some system (e.g. powerpc), the load-address and entry-point is located at address 0. So the current approach to load the image (payload) including the header to the address "load-address - 64" can't work here. This patch adds an flag to skip this copying including header to the SPL framework. By setting SPL_COPY_PAYLOAD_ONLY, only the playload will be copied. This will be used by the SPL NOR flash driver on powerpc. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: Add NOR flash booting supportStefan Roese2012-09-27-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | SPL NOR flash booting support is quite simple. Only copying of the images is needed. On MPC5xxx we need to make sure to only use the standard memcpy() implementation and not the MPC5xxx specific one. As the MPC5xxx version has some complexity which is not needed for this SPL booting. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: NAND: Move arch/arm/cpu/armv7/omap-common/spl_nand.c to common/splTom Rini2012-09-27-0/+101
| | | | | | | | | | | | | | We move the spl_nand_load_image function to common/spl. This will allow for easier integration of SPL-boots-Linux code on other arches. Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: Use image_get_xxx() functions to access header valuesStefan Roese2012-09-27-5/+5
| | | | | | | | | | Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: do not use fix value for u-boot sizeStefano Babic2012-09-27-1/+5
| | | | | | | | | | | | | | | | | | | | If an u-boot image is not found, SPL thinks to load a bare u-boot.bin image with a maximum size of 200KB. Use CONFIG_SYS_MONITOR_LEN instead. Signed-off-by: Stefan Roese <stefan.roese@gmail.com> Signed-off-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: Create arch/arm/lib/spl.c for board_init_f and jump_to_image_linuxTom Rini2012-09-27-35/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In SPL (CONFIG_SPL_FRAMEWORK) board_init_f must setup the stack pointer, clear the BSS and call board_init_r. We mark this as weak as some platforms may need to perform additional initalization at this point. We provide a gd that we know will be in a usable location, once the BSS has been cleared to help with this as well. Finally, we no longer call relocate_code so remove that from the armv7 version. Next, both board_init_f and jump_to_image_linux are going to be inherently arch-specific, so move these versions to arch/arm/lib/spl.c Signed-off-by: Tom Rini <trini@ti.com>
* | SPL: Move the omap SPL framework to common/splTom Rini2012-09-27-0/+336
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a new flag, CONFIG_SPL_FRAMEWORK to opt into the common/spl SPL framework, enable on all of the previously using boards. We move the spl_ymodem.c portion to common/ and spl_mmc.c to drivers/mmc/. We leave the NAND one in-place as we plan to replace it later in this series. We use common/spl to avoid linker problems with respect to merging constant strings in objects. Otherwise all strings in common/ will be linked in and kept which grows SPL in size too much. Signed-off-by: Tom Rini <trini@ti.com>
* | FAT: Make it possible to read from any file positionBenoît Thébaudeau2012-09-26-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When storage devices contain files larger than the embedded RAM, it is useful to be able to read these files by chunks, e.g. for a software update to the embedded NAND Flash from an external storage device (USB stick, SD card, etc.). Hence, this patch makes it possible by adding a new FAT API to read files from a given position. This patch also adds this feature to the fatload command. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Wolfgang Denk <wd@denx.de> Signed-off-by: Tom Rini <trini@ti.com>