summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* mkimage: Add -k option to specify key directorySimon Glass2013-06-26-5/+38
| | | | | | | | | | | Keys required for signing images will be in a specific directory. Add a -k option to specify that directory. Also update the mkimage man page with this information and a clearer list of available commands. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de> (v1)
* image: Add RSA support for image signingSimon Glass2013-06-26-2/+1031
| | | | | | | | | | | | | | RSA provides a public key encryption facility which is ideal for image signing and verification. Images are signed using a private key by mkimage. Then at run-time, the images are verified using a private key. This implementation uses openssl for the host part (mkimage). To avoid bringing large libraries into the U-Boot binary, the RSA public key is encoded using a simple numeric representation in the device tree. Signed-off-by: Simon Glass <sjg@chromium.org>
* image: Support signing of imagesSimon Glass2013-06-26-38/+478
| | | | | | | | Add support for signing images using a new signature node. The process is handled by fdt_add_verification_data() which now takes parameters to provide the keys and related information. Signed-off-by: Simon Glass <sjg@chromium.org>
* image: Add signing infrastructureSimon Glass2013-06-26-2/+358
| | | | | | | Add a structure to describe an algorithm which can sign and (later) verify images. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: config: Add tracing optionsSimon Glass2013-06-26-0/+7
| | | | | | Add configs to enable tracing when it is needed. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Support tracing functionSimon Glass2013-06-26-7/+10
| | | | | | | Some changes are needed to x86 timer functions to support tracing. Add these so that the feature works correctly. Signed-off-by: Simon Glass <sjg@chromium.org>
* exynos: config: Add tracing optionsSimon Glass2013-06-26-0/+8
| | | | | | | Add tracing to Exynos5 boards, so that tracing can be enabled when building with 'make FTRACE=1'. We use a 16MB trace buffer. Signed-off-by: Simon Glass <sjg@chromium.org>
* exynos: Avoid function instrumentation for microsecond timerSimon Glass2013-06-26-5/+7
| | | | | | | | | | For tracing to work it has to be able to access the microsecond timer without causing a recursive call to the function entry/exit handlers. Add attributes to the relevant functions to support this. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
* arm: Implement the 'fake' go commandSimon Glass2013-06-26-9/+18
| | | | | | | | | | Implement this feature on ARM for tracing. It would be nice to have generic bootm support so that it is easily implemented on any arch. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* Add a 'fake' go command to the bootm commandSimon Glass2013-06-26-3/+19
| | | | | | | | | | | | | | For tracing it is useful to run as much of U-Boot as possible so as to get a complete picture. Quite a bit of work happens in bootm, and we don't want to have to stop tracing before bootm starts. Add a way of doing a 'fake' boot of the OS - which does everything up to the point where U-Boot is about to jump to the OS image. This allows tracing to record right until the end. This requires arch support to work. Signed-off-by: Simon Glass <sjg@chromium.org>
* Refactor the bootm command to reduce code duplicationSimon Glass2013-06-26-248/+225
| | | | | | | | | | | | | | | | At present the bootm code is mostly duplicated for the plain 'bootm' command and its sub-command variant. This makes the code harder to maintain and means that changes must be made to several places. Introduce do_bootm_states() which performs selected portions of the bootm work, so that both plain 'bootm' and 'bootm <sub_command>' can use the same code. Additional duplication exists in bootz, so tidy that up as well. This is not intended to change behaviour, apart from minor fixes where the previously-duplicated code missed some chunks of code. Signed-off-by: Simon Glass <sjg@chromium.org>
* Clarify bootm OS argumentsSimon Glass2013-06-26-37/+54
| | | | | | | | | | | | | | At present the arguments to bootm are processed in a somewhat confusing way. Sub-functions must know how many arguments their calling functions have processed, and the OS boot function must also have this information. Also it isn't obvious that 'bootm' and 'bootm start' provide arguments in the same way. Adjust the code so that arguments are removed from the list before calling a sub-function. This means that all functions can know that argv[0] is the first argument of which they need to take notice. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add a simple test for sandbox traceSimon Glass2013-06-26-0/+89
| | | | | | | It is difficult to automatically test tracing on most architectures, but with sandbox it is easy enough to do a simple sanity check. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: Support trace featureSimon Glass2013-06-26-2/+15
| | | | | | | | | | Support tracing on sandbox by adding suitable CONFIG options. To enable it, compile U-Boot with FTRACE=1. The timer functions are marked to skip tracing, since these are called from the tracing code itself, and we want to avoid an infinite loop. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add proftool to decode profile dataSimon Glass2013-06-26-1/+620
| | | | | | | This tool provides the facility to decode U-Boot trace data and write out a text file in Linux ftrace format for use with pytimechart. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add trace support to generic boardSimon Glass2013-06-26-1/+30
| | | | | | | | | | | Add hooks for tracing to generic board, including: - allow early tracing to start early as possible in U-Boot - reserve memory for trace buffer - copy early trace buffer to main trace buffer after relocation - setup full tracing support after relocation Signed-off-by: Simon Glass <sjg@chromium.org>
* Support tracing in config.mk when enabledSimon Glass2013-06-26-1/+10
| | | | | | | | | | | Use -finstrument-functions when tracing is enabled (make FTRACE=1). Tracing is not currently supported by SPL even if sufficient memory is available. When tracing is enabled, we #define FTRACE. This can be used by board config files to conditionally enable the tracing options. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add a trace commandSimon Glass2013-06-26-0/+134
| | | | | | | Add a trace command with sub-commands to start/stop tracing, print out statistics and dump trace information to memory for later upload to a host. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add trace librarySimon Glass2013-06-26-0/+870
| | | | | | | | | Add a library which supports tracing of execution using built-in gcc features and a microsecond timer. This can be used to record a list of function which are executed, along with a timestamp for each. Later this information can be sent to the host for processing. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add function to print a number with grouped digitsSimon Glass2013-06-26-18/+31
| | | | | | | Move bootstage's numbering printing code into a generic place so that it can be used by tracing also. Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Correct printf typesSimon Glass2013-06-26-2/+2
| | | | | | | The unstash code is a bit loose with its printf() types, which gives warnings on sandbox. Correct this. Signed-off-by: Simon Glass <sjg@chromium.org>
* Show stdout on error in fit-testSimon Glass2013-06-26-9/+10
| | | | | | | When this test fails it is useful to see the output from U-Boot. Add printing of this information on failure. Signed-off-by: Simon Glass <sjg@chromium.org>
* Fix missing return in do_mem_loop()Simon Glass2013-06-26-0/+2
| | | | | | | For some reason this does not normally cause a compiler warning, but the code seems to be incorrect. Add the missing return. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Correct missing local variable in bootmSimon Glass2013-06-26-0/+2
| | | | | | Enabling FIT produces a compile error. Fix this. Signed-off-by: Simon Glass <sjg@chromium.org>
* pci: Convert extern inline functions to static inlineSimon Glass2013-06-26-2/+2
| | | | | | | | I am not sure of the meaning of extern inline, but this gives errors when building with function instrumenting enabled. Change these functions to static inline. Signed-off-by: Simon Glass <sjg@chromium.org>
* cros: exynos: enable cros-ec for smdk5250Hung-ying Tyan2013-06-26-1/+54
| | | | | | | | | | | | This patch initiates cros-ec in board_init() to enable it for smdk5250. This patch depends on the patch in the MMC series that brings in exynos5-dt.c. Refer to http://patchwork.ozlabs.org/patch/240084. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Signed-off-by: Hung-ying Tyan <tyanh@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* cros: exynos: add cros-ec device nodes to exynos5250-snow.dtsHung-ying Tyan2013-06-26-0/+83
| | | | | | | | This patch adds cros-ec related device nodes to exynos5250-snow.dts. It also adds a gpio node to exynos5250.dtsi. Signed-off-by: Hung-ying Tyan <tyanh@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* cros: adds cros_ec keyboard driverHung-ying Tyan2013-06-26-0/+348
| | | | | | | | | | This patch adds the driver for keyboard that's controlled by ChromeOS EC. Signed-off-by: Randall Spangler <rspangler@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Signed-off-by: Hung-ying Tyan <tyanh@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* cros: add LPC support for cros_ecHung-ying Tyan2013-06-26-0/+284
| | | | | | | | | | This patch adds LPC support for carrying out the cros_ec protocol. Signed-off-by: Randall Spangler <rspangler@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Hung-ying Tyan <tyanh@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
* cros: exynos: add SPI support for cros_ecHung-ying Tyan2013-06-26-0/+200
| | | | | | | | | This patch adds SPI support for carrying out the cros_ec protocol. Signed-off-by: Hung-ying Tyan <tyanh@chromium.org> Signed-off-by: Randall Spangler <rspangler@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* cros: add I2C support for cros_ecHung-ying Tyan2013-06-26-0/+200
| | | | | | | | | | This patch adds I2C support for carrying out the cros_ec protocol. Signed-off-by: Randall Spangler <rspangler@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Hung-ying Tyan <tyanh@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
* cros: add cros_ec driverHung-ying Tyan2013-06-26-0/+3278
| | | | | | | | | | | | | | | | | | | This patch adds the cros_ec driver that implements the protocol for communicating with Google's ChromeOS embedded controller. Signed-off-by: Bernie Thompson <bhthompson@chromium.org> Signed-off-by: Bill Richardson <wfrichar@chromium.org> Signed-off-by: Che-Liang Chiou <clchiou@chromium.org> Signed-off-by: Doug Anderson <dianders@chromium.org> Signed-off-by: Gabe Black <gabeblack@chromium.org> Signed-off-by: Hung-ying Tyan <tyanh@chromium.org> Signed-off-by: Louis Yung-Chieh Lo <yjlou@chromium.org> Signed-off-by: Randall Spangler <rspangler@chromium.org> Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
* Merge branch 'master' of git://git.denx.de/u-boot-netTom Rini2013-06-24-221/+3117
|\
| * phylib: add atheros ar803x phyHeiko Schocher2013-06-24-1/+12
| | | | | | | | | | | | | | | | add atheros ar803x phy, used on the upcoming siemens boards. Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Andy Fleming <afleming@freescale.com> Cc: Joe Hershberger <joe.hershberger@gmail.com>
| * phylib: add natsemi dp83630 phyHeiko Schocher2013-06-24-0/+37
| | | | | | | | | | | | | | | | add natsemi dp83630 phy, used on the upcoming siemens boards. Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Andy Fleming <afleming@freescale.com> Cc: Joe Hershberger <joe.hershberger@gmail.com>
| * net: update FTGMAC100 for MMU/D-cache supportKuo-Jung Su2013-06-24-21/+49
| | | | | | | | | | | | Signed-off-by: Kuo-Jung Su <dantesu@faraday-tech.com> CC: Joe Hershberger <joe.hershberger@gmail.com> CC: Tom Rini <trini@ti.com>
| * net: add Faraday FTMAC110 10/100Mbps ethernet supportKuo-Jung Su2013-06-24-0/+652
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Faraday FTMAC110 10/100Mbps supports half-word data transfer for Linux. However it has a weird DMA alignment issue: (1) Tx DMA Buffer Address: 1 bytes aligned: Invalid 2 bytes aligned: O.K 4 bytes aligned: O.K (2) Rx DMA Buffer Address: 1 bytes aligned: Invalid 2 bytes aligned: O.K 4 bytes aligned: Invalid!!! Signed-off-by: Kuo-Jung Su <dantesu@faraday-tech.com> Cc: Joe Hershberger <joe.hershberger@gmail.com> Cc: Tom Rini <trini@ti.com>
| * net: phy: supplement support for Micrel's KSZ9031SARTRE Leo2013-06-24-1/+46
| | | | | | | | | | | | Add function ksz9031_phy_extended_write and ksz9031_phy_extended_read Signed-off-by: Leo Sartre <lsartre@adeneo-embedded.com>
| * net: macb: add support for gigabit MACBo Shen2013-06-24-38/+168
| | | | | | | | | | | | | | Add gigabit MAC support in macb driver - using IP version to distinguish whether MAC is GMAC Signed-off-by: Bo Shen <voice.shen@atmel.com>
| * net: macb: using phylib to configure phy deviceBo Shen2013-06-24-2/+14
| | | | | | | | | | | | using phylib to configure phy device in macb driver Signed-off-by: Bo Shen <voice.shen@atmel.com>
| * net: macb: using AT91FAMILY replace #ifdeferryBo Shen2013-06-24-8/+2
| | | | | | | | | | | | | | Using CONFIG_AT91FAMILY replace #ifdeferry for atmel SoC Signed-off-by: Bo Shen <voice.shen@atmel.com> Acked-by: Andreas Bießmann <andreas.devel@googlemail.com>
| * ARM: at91sam9n12: add network support with ksz8851_16mllBo Shen2013-06-24-0/+40
| | | | | | | | | | | | | | add network support with ksz8851_16mll on at91sam9n12ek board Signed-off-by: Bo Shen <voice.shen@atmel.com> Acked-by: Andreas Bießmann <andreas.devel@googlemail.com>
| * net: ks8851_mll: add ethernet supportRoberto Cerati2013-06-24-0/+1004
| | | | | | | | | | | | | | | | | | | | | | | | The device interface is 16 bits wide. All the available packets are read from the incoming fifo. Signed-off-by: Roberto Cerati <roberto.cerati@bticino.it> Signed-off-by: Raffaele Recalcati <raffaele.recalcati@bticino.it> [voice.shen@atmel.com: address comments from review results] [voice.shen@atmel.com: clean up for submit] Signed-off-by: Bo Shen <voice.shen@atmel.com> Tested-by: Raffaele Recalcati <raffaele.recalcati@bticino.it>
| * phylib: Add Atheros AR8035 GETH PHY supportXie Xiaobo2013-06-24-1/+33
| | | | | | | | Signed-off-by: Xie Xiaobo <X.Xie@freescale.com>
| * add support for Xilinx 1000BASE-X phy (GTX)Charles Coldwell2013-06-24-0/+27
| | | | | | | | | | | | | | | | | | | | commit 39695029bc15041c809df3db4ba19bd729c447fa Author: Charles Coldwell <coldwell@ll.mit.edu> Date: Tue Feb 19 08:27:33 2013 -0500 Changes to support the Xilinx 1000BASE-X phy (GTX/MGT) Signed-off-by: Charles Coldwell <coldwell@ll.mit.edu>
| * net: Correct check for link-local target IP conflictJoe Hershberger2013-06-24-4/+13
| | | | | | | | | | | | | | | | | | | | Make the link-local code conform more completely with the RFC. This will prevent ARP queries for the target (such as while it is rebooting) from causing the device to choose a different link-local address, thinking that its address is in use by another machine. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
| * PHY: micrel.c: add support for KSZ9031David Andrey2013-06-24-27/+52
| | | | | | | | | | | | | | | | | | | | | | | | Add support for Micrel PHY KSZ9031 in phylib, including small rework for KSZ9021 to avoid code duplication Signed-off-by: David Andrey <david.andrey@netmodule.com> Cc: Troy Kisky <troy.kisky@boundarydevices.com> Cc: Joe Herschberger <joe.hershberger@gmail.com> Cc: Andy Fleming <afleming@freescale.com> Acked-by: Stefan Roese <sr@denx.de>
| * net/tftp: sparse fixesKim Phillips2013-06-24-6/+6
| | | | | | | | | | | | | | | | | | | | tftp.c:464:17: warning: cast to restricted __be16 tftp.c:552:29: warning: cast to restricted __be16 tftp.c:640:33: warning: cast to restricted __be16 tftp.c:642:25: warning: cast to restricted __be16 Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Cc: Joe Hershberger <joe.hershberger@gmail.com>
| * net: make IPaddr type big endianKim Phillips2013-06-24-1/+1
| | | | | | | | | | | | | | for use with sparse. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Cc: Joe Hershberger <joe.hershberger@gmail.com>
| * net: Fix build regression in macb.cJoe Hershberger2013-06-24-1/+1
| | | | | | | | | | | | | | | | The added weak symbol must not be static. This was introduced in 416ce623fbad51af57660346ebb6f7befb88b3c9 Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>