summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-29configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2019-04-27Revert "fs: btrfs: fix false negatives in ROOT_ITEM search"Tom Rini
Per Pierre this change shouldn't have been applied as it was superseded by "fs: btrfs: fix btrfs_search_tree invalid results" which is also applied now as 1627e5e5985d. This reverts commit 633967f9818cb6a0e87ffa8cba33148a5bcc6edb. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-04-27Merge branch '2019-04-27-master-imports'Tom Rini
- Various vexpress, taurus, da850evm, lpc32xx, brxre1 fixes/updates - btrfs fixes - Add AM65x HS EVM - Other small fixes
2019-04-26avb: add support for named persistent valuesIgor Opaniuk
AVB 2.0 spec. revision 1.1 introduces support for named persistent values that must be tamper evident and allows AVB to store arbitrary key-value pairs [1]. Introduce implementation of two additional AVB operations read_persistent_value()/write_persistent_value() for retrieving/storing named persistent values. Correspondent pull request in the OP-TEE OS project repo [2]. [1]: https://android.googlesource.com/platform/external/avb/+/android-9.0.0_r22 [2]: https://github.com/OP-TEE/optee_os/pull/2699 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
2019-04-26arm: dts: add missing vexpress device treesHeinrich Schuchardt
Add the device trees for * vexpress_ca5x2_defconfig * vexpress_ca9x4_defconfig * vexpress_ca15_tc2_defconfig as available in Linux 5.1 rc5. We are using the vexpress_ca15_tc2_defconfig and vexpress_ca9x4_defconfig for Travis testing via QEMU. The UEFI base Embedded Base Boot Requirements Specification (EBBR) requires that an embedded board either provides a device tree or an ACPI table. All block devices are meant to be moved to the driver model. On ARM this requires a device tree. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-04-26sysreset: syscon: remove POWER reset causePatrick Delaunay
The sysreset of 'POWER' type is a PMIC reset defined as 'remove and restore power'. So normally only COLD/WARN is supported by sysreset_syscon. This modification allows to use the function sysreset_walk(SYSRESET_POWER) when it is supported by PMIC driver (see example in stpmic1). Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-04-26doc: delete long-obsolete README.ARM-memory-mapRobert P. J. Day
As far back as 2011, "_armboot_start" was being described as "no longer defined": commit 297f18ac0fbeef30ba1c17fe131ca75f09a6e7cf Author: Greg Ungerer <greg.ungerer@opengear.com> Date: Fri Sep 9 22:23:34 2011 +1000 CM4000: fix broken flash base for OpenGear boards Use _bss_start_ofs as the size of the boot loader code+data that we want to protect in the flash. This replaces use of the no longer defined _armboot_start.
2019-04-26.gitignore: Ignore .log filesBaruch Siach
The generated flash.log file that mach-imx uses for MKIMAGEOUTPUT is not covered by any other ignore pattern. Ignore all *.log files. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2019-04-26ARM: da850evm: Fix TI boot scripts for MMCAdam Ford
The da850evm include environment/ti/mmc.h and places DEFAULT_MMC_TI_ARGS, defined int that file, in CONFIG_EXTRA_ENV_SETTINGS. This has been broken for some time since neither CMD_PART nor CMD_UUID are available, so manually changing the environmental variables was always required before booting from MMC. With this patch, these scripts should work again, and by default they point to mmc 0, partition 2, and the dtb file exists in a /boot directory on partition 2. Signed-off-by: Adam Ford <aford173@gmail.com>
2019-04-26ARM: da850evm: Fix broken SPI FlashAdam Ford
A previous patch converted a bunch of settings for CONFIG_SF_DEFAULT but it broke the SPI Flash which now prevents booting. This patch now correctly sets CONFIG_SF_DEFAULT_SPEED=30000000 to match what it was before the conversion. Fixes: 14453fbfadc2 ("Convert CONFIG_SF_DEFAULT_* to Kconfig") Signed-off-by: Adam Ford <aford173@gmail.com>
2019-04-26fw_env: Fix double freeBjörn Stenberg
addr0 is being freed twice, leading to segmentation fault Signed-off-by: Björn Stenberg <bjorn@haxx.se>
2019-04-26arm: lpc32xx: Fix timer initializationGregory CLEMENT
The match controller register is not cleared during initialization. However, some bits of this register may reset the TC if tnMRx match it. As we can't make any assumption about how U-Boot is launched by the first stage bootloader (such as S1L) clearing this register ensure that the timers work as expected. Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2019-04-26net: lpc32xx: Use IRAM for transmit bufferGregory CLEMENT
Since the introduction of the driver, some memory in IRAM is reserved for the TX buffers. However there are not used but instead of it, it is the buffer provided by the net stack which is used. As stated in the comment of the driver, not using the IRAM buffer could cause cache issue and lower the throughput. For the second argument it is less the case for transmitting buffers because the throughput gain in IRAM is mitigated by the time to copy the data from RAM to IRAM, but the first argument is still valid and indeed this patch fixes issue seen with Ethernet on some boards Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2019-04-26mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behaviorGregory CLEMENT
The purpose of "mtd: nand: raw: allow to disable unneeded ECC layouts" was to allow disabling the default ECC layouts if a driver is known to provide its own ECC layout. However, this commit did the opposite and disabled the default layout when it was _not_ selected. It breaks all the NAND drivers not providing their own ECC layout this patch fix this situation. It was tested with the lpc32xx_nand_slc driver. Fixes: a38c3af868 ("mtd: nand: raw: allow to disable unneeded ECC layouts") Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com> Tested-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-04-26dtb_platdata.py: prevent define generation of aliasHeiko Schocher
generate define for an alias only if the struct is not created already. This prevents compilerwarning: PLAT spl/dts/dt-platdata.o spl/dts/dt-platdata.c:11:46: error: missing braces around initializer [-Werror=missing-braces] static const struct dtd_simple_bus dtv_ahb = { ^ spl/dts/dt-platdata.c:20:46: error: missing braces around initializer [-Werror=missing-braces] static const struct dtd_simple_bus dtv_apb = { ^ cc1: all warnings being treated as errors on the at91 based taurus board. Reason is in at91sam9260.dtsi is defined: ahb { compatible = "simple-bus"; ranges; and later: pinctrl: pinctrl@fffff400 { compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; ranges = <0xfffff400 0xfffff400 0x600>; without this patch dtoc generates: struct dtd_atmel_at91rm9200_pinctrl { fdt32_t atmel_mux_mask[6]; fdt32_t ranges[3]; fdt32_t reg[6]; }; struct dtd_simple_bus { bool ranges; }; "#define dtd_simple_bus dtd_atmel_at91rm9200_pinctrl" and the line with "define dtd_simple_bus..." introduces the warning. This define is not needed. Signed-off-by: Heiko Schocher <hs@denx.de>
2019-04-26fs: btrfs: fix btrfs_search_tree invalid resultsPierre Bourdon
btrfs_search_tree should return the first item in the tree that is greater or equal to the searched item. The search algorithm did not properly handle the edge case where the searched item is higher than the last item of the node but lower than the first item of the next node. Instead of properly returning the first item of the next node, it was returning an invalid path pointer (pointing to a non-existent item after the last item of the node + 1). This fixes two issues in the btrfs driver: - Looking for a ROOT_ITEM could fail if it was the first item of its leaf node. - Iterating through DIR_INDEX entries (for readdir) could fail if the first DIR_INDEX entry was the first item of a leaf node. Signed-off-by: Pierre Bourdon <delroth@gmail.com> Cc: Marek Behun <marek.behun@nic.cz>
2019-04-26fs: fat: Build only if CONFIG_FS_FAT=yIsmael Luceno Cortes
Signed-off-by: Ismael Luceno <ismael.luceno@silicon-gears.com>
2019-04-26fs: btrfs: fix false negatives in ROOT_ITEM searchPierre Bourdon
ROOT_ITEMs in btrfs are referenced without knowing their actual "offset" value. To perform these searches using only two items from the key, the btrfs driver uses a special "btrfs_search_tree_key_type" function. The algorithm used by that function to transform a 3-tuple search into a 2-tuple search was subtly broken, leading to items not being found if they were the first in their tree node. This commit fixes btrfs_search_tree_key_type to properly behave in these situations. Signed-off-by: Pierre Bourdon <delroth@gmail.com> Cc: Marek Behun <marek.behun@nic.cz>
2019-04-26doc: Update info on using K3 secure devicesAndrew F. Davis
Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Andreas Dannenberg <dannenberg@ti.com>
2019-04-26configs: Add configs for AM65x High Security EVMAndrew F. Davis
Add new defconfig files for the AM65x High Security EVM. This defconfigs are the same as for the non-secure part, except for: CONFIG_TI_SECURE_DEVICE option set to 'y' CONFIG_FIT_IMAGE_POST_PROCESS option set to 'y' CONFIG_SPL_FIT_IMAGE_POST_PROCESS option set to 'y' Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Andreas Dannenberg <dannenberg@ti.com>
2019-04-26arm: mach-k3: Add secure device build supportAndrew F. Davis
K3 HS devices require signed binaries for boot, use the SECDEV tools to sign the boot artifacts during build. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Andreas Dannenberg <dannenberg@ti.com>
2019-04-26arm: mach-k3: Add secure device supportAndrew F. Davis
K3 devices have High Security (HS) variants along with the non-HS already supported. Like the previous generation devices (OMAP/Keystone2) K3 supports boot chain-of-trust by authenticating and optionally decrypting images as they are unpacked from FIT images. Add support for this here. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Andreas Dannenberg <dannenberg@ti.com>
2019-04-26firmware: ti_sci: Modify auth_boot TI-SCI API to match new versionAndrew F. Davis
SYSFW version 2019.01 introduces a slightly modified version of this API, add support for it here. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Andreas Dannenberg <dannenberg@ti.com>
2019-04-26firmware: ti_sci: Add support for firewall managementAndrew F. Davis
TI-SCI message protocol provides support for controlling the firewall configurations available in SoC. Introduce support for the set of TI-SCI message protocol APIs that provide us with this capability of controlling firewalls. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Andreas Dannenberg <dannenberg@ti.com>
2019-04-26arm: K3: Avoid use of MCU_PSRAM0 before SYSFW is loadedAndrew F. Davis
On HS devices the 512b region of reset isolated memory called MCU_PSRAM0 is firewalled by default. Until SYSFW is loaded we cannot use this memory. It is only used to store a single value left at the end of SRAM by ROM that will be needed later. Save that value to a global variable stored in the .data section. This section is used as .bss will be cleared between saving this value and using it. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-04-26main: add new bootstage ID for entering cli loopHeiko Schocher
adding a new bootstage ID: BOOTSTAGE_ID_ENTER_CLI_LOOP Signed-off-by: Heiko Schocher <hs@denx.de>
2019-04-26cmd: pxe: Display splashscreen from extlinux.conf inputPatrice Chotard
The objective is to provide a simple way to retrieve a BMP file, and display it as splashscreen, from extlinux.conf file input. For this, we take example on https://www.syslinux.org/wiki/ index.php?title=Menu#The_advanced_menu_system and more particularly on MENU BACKGROUND chapter. For this, add "menu background" support in pxe command. As example, extlinux.conf content will look like: # Generic Distro Configuration file generated by OpenEmbedded menu title Select the boot mode TIMEOUT 20 menu background ../splash.bmp DEFAULT stm32mp157c-ev1-sdcard LABEL stm32mp157c-ev1-sdcard KERNEL /uImage FDT /stm32mp157c-ev1.dtb APPEND root=/dev/mmcblk0p6 rootwait rw earlyprintk console=ttySTM0,115200 Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2019-04-26tools/Makefile: get openssl CFLAGS from pkg-configPierre Bourdon
Fixes building mkimage on systems where OpenSSL header files do not live in the standard include path. Signed-off-by: Pierre Bourdon <delroth@gmail.com>
2019-04-26disk: part: fix typoHeinrich Schuchardt
%g/rathen then/rather than/ Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-04-26board/BuR/brxre1: use common resetcontroller implementationHannes Schmelzer
The handling of regarding bootmode and early setup has been moved to central location 'common/br_resetc.c', so use this on brxre1 board. Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
2019-04-26board/BuR/brxre1: cosmetic cleanupHannes Schmelzer
- fixup coding style - drop unused 'PUSH_KEY' define Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
2019-04-26board/BuR/common: add br resetcontoller implementationHannes Schmelzer
On many B&R boards we have a reset-controller, responsible for very early board-bringup (voltages, clocks, ...) and bootmode selection. To be ready for adding more B&R boards to source tree while avoiding duplicate code, we add the resetcontroller implementation to the common part of B&R boards. Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
2019-04-26board/BuR/common: add 'brdefaulip_setup' functionHannes Schmelzer
Many B&R boards are equipped with an I2C-EEPROM where various information can be stored. Today there is only a single byte for 'board_id' used. We write this 'board_id' into environment for later use during boot. If the value != 0xFF, meaning the byte is programmed, we modify the "brdefaultip" environment variable for setting an IP-Address based on board_id. Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
2019-04-26board/BuR/common: cosmetic: move 'overwrite_console' up to more related stuffHannes Schmelzer
Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
2019-04-26board/BuR/common: prepare for compiling common into non AM33XX boardsHannes Schmelzer
Today the BuR common stuff is only used on AM33XX boards. In future we plan to have many other platforms than AM33XX so we have to move arch- specific #include(s) to responsible #ifdef sections. By the way we drop unneeded #include(s). Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
2019-04-26Merge git://git.denx.de/u-boot-marvellTom Rini
- Add DM based generic watchdog start and reset implementation and remove all ad-hoc implementations (Stefan) - Move mv_sdhci to DM (Pierre) - Misc turris_omnia updates (Pierre) - Change openrd targets to correctly build again (size changes and fixes to the dts targets) and bring it back into Travis builds (Stefan) - Add Kirkwood db-88f6281-bp board (Chris)
2019-04-26Merge branch 'master' of git://git.denx.de/u-boot-socfpgaTom Rini
2019-04-26arm: kirkwood: openrd: Mark openrd boards as maintained againStefan Roese
With the latest size increase of the openrd boards, they all compile clean again. Let's mark them as maintained again and add the Travis job. Please note that I can only compile-test these targets as I don't have access to one of those boards. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Albert ARIBAUD <albert-u-boot@aribaud.net> Cc: Vagrant Cascadian <vagrant@debian.org> Cc: Chris Packham <judge.packham@gmail.com> Cc: Tom Rini <trini@konsulko.com>
2019-04-26watchdog: at91sam9_wdt: Remove now superfluous wdt start and resetStefan Roese
With the new generic function, the scattered other functions are now removed to be replaced by the generic one. The new version also enables the configuration of the watchdog timeout via the DT "timeout-sec" property (if enabled via CONFIG_OF_CONTROL). The watchdog servicing is enabled via CONFIG_WATCHDOG. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Eugen Hristev <eugen.hristev@microchip.com>
2019-04-26watchdog: mpc8xx_wdt: Watchdog driver and macros cleanupStefan Roese
With the generic watchdog driver now implemented, this patch removes some legacy stuff from the MPC8xx watchdog driver and its Kconfig integration. CONFIG_MPC8xx_WATCHDOG is completely removed and hw_watchdog_reset() is made static, as the watchdog will now get serviced via the DM infrastructure if enabled via CONFIG_WATCHDOG. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Christophe Leroy <christophe.leroy@c-s.fr>
2019-04-26watchdog: cadence: Remove driver specific "timeout-sec" handlingStefan Roese
Now that we have a generic DT property "timeout-sec" handling, the driver specific implementation can be dropped. This patch also changes the timeout restriction to the min and max values (clipping). Before this patch, the value provided via "timeout-sec" was used if the parameter was too high or low. Now the driver specific min and max values are used instead. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Michal Simek <michal.simek@xilinx.com> Tested-by: Michal Simek <michal.simek@xilinx.com> (on zcu100)
2019-04-26watchdog: Implement generic watchdog_reset() versionStefan Roese
This patch tries to implement a generic watchdog_reset() function that can be used by all boards that want to service the watchdog device in U-Boot. This watchdog servicing is enabled via CONFIG_WATCHDOG. Without this approach, new boards or platforms needed to implement a board specific version of this functionality, mostly copy'ing the same code over and over again into their board or platforms code base. With this new generic function, the scattered other functions are now removed to be replaced by the generic one. The new version also enables the configuration of the watchdog timeout via the DT "timeout-sec" property (if enabled via CONFIG_OF_CONTROL). This patch also adds a new flag to the GD flags, to flag that the watchdog is ready to use and adds the pointer to the watchdog device to the GD. This enables us to remove the global "watchdog_dev" variable, which was prone to cause problems because of its potentially very early use in watchdog_reset(), even before the BSS is cleared. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Tom Rini <trini@konsulko.com> Cc: Michal Simek <michal.simek@xilinx.com> Cc: "Marek Behún" <marek.behun@nic.cz> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Maxim Sloyko <maxims@google.com> Cc: Erik van Luijk <evanluijk@interact.nl> Cc: Ryder Lee <ryder.lee@mediatek.com> Cc: Weijie Gao <weijie.gao@mediatek.com> Cc: Simon Glass <sjg@chromium.org> Cc: "Álvaro Fernández Rojas" <noltari@gmail.com> Cc: Philippe Reynes <philippe.reynes@softathome.com> Cc: Christophe Leroy <christophe.leroy@c-s.fr> Reviewed-by: Michal Simek <michal.simek@xilinx.com> Tested-by: Michal Simek <michal.simek@xilinx.com> (on zcu100)
2019-04-26arm: mvebu: turris_omnia: Use thumb instructions in SPL to save spaceStefan Roese
With the latest changes to the drivers (SPI_FLASH_SPANSION etc), Travis reports that the SPL image is too big. Let's use the thumb instructions in SPL to save some space and make the image fit again. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Marek Behun <marek.behun@nic.cz> Reviewed-by: Marek Behún <marek.behun@nic.cz>
2019-04-26ARM: kirkwood: enable CONFIG_DM_USB on db-88f6281-bpChris Packham
Switch to the driver model for USB on the db-88f6281-bp board. CONFIG_BLK can't be enabled yet because mvebu_mmc.c needs converting. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
2019-04-26ARM: kirkwood: add db-88f6281-bp boardChris Packham
This is Marvell's Kirkwood development board. It has the following features - 512M DDR2 - 2 PCI connectors - 1 x1 PCI-e interface - 1 Gigabit Ethernet Port - 2 SATA Ports - USB 2.0 Interface - SDIO - 128M NAND Flash - 16M SPI Flash It can be strapped to boot from SPI or NAND so there are two defconfigs (one per boot media). Signed-off-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Stefan Roese <sr@denx.de>
2019-04-26arm: kirkwood: lsxl: add note about sata in READMEMichael Walle
The boot commands have changed in the environment. Add a note about the incompatible change and how resolve the issue in the board's README. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
2019-04-26arm: kirkwood: openrd: Increase U-Boot size in flash to make it fitStefan Roese
We have run now multiple times into size issues with the openrd board port. To finally fix this, this patch now moves the U-Boot size from 0x6.0000 to 0x8.0000, giving enough space for the next time. This also changes the environment location and potentially the MTD partitioning, but I see no better fix for now. Especially since this board does not have an active maintainer. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Chris Packham <judge.packham@gmail.com> Reviewed-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Stefan Roese <sr@denx.de>
2019-04-26arm: kirkwood: openrd: Remove superfluous CONFIG_ENV_ADDRStefan Roese
Remove the superfluous CONFIG_ENV_ADDR definition. Its not needed as CONFIG_ENV_OFFSET is also set to the same value. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Chris Packham <judge.packham@gmail.com> Reviewed-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Stefan Roese <sr@denx.de>
2019-04-26arm: kirkwood: dts: Add openrd-* dtb makefile build targetsStefan Roese
The following Kirkwood dtb build targets are currently missing: kirkwood-openrd-base.dtb kirkwood-openrd-client.dtb kirkwood-openrd-ultimate.dtb This patch adds them to the Makefile to fix the build error. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Chris Packham <judge.packham@gmail.com> Reviewed-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Stefan Roese <sr@denx.de>
2019-04-26arm: mvebu: turris_omnia: use MMC driver modelPierre Bourdon
Enable DM_MMC for compliance with the driver model migration. Signed-off-by: Pierre Bourdon <delroth@gmail.com> Cc: Marek Behun <marek.behun@nic.cz> Signed-off-by: Stefan Roese <sr@denx.de>