project/bcm63xx/u-boot.git
12 years agoarm: rmobile: kzm9g: Add dummy member to struct sh73a0_rwdt
Tetsuyuki Kobayashi [Thu, 19 Jul 2012 23:27:56 +0000 (23:27 +0000)]
arm: rmobile: kzm9g: Add dummy member to struct sh73a0_rwdt

Add dummy member to struct sh73a0_rwdt in sh73a0.h.
Without this, initializing watch dog timer goes wrong.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: Support build with gcc-4.6 or later
Nobuhiro Iwamatsu [Thu, 5 Jul 2012 23:53:02 +0000 (08:53 +0900)]
arm: rmobile: Support build with gcc-4.6 or later

Latest rmobile code was tested by using old gcc (gcc-4.4).
When we use gcc-4.6 (or later), the build is made, but does not work.
This solves a problem not to work by add -march=armv5 to compiple option
when we built in gcc-4.6 (or later).
I tested by linaro's compiler version 2012.04-20120426.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: kzm9g: enable reset command
Tetsuyuki Kobayashi [Mon, 16 Jul 2012 19:13:12 +0000 (19:13 +0000)]
arm: rmobile: kzm9g: enable reset command

Do soft power on reset in U-Boot reset command.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: kzm9g: Modify bus controller setting for CS4
Tetsuyuki Kobayashi [Mon, 16 Jul 2012 19:13:11 +0000 (19:13 +0000)]
arm: rmobile: kzm9g: Modify bus controller setting for CS4

Problem:
Linux kernel hangs up when it write a file to NFS mounted directory.
Solution:
Modify bus controller setting for CS4, which connected smsc9221 ethernet
controller.

Detail:
Modify CS4BCR bit[29:28] (IWW[1:0]) from 00 to 01.
Modify CS4BCR bit[20:19] (IWRRD[1:0]) from 00 to 01.
Modify CS4BCR bit[17:16] (IWRRS[1:0]) from 00 to 01.
Modify CS4WCR bit[27:26] (WSW[1:0]) from 10 to 11
Modify CS4WCR bit[25:24] (WHW[1:0]) from 01 to 10
Modify CS4WCR bit[18:16] (WW[2:0]) from 101 to 111
Modify CS4WCR bit[13:11] (SW[2:0]) from 010 to 011
Modify CS4WCR bit[10:7] (WR[3:0]) from 1000 to 1011

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: kzm9g: change prompt to board specific
Tetsuyuki Kobayashi [Thu, 5 Jul 2012 01:43:52 +0000 (01:43 +0000)]
arm: rmobile: kzm9g: change prompt to board specific

Change U-Boot prompt to board specific one.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: kzm9g: Adjust low level hardware setting
Tetsuyuki Kobayashi [Thu, 5 Jul 2012 01:43:48 +0000 (01:43 +0000)]
arm: rmobile: kzm9g: Adjust low level hardware setting

Adjust low level hardware setting in s_init.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: kzm9g: Modify sdram area
Tetsuyuki Kobayashi [Thu, 5 Jul 2012 01:43:44 +0000 (01:43 +0000)]
arm: rmobile: kzm9g: Modify sdram area

Reserve first 16MB for RT-CPU (as same as kernel config).

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: Add supoprt for KMC KZM-A9-GT board
Nobuhiro Iwamatsu [Thu, 21 Jun 2012 05:55:07 +0000 (14:55 +0900)]
arm: rmobile: Add supoprt for KMC KZM-A9-GT board

The KZM-A9-GT board has Renesas R-Mobile SH73A0, 512MB DDR2-SDRAM,
USB, Ethernet, and more.

This patch supports the following functions:
- 512MB DDR2-SDRAM
- 16MB NOR Flash memory
- Serial console (SCIF)
- Ethernet (SMSC)
- I2C

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: Add support PFC of Renesas SH73A0
Nobuhiro Iwamatsu [Fri, 20 Jul 2012 00:29:19 +0000 (09:29 +0900)]
arm: rmobile: Add support PFC of Renesas SH73A0

Renesas SH73A0 has GPIO based PFC. This privode framework of PFC.
The code included in this base from linux kernel.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: Add support Renesas SH73A0
Nobuhiro Iwamatsu [Sun, 19 Aug 2012 04:40:05 +0000 (04:40 +0000)]
arm: rmobile: Add support Renesas SH73A0

Renesas SH73A0 is CPU with Cortex-A9.
This supports the basic register definition and GPIO.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoarm: rmobile: Add basic support for Renesas R-Mobile
Nobuhiro Iwamatsu [Wed, 13 Jun 2012 07:29:47 +0000 (16:29 +0900)]
arm: rmobile: Add basic support for Renesas R-Mobile

This patch adds minimum support for R-Mobile. Only minimal support with timer.
This CPU can uses the peripheral of Renesas SuperH.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoARMv7: Add register definition of global timer
Nobuhiro Iwamatsu [Wed, 13 Jun 2012 07:13:24 +0000 (16:13 +0900)]
ARMv7: Add register definition of global timer

ARMv7 has global timer. This provides the register definition of this timer.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoomap4_panda: remove CONFIG_PANDA, not used
Peter Meerwald [Thu, 27 Sep 2012 23:19:14 +0000 (23:19 +0000)]
omap4_panda: remove CONFIG_PANDA, not used

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
12 years agoam335x-evm config: decrease bootdelay to 1s and mount rootfs RO
Koen Kooi [Wed, 26 Sep 2012 07:19:43 +0000 (07:19 +0000)]
am335x-evm config: decrease bootdelay to 1s and mount rootfs RO

A fast boot is important to the beaglebone, so save 2 seconds here by
decreasing bootdelay. This is still plenty time to break into the prompt,
I do that at least once a day.

Mount the rootfs RO by default, this is needed to make fsck succeed
without resorting to an initramfs.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
12 years agoam33xx: Fix fetching of mmc1 bootmode from bootrom for AM33XX
Joel A Fernandes [Tue, 18 Sep 2012 04:30:51 +0000 (04:30 +0000)]
am33xx: Fix fetching of mmc1 bootmode from bootrom for AM33XX

U-boot should not ignore getting the bootmode passed on from the bootrom.
With this, U-boot SPL knows it was loaded from MMC1 and use this info to
read full U-boot from MMC1 as well.

Cc: pprakash@ti.com
Cc: trini@ti.com
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoOMAP: networking support for SPL
Ilya Yanok [Tue, 18 Sep 2012 00:22:50 +0000 (00:22 +0000)]
OMAP: networking support for SPL

This patch adds support for networking in SPL. Some devices are
capable of loading SPL via network so it makes sense to load the
main U-Boot binary via network too. This patch tries to use
existing network code as much as possible. Unfortunately, it depends
on environment which in turn depends on other code so SPL size
is increased significantly. No effort was done to decouple network
code and environment so far.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoam335x_evm: enable networking in SPL
Ilya Yanok [Mon, 17 Sep 2012 10:26:28 +0000 (10:26 +0000)]
am335x_evm: enable networking in SPL

This patch adds support for networking in SPL on TI AM335x based
boards. Vendor Class Identifier used by SPL during BOOTP is
"AM335x U-Boot SPL".

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agoOMAP: spl: call timer_init() from SPL
Ilya Yanok [Mon, 17 Sep 2012 10:26:26 +0000 (10:26 +0000)]
OMAP: spl: call timer_init() from SPL

We need to initialize timer properly, otherwise all delays
inside SPL will be wrong.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agonet/bootp: add VCI support for BOOTP also
Ilya Yanok [Mon, 17 Sep 2012 10:26:25 +0000 (10:26 +0000)]
net/bootp: add VCI support for BOOTP also

Vendor Class Identifier option is common to BOOTP and DHCP and
can be useful without PXE. So send VCI in both BOOTP and DHCP
requests if CONFIG_BOOTP_VCI_STRING is defined.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agodavinci: ea20: add some configs and default environmet variables
Bastian Ruppert [Thu, 13 Sep 2012 22:29:04 +0000 (22:29 +0000)]
davinci: ea20: add some configs and default environmet variables

Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de>
CC: Tom Rini <trini@ti.com>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agoda850/omap-l138: davinci_emac: Suppress auto negotiation if needed
Bastian Ruppert [Thu, 13 Sep 2012 22:29:03 +0000 (22:29 +0000)]
da850/omap-l138: davinci_emac: Suppress auto negotiation if needed

negotiation is enabled in RMII mode. Some boards based on da850 need
to suppress this procedure.

CC: Rajashekhara, Sudhakar <sudhakar.raj@ti.com>
CC: Lad, Prabhakar <prabhakar.lad@ti.com>
CC: Hadli, Manjunath <manjunath.hadli@ti.com>
CC: sbabic@denx.de
Acked-by: Stefano Babic <sbabic@denx.de>
CC: Tom Rini <trini@ti.com>
Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de>
Acked-by: Prabhakar Lad <prabhakar.lad@ti.com>
12 years agovideo: cfb_console: add function to plot the logo area black
Bastian Ruppert [Thu, 13 Sep 2012 22:29:02 +0000 (22:29 +0000)]
video: cfb_console: add function to plot the logo area black

Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de>
CC: Anatolij Gustschin <agust@denx.de>
CC: Tom Rini <trini@ti.com>
CC: Stefano Babic <sbabic@denx.de>
12 years agovideo: cfb_console: logo can be positioned via the splashpos variable
Bastian Ruppert [Thu, 13 Sep 2012 22:29:01 +0000 (22:29 +0000)]
video: cfb_console: logo can be positioned via the splashpos variable

Extend the driver for placing the video/bmp logo as specified
by "splashpos" environment variable.

Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
CC: Stefano Babic <sbabic@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agodavinci: ea20: the console is always set to the serial line
Bastian Ruppert [Thu, 13 Sep 2012 22:29:00 +0000 (22:29 +0000)]
davinci: ea20: the console is always set to the serial line

Do not allow to overwrite it when video is enabled.

Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de>
CC: Tom Rini <trini@ti.com>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agodavinci: ea20: reorganisation LCD startup
Bastian Ruppert [Thu, 13 Sep 2012 22:28:59 +0000 (22:28 +0000)]
davinci: ea20: reorganisation LCD startup

Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de>
CC: Tom Rini <trini@ti.com>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agodevkit8000: add rootwait to mmcboot option
Andreas Bießmann [Thu, 30 Aug 2012 23:53:32 +0000 (23:53 +0000)]
devkit8000: add rootwait to mmcboot option

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
cc: Thomas Weber <weber@corscience.de>

12 years agoMerge remote-tracking branch 'u-boot/master'
Albert ARIBAUD [Sun, 30 Sep 2012 21:49:17 +0000 (23:49 +0200)]
Merge remote-tracking branch 'u-boot/master'

12 years agosandbox: Add asm/errno.h
Simon Glass [Fri, 28 Sep 2012 08:23:45 +0000 (08:23 +0000)]
sandbox: Add asm/errno.h

This file is required for all archs. Fixes a sandbox build break on ext4.

Signed-off-by: Simon Glass <sjg@chromium.org>
12 years agocmd_fat.c: fix build warning
Anatolij Gustschin [Sat, 29 Sep 2012 00:52:55 +0000 (00:52 +0000)]
cmd_fat.c: fix build warning

Commit cfda5aeab89d73779e26f0d34cf10f64caa67431
(cmd_fat: use common get_device_and_partition function)
introduced a warning:
cmd_fat.c: In function 'do_fat_fswrite':
cmd_fat.c:178:8: warning: unused variable 'ep' [-Wunused-variable]

Fix it.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Reported-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Tested-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
12 years agocommon: add zip command support
Lei Wen [Fri, 28 Sep 2012 04:26:47 +0000 (04:26 +0000)]
common: add zip command support

Signed-off-by: Lei Wen <leiwen@marvell.com>
12 years agolib: add gzip lib function callback
Lei Wen [Fri, 28 Sep 2012 04:26:46 +0000 (04:26 +0000)]
lib: add gzip lib function callback

Signed-off-by: Lei Wen <leiwen@marvell.com>
12 years agolib: zlib: remove the limitation for cannot using 0 as start
Lei Wen [Fri, 28 Sep 2012 04:26:45 +0000 (04:26 +0000)]
lib: zlib: remove the limitation for cannot using 0 as start

We often need the requirement that compressing those memory range start
from 0, but the default deflate code in zlib prevent us to do this.
Considering the special case of uboot, that it could access all memory
range, it is reasonable to be able to also take the address space from 0
into compression.

Signed-off-by: Lei Wen <leiwen@marvell.com>
12 years agolib: zlib: include deflate into zlib build
Lei Wen [Fri, 28 Sep 2012 04:26:44 +0000 (04:26 +0000)]
lib: zlib: include deflate into zlib build

Add a new config CONFIG_GZIP_ENABLED, if enabled, the uboot bin would
include zlib's deflate method which could be used for compressing.

Signed-off-by: Lei Wen <leiwen@marvell.com>
12 years agolib: zlib: import trees file from 1.2.5
Lei Wen [Fri, 28 Sep 2012 04:26:43 +0000 (04:26 +0000)]
lib: zlib: import trees file from 1.2.5

Signed-off-by: Lei Wen <leiwen@marvell.com>
12 years agolib: zlib: import deflate source file from 1.2.5
Lei Wen [Fri, 28 Sep 2012 04:26:42 +0000 (04:26 +0000)]
lib: zlib: import deflate source file from 1.2.5

Signed-off-by: Lei Wen <leiwen@marvell.com>
12 years agoMerge remote-tracking branch 'u-boot-imx/master'
Albert ARIBAUD [Sat, 29 Sep 2012 09:12:34 +0000 (11:12 +0200)]
Merge remote-tracking branch 'u-boot-imx/master'

12 years agoMerge remote-tracking branch 'u-boot-atmel/master'
Albert ARIBAUD [Sat, 29 Sep 2012 06:34:09 +0000 (08:34 +0200)]
Merge remote-tracking branch 'u-boot-atmel/master'

12 years agoremove unnecessary code in ata_piix
Pavel Herrmann [Thu, 27 Sep 2012 23:18:03 +0000 (23:18 +0000)]
remove unnecessary code in ata_piix

We set sata_curr_device to 0 right after returning from init_sata(), so there's
no point in setting it to the last scanned driver at this point.
Note: there are more duplicities with cmd_sata, but those might be required,
as the code seems to reset the entire controller on every scan, ignoring the
requested port number.

Signed-off-by: Pavel Herrmann <morpheus.ibis@gmail.com>
12 years agodisk: allow - or empty string to fall back to $bootdevice
Stephen Warren [Fri, 28 Sep 2012 05:34:09 +0000 (05:34 +0000)]
disk: allow - or empty string to fall back to $bootdevice

Commit 10a37fd "disk: get_device_and_partition() "auto" partition"
prevented the use of "-" on the command-line to request fallback to the
$bootdevice environment variable instead. This patch allows that, or an
empty string "" to be used.

Tested:
setenv bootfile /boot/zImage
setenv bootdevice 0:1
ext2load mmc 0:1
ext2load mmc -
ext2load mmc ""

Signed-off-by: Stephen Warren <swarren@nvidia.com>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Tom Rini [Thu, 27 Sep 2012 19:06:07 +0000 (12:06 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-net

12 years agoSPL: Add support for loading image from ram in SPL.
Pavel Machek [Thu, 30 Aug 2012 20:42:11 +0000 (22:42 +0200)]
SPL: Add support for loading image from ram in SPL.

Signed-off-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: Rework how we inform about un-headered images
Tom Rini [Mon, 27 Aug 2012 21:58:28 +0000 (14:58 -0700)]
SPL: Rework how we inform about un-headered images

First, remove the puts from the case where we don't have an mkimage
header as this is somewhat common and intentional for no-arg target
images.  Second, rework the final switch statement in board_init_r to,
in the case of !CONFIG_SPL_OS_BOOT be only about doing debug prints
about if we know what the magic is or not (the CONFIG_SPL_OS_BOOT case
is unchanged).  Then we call jump_to_image_no_args().  This gives us the
same behavior as before but with slightly smaller code.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: Make un-supported boot device puts a debug instead
Tom Rini [Mon, 27 Aug 2012 21:57:26 +0000 (14:57 -0700)]
SPL: Make un-supported boot device puts a debug instead

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: Enable use of custom defined U-Boot entry point
Stefan Roese [Tue, 28 Aug 2012 08:50:59 +0000 (10:50 +0200)]
SPL: Enable use of custom defined U-Boot entry point

By setting CONFIG_SYS_UBOOT_START boards can now use a different entry
point for their U-Boot image. So the U-Boot entry point is not fixed
to CONFIG_SYS_TEXT_BASE any more.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: SPI: Enhance spi_spl_load to match the other load functions
Tom Rini [Tue, 14 Aug 2012 21:34:10 +0000 (14:34 -0700)]
SPL: SPI: Enhance spi_spl_load to match the other load functions

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: Add option to skip copying of the mkimage header
Stefan Roese [Mon, 27 Aug 2012 10:50:58 +0000 (12:50 +0200)]
SPL: Add option to skip copying of the mkimage header

On some system (e.g. powerpc), the load-address and entry-point is
located at address 0. So the current approach to load the image
(payload) including the header to the address "load-address - 64"
can't work here.

This patch adds an flag to skip this copying including header to
the SPL framework. By setting SPL_COPY_PAYLOAD_ONLY, only the
playload will be copied. This will be used by the SPL NOR flash
driver on powerpc.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: Add NOR flash booting support
Stefan Roese [Mon, 27 Aug 2012 10:50:59 +0000 (12:50 +0200)]
SPL: Add NOR flash booting support

SPL NOR flash booting support is quite simple. Only copying of the
images is needed.

On MPC5xxx we need to make sure to only use the standard memcpy()
implementation and not the MPC5xxx specific one. As the MPC5xxx
version has some complexity which is not needed for this SPL
booting.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoda850: Add README.da850
Tom Rini [Mon, 20 Aug 2012 16:31:52 +0000 (09:31 -0700)]
da850: Add README.da850

This file documents when to build for da850evm and when to build for
da850_am18xxevm.  It also documents how to write the u-boot.ais file to
persistent storage (such as SPI), in some cases as well as how to write
a recovery image.

Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Christian Riesch <christian.riesch@omicron.at>
Acked-by: Prabhakar Lad <prabhakar.lad@ti.com>
12 years agohawkboard: Update config file to work with common spl framework
Sughosh Ganu [Mon, 27 Aug 2012 19:23:37 +0000 (00:53 +0530)]
hawkboard: Update config file to work with common spl framework

The common spl framework expects the u-boot payload size through
CONFIG_SYS_MONITOR_LEN. Define the macro with the u-boot's size. With
this change, CONFIG_SYS_NAND_U_BOOT_SIZE is no longer required. Delete
the same.

Signed-off-by: Tom Rini <trini@ti.com>
Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
12 years agoARM: SPL: Convert davinci to CONFIG_SPL_FRAMEWORK
Tom Rini [Tue, 14 Aug 2012 19:27:13 +0000 (12:27 -0700)]
ARM: SPL: Convert davinci to CONFIG_SPL_FRAMEWORK

- Convert the non-relocation part of board_init_f to spl_board_init, turn on CONFIG_SPL_BOARD_INIT in the configs.
- Remove duplicated code.
- Add spl_boot_device() that returns the statically chosen boot device.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agonet: Quietly ignore DHCP Option 28 (Broadcast Address)
Brian Rzycki [Tue, 11 Sep 2012 09:22:53 +0000 (09:22 +0000)]
net: Quietly ignore DHCP Option 28 (Broadcast Address)

Some DHCP servers (notably dnsmasq) always transmit DHCP Option 28,
Broadcast Address as specified in RFC 2132. Without this patch u-boot
displays the warning:
  *** Unhandled DHCP Option in OFFER/ACK: 28

The patch suppresses the warning and ignores DHCP Option 28. There is
no environment variable to set the broadcast address into and if for
some reason u-boot needs the broadcast it can be calculated from
ipaddr and netmask.

Signed-off-by: Brian Rzycki <bmr@freescale.com>
12 years agoPXE: FDT: Add support for fdt in PXE
Chander Kashyap [Thu, 6 Sep 2012 19:36:31 +0000 (19:36 +0000)]
PXE: FDT: Add support for fdt in PXE

Now DT support is becoming common for all new SoC's. Hence it is better
to have option for getting specific FDT from the remote server.

This patch adds support for new label i.e. 'fdt'. This will allow to
retrieve 'fdt blob' from the remote server. This patch take care for
the following scenarios.

The usage of fdt is optional.
The 'fdt blob' can be retrieved from tftp or can be available locally
or can be absent.

If 'fdt_addr_r' environment variable is set and 'fdt' label is defined
retrieve 'fdt blob' from tftp. 'fdt_addr_r' is then passed along bootm
command.

If 'fdt_addr' is set and 'fdt blob' is not retrieved from the tftp pass
'fdt_addr' to bootm command. In this case 'fdt blob' will be available
at 'fdt_addr'.

If 'fdt_addr' is not set and 'fdt blob' is not retrieve from tftp pass
NULL to boot command. In this case 'fdt blob' is not required and absent.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Acked-by: Jason Hobbs <jason.hobbs@calxeda.com>
12 years agoFEC: Replace magic contants
Marek Vasut [Wed, 29 Aug 2012 03:49:51 +0000 (03:49 +0000)]
FEC: Replace magic contants

Replace the magic contant 1 << 24 with properly defined bits.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
12 years agoFEC: Rework the TX wait mechanism
Marek Vasut [Wed, 29 Aug 2012 03:49:50 +0000 (03:49 +0000)]
FEC: Rework the TX wait mechanism

The mechanism waiting for transmission to finish in fec_send() now
relies on the E-bit being cleared in the TX buffer descriptor. In
case of data cache being on, this means invalidation of data cache
above this TX buffer descriptor on each test for the E-bit being
cleared.

Apparently, there is another way to check if the transmission did
complete. This is by checking the TDAR bit in the X_DES_ACTIVE
register. Reading a register does not need any data cache invalidation,
which is beneficial.

Rework the sequence that wait for completion of the transmission so that
the TDAR bit is tested first and afterwards check the E-bit being clear.
This cuts down the number of cache invalidation calls to one.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
12 years agoFEC: Remove endless loop in the FEC driver
Marek Vasut [Wed, 29 Aug 2012 03:49:49 +0000 (03:49 +0000)]
FEC: Remove endless loop in the FEC driver

The FEC hardware sometimes errors out on data transfer and hangs in
the tightloop adjusted by this patch. So add timeout into the tightloop
to make such a hang recoverable.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
12 years agoFEC: Properly align address over the buffers for cache ops
Marek Vasut [Sun, 26 Aug 2012 10:19:21 +0000 (10:19 +0000)]
FEC: Properly align address over the buffers for cache ops

Align the address that's to be invalidated/flushed properly.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Benoit Thebaudeau <benoit.thebaudeau@advans>
Cc: Eric Nelson <eric.nelson@boundarydevices.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
12 years agoFEC: Do not pass unaligned buffer to network stack
Marek Vasut [Sun, 26 Aug 2012 10:19:20 +0000 (10:19 +0000)]
FEC: Do not pass unaligned buffer to network stack

Do not pass unaligned RX buffer to the upper layers. The upper layer,
especially in the ARP case, recycles the buffer and passes it back into
the FEC, into it's TX path. With caches enabled, the FEC hangs on this
from time to time.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Benoit Thebaudeau <benoit.thebaudeau@advans>
Cc: Eric Nelson <eric.nelson@boundarydevices.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
12 years agonet: Add Vitesse VSC8662 PHY support
Priyanka Jain [Fri, 17 Aug 2012 08:28:56 +0000 (08:28 +0000)]
net: Add Vitesse VSC8662 PHY support

-VSC8662 is Dual Port 10/100/1000Base-T Phy,
 100Base-FX/1000/Base-X Gigabit Ethernt Transceiver Phy.

-Its register set and features are similar to
 other Vitesse Phys

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: York Sun <yorksun@freescale.com>
12 years agonet/phy: support the mv88e6352 switch
Valentin Longchamp [Thu, 16 Aug 2012 01:17:26 +0000 (01:17 +0000)]
net/phy: support the mv88e6352 switch

This patch add support for the configuration of an external switch from
the 88E6xxx series from Marvell trough an MDIO link using indirect
adressing. This can be used if we do not want to use an EEPROM for the
configuration.

This driver is not generic and was not tested on other switches than the
88e6352. This is proposed as a first implementation that is somewhat
limited but works and that can be used as a basis for further
developments for this switch family.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Holger Brunck <holger.brunck@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
cc: Joe Hershberger <joe.hershberger@gmail.com>

12 years agonet: eth_write_hwaddr: Return error for invalid MACs
Benoît Thébaudeau [Fri, 10 Aug 2012 07:56:21 +0000 (07:56 +0000)]
net: eth_write_hwaddr: Return error for invalid MACs

If dev->enetaddr was supposed to be set with dev->write_hwaddr() but the MAC
address was not valid, return an error.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agoSPL: NAND: Move arch/arm/cpu/armv7/omap-common/spl_nand.c to common/spl
Tom Rini [Tue, 14 Aug 2012 21:33:02 +0000 (14:33 -0700)]
SPL: NAND: Move arch/arm/cpu/armv7/omap-common/spl_nand.c to common/spl

We move the spl_nand_load_image function to common/spl.  This will allow
for easier integration of SPL-boots-Linux code on other arches.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: Use image_get_xxx() functions to access header values
Stefan Roese [Mon, 27 Aug 2012 10:50:57 +0000 (12:50 +0200)]
SPL: Use image_get_xxx() functions to access header values

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: do not use fix value for u-boot size
Stefano Babic [Thu, 23 Aug 2012 10:46:16 +0000 (12:46 +0200)]
SPL: do not use fix value for u-boot size

If an u-boot image is not found, SPL thinks to load a bare
u-boot.bin image with a maximum size of 200KB.
Use CONFIG_SYS_MONITOR_LEN instead.

Signed-off-by: Stefan Roese <stefan.roese@gmail.com>
Signed-off-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: Create arch/arm/lib/spl.c for board_init_f and jump_to_image_linux
Tom Rini [Wed, 22 Aug 2012 22:31:05 +0000 (15:31 -0700)]
SPL: Create arch/arm/lib/spl.c for board_init_f and jump_to_image_linux

In SPL (CONFIG_SPL_FRAMEWORK) board_init_f must setup the stack pointer,
clear the BSS and call board_init_r.  We mark this as weak as some
platforms may need to perform additional initalization at this point.
We provide a gd that we know will be in a usable location, once the BSS
has been cleared to help with this as well.  Finally, we no longer call
relocate_code so remove that from the armv7 version.

Next, both board_init_f and jump_to_image_linux are going to be
inherently arch-specific, so move these versions to arch/arm/lib/spl.c

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoSPL: Move the omap SPL framework to common/spl
Tom Rini [Mon, 13 Aug 2012 19:03:19 +0000 (12:03 -0700)]
SPL: Move the omap SPL framework to common/spl

Add a new flag, CONFIG_SPL_FRAMEWORK to opt into the common/spl SPL
framework, enable on all of the previously using boards.  We move the
spl_ymodem.c portion to common/ and spl_mmc.c to drivers/mmc/.  We leave
the NAND one in-place as we plan to replace it later in this series.

We use common/spl to avoid linker problems with respect to merging
constant strings in objects.   Otherwise all strings in common/ will be
linked in and kept which grows SPL in size too much.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Move gpmc_init() to spl_board_init()
Tom Rini [Tue, 14 Aug 2012 19:26:08 +0000 (12:26 -0700)]
ARM: SPL: Move gpmc_init() to spl_board_init()

This is an OMAP/related-specific function, move calling it to
spl_board_init() and turn on CONFIG_SPL_BOARD_INIT on the boards that
enabled NAND and didn't enable this already.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Start hooking in the current SPI SPL support
Tom Rini [Tue, 14 Aug 2012 19:25:23 +0000 (12:25 -0700)]
ARM: SPL: Start hooking in the current SPI SPL support

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Clean up spl.c / spl_nand.c slightly
Tom Rini [Tue, 14 Aug 2012 19:06:43 +0000 (12:06 -0700)]
ARM: SPL: Clean up spl.c / spl_nand.c slightly

- Remove includes we don't need
- Switch some printf statements to puts
- Convert some printf statements to debug, introduce new puts statements
  - In most cases saying just "No mkimage signature, assuming
    u-boot.bin" or similar is sufficient.  This also means the non-DEBUG
    case doesn't need printf, in the core of SPL.
  - The other case here is that PLAIN_VERSION provided what we wanted
    already, so just use it.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Make spl_mmc.c more generic
Tom Rini [Tue, 14 Aug 2012 17:25:15 +0000 (10:25 -0700)]
ARM: SPL: Make spl_mmc.c more generic

Move the default omap/related-centric board_mmc_init to
arch/arm/cpu/armv7/omap-common/boot-common.c and move the type defines
to <asm/spl.h>.  Also use mmc->read_bl_len rather than MMCSD_SECTOR_SIZE

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Add <asm/spl.h> and <asm/arch/spl.h>
Tom Rini [Tue, 14 Aug 2012 15:50:58 +0000 (08:50 -0700)]
ARM: SPL: Add <asm/spl.h> and <asm/arch/spl.h>

Move the SPL prototypes from <asm/omap_common.h> into <asm/spl.h> and
add <asm/arch/spl.h> for arch specific portions of CONFIG_SPL_FRAMEWORK.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Only call mem_malloc_init if configured
Tom Rini [Mon, 13 Aug 2012 21:13:07 +0000 (14:13 -0700)]
ARM: SPL: Only call mem_malloc_init if configured

We can only attempt to setup a malloc pool if
CONFIG_SYS_SPL_MALLOC_START is defined, and not all boards require it.
Make the call depend on the define.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Remove NAND_MODE_HW_ECC from spl_nand.c
Tom Rini [Mon, 13 Aug 2012 21:11:06 +0000 (14:11 -0700)]
ARM: SPL: Remove NAND_MODE_HW_ECC from spl_nand.c

This detection code doesn't (and can't) do anything currently, so
remove.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Rename omap_boot_mode to spl_boot_mode()
Tom Rini [Tue, 14 Aug 2012 16:19:44 +0000 (09:19 -0700)]
ARM: SPL: Rename omap_boot_mode to spl_boot_mode()

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: SPL: Rename omap_boot_device to spl_boot_device
Tom Rini [Mon, 13 Aug 2012 19:53:23 +0000 (12:53 -0700)]
ARM: SPL: Rename omap_boot_device to spl_boot_device

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoomap-common: SPL: Fix whitespace in omap-common/u-boot-spl.lds.
Pavel Machek [Thu, 30 Aug 2012 17:20:22 +0000 (19:20 +0200)]
omap-common: SPL: Fix whitespace in omap-common/u-boot-spl.lds.

Signed-off-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoomap-common: Fix typo in save_boot_params() in lowlevel_init.S
Tom Rini [Tue, 14 Aug 2012 16:20:06 +0000 (09:20 -0700)]
omap-common: Fix typo in save_boot_params() in lowlevel_init.S

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoomap-common: SPL: Add CONFIG_SPL_DISPLAY_PRINT / spl_display_print()
Tom Rini [Mon, 13 Aug 2012 18:37:56 +0000 (11:37 -0700)]
omap-common: SPL: Add CONFIG_SPL_DISPLAY_PRINT / spl_display_print()

Only omap4/5 currently have a meaningful set of display text and overo
had been adding a function to display nothing.  Change how this works to
be opt-in and only turned on for omap4/5 now.

Signed-off-by: Tom Rini <trini@ti.com>
12 years agospl_mmc: Make FAT checks / calls guarded with CONFIG_SPL_FAT_SUPPORT
Tom Rini [Fri, 10 Aug 2012 16:27:14 +0000 (09:27 -0700)]
spl_mmc: Make FAT checks / calls guarded with CONFIG_SPL_FAT_SUPPORT

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoMakefile: Move SPL files to clobber, remove from clean
Tom Rini [Mon, 13 Aug 2012 19:18:34 +0000 (12:18 -0700)]
Makefile: Move SPL files to clobber, remove from clean

The 'clean' target has been removing all of spl but not u-boot itself.
For consistency and ease of testing, only remove SPL binaries / maps in
the clobber target, just like for full U-Boot

Signed-off-by: Tom Rini <trini@ti.com>
12 years agoFAT: Make it possible to read from any file position
Benoît Thébaudeau [Tue, 18 Sep 2012 08:14:56 +0000 (08:14 +0000)]
FAT: Make it possible to read from any file position

When storage devices contain files larger than the embedded RAM, it is
useful to be able to read these files by chunks, e.g. for a software
update to the embedded NAND Flash from an external storage device (USB
stick, SD card, etc.).

Hence, this patch makes it possible by adding a new FAT API to read
files from a given position. This patch also adds this feature to the
fatload command.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoenv: checkpatch clean env_fat
Igor Grinberg [Sun, 23 Sep 2012 05:25:21 +0000 (05:25 +0000)]
env: checkpatch clean env_fat

env_fat has several checkpatch warnings - clean those up.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: remove duplicated env_get_char_spec()
Igor Grinberg [Sun, 23 Sep 2012 04:39:16 +0000 (04:39 +0000)]
env: remove duplicated env_get_char_spec()

env_fat and env_remote have an implementation of env_get_char_spec()
function that is not different than the default.
Remove the duplicated code.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoREADME.commands: Document what UNDEF_SYM does
Tom Rini [Thu, 20 Sep 2012 06:02:43 +0000 (06:02 +0000)]
README.commands: Document what UNDEF_SYM does

Changes in v2:
- Reword a bit more

Signed-off-by: Tom Rini <trini@ti.com>
12 years agopatman: Use reverse order for changelog
Otavio Salvador [Sat, 18 Aug 2012 07:46:04 +0000 (07:46 +0000)]
patman: Use reverse order for changelog

Specially when many revisions are need for a patchset, the most
interesting information is about the last set of changes so we output
the changelog in reverse order to easy identification of most recent
change set.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agomalloc: remove extern declarations of malloc_bin_reloc() in board.c files
Daniel Schwierzeck [Sun, 3 Jun 2012 12:40:04 +0000 (12:40 +0000)]
malloc: remove extern declarations of malloc_bin_reloc() in board.c files

Declare malloc_bin_reloc() in malloc.h and remove all extern declarations
in various board.c files to get rid of one checkpatch.pl warning.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Andreas Bießmann <andreas.devel@gmail.com>
Cc: Jason Jin <Jason.jin@freescale.com>
Cc: Macpaul Lin <macpaul@andestech.com>
Cc: Daniel Hellstrom <daniel@gaisler.com>
Acked-by: Andreas Bießmann <andreas.devel@gmail.com>
12 years agonet: Add driver for Zynq Gem IP
Michal Simek [Thu, 13 Sep 2012 20:23:34 +0000 (20:23 +0000)]
net: Add driver for Zynq Gem IP

Device driver for Zynq Gem IP.

Signed-off-by: Michal Simek <monstr@monstr.eu>
CC: Joe Hershberger <joe.hershberger@gmail.com>
CC: Marek Vasut <marex@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
12 years agonet: asix: add AX88772B support
Lucas Stach [Wed, 22 Aug 2012 11:05:01 +0000 (11:05 +0000)]
net: asix: add AX88772B support

Add AX88772B ID together with two fixes needed to make this work.

1. The packet length check has to be adjusted, as all ASIX chips
only use 11 bits to indicate the length. AX88772B uses the other
bits to indicate unrelated things, which cause the check to fail.
This fix is based on a fix for the Linux kernel by Marek Vasut.
Linux upstream commit: bca0beb9363f8487ac902931a50eb00180a2d14a

2. AX88772B provides several bulk endpoints. Only the first
IN/OUT endpoints work in the default configuration. So stop
enumeration after we found them to avoid overwriting the
endpoint config with a non-working one.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: asix: add read_mac function
Lucas Stach [Wed, 22 Aug 2012 11:05:00 +0000 (11:05 +0000)]
net: asix: add read_mac function

Initial device MAC should be read while getting info about the
device, so it's wrong to only read it in asix_init().

Add a dedicated function to read the initial MAC, which is also
able to handle devices that have their initial MAC stored in
EEPROM. Call this function inasix_eth_get_info().

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: asix: add write_hwaddr function
Lucas Stach [Wed, 22 Aug 2012 11:04:59 +0000 (11:04 +0000)]
net: asix: add write_hwaddr function

All ASIX chipsets aside from AX88172 are able to set the MAC
address on the hardware level. Add a function to expose this
ability.

To differentiate between chip types we now carry flags as driver
private data. Also while touching the asix_dongles array
constify this.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: asix: split out basic reset function
Lucas Stach [Wed, 22 Aug 2012 11:04:58 +0000 (11:04 +0000)]
net: asix: split out basic reset function

The basic device reset ensures that the device is ready to
service commands and does not need to get redone before each
network operation.

Split out the basic reset from asix_init() and instead call it
from asix_eth_get_info(), so that it only gets called once.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: introduce transparent driver private in ueth_data
Lucas Stach [Wed, 22 Aug 2012 11:04:57 +0000 (11:04 +0000)]
net: introduce transparent driver private in ueth_data

Avoid clutter in ueth_data. Individual drivers should not mess
with structures belonging to the core like this.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-video
Tom Rini [Tue, 25 Sep 2012 23:18:22 +0000 (16:18 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-video

12 years agocmd_part: add partition-related command
Stephen Warren [Fri, 21 Sep 2012 09:51:01 +0000 (09:51 +0000)]
cmd_part: add partition-related command

This implements the following:

part uuid mmc 0:1
  -> print partition UUID
part uuid mmc 0:1 uuid
  -> set environment variable to partition UUID
part list mmc 0
  -> list the partitions on the specified device

"part uuid" can be useful when writing a bootcmd which searches all
known devices for something bootable, and then wants the kernel to
use the same partition as the root device, e.g.:

part uuid ${devtype} ${devnum}:${rootpart} uuid
setenv bootargs root=PARTUUID=${uuid} ...

Signed-off-by: Stephen Warren <swarren@nvidia.com>
12 years agodisk: part_msdos: parse and store partition UUID
Stephen Warren [Fri, 21 Sep 2012 09:51:00 +0000 (09:51 +0000)]
disk: part_msdos: parse and store partition UUID

The MSDOS/MBR partition table includes a 32-bit unique ID, often referred
to as the NT disk signature. When combined with a partition number within
the table, this can form a unique ID similar in concept to EFI/GPT's
partition UUID.

This patch generates UUIDs in the format 0002dd75-01, which matches the
format expected by the Linux kernel.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
12 years agodisk: part_efi: parse and store partition UUID
Stephen Warren [Fri, 21 Sep 2012 09:50:59 +0000 (09:50 +0000)]
disk: part_efi: parse and store partition UUID

Each EFI partition table entry contains a UUID. Extend U-Boot's struct
disk_partition to be able to store this information, and modify
get_partition_info_efi() to fill it in.

The implementation of uuid_string() was derived from the Linux kernel,
tag v3.6-rc4 file lib/vsprintf.c function uuid_string().

Signed-off-by: Stephen Warren <swarren@nvidia.com>
12 years agodisk: part_efi: range-check partition number
Stephen Warren [Fri, 21 Sep 2012 09:50:58 +0000 (09:50 +0000)]
disk: part_efi: range-check partition number

Enhance get_partition_info_efi() to range-check the partition number.
This prevents invalid partitions being accessed, and prevents access
beyond the end of the gpt_pte[] array.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
12 years agodisk: get_device_and_partition() "auto" partition and cleanup
Stephen Warren [Fri, 21 Sep 2012 09:50:57 +0000 (09:50 +0000)]
disk: get_device_and_partition() "auto" partition and cleanup

Rework get_device_and_partition() to:
a) Implement a new partition ID of "auto", which requests that U-Boot
   search for the first "bootable" partition, and fall back to the first
   valid partition if none is found. This way, users don't need to
   specify an explicit partition in their commands.
b) Make use of get_device().
c) Add parameter to indicate whether returning a whole device is
   acceptable, or whether a partition is mandatory.
d) Make error-checking of the user's device-/partition-specification
   more complete. In particular, if strtoul() doesn't convert all
   characters, it's an error rather than just ignored.

The resultant device/partition returned by the function will be as
follows, based on whether the disk has a partition table (ptable) or not,
and whether the calling command allows the whole device to be returned
or not.

(D and P are integers, P >= 1)

D
D:
  No ptable:
    !allow_whole_dev: error
    allow_whole_dev: device D
  ptable:
    device D partition 1
D:0
  !allow_whole_dev: error
  allow_whole_dev: device D
D:P
  No ptable: error
  ptable: device D partition P
D:auto
  No ptable:
    !allow_whole_dev: error
    allow_whole_dev: device D
  ptable:
    first partition in device D with bootable flag set.
    If none, first valid paratition in device D.

Note: In order to review this patch, it's probably easiest to simply
look at the file contents post-application, rather than reading the
patch itself.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
[swarren: Rob implemented scanning for bootable partitions. I fixed a
couple of issues there, switched the syntax to ":auto", added the
error-checking rework, and ":0" syntax for the whole device]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
12 years agodisk: introduce get_device()
Stephen Warren [Fri, 21 Sep 2012 09:50:56 +0000 (09:50 +0000)]
disk: introduce get_device()

This patch introduces function get_device(). This looks up a
block_dev_desc_t from an interface name (e.g. mmc) and device number
(e.g. 0). This function is essentially the non-partition-specific
prefix of get_device_and_partition().

Signed-off-by: Stephen Warren <swarren@nvidia.com>
12 years agocmd_reiser: use common get_device_and_partition function
Rob Herring [Thu, 23 Aug 2012 11:31:50 +0000 (11:31 +0000)]
cmd_reiser: use common get_device_and_partition function

Convert reiserload and reiserls to use common device and partition parsing
function. With the common function "dev:part" can come from the
environment and a '-' can be used in that case.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
12 years agocmd_zfs: use common get_device_and_partition function
Rob Herring [Thu, 23 Aug 2012 11:31:49 +0000 (11:31 +0000)]
cmd_zfs: use common get_device_and_partition function

Convert zfsload and zfsls to use common device and partition parsing
function. With the common function "dev:part" can come from the
environment and a '-' can be used in that case.

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