karo-tx-uboot.git
7 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm into master
Stefano Babic [Fri, 4 Apr 2014 09:35:30 +0000 (11:35 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm into master

Conflicts:
arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg
arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg

Signed-off-by: Stefano Babic <sbabic@denx.de>
7 years agoRevert "arm: mxs: Add support for generating signed BootStream"
Stefano Babic [Fri, 4 Apr 2014 09:29:29 +0000 (11:29 +0200)]
Revert "arm: mxs: Add support for generating signed BootStream"

This reverts commit 53e6b14e037c9f72e6d03244c32d8d597e2e0234.

Patch does not merge anymore with u-boot-arm and must be rebased.

Signed-off-by: Stefano Babic <sbabic@denx.de>
7 years agoconfig:trats2: Change u-boot's TEXT_BASE from 0x78100000 to 0x43e00000
Łukasz Majewski [Wed, 19 Mar 2014 13:47:06 +0000 (14:47 +0100)]
config:trats2: Change u-boot's TEXT_BASE from 0x78100000 to 0x43e00000

The u-boot's image TEXT_BASE needs to be changed to 0x43e00000 from 0x78100000.

This change provides compatibility with other trats2 (RD_PQ) devices
(http://download.tizen.org/releases/system/).

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agomx6: add example DTB for mx6qsabreauto
Stefano Babic [Mon, 31 Mar 2014 07:50:36 +0000 (09:50 +0200)]
mx6: add example DTB for mx6qsabreauto

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Fabio Estevam <fabio.estevam@freescale.com>
7 years agoimx: add rules for U-Boot DTB support
Stefano Babic [Mon, 31 Mar 2014 07:50:35 +0000 (09:50 +0200)]
imx: add rules for U-Boot DTB support

Signed-off-by: Stefano Babic <sbabic@denx.de>
7 years agomxs: fix warning in SPL with console support
Stefano Babic [Wed, 2 Apr 2014 08:42:06 +0000 (10:42 +0200)]
mxs: fix warning in SPL with console support

Signed-off-by: Stefano Babic <sbabic@denx.de>
7 years agoMerge branch 'u-boot-ti/master' into 'u-boot-arm/master'
Albert ARIBAUD [Wed, 2 Apr 2014 04:43:09 +0000 (06:43 +0200)]
Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'

7 years agoarm: mxs: Add serial console support into SPL
Marek Vasut [Wed, 19 Mar 2014 01:21:36 +0000 (02:21 +0100)]
arm: mxs: Add serial console support into SPL

Add support for serial console into the i.MX23/i.MX28 SPL. A full,
uncrippled serial console support comes very helpful when debugging
various spectacular hardware bringup issues early in the process.
Because we do not use SPL framework, but have our own minimalistic
SPL, which is compatible with the i.MX23/i.MX28 BootROM, we do not
use preloader_console_init(), but instead use a similar function to
start the console. Nonetheless, to avoid blowing up the size of the
SPL binary, this support is enabled only if CONFIG_SPL_SERIAL_SUPPORT
is defined, which is disabled by default.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
7 years agoarm: mxs: Properly set GD pointer in SPL
Marek Vasut [Wed, 19 Mar 2014 01:21:35 +0000 (02:21 +0100)]
arm: mxs: Properly set GD pointer in SPL

Set the GD pointer in the SPL to a defined symbol so various
functions from U-Boot can be used without adverse side effects.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
7 years agoarm: mx5: Avoid hardcoding memory sizes on M53EVK
Marek Vasut [Fri, 28 Mar 2014 07:31:01 +0000 (08:31 +0100)]
arm: mx5: Avoid hardcoding memory sizes on M53EVK

The DRAM size can be easily detected at runtime on i.MX53. Implement
such detection on M53EVK and adjust the rest of the macros accordingly
to use the detected values.

An important thing to note here is that we had to override the function
for trimming the effective DRAM address, get_effective_memsize(). That
is because the function uses CONFIG_MAX_MEM_MAPPED as the upper bound of
the available DRAM and we don't have gd->bd->bi_dram[0].size set up at
the time the function is called, thus we cannot put this into the macro
CONFIG_MAX_MEM_MAPPED . Instead, we use custom override where we use the
size of the first DRAM block which we just detected.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
7 years agoarm: mx5: Fix memory slowness on M53EVK
Marek Vasut [Fri, 28 Mar 2014 07:31:00 +0000 (08:31 +0100)]
arm: mx5: Fix memory slowness on M53EVK

Fix memory access slowness on i.MX53 M53EVK board. Let us inspect the
issue: First of all, the i.MX53 CPU has two memory banks mapped at
0x7000_0000 and 0xb000_0000 and each of those can hold up to 1GiB of
DRAM memory. Notice that the memory area is not continuous. On M53EVK,
each of the banks contain 512MiB of DRAM, which makes a total of 1GiB
of memory available to the system.

The problem is how the relocation of U-Boot is treated on i.MX53 . The
U-Boot is placed at the ((start of first DRAM partition) + (gd->ram_size)) .
This in turn poses a problem, since in our case, the gd->ram_size is 1GiB,
the first DRAM bank starts at 0x7000_0000 and contains 512MiB of memory.
Thus, with this algorithm, U-Boot is placed at offset:

    0x7000_0000 + 1GiB - sizeof(u-boot and some small margin)

This is past the DRAM available in the first bank on M53EVK, but is still
within the address range of the first DRAM bank. Because of the memory
wrap-around, the data can still be read and written to this area, but the
access is much slower.

There were two ideas how to solve this problem, first was to map both of
the available DRAM chunks next to one another by using MMU, second was to
define CONFIG_VERY_BIG_RAM and CONFIG_MAX_MEM_MAPPED to size of the memory
in the first DRAM bank. We choose the later because it turns out the former
is not applicable afterall. The former cannot be used in case Linux kernel
was loaded into the second DRAM bank area, which would be remapped and one
would try booting the kernel, since at some point before the kernel is started,
the MMU would be turned off, which would destroy the mapping and hang the
system.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
7 years agoarm: mx5: Avoid hardcoding memory sizes on MX53QSB
Marek Vasut [Fri, 28 Mar 2014 07:30:59 +0000 (08:30 +0100)]
arm: mx5: Avoid hardcoding memory sizes on MX53QSB

The DRAM size can be easily detected at runtime on i.MX53. Implement
such detection on MX53QSB and adjust the rest of the macros accordingly
to use the detected values.

An important thing to note here is that we had to override the function
for trimming the effective DRAM address, get_effective_memsize(). That
is because the function uses CONFIG_MAX_MEM_MAPPED as the upper bound of
the available DRAM and we don't have gd->bd->bi_dram[0].size set up at
the time the function is called, thus we cannot put this into the macro
CONFIG_MAX_MEM_MAPPED . Instead, we use custom override where we use the
size of the first DRAM block which we just detected.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
7 years agoarm: mx5: Fix memory slowness on MX53QSB
Marek Vasut [Fri, 28 Mar 2014 07:30:58 +0000 (08:30 +0100)]
arm: mx5: Fix memory slowness on MX53QSB

Fix memory access slowness on i.MX53 MX53QSB board. Let us inspect the
issue: First of all, the i.MX53 CPU has two memory banks mapped at
0x7000_0000 and 0xb000_0000 and each of those can hold up to 1GiB of
DRAM memory. Notice that the memory area is not continuous. On MX53QSB,
each of the banks contain 512MiB of DRAM, which makes a total of 1GiB
of memory available to the system.

The problem is how the relocation of U-Boot is treated on i.MX53 . The
U-Boot is placed at the ((start of first DRAM partition) + (gd->ram_size)) .
This in turn poses a problem, since in our case, the gd->ram_size is 1GiB,
the first DRAM bank starts at 0x7000_0000 and contains 512MiB of memory.
Thus, with this algorithm, U-Boot is placed at offset:

    0x7000_0000 + 1GiB - sizeof(u-boot and some small margin)

This is past the DRAM available in the first bank on MX53QSB, but is still
within the address range of the first DRAM bank. Because of the memory
wrap-around, the data can still be read and written to this area, but the
access is much slower.

There were two ideas how to solve this problem, first was to map both of
the available DRAM chunks next to one another by using MMU, second was to
define CONFIG_VERY_BIG_RAM and CONFIG_MAX_MEM_MAPPED to size of the memory
in the first DRAM bank. We choose the later because it turns out the former
is not applicable afterall. The former cannot be used in case Linux kernel
was loaded into the second DRAM bank area, which would be remapped and one
would try booting the kernel, since at some point before the kernel is started,
the MMU would be turned off, which would destroy the mapping and hang the
system.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
7 years agoARM: mx6: Add PCIe on SabreSDP
Marek Vasut [Sun, 23 Mar 2014 21:45:41 +0000 (22:45 +0100)]
ARM: mx6: Add PCIe on SabreSDP

Add support for PCIe on MX6 SabreSDP board and enable the support
in the config file.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Liu Ying <Ying.Liu@freescale.com>
7 years agopci: mx6: Implement power callback
Marek Vasut [Sun, 23 Mar 2014 21:45:40 +0000 (22:45 +0100)]
pci: mx6: Implement power callback

Implement a callback to toggle the slot power supply. The callback
can be overriden in case some more complex power supply for the slot
was implemented in hardware, yet for the usual case, one can define
a GPIO which toggles the power to the slot.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Liu Ying <Ying.Liu@freescale.com>
7 years agoARM: mx6: Disable PCIe on SABRE Lite/Nitrogen6x
Eric Nelson [Sat, 22 Mar 2014 15:17:09 +0000 (08:17 -0700)]
ARM: mx6: Disable PCIe on SABRE Lite/Nitrogen6x

Use of PCIe on SABRE Lite and Nitrogen6x boards
is atypical and requires the use of custom daughter
boards.

Use in U-Boot is even rarer, so this patch removes it from
the standard configuration.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Acked-by: Marek Vasut <marex@denx.de>
7 years agowoodburn_sd: Remove CONFIG_BOOT_INTERNAL
Fabio Estevam [Sun, 16 Mar 2014 21:20:09 +0000 (18:20 -0300)]
woodburn_sd: Remove CONFIG_BOOT_INTERNAL

CONFIG_BOOT_INTERNAL is not used anywhere, so let's remove it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
7 years agoARM: mxs: Add OCOTP driver
Marek Vasut [Thu, 6 Mar 2014 00:52:03 +0000 (01:52 +0100)]
ARM: mxs: Add OCOTP driver

Add yet another OCOTP driver for this i.MX family. This time, it's a driver for
the OCOTP variant found in the i.MX23 and i.MX28. This version of OCOTP is too
different from the i.MX6 one that I could not use the mxc_ocotp.c driver without
making it into a big pile of #ifdef . This driver implements the regular fuse
command interface, but due to the IP blocks' limitation, we support only READ
and PROG functions.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
7 years agoarm: mxs: Add support for generating signed BootStream
Marek Vasut [Wed, 5 Mar 2014 19:01:14 +0000 (20:01 +0100)]
arm: mxs: Add support for generating signed BootStream

This patch adds the groundwork for generating signed BootStream, which
can be used by the HAB library in i.MX28. We are adding a new target,
u-boot-signed.sb , since the process for generating regular non-signed
BootStream is much easier. Moreover, the signed bootstream depends on
external _proprietary_ _binary-only_ tool from Freescale called 'cst',
which is available only under NDA.

To make things even uglier, the CST or HAB mandates a kind-of circular
dependency. The problem is, unlike the regular IVT, which is generated
by mxsimage, the IVT for signed boot must be generated by hand here due
to special demands of the CST. The U-Boot binary (or SPL binary) and IVT
are then signed by the CST as a one block. But here is the problem. The
size of the entire image (U-Boot, IVT, CST blocks) must be appended at
the end of IVT. But the size of the entire image is not known until the
CST has finished signing the U-Boot and IVT. We solve this by expecting
the CST block to be always 3904B (which it is in case two files, U-Boot
and the hand-made IVT, are signed in the CST block).

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
7 years agoarm: mxs: Adjust the load address of U-Boot and SPL for HAB
Marek Vasut [Wed, 5 Mar 2014 19:01:13 +0000 (20:01 +0100)]
arm: mxs: Adjust the load address of U-Boot and SPL for HAB

When using HAB, there are additional special requirements on the placement of
U-Boot and the U-Boot SPL in memory. To fullfill these, this patch moves the
U-Boot binary a little further from the begining of the DRAM, so the HAB CST
and IVT can be placed in front of the U-Boot binary. This is necessary, since
both the U-Boot and the IVT must be contained in single CST signature. To
make things worse, the IVT must be concatenated with one more entry at it's
end, that is the length of the entire CST signature, IVT and U-Boot binary
in memory. By placing the blocks in this order -- CST, IVT, U-Boot, we can
easily align them all and then produce the length field as needed.

As for the SPL, on i.MX23/i.MX28, the SPL size is limited to 32 KiB, thus
we place the IVT at 0x8000 offset, CST right past IVT and claim the size
is correct. The HAB library accepts this setup.

Finally, to make sure the vectoring in SPL still works even after moving
the SPL from 0x0 to 0x1000, we add a small function which copies the
vectoring code and tables to 0x0. This is fine, since the vectoring code
is position independent.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
7 years agoboard: enable 32kHz RTC OSC at B&R boards
Hannes Petermaier [Thu, 27 Mar 2014 09:37:36 +0000 (10:37 +0100)]
board: enable 32kHz RTC OSC at B&R boards

Since RTC-Clock is needed on all B&R boards, the OSC will be enabled
wihtin SPL-stage.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
7 years agoARM: tegra: make all I2C ports open-drain
Stephen Warren [Wed, 12 Mar 2014 19:10:44 +0000 (13:10 -0600)]
ARM: tegra: make all I2C ports open-drain

I2C protocol requires open-drain IOs. Fix the Dalmore and Venice2 pinmux
tables to configure the IOs correctly. Without this, Tegra may actively
drive the lines high while an external device is actively driving the
lines low, which can only lead to bad things.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
7 years agoMerge branch 'u-boot/master' into 'u-boot-arm/master'
Albert ARIBAUD [Tue, 25 Mar 2014 09:25:14 +0000 (10:25 +0100)]
Merge branch 'u-boot/master' into 'u-boot-arm/master'

Trivial merge conflict, needed to manually remove
local_info as per commit 41364f0f.

Conflicts:
board/samsung/common/board.c

7 years agosandbox: config: Enable cros_ec emulation and related items
Simon Glass [Thu, 27 Feb 2014 20:26:25 +0000 (13:26 -0700)]
sandbox: config: Enable cros_ec emulation and related items

Enable the Chrome OS EC emulation for sandbox along with LCD, sound
expanded GPIOs and a few other options to make this work correctly.

Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Add implementation of spi_setup_slave_fdt()
Simon Glass [Thu, 27 Feb 2014 20:26:24 +0000 (13:26 -0700)]
sandbox: Add implementation of spi_setup_slave_fdt()

This function is needed when CONFIG_OF_SPI is defined.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Add options to clean up temporary files
Simon Glass [Thu, 27 Feb 2014 20:26:23 +0000 (13:26 -0700)]
sandbox: Add options to clean up temporary files

When jumping from one sandbox U-Boot to another in sandbox, the RAM buffer
is preserved in the jump by using a temporary file. Add an option to tell
the receiving U-Boot to remove this file when it is no longer needed.

Similarly the old U-Boot image is left behind in this case. We cannot delete
it immediately since gdb cannot then find its debug symbols. Delete it just
before exiting.

Together these changes ensure that temporary files are removed both for
memory and U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Allow Ctrl-C to work in sandbox
Simon Glass [Thu, 27 Feb 2014 20:26:22 +0000 (13:26 -0700)]
sandbox: Allow Ctrl-C to work in sandbox

It is useful for Cltl-C to be handled by U-Boot as it is on other boards.
But it is also useful to be able to terminate U-Boot with Ctrl-C.

Add an option to enable signals while in raw mode, and make this the
default. Add an option to leave the terminal cooked, which is useful for
redirecting output.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Deal with conflicting getenv() for SDL
Simon Glass [Thu, 27 Feb 2014 20:26:21 +0000 (13:26 -0700)]
sandbox: Deal with conflicting getenv() for SDL

Unfortunately SDL requires getenv() to operate, since it wants to figure out
the display type. U-Boot has its own getenv() and they conflict. As a
work-around use #define to resolve the conflict.

A better but more complex solution might be to rename some U-Boot symbols
at link time. SDL audio is not functional at present, likely due to a related
issue.

Note: Vic Yank wrote a script for this, filed in crbug.com/271125.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosound: Move Samsung-specific code into its own file
Simon Glass [Thu, 27 Feb 2014 20:26:20 +0000 (13:26 -0700)]
sound: Move Samsung-specific code into its own file

The i2s code is in fact Samsung-specific, but there might be other
implementation. Move this code into its own file. This makes it slightly
more obviously how to adjust the code to support another SoC, when someone
takes this task on.

Also drop non-FDT support, since it isn't used on Exynos 5.

Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Add LCD driver
Simon Glass [Thu, 27 Feb 2014 20:26:19 +0000 (13:26 -0700)]
sandbox: Add LCD driver

Add a simple LCD driver which uses SDL to display the image. We update the
image regularly, while still providing for reasonable performance.

Adjust the common lcd code to support sandbox.

For command-line runs we do not want the LCD to be displayed, so add a
--show_lcd option to enable it.

Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Add a simple sound driver
Simon Glass [Thu, 27 Feb 2014 20:26:18 +0000 (13:26 -0700)]
sandbox: Add a simple sound driver

Add a sound driver for sandbox, which uses SDL.

Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Add SDL library for LCD, keyboard, audio
Simon Glass [Thu, 27 Feb 2014 20:26:17 +0000 (13:26 -0700)]
sandbox: Add SDL library for LCD, keyboard, audio

SDL (Simple DirectMedia Layer - see www.libsdl.org) is a library which
provides simple graphics and sound features. It works under X11 and also
with a simple frame buffer interface. It is ideally suited to sandbox
U-Boot since it fits nicely with the low-level feature set required by
U-Boot. For example, U-Boot has its own font drawing routines, its own
keyboard processing and just needs raw sound output.

We can use SDL to provide emulation of these basic functions for sandbox.
This significantly expands the testing that is possible with sandbox.

Add a basic SDL library which we will use in future commits.

Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Add -j option to indicate a jump from a previous U-Boot
Simon Glass [Thu, 27 Feb 2014 20:26:16 +0000 (13:26 -0700)]
sandbox: Add -j option to indicate a jump from a previous U-Boot

In order to support the 'go' command we allow the jumping U-Boot to pass its
filename to the new U-Boot image. This can then be used to delete that image
if required.

Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Add os_jump_to_image() to run another executable
Simon Glass [Thu, 27 Feb 2014 20:26:15 +0000 (13:26 -0700)]
sandbox: Add os_jump_to_image() to run another executable

For some tests it is useful to be able to run U-Boot again but pass on the
same memory contents. Add a function to achieve this.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Implement I2C pass-through
Simon Glass [Thu, 27 Feb 2014 20:26:14 +0000 (13:26 -0700)]
cros_ec: Implement I2C pass-through

The Chrome EC has a feature where you can access its I2C buses through a
pass-through arrangement. Add a command to support this, and export the
function for it also.

Reviewed-by: Vadim Bendebury <vbendeb@google.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Plumb in Chrome OS EC emulation
Simon Glass [Thu, 27 Feb 2014 20:26:13 +0000 (13:26 -0700)]
sandbox: Plumb in Chrome OS EC emulation

Add board code to set up the Chrome OS EC on startup.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: sandbox: Add Chrome OS EC emulation
Simon Glass [Thu, 27 Feb 2014 20:26:12 +0000 (13:26 -0700)]
cros_ec: sandbox: Add Chrome OS EC emulation

Add a simple emulation of the Chrome OS EC for sandbox, so that it can
perform various EC tasks such as keyboard handling.

Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Correct comparison between signed and unsigned numbers
Simon Glass [Thu, 27 Feb 2014 20:26:11 +0000 (13:26 -0700)]
cros_ec: Correct comparison between signed and unsigned numbers

Due to signed/unsigned comparison, '< sizeof(struct)' does not do the right
thing, since if ec_command() returns a -ve number we will consider this be
success.

Adjust all comparisons to avoid this problem.

This error was found with sandbox, which gives a segfault in this case. On
ARM we may instead silently fail.

We should also consider turning on -Wsign-compare to catch this sort of thing
in future.

Reviewed-by: Andrew Chew <achew@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Tested-by: Andrew Chew <achew@nvidia.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com>
7 years agocros_ec: spi: Add support for EC protocol version 3
Randall Spangler [Thu, 27 Feb 2014 20:26:10 +0000 (13:26 -0700)]
cros_ec: spi: Add support for EC protocol version 3

Protocol version 3 will be attempted first; if the EC doesn't support
it, u-boot will fall back to the old protocol version (2).

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Add base support for protocol v3
Simon Glass [Thu, 27 Feb 2014 20:26:09 +0000 (13:26 -0700)]
cros_ec: Add base support for protocol v3

Protocol v2 was shipped with snow, link and spring. Protocol v3 is for
pit and is targetted at SPI operation.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Clean up multiple EC protocol support
Randall Spangler [Thu, 27 Feb 2014 20:26:08 +0000 (13:26 -0700)]
cros_ec: Clean up multiple EC protocol support

Version 1 protocols (without command version) were already no longer
supported in cros_ec.c.  This removes some dead code from the
cros_ec_i2c driver.

Version 2 protcols (with command version) are now called
protocol_version=2, instead of cmd_version_is_supported=1.

A subsequent change will introduce protocol version 3 for SPI.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Sync up with latest Chrome OS EC version
Simon Glass [Thu, 27 Feb 2014 20:26:07 +0000 (13:26 -0700)]
cros_ec: Sync up with latest Chrome OS EC version

The EC messages have been expanded and some parts have been renamed.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Move #ifdef to permit flash region access
Simon Glass [Thu, 27 Feb 2014 20:26:06 +0000 (13:26 -0700)]
cros_ec: Move #ifdef to permit flash region access

Flash region access is not tied to having commands, so adjust the #ifdef
to reflect this.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Support systems with no EC interrupt
Simon Glass [Thu, 27 Feb 2014 20:26:05 +0000 (13:26 -0700)]
cros_ec: Support systems with no EC interrupt

Some systems do not have an EC interrupt. Rather than assuming that the
interrupt is always present, and hanging forever waiting for more input,
handle the missing interrupt. This works by reading key scans only until
we get an identical one. This means the EC keyscan FIFO is empty.

Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Drop old EC version support from EC driver
Vadim Bendebury [Thu, 27 Feb 2014 20:26:04 +0000 (13:26 -0700)]
cros_ec: Drop old EC version support from EC driver

There is no need to support old style EC moving forward. Ultimately we
should get rid of the check_version() API. For now just return error
in case the EC does not seem to support the new API.

Reviewed-by: Vadim Bendebury <vbendeb@google.com>
Tested-by: Vadim Bendebury <vbendeb@google.com>
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Add a function for decoding the Chrome OS EC flashmap
Simon Glass [Thu, 27 Feb 2014 20:26:03 +0000 (13:26 -0700)]
cros_ec: Add a function for decoding the Chrome OS EC flashmap

In order to talk to the EC properly we need to be able to understand the
layout of its internal flash memory. This permits emulation of the EC
for sandbox, and also software update in a system with a real EC.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Move EC interface into common library
Vadim Bendebury [Thu, 27 Feb 2014 20:26:02 +0000 (13:26 -0700)]
cros_ec: Move EC interface into common library

Add a common library for obtaining access to the Chrome OS EC. This is
used by boards which need to talk to the EC.

Reviewed-by: Vadim Bendebury <vbendeb@google.com>
Tested-by: Vadim Bendebury <vbendeb@google.com>
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Add a function for reading a flash map entry
Simon Glass [Thu, 27 Feb 2014 20:26:01 +0000 (13:26 -0700)]
cros_ec: Add a function for reading a flash map entry

A flash map describes the layout of flash memory in terms of offsets and
sizes for each region. Add a function to read a flash map entry from the
device tree.

Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agocros_ec: Add an enum for the number of flash regions
Simon Glass [Thu, 27 Feb 2014 20:26:00 +0000 (13:26 -0700)]
cros_ec: Add an enum for the number of flash regions

Add an enum for the number of flash regions so we can keep track of all
the possible regions.

Reviewed-by: Randall Spangler <rspangler@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: dts: Add display and keyboard to sandbox
Simon Glass [Thu, 27 Feb 2014 20:25:59 +0000 (13:25 -0700)]
sandbox: dts: Add display and keyboard to sandbox

Add an LCD display and keyboard to the sandbox device tree so that these
features can be used.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Use os functions to read host device tree
Simon Glass [Thu, 27 Feb 2014 20:25:58 +0000 (13:25 -0700)]
sandbox: Use os functions to read host device tree

At present we use U-Boot's filesystem layer to read the sandbox device tree,
but this is problematic since it relies on a temporary feauture added
there. Since we plan to implement proper block layer support for sandbox,
change this code to use the os layer functions instead. Also use the new
fdt_create_empty_tree() instead of our own code.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Increase memory size to 32MB
Simon Glass [Thu, 27 Feb 2014 20:25:56 +0000 (13:25 -0700)]
sandbox: Increase memory size to 32MB

The current 4MB size is a little small for some tests, so increase it.

Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoUse a const pointer for map_to_sysmem()
Simon Glass [Thu, 27 Feb 2014 20:25:55 +0000 (13:25 -0700)]
Use a const pointer for map_to_sysmem()

This function does not actually change the pointer contents, so use const
so that functions which have a const pointer do not need to cast.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agomtd: spi: Fix page size for S25FL032P,S25FL064P
Marek Vasut [Fri, 21 Feb 2014 17:13:26 +0000 (18:13 +0100)]
mtd: spi: Fix page size for S25FL032P,S25FL064P

The commit 6af8dc3ebccb3b1e4b2e479315e49545e7f53150 broke support for
S25FL032P and S25FL064P by carelessly removing the code handling special
page size for these two SPI NOR flashes and unifying the code under the
assumption that Extended JEDEC ID of 0x4d00 always implies 512b page size.

Add special case handling for these two SPI NOR flashes.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
7 years agospi: atmel_dataflash: Simplify AT91F_SpiEnable implementation
Axel Lin [Fri, 21 Feb 2014 00:55:47 +0000 (08:55 +0800)]
spi: atmel_dataflash: Simplify AT91F_SpiEnable implementation

Refactor the code a bit to make it better in readability.
Remove the comments because now the intention of the code is pretty clear.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
7 years agosf: ops: Squash the malloc+memset combo
Jagannadha Sutradharudu Teki [Tue, 4 Feb 2014 16:06:13 +0000 (21:36 +0530)]
sf: ops: Squash the malloc+memset combo

Squash the malloc()+memset() combo in favor of calloc().

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Acked-by: Marek Vasut <marex@denx.de>
7 years agosf: Squash the malloc+memset combo
Marek Vasut [Wed, 15 Jan 2014 14:17:54 +0000 (15:17 +0100)]
sf: Squash the malloc+memset combo

Squash the malloc()+memset() combo in favor of calloc().

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
7 years agosf: Add S25FL128S_256K IDs
Marek Vasut [Wed, 15 Jan 2014 14:32:09 +0000 (15:32 +0100)]
sf: Add S25FL128S_256K IDs

Add IDs for this new chip.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
7 years agosf: Fix entries for S25FL256S_256K and S25FL512S_256K
Marek Vasut [Wed, 15 Jan 2014 14:29:43 +0000 (15:29 +0100)]
sf: Fix entries for S25FL256S_256K and S25FL512S_256K

Both of these chips have 256kB big sectors, thus the _256K suffix,
compared to their _64K counterparts, which have 64kB sectors. Also,
they have four times less sectors than their _64K counterparts.

Signed-off-by: Marek Vasut <marex@denx.de>
Tested-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
7 years agosh: ecovec: correct romImage address in comment
Baruch Siach [Mon, 10 Mar 2014 13:09:34 +0000 (15:09 +0200)]
sh: ecovec: correct romImage address in comment

romImage is set by CONFIG_ECOVEC_ROMIMAGE_ADDR to 0xA0040000.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agosh: fix PFC registers definition for SH772{2, 3, 4}
Baruch Siach [Mon, 10 Mar 2014 13:05:33 +0000 (15:05 +0200)]
sh: fix PFC registers definition for SH772{2, 3, 4}

Add missing port X data register, and fix the offset of ports Y and Z.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoMerge branch 'u-boot-samsung/master' into 'u-boot-arm/master'
Albert ARIBAUD [Thu, 13 Mar 2014 17:32:26 +0000 (18:32 +0100)]
Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'

7 years agoMerge branch 'u-boot-imx/master' into 'u-boot-arm/master'
Albert ARIBAUD [Thu, 13 Mar 2014 16:43:35 +0000 (17:43 +0100)]
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'

7 years agousb: dfu: add static alt num count in dfu_config_entities()
Przemyslaw Marczak [Fri, 28 Feb 2014 17:53:37 +0000 (18:53 +0100)]
usb: dfu: add static alt num count in dfu_config_entities()

Thanks to this multiple call of function dfu_config_entities()
gives continuous dfu alt numbering until call dfu_free_entities().

This allows to store dfu entities in multiple variables.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Łukasz Majewski <l.majewski@samsung.com>
Tested-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agoTrats/Trats2: Update Tizen partitions layout and dfu entities
Przemyslaw Marczak [Fri, 28 Feb 2014 17:53:36 +0000 (18:53 +0100)]
Trats/Trats2: Update Tizen partitions layout and dfu entities

Changes:
- update partitions layout
- update dfu entities
to be consistent with Tizen images for trats/trats2

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Łukasz Majewski <l.majewski@samsung.com>
cc: Piotr Wilczek <p.wilczek@samsung.com>
cc: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agoarm: exynos: Squash bogus warnings in pinmux
Marek Vasut [Mon, 10 Mar 2014 19:04:31 +0000 (20:04 +0100)]
arm: exynos: Squash bogus warnings in pinmux

Squash these warnings in pinmux.c found with GCC 4.8:

/arch/arm/cpu/armv7/exynos/pinmux.c: In function 'exynos_pinmux_config':
/arch/arm/cpu/armv7/exynos/pinmux.c:687:28: warning: 'count' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for (i = start; i < start + count; i++) {
                            ^
/arch/arm/cpu/armv7/exynos/pinmux.c:663:16: note: 'count' was declared here
  int i, start, count;
                ^
/arch/arm/cpu/armv7/exynos/pinmux.c:687:28: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for (i = start; i < start + count; i++) {
                            ^
/arch/arm/cpu/armv7/exynos/pinmux.c:663:9: note: 'start' was declared here
  int i, start, count;
         ^
/arch/arm/cpu/armv7/exynos/pinmux.c:689:19: warning: 'bank' may be used uninitialized in this function [-Wmaybe-uninitialized]
   s5p_gpio_cfg_pin(bank, i, GPIO_FUNC(0x2));
                   ^
/arch/arm/cpu/armv7/exynos/pinmux.c:662:24: note: 'bank' was declared here
  struct s5p_gpio_bank *bank;
                        ^
/arch/arm/cpu/armv7/exynos/pinmux.c: In function 'exynos_pinmux_config':
/arch/arm/cpu/armv7/exynos/pinmux.c:687:28: warning: 'count' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for (i = start; i < start + count; i++) {
                            ^
/arch/arm/cpu/armv7/exynos/pinmux.c:663:16: note: 'count' was declared here
  int i, start, count;
                ^
/arch/arm/cpu/armv7/exynos/pinmux.c:687:28: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for (i = start; i < start + count; i++) {
                            ^
/arch/arm/cpu/armv7/exynos/pinmux.c:663:9: note: 'start' was declared here
  int i, start, count;
         ^
/arch/arm/cpu/armv7/exynos/pinmux.c:689:19: warning: 'bank' may be used uninitialized in this function [-Wmaybe-uninitialized]
   s5p_gpio_cfg_pin(bank, i, GPIO_FUNC(0x2));
                   ^
/arch/arm/cpu/armv7/exynos/pinmux.c:662:24: note: 'bank' was declared here
  struct s5p_gpio_bank *bank;
                        ^

Note that the warning is bogus, the function can never be called with invalid
'peripheral' argument. GCC just cannot analyze this.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Cc: Akshay Saraswat <akshay.s@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agokbuild: delete *.pyc files by "make distclean"
Masahiro Yamada [Wed, 12 Mar 2014 11:36:45 +0000 (20:36 +0900)]
kbuild: delete *.pyc files by "make distclean"

The tools "buildman" and "patman" are written in Python.
When we run them, "*.pyc" files are created under
tools/buildman, tools/patman directories.

They should be cleaned up by "make distclean".

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Tom Rini <trini@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
7 years agokbuild: delete SPLTREE and TPLTREE
Masahiro Yamada [Tue, 11 Mar 2014 02:05:22 +0000 (11:05 +0900)]
kbuild: delete SPLTREE and TPLTREE

These variable are no longer used.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
7 years agokbuild: rename OBJTREE to objtree
Masahiro Yamada [Tue, 11 Mar 2014 02:05:21 +0000 (11:05 +0900)]
kbuild: rename OBJTREE to objtree

Prior to Kbuild, $(OBJTREE) was used for pointing to the
top of build directory with absolute path.

In Kbuild style, $(objtree) is used instead.
This commit renames OBJTREE to objtree and delete the
defition of OBJTREE.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
7 years agokbuild: rename SRCTREE to srctree
Masahiro Yamada [Tue, 11 Mar 2014 02:05:20 +0000 (11:05 +0900)]
kbuild: rename SRCTREE to srctree

Prior to Kbuild, $(TOPDIR) or $(SRCTREE) was used for
pointing to the top of source directory.
(No difference between the two.)

In Kbuild style, $(srctree) is used for instead.
This commit renames SRCTREE to srctree and deletes the
defition of SRCTREE.

Note that SRCTREE in scripts/kernel-doc, scripts/docproc.c,
doc/DocBook/Makefile should be keep.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
7 years agokbuild: rename TOPDIR to stctree
Masahiro Yamada [Tue, 11 Mar 2014 02:05:19 +0000 (11:05 +0900)]
kbuild: rename TOPDIR to stctree

Prior to Kbuild, $(TOPDIR) or $(SRCTREE) was used for
pointing to the top of source directory.
(No difference between the two.)

In Kbuild style, $(srctree) is used instead.
This commit renames TOPDIR to srctree and delete the
defition of TOPDIR.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
7 years agokbuild: use $(KBUILD_SRC) to check out-of-tree build
Masahiro Yamada [Tue, 11 Mar 2014 02:05:18 +0000 (11:05 +0900)]
kbuild: use $(KBUILD_SRC) to check out-of-tree build

Non-empty $(KBUILD_SRC) means out-of-tree build.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
7 years agokirkwood: kwbimage: refactor CONFIG_SYS_KWD_CONFIG
Masahiro Yamada [Tue, 11 Mar 2014 02:05:17 +0000 (11:05 +0900)]
kirkwood: kwbimage: refactor CONFIG_SYS_KWD_CONFIG

Pull out "$(SRCTREE)/" from CONFIG_SYS_KWD_CONFIG
and push it into the top Makefile.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Michael Walle <michael@walle.cc>
Cc: Simon Guinot <simon.guinot@sequanux.org>
Cc: Dave Purdy <david.c.purdy@gmail.com>
Cc: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Cc: Luka Perkov <luka@openwrt.org>
Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
Cc: Jason Cooper <u-boot@lakedaemon.net>
Cc: Siddarth Gore <gores@marvell.com>
Cc: Prafulla Wadaskar <prafulla@marvell.com>
Cc: Eric Cooper <ecc@cmu.edu>
Cc: Suriyan Ramasami <suriyan.r@gmail.com>
7 years agofreescale: pblimage: refactor CONFIG_SYS_FSL_PBL_{PBI, RCW}
Masahiro Yamada [Tue, 11 Mar 2014 02:05:16 +0000 (11:05 +0900)]
freescale: pblimage: refactor CONFIG_SYS_FSL_PBL_{PBI, RCW}

Pull out "$(SRCTREE)/" from CONFIG_SYS_FSL_PBL_PBI
and CONFIG_SYS_FSL_PBL_RCW and push it into the top Makefile.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: York Sun <yorksun@freescale.com>
Cc: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
7 years agokbuild: delete redundant LDSCRIPT definition
Masahiro Yamada [Tue, 11 Mar 2014 02:05:15 +0000 (11:05 +0900)]
kbuild: delete redundant LDSCRIPT definition

$(SRCTREE)/$(CPUDIR)/u-boot.lds is our default location
of arch-specific linker script.

Remove redundant definitions in
arch/{arc,microblaze,openrisc}/config.mk.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Acked-by: Michal Simek <monstr@monstr.eu>
7 years agox86: specify CONFIG_USE_PRIVATE_LIBGCC more simply
Masahiro Yamada [Tue, 11 Mar 2014 02:05:14 +0000 (11:05 +0900)]
x86: specify CONFIG_USE_PRIVATE_LIBGCC more simply

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
7 years agokbuild, x86: use a short log for arch/x86/lib/libgcc.a
Masahiro Yamada [Tue, 11 Mar 2014 02:05:13 +0000 (11:05 +0900)]
kbuild, x86: use a short log for arch/x86/lib/libgcc.a

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
7 years agokbuild: use short logs for some board specific make rules
Masahiro Yamada [Tue, 11 Mar 2014 02:05:12 +0000 (11:05 +0900)]
kbuild: use short logs for some board specific make rules

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: David Updegraff <dave@cray.com>
Cc: Andre Schwarz <andre.schwarz@matrix-vision.de>
7 years agokbuild,mxs: use short logs for MXS images
Masahiro Yamada [Tue, 11 Mar 2014 02:05:11 +0000 (11:05 +0900)]
kbuild,mxs: use short logs for MXS images

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Acked-by: Marek Vasut <marex@denx.de>
7 years agousb: net: update README.usb to list all USB ethernet options
Gerhard Sittig [Sat, 8 Mar 2014 18:46:18 +0000 (19:46 +0100)]
usb: net: update README.usb to list all USB ethernet options

- extend the discussion of USB network related config options such that
  all available adapter drivers are listed, and that the 'usb' command
  for the interactive prompt and scripting becomes available
- suggest to *not* put individual IP configuration parameters into the
  exectuable, but instead to put them into external environment or fetch
  them from network

Signed-off-by: Gerhard Sittig <gsi@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Marek Vasut <marex@denx.de>
7 years agoat91: enable USB ethernet for taskit stamp9g20
Gerhard Sittig [Sat, 8 Mar 2014 18:46:17 +0000 (19:46 +0100)]
at91: enable USB ethernet for taskit stamp9g20

enabling CONFIG_MACB makes other locations in the stamp config file
enable network related commands (actually prevents disabling them)

enable USB ethernet support by activating generic support as well as
Asix and Moschip ethernet adapters

Signed-off-by: Gerhard Sittig <gsi@denx.de>
Acked-by: Andreas Bießman <andreas.devel@googlemail.com>
7 years agotegra: imx: omap: enable Moschip USB ethernet support for several boards
Gerhard Sittig [Sat, 8 Mar 2014 18:46:16 +0000 (19:46 +0100)]
tegra: imx: omap: enable Moschip USB ethernet support for several boards

enable support for the Moschip USB ethernet adapter for those boards
which previously had support for "all other" USB ethernet adapters
(that's Asix _and_ SMSC) enabled -- which applies to harmony, m53evk,
mx53loco, nitrogen6x, omap3_beagle

Signed-off-by: Gerhard Sittig <gsi@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
7 years agotegra: omap: alpha-sort USB ethernet items for Asix and SMSC
Gerhard Sittig [Sat, 8 Mar 2014 18:46:15 +0000 (19:46 +0100)]
tegra: omap: alpha-sort USB ethernet items for Asix and SMSC

adjust the harmony and omap3_beagle board configs to make
their CONFIG_USB_ETHER_* items appear in alphabetical order

Signed-off-by: Gerhard Sittig <gsi@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Marek Vasut <marex@denx.de>
7 years agousb: net: introduce support for Moschip USB ethernet
Gerhard Sittig [Sat, 8 Mar 2014 18:46:14 +0000 (19:46 +0100)]
usb: net: introduce support for Moschip USB ethernet

introduce an 'mcs7830' driver for Moschip MCS7830 based (7730/7830/7832)
USB 2.0 Ethernet Devices

see "MCS7830 -- USB 2.0 to 10/100M Fast Ethernet Controller" at
http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=109;74;109

the driver was implemented based on the U-Boot Asix driver with
additional information gathered from the Moschip Linux driver,
development was done on "Delock 61147" and "Logilink UA0025C" dongles

Signed-off-by: Gerhard Sittig <gsi@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
7 years agousb: net: don't ifdef routine declarations in usb_ether.h
Gerhard Sittig [Sat, 8 Mar 2014 18:46:13 +0000 (19:46 +0100)]
usb: net: don't ifdef routine declarations in usb_ether.h

while compilation of implemented routines and references from calling
sites may be optional, declarations in header files should not be

unconditionally declare the Asix and SMSC related public USB ethernet
driver routines in the usb_ether.h header file

Signed-off-by: Gerhard Sittig <gsi@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Marek Vasut <marex@denx.de>
7 years agofw_env: correct writes to devices with small erase blocks
Dustin Byford [Fri, 7 Mar 2014 04:48:23 +0000 (20:48 -0800)]
fw_env: correct writes to devices with small erase blocks

Some NOR flash devices have a small erase block size.  For example, the
Micron N25Q512 can erase in 4K blocks.  These devices expose a bug in
fw_env.c where flash_write_buf() incorrectly calculates bytes written
and attempts to write past the environment sectors.  Luckily, a range
check prevents any real damage, but this does cause fw_setenv to fail
with an error.

This change corrects the write length calculation.

The bug was introduced with commit 56086921 from 2008 and only affects
configurations where the erase block size is smaller than the total
environment data size.

Signed-off-by: Dustin Byford <dustin@cumulusnetworks.com>
7 years agofw_env: calculate default number of env sectors
Dustin Byford [Fri, 7 Mar 2014 04:48:22 +0000 (20:48 -0800)]
fw_env: calculate default number of env sectors

The assumed number of environment sectors (always 1) leads to an
incorrect top_of_range calculation in fw.env.c when a flash device has
an erase block size smaller than the environment data size (number of
environment sectors > 1).

This change updates the default number of environment sectors to at
least cover the size of the environment.

Also corrected a false statement about the number of sectors column in
fw_env.config.

Signed-off-by: Dustin Byford <dustin@cumulusnetworks.com>
7 years agoboard/BuR/kwb: fix usage of 'i2c_set_bus_speed'
Hannes Petermaier [Sat, 8 Mar 2014 18:09:32 +0000 (19:09 +0100)]
board/BuR/kwb: fix usage of 'i2c_set_bus_speed'

- fix: return-value of 'i2c_set_bus_speed' was interpreted wrong

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
7 years agoarm: am335x: DXR2: Move unconditional LAN9303 reset into command
Stefan Roese [Wed, 12 Mar 2014 09:45:41 +0000 (10:45 +0100)]
arm: am335x: DXR2: Move unconditional LAN9303 reset into command

The switch HW reset results in a disconnection of the switch port daisy-
chain for a few seconds. This is not desired in the normal field use
case. So lets remove this switch reset from the normal bootup sequence
and move it into a board specific command. This way it can be executed
in the development environment when really needed.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Roger Meier <r.meier@siemens.com>
Cc: Lukas Stockmann <lukas.stockmann@siemens.com>
Cc: Tom Rini <trini@ti.com>
7 years agodrivers: net: cpsw: init phy with gigabit features
Ilya Ledvich [Wed, 12 Mar 2014 09:26:30 +0000 (11:26 +0200)]
drivers: net: cpsw: init phy with gigabit features

CPSW ia a gigabit device. Use the PHY_GBIT_FEATURES macro to determine phy
supported features.
Tested on cm_t335.

Signed-off-by: Ilya Ledvich <ilya@compulab.co.il>
7 years agoarm: omap: cm_t35: Fix: Re-add GPMC_NAND_ECC_LP_x8_LAYOUT
Stefan Roese [Tue, 11 Mar 2014 16:04:45 +0000 (17:04 +0100)]
arm: omap: cm_t35: Fix: Re-add GPMC_NAND_ECC_LP_x8_LAYOUT

Patch a7e36fc9 (mtd: nand: omap: remove unused #defines from common
omap_gpmc.h) removed some MTD related defines. Including
GPMC_NAND_ECC_LP_x8_LAYOUT. But this define is also needed for the
memory controller configuration (only the x8 defines are needed,
the x16 defines are the default). Without it the NAND subsystem is
not configured correctly and booting into U-Boot does not work.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Pekon Gupta <pekon@ti.com>
Cc: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Tom Rini <trini@ti.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
7 years agoam335x_evm: Remove SPI SPL from NOR support target
Tom Rini [Mon, 10 Mar 2014 19:31:24 +0000 (15:31 -0400)]
am335x_evm: Remove SPI SPL from NOR support target

When using the am335x_evm_nor target one is generally expecting to be
used in an environment when you want to program the NOR and not a
"deployment" type target.  In addition this only supports the Beaglebone
White with the memory cape and NOR module installed, which precludes the
presence of SPI flash.  Drop SPI as we were getting close to the binary
limit in some cases and slightly over with other toolchains.

Signed-off-by: Tom Rini <trini@ti.com>
7 years agodrivers/spi/omap3: Bug fix of premature write transfer completion
Vasili Galka [Sun, 9 Mar 2014 13:56:52 +0000 (15:56 +0200)]
drivers/spi/omap3: Bug fix of premature write transfer completion

The logic determining SPI "write" transfer completion was faulty. At
certain conditions (e.g. slow SPI clock freq) the transfers were
interrupted before completion. Both EOT and TXS flags of channel
status registeer shall be checked to ensure that all data was
transferred. Tested on AM3359 chip.

Signed-off-by: Vasili Galka <vasili@visionmap.com>
7 years agoam33xx: Rework #ifdef's around s_init for clarity
Tom Rini [Wed, 5 Mar 2014 19:57:47 +0000 (14:57 -0500)]
am33xx: Rework #ifdef's around s_init for clarity

The s_init function is only called on SPL or XIP cases, so lets only
build it for them.  This makes the #if logic within the function a bit
clearer as to when we are or are not calling things, and makes it easier
to see that for example preloader_console_init isn't ever called in the
non-XIP full U-Boot case.

Signed-off-by: Tom Rini <trini@ti.com>
7 years agoboard:trats2: Enable device tree on Trats2
Piotr Wilczek [Fri, 7 Mar 2014 13:59:49 +0000 (14:59 +0100)]
board:trats2: Enable device tree on Trats2

This patch enables to run Trats2 board on device tree.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agoboard:trats: Enable device tree on Trats
Piotr Wilczek [Fri, 7 Mar 2014 13:59:48 +0000 (14:59 +0100)]
board:trats: Enable device tree on Trats

This patch enables to run Trats board on device tree.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agoboard:universal: Enable device tree on Universal
Piotr Wilczek [Fri, 7 Mar 2014 13:59:47 +0000 (14:59 +0100)]
board:universal: Enable device tree on Universal

This patch enables to run Universal board on device tree.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agoboard:origen: Enable device tree on Origen
Piotr Wilczek [Fri, 7 Mar 2014 13:59:46 +0000 (14:59 +0100)]
board:origen: Enable device tree on Origen

This patch enables to run Origen board on device tree.

Uart, DRAM and MMC init functions are removed as their
generic replacements form the common board file are used.

The config file is modified to contain only board specific options.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Chander Kashyap <k.chander@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agoarm:exynos: enable sdhci and misc_init to common board
Piotr Wilczek [Fri, 7 Mar 2014 13:59:45 +0000 (14:59 +0100)]
arm:exynos: enable sdhci and misc_init to common board

This patch enables sdhci initialisation and misc_init_r in common board
file for all exynos 4 based boards.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 years agoboard:samsung:common: move max77686 init function
Piotr Wilczek [Fri, 7 Mar 2014 13:59:44 +0000 (14:59 +0100)]
board:samsung:common: move max77686 init function

This patch moves board specific max77686 init function from
common board to smdk5250 board file.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
Cc: Rajeshwari Birje <rajeshwari.birje@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>