project/bcm63xx/u-boot.git
11 years agovideo: consolidate splash screen alignment code
Anatolij Gustschin [Mon, 1 Jul 2013 22:04:05 +0000 (00:04 +0200)]
video: consolidate splash screen alignment code

Code for checking "splashpos" environment variable is
duplicated in drivers, move it to the common function.
Call this function also in the bmp display command to
consider "splashpos" settings.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
11 years agoomap: cm_t35: Fix cm_t35 for weak splash_screen_prepare
Robert Winkler [Mon, 17 Jun 2013 18:31:31 +0000 (11:31 -0700)]
omap: cm_t35: Fix cm_t35 for weak splash_screen_prepare

Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
11 years agovideo: lcd: Make splash_screen_prepare weak, remove config macro
Robert Winkler [Mon, 17 Jun 2013 18:31:30 +0000 (11:31 -0700)]
video: lcd: Make splash_screen_prepare weak, remove config macro

Remove CONFIG_SPLASH_SCREEN_PREPARE from README
Add doc/README.splashprepare to document functionality

Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
11 years agovideo: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
Robert Winkler [Mon, 17 Jun 2013 18:31:29 +0000 (11:31 -0700)]
video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO

Create splash.c/h to put the function and any future common splash
screen code in.

Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
11 years agolcd: align bmp header when uncopmressing image
Piotr Wilczek [Wed, 5 Jun 2013 06:14:30 +0000 (08:14 +0200)]
lcd: align bmp header when uncopmressing image

When compressed image is loaded, it must be decompressed
to an aligned address + 2 to avoid unaligned access exception
on some ARM platforms.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Anatolij Gustschin <agust@denx.de>
CC: Wolfgang Denk <wd@denx.de>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
11 years agolcd: remove unaligned access in lcd_dt_simplefb_configure_node()
Stephen Warren [Thu, 13 Jun 2013 23:13:11 +0000 (17:13 -0600)]
lcd: remove unaligned access in lcd_dt_simplefb_configure_node()

Some ARM compilers may emit code that makes unaligned accesses when
faced with constructs such as:

const char format[] = "r5g6b5";

Make this data static since it doesn't chagne; the compiler will simply
place it into the .rodata section directly, and avoid any unaligned run-
time initialization.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agodrivers:video:s6e8ax0: change data_to_send array to static
Piotr Wilczek [Fri, 24 May 2013 07:43:46 +0000 (09:43 +0200)]
drivers:video:s6e8ax0: change data_to_send array to static

This patch change 'data_to_send' array to static to avoid
unaligned access exeption on some platforms (ex Trats2).

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
CC: Anatolij Gustschin <agust@denx.de>
11 years agoPrepare v2013.07-rc2
Tom Rini [Fri, 28 Jun 2013 22:03:51 +0000 (18:03 -0400)]
Prepare v2013.07-rc2

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoFix bootm to work on powerpc again (compressed uImage)
Stefan Roese [Fri, 28 Jun 2013 08:02:03 +0000 (10:02 +0200)]
Fix bootm to work on powerpc again (compressed uImage)

Patch 35fc84fa1 [Refactor the bootm command to reduce code duplication]
breaks booting Linux (compressed uImage with fdt) on powerpc.

boot_jump_linux() mustn't be called before boot_prep_linux() and
boot_body_linux() have been called. So remove the superfluous call
to boot_jump_linux() in arch/powerpc/lib/bootm.c as its called later on
in this function.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
11 years agomkimage: Build signing only if board has CONFIG_FIT_SIGNATURE
Simon Glass [Thu, 27 Jun 2013 17:43:18 +0000 (10:43 -0700)]
mkimage: Build signing only if board has CONFIG_FIT_SIGNATURE

At present mkimage is set up to always build with image signing support.
This means that the SSL libraries (e.g. libssl-dev) are always required.

Adjust things so that mkimage can be built with and without image signing,
controlled by the presence of CONFIG_FIT_SIGNATURE in the board config file.

If CONFIG_FIT_SIGNATURE is not enabled, then mkimage will report a warning
that signing is not supported. If the option is enabled, but libraries are
not available, then a build error similar to this will be shown:

lib/rsa/rsa-sign.c:26:25: fatal error: openssl/rsa.h: No such file or directory

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agobootm: Disable interrupts before loading OS
Simon Glass [Fri, 28 Jun 2013 07:46:12 +0000 (00:46 -0700)]
bootm: Disable interrupts before loading OS

This restores the ordering of interrupt disable to what it what before
commit 35fc84fa. It seems that on some archiectures (e.g. PowerPC) the
OS is loaded into an interrupt region, which can cause problems if
interrupts are still running.

Tested-by: Stefan Roese <sr@denx.de>
Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agocmd_bootm.c: Correct BOOTM_ERR_OVERLAP handling
Tom Rini [Fri, 28 Jun 2013 15:38:02 +0000 (11:38 -0400)]
cmd_bootm.c: Correct BOOTM_ERR_OVERLAP handling

With 35fc84fa1 [Refactor the bootm command to reduce code duplication]
we stopped checking the return value of bootm_load_os (unintentionally!)
and simply returned if we had a non-zero return value from the function.
This broke the valid case of a legacy image file of a single kernel
loaded into an overlapping memory area (the default way of booting
nearly all TI platforms).

The best way to fix this problem in the new code is to make
bootm_load_os be the one to see if we have a problem with this, and if
it's fatal return BOOTM_ERR_RESET and if it's not BOOTM_ERR_OVERLAP, so
that we can avoid calling lmb_reserve() but continue with booting.  We
however still need to handle the other BOOTM_ERR values so re-work
do_bootm_states so that we have an error handler at the bottom we can
goto for problems from bootm_load_os, or problems from the other callers
(as the code was before).  Add a comment to do_bootm_states noting the
existing restriction on negative return values.

Signed-off-by: Tom Rini <trini@ti.com>
---
Changes in v2:
- Rework so that only bootm_load_os and boot_selected_os head down into
  the err case code, and other errors simply return back to the caller.
  Fixes 'spl export'.

11 years agoam335x_evm: Add missing ';' in findfdt
Tom Rini [Thu, 27 Jun 2013 13:55:39 +0000 (09:55 -0400)]
am335x_evm: Add missing ';' in findfdt

In a714321 we add a check at the end of findfdt to make sure we have
updated it from undefined and if not, warn the user.  This however
forgot a ';' on the end of the previous last test.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-74xx-7xx
Tom Rini [Thu, 27 Jun 2013 12:23:27 +0000 (08:23 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-74xx-7xx

11 years agoPPC 74xx_7xx: Fix build warnings for ELPPC board
Wolfgang Denk [Fri, 14 Jun 2013 08:20:44 +0000 (10:20 +0200)]
PPC 74xx_7xx: Fix build warnings for ELPPC board

Fix:

misc.c: In function 'misc_init_r':
misc.c:210:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
misc.c:211:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
misc.c:212:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]

Signed-off-by: Wolfgang Denk <wd@denx.de>
11 years agoColdFire: Update the arch_global_date changes for mcf5441x
Jason Jin [Wed, 26 Jun 2013 02:21:31 +0000 (10:21 +0800)]
ColdFire: Update the arch_global_date changes for mcf5441x

Update inp_clk, vco_clk and flb_clk for mcf5441x as those
items were moved to arch_global_data.

Signed-off-by: Jason Jin <Jason.jin@freescale.com>
11 years agoFix MCF5235 SDRAM base address macro
Steve deRosier [Tue, 22 Jan 2013 21:05:35 +0000 (13:05 -0800)]
Fix MCF5235 SDRAM base address macro

SDRAMC_DARCn_BA() macro worked fine when the BA is 0x00000000 even
though the macro is incorrect. It causes the BA to be set incorrctly
for other base addresses. This patch fixes the macro so that base
addresses other than zero can be used with the MCF5235.

Signed-off-by: Steve deRosier <derosier@gmail.com>
11 years agom68k: fix debug call befor serial init
Jens Scharsig (BuS Elektronik) [Wed, 16 Jan 2013 07:24:10 +0000 (08:24 +0100)]
m68k: fix debug call befor serial init

There is a debug call in board.c befor serial interface was initialized.
This moves the debug code behind serial_initialize call.

Signed-off-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
11 years agousb: musb: Use ARRAY_SIZE at appropriate places
Axel Lin [Sat, 22 Jun 2013 16:57:46 +0000 (00:57 +0800)]
usb: musb: Use ARRAY_SIZE at appropriate places

Signed-off-by: Axel Lin <axel.lin@ingics.com>
11 years agomtd: cfi_flash: Use ARRAY_SIZE at appropriate places
Axel Lin [Sat, 22 Jun 2013 16:56:46 +0000 (00:56 +0800)]
mtd: cfi_flash: Use ARRAY_SIZE at appropriate places

Signed-off-by: Axel Lin <axel.lin@ingics.com>
11 years agohwmon: lm63: Use ARRAY_SIZE at appropriate place
Axel Lin [Sat, 22 Jun 2013 16:55:14 +0000 (00:55 +0800)]
hwmon: lm63: Use ARRAY_SIZE at appropriate place

Signed-off-by: Axel Lin <axel.lin@ingics.com>
11 years agoserial: Use ARRAY_SIZE instead of reinventing it
Axel Lin [Sat, 22 Jun 2013 16:46:41 +0000 (00:46 +0800)]
serial: Use ARRAY_SIZE instead of reinventing it

Signed-off-by: Axel Lin <axel.lin@ingics.com>
11 years agoREADME: align default commands with code
Vincent Stehlé [Thu, 20 Jun 2013 16:14:22 +0000 (18:14 +0200)]
README: align default commands with code

Align the list of default commands mentioned in the configuration options
paragraph of the README with the actual definitions found in
include/config_cmd_default.h

Signed-off-by: Vincent Stehlé <vincent.stehle@freescale.com>
11 years agoFix block device accesses beyond 2TiB
Sascha Silbe [Fri, 14 Jun 2013 11:07:25 +0000 (13:07 +0200)]
Fix block device accesses beyond 2TiB

With CONFIG_SYS_64BIT_LBA, lbaint_t gets defined as a 64-bit type,
which is required to represent block numbers for storage devices that
exceed 2TiB (the block size usually is 512B), e.g. recent hard drives.

For some obscure reason, the current U-Boot code uses lbaint_t for the
number of blocks to read (a rather optimistic estimation of how RAM
sizes will evolve), but not for the starting address. Trying to access
blocks beyond the 2TiB boundary will simply wrap around and read a
block within the 0..2TiB range.

We now use lbaint_t for block start addresses, too. This required
changes to all block drivers as the signature of block_read(),
block_write() and block_erase() in block_dev_desc_t changed.

Signed-off-by: Sascha Silbe <t-uboot@infra-silbe.de>
11 years agocmd_bootm: Add command line arguments to Plan 9
Steven Stallion [Mon, 10 Jun 2013 08:00:09 +0000 (01:00 -0700)]
cmd_bootm: Add command line arguments to Plan 9

This patch introduces support for command line arguments to Plan 9.
Plan 9 generally dedicates a small region of kernel memory (known
as CONFADDR) for runtime configuration.  A new environment variable
named confaddr was introduced to indicate this location when copying
arguments.

Signed-off-by: Steven Stallion <sstallion@gmail.com>
[trini: Adapt for Simon's changes about correcting argc, no need to bump
by 2 now]
Signed-off-by: Tom Rini <trini@ti.com>
11 years agoAdd verified boot information and test
Simon Glass [Thu, 13 Jun 2013 22:10:11 +0000 (15:10 -0700)]
Add verified boot information and test

Add a description of how to implement verified boot using signed FIT images,
and a simple test which verifies operation on sandbox.

The test signs a FIT image and verifies it, then signs a FIT configuration
and verifies it. Then it corrupts the signature to check that this is
detected.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agosandbox: config: Enable FIT signatures with RSA
Simon Glass [Thu, 13 Jun 2013 22:10:10 +0000 (15:10 -0700)]
sandbox: config: Enable FIT signatures with RSA

We want to sign and verify images using sandbox, so enable these options.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agoimage: Add support for signing of FIT configurations
Simon Glass [Thu, 13 Jun 2013 22:10:09 +0000 (15:10 -0700)]
image: Add support for signing of FIT configurations

While signing images is useful, it does not provide complete protection
against several types of attack. For example, it it possible to create a
FIT with the same signed images, but with the configuration changed such
that a different one is selected (mix and match attack). It is also possible
to substitute a signed image from an older FIT version into a newer FIT
(roll-back attack).

Add support for signing of FIT configurations using the libfdt's region
support.

Please see doc/uImage.FIT/signature.txt for more information.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agolibfdt: Add fdt_find_regions()
Simon Glass [Thu, 13 Jun 2013 22:10:08 +0000 (15:10 -0700)]
libfdt: Add fdt_find_regions()

Add a function to find regions in device tree given a list of nodes to
include and properties to exclude.

See the header file for full documentation.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agomkimage: Add -r option to specify keys that must be verified
Simon Glass [Thu, 13 Jun 2013 22:10:07 +0000 (15:10 -0700)]
mkimage: Add -r option to specify keys that must be verified

Normally, multiple public keys can be provided and U-Boot is not
required to use all of them for verification. This is because some
images may not be signed, or may be optionally signed.

But we still need a mechanism to determine when a key must be used.
This feature cannot be implemented in the FIT itself, since anyone
could change it to mark a key as optional. The requirement for
key verification must go in with the public keys, in a place that
is protected from modification.

Add a -r option which tells mkimage to mark all keys that it uses
for signing as 'required'.

If some keys are optional and some are required, run mkimage several
times (perhaps with different key directories if some keys are very
secret) using the -F flag to update an existing FIT.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
11 years agomkimage: Add -c option to specify a comment for key signing
Simon Glass [Thu, 13 Jun 2013 22:10:06 +0000 (15:10 -0700)]
mkimage: Add -c option to specify a comment for key signing

When signing an image, it is useful to add some details about which tool
or person is authorising the signing. Add a comment field which can take
care of miscellaneous requirements.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
11 years agomkimage: Add -F option to modify an existing .fit file
Simon Glass [Thu, 13 Jun 2013 22:10:05 +0000 (15:10 -0700)]
mkimage: Add -F option to modify an existing .fit file

When signing images it is sometimes necessary to sign with different keys
at different times, or make the signer entirely separate from the FIT
creation to avoid needing the private keys to be publicly available in
the system.

Add a -F option so that key signing can be a separate step, and possibly
done multiple times as different keys are avaiable.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
11 years agomkimage: Add -K to write public keys to an FDT blob
Simon Glass [Thu, 13 Jun 2013 22:10:04 +0000 (15:10 -0700)]
mkimage: Add -K to write public keys to an FDT blob

FIT image verification requires public keys. Add a convenient option to
mkimage to write the public keys to an FDT blob when it uses then for
signing an image. This allows us to use:

   mkimage -f test.its -K dest.dtb -k keys test.fit

and have the signatures written to test.fit and the corresponding public
keys written to dest.dtb. Then dest.dtb can be used as the control FDT
for U-Boot (CONFIG_OF_CONTROL), thus providing U-Boot with access to the
public keys it needs.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
11 years agomkimage: Add -k option to specify key directory
Simon Glass [Thu, 13 Jun 2013 22:10:03 +0000 (15:10 -0700)]
mkimage: Add -k option to specify key directory

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)
11 years agoimage: Add RSA support for image signing
Simon Glass [Thu, 13 Jun 2013 22:10:02 +0000 (15:10 -0700)]
image: Add RSA support for image signing

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>
11 years agoimage: Support signing of images
Simon Glass [Thu, 13 Jun 2013 22:10:01 +0000 (15:10 -0700)]
image: Support signing of images

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>
11 years agoimage: Add signing infrastructure
Simon Glass [Thu, 13 Jun 2013 22:10:00 +0000 (15:10 -0700)]
image: Add signing infrastructure

Add a structure to describe an algorithm which can sign and (later) verify
images.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: config: Add tracing options
Simon Glass [Tue, 11 Jun 2013 18:14:53 +0000 (11:14 -0700)]
x86: config: Add tracing options

Add configs to enable tracing when it is needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Support tracing function
Simon Glass [Tue, 11 Jun 2013 18:14:52 +0000 (11:14 -0700)]
x86: Support tracing function

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>
11 years agoexynos: config: Add tracing options
Simon Glass [Tue, 11 Jun 2013 18:14:51 +0000 (11:14 -0700)]
exynos: config: Add tracing options

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>
11 years agoexynos: Avoid function instrumentation for microsecond timer
Simon Glass [Tue, 11 Jun 2013 18:14:50 +0000 (11:14 -0700)]
exynos: Avoid function instrumentation for microsecond timer

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>
11 years agoarm: Implement the 'fake' go command
Simon Glass [Thu, 20 Jun 2013 04:15:10 +0000 (21:15 -0700)]
arm: Implement the 'fake' go command

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>
11 years agoAdd a 'fake' go command to the bootm command
Simon Glass [Tue, 11 Jun 2013 18:14:48 +0000 (11:14 -0700)]
Add a 'fake' go command to the bootm command

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>
11 years agoRefactor the bootm command to reduce code duplication
Simon Glass [Tue, 11 Jun 2013 18:14:47 +0000 (11:14 -0700)]
Refactor the bootm command to reduce code duplication

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>
11 years agoClarify bootm OS arguments
Simon Glass [Tue, 11 Jun 2013 18:14:46 +0000 (11:14 -0700)]
Clarify bootm OS arguments

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>
11 years agoAdd a simple test for sandbox trace
Simon Glass [Tue, 11 Jun 2013 18:14:45 +0000 (11:14 -0700)]
Add a simple test for sandbox trace

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>
11 years agosandbox: Support trace feature
Simon Glass [Tue, 11 Jun 2013 18:14:44 +0000 (11:14 -0700)]
sandbox: Support trace feature

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>
11 years agoAdd proftool to decode profile data
Simon Glass [Tue, 11 Jun 2013 18:14:43 +0000 (11:14 -0700)]
Add proftool to decode profile data

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>
11 years agoAdd trace support to generic board
Simon Glass [Tue, 11 Jun 2013 18:14:42 +0000 (11:14 -0700)]
Add trace support to generic board

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>
11 years agoSupport tracing in config.mk when enabled
Simon Glass [Tue, 11 Jun 2013 18:14:41 +0000 (11:14 -0700)]
Support tracing in config.mk when enabled

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>
11 years agoAdd a trace command
Simon Glass [Tue, 11 Jun 2013 18:14:40 +0000 (11:14 -0700)]
Add a trace command

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>
11 years agoAdd trace library
Simon Glass [Tue, 11 Jun 2013 18:14:39 +0000 (11:14 -0700)]
Add trace library

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>
11 years agoAdd function to print a number with grouped digits
Simon Glass [Tue, 11 Jun 2013 18:14:38 +0000 (11:14 -0700)]
Add function to print a number with grouped digits

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>
11 years agobootstage: Correct printf types
Simon Glass [Tue, 11 Jun 2013 18:14:37 +0000 (11:14 -0700)]
bootstage: Correct printf types

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>
11 years agoShow stdout on error in fit-test
Simon Glass [Tue, 11 Jun 2013 18:14:36 +0000 (11:14 -0700)]
Show stdout on error in fit-test

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>
11 years agoFix missing return in do_mem_loop()
Simon Glass [Tue, 11 Jun 2013 18:14:35 +0000 (11:14 -0700)]
Fix missing return in do_mem_loop()

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>
11 years agox86: Correct missing local variable in bootm
Simon Glass [Tue, 11 Jun 2013 18:14:34 +0000 (11:14 -0700)]
x86: Correct missing local variable in bootm

Enabling FIT produces a compile error. Fix this.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agopci: Convert extern inline functions to static inline
Simon Glass [Tue, 11 Jun 2013 18:14:33 +0000 (11:14 -0700)]
pci: Convert extern inline functions to static inline

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>
11 years agocros: exynos: enable cros-ec for smdk5250
Hung-ying Tyan [Wed, 15 May 2013 10:27:34 +0000 (18:27 +0800)]
cros: exynos: enable cros-ec for smdk5250

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>
11 years agocros: exynos: add cros-ec device nodes to exynos5250-snow.dts
Hung-ying Tyan [Wed, 15 May 2013 10:27:33 +0000 (18:27 +0800)]
cros: exynos: add cros-ec device nodes to exynos5250-snow.dts

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>
11 years agocros: adds cros_ec keyboard driver
Hung-ying Tyan [Wed, 15 May 2013 10:27:32 +0000 (18:27 +0800)]
cros: adds cros_ec keyboard driver

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>
11 years agocros: add LPC support for cros_ec
Hung-ying Tyan [Wed, 15 May 2013 10:27:31 +0000 (18:27 +0800)]
cros: add LPC support for cros_ec

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>
11 years agocros: exynos: add SPI support for cros_ec
Hung-ying Tyan [Wed, 15 May 2013 10:27:30 +0000 (18:27 +0800)]
cros: exynos: add SPI support for cros_ec

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>
11 years agocros: add I2C support for cros_ec
Hung-ying Tyan [Wed, 15 May 2013 10:27:29 +0000 (18:27 +0800)]
cros: add I2C support for cros_ec

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>
11 years agocros: add cros_ec driver
Hung-ying Tyan [Wed, 15 May 2013 10:27:28 +0000 (18:27 +0800)]
cros: add cros_ec driver

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>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Tom Rini [Tue, 25 Jun 2013 02:27:44 +0000 (22:27 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-net

11 years agophylib: add atheros ar803x phy
Heiko Schocher [Tue, 4 Jun 2013 08:58:00 +0000 (10:58 +0200)]
phylib: add atheros ar803x phy

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>
11 years agophylib: add natsemi dp83630 phy
Heiko Schocher [Tue, 4 Jun 2013 08:58:09 +0000 (10:58 +0200)]
phylib: add natsemi dp83630 phy

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>
11 years agonet: update FTGMAC100 for MMU/D-cache support
Kuo-Jung Su [Tue, 7 May 2013 06:33:51 +0000 (14:33 +0800)]
net: update FTGMAC100 for MMU/D-cache support

Signed-off-by: Kuo-Jung Su <dantesu@faraday-tech.com>
CC: Joe Hershberger <joe.hershberger@gmail.com>
CC: Tom Rini <trini@ti.com>
11 years agonet: add Faraday FTMAC110 10/100Mbps ethernet support
Kuo-Jung Su [Tue, 7 May 2013 06:33:31 +0000 (14:33 +0800)]
net: add Faraday FTMAC110 10/100Mbps ethernet support

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>
11 years agonet: phy: supplement support for Micrel's KSZ9031
SARTRE Leo [Tue, 30 Apr 2013 14:57:25 +0000 (16:57 +0200)]
net: phy: supplement support for Micrel's KSZ9031

Add function ksz9031_phy_extended_write and ksz9031_phy_extended_read

Signed-off-by: Leo Sartre <lsartre@adeneo-embedded.com>
11 years agonet: macb: add support for gigabit MAC
Bo Shen [Wed, 24 Apr 2013 07:59:28 +0000 (15:59 +0800)]
net: macb: add support for gigabit MAC

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>
11 years agonet: macb: using phylib to configure phy device
Bo Shen [Wed, 24 Apr 2013 07:59:27 +0000 (15:59 +0800)]
net: macb: using phylib to configure phy device

using phylib to configure phy device in macb driver

Signed-off-by: Bo Shen <voice.shen@atmel.com>
11 years agonet: macb: using AT91FAMILY replace #ifdeferry
Bo Shen [Wed, 24 Apr 2013 07:59:26 +0000 (15:59 +0800)]
net: macb: using AT91FAMILY replace #ifdeferry

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>
11 years agoARM: at91sam9n12: add network support with ksz8851_16mll
Bo Shen [Wed, 24 Apr 2013 02:46:18 +0000 (10:46 +0800)]
ARM: at91sam9n12: add network support with ksz8851_16mll

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>
11 years agonet: ks8851_mll: add ethernet support
Roberto Cerati [Wed, 24 Apr 2013 02:46:17 +0000 (10:46 +0800)]
net: ks8851_mll: add ethernet support

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>
11 years agophylib: Add Atheros AR8035 GETH PHY support
Xie Xiaobo [Wed, 10 Apr 2013 08:23:39 +0000 (16:23 +0800)]
phylib: Add Atheros AR8035 GETH PHY support

Signed-off-by: Xie Xiaobo <X.Xie@freescale.com>
11 years agoadd support for Xilinx 1000BASE-X phy (GTX)
Charles Coldwell [Thu, 21 Feb 2013 13:25:52 +0000 (08:25 -0500)]
add support for Xilinx 1000BASE-X phy (GTX)

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>
11 years agonet: Correct check for link-local target IP conflict
Joe Hershberger [Fri, 8 Feb 2013 20:18:53 +0000 (14:18 -0600)]
net: Correct check for link-local target IP conflict

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>
11 years agoPHY: micrel.c: add support for KSZ9031
David Andrey [Wed, 6 Feb 2013 21:18:37 +0000 (22:18 +0100)]
PHY: micrel.c: add support for KSZ9031

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>
11 years agonet/tftp: sparse fixes
Kim Phillips [Thu, 17 Jan 2013 00:09:19 +0000 (18:09 -0600)]
net/tftp: sparse fixes

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>
11 years agonet: make IPaddr type big endian
Kim Phillips [Thu, 17 Jan 2013 00:09:11 +0000 (18:09 -0600)]
net: make IPaddr type big endian

for use with sparse.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
11 years agonet: Fix build regression in macb.c
Joe Hershberger [Tue, 25 Jun 2013 00:06:38 +0000 (19:06 -0500)]
net: Fix build regression in macb.c

The added weak symbol must not be static.

This was introduced in 416ce623fbad51af57660346ebb6f7befb88b3c9

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agonet/macb: Add arch specific routine to get mdio control
Shiraz Hashim [Thu, 13 Dec 2012 11:52:52 +0000 (17:22 +0530)]
net/macb: Add arch specific routine to get mdio control

SPEAr310 and SPEAr320 Ethernet interfaces share same MDIO lines to control their
respective phys. Currently there is a fixed configuration in which only a
particular MAC can use the MDIO lines.

Call an arch specific function to take control of specific mdio lines at
runtime.

Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Acked-by: Stefan Roese <sr@denx.de>
11 years agonet/designware: Do not select MIIPORT for RGMII interface
Vipin Kumar [Thu, 13 Dec 2012 11:52:51 +0000 (17:22 +0530)]
net/designware: Do not select MIIPORT for RGMII interface

Do not select MIIPORT for RGMII interface

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Acked-by: Stefan Roese <sr@denx.de>
11 years agonet: nfs: add dynamic wait period
Matthias Brugger [Tue, 11 Dec 2012 18:14:16 +0000 (19:14 +0100)]
net: nfs: add dynamic wait period

This patch tackles the time out problem which leads to break the
boot process, when loading file over nfs. The patch does two things.

First of all, we just ignore messages that arrive with a rpc_id smaller
then the client id. We just interpret this messages as answers to
formaly timed out messages.

Second, when a time out occurs we double the time to wait, so that we
do not stress the server resending the last message.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Tested-by: Enric Balletbo i Serra <eballetbo@gmail.com>
11 years agoNET: mvgbe: add support for Dove
Sebastian Hesselbarth [Tue, 4 Dec 2012 08:32:01 +0000 (09:32 +0100)]
NET: mvgbe: add support for Dove

Marvell Dove also uses mvgbe as ethernet driver, therefore add support
for Dove to reuse the current driver.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
11 years agoNET: mvgbe: add phylib support
Sebastian Hesselbarth [Tue, 4 Dec 2012 08:32:00 +0000 (09:32 +0100)]
NET: mvgbe: add phylib support

This add phylib support to the Marvell GBE driver.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
11 years agoNET: phy: add 88E1310 PHY initialization
Sebastian Hesselbarth [Tue, 4 Dec 2012 08:31:59 +0000 (09:31 +0100)]
NET: phy: add 88E1310 PHY initialization

This adds PHY initialization for Marvell Alaska 88E1310 PHY.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
11 years agopxe: add ipappend support
Rob Herring [Mon, 3 Dec 2012 03:00:29 +0000 (21:00 -0600)]
pxe: add ipappend support

Add ipappend support to pass network device information to the kernel.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agonet: Fix build regression in cmd_pxe.c
Joe Hershberger [Mon, 24 Jun 2013 22:21:04 +0000 (17:21 -0500)]
net: Fix build regression in cmd_pxe.c

Not all boards define an SOC.  As a result, we can't depend on that.

This was introduced in 39f985536d3f0df5dba32c15b64ba2b5d32dd296

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agopxe: add support for per arch and SoC default paths
Rob Herring [Mon, 3 Dec 2012 03:00:28 +0000 (21:00 -0600)]
pxe: add support for per arch and SoC default paths

A pxelinux server setup for "default" menu is typically an x86 binary.
This does not work well with a mixed architecture setup. Extend the default
search to look for default-<arch>-<soc> and then default-<arch> before
falling back to just "default".

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agopxe: add support for ontimeout token
Rob Herring [Mon, 3 Dec 2012 03:00:27 +0000 (21:00 -0600)]
pxe: add support for ontimeout token

ontimeout is similar to default, but is the selection on menu timeout.
This is how cobbler sets a default. The label default is supposed to be
the default selection when <enter> is pressed. If both default and
ontimeout are set, last one parsed wins.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agopxe: simplify menu display and selection
Rob Herring [Mon, 3 Dec 2012 03:00:26 +0000 (21:00 -0600)]
pxe: simplify menu display and selection

Menus with lots of entries and long append lines are hard to read.
Just show a numbered list using the label or name and make the choice
by entering the number.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agopxe: always display a menu when present
Rob Herring [Mon, 3 Dec 2012 03:00:25 +0000 (21:00 -0600)]
pxe: always display a menu when present

The prompt flag is for displaying a "boot:" prompt in pxelinux. This
doesn't make sense for u-boot as we don't support the pxelinux command
interface. So we should just ignore prompt statements and always show the
menu if a menu is present.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agopxe: try bootz if bootm fails to find a valid image
Rob Herring [Mon, 3 Dec 2012 19:17:21 +0000 (13:17 -0600)]
pxe: try bootz if bootm fails to find a valid image

Standard pxelinux servers will typically use a zImage rather than u-boot
image format, so fallback to bootz if bootm fails.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agobootz: un-staticize do_bootz
Rob Herring [Mon, 3 Dec 2012 03:00:23 +0000 (21:00 -0600)]
bootz: un-staticize do_bootz

Make do_bootz available for other functions like do_bootm is.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agopxe: fix handling of different localboot values
Rob Herring [Mon, 3 Dec 2012 03:00:22 +0000 (21:00 -0600)]
pxe: fix handling of different localboot values

Add support for value of -1 For localboot. A value of -1 means return to
u-boot prompt.

The localboot value is often 0, so we need to distinguish the value from
localboot being selected. A value of greater than or equal to 0 means
attempt local boot command.

If localboot is selected, we don't want to try other entries.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agopxe: make string parameters const
Rob Herring [Mon, 3 Dec 2012 03:00:21 +0000 (21:00 -0600)]
pxe: make string parameters const

Convert a bunch of string parameters to be const.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agopxe: Use ethact setting for pxe
Rob Herring [Mon, 3 Dec 2012 03:00:20 +0000 (21:00 -0600)]
pxe: Use ethact setting for pxe

Get the MAC address using eth_getenv_enetaddr_by_index so that the MAC
address of ethact is used. This enables using the a NIC other than the
first one for PXE boot.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>