summaryrefslogtreecommitdiff
path: root/board/tqc
Commit message (Collapse)AuthorAgeLines
* Use correct spelling of "U-Boot"Bin Meng2016-02-06-1/+1
| | | | | | | | | | Correct spelling of "U-Boot" shall be used in all written text (documentation, comments in source files etc.). Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
* tqma6_wru4: Fix the reset delay for the the LAN8720 PHYFabio Estevam2016-02-02-1/+1
| | | | | | | | | According to the LAN8720 datasheet tpurstd (time that reset line should stay asserted) is 25ms. So do as suggested by the LAN8720 datasheet. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
* powerpc: tqm834x: Fix build warnings in initdram()Bin Meng2016-01-25-2/+2
| | | | | | | | | | | | | | | | | | With gcc 4.9, it produces the following warnings: CC board/tqc/tqm834x/tqm834x.o board/tqc/tqm834x/tqm834x.c: In function 'initdram': board/tqc/tqm834x/tqm834x.c:325:12: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations] (((base + size - 1) >> CSBNDS_EA_SHIFT) & ^ board/tqc/tqm834x/tqm834x.c:80:2: note: containing loop for(cs = 0; cs < 4; ++cs) { ^ There is an integer overflow when cs = 3. To fix it, change parameters of set_cs_bounds() to ulong. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* Move console definitions into a new console.h fileSimon Glass2015-11-19-0/+2
| | | | | | | | The console includes a global variable and several functions that are only used by a small subset of U-Boot files. Before adding more functions, move the definitions into their own header file. Signed-off-by: Simon Glass <sjg@chromium.org>
* powerpc: Finish updating u-boot*lds scripts for newer binutilsTom Rini2015-11-10-1/+0
| | | | | | | | In 522b021 we dropped 'PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4)' lines in the mpc85xx linker scripts as this is not required and breaks newer binutils. This commit cleans up the rest of the powerpc linker scripts. Signed-off-by: Tom Rini <trini@konsulko.com>
* tqma6_mba6: Fix the error handling in board_eth_init()Fabio Estevam2015-09-13-9/+11
| | | | | | | | | | We should not return 0 on failure, so return a negative error code instead. Also centralize the error path so that is easier to follow. Cc: Markus Niebel <Markus.Niebel@tq-group.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx6: remove SYS_SOC from board KconfigPeng Fan2015-09-13-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Remove duplicated SYS_SOC Kconfig entry from board Kconfig, because we have this entry in arch/arm/cpu/armv7/mx6/Kconfig. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Christian Gmeiner <christian.gmeiner@gmail.com> Cc: Stefan Roese <sr@denx.de> Cc: Troy Kisky <troy.kisky@boundarydevices.com> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: "Eric BĂ©nard" <eric@eukrea.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Marek Vasut <marex@denx.de> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Stefan Roese <sr@denx.de> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com> Acked-by: Markus Niebel <Markus.Niebel@tq-group.com> Acked-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
* arm: mx6: Remove SPI support from WRU-IV baseboardStefan Roese2015-09-02-0/+1
| | | | | | | | | | | | This patch removes the SPI support from the WRU-IV baseboard as its not used at all. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Clemens Gruber <clemens.gruber@pqgruber.com> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Stefano Babic <sbabic@denx.de> Tested-by: Clemens Gruber <clemens.gruber@pqgruber.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* arm: mx6: tqma6: Add WRU-IV baseboard for the TQMa6 SoMStefan Roese2015-07-26-0/+352
| | | | | | | | | This patch adds support for the "OHB System AG" baseboard with is equipped with the TQMa6S SoM. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Stefano Babic <sbabic@denx.de>
* arm: imx6: tqma6: implement KConfig baseboard selectionMarkus Niebel2015-06-27-0/+14
| | | | | | | this finally removes the need for extra settings in defconfig Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* arm: imx6: tqma6: boot device selection via KconfigMarkus Niebel2015-06-27-0/+19
| | | | Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* arm: imx6: tqma6: implement IMX_CONFIG with KconfigMarkus Niebel2015-06-27-0/+4
| | | | | | | Now that we have the Kconfig based CPU type selection, use this to fill the IMX_CONFIG automatically Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* arm: mx6: tqma6: CPU type selection via KconfigMarkus Niebel2015-06-27-0/+21
| | | | | | | | | | This is the first patch to remove the CONFIG_SYS_EXTRA_OPTIONS. This patch implements CPU type selection from Kconfig. Further Kconfig stuff is added later. Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* arm: mx6: tqma6: Update to optionally configure an alternative SPI setupStefan Roese2015-05-15-1/+1
| | | | | | | | | | | By making the tqma6_iomuxc_spi() weak, this patch adds the possibility to add a different function for this SPI configuration. This can be used by other baseboards, that might have a different SPI setup. This patch will be used by the upcoming WRU-IV board support which also uses the TQMa6 SoM. Signed-off-by: Stefan Roese <sr@denx.de>
* powerpc: mpc5xxx: remove aev, TB5200 board supportMasahiro Yamada2015-03-17-129/+2
| | | | | | | They have not been converted to Generic Board, so should be removed. (See doc/README.generic-board for details.) Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* mpc8xx: remove FPS{850, 860}L, NSCU, SM850, TK885D, virtlab2 supportMasahiro Yamada2015-01-05-151/+1
| | | | | | | These boards are still non-generic boards. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Wolfgang Denk <wd@denx.de>
* Merge git://git.denx.de/u-boot-fdtTom Rini2014-11-26-4/+12
|\
| * fdt: Allow ft_board_setup() to report failureSimon Glass2014-11-21-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function can fail if the device tree runs out of space. Rather than silently booting with an incomplete device tree, allow the failure to be detected. Unfortunately this involves changing a lot of places in the code. I have not changed behvaiour to return an error where one is not currently returned, to avoid unexpected breakage. Eventually it would be nice to allow boards to register functions to be called to update the device tree. This would avoid all the many functions to do this. However it's not clear yet if this should be done using driver model or with a linker list. This work is left for later. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de>
* | tqma6: use imx_ddr_sizeMarkus Niebel2014-11-20-1/+1
| | | | | | | | Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* | tqma6: add warning on failed setup_i2cMarkus Niebel2014-11-20-4/+16
| | | | | | | | | | | | | | setup_i2c has a return value. Use it to give feedback on error. Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* | tqma6: add missing includeMarkus Niebel2014-11-20-0/+1
|/ | | | | | Add include needed to have prototype for board_spi_cs_gpio Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini2014-11-05-2/+10
|\
| * tqma6: fix typo in header guard defineMarkus Niebel2014-10-30-1/+1
| | | | | | | | Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
| * tqma6: fix sf detectionMarkus Niebel2014-10-30-1/+9
| | | | | | | | | | | | | | | | | | Commit 155fa9af95ac5be857a7327e7a968a296e60d4c8 changed the way to define a GPIO line, which can be used to force CS high across multiple transactions. In order to fix sf detection change board code to make use of board_spi_cs_gpio(..). Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* | kconfig: arm: introduce symbol for ARM CPUsGeorges Savoundararadj2014-10-29-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces a Kconfig symbol for each ARM CPU: CPU_ARM720T, CPU_ARM920T, CPU_ARM926EJS, CPU_ARM946ES, CPU_ARM1136, CPU_ARM1176, CPU_V7, CPU_PXA, CPU_SA1100. Also, it adds the CPU feature Kconfig symbol HAS_VBAR which is selected for CPU_ARM1176 and CPU_V7. For each target, the corresponding CPU is selected and the definition of SYS_CPU in the corresponding Kconfig file is removed. Also, it removes redundant "string" type in some Kconfig files. Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
* | ppc: Zap TQM8272 boardMarek Vasut2014-10-27-1271/+0
| | | | | | | | | | | | | | | | | | | | | | This board is old and is using CONFIG_I2C_X, which is wrong. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Heiko Schocher <hs@denx.de>
* | ppc: Zap TQM8260 boardMarek Vasut2014-10-27-803/+0
|/ | | | | | | | | | | This board is old and is using CONFIG_I2C_X, which is wrong. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Heiko Schocher <hs@denx.de>
* MAINTAINERS: comment out blank M: fieldMasahiro Yamada2014-09-24-4/+4
| | | | | | | | | | | | | | | | | | Since commit ddaf5c8f3030050fcd356a1e49e3ee8f8f52c6d4 (patman: RunPipe() should not pipe stdout/stderr unless asked), Patman spits lots of "Invalid MAINTAINERS address: '-'" error messages for patches with global changes. It takes too long for Patman to process them. Anyway, "M: -" does not carry any important information. Rather, it is just like a place holder in case of assigning a new board maintainer. Let's comment out. This commit can be reproduced by the following command: find . -name MAINTAINERS | xargs sed -i -e '/^M:[[:blank:]]*-$/s/^/#/' Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kconfig: remove redundant "string" type in arch and board KconfigsMasahiro Yamada2014-09-13-80/+0
| | | | | | | | | | | | | | | | | | Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME} are specified in arch/Kconfig. We can delete the ones in arch and board Kconfig files. This commit can be easily reproduced by the following command: find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e ' /config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ { N s/\n[[:space:]]*string// } ' Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* mx6: tqma6: get board support back to Kconfig build systemMasahiro Yamada2014-08-31-0/+29
| | | | | | | | | | | | | | | | | The QS Systems TQMa6 board support was added by commit cb07d74e and lost by commit e82abaeb. Commit e82abaeb merged the IMX branch based on pre-Kconfig and the mainline based on post-Kconfig, simply deleting the boards.cfg file. As a result, some boards added just before the merge were lost. This commit adds Kconfig, defconfig, MAINTAINERS for TQMa6 board to work on the Kconfig infrastructure. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Stefano Babic <sbabic@denx.de>
* Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini2014-08-29-0/+971
|\
| * Merge branch 'master' of git://git.denx.de/u-boot-armStefano Babic2014-08-11-0/+496
| |\ | | | | | | | | | | | | | | | | | | Conflicts: boards.cfg Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | pmic: pmic_pfuze100: Use a shorter name for PMIC nameFabio Estevam2014-08-08-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is redundant to use 'PFUZE100_PMIC' as the PMIC name because we already know it is a PMIC. Call it simply 'PFUZE100' instead. Cc: Tim Harvey <tharvey@gateworks.com> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
| * | Add TQ Systems TQMa6 board supportMarkus Niebel2014-07-23-0/+971
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the changes to boards.cfg and the board directory under board/tqc. TQMa6 is a family of modules based on Freescale i.MX6. It consists of TQMa6Q (i.MX6 Quad), TQMa6D (i.MX6 Dual) featuring eMMC, and 1 GiB DDR3 TQMa6S (i.MX6 Solo) featuring eMMC and 512 MiB DDR3 The modules need a baseboard. Initially the MBa6x starterkit mainboard is supported. To easy support for other mainboards the functionality is splitted in one file for the module (tqma6.c) and one file for the baseboard (tqma6_ mba6). The modules can be boot from eMMC (on USDHC3) and SPI flash. The following features are supported: - MMC: eMMC on module (on USDHC3) and SD-card (on MBa6x mainboard) - Ethernet: RGMII using micrel KSZ9031 phy on MBa6x mainboard for TQMa6<x> module. The phy needs special configurations for the pad skew registers to adjust for the signal routing. Also support for standard ethernet commands and uppdate via tftp. - SPI: ECSPI1 with bootable serial flash on module and two additional chip selects on MBa6x - I2C: This patch adds support for the I2C busses on the TQMa6<x> modules (I2C3) and MBa6x baseboards (I2C1). The LM75 temperature sensors on TQMa6<x> and MBa6x are also configured. - USB: high speed host 1 on MBa6x and support for USB storage - PMIC: support for pfuze 100 on TQMa6<x> Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
* | | mtd, ubi, ubifs: resync with Linux-3.14Heiko Schocher2014-08-25-0/+4
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | resync ubi subsystem with linux: commit 455c6fdbd219161bd09b1165f11699d6d73de11c Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun Mar 30 20:40:15 2014 -0700 Linux 3.14 A nice side effect of this, is we introduce UBI Fastmap support to U-Boot. Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Tom Rini <trini@ti.com> Cc: Marek Vasut <marex@denx.de> Cc: Sergey Lapin <slapin@ossfans.org> Cc: Scott Wood <scottwood@freescale.com> Cc: Joerg Krause <jkrause@posteo.de>
* | Add board MAINTAINERS filesMasahiro Yamada2014-07-30-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have switched to Kconfig and the boards.cfg file is going to be removed. We have to retrieve the board status and maintainers information from it. The MAINTAINERS format as in Linux Kernel would be nice because we can crib the scripts/get_maintainer.pl script. After some discussion, we chose to put a MAINTAINERS file under each board directory, not the top-level one because we want to collect relevant information for a board into a single place. TODO: Modify get_maintainer.pl to scan multiple MAINTAINERS files. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Suggested-by: Tom Rini <trini@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
* | kconfig: add board Kconfig and defconfig filesMasahiro Yamada2014-07-30-0/+395
|/ | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds: - arch/${ARCH}/Kconfig provide a menu to select target boards - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig set CONFIG macros to the appropriate values for each board - configs/${TARGET_BOARD}_defconfig default setting of each board (This commit was automatically generated by a conversion script based on boards.cfg) In Linux Kernel, defconfig files are located under arch/${ARCH}/configs/ directory. It works in Linux Kernel since ARCH is always given from the command line for cross compile. But in U-Boot, ARCH is not given from the command line. Which means we cannot know ARCH until the board configuration is done. That is why all the "*_defconfig" files should be gathered into a single directory ./configs/. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* board: tqm5200: delete its own object make ruleMasahiro Yamada2013-11-25-3/+0
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* Makefile: rename all libraries to built-in.oMasahiro Yamada2013-11-17-7/+7
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* Makefile: make directories by Makefile.buildMasahiro Yamada2013-11-17-8/+0
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* board: powerpc: convert makefiles to Kbuild styleMasahiro Yamada2013-11-01-106/+7
| | | | | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Kim Phillips <kim.phillips@freescale.com> Cc: York Sun <yorksun@freescale.com> Cc: Stefan Roese <sr@denx.de>
* drivers: move some drivers to drivers/MakefileMasahiro Yamada2013-10-31-2/+2
| | | | | | | | This commit moves some drivers subdirectory entry from the toplevel Makefile to drivers/Makefile using Kbuild descending feature. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* Coding Style cleanup: remove trailing white spaceWolfgang Denk2013-10-14-4/+4
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-i2cTom Rini2013-07-24-3/+3
|\ | | | | | | | | | | | | | | | | | | | | The sandburst-specific i2c drivers have been deleted, conflict was just over the SPDX conversion. Conflicts: board/sandburst/common/ppc440gx_i2c.c board/sandburst/common/ppc440gx_i2c.h Signed-off-by: Tom Rini <trini@ti.com>
| * i2c, soft-i2c: switch to new multibus/multiadapter supportHeiko Schocher2013-07-23-3/+3
| | | | | | | | | | | | | | | | | | - added to soft_i2c driver new multibus/multiadpater support - adapted all config files, which uses this driver Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Stephen Warren <swarren@wwwdotorg.org>
* | Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk2013-07-24-325/+19
|/ | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <trini@ti.com>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2013-03-18-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Albert's rework of the linker scripts conflicted with Simon's making everyone use __bss_end. We also had a minor conflict over README.scrapyard being added to in mainline and enhanced in u-boot-arm/master with proper formatting. Conflicts: arch/arm/cpu/ixp/u-boot.lds arch/arm/cpu/u-boot.lds arch/arm/lib/Makefile board/actux1/u-boot.lds board/actux2/u-boot.lds board/actux3/u-boot.lds board/dvlhost/u-boot.lds board/freescale/mx31ads/u-boot.lds doc/README.scrapyard include/configs/tegra-common.h Build tested for all of ARM and run-time tested on am335x_evm. Signed-off-by: Tom Rini <trini@ti.com>
| * Refactor linker-generated arraysAlbert ARIBAUD2013-03-12-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor linker-generated array code so that symbols which were previously linker-generated are now compiler- generated. This causes relocation records of type R_ARM_ABS32 to become R_ARM_RELATIVE, which makes code which uses LGA able to run before relocation as well as after. Note: this affects more than ARM targets, as linker- lists span possibly all target architectures, notably PowerPC. Conflicts: arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds arch/arm/cpu/armv7/omap-common/u-boot-spl.lds board/ait/cam_enc_4xx/u-boot-spl.lds board/davinci/da8xxevm/u-boot-spl-da850evm.lds board/davinci/da8xxevm/u-boot-spl-hawk.lds board/vpac270/u-boot-spl.lds Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* | Replace __bss_end__ with __bss_endSimon Glass2013-03-15-1/+1
|/ | | | | | | | | | | | | Note this is a tree-wide change affecting multiple architectures. At present we use __bss_start, but mostly __bss_end__. This seems inconsistent and in a number of places __bss_end is used instead. Change to use __bss_end for the BSS end symbol throughout U-Boot. This makes it possible to use the asm-generic/sections.h file on all archs. Signed-off-by: Simon Glass <sjg@chromium.org>
* TQM8xx: adjust linker script to grown code sizeWolfgang Denk2012-10-28-3/+1
| | | | | | | | | | | | Once more, some of the previous changes caused the code to grow, which causes errors like u-boot.lds:80 cannot move location counter backwards (from 400082a4 to 40008000) when building with some older tool chains (like ELDK 4.2). Adjust the linker script to make fit again. Signed-off-by: Wolfgang Denk <wd@denx.de>