oweals/u-boot.git
11 years agoTegra: Split tegra_get_chip_type() into soc & sku funcs
Tom Warren [Wed, 10 Apr 2013 17:32:32 +0000 (10:32 -0700)]
Tegra: Split tegra_get_chip_type() into soc & sku funcs

As suggested by Stephen Warren, use tegra_get_chip() to return
the pure CHIPID for a Tegra SoC (i.e. 0x20 for Tegra20, 0x30 for
Tegra30, etc.) and rename tegra_get_chip_type() to reflect its true
function, i.e. tegra_get_chip_sku(), which returns an ID like
TEGRA_SOC_T25, TEGRA_SOC_T33, etc.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
11 years agoTegra: Fix MSELECT clock divisors for T30/T114.
Tom Warren [Wed, 3 Apr 2013 21:39:30 +0000 (14:39 -0700)]
Tegra: Fix MSELECT clock divisors for T30/T114.

A comparison of registers between our internal NV U-Boot and
u-boot-tegra/next showed some discrepancies in the MSELECT
clock divisor programming. T20 doesn't have a MSELECT clk src reg.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
11 years agoTegra114: Initialize System Counter (TSC) with osc frequency
Tom Warren [Mon, 1 Apr 2013 22:48:54 +0000 (15:48 -0700)]
Tegra114: Initialize System Counter (TSC) with osc frequency

T114 needs the SYSCTR0 counter initialized so the TSC can be
read by the kernel. Do it in the bootloader since it's a write-once
deal (secure/non-secure mode dependent).

Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
11 years agoTegra: Configure L2 cache control reg properly.
Tom Warren [Mon, 25 Mar 2013 23:22:26 +0000 (16:22 -0700)]
Tegra: Configure L2 cache control reg properly.

Without this change, kernel fails at calling function cache_clean_flush
during kernel early boot.

Aprocryphally, intended for T114 only, so I check for a T114 SoC.
Works (i.e. dalmore 3.8 kernel now starts printing to console).

Signed-off-by: Tom Warren <twarren@nvidia.com>
11 years agoTegra: TEC: Enable boot script support
Thierry Reding [Wed, 3 Apr 2013 04:52:45 +0000 (04:52 +0000)]
Tegra: TEC: Enable boot script support

Boot script support brings TEC in line with other Tegra boards. To
enable booting a Linux kernel with initial ramdisk, also include support
for the new FIT image type.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
11 years agoTegra: Plutux: Enable NAND and boot script support
Thierry Reding [Wed, 3 Apr 2013 04:52:44 +0000 (04:52 +0000)]
Tegra: Plutux: Enable NAND and boot script support

Boot script support brings Plutux in line with other Tegra boards. In
order to enable booting a Linux kernel with initial ramdisk, also add
support for the new FIT image type.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
11 years agoTegra: Medcom-Wide: Enable NAND and boot script support
Thierry Reding [Wed, 3 Apr 2013 04:52:43 +0000 (04:52 +0000)]
Tegra: Medcom-Wide: Enable NAND and boot script support

Boot script support brings Medcom-Wide in line with other Tegra boards.
In order to enable booting a Linux kernel with initial ramdisk, also add
support for the new FIT image type.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
11 years agoTegra: All Tamonten-derived boards use onboard NAND
Thierry Reding [Wed, 3 Apr 2013 04:52:42 +0000 (04:52 +0000)]
Tegra: All Tamonten-derived boards use onboard NAND

Move the nand-controller node to the tegra20-tamonten.dtsi so that it
can be shared between all derived boards.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
11 years agoTegra: Restore cp15 VBAR _start vector write for ARMv7
Tom Warren [Thu, 28 Mar 2013 17:03:22 +0000 (10:03 -0700)]
Tegra: Restore cp15 VBAR _start vector write for ARMv7

A start vector fix was added by AneeshV for OMAP4 (commit 0d479b53),
and caused the old monilithic Tegra builds to hang due to an undefined
instruction trap. Previously, the code needed to run on both the
AVP (ARM7TDI) and A9, and the AVP doesn't have a CP15 register.
I corrected this in commit 6d6c0bae w/#ifndef CONFIG_TEGRA, but
now that we use SPL, and boot the AVP w/o any ARMv7 code, I can
revert my change, and make Aneesh's change apply to Tegra.

Signed-off-by: Tom Warren <twarren@nvidia.com>
11 years agoTegra: enable verify support for the crc32 command
Tom Warren [Tue, 26 Mar 2013 17:39:33 +0000 (10:39 -0700)]
Tegra: enable verify support for the crc32 command

Some 3rd-party flash tools use the -v (verify) option of crc32 command.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
11 years agoARM: tegra: support T33 SKU of Tegra30
Stephen Warren [Wed, 27 Mar 2013 09:37:02 +0000 (09:37 +0000)]
ARM: tegra: support T33 SKU of Tegra30

Make U-Boot aware of the T33 SKU of Tegra30, and treat it identically
to any other Tegra30.

An alternative would be to simply remove the SKU checking from
tegra_get_chip_type(); most use of the value most likely simply wants
to know the current chip, not the specific SKU. Or, the function could
be split into separate tegra_get_chip() and tegra_get_sku() for the
cases where differentiation really is required.

I wonder whether tegra_get_chip_type() should printf() whenever any
unkown chip/SKU is found, although perhaps the function is called so
early that the printf() wouldn't actually make it to the UART anyway.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
11 years agoARMv7: start.S: stay in HYP mode if u-boot is entered in it
Andre Przywara [Tue, 2 Apr 2013 05:43:36 +0000 (05:43 +0000)]
ARMv7: start.S: stay in HYP mode if u-boot is entered in it

The KVM and Xen hypervisors for the Cortex-A15 virtualization
implementation need to be entered in HYP mode. Should the primary
board firmware already enter HYP mode (Calxeda firmware does that),
we should not deliberately drop back to SVC mode.
Since U-boot does not use the MMU, running in HYP mode is just fine.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agocosmetic: fix CONFIG_SPL_BSS_MAX_SIZE typo in README
Albert ARIBAUD [Sun, 14 Apr 2013 04:48:38 +0000 (04:48 +0000)]
cosmetic: fix CONFIG_SPL_BSS_MAX_SIZE typo in README

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
11 years agosmdk5250, snow: convert to CONFIG_SPL_MAX_FOOTPRINT
Albert ARIBAUD [Fri, 12 Apr 2013 05:14:33 +0000 (05:14 +0000)]
smdk5250, snow: convert to CONFIG_SPL_MAX_FOOTPRINT

This target wants to check full SPL size, BSS included.
Remove CONFIG_SPL_MAX_SIZE definition and instead define
CONFIG_SPL_MAX_FOOTPRINT.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
11 years agoda850evm, da850_am18xxevm: convert to CONFIG_SPL_MAX_FOOTPRINT
Albert ARIBAUD [Fri, 12 Apr 2013 05:14:32 +0000 (05:14 +0000)]
da850evm, da850_am18xxevm: convert to CONFIG_SPL_MAX_FOOTPRINT

This target wants to check full SPL size, BSS included.
Remove CONFIG_SPL_MAX_SIZE definition and instead define
CONFIG_SPL_MAX_FOOTPRINT.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
11 years agocam_enc_4xx: convert to CONFIG_SPL_MAX_FOOTPRINT
Albert ARIBAUD [Fri, 12 Apr 2013 05:14:31 +0000 (05:14 +0000)]
cam_enc_4xx: convert to CONFIG_SPL_MAX_FOOTPRINT

This target wants to check full SPL size, BSS included.
Remove CONFIG_SPL_MAX_SIZE definition and instead define
CONFIG_SPL_MAX_FOOTPRINT.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
11 years agoARM: fix CONFIG_SPL_MAX_SIZE semantics
Albert ARIBAUD [Fri, 12 Apr 2013 05:14:30 +0000 (05:14 +0000)]
ARM: fix CONFIG_SPL_MAX_SIZE semantics

Remove SPL-related ASSERT() in arch/arm/cpu/u-boot.lds
as this file is never used for SPL builds.

Rewrite the ASSERT() in arch/arm/cpu/u-boot-spl.lds
to separately test image (text,data,rodata...) size,
BSS size, and full footprint each against its own max,
and make Tegra boards check full footprint.

Also, output section mmutable is not used in SPL builds.
Remove it.

Finally, update README regarding the (now homogeneous)
semantics of CONFIG_SPL_[BSS_]MAX_SIZE and add the new
CONFIG_SPL_MAX_FOOTPRINT macro.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoMerge branch 'u-boot-imx/master' into 'u-boot-arm/master'
Albert ARIBAUD [Sun, 14 Apr 2013 09:45:06 +0000 (11:45 +0200)]
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'

11 years agofsl_esdhc: Fix DMA transfer completion waiting loop
Andrew Gabbasov [Sun, 7 Apr 2013 23:06:08 +0000 (23:06 +0000)]
fsl_esdhc: Fix DMA transfer completion waiting loop

Rework the waiting for transfer completion loop condition
to continue waiting until both Transfer Complete and DMA End
interrupts occur. Checking of DLA bit in Present State register
looks not needed in addition to interrupts status checking,
so it can be removed from the condition. Also, DMA Error
condition is added to the list of data errors, checked in the loop.

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
11 years agofsl_esdhc: flush cache after IO completion
Eric Nelson [Wed, 3 Apr 2013 12:31:56 +0000 (12:31 +0000)]
fsl_esdhc: flush cache after IO completion

The cache should invalidate the read buffer for
the SD card interface after the transfer complete,
not command-complete.

Tested-by: Andrew Gabbasov <Andrew_Gabbasov@mentor.com>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
11 years agoMerge branch 'u-boot-imx/master' into 'u-boot-arm/master'
Albert ARIBAUD [Sun, 14 Apr 2013 08:38:37 +0000 (10:38 +0200)]
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'

11 years agoARM: Fix __bss_start and __bss_end in linker scripts
Albert ARIBAUD [Thu, 11 Apr 2013 05:43:21 +0000 (05:43 +0000)]
ARM: Fix __bss_start and __bss_end in linker scripts

Commit 3ebd1cbc introduced compiler-generated __bss_start
and __bss_end__ and commit c23561e7 rewrote all __bss_end__
as __bss_end. Their merge caused silent and harmless but
potentially bug-inducing clashes between compiler- and linker-
generated __bss_end symbols.

Make __bss_end and __bss_start compiler-only, and create
__bss_base and __bss_limit for linker-only use.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agospi: mxc_spi: Set master mode for all channels
Fabio Estevam [Tue, 9 Apr 2013 13:06:25 +0000 (13:06 +0000)]
spi: mxc_spi: Set master mode for all channels

The glitch in the SPI clock line, which commit 3cea335c34 (spi: mxc_spi: Fix spi
clock glitch durant reset) solved, is back now and itwas re-introduced by
commit d36b39bf0d (spi: mxc_spi: Fix ECSPI reset handling).

Actually the glitch is happening due to always toggling between slave mode
and master mode by configuring the CHANNEL_MODE bits in this reset function.

Since the spi driver only supports master mode, set the mode for all channels
always to master mode in order to have a stable, "glitch-free" SPI clock line.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agomx6qsabre{sd, auto}: Fix environment as 'mmc rescan' takes no arguments
Otavio Salvador [Wed, 10 Apr 2013 16:55:50 +0000 (16:55 +0000)]
mx6qsabre{sd, auto}: Fix environment as 'mmc rescan' takes no arguments

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agoBUGFIX: arm: data abort in get_bad_stack_swi
Tetsuyuki Kobayashi [Fri, 5 Apr 2013 00:12:51 +0000 (00:12 +0000)]
BUGFIX: arm: data abort in get_bad_stack_swi

When swi instruction is executed, it is expected to get message
"software interrupt" in console and dump registers and reboot, as
do_software_interrupt() in arch/arm/lib/interrupts.c.
But, actually it causes data abort accessing wrong address in get_bad_stack_swi
macro in arch/arm/cpu/v7/start.S.
This patch fixes this problem.

The same mistake in arch/arm/cpu/{arm1136,arm1176,pxa}/start.S.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
11 years agoMerge branch 'u-boot-ti/master' into 'u-boot-arm/master'
Albert ARIBAUD [Sat, 13 Apr 2013 07:39:29 +0000 (09:39 +0200)]
Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'

11 years agointegrator: enable device tree
Linus Walleij [Wed, 3 Apr 2013 19:19:20 +0000 (19:19 +0000)]
integrator: enable device tree

This enables the device tree library on the Integrator platforms
so we can pass a device tree when booting.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoVCMA9: Enable CONFIG_CMD_NAND_YAFFS
Tom Rini [Tue, 5 Mar 2013 05:54:05 +0000 (05:54 +0000)]
VCMA9: Enable CONFIG_CMD_NAND_YAFFS

As this board has NAND and supports YAFFS2, add CONFIG_MD_NAND_YAFFS

Cc: David Müller <d.mueller@elsoft.ch>
Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: David Müller <d.mueller@elsoft.ch>
11 years agoMerge branch 'u-boot/master' into 'u-boot-arm/master'
Albert ARIBAUD [Fri, 12 Apr 2013 20:07:57 +0000 (22:07 +0200)]
Merge branch 'u-boot/master' into 'u-boot-arm/master'

Conflicts:
drivers/video/exynos_fb.c

11 years agoomap5_common.h: Switch to ext4
Tom Rini [Thu, 11 Apr 2013 08:01:42 +0000 (08:01 +0000)]
omap5_common.h: Switch to ext4

ext3 should not be used on SD cards, so use ext4 instead.

Cc: Sricharan R <r.sricharan@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
11 years agoomap3: Display MHz instead of mHz on the console
man.huber@arcor.de [Wed, 10 Apr 2013 12:12:17 +0000 (12:12 +0000)]
omap3: Display MHz instead of mHz on the console

The processor is hopefully running with M(ega)Hz and not with m(illi)Hz.

Signed-off-by: Manfred Huber <man.huber@arcor.de>
11 years agoam335x: Really correct DDR timings on new BeagleBone part
Tom Rini [Fri, 12 Apr 2013 16:38:16 +0000 (12:38 -0400)]
am335x: Really correct DDR timings on new BeagleBone part

The previous timings were done on the internal-only A1 board which has
different DDR part than all later revs.  The timings need a slight
adjustment to be correct in all cases with later revs.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoarm/km: add support for kmsuv31 board
Holger Brunck [Tue, 15 Jan 2013 22:51:22 +0000 (22:51 +0000)]
arm/km: add support for kmsuv31 board

This board is from a u-boot point of view a mixture between kmnusa and
a standard km_kirkwood board. We have our u-boot environment in the spi
NOR flash, but we have a direct connection between the kirkwood and the
piggy. A FPGA is connected via the PCIe interface. So we only have to
select the specific features in the board setup.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
Acked-By: Prafulla Wadaskar <prafulla@marvell.com>
11 years agoarm/km: use CONFIG_NAND_ECC_BCH
Holger Brunck [Tue, 15 Jan 2013 22:51:21 +0000 (22:51 +0000)]
arm/km: use CONFIG_NAND_ECC_BCH

Switch from 1-bit ecc to 4-bit ecc.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
Acked-By: Prafulla Wadaskar <prafulla@marvell.com>
11 years agoarm/km: rename BOARD_LATE_INIT to CONFIG_BOARD_LATE_INIT
Holger Brunck [Tue, 15 Jan 2013 22:51:20 +0000 (22:51 +0000)]
arm/km: rename BOARD_LATE_INIT to CONFIG_BOARD_LATE_INIT

commit 9660e442 cosmetic: s/BOARD_LATE_INIT/CONFIG_BOARD_LATE_INIT
removes BOARD_LATE_INIT and uses CONFIG_BOARD_LATE_INIT instead.
Therefore we have to use this define.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agokirkwood_nand: allow usage of NAND_ECC_SOFT_BCH
Gerlando Falauto [Tue, 15 Jan 2013 22:34:28 +0000 (22:34 +0000)]
kirkwood_nand: allow usage of NAND_ECC_SOFT_BCH

If CONFIG_NAND_ECC_BCH is set use 4-bit error correction code instead of
the 1-bit error correction code on the NAND device.

Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Acked-by: Scott Wood <scottwood@freescale.com>
11 years agoMerge branch 'u-boot-ti/master' into 'u-boot-arm/master'
Albert ARIBAUD [Fri, 12 Apr 2013 06:51:41 +0000 (08:51 +0200)]
Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'

11 years agomx31pdk: Remove watchdog support
Fabio Estevam [Tue, 9 Apr 2013 09:03:52 +0000 (09:03 +0000)]
mx31pdk: Remove watchdog support

The conversion of mx31pdk to SPL NAND fixed the boot issue, but we start seeing
resets in loop, which prevents us from reaching the U-boot prompt.

Until the proper fix can be identified, disable watchdog, so that mx31pdk
can be functional again.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
11 years agoarm: Make all linker scripts compatible with per-symbol sections
Benoît Thébaudeau [Thu, 11 Apr 2013 09:36:03 +0000 (09:36 +0000)]
arm: Make all linker scripts compatible with per-symbol sections

Let all ARM linker scripts handle properly -ffunction-sections
and -fdata-sections. This will be useful for future changes in order to create
symbol-specific sections in common .S files.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm1176: Remove unused MMU setup from start.S
Benoît Thébaudeau [Thu, 11 Apr 2013 09:36:02 +0000 (09:36 +0000)]
arm1176: Remove unused MMU setup from start.S

Following the removal of the smdk6400 board, the MMU setup code in
arm1176/start.S becomes unused, so remove it. It will still be possible to
restore it later from the Git history if necessary, in which case it should be
moved out of the relocate_code() function.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm: Remove deprecated and now unused NAND SPL
Benoît Thébaudeau [Thu, 11 Apr 2013 09:36:01 +0000 (09:36 +0000)]
arm: Remove deprecated and now unused NAND SPL

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm: Remove support for unused s3c64xx
Benoît Thébaudeau [Thu, 11 Apr 2013 09:36:00 +0000 (09:36 +0000)]
arm: Remove support for unused s3c64xx

Following the removal of the smdk6400 board, the s3c64xx SoC becomes unused, so
remove associated code. It will still be possible to restore it later from the
Git history if necessary.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoRevert "mkconfig: start deprecating Makefile config targets"
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:59 +0000 (09:35 +0000)]
Revert "mkconfig: start deprecating Makefile config targets"

This reverts commit 1285a2808a254f3d1a809c1a541f0c0f746e03d7 since the migration
of boards from Makefile to boards.cfg is now complete.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm: Remove support for smdk6400
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:58 +0000 (09:35 +0000)]
arm: Remove support for smdk6400

The migration of boards from Makefile to boards.cfg was due for v2012.03, but
smdk6400 did not follow, and it does not build, so move it to scrapyard. It will
still be possible to restore it from the Git history before fixing it.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoimx: Add u-boot-with-nand-spl.imx make target
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:57 +0000 (09:35 +0000)]
imx: Add u-boot-with-nand-spl.imx make target

This image combines the SPL with the i.MX header, the FCB and U-Boot.

For i.MX25/35/51, the FCB is ignored by the boot ROM, so this image is just
useful because it can be programmed on a NAND Flash page boundary.

For i.MX53, the FCB is required by the boot ROM.

This does not support i.MX6 so far because its FCB is more complicated.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoimx: Add u-boot-with-spl.imx make target
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:56 +0000 (09:35 +0000)]
imx: Add u-boot-with-spl.imx make target

This image combines the SPL with the i.MX header and U-Boot. This is a
convenient way of having a single image to program on some boot devices.

The i.MX header has to be added to the SPL before appending U-Boot, so that the
boot ROM loads only the SPL.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years ago.gitignore: Add /SPL
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:55 +0000 (09:35 +0000)]
.gitignore: Add /SPL

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoMakefile: Move SHELL setup to config.mk
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:54 +0000 (09:35 +0000)]
Makefile: Move SHELL setup to config.mk

make never uses the SHELL variable from the environment. Instead, it
uses /bin/sh, or the value assigned to the SHELL variable by the Makefile. This
makes the export of the SHELL variable useless for sub-makes (but still useful
for the environment of recipes). However, we want all makes to use the same
shell.

This patch fixes this issue by moving the SHELL variable setup and export to the
top config.mk, so that all Makefile-s including it use the same shell.

Since BASH is used by default, this makes it possible to use things
like 'echo -e ...' in sub-makes, which would otherwise fail e.g. with /bin/sh
symlinked to /bin/dash on Ubuntu.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agoarm: Remove unused relocate_code() parameters
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:53 +0000 (09:35 +0000)]
arm: Remove unused relocate_code() parameters

Commit e05e5de7fae5bec79617e113916dac6631251156 made the 2 1st parameters of
ARM's relocate_code() useless since it moved the code handling them to crt0.S.
So, drop these parameters.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm926ejs: Remove deprecated and now unused NAND SPL
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:52 +0000 (09:35 +0000)]
arm926ejs: Remove deprecated and now unused NAND SPL

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agonand: mxc: Switch NAND SPL to generic SPL
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:51 +0000 (09:35 +0000)]
nand: mxc: Switch NAND SPL to generic SPL

This also fixes support for mx31pdk and tx25, which had been broken by commit
e05e5de7fae5bec79617e113916dac6631251156.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agoimx: Fix automatic make targets for imx images
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:50 +0000 (09:35 +0000)]
imx: Fix automatic make targets for imx images

Automatically build the 'u-boot.imx' (i.e. imx header + u-boot.bin) and 'SPL'
(i.e. imx header + u-boot-spl.bin) make targets for all imx processors
supporting this header, so for arm926ejs, arm1136 and armv7. Some combinations
were missing.

At the same time, fix the build of SPL targets not supporting the imx header on
arm1136. For arm1136, the 'SPL' make target was forced to build in all cases if
CONFIG_SPL_BUILD was defined, even for non-imx platforms or imx setups without
an imx header.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoMakefile: Change CONFIG_SPL_PAD_TO to image offset
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:49 +0000 (09:35 +0000)]
Makefile: Change CONFIG_SPL_PAD_TO to image offset

Change CONFIG_SPL_PAD_TO from a link address to an image offset since this is
more handy and closer to the purpose of this config.

Automatically define CONFIG_SPL_PAD_TO to CONFIG_SPL_MAX_SIZE (or 0 without
CONFIG_SPL_MAX_SIZE).

Test that CONFIG_SPL_PAD_TO >= CONFIG_SPL_MAX_SIZE if CONFIG_SPL_PAD_TO is
non-zero.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoautoconfig.mk: Make it possible to define configs from other configs
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:48 +0000 (09:35 +0000)]
autoconfig.mk: Make it possible to define configs from other configs

Give more flexibility to define configs that can be interpreted by make, e.g. to
define fallback values of configs like in the example below.

Before this change, the config lines:
 #define CONFIG_SPL_MAX_SIZE 2048
 #define CONFIG_SPL_PAD_TO CONFIG_SPL_MAX_SIZE
would have been changed in autoconfig.mk into:
 CONFIG_SPL_MAX_SIZE=2048
 CONFIG_SPL_PAD_TO="CONFIG_SPL_MAX_SIZE"

Hence, a make recipe using as an argument to $(OBJCOPY):
 --pad-to=$(CONFIG_SPL_PAD_TO)
would have issued:
 --pad-to="CONFIG_SPL_MAX_SIZE"
which means nothing for $(OBJCOPY) and makes it fail.

Thanks to this change, the config lines above are changed in autoconfig.mk into:
 CONFIG_SPL_MAX_SIZE=2048
 CONFIG_SPL_PAD_TO=$(CONFIG_SPL_MAX_SIZE)

Hence, the make recipe above now issues:
 --pad-to=2048
as expected from the defined config.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agoarm: crt0.S: Remove bogus .globl
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:47 +0000 (09:35 +0000)]
arm: crt0.S: Remove bogus .globl

The purpose of .globl is to export symbols for ld, not to declare external
symbols.

By the way, use the ENTRY() and ENDPROC() macros to define functions rather than
using .global directly.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm: relocate_code(): Use __image_copy_end for end of relocation
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:46 +0000 (09:35 +0000)]
arm: relocate_code(): Use __image_copy_end for end of relocation

Use __image_copy_end instead of __bss_start for the end of the image to
relocate. This is the same as commit 033ca72, but applied to all ARM start.S.

This is a more appropriate symbol naming for an image copy & relocate feature,
and this also saves a useless copy of data put between __image_copy_end and
__bss_start in linker scripts (e.g. relocation information, or MMU
initialization tables used only before jumping to the relocated image).

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm: relocate_code(): Remove useless relocation offset computation
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:45 +0000 (09:35 +0000)]
arm: relocate_code(): Remove useless relocation offset computation

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm1136: Remove redundant relocate_code() return
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:44 +0000 (09:35 +0000)]
arm1136: Remove redundant relocate_code() return

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm: relocate_code() is no longer noreturn
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:43 +0000 (09:35 +0000)]
arm: relocate_code() is no longer noreturn

Commit e05e5de7fae5bec79617e113916dac6631251156 made ARM's relocate_code()
return to its caller, but it did not update its declaration accordingly.

Fixing this function declaration fixes dropped C code following calls to
relocate_code().

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoarm: start.S: Fix _TEXT_BASE for SPL
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:42 +0000 (09:35 +0000)]
arm: start.S: Fix _TEXT_BASE for SPL

_TEXT_BASE must be set to CONFIG_SPL_TEXT_BASE for generic SPL, and to
CONFIG_SYS_TEXT_BASE for non-SPL builds.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agonand: mxc: Use appropriate page number in syndrome functions
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:41 +0000 (09:35 +0000)]
nand: mxc: Use appropriate page number in syndrome functions

The syndrome functions should use the page number passed as argument instead of
the page number saved upon NAND_CMD_READ0.

This does not make any difference if the NAND_NO_AUTOINCR option is set, but
otherwise this fixes accesses to the wrong pages.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Acked-by: Scott Wood <scottwood@freescale.com>
11 years agonand: mxc: Fix debug trace in mxc_nand_read_oob_syndrome()
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:40 +0000 (09:35 +0000)]
nand: mxc: Fix debug trace in mxc_nand_read_oob_syndrome()

The page number indicated in the debug trace of mxc_nand_read_oob_syndrome() did
not match the page being worked on.

By the way, replace the GCC-specific __FUNCTION__ with __func__.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Acked-by: Scott Wood <scottwood@freescale.com>
11 years agoimx: mx53ard: Add support for NAND Flash
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:39 +0000 (09:35 +0000)]
imx: mx53ard: Add support for NAND Flash

Add support for the Samsung K9LAG08U0M NAND Flash (2-GiB MLC NAND Flash, 2-kiB
pages, 256-kiB blocks, 30-ns R/W cycles, 1 CS) on mx53ard.

eNFC_CLK_ROOT is set up with a cycle time of 37.5 ns (400 MHz / 3 / 5) for this
board, which satisfies the 30-ns NF R/W cycle requirement.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agoimx: mx5: lowlevel_init: Simplify code
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:38 +0000 (09:35 +0000)]
imx: mx5: lowlevel_init: Simplify code

Don't use several instructions to build constant values.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Acked-by: Stefano Babic <sbabic@denx.de>
11 years agonand: mxc: Add support for i.MX5
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:37 +0000 (09:35 +0000)]
nand: mxc: Add support for i.MX5

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agonand: mxc: Prepare to add support for i.MX5
Benoît Thébaudeau [Thu, 11 Apr 2013 09:35:36 +0000 (09:35 +0000)]
nand: mxc: Prepare to add support for i.MX5

Add some abstraction to NFC definitions so that some parts of the current code
can also be used for future i.MX5 code.

Clean up a few things by the way.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agomtd: nand: mxc_nand: Fix is_16bit_nand()
Fabio Estevam [Thu, 11 Apr 2013 09:35:35 +0000 (09:35 +0000)]
mtd: nand: mxc_nand: Fix is_16bit_nand()

Currently is_16bit_nand() is a per SoC function and it decides the bus nand
width by reading some boot related registers.

This method works when NAND is the boot medium, but does not work if another
boot medium is used. For example: booting from a SD card and then using NAND
to store the environment variables, would lead to the following error:

NAND bus width 16 instead 8 bit
No NAND device found!!!
0 MiB

Use CONFIG_SYS_NAND_BUSWIDTH_16BIT symbol to decide the bus width.

If it is defined in the board file, then consider 16-bit NAND bus-width,
otherwise assume 8-bit NAND is used.

This also aligns with Documentation/devicetree/bindings/mtd/nand.txt, which
states:

nand-bus-width : 8 or 16 bus width if not present 8

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agomtd: nand: Introduce CONFIG_SYS_NAND_BUSWIDTH_16BIT
Fabio Estevam [Thu, 11 Apr 2013 09:35:34 +0000 (09:35 +0000)]
mtd: nand: Introduce CONFIG_SYS_NAND_BUSWIDTH_16BIT

Introduce CONFIG_SYS_NAND_BUSWIDTH_16BIT option so that other NAND controller
drivers could use it when a 16-bit NAND is deployed.

drivers/mtd/nand/ndfc has CONFIG_SYS_NDFC_16BIT, so just rename it, so that
other NAND drivers could reuse the same symbol.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
11 years agoenv: Add redundant env support to UBI env
Joe Hershberger [Mon, 8 Apr 2013 10:32:52 +0000 (10:32 +0000)]
env: Add redundant env support to UBI env

Allow the user to specify two UBI volumes to use for the environment

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agoenv: Add support for UBI environment
Joe Hershberger [Mon, 8 Apr 2013 10:32:51 +0000 (10:32 +0000)]
env: Add support for UBI environment

UBI is a better place for the environment on NAND devices because it
handles wear-leveling and bad blocks.

Gluebi is needed in Linux to access the env as an MTD partition.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agomtd: Make mtdparts work with pre-reloc env
Joe Hershberger [Mon, 8 Apr 2013 10:32:50 +0000 (10:32 +0000)]
mtd: Make mtdparts work with pre-reloc env

The env in UBI needs to look up the mtd partition as part of relocation,
which happens before relocation.  Make the mtdparts code capable of
working on the default env to start with.

The code tries to set values in the env as well, but again, the env
isn't there yet, so add a check to setenv to not allow sets before the
env is relocated.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agoubi: ubifs: Turn off verbose prints
Joe Hershberger [Mon, 8 Apr 2013 10:32:49 +0000 (10:32 +0000)]
ubi: ubifs: Turn off verbose prints

The prints are out of control.  SILENCE!

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agoubi: ubifs: Add documentation for README
Joe Hershberger [Mon, 8 Apr 2013 10:32:48 +0000 (10:32 +0000)]
ubi: ubifs: Add documentation for README

Describe the needed CONFIG tokens to enable UBI and UBIFS support.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agoubi: Expose a few simple functions from the cmd_ubi
Joe Hershberger [Mon, 8 Apr 2013 10:32:47 +0000 (10:32 +0000)]
ubi: Expose a few simple functions from the cmd_ubi

Part, Read, and Write functionality that will be used by env_ubi.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agoubi: Fix broken cleanup code in attach_by_scanning
Joe Hershberger [Mon, 8 Apr 2013 10:32:46 +0000 (10:32 +0000)]
ubi: Fix broken cleanup code in attach_by_scanning

The unwind code was not reversing operations correctly and was causing
a hang on any error condition.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agoDo not call board_early_init_f() twice
Vadim Bendebury [Tue, 9 Apr 2013 14:06:51 +0000 (14:06 +0000)]
Do not call board_early_init_f() twice

Apparently due to a missed rebase conflict resolution
board_early_init_f() is included twice in the list of initialization
functions.

Leave only the first occurrence.
   . built and boot an Exynos 5250 target

Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Thu, 11 Apr 2013 18:31:50 +0000 (14:31 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

11 years agoomap5912-osk: Fix get_timer() and CONFIG_SYS_HZ
Jon Hunter [Tue, 9 Apr 2013 21:41:33 +0000 (16:41 -0500)]
omap5912-osk: Fix get_timer() and CONFIG_SYS_HZ

The function get_timer() should return time in ms and CONFIG_SYS_HZ
should be set to 1000 by default. Fix both of these items.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
11 years agoomap5912-osk: Increase flash partition for u-boot
Jon Hunter [Tue, 9 Apr 2013 21:41:32 +0000 (16:41 -0500)]
omap5912-osk: Increase flash partition for u-boot

The current u-boot binary needs more than 128KB of flash space and so
move the u-boot environment from an offset of 128KB to 256KB in flash
to ensure the enviroment does not overlap with u-boot.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
11 years agoomap5912-osk: Fix device initialisation
Jon Hunter [Tue, 9 Apr 2013 21:41:31 +0000 (16:41 -0500)]
omap5912-osk: Fix device initialisation

In the current u-boot, the device pin multiplexing and clock
initialisation needs to be early during the boot process and before
board_init() is called. U-boot is currently crashing on this board
because this is not being done early enough. Therefore, add a s_init()
function for the omap5912-osk board to do this.

Also fix the stack pointer so that it is pointing to the end of the
internal RAM and not the beginning as this was also causing the device
to crash.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
11 years agoomap5912-osk: Fix booting from NOR flash
Jon Hunter [Tue, 9 Apr 2013 21:41:30 +0000 (16:41 -0500)]
omap5912-osk: Fix booting from NOR flash

The omap5912-osk board is using a RAM based address as the linker
location for code. This is causing several problems when attempting
to run the latest u-boot code base on this board from flash. Update
the default linker location for code to be in NOR flash at address
0x00000000.

The omap5912-osk board only has 32MB of RAM and so fix the comment
in the omap5912-osk config.mk file as well.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
11 years agoomap5912-osk: Fix DRAM initialisation
Jon Hunter [Tue, 9 Apr 2013 21:41:29 +0000 (16:41 -0500)]
omap5912-osk: Fix DRAM initialisation

The size of the DRAM for the omap5912-osk board is getting setup in the
dram_init() function. However, for the current u-boot release this is
too late and needs to be done in dram_init_banksize(). Therefore, add
a dram_init_banksize() function for the omap5912-osk board and setup the
DRAM size there.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
11 years agoomap5_uevm: Correct to 2MiB aligned partitions on eMMC
Tom Rini [Wed, 10 Apr 2013 19:10:10 +0000 (15:10 -0400)]
omap5_uevm: Correct to 2MiB aligned partitions on eMMC

This has a 2MiB erase block size eMMC, so make sure we align on that for
best possible performance.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoOMAP4: Fix bug in omap4460_volts struct
Lubomir Popov [Mon, 8 Apr 2013 22:05:33 +0000 (22:05 +0000)]
OMAP4: Fix bug in omap4460_volts struct

The omap4460_volts struct was incorrectly referencing tps62361
instead of twl6030 as PMIC for the core and mm voltages (the
tps is used for mpu supply only). This shall lead to bad OPP
settings while booting kernel. Fixing it.

Fix some comments as well.

Signed-off-by: Lubomir Popov <lpopov@mm-sol.com>
11 years agopowerpc/lib: fix unsafe register handling in wait_ticks
Mats Kärrman [Tue, 9 Apr 2013 15:10:59 +0000 (17:10 +0200)]
powerpc/lib: fix unsafe register handling in wait_ticks

If watchdog is enabled, the arch/powerpc/lib/ticks.S::wait_ticks() function
calls the function specified by the WATCHDOG_RESET macro.
The wait_ticks function depends on the registers r0, r6 and r7 being
preserved however that is not guaranteed, e.g. if the reset function is a
C function this will probably overwrite r0 and cause an endless loop.

The following patch changes to using r14+r15 instead of r6+r7 (to resemble
what would have been generated by a C compiler) and saves all necessary
registers on the stack.

The patch has been tested on a custom MPC5125 based machine using the 512x
powerpc architecture.

Signed-off-by: Mats Karrman <mats.karrman@tritech.se>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Joakim Tjernlund <joakim.tjernlund@transmode.se>
Tested-by: Stefan Roese <sr@denx.de>
11 years agoam335x: Update timings for the beaglebone again
Tom Rini [Wed, 10 Apr 2013 13:10:54 +0000 (15:10 +0200)]
am335x: Update timings for the beaglebone again

After further testing we can run DDR at 400MHz so update the timings
again.

Tested-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Tom Rini <trini@ti.com>
11 years agopowerpc/usb: Fix usb device-tree fix-up
ramneek mehresh [Sun, 17 Feb 2013 18:23:32 +0000 (18:23 +0000)]
powerpc/usb: Fix usb device-tree fix-up

Fix USB device-tree fixup to properly handle device-tree fixup and
print appropriate message when wrong/junk "dr_mode" or "phy_type"
are mentioned in hwconfig string

Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
11 years agoam335x_evm: Enable DFU for NAND and MMC, provide example alt_infos
Pantelis Antoniou [Thu, 14 Mar 2013 05:32:55 +0000 (05:32 +0000)]
am335x_evm: Enable DFU for NAND and MMC, provide example alt_infos

- Add CONFIG_DFU_NAND, CONFIG_DFU_MMC
- Set dfu_alt_info_nand, dfu_alt_info_emmc and dfu_alt_info_mmc to show
  working examples for those cases.
- Increase CONFIG_SYS_MAXARGS due to hush parsing bugs that would
  otherwise disallow 'setenv dfu_alt_info ${dfu_alt_info_nand}'.
- Enable CONFIG_FAT_WRITE to allow updating on MMC

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Tom Rini <trini@ti.com>
11 years agoam335x_evm: Add CONFIG_CMD_MTDPARTS and relevant defaults
Tom Rini [Thu, 14 Mar 2013 05:32:54 +0000 (05:32 +0000)]
am335x_evm: Add CONFIG_CMD_MTDPARTS and relevant defaults

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoam335x_evm: Define CONFIG_SYS_CACHELINE_SIZE
Pantelis Antoniou [Thu, 14 Mar 2013 05:32:53 +0000 (05:32 +0000)]
am335x_evm: Define CONFIG_SYS_CACHELINE_SIZE

drivers/usb/gadget/composite.c requires that this is defined early.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Tom Rini <trini@ti.com>
11 years agodfu: NAND specific routines for DFU operation
Pantelis Antoniou [Thu, 14 Mar 2013 05:32:52 +0000 (05:32 +0000)]
dfu: NAND specific routines for DFU operation

Support for NAND storage devices to work with the DFU framework.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Scott Wood <scottwood@freescale.com>
11 years agocmd_nand.c: Fix CONFIG_CMD_NAND_YAFFS
Tom Rini [Thu, 14 Mar 2013 05:32:51 +0000 (05:32 +0000)]
cmd_nand.c: Fix CONFIG_CMD_NAND_YAFFS

The flag changed from WITH_INLINE_OOB to WITH_YAFFS_OOB by accident in
418396e.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agonand: Extend nand_(read|write)_skip_bad with *actual and limit parameters
Tom Rini [Thu, 14 Mar 2013 05:32:50 +0000 (05:32 +0000)]
nand: Extend nand_(read|write)_skip_bad with *actual and limit parameters

We make these two functions take a size_t pointer to how much space
was used on NAND to read or write the buffer (when reads/writes happen)
so that bad blocks can be accounted for.  We also make them take an
loff_t limit on how much data can be read or written.  This means that
we can now catch the case of when writing to a partition would exceed
the partition size due to bad blocks.  To do this we also need to make
check_skip_len count not just complete blocks used but partial ones as
well.  All callers of nand_(read|write)_skip_bad are adjusted to call
these with the most sensible limits available.

The changes were started by Pantelis and finished by Tom.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Tom Rini <trini@ti.com>
11 years agodfu: Change indentation of defines in <dfu.h>
Tom Rini [Thu, 14 Mar 2013 05:32:49 +0000 (05:32 +0000)]
dfu: Change indentation of defines in <dfu.h>

Signed-off-by: Tom Rini <trini@ti.com>
11 years agodfu: Support larger than memory transfers.
Pantelis Antoniou [Thu, 14 Mar 2013 05:32:48 +0000 (05:32 +0000)]
dfu: Support larger than memory transfers.

Previously we didn't support upload/download larger than available
memory.  This is pretty bad when you have to update your root filesystem
for example.

This patch removes that limitation (and the crashes when you transfered
any file larger than 4MB) by making raw image writes be done in chunks
and making file maximum size be configurable.

The sequence number is a 16 bit counter; make sure we handle rollover
correctly. This fixes the wrong transfers for large (> 256MB) images.

Also utilize a variable to handle initialization, so that we don't rely
on just the counter sent by the host.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Tom Rini <trini@ti.com>
11 years agoREADME: Document current DFU CONFIG options
Tom Rini [Thu, 14 Mar 2013 05:32:47 +0000 (05:32 +0000)]
README: Document current DFU CONFIG options

Add documentation for the current DFU config options.  DFU is a standard
USB device class so more information is available from usb.org

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoam335x/ti814x: Correct MMC_BOOT_DEVICES_START/END
Tom Rini [Tue, 9 Apr 2013 15:40:40 +0000 (11:40 -0400)]
am335x/ti814x: Correct MMC_BOOT_DEVICES_START/END

Given that on TI814x we have MMC1/2 swapped, we also need to swap them
in MMC_BOOT_DEVICES_START/END

Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Tom Rini <trini@ti.com>
11 years agopatman: Add Series-process-log tag to sort/uniq change logs
Simon Glass [Tue, 26 Mar 2013 13:09:44 +0000 (13:09 +0000)]
patman: Add Series-process-log tag to sort/uniq change logs

For some series with lots of changes it is annoying that duplicate change
log items are not caught. It is also helpful sometimes to sort the change
logs.

Add a Series-process-log tag to enable this, which can be placed in a
commit to control this.

The change to the Cc: line is to fix a checkpatch warning.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
11 years agopatman: Add -a option to refrain from test-applying the patches
Simon Glass [Tue, 26 Mar 2013 13:09:43 +0000 (13:09 +0000)]
patman: Add -a option to refrain from test-applying the patches

Especially with the Linux kernel, it takes a long time (a minute or more)
to test-apply the patches, so patman becomes significantly less useful.
The only real problem that is found with this apply step is trailing spaces.
Provide a -a option to skip this step, for those working with clean patches.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
11 years agopatman: Don't barf if the word 'commit' starts a line
Doug Anderson [Fri, 1 Mar 2013 11:11:07 +0000 (11:11 +0000)]
patman: Don't barf if the word 'commit' starts a line

Patman's regular expression for detecting the start of a
commit in a git log was a little simplistic and could be
confused if the git log itself had the word "commit" as
the start of a line (as this commit does).  Make patman
a little more robust.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>