project/bcm63xx/u-boot.git
8 years agoARM: uniphier: rework struct uniphier_board_data
Masahiro Yamada [Fri, 26 Feb 2016 05:21:34 +0000 (14:21 +0900)]
ARM: uniphier: rework struct uniphier_board_data

This commit reworks "struct uniphier_board_data" with an array of
DRAM channel data in it.  It will allow further cleanups by means of
"for" statements that iterate over the DDR channels.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: remove unused umc_polling()
Masahiro Yamada [Fri, 26 Feb 2016 05:21:33 +0000 (14:21 +0900)]
ARM: uniphier: remove unused umc_polling()

This function is unused.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: default to environment in eMMC
Masahiro Yamada [Tue, 16 Feb 2016 08:08:42 +0000 (17:08 +0900)]
ARM: uniphier: default to environment in eMMC

Of the several boot devices supported, it looks like the eMMC is the
most commonly used.  Enable CONFIG_ENV_IS_IN_MMC by default.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: add emmcupdate command
Masahiro Yamada [Tue, 16 Feb 2016 08:08:41 +0000 (17:08 +0900)]
ARM: uniphier: add emmcupdate command

The Boot ROM expects the boot image (SPL) in the Boot Partition 1.
So, updating images involves the hardware partition switch.  It might
be a bit advanced for some users.

To be user-friendly, this commit adds a useful command to update the
images; just put SPL and U-Boot proper into the public directory of
the TFTP server and execute "run emmcupdate" from the command line.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: add a command to find the first MMC (non-SD) device
Masahiro Yamada [Tue, 16 Feb 2016 08:08:40 +0000 (17:08 +0900)]
ARM: uniphier: add a command to find the first MMC (non-SD) device

UniPhier SoC family supports both (e)MMC boot and SD card boot;
however, both of them are handled in the same uclass.

When booting from the eMMC, we want to know the device number
of the (e)MMC, not SD.  This command is useful to find the first
MMC (non-SD) device.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: add eMMC boot support
Masahiro Yamada [Tue, 16 Feb 2016 08:08:39 +0000 (17:08 +0900)]
ARM: uniphier: add eMMC boot support

Export device nodes needed for eMMC boot (eMMC node, pinctrl, and
clock) to the SPL DTB.  CONFIG_SUPPORT_EMMC_BOOT is also necessary
to use "mmc partconf" command.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: dts: uniphier: add SD/MMC host controller nodes
Masahiro Yamada [Thu, 18 Feb 2016 10:52:50 +0000 (19:52 +0900)]
ARM: dts: uniphier: add SD/MMC host controller nodes

This host controller is available for all UniPhier SoCs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: enable UniPhier SD/MMC host driver
Masahiro Yamada [Thu, 18 Feb 2016 10:52:49 +0000 (19:52 +0900)]
ARM: uniphier: enable UniPhier SD/MMC host driver

Enable the driver in all UniPhier defconfig files and add some
needed defines to the common files.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agommc: uniphier: add driver for UniPhier SD/MMC host controller
Masahiro Yamada [Thu, 18 Feb 2016 10:52:48 +0000 (19:52 +0900)]
mmc: uniphier: add driver for UniPhier SD/MMC host controller

Add a driver for the on-chip SD/eMMC host controller used by
UniPhier SoC family.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: dts: uniphier: add GPIO controller nodes
Masahiro Yamada [Tue, 16 Feb 2016 08:03:51 +0000 (17:03 +0900)]
ARM: dts: uniphier: add GPIO controller nodes

Make the GPIO driver really active.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: enable GPIO command and driver for UniPhier SoCs
Masahiro Yamada [Tue, 16 Feb 2016 08:03:50 +0000 (17:03 +0900)]
ARM: uniphier: enable GPIO command and driver for UniPhier SoCs

This allows to use the "gpio" command.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agogpio: do not include <asm/arch/gpio.h> for UniPhier
Masahiro Yamada [Tue, 16 Feb 2016 08:03:49 +0000 (17:03 +0900)]
gpio: do not include <asm/arch/gpio.h> for UniPhier

I implemented a GPIO driver based on Driver Model for the UniPhier
SoC family, but I could not find any good reason why such SoC
specific GPIO headers are needed.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agogpio: uniphier: add driver for UniPhier GPIO controller
Masahiro Yamada [Tue, 16 Feb 2016 08:03:48 +0000 (17:03 +0900)]
gpio: uniphier: add driver for UniPhier GPIO controller

This GPIO controller device is used on UniPhier SoCs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoARM: dts: uniphier: rework System Bus nodes
Masahiro Yamada [Tue, 16 Feb 2016 08:00:22 +0000 (17:00 +0900)]
ARM: dts: uniphier: rework System Bus nodes

Follow the changes of DTS in Linux.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoMerge git://git.denx.de/u-boot-usb
Tom Rini [Fri, 26 Feb 2016 23:08:43 +0000 (18:08 -0500)]
Merge git://git.denx.de/u-boot-usb

8 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Fri, 26 Feb 2016 21:22:28 +0000 (16:22 -0500)]
Merge git://git.denx.de/u-boot-dm

8 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Tom Rini [Fri, 26 Feb 2016 19:56:23 +0000 (14:56 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-net

8 years agonet: bootp: Add environment variable for timeout period
Alexandre Messier [Mon, 1 Feb 2016 22:08:57 +0000 (17:08 -0500)]
net: bootp: Add environment variable for timeout period

There is currently one config option (CONFIG_NET_RETRY_COUNT) that
is available to tune the retries of the network stack.
Unfortunately, it is global to all protocols, and the value is
interpreted differently in all of them.

Add a new environment variable that directly sets the retry period for
BOOTP timeouts. If this new value is not set, the period is still derived
from the default number of retries, or from CONFIG_NET_RETRY_COUNT if
defined. When both the new variable is set and CONFIG_NET_RETRY_COUNT
is defined, the variable has precedence.

Signed-off-by: Alexandre Messier <amessier@tycoint.com>
8 years agonet: phy: atheros: Fix problem with phy_reset() clearing BMCR
Alison Wang [Fri, 19 Feb 2016 07:52:28 +0000 (15:52 +0800)]
net: phy: atheros: Fix problem with phy_reset() clearing BMCR

In commit <a058052c358c> [net: phy: do not read configuration register on
reset], phy_reset() will clear the BMCR register. Bit 12(AUTO_NEGOTIATION)
is cleared too. It causes auto-negotiation timeout error on Atheros's
PHY AR8033.

To fix this problem, genphy_config_aneg() and genphy_restart_aneg()
needs to be called in ar8035_config() to enable and restart
auto-negotiation.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
Acked-by: Stefan Agner <stefan@agner.ch>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agopowerpc/t208xqds: fix esdhc peripheral clock support
Yangbo Lu [Thu, 28 Jan 2016 08:33:07 +0000 (16:33 +0800)]
powerpc/t208xqds: fix esdhc peripheral clock support

The patch that enabled eSDHC peripheral clock support had an
obvious error as below. This patch is used to fix it.

+#define define CONFIG_FSL_ESDHC_USE_PERIPHERAL_CLK

Fixes: 3285e6cbcc1b ("powerpc/t2080qds: enable eSDHC peripheral clock support")
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agousb: ehci: Fix warning on aarch64
Marek Vasut [Fri, 26 Feb 2016 18:23:27 +0000 (19:23 +0100)]
usb: ehci: Fix warning on aarch64

Fix the following warning on aarch64 introduced by using p2v/v2p
functions in the code:

In file included from ./arch/arm/include/asm/byteorder.h:29:0,
                 from include/compiler.h:125,
                 from include/image.h:19,
                 from include/common.h:88,
                 from drivers/usb/host/ehci-hcd.c:10:
drivers/usb/host/ehci-hcd.c: In function ‘ehci_td_buffer’:
drivers/usb/host/ehci-hcd.c:250:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   td->qt_buffer[idx] = cpu_to_hc32(virt_to_phys((void *)addr));
                                                 ^
include/linux/byteorder/little_endian.h:34:51: note: in definition of macro ‘__cpu_to_le32’
 #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
                                                   ^
drivers/usb/host/ehci-hcd.c:250:24: note: in expansion of macro ‘cpu_to_hc32’
   td->qt_buffer[idx] = cpu_to_hc32(virt_to_phys((void *)addr));

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Tom Rini <trini@konsulko.com>
8 years agopci: Fix compiler warnings in dm_pciauto_setup_device()
Bin Meng [Thu, 18 Feb 2016 07:14:47 +0000 (23:14 -0800)]
pci: Fix compiler warnings in dm_pciauto_setup_device()

Fix the following compiler warnings when DEBUG is on.

warning: 'bar_res' may be used uninitialized in this function.
drivers/pci/pci_auto.c:101:21:
   if (!enum_only && pciauto_region_allocate(bar_res, bar_size,
                        ^

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agospi: Re-enable the SPI flash tests
Simon Glass [Wed, 24 Feb 2016 16:14:57 +0000 (09:14 -0700)]
spi: Re-enable the SPI flash tests

These are working correctly again, so re-enable them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Tested-by: Jagan Teki <jteki@openedev.com>
8 years agospi: Correct two error return values
Simon Glass [Wed, 24 Feb 2016 16:14:56 +0000 (09:14 -0700)]
spi: Correct two error return values

When an error number is provided we should use it, not change it. This fixes
the SPI and SPI flash tests.

One of these is long-standing. The other seems to have been introduced by
commit 1e90d9fd (sf: Move read_id code to sf_ops).

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 1e90d9fd (sf: Move read_id code to sf_ops)
Reviewed-by: Jagan Teki <jteki@openedev.com>
Tested-by: Jagan Teki <jteki@openedev.com>
8 years agosandbox: spi: Remove an incorrect free()
Simon Glass [Wed, 24 Feb 2016 16:14:55 +0000 (09:14 -0700)]
sandbox: spi: Remove an incorrect free()

We must not free data that is managed by driver mode. Remove this line,
which is a hangover from the pre-driver-model code.

This fixes a problem where 'sf probe' crashes U-Boot if the backing file
for the SPI flash cannot be found.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Tested-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agosandbox: spi: Add more debugging to SPI emulation
Simon Glass [Wed, 24 Feb 2016 16:14:54 +0000 (09:14 -0700)]
sandbox: spi: Add more debugging to SPI emulation

Add a little more debugging to help when things go wrong.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Tested-by: Jagan Teki <jteki@openedev.com>
8 years agosandbox: Enable the early timer
Simon Glass [Wed, 24 Feb 2016 16:14:53 +0000 (09:14 -0700)]
sandbox: Enable the early timer

Enable this so that tracing works with sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agosandbox: Correct ordering of defconfig
Simon Glass [Wed, 24 Feb 2016 16:14:52 +0000 (09:14 -0700)]
sandbox: Correct ordering of defconfig

This has got out of order: fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agosandbox: timer: Support the early timer
Simon Glass [Wed, 24 Feb 2016 16:14:51 +0000 (09:14 -0700)]
sandbox: timer: Support the early timer

Add support for the early timer so we can use tracing with sandbox again.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agotimer: Set up the real timer after driver model is available
Simon Glass [Wed, 24 Feb 2016 16:14:50 +0000 (09:14 -0700)]
timer: Set up the real timer after driver model is available

When using the early timer, we need to manually trigger setting up the
real timer. This will not happen automatically. Do this immediately after
starting driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agotimer: Provide an early timer
Simon Glass [Wed, 24 Feb 2016 16:14:49 +0000 (09:14 -0700)]
timer: Provide an early timer

In some cases the timer must be accessible before driver model is active.
Examples include when using CONFIG_TRACE to trace U-Boot's execution before
driver model is set up. Enable this option to use an early timer. These
functions must be supported by your timer driver: timer_early_get_count()
and timer_early_get_rate().

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agotimer: Support tracing fully
Simon Glass [Wed, 24 Feb 2016 16:14:48 +0000 (09:14 -0700)]
timer: Support tracing fully

A few of the functions in the timer uclass are not marked with 'notrace'. Fix
this so that tracing can be used with CONFIG_TRACE.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agotrace: Improve the trace test number recognition
Simon Glass [Wed, 24 Feb 2016 16:14:47 +0000 (09:14 -0700)]
trace: Improve the trace test number recognition

The awk tool can be confused by return character (ASCII 13) in its input
since it thinks there is a separate field. These can appear if the terminal
is in raw mode, perhaps due to a previous U-Boot crash with sandbox. This
is very confusing. Remove these so that the trace test passes.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agolib: Don't instrument the div64 function
Simon Glass [Wed, 24 Feb 2016 16:14:46 +0000 (09:14 -0700)]
lib: Don't instrument the div64 function

This function can be called from the timer code on instrumented functions.
Mark it as 'notrace' so that it doesn't cause infinite recursion.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agotrace: Fix compiler warnings in trace
Simon Glass [Wed, 24 Feb 2016 16:14:45 +0000 (09:14 -0700)]
trace: Fix compiler warnings in trace

With min() we must use the same type for each parameter. Fix two problems
in trace.c which produce compiler warnings.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoimage: Fix FIT and vboot tests to exit sandbox correctly
Simon Glass [Wed, 24 Feb 2016 16:14:44 +0000 (09:14 -0700)]
image: Fix FIT and vboot tests to exit sandbox correctly

When used with a device tree, sandbox now requires a 'reset' controller. Add
this to the device trees so that reset works and the tests can complete.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 5010d98f (sandbox: Use the reset driver to handle reset)
8 years agoRevert "image-fit: Fix signature checking"
Simon Glass [Wed, 24 Feb 2016 16:14:43 +0000 (09:14 -0700)]
Revert "image-fit: Fix signature checking"

This reverts commit 84ca65aa4bd0d03867e9e49805201d0564d3ffb0.

On signature verification failures fit_image_verify() should NOT exit with
error. Only keys marked 'required' can cause image verification failure.
This logic is already there and works correctly.

Add a comment to make this clear.

Fixes: 84ca65aa (image-fit: Fix signature checking)
Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoimage: Correct the OS location code to work on sandbox
Simon Glass [Wed, 24 Feb 2016 16:14:42 +0000 (09:14 -0700)]
image: Correct the OS location code to work on sandbox

A recent change broke the 'bootm' command on sandbox. The root cause is
using a pointer as an address. Conversion from pointer to address needs to
use map_to_sysmem() so that sandbox can do the right thing. The problem was
pre-existing but uncovered by a recent commit.

Fix this. Also move fit_get_end() to the C file to avoid needing to include
mapmem.h (and thus asm/io.h) everywhere.

Fixes: 1fec3c5d (common/image.c: Make boot_get_ramdisk() perform a check for Android images)
Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agotest/py: skip tests that require large CONFIG_SYS_MAXARGS
Stephen Warren [Tue, 16 Feb 2016 00:40:34 +0000 (17:40 -0700)]
test/py: skip tests that require large CONFIG_SYS_MAXARGS

test_hush_if_test.py executes commands that require large values of
CONFIG_SYS_MAXARGS. Detect cases where the configured value is too low
and skip those tests.

Ideally, this would be implemented inside console.run_command(). However,
the command passed to that function is already a completely formed string,
and determining its argument count usage would require splitting commands
at ;, handling quoting to deal with arguments containing spaces, etc. Even
passing the command as a list wouldn't solve all these issues, since we'd
still need to split commands on ; and deal with cases like "if test ..."
which consumes 0 of the argument count.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agotest/py: use space to interrupt autoboot
Stephen Warren [Tue, 16 Feb 2016 00:39:38 +0000 (17:39 -0700)]
test/py: use space to interrupt autoboot

Sending CTRL-C to QEMU's stdin aborts the process, even if stdin is being
used as a serial port (at least in the raspi2 machine with "qemu -serial
stdin"). Avoid sending CTRL-C to U-Boot to prevent it exiting.

I'd originally used CTRL-C to make sure that if the character used to
abort autoboot ended up being treated as part of a command as well, it'd
abort command entry and return the prompt to a known state. However, this
is not needed, since aborting the autoboot eats the character used to do
that.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoARM: rpi: increase CONFIG_SYS_MAXARGS
Stephen Warren [Tue, 16 Feb 2016 00:38:02 +0000 (17:38 -0700)]
ARM: rpi: increase CONFIG_SYS_MAXARGS

This allows all the hush tests implemented in test/py to pass, under qemu
at least.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoARM: zynq: zynqmp: Enable DCC serial driver by default
Michal Simek [Tue, 23 Feb 2016 09:02:29 +0000 (10:02 +0100)]
ARM: zynq: zynqmp: Enable DCC serial driver by default

Compile DCC serial driver by default.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoserial: dcc: Move driver to DM
Michal Simek [Tue, 23 Feb 2016 09:02:28 +0000 (10:02 +0100)]
serial: dcc: Move driver to DM

Enabling this driver requires some DT changes.
Adding DCC to root or main bus:
dcc: dcc {
compatible = "arm,dcc";
u-boot,dm-pre-reloc;
};

Extend alias list to link DCC:
serial0 = &uart0;
serial1 = &uart1;
serial2 = &dcc;

Change stdout-path to point to dcc port.
stdout-path = "serial2:115200n8";

Also add support for debug uart to help with early debug.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Thu, 25 Feb 2016 15:35:23 +0000 (10:35 -0500)]
Merge git://git.denx.de/u-boot-dm

8 years agotest/py: Add option to skip SPL signature checking
Michal Simek [Thu, 25 Feb 2016 13:58:24 +0000 (14:58 +0100)]
test/py: Add option to skip SPL signature checking

Provide user option to skip SPL signature verification for cases where
u-boot is build with SPL support but full U-Boot is also verified
without SPL.

If you want to support this feature please add env__spl_skipped = True
to your boardenv configuration file.

For example Xilinx Zynq is using this feature where the same U-Boot
binary is checked with SPL and without SPL(with FSBL).

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agopatman: fix series-notes handling for buildman
Albert ARIBAUD [Tue, 2 Feb 2016 09:24:53 +0000 (10:24 +0100)]
patman: fix series-notes handling for buildman

A patman series with a 'Series-notes' section causes
buildman to crash with:

    self.series.notes += self.section
    TypeError: cannot concatenate 'str' and 'list' objects

Fix by initializing series.notes as a one-element array
rather than a scalar.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
8 years agodts: keep clock-names and clocks in SPL DTB if SPL_CLK is enabled
Masahiro Yamada [Wed, 3 Feb 2016 11:51:36 +0000 (20:51 +0900)]
dts: keep clock-names and clocks in SPL DTB if SPL_CLK is enabled

These two properties are necessary for SPL to get clocks from DT.

Note:
For now, only clock look-up by index is supported (clk_get_by_index()
function), so "clock-names" is never parsed in U-Boot.  However, we
may want to support something like clk_get_by_name() in the future,
so let's keep "clock-names" as well as "clocks".

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-socfpga
Tom Rini [Wed, 24 Feb 2016 19:26:28 +0000 (14:26 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-socfpga

8 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Wed, 24 Feb 2016 19:26:20 +0000 (14:26 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

8 years agoMerge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Wed, 24 Feb 2016 19:25:54 +0000 (14:25 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq

8 years agomicroblaze: Add missing chosen node
Michal Simek [Wed, 24 Feb 2016 11:37:50 +0000 (12:37 +0100)]
microblaze: Add missing chosen node

fdtgrep requires /chosen node to be specified or at least more nodes which
stays in DTS to generate output.
Error message:
./tools/fdtgrep -b u-boot,dm-pre-reloc -RT dts/dt.dtb -n /chosen -O
dtb | ./tools/fdtgrep -r -O dtb - -o spl/u-boot-spl.dtb -P pinctrl-0 -P
pinctrl-names -P clocks -P clock-names -P interrupt-parent
Error: FDT_ERR_BADMAGIC

This patch add empty chosen node to keep fdtgrep happy and pass
compilation for in tree DTS file.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agocmd: mem: Show 64bit addresses which are tested
Michal Simek [Wed, 24 Feb 2016 07:36:02 +0000 (08:36 +0100)]
cmd: mem: Show 64bit addresses which are tested

Fix print message to show full 64bit addresses.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agodm: Remove ARM dcc from the list
Michal Simek [Wed, 24 Feb 2016 07:34:16 +0000 (08:34 +0100)]
dm: Remove ARM dcc from the list

Remove ARM Debug communication channel driver from the list
of not converted drivers to DM.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agorpi: always scroll by 10 lines
Lubomir Rintel [Mon, 22 Feb 2016 21:15:33 +0000 (22:15 +0100)]
rpi: always scroll by 10 lines

Scrolling the simple framebuffer is really slow in Raspberry Pi to the
point it delays the boot by a second or two and makes longer output
inconvenient to follow (printenv, md).

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
8 years agorpi: set board serial number in environment
Lubomir Rintel [Mon, 22 Feb 2016 21:06:47 +0000 (22:06 +0100)]
rpi: set board serial number in environment

Gets propagated into the device tree and then into /proc/cpuinfo where
users often expect it.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Stephen Warren <swarren@wwwdotorg.org>
8 years agobooti: Help text rework.
Karsten Merker [Mon, 22 Feb 2016 19:59:08 +0000 (20:59 +0100)]
booti: Help text rework.

Fix spelling errors in the "booti" help text and bring it more
in line with the bootm/bootz help texts.

Signed-off-by: Karsten Merker <merker@debian.org>
8 years agotools: Update openrisc toolchain information
Bin Meng [Mon, 22 Feb 2016 05:18:02 +0000 (21:18 -0800)]
tools: Update openrisc toolchain information

Since commit 87da2690ab81b5f29f83dc85c55f933e6ef414bc
"openrisc: updating build tools naming convention", openrisc
kernel.org toolchain is out of date and cannot build U-Boot.
Update buildman and moveconfig tools to refer to the new one.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoMAINTAINERS: Update no longer valid maintainers' status
Bin Meng [Mon, 22 Feb 2016 03:54:41 +0000 (19:54 -0800)]
MAINTAINERS: Update no longer valid maintainers' status

The following maintainers' email addresses are no longer valid.

vipin.kumar@st.com
martin.krause@tq-systems.de
kim.phillips@freescale.com
fgretief@spaceteq.co.za

Update status of the components they used to maintain to be:
S: Orphaned (Since 2016-02)

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoarm: am437x: cm-t43: bring back BOOTDELAY feature
Nikita Kiryanov [Sun, 21 Feb 2016 11:59:20 +0000 (13:59 +0200)]
arm: am437x: cm-t43: bring back BOOTDELAY feature

Commit 755324 (configs: Use config_distro_defaults.h in ti_armv7_common.h)
made ti_armv7_common.h include config_distro_defaults.h. This breaks the
bootdelay feature in cm_t43 because now the
  - #include ti_armv7_common.h (#define CONFIG_BOOTDELAY 1)
  - #undef CONFIG_BOOTDELAY
  - #include config_distro_defaults.h (#define CONFIG_BOOTDELAY 2)
dance in cm_t43.h is no longer valid and in fact leads to CONFIG_BOOTDELAY
not being defined.

Adapt the config file to the new inclusion hierarchy.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: update parameters for raw mmc boot
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:50 +0000 (19:19 +0200)]
arm: am437x: cm-t43: update parameters for raw mmc boot

Update U-Boot offset and size for raw mmc boot.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: set MPU and CORE voltages on boot
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:49 +0000 (19:19 +0200)]
arm: am437x: cm-t43: set MPU and CORE voltages on boot

During boot, U-Boot raises the CPU frequency but the CORE and MPU regulators
are not updated. This is not a problem in cold boot since the default values
that the pmic outputs are correct, but if Linux were to switch the module to a
low power OPP, the new voltage values will be retained after a reboot and the
module will likely hang once U-Boot raises the CPU frequency back up.

Set both CORE and MPU regulators to to 1.1V on boot.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: get rid of enable_vtt_regulator()
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:48 +0000 (19:19 +0200)]
arm: am437x: cm-t43: get rid of enable_vtt_regulator()

CM-T43 does not have a vtt regulator. Remove the function that's supposed
to enable it.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: set tps fseal bit
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:47 +0000 (19:19 +0200)]
arm: am437x: cm-t43: set tps fseal bit

Set TPS65218 FSEAL bit to 1 so that RTC could be powered using on-board
3V battery. This is necessary so that time and date will survive reboots and
power offs.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agopmic: tps65218: add useful functions and defines
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:46 +0000 (19:19 +0200)]
pmic: tps65218: add useful functions and defines

Add the following functions:
tps65218_reg_read() for accessing redisters
tps65218_toggle_fseal() for toggling the fseal bit
tps65218_lock_fsea() for locking the fseal bit to 1

Add the following defines:
All status register bits

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: split board file
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:45 +0000 (19:19 +0200)]
arm: am437x: cm-t43: split board file

Simplify the board file by splitting it to spl portion and u-boot portion.
Some unnecessary includes were identified and removed. No functional changes.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: define prompt
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:44 +0000 (19:19 +0200)]
arm: am437x: cm-t43: define prompt

Define prompt for cm-t43.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: support all available SPI flash chips
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:43 +0000 (19:19 +0200)]
arm: am437x: cm-t43: support all available SPI flash chips

Add full support for SPI flash chips to future-proof U-Boot for cm-t43.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: migrate CONFIG_DM_SERIAL to config file
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:42 +0000 (19:19 +0200)]
arm: am437x: cm-t43: migrate CONFIG_DM_SERIAL to config file

Move CONFIG_DM_SERIAL to cm_t43_defconfig. This forces us to update the
CONFIG_SYS_NS16550_REG_SIZE value for SPL.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoarm: am437x: cm-t43: fix cm-t43 boot
Nikita Kiryanov [Fri, 19 Feb 2016 17:19:41 +0000 (19:19 +0200)]
arm: am437x: cm-t43: fix cm-t43 boot

spl_board_init() is necessary for boot. Remove the #undef that keeps
it out of the boot sequence.

Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoboard/BuR/kwb: cosmetic changes
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:46 +0000 (12:09 +0100)]
board/BuR/kwb: cosmetic changes

- fixup typo
- fixup identation

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoboard/BuR: split bur_am335x_common.h into am335x-specific and BuR common parts
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:45 +0000 (12:09 +0100)]
board/BuR: split bur_am335x_common.h into am335x-specific and BuR common parts

bur_am335x_common.h today holds all common configuration which is shared
over all B&R boards.

In future we want to bring up boards which are not based on AM335x only
but we still want to have common configuration over all B&R boards
independent from their architecture.

To prepare this we introduce a new file "bur_cfg_common.h", where we
move all common things, which are not architecture specific, from
bur_am335x_common.h.

On B&R am335x boards we include from now:

#include <configs/bur_cfg_common.h>
#include <configs/bur_am335x_common.h>

On other B&R boards, we include only
#include <configs/bur_cfg_common.h>

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoboard/BuR: move everything possible from board's headerfile to KConfig
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:44 +0000 (12:09 +0100)]
board/BuR: move everything possible from board's headerfile to KConfig

We drop everything possible things from board headerfiles and replace
this functionality with responsible settings in Kconfig (_defconfig).

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoboard/BuR: use default u-boot prompt on all B&R boards
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:43 +0000 (12:09 +0100)]
board/BuR: use default u-boot prompt on all B&R boards

There is no need to have some specific prompt, so we drop this within
defconfigs.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoboard/BuR: drop ETH-support in SPL-Stage
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:42 +0000 (12:09 +0100)]
board/BuR: drop ETH-support in SPL-Stage

During very early prototype-phase we did boot the AM335x boards
initially from CPSW-EMAC.

Now we don't need this feature anymore.

So we drop it to save MLO-space and having therefore a more quickly
boot.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoOMAP3SOM BOARD: Auto detect Logic PD Models
Adam Ford [Thu, 18 Feb 2016 03:49:49 +0000 (21:49 -0600)]
OMAP3SOM BOARD: Auto detect Logic PD Models

Logic PD makes four different system on modules.  This patch will auto
detect the board type and identify the corresponding device tree image.

V2:
Added 'default:' case to switch statement
Since board_late_init() is defined as int, we now return 0

Signed-off-by: Derald Woods <woods.technical@gmail.com>
Signed-off-by: Adam Ford <aford173@gmail.com>
8 years agotest/py: only check for SPL signature if SPL uses serial output
Heiko Schocher [Wed, 17 Feb 2016 17:32:51 +0000 (18:32 +0100)]
test/py: only check for SPL signature if SPL uses serial output

check for U-Boot SPL signature only if SPL really has a serial output.
So check if CONFIG_SPL_SERIAL_SUPPORT is active in board config.

Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
8 years agopci_rom: fix may be used uninitialized warning
Andreas Bießmann [Tue, 16 Feb 2016 22:29:31 +0000 (23:29 +0100)]
pci_rom: fix may be used uninitialized warning

Building pci_rom.c with my toolchain complains about may be used uninitialized
rom varaible:

---8<---
+drivers/pci/pci_rom.c:269:25: note: 'rom' was declared here
w+drivers/pci/pci_rom.c: In function 'dm_pci_run_vga_bios':
w+drivers/pci/pci_rom.c:154:14: warning: 'rom' may be used uninitialized in this function [-Wmaybe-uninitialized]
--->8---

Fix this as done in 55616b86c745fcac5a791268ab8e7cba36965c0f the ram variable.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Acked-by: Anatolij Gustschin <agust@denx.de>
8 years agosamsung: fix mkorigenspl for darwin
Andreas Bießmann [Tue, 16 Feb 2016 22:29:30 +0000 (23:29 +0100)]
samsung: fix mkorigenspl for darwin

Compiling the mkorigenspl tool on darwin complains about undefined ulong. Fix
this by using the unified way.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
8 years agotools: -Wno-deprecated-declarations for OpenSSL on darwin
Andreas Bießmann [Tue, 16 Feb 2016 22:29:28 +0000 (23:29 +0100)]
tools: -Wno-deprecated-declarations for OpenSSL on darwin

Since OpenSSL is deprecated on OS X in favour of Common Crypto API disable the
warning for this host OS.

Another solution would be to add some glue layer for crypto stuff, but I think
this is not worth the effort.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoGracefully handle 64-bit signed-extended 32-bit Load addresses
William Cohen [Tue, 16 Feb 2016 13:57:46 +0000 (08:57 -0500)]
Gracefully handle 64-bit signed-extended 32-bit Load addresses

To follow the MIPS 32-bit and 64-bit memory map conventions (*) recent
MIPS Linux kernels are using a 64-bit sign extended value
(0xffffffff80010000) for the 32-bit load address (0x80010000) of the
Creator CI20 board kernel.  When this 64-bit argument was passed to
mkimage running on a 32-bit machine such as the Creator CI20 board the
load address was incorrectly formed from the upper 32-bit sign-extend
bits (0xffffffff) by the strtoul instead of from the lower 32-bits
(0x80010000).  The mkimage should be able to tolerate the longer
sign-extended 64-bit version of the 32-bit arguments with the use of
strtoull.  Use of the strtoll in place of the strtol in mkimage.c
resolves the issue of self hosted kernel builds for the Creator CI20
board (+) and (++).

(*) http://techpubs.sgi.com/library/dynaweb_docs/0620/SGI_Developer/books/DevDriver_PG/sgi_html/ch01.html
(+) https://github.com/MIPS/CI20_linux/issues/23
(++) https://github.com/MIPS/CI20_linux/issues/22

Signed-off-by: William Cohen <wcohen@redhat.com>
8 years agostm32: add support for stm32f7 & stm32f746 discovery board
Vikas Manocha [Thu, 11 Feb 2016 23:47:20 +0000 (15:47 -0800)]
stm32: add support for stm32f7 & stm32f746 discovery board

This patch adds support for stm32f7 family & stm32f746 board.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
8 years agostm32x7: add support for stm32x7 serial driver
Vikas Manocha [Thu, 11 Feb 2016 23:47:19 +0000 (15:47 -0800)]
stm32x7: add support for stm32x7 serial driver

This patch adds support for stm32f7 family usart peripheral.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agogpio: stm32_gpio: move base addresses to the soc file
Vikas Manocha [Thu, 11 Feb 2016 23:47:18 +0000 (15:47 -0800)]
gpio: stm32_gpio: move base addresses to the soc file

Base addresses for GPIOs could be different for different socs, this
patch moves the base addresses from driver to the soc specific location.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
8 years agogpio: stm32_gpio: move clock config from driver to board
Vikas Manocha [Thu, 11 Feb 2016 23:47:17 +0000 (15:47 -0800)]
gpio: stm32_gpio: move clock config from driver to board

This patch removes the gpio clock enable from gpio driver & move it in the
board code, making it possible to use the gpio driver with other socs.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
8 years agoarm: socfpga: Fix ethernet reset handling
Marek Vasut [Thu, 11 Feb 2016 15:36:43 +0000 (16:36 +0100)]
arm: socfpga: Fix ethernet reset handling

The following patch caused cpu_eth_init() to not be called anymore
for DM-capable boards:

commit c32a6fd07b1839e4a45729587ebc8e1c55601a4d
Date:   Sun Jan 17 14:51:56 2016 -0700
    net: Don't call board/cpu_eth_init() with driver model

This breaks ethernet on SoCFPGA, since we use that function to un-reset
the ethernet blocks. Invoke the ethernet reset function from arch_misc_init()
instead to fix the breakage.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
8 years agoarm: socfpga: Remove bashisms from qts filter
Marek Vasut [Thu, 11 Feb 2016 15:03:49 +0000 (16:03 +0100)]
arm: socfpga: Remove bashisms from qts filter

Weed out bashisms from the script. The echo -e does not work in dash,
which is the default /bin/sh in debian .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Dalon Westergreen <dwesterg@gmail.com>
8 years agoarm: socfpga: cv_socdk: Add support for QSPI boot
Marek Vasut [Thu, 11 Feb 2016 14:54:10 +0000 (15:54 +0100)]
arm: socfpga: cv_socdk: Add support for QSPI boot

Add missing DT nodes to allow booting from QSPI NOR.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
8 years agoarm: socfpga: av_socdk: Add support for QSPI boot
Marek Vasut [Thu, 11 Feb 2016 14:53:51 +0000 (15:53 +0100)]
arm: socfpga: av_socdk: Add support for QSPI boot

Add missing DT nodes to allow booting from QSPI NOR.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
8 years agoarm: socfpga: Add missing CONFIG_BUILD_TARGET
Marek Vasut [Thu, 11 Feb 2016 12:59:46 +0000 (13:59 +0100)]
arm: socfpga: Add missing CONFIG_BUILD_TARGET

Add the missing CONFIG_BUILD_TARGET to get u-boot-with-spl.sfp built
automatically upon running make in the source tree.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
8 years agoimplement Fastboot via USB OTG on bcm28155_ap boards
Steve Rae [Wed, 27 Jan 2016 22:45:45 +0000 (14:45 -0800)]
implement Fastboot via USB OTG on bcm28155_ap boards

Don't understand how it happened, but this change got applied twice!
Therefore, removing the duplicated items.

Signed-off-by: Steve Rae <srae@broadcom.com>
8 years agofastboot: update error and warning messages
Steve Rae [Wed, 27 Jan 2016 23:02:41 +0000 (15:02 -0800)]
fastboot: update error and warning messages

Fix the formatting in error messages, and demote one error message
to a warning, as it is only informational.

Signed-off-by: Steve Rae <srae@broadcom.com>
8 years agousb: eth: fix memalign() parameter order
Stephen Warren [Fri, 12 Feb 2016 20:56:01 +0000 (13:56 -0700)]
usb: eth: fix memalign() parameter order

The alignment and size were swapped, leading to malloc heap corruption.

On my system, this sometimes caused U-Boot to crash during or after
certain USB Ethernet operations.

Fixes: c8c2797c3810 ("dm: usb: eth: Support driver model with USB Ethernet")
Signed-off-by: Stephen Warren <swarren@nvidia.com>
8 years agodfu: odroid xu3: Define DFU_MANIFEST_POLL_TIMEOUT to handle large files transmission...
Lukasz Majewski [Thu, 28 Jan 2016 16:14:52 +0000 (17:14 +0100)]
dfu: odroid xu3: Define DFU_MANIFEST_POLL_TIMEOUT to handle large files transmission and storage

As tested on the Odroid XU3, large files to be stored on the file system
require considerable time to be physically written to the medium.

The default 300 ms is not enough to store large file (e.g. 26 MiB).
To fix this situation the DFU_MANIFEST_POLL_TIMEOUT has been defined.

It is used to cease the communication with dfu-util and allow the target
board to store the data on file system.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
8 years agodfu: usb: f_dfu: Set deferred call for dfu_flush() function
Lukasz Majewski [Thu, 28 Jan 2016 15:14:49 +0000 (16:14 +0100)]
dfu: usb: f_dfu: Set deferred call for dfu_flush() function

This patch fixes situation when one would like to write large file into
medium with the file system (fat, ext4, etc).
This change sets file size limitation to the DFU internal buffer size.

Since u-boot is not supporting interrupts and seek on file systems, it
becomes challenging to store large file appropriately.

To reproduce this error - create large file (around 26 MiB) and sent it
to the target board.

Lets examine the flow of USB transactions:

0. DFU uses EP0 with 64B MPS [Max Packet Size]

1. Send file - OUT (PC->target) - dat_26MiB.img is sent with 4096 B transactions

2. Get status - OUT (PC->target) - wait for DFU_STATE_dfuDNLOAD_IDLE (0x05) sent
   from target board - IN transaction
   (target->PC)

3. The whole file content is sent to target - OUT (PC->target) with ZLP [Zero
      Length Packet]

Now the interesting part starts:

4. OUT (PC->target) Setup transaction (request to share DFU state)

5. IN (target->PC) - reply the current DFU state
- In the UDC driver the req->completion (with dfu_flush) is called
  after successful IN transfer.
- The dfu_flush() (called from req->completion callback) saves the
  whole file at once (u-boot doesn't support seek on fs).
  Such operation takes considerable time. When the file
  is large - e.g. 26MiB - this time may be more than 5 seconds.

6. OUT (PC->target) - ZLP, is send in the same time when dfu_flush()
 writes data to eMMC memory.
 The dfu-util application has hard coded timeout on USB transaction
 completion set to 5 seconds (it uses libusb calls).

When the file to store is large (e.g. 26 MiB) the time needed to write it
may excess the dfu-util timeout and following error message will be displayed:
"unable to read DFU status" on the HOST PC console.

This change is supposed to leverage DFU's part responsible for storing files
on file systems. Other DFU operations - i.e. raw/partition write to NAND and
eMMC should work as before.

The only functional change is the error reporting. When dfu_flush() fails
the u-boot prompt will exit with error information and dfu-util application
exits afterwards as well.

Test HW:
- Odroid XU3 (Exynos5433) - test with large file
- Trats (Exynos4210) - test for regression - eMMC, raw,

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Reported-by: Alex Gdalevich <agdalevich@axion-biosystems.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Heiko Schocher <hs@denx.de>
8 years agousb: ehci: Be explicit about the BE IO accessors
Marek Vasut [Sat, 23 Jan 2016 20:04:46 +0000 (21:04 +0100)]
usb: ehci: Be explicit about the BE IO accessors

Add explicit cpu_to_be32()/be32_to_cpu() conversion to BE EHCI I/O
accessors to align them with their LE counterpart. No functional
change.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
8 years agousb: ehci: Clear USBMODE_BE on LE MMIO
Marek Vasut [Sat, 23 Jan 2016 20:04:46 +0000 (21:04 +0100)]
usb: ehci: Clear USBMODE_BE on LE MMIO

If the USB EHCI is configured for little endian MMIO, make sure to
clear the USBMODE_BE flag from the USBMODE register.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
8 years agousb: ehci: Implement V2P mapping
Marek Vasut [Sat, 23 Jan 2016 20:04:46 +0000 (21:04 +0100)]
usb: ehci: Implement V2P mapping

Certain processor architectures, like MIPS, require that the USB
structures and transfer buffers are passed with their PA to the
USB controller. If VA is passed, the USB will not work. Add the
necessary virt_to_phys() calls into the USB EHCI code to make it
work.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
8 years agousb: ehci: Use map_physmem in ehci-generic
Marek Vasut [Sat, 23 Jan 2016 20:04:46 +0000 (21:04 +0100)]
usb: ehci: Use map_physmem in ehci-generic

Some architectures, like MIPS, require remapping of the registers.
Add the map_physmem() call to handle it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
8 years agoarmv7: ls102xa: Move smmu and stream id initialization into the common soc code
Alison Wang [Fri, 5 Feb 2016 04:48:17 +0000 (12:48 +0800)]
armv7: ls102xa: Move smmu and stream id initialization into the common soc code

The initialization for smmu and stream id is moved into the common soc
code.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoboard: ls1043ardb: Modify pin-muxing code for USB and QE-HDLC
Zhao Qiang [Fri, 5 Feb 2016 02:04:19 +0000 (10:04 +0800)]
board: ls1043ardb: Modify pin-muxing code for USB and QE-HDLC

QE-HDLC and USB multi-use the pins, modify the pin-muxing code
for them, when set "hwconfig=qe-hdlc" in uboot, assign the pins
to QE-HDLC, if not, assgin it to USB

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>