platform/kernel/u-boot.git
9 years agoARM: DRA7 / OMAP5: Add workaround for ARM errata 798870
Praveen Rao [Mon, 9 Mar 2015 22:12:06 +0000 (17:12 -0500)]
ARM: DRA7 / OMAP5: Add workaround for ARM errata 798870

This patch enables the workaround for ARM errata 798870 for OMAP5 /
DRA7 which says "If back-to-back speculative cache line fills (fill
A and fill B) are issued from the L1 data cache of a CPU to the
L2 cache, the second request (fill B) is then cancelled, and the
second request would have detected a hazard against a recent write or
eviction (write B) to the same cache line as fill B then the L2 logic
might deadlock."

An l2auxctlr accessor implementation for OMAP5 and DRA7 is introduced
here as well.

Signed-off-by: Praveen Rao <prao@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 years agoARM: OMAP3: Get rid of omap3_gp_romcode_call and replace with omap_smc1
Nishanth Menon [Mon, 9 Mar 2015 22:12:05 +0000 (17:12 -0500)]
ARM: OMAP3: Get rid of omap3_gp_romcode_call and replace with omap_smc1

omap_smc1 is now generic enough to remove duplicate
omap3_gp_romcode_call logic that omap3 introduced.

As part of this change, move to using the generic lowlevel_init.S for
omap3 as well.

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 years agoARM: OMAP3: Rename omap3.h to omap.h to be generic as all SoCs
Nishanth Menon [Mon, 9 Mar 2015 22:12:04 +0000 (17:12 -0500)]
ARM: OMAP3: Rename omap3.h to omap.h to be generic as all SoCs

This is in preperation of using generic cross OMAP code.

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 years agoARM: OMAP: Change set_pl310_ctrl_reg to be generic
Nishanth Menon [Mon, 9 Mar 2015 22:12:03 +0000 (17:12 -0500)]
ARM: OMAP: Change set_pl310_ctrl_reg to be generic

set_pl310_ctrl_reg does use the Secure Monitor Call (SMC) to setup
PL310 control register, however, that is something that is generic
enough to be used for OMAP5 generation of processors as well. The only
difference being the service being invoked for the function.

So, convert the service to a macro and use a generic name (same as
that used in Linux for some consistency). While at that, also add a
data barrier which is necessary as per recommendation.

While at this, smc #0 is maintained as handcoded assembly thanks to
various gcc version eccentricities, discussion thread:
http://marc.info/?t=142542166800001&r=1&w=2

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 years agoARM: Introduce erratum workaround for 621766
Nishanth Menon [Mon, 9 Mar 2015 22:12:02 +0000 (17:12 -0500)]
ARM: Introduce erratum workaround for 621766

621766: Under a specific set of conditions, executing a sequence of
NEON or vfp load instructions can cause processor deadlock
Impacts: Every Cortex-A8 processors with revision lower than r2p1
Work around: Set L1NEON to 1

Based on ARM errata Document revision 20.0 (13 Nov 2010)

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 years agoARM: Introduce erratum workaround for 430973
Nishanth Menon [Mon, 9 Mar 2015 22:12:01 +0000 (17:12 -0500)]
ARM: Introduce erratum workaround for 430973

430973: Stale prediction on replaced inter working branch causes
Cortex-A8 to execute in the wrong ARM/Thumb state
Impacts: Every Cortex-A8 processors with revision lower than r2p1
Work around: Set IBE to 1

Based on ARM errata Document revision 20.0 (13 Nov 2010)

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 years agoARM: Introduce erratum workaround for 454179
Nishanth Menon [Mon, 9 Mar 2015 22:12:00 +0000 (17:12 -0500)]
ARM: Introduce erratum workaround for 454179

454179: Stale prediction may inhibit target address misprediction on
next predicted taken branch
Impacts: Every Cortex-A8 processors with revision lower than r2p1
Work around:  Set IBE and disable branch size mispredict to 1

Also provide a hook for SoC specific handling to take place if needed.

Based on ARM errata Document revision 20.0 (13 Nov 2010)

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 years agoARM: Introduce erratum workaround for 798870
Nishanth Menon [Mon, 9 Mar 2015 22:11:59 +0000 (17:11 -0500)]
ARM: Introduce erratum workaround for 798870

Add workaround for Cortex-A15 ARM erratum 798870 which says
"If back-to-back speculative cache line fills (fill A and fill B) are
issued from the L1 data cache of a CPU to the L2 cache, the second
request (fill B) is then cancelled, and the second request would have
detected a hazard against a recent write or eviction (write B) to the
same cache line as fill B then the L2 logic might deadlock."

Implementations for SoC families such as Exynos, OMAP5/DRA7 etc
will be widely different.

Every SoC has slightly different manner of setting up access to L2ACLR
and similar registers since the Secure Monitor handling of Secure
Monitor Call(smc) is diverse. Hence an weak function is introduced
which may be overriden to implement SoC specific accessor implementation.

Based on ARM errata Document revision 18.0 (22 Nov 2013)

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 years agoam335x_evm_usbspl: Remove other SPL modes
Tom Rini [Mon, 9 Mar 2015 16:40:36 +0000 (12:40 -0400)]
am335x_evm_usbspl: Remove other SPL modes

The purpose of this build target is to do SPL over USB RNDIS.  We remove
YMODEM, MMC and NAND (and re-set ENV to be built-in) as when those are needed
we can use the other build targets.  This brings us well under size limit again.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-tegra
Tom Rini [Tue, 10 Mar 2015 23:09:18 +0000 (19:09 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-tegra

Conflicts:
README

Signed-off-by: Tom Rini <trini@konsulko.com>
9 years agosunxi: video: Fix VIDEO_LCD_PANEL_I2C being enabled by default
Hans de Goede [Sat, 7 Mar 2015 11:00:02 +0000 (12:00 +0100)]
sunxi: video: Fix VIDEO_LCD_PANEL_I2C being enabled by default

Fix a typo in board/sunxi/Kconfig which caused VIDEO_LCD_PANEL_I2C to be
enabled on all sunxi boards. Also fix a compile error which shows up once
VIDEO_LCD_PANEL_I2C is actually disabled on most boards as it should be.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: Add Wexler TAB7200 support
Aleksei Mamlin [Wed, 4 Mar 2015 07:44:18 +0000 (10:44 +0300)]
sunxi: Add Wexler TAB7200 support

This patch add support for Wexler TAB7200 tablet.

The Wexler TAB7200 is a A20 based tablet with 7 inch display(800x480),
capacitive touchscreen(5 fingers), 1G RAM, 4G NAND, micro SD card slot,
mini HDMI port, 3.5mm audio plug, 1 USB OTG port and 1 USB 2.0 port.

Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: Ippo_q8h defconfigs: Enable otg vbus detection using AXP223 PMIC
Chen-Yu Tsai [Mon, 9 Mar 2015 07:44:17 +0000 (15:44 +0800)]
sunxi: Ippo_q8h defconfigs: Enable otg vbus detection using AXP223 PMIC

Use the AXP223 PMIC to detect VBUS for musb otg support.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: musb: Support checking VBUS using AXP221 PMIC
Chen-Yu Tsai [Mon, 9 Mar 2015 07:44:16 +0000 (15:44 +0800)]
sunxi: musb: Support checking VBUS using AXP221 PMIC

This enables the musb glue layer to use the AXP221's VBUS detection
function to check for VBUS. This fixes otg support on the A23 q8h
tablets.

Note that u-boot never calls musb_shutdown(), so once VBUS is enabled,
it is never disabled until the system is powered off, or the OS does
so. This can be used to our advantage to keep VBUS powered into the
OS, where support for AXP221 is not available yet.

Fixes: 52defe8f6570 ("sunxi: musb: Check Vbus-det before enabling otg port power")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: axp221: Add VBUS detection support
Chen-Yu Tsai [Mon, 9 Mar 2015 07:44:15 +0000 (15:44 +0800)]
sunxi: axp221: Add VBUS detection support

Some of the AXP PMICs support VBUS detection, i.e. checking whether
VBUS power input is available and usable (supplied by an external
source). A few boards use this instead of a separate GPIO to detect
VBUS on USB OTG.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosun7i: Add support for the Orange Pi Mini board
Hans de Goede [Sat, 7 Mar 2015 14:03:00 +0000 (15:03 +0100)]
sun7i: Add support for the Orange Pi Mini board

The Orange Pi Mini is an A20 based development board featuring 1G RAM, HDMI,
1Gbit ethernet, USB wifi, SATA, 2 sdcard slots (use the top one for booting),
2 USB 2.0 A receptacles, a micro USB B receptacle (otg) and a 3 ring 3.5 mm
jack connector for A/V.

Also see: http://www.orangepi.org/

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosun7i: Add support for the Orange Pi board
Hans de Goede [Sat, 7 Mar 2015 14:01:46 +0000 (15:01 +0100)]
sun7i: Add support for the Orange Pi board

The Orange Pi is an A20 based development board featuring 1G RAM, HDMI & VGA,
1Gbit ethernet, USB wifi, SATA, 4 USB 2.0 A receptacles, a micro USB B
receptacle (otg) and a 3 ring 3.5 mm jack connector for A/V.

Also see: http://www.orangepi.org/

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosun7i: Add support for the Wits Pro A20 DKT board
Hans de Goede [Sat, 7 Mar 2015 11:01:16 +0000 (12:01 +0100)]
sun7i: Add support for the Wits Pro A20 DKT board

The Wits Pro A20 DKT is an A20 Development KiT with 1G RAM, 4G NAND, sdio wifi,
1Gbit ethernet, 1024x768 lcd screen with ft5x_ts touchscreen and a ton of
IO connectors.

Note there seem to be multiple sdcard slots on the board (4 in total), but
other then mmc0 none of these are hooked up by default, there is a ton of
dip-switches which likely allow hooking some of these up, but the documentation
of the board only describes the use of a fraction of them, so for now we
only support mmc0.

Also see: http://www.merrii.com/en/pla_d.asp?id=163

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: Add support for the Forfun Q88DB tablet
Jens Lucius [Tue, 3 Mar 2015 21:45:06 +0000 (22:45 +0100)]
sunxi: Add support for the Forfun Q88DB tablet

The Forfun Q88DB is an A13 tablet in the common Q8 format.

Features are 512MB RAM, 4GB NAND, 7" Display, RTL8188 Wifi, 2 cameras.

For more details see: http://linux-sunxi.org/Forfun_Q88DB

Signed-off-by: Jens Lucius <info@jenslucius.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosun6i: Add support for the Mele I7 board
Marcus Cooper [Sat, 28 Feb 2015 14:00:57 +0000 (15:00 +0100)]
sun6i: Add support for the Mele I7 board

The Mele I7 is a Allwinner based Android TV box.

It features a A31 SOC, 1G RAM, 8GB NAND, HDMI out, A/V out,
SPDIF, IrDA, 3 USB A, 1 USB micro OTG and Wireless LAN.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosun7i: Add support for the MK808C board
Marcus Cooper [Sat, 28 Feb 2015 14:00:35 +0000 (15:00 +0100)]
sun7i: Add support for the MK808C board

The MK808C is a Allwinner based Android TV dongle.

It features a A20 SOC, 1G RAM, 8GB NAND, HDMI out, A/V out,
1 USB A, 1 USB mini OTG, Bluetooth and Wireless LAN.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: Add support for the Jesurun Q5 board
Gábor Nyers [Thu, 26 Feb 2015 11:08:15 +0000 (12:08 +0100)]
sunxi: Add support for the Jesurun Q5 board

The Jesurun Q5 has a black plastic casing with the approximate dimensions of
100mm x 100mm x 24mm with rounded edges. In terms of hardware it features an
Allwinner A10 SoC with 1GB RAM and 8GB of NAND flash. The storage capacity can
be extended up to 32GB with a MicroSD card. The external connectors are: 2x
USB-A female supporting USB2.0, 3.5mm female jack for audio, HDMI female,
SPDIF, RJ45 LAN and Power. In addition the device has 1x red LED (hard wired to
power) and an programmable green led. On the board there is also an unpopulated
IR receiver and the UART. The devices is equipped with an AXP209 PMU.

For more details see: http://linux-sunxi.org/Jesurun_Q5

Signed-off-by: Gábor Nyers <gnyers@opensuse.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: Make CONFIG_DRAM_TPR3 apply to sun[57]i
Adam Sampson [Mon, 23 Feb 2015 20:44:10 +0000 (20:44 +0000)]
sunxi: Make CONFIG_DRAM_TPR3 apply to sun[57]i

The tpr3 (timing skew) parameter is used in all supported versions of
the sunxi DRAM controller, but it was only enabled for sun4i in
47e3501a76894f4ba08bc61f33774bd5d39ff464.

Signed-off-by: Adam Sampson <ats@offog.org>
Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agocommon: cmd_elf: Add support to disable start of application
Siva Durga Prasad Paladugu [Mon, 9 Mar 2015 11:46:47 +0000 (12:46 +0100)]
common: cmd_elf: Add support to disable start of application

Added support to disable the start of application by using
a environment variable autostart

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agoarmv8/vexpress64: make multientry conditional
Linus Walleij [Mon, 9 Mar 2015 09:53:21 +0000 (10:53 +0100)]
armv8/vexpress64: make multientry conditional

While the Freescale ARMv8 board LS2085A will enter U-Boot both
on a master and a secondary (slave) CPU, this is not the common
behaviour on ARMv8 platforms. The norm is that U-Boot is entered
from the master CPU only, while the other CPUs are kept in
WFI (wait for interrupt) state.

The code determining which CPU we are running on is using the
MPIDR register, but the definition of that register varies with
platform to some extent, and handling multi-cluster platforms
(such as the Juno) will become cumbersome. It is better to only
enable the multiple entry code on machines that actually need
it and disable it by default.

Make the single entry default and add a special
ARMV8_MULTIENTRY KConfig option to be used by the
platforms that need multientry and set it for the LS2085A.
Delete all use of the CPU_RELEASE_ADDR from the Vexpress64
boards as it is just totally unused and misleading, and
make it conditional in the generic start.S code.

This makes the Juno platform start U-Boot properly.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agocommon/board_r: Restore non-cached memory setup
Jan Kiszka [Mon, 9 Mar 2015 06:47:18 +0000 (07:47 +0100)]
common/board_r: Restore non-cached memory setup

This fixes a regression of e310b93ec1, affecting Ethernet on the Jetson
TK1, e.g.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
9 years agoARM: PSCI: Rework the DT handler slightly
Tom Rini [Fri, 6 Mar 2015 01:19:36 +0000 (20:19 -0500)]
ARM: PSCI: Rework the DT handler slightly

The way the PSCI DT update happens currently means we pull in
<asm/armv7.h> everywhere, including on ARMv8 and that in turn brings in
<asm/io.h> for some non-PSCI related things that header needs to deal
with.

To fix this, we rework the hook slightly.  A good portion of
arch/arm/cpu/armv7/virt-dt.c is common looking and I hope that when PSCI
is needed on ARMv8 we can re-use this by and large.  So rename the
current hook to psci_update_dt(), move the prototype to <asm/psci.h> and
add an #ifdef that will make re-use later easier.

Reported-by: York Sun <yorksun@freescale.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: York Sun <yorksun@freescale.com>
Cc: Ian Campbell <ijc@hellion.org.uk>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: York Sun <yorksun@freescale.com>
9 years agotegra-common: increase malloc pool len by dfu mmc file buffer size
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:30 +0000 (14:01 +0100)]
tegra-common: increase malloc pool len by dfu mmc file buffer size

The dfu mmc file buffer, which was static, now is allocated
by memalign(), so the malloc pool len should be also increased.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Tom Warren <twarren.nvidia@gmail.com>
9 years agoti-armv7-common: increase malloc pool len by dfu mmc file buffer size
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:29 +0000 (14:01 +0100)]
ti-armv7-common: increase malloc pool len by dfu mmc file buffer size

The dfu mmc file buffer, which was static, now is allocated
by memalign(), so the malloc pool len should be also increased.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Tom Rini <trini@konsulko.com>
9 years agozynq-common: increase malloc pool len by dfu mmc file buffer size
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:28 +0000 (14:01 +0100)]
zynq-common: increase malloc pool len by dfu mmc file buffer size

The dfu mmc file buffer, which was static, now is allocated
by memalign(), so the malloc pool len should be also increased.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Cc: Michal Simek <monstr@monstr.eu>
Acked-by: Michal Simek <michal.simek@xilinx.com>
9 years agoodroid-xu3: defconfig: disable memset at malloc init
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:27 +0000 (14:01 +0100)]
odroid-xu3: defconfig: disable memset at malloc init

Reduce the boot time of Odroid XU3 by disabling the memset
at malloc init.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
9 years agoodroid: defconfig: disable memset at malloc init
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:26 +0000 (14:01 +0100)]
odroid: defconfig: disable memset at malloc init

Reduce the boot time of Odroid X2/U3 by disabling the memset
at malloc init.

This was tested on Odroid X2.
A quick test with checking gpio pin state using the oscilloscope.
Boot time from start to bootcmd (change gpio state by memory write command):
- ~228ms - before this change (arch memset enabled for .bss clear)
- ~100ms - after this change

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agotrats2: defconfig: disable memset at malloc init
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:25 +0000 (14:01 +0100)]
trats2: defconfig: disable memset at malloc init

Reduce the boot time of Trats2 by disabling the memset
at malloc init.

This was tested on Trats2.
A quick test with trace. Boot time from start to main_loop() entry:
- ~464ms - before this change (arch memset enabled for .bss clear)
- ~341ms - after this change

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agodlmalloc: do memset in malloc init as new default config
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:24 +0000 (14:01 +0100)]
dlmalloc: do memset in malloc init as new default config

This commit introduces new config: CONFIG_SYS_MALLOC_CLEAR_ON_INIT.

This config is an expert option and is enabled by default.

The all amount of memory reserved for the malloc, is by default set
to zero in mem_malloc_init(). When the malloc reserved memory exceeds
few MiB, then the boot process can slow down.

So disabling this config, is an expert option to reduce the boot time,
and can be disabled by Kconfig.

Note:
After disable this option, only calloc() will return the pointer
to the zeroed memory area. Previously, without this option,
the memory pointed to untouched malloc memory region, was filled
with zeros. So it means, that code with malloc() calls should
be reexamined.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agodfu: mmc: file buffer: remove static allocation
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:23 +0000 (14:01 +0100)]
dfu: mmc: file buffer: remove static allocation

For writing files, DFU implementation requires the file buffer
with the len at least of file size. For big files it requires
the same big buffer.

Previously the file buffer was allocated as a static variable,
so it was a part of U-Boot .bss section. For 32MiB len of buffer
we have 32MiB of additional space, required for this section.

The .bss needs to be cleared after the relocation.
This introduces an additional boot delay at every start, but usually
the dfu feature is not required at the standard boot, so the buffer
should be allocated only if required.

This patch removes the static allocation of this buffer,
and alloc it with memalign after first call of function:
- dfu_fill_entity_mmc()
and the buffer is freed on dfu_free_entity() call.

This was tested on Trats2.
A quick test with trace. Boot time from start to main_loop() entry:
- ~888ms - before this change (arch memset enabled for .bss clear)
- ~464ms - after this change

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Marek Vasut <marek.vasut@gmail.com>
9 years agoarm: relocation: clear .bss section with arch memset if defined
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:22 +0000 (14:01 +0100)]
arm: relocation: clear .bss section with arch memset if defined

For ARM architecture, enable the CONFIG_USE_ARCH_MEMSET/MEMCPY,
will highly increase the memset/memcpy performance. This is able
thanks to the ARM multiple register instructions.

Unfortunatelly the relocation is done without the cache enabled,
so it takes some time, but zeroing the BSS memory takes much more
longer, especially for the configs with big static buffers.

A quick test confirms, that the boot time improvement after using
the arch memcpy for relocation has no significant meaning.
The same test confirms that enable the memset for zeroing BSS,
reduces the boot time.

So this patch enables the arch memset for zeroing the BSS after
the relocation process. For ARM boards, this can be enabled
in board configs by defining: 'CONFIG_USE_ARCH_MEMSET'.

This was tested on Trats2.
A quick test with trace. Boot time from start to main_loop() entry:
- ~1384ms - before this change
-  ~888ms - after this change

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Tom Rini <trini@konsulko.com>
9 years agoexynos: config: enable arch memcpy and arch memset
Przemyslaw Marczak [Wed, 4 Mar 2015 13:01:21 +0000 (14:01 +0100)]
exynos: config: enable arch memcpy and arch memset

This commit enables the following configs:
- CONFIG_USE_ARCH_MEMCPY
- CONFIG_USE_ARCH_MEMSET
This increases the performance of memcpy/memset
and also reduces the boot time.

This was tested on Trats2.
A quick test with trace. Boot time from start to main_loop() entry:
- ~1527ms - before this change (arch memset enabled for .bss clear)
- ~1384ms - after this change

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Akshay Saraswat <akshay.s@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-dm
Tom Rini [Sun, 8 Mar 2015 12:15:23 +0000 (08:15 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-dm

9 years agoREADME: remove description about driver model configuration options
Masahiro Yamada [Wed, 25 Feb 2015 07:54:57 +0000 (16:54 +0900)]
README: remove description about driver model configuration options

All the DM-related configuration options are described in Kconfig
helps.  They should not be duplicated in README.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoMAINTAINERS: add Driver Model repository information
Masahiro Yamada [Tue, 24 Feb 2015 08:03:29 +0000 (17:03 +0900)]
MAINTAINERS: add Driver Model repository information

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agodm: i2c: Add a missing memory allocaton check
Simon Glass [Wed, 18 Feb 2015 21:10:28 +0000 (14:10 -0700)]
dm: i2c: Add a missing memory allocaton check

This strdup() is missing a check. Add it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Heiko Schocher <hs@denx.de>
9 years agoMerge branch 'buildman' of git://git.denx.de/u-boot-x86
Tom Rini [Thu, 5 Mar 2015 23:30:38 +0000 (18:30 -0500)]
Merge branch 'buildman' of git://git.denx.de/u-boot-x86

9 years agoMerge git://git.denx.de/u-boot-socfpga
Tom Rini [Thu, 5 Mar 2015 23:04:33 +0000 (18:04 -0500)]
Merge git://git.denx.de/u-boot-socfpga

9 years agoMerge git://git.denx.de/u-boot-marvell
Tom Rini [Thu, 5 Mar 2015 21:41:21 +0000 (16:41 -0500)]
Merge git://git.denx.de/u-boot-marvell

9 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Tom Rini [Thu, 5 Mar 2015 21:41:04 +0000 (16:41 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

9 years agofixdep: remove multiple .config support code
Masahiro Yamada [Fri, 27 Feb 2015 15:37:57 +0000 (00:37 +0900)]
fixdep: remove multiple .config support code

Since commit e02ee2548afe (kconfig: switch to single .config
configuration), the ".*.cmd" files are not correctly created
for SPL/TPL.  The U-Boot extension code in fixdep, which was
introduced to support the multiple .config, must be removed.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agostdio: extend "name" to 32 symbols
Alexey Brodkin [Wed, 25 Feb 2015 18:26:46 +0000 (21:26 +0300)]
stdio: extend "name" to 32 symbols

With limit of 16 symbols very simple device names derived drom device
tree description could not be displayed correctly.

For example "serial0@0xc0fc1000" will be truncated to sensless
"serial0@0xc0fc10" - note dropped tariling zeros.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agocmd_usb_mass_storage: Remove extra 'ums' string in the usage text
Fabio Estevam [Wed, 25 Feb 2015 16:03:19 +0000 (13:03 -0300)]
cmd_usb_mass_storage: Remove extra 'ums' string in the usage text

Currently the usage text for the 'ums' command looks like this:

Usage:
ums ums <USB_controller> [<devtype>] <devnum>  e.g. ums 0 mmc 0

,so remove the extra 'ums' in the text.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Marek Vasut <marex@denx.de>
9 years agocommon/board_f: implement type casting for gd structure
Alexey Brodkin [Wed, 25 Feb 2015 14:59:02 +0000 (17:59 +0300)]
common/board_f: implement type casting for gd structure

In case of global data structure defined as "register volatile" compiler
throws an warning about incorrect type used:
 --->8---
 common/board_f.c: In function "board_init_f_r":
 common/board_f.c:1073:2: warning: passing argument 1 of "&board_init_r
 +(sizetype)gd->reloc_off" discards "volatile" qualifier from pointer
 target type [enabled by default]
  (board_init_r + gd->reloc_off)(gd, gd->relocaddr);
  ^
 common/board_f.c:1073:2: note: expected "struct gd_t *" but argument is
 of type "volatile struct gd_t *"
 --->8---

An obvious fix is manual casting to "gd_t *".

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agolib/asm-offsets - make GD_RELOCADDR, GD_RELOC_OFF & GD_START_ADDR_SP available for...
Alexey Brodkin [Wed, 25 Feb 2015 10:09:20 +0000 (13:09 +0300)]
lib/asm-offsets - make GD_RELOCADDR, GD_RELOC_OFF & GD_START_ADDR_SP available for all architectures

GD_RELOCADDR, GD_RELOC_OFF & GD_START_ADDR_SP are generic members of
global data structure so why don't we allow architectures other than ARM
to use it.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agospl: fix calling "spl export .." more than once
Heiko Schocher [Tue, 24 Feb 2015 06:04:38 +0000 (07:04 +0100)]
spl: fix calling "spl export .." more than once

running "spl export ..." more than once fails with:

Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
ERROR prep subcommand failed!
Subcommand failed

reason is commmit:
35fc84fa1f: Refactor the bootm command to reduce code duplication

It used "state != BOOTM_STATE_START" but state is a bitfield, so
check if the bit BOOTM_STATE_START is not set. With this fix,
"spl export ..." can called more than once ...

Signed-off-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agovexpress64: juno: add NOR flash detection
Linus Walleij [Thu, 19 Feb 2015 16:19:37 +0000 (17:19 +0100)]
vexpress64: juno: add NOR flash detection

This enables the vexpress64 to detect its NOR flash so that we
can load kernel etc from it.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agouse ASM_NL instead of '; ' for assembler new line character in the macro
Chen Gang [Thu, 19 Feb 2015 15:51:27 +0000 (18:51 +0300)]
use ASM_NL instead of '; ' for assembler new line character in the macro

For some assemblers, they use another character as newline in a macro
(e.g. arc uses '`'), so for generic assembly code, need use ASM_NL (a
macro) instead of ';' for it.

Basically this is the same patch as applied to Linux kernel -
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/include/linux/linkage.h?id=9df62f054406992ce41ec4558fca6a0fa56fffeb

but modified a bit to fit in U-Boot.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
9 years agoomap: gpmc: 'nandecc sw' can use HAM1 or BCH8
Ash Charles [Wed, 18 Feb 2015 19:25:11 +0000 (11:25 -0800)]
omap: gpmc: 'nandecc sw' can use HAM1 or BCH8

The 'nandecc sw' command selects a software-based error correction
algorithm.  By default, this is OMAP_ECC_HAM1_CODE_SW but some
platforms use OMAP_ECC_BCH8_CODE_HW_DETECTION_SW as their
software-based correction algorithm.  Allow a user to be specific e.g.
 # nandecc sw <hamming|bch8>
where 'hamming' is still the default.

Note: we don't just use CONFIG_NAND_OMAP_ECCSCHEME as it might be set
      to a hardware-based ECC scheme---a little strange when the user
      has requested 'sw' ECC.

Signed-off-by: Ash Charles <ashcharles@gmail.com>
9 years agomtd: nand: omap_gpmc: Make ready/busy pins configurable
Michal Sojka [Tue, 17 Feb 2015 16:08:37 +0000 (17:08 +0100)]
mtd: nand: omap_gpmc: Make ready/busy pins configurable

Commit fb384c4720ca7496775d6578f184bf628db73456 introduced the use of
WAIT0 pin for determining whether the NAND is ready or not. This only
works if all NAND chips are connected to WAIT0. If some chips are
connected to the other available pin WAIT1, nand_wait() does not really
wait and prints a WARN_ON message.

This patch allows the board to provide configuration of which chip is
connected to which WAITx signal. For example, one can define in
include/configs/foo.h:

    #define CONFIG_NAND_OMAP_GPMC_WSCFG     0,0,1,1

This would mean that chips using to CS0 and 1 are connected to WAIT0 and
chips with CS2 and 3 are connected to WAIT1.

Signed-off-by: Michal Sojka <sojka@merica.cz>
Acked-by: Stefan Roese <sr@denx.de>
Tested-by: Michal Vokáč <michal.vokac@comap.cz>
Cc: Tom Rini <trini@ti.com>
9 years agofs: ext4 write: return file len on success
Przemyslaw Marczak [Tue, 17 Feb 2015 14:31:52 +0000 (15:31 +0100)]
fs: ext4 write: return file len on success

After rework of the file system API, the size of ext4
write was missed. This causes printing unreliable write
size at the end of the file system write operation.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
9 years agovexpress64: juno: support SMC9118 ethernet
Linus Walleij [Tue, 17 Feb 2015 10:35:25 +0000 (11:35 +0100)]
vexpress64: juno: support SMC9118 ethernet

This configures the Juno board to enable ethernet using the
SMSC9118 ethernet controller found in the board. Tested by
TFTP-booting a kernel over ethernet.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agom68k: Add generic board support for MCF547X/8X and MCF5445X
Alison Wang [Thu, 12 Feb 2015 10:33:15 +0000 (18:33 +0800)]
m68k: Add generic board support for MCF547X/8X and MCF5445X

This patch adds generic board support for MCF547X/8X and MCF5445X.
It is based on the patch about common generic board support for
M68K architecture sent by Angelo.

Signed-off-by: Alison Wang <alison.wang@freescale.com>
9 years agom68k: add generic-board support
angelo@sysam.it [Thu, 12 Feb 2015 00:40:17 +0000 (01:40 +0100)]
m68k: add generic-board support

Add generic-board support for the m68k architecture.

Signed-off-by: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: add mcf5307 cpu support
angelo@sysam.it [Thu, 12 Feb 2015 00:40:00 +0000 (01:40 +0100)]
m68k: add mcf5307 cpu support

Add Freescale MCF5307 cpu support.

Signed-off-by: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: add amcore board support
angelo@sysam.it [Thu, 12 Feb 2015 00:39:40 +0000 (01:39 +0100)]
m68k: add amcore board support

Add Sysam Amcore m68k-based board support.

Signed-off-by: Angelo Dureghello <angelo@sysam.it>
9 years agoAdding Support for BAV335x boards
Gilles Gameiro [Tue, 10 Feb 2015 09:36:01 +0000 (01:36 -0800)]
Adding Support for BAV335x boards

9 years agoomap3: add support for QUIPOS Cairo board.
Albert ARIBAUD \(3ADEV\) [Tue, 3 Feb 2015 17:13:14 +0000 (18:13 +0100)]
omap3: add support for QUIPOS Cairo board.

This patch extends OMAP3 support for AM/DM37xx and
introduces the AM3703-based Quipos Cairo board.

Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agocmd_yaffs: Clean up command usage messages
Peter Tyser [Tue, 3 Feb 2015 16:15:04 +0000 (10:15 -0600)]
cmd_yaffs: Clean up command usage messages

Remove duplicate command names in usage messages to fix issues such as:
  => help yls
  yls - yaffs ls

  Usage:
  yls yls [-l] dirname

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
9 years agoboard/BuR/kwb: Support modify bootcmd through reset-controller
Hannes Petermaier [Tue, 3 Feb 2015 12:22:43 +0000 (13:22 +0100)]
board/BuR/kwb: Support modify bootcmd through reset-controller

For some cases it is necessary to modify temporaly the bootcommand.
This can be done by writing into the Scratchregister a specific value:

* 0xCC - modify bootcmd "run netboot"
* 0xCD - modify bootcmd "run netscript"
* 0xCE - modify bootcmd "run mmcboot"

the environment in flash is NOT overwritten.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/kwb: Form a bootline for vxWorks
Hannes Petermaier [Tue, 3 Feb 2015 12:22:42 +0000 (13:22 +0100)]
board/BuR/kwb: Form a bootline for vxWorks

vxWorks needs several parameters which are set by the bootloader und his
environment. So we form a vxWorks bootline and pass the result to vxWorks on
a predefined address.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/kwb: Redesign default-environment
Hannes Petermaier [Tue, 3 Feb 2015 12:22:41 +0000 (13:22 +0100)]
board/BuR/kwb: Redesign default-environment

Due to several changes in the boot-process we do a complete redesign of the
default environment.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/kwb: Support booting Linux
Hannes Petermaier [Tue, 3 Feb 2015 12:22:40 +0000 (13:22 +0100)]
board/BuR/kwb: Support booting Linux

For series testing purpose we need to boot some linux, therefore we enable
the needed features

- bootz
- devicetree

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/kwb: switch to board HW-Rev3
Hannes Petermaier [Tue, 3 Feb 2015 12:22:39 +0000 (13:22 +0100)]
board/BuR/kwb: switch to board HW-Rev3

The board has been redesigned, therefore we need from now other I/O Pins to
mux and handle.

Older boards aren't supported from now anymore.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/tseries: cosmetic changes
Hannes Petermaier [Tue, 3 Feb 2015 12:22:38 +0000 (13:22 +0100)]
board/BuR/tseries: cosmetic changes

remove unnary '#define ETHLED_ORANGE (96+16) /* GPIO3_16 */'

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/tseries: Rework default-environment settings.
Hannes Petermaier [Tue, 3 Feb 2015 12:22:37 +0000 (13:22 +0100)]
board/BuR/tseries: Rework default-environment settings.

Due to several changes of the boot-process we've redesigned the default-
environment settings completly.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/common: Add support for displaying BMP on LCD
Hannes Petermaier [Tue, 3 Feb 2015 12:22:36 +0000 (13:22 +0100)]
board/BuR/common: Add support for displaying BMP on LCD

Customer wants to display some logo very quickly after power on, so we support
from now loading a compressed bmp.gz to the screen.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/common: Enable CONFIG_CMD_TIME
Hannes Petermaier [Tue, 3 Feb 2015 12:22:35 +0000 (13:22 +0100)]
board/BuR/common: Enable CONFIG_CMD_TIME

time measurement of u-boot commands is needed very often during development.
We add this feature until development is completed. Maybe forever :)

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/common: Introduce Network Console and common environment for it
Hannes Petermaier [Tue, 3 Feb 2015 12:22:34 +0000 (13:22 +0100)]
board/BuR/common: Introduce Network Console and common environment for it

It is often necessary to "break in" into boards bootloader commandline if
something fails or even for development purposes some parameters have to be
changed.

So we enable u-boot's CONFIG_NETCONSOLE feature.
We also modify Networksettings to apply with this new use-case.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/tseries: Chg Pinmux - enable UART1 pins
Hannes Petermaier [Tue, 3 Feb 2015 12:22:33 +0000 (13:22 +0100)]
board/BuR/tseries: Chg Pinmux - enable UART1 pins

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/tseries: Chg pinmux - use free NAND Pins in non NAND-config as GPIO
Hannes Petermaier [Tue, 3 Feb 2015 12:22:32 +0000 (13:22 +0100)]
board/BuR/tseries: Chg pinmux - use free NAND Pins in non NAND-config as GPIO

On boards were we have no NAND-flash soldered, we want to use those free pins
as regular gpio.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/tseries: Change pinmux for GPIO2_28 from GPIO to PWM-Timeroutput
Hannes Petermaier [Tue, 3 Feb 2015 12:22:31 +0000 (13:22 +0100)]
board/BuR/tseries: Change pinmux for GPIO2_28 from GPIO to PWM-Timeroutput

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/tseries: Enable EXT4 support
Hannes Petermaier [Tue, 3 Feb 2015 12:22:30 +0000 (13:22 +0100)]
board/BuR/tseries: Enable EXT4 support

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/tseries: Enable U-Boot BOOTCOUNT feature
Hannes Petermaier [Tue, 3 Feb 2015 12:22:29 +0000 (13:22 +0100)]
board/BuR/tseries: Enable U-Boot BOOTCOUNT feature

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/tseries: Enable HW-Watchdog
Hannes Petermaier [Tue, 3 Feb 2015 12:22:28 +0000 (13:22 +0100)]
board/BuR/tseries: Enable HW-Watchdog

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/common: try to setup cpsw mac-address from the devicetree
Hannes Petermaier [Tue, 3 Feb 2015 12:22:27 +0000 (13:22 +0100)]
board/BuR/common: try to setup cpsw mac-address from the devicetree

since we have a dtb blob programmed on the board we try to setup the cpsw
interface with the programmed mac.
If this method fails, we fall back to the device-fuses.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/common: Take usage of am335x LCD-Display
Hannes Petermaier [Tue, 3 Feb 2015 12:22:26 +0000 (13:22 +0100)]
board/BuR/common: Take usage of am335x LCD-Display

a summary screen to the lcd.
Values are taken from environment and or devicetree blob.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agocommon/lcd: Add command for writing to lcd-display
Hannes Petermaier [Tue, 3 Feb 2015 12:22:25 +0000 (13:22 +0100)]
common/lcd: Add command for writing to lcd-display

Sometimes we do not want redirect u-boot's console to screen but anyway we want
write out some status information out of a u-boot script to the display.

So we cannot use the normal "echo ....", instead we write explicitly using
"lcdputs ..." for writing to the actual cursor position on LCD.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agocommon/lcd: Add command for setting cursor within lcd-console
Hannes Petermaier [Tue, 3 Feb 2015 12:22:24 +0000 (13:22 +0100)]
common/lcd: Add command for setting cursor within lcd-console

Sometimes we do not want redirect u-boot's console to screen but anyway we want
write out some status information out of a u-boot script to the display.

To define the specific position of the string to be written, we have to set
the cursor with "setcurs" before writing.

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agodrivers/video/am335x-fb: Add possibility to wait for stable power/picture
Hannes Petermaier [Tue, 3 Feb 2015 12:22:23 +0000 (13:22 +0100)]
drivers/video/am335x-fb: Add possibility to wait for stable power/picture

Often on boards exists a circuit which switches power on/off to LCD display.
Due to the need of limiting the in-rush current the output voltage from this
circuit rises "slowly", so it is necessary to wait a bit (VCC ramp up time)
before starting output on LCD-pins.
This time is specified in <n> ms within the panel-settings, called "pup_delay"

Further some LCDs need a couple of frames to stabilize the image on it.
We have now the possibility to wait some time after starting output on LCD.
This time is also specified in <n> ms within panel-settings, called "pon_delay"

Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoarm: spear: Move to generic board support
Stefan Roese [Tue, 3 Feb 2015 07:27:21 +0000 (08:27 +0100)]
arm: spear: Move to generic board support

Without this change the board support for these SPEAr boards would
be dropped soon. Generic board support seems to work just fine.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vipin Kumar <vk.vipin@gmail.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
9 years agobuildman: Add a space before the list of boards
Simon Glass [Fri, 6 Feb 2015 05:06:11 +0000 (22:06 -0700)]
buildman: Add a space before the list of boards

Tweak the output slightly so we don't get things like:

   - board1 board2+  board3 board4

There should be a space before the '+'.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Correct toolchain download feature
Simon Glass [Tue, 3 Mar 2015 00:05:15 +0000 (17:05 -0700)]
buildman: Correct toolchain download feature

Commit d908898 updated the ScanPath() function but not its documentation
and not all its callers.

This breaks the toolchain check after it is downloaded. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Heiko Schocher <hs@denx.de>
9 years agodreamplug: set CONFIG_BUILD_TARGET to build u-boot.kwb
Ian Campbell [Tue, 24 Feb 2015 08:38:57 +0000 (08:38 +0000)]
dreamplug: set CONFIG_BUILD_TARGET to build u-boot.kwb

Saves having to remember to ask make for it explicitly.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Acked-By: Prafulla Wadaskar <prafulla@marvell.com>
9 years agodreamplug: switch to GENERIC_BOARD
Ian Campbell [Tue, 24 Feb 2015 08:38:56 +0000 (08:38 +0000)]
dreamplug: switch to GENERIC_BOARD

Built and booted to a Linux prompt with no issues discovered. network and usb
access to the external mmc are ok. (my internal mmc is knackered at the h/w
level).

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Acked-By: Prafulla Wadaskar <prafulla@marvell.com>
9 years agokwbimage: align v1 binary header to 4B
Chris Packham [Sun, 22 Feb 2015 22:25:20 +0000 (11:25 +1300)]
kwbimage: align v1 binary header to 4B

According to the Armada-XP documentation the binary header format
requires the header length to be aligned to 4B.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Acked-by: Stefan Roese <sr@denx.de>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
9 years agoarm: aspenite: convert to generic board
Ajay Bhargav [Mon, 16 Feb 2015 15:04:48 +0000 (16:04 +0100)]
arm: aspenite: convert to generic board

Enable CONFIG_SYS_GENERIC_BOARD for Marvell Aspenite.

Signed-off-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Acked-by: Luka Perkov <luka.perkov@sartura.hr>
9 years agoarm: gplugd: convert to generic board
Ajay Bhargav [Mon, 16 Feb 2015 15:02:30 +0000 (16:02 +0100)]
arm: gplugd: convert to generic board

Enable CONFIG_SYS_GENERIC_BOARD for Marvell gplugD.

Signed-off-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Acked-by: Luka Perkov <luka.perkov@sartura.hr>
9 years agoarm: socfpga: Enable DM and DM_SPI
Marek Vasut [Wed, 18 Feb 2015 21:33:46 +0000 (22:33 +0100)]
arm: socfpga: Enable DM and DM_SPI

Enable DM and DM_SPI support for both Cyclone 5 and Arria 5 boards,
since they use drivers which require those.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chin Liang See <clsee@opensource.altera.com>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Acked-by: Pavel Machek <pavel@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Stefan Roese <sr@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Cc: Vince Bridgers <vbridger@opensource.altera.com>
9 years agoSECURE_BOOT : enable esbc_validate command for powerpc and arm platforms.
gaurav rana [Fri, 27 Feb 2015 04:16:17 +0000 (09:46 +0530)]
SECURE_BOOT : enable esbc_validate command for powerpc and arm platforms.

esbc_validate command uses various IP Blocks: Security Monitor, CAAM block
and SFP registers. Hence the respective CONFIG's are enabled.

Apart from these CONFIG_SHA_PROG_HW_ACCEL and CONFIG_RSA are also enabled.

Signed-off-by: Gaurav Rana <gaurav.rana@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agoSECURE BOOT: Add command for validation of images
gaurav rana [Fri, 27 Feb 2015 04:15:35 +0000 (09:45 +0530)]
SECURE BOOT: Add command for validation of images

1. esbc_validate command is meant for validating header and
   signature of images (Boot Script and ESBC uboot client).
   SHA-256 and RSA operations are performed using SEC block in HW.
   This command works on both PBL based and Non PBL based Freescale
   platforms.
   Command usage:
   esbc_validate img_hdr_addr [pub_key_hash]
2. ESBC uboot client can be linux. Additionally, rootfs and device
   tree blob can also be signed.
3. In the event of header or signature failure in validation,
   ITS and ITF bits determine further course of action.
4. In case of soft failure, appropriate error is dumped on console.
5. In case of hard failure, SoC is issued RESET REQUEST after
   dumping error on the console.
6. KEY REVOCATION Feature:
   QorIQ platforms like B4/T4 have support of srk key table and key
   revocation in ISBC code in Silicon.
   The srk key table allows the user to have a key table with multiple
   keys and revoke any key in case of particular key gets compromised.
   In case the ISBC code uses the key revocation and srk key table to
   verify the u-boot code, the subsequent chain of trust should also
   use the same.
6. ISBC KEY EXTENSION Feature:
   This feature allows large number of keys to be used for esbc validation
   of images. A set of public keys is being signed and validated by ISBC
   which can be further used for esbc validation of images.

Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Signed-off-by: Gaurav Rana <gaurav.rana@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agofsl_sec_mon: Add driver for Security Monitor block of Freescale
gaurav rana [Fri, 27 Feb 2015 04:14:22 +0000 (09:44 +0530)]
fsl_sec_mon: Add driver for Security Monitor block of Freescale

The Security Monitor is the SOC’s central reporting point for
security-relevant events such as the success or failure of boot
software validation and the detection of potential security compromises.

The API's for transition of Security states have been added
which will be used in case of SECURE BOOT.

Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Signed-off-by: Gaurav Rana <gaurav.rana@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agofsl_sfp : Move ccsr_sfp_regs definition to common include
gaurav rana [Fri, 27 Feb 2015 04:13:49 +0000 (09:43 +0530)]
fsl_sfp : Move ccsr_sfp_regs definition to common include

Freescale sfp has been used for mpc8xxx. It will be used
for ARM-based SoC as well. This patch moves the CCSR defintion of
sfp_regs to common include. This patch also defines ccsr_sfp_regs
definition for newer versions of SFP.

Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Signed-off-by: Gaurav Rana <gaurav.rana@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agorsa : Compile Modular Exponentiation files based on CONFIG_RSA_SOFTWARE_EXP
gaurav rana [Fri, 27 Feb 2015 03:40:06 +0000 (09:10 +0530)]
rsa : Compile Modular Exponentiation files based on CONFIG_RSA_SOFTWARE_EXP

Remove dependency of rsa_mod_exp from CONFIG_FIT_SIGNATURE.
As rsa modular exponentiation is an independent module
and can be invoked independently.

Signed-off-by: Gaurav Rana <gaurav.rana@freescale.com>
Acked-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agompc85xx/t104xrdb : remove raw timing parameter
vijay rai [Tue, 3 Feb 2015 13:02:41 +0000 (13:02 +0000)]
mpc85xx/t104xrdb : remove raw timing parameter

This board uses DDR DIMM. Reading SPD provides more flexibility.
Raw timing parameter code should be removed after debugging.

Signed-off-by: Vijay Rai <vijay.rai@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>