profile/common/platform/kernel/u-boot-artik.git
9 years agodisk: part_efi: re-order partition list printf, change case
Stephen Warren [Mon, 8 Oct 2012 08:14:33 +0000 (08:14 +0000)]
disk: part_efi: re-order partition list printf, change case

The partition name is a long variable-length string. Move it last on
the line to ensure consistent layout and that the entries align with
the "header" line. Also, surround it in quotes, so if it's empty, it's
obvious that something is still being printed.

Also, change the case of the LBA numbers; lower-case looks nicer in my
opinion, and will be more consistent with the UUID printing that is
added later in this series.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agodisk: part_efi: remove indent level from loop
Stephen Warren [Mon, 8 Oct 2012 08:14:32 +0000 (08:14 +0000)]
disk: part_efi: remove indent level from loop

Simplify the partition printing loop in print_part_efi() to bail out
early when the first invalid partition is found, rather than indenting
the whole body of the loop. This simplifies later patches.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agodisk: get_device_and_partition() return value fixes
Stephen Warren [Mon, 8 Oct 2012 07:45:54 +0000 (07:45 +0000)]
disk: get_device_and_partition() return value fixes

When no valid partitions are found, guarantee that we return -1. This
most likely already happens, since the most recent get_partition_info()
will have returned an error. However, it's best to be explicit.

Remove an unnecessary assignment of ret=0 in the success case; this value
is over-written with the processed partition ID later.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agoARM: prevent misaligned array inits
Albert ARIBAUD [Tue, 9 Oct 2012 09:28:15 +0000 (09:28 +0000)]
ARM: prevent misaligned array inits

Under option -munaligned-access, gcc can perform local char
or 16-bit array initializations using misaligned native
accesses which will throw a data abort exception. Fix files
where these array initializations were unneeded, and for
files known to contain such initializations, enforce gcc
option -mno-unaligned-access.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
[trini: Switch to usign call cc-option for -mno-unaligned-access as
Albert had done previously as that's really correct]
Signed-off-by: Tom Rini <trini@ti.com>
9 years agodfu:cmd: Support for DFU u-boot command
Lukasz Majewski [Mon, 6 Aug 2012 12:41:09 +0000 (14:41 +0200)]
dfu:cmd: Support for DFU u-boot command

Support for u-boot's command line command "dfu <interface> <dev> [list]".

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marex@denx.de>
9 years agodfu: MMC specific routines for DFU operation
Lukasz Majewski [Mon, 6 Aug 2012 12:41:08 +0000 (14:41 +0200)]
dfu: MMC specific routines for DFU operation

Support for MMC storage devices to work with DFU framework.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marex@denx.de>
9 years agodfu: DFU backend implementation
Lukasz Majewski [Mon, 6 Aug 2012 12:41:07 +0000 (14:41 +0200)]
dfu: DFU backend implementation

New, separate driver at ./drivers/dfu has been added. It allows platform
and storage independent operation of DFU.
It has been extended to use new MMC level of command abstraction.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marex@denx.de>
Conflicts:
Makefile

9 years agoyaffs2: Fix GCC 4.6 compile warnings
Anatolij Gustschin [Fri, 5 Oct 2012 23:31:03 +0000 (23:31 +0000)]
yaffs2: Fix GCC 4.6 compile warnings

Fix:
yaffs_guts.c: In function 'yaffs_check_chunk_erased':
yaffs_guts.c:324:6: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
yaffs_guts.c: In function 'yaffs_verify_chunk_written':
yaffs_guts.c:352:6: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
yaffs_guts.c: In function 'yaffs_grab_chunk_cache':
yaffs_guts.c:1488:6: warning: variable 'pushout' set but not used
[-Wunused-but-set-variable]
yaffs_guts.c: In function 'yaffs_check_obj_details_loaded':
yaffs_guts.c:3180:6: warning: variable 'alloc_failed' set but not used
[-Wunused-but-set-variable]
yaffs_guts.c:3179:6: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
yaffs_guts.c: In function 'yaffs_update_oh':
yaffs_guts.c:3288:6: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
yaffs_guts.c: In function 'yaffs_get_obj_name':
yaffs_guts.c:4447:7: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
yaffs_summary.c: In function 'yaffs_summary_read':
yaffs_summary.c:194:6: warning: variable 'sum_tags_bytes' set but not
used [-Wunused-but-set-variable]
yaffs_verify.c: In function 'yaffs_verify_file':
yaffs_verify.c:227:6: warning: variable 'actual_depth' set but not used
[-Wunused-but-set-variable]
yaffs_yaffs1.c: In function 'yaffs1_scan':
yaffs_yaffs1.c:26:6: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
yaffs_yaffs2.c: In function 'yaffs2_scan_chunk':
yaffs_yaffs2.c:949:6: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
yaffs_yaffs2.c: In function 'yaffs2_scan_backwards':
yaffs_yaffs2.c:1352:6: warning: variable 'deleted' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Charles Manning <cdhmanning@gmail.com>
Tested-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
9 years agodisk: part_dos: don't claim whole-disk FAT filesystems
Stephen Warren [Fri, 5 Oct 2012 13:17:40 +0000 (13:17 +0000)]
disk: part_dos: don't claim whole-disk FAT filesystems

Logically, a disk that contains a raw FAT filesystem does not in fact
have a partition table. However, test_part_dos() was claiming that such
disks did in fact have a DOS-style partition table. This caused
get_device_and_partition() not to return a whole-disk disk_partition_t,
since part_type != PART_TYPE_UNKNOWN.

part_dos.c's print_partition_extended() detected the raw FAT filesystem
condition and printed a fake partition table that encompassed the whole
disk.

However, part_dos.c's get_partition_info_extended() did not return any
valid partitions in this case. This combination caused
get_device_and_partition() not to find any valid partitions, and hence
to return an error.

Fix test_part_dos() not to claim that raw FAT filesystems are DOS
partition tables. In turn, this causes get_device_and_partition() to
return a whole-disk disk_partition_t, and hence the following commands
work:

fatls mmc 0 /
fatls mmc 0:auto /

An alternative would be to modify print_partition_extended() to detect
raw FAT filesystems, just like print_partition_extended() does, and to
return a fake partition in this case. However, this seems logically
incorrect, and also duplicates code, since get_device_and_partition()
falls back to returning a whole-disk partition when there is no partition
table on the device.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agoFAT: check for partition 0 not 1 for whole-disk fs
Stephen Warren [Fri, 5 Oct 2012 13:17:39 +0000 (13:17 +0000)]
FAT: check for partition 0 not 1 for whole-disk fs

The recent switch to use get_device_and_partition() from do_fat_ls()
broke the ability to access a FAT filesystem directly on a whole device;
FAT only works within a partition on a device.

This change makes e.g. "fatls mmc 0:0" work; explicitly requesting
partition ID 0 is something that get_device_and_partition() fully
supports. However, fat_register_device() expects partition ID 1 to be
used in the full-disk case; partition ID 1 was previously implicitly
specified when the user didn't actually specify a partition ID. Update
fat_register_device() to expect the correct ID.

This change does imply that if a user explicitly executes "fatls mmc 0:1"
then this will fail, and may be a change in behaviour.

Note that this still prevents "fatls mmc 0:auto" from working. The next
patch will fix that.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agoext4: Rename block group descriptor table from gd to bgd
Simon Glass [Wed, 3 Oct 2012 11:37:49 +0000 (11:37 +0000)]
ext4: Rename block group descriptor table from gd to bgd

On x86 machines gd is unfortunately a #define, so we should avoid using
gd for anything. This patch changes uses of gd to bgd so that ext4fs
can be used on x86.

A better fix would be to remove the #define in x86, but I'm not sure
how to do that.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 years agocmd_disk: use common get_device_and_partition function
Rob Herring [Thu, 23 Aug 2012 11:31:48 +0000 (11:31 +0000)]
cmd_disk: use common get_device_and_partition function

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

Convert fatload, fatls, and fatinfo 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>
9 years agocmd_extX: use common get_device_and_partition function
Rob Herring [Thu, 23 Aug 2012 11:31:46 +0000 (11:31 +0000)]
cmd_extX: use common get_device_and_partition function

Convert ext2/4 load, ls, and write functions 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>
9 years agoext4: remove init_fs/deinit_fs
Rob Herring [Thu, 23 Aug 2012 11:31:45 +0000 (11:31 +0000)]
ext4: remove init_fs/deinit_fs

There's no real need to expose this and it can be removed by using a static
allocation.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
9 years agodisk/part: introduce get_device_and_partition
Rob Herring [Fri, 21 Sep 2012 04:08:17 +0000 (04:08 +0000)]
disk/part: introduce get_device_and_partition

All block device related commands (scsiboot, fatload, ext2ls, etc.) have
simliar duplicated device and partition parsing and selection code. This
adds a common function to replace various implementations.

The new function has an enhancement over current versions. If no device
or partition is specified on the command line, the bootdevice env variable
will be used (scsiboot does this).

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
9 years agodisk/part: check bootable flag for DOS partitions
Rob Herring [Thu, 23 Aug 2012 11:31:43 +0000 (11:31 +0000)]
disk/part: check bootable flag for DOS partitions

Determine which partitions are bootable/active. In the partition listing,
print "Boot" for partitions with the bootable/active flag set.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
9 years agocombine block device load commands into common function
Rob Herring [Fri, 21 Sep 2012 04:02:30 +0000 (04:02 +0000)]
combine block device load commands into common function

All the raw block load commands duplicate the same code. Starting with
the ide version as it has progress updates convert ide, usb, and scsi boot
commands to all use a common version.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
9 years agodisk: make get_partition_info() always available to disk.c
Stephen Warren [Fri, 21 Sep 2012 12:46:54 +0000 (12:46 +0000)]
disk: make get_partition_info() always available to disk.c

Now that get_device_and_partition() always calls get_partition_info()
when disk.c is compiled, we must always compile the function, rather
than ifdef it away.

The implementation must be conditional based on CONFIG_CMD_* etc., since
that's what e.g. part_dos.c uses to ifdef out get_partition_info_dos();
CONFIG_DOS_PARTITION can be enabled even without those commands being
enabled.

Technically, this change is required before Rob's "disk/part: introduce
get_device_and_partition" patch. However, at least when the compiler
optimizer is turned on, it isn't required before then in practice,
since get_device_and_partition() calls get_dev(), which is stubbed out
in disk.c under exactly the same conditions that get_partition_info()
is not compiled, and hence the compiler never generates code for the
call to the missing function. However, in my later patch "disk:
get_device_and_partition() "auto" partition and cleanup", the optimizer
doesn't succeed at this, and may attempt to reference the undefined
function.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agoext4: cache-align buffers so the invalidation works
Stephen Warren [Tue, 18 Sep 2012 08:05:28 +0000 (08:05 +0000)]
ext4: cache-align buffers so the invalidation works

DMA buffer cache invalidation requires that buffers have cache-aligned
buffer locations and sizes. Use memalign() and ALLOC_CACHE_ALIGN_BUFFER()
to ensure this.

On Tegra at least, without this fix, the following fail commands fail in
u-boot-master/ext4, but succeeded at the branch's branch point in
u-boot/master. With this fix, the commands work again:

ext2ls mmc 0:1 /
ext2load mmc 0:1 /boot/zImage

Cc: Uma Shankar <uma.shankar@samsung.com>
Cc: Manjunatha C Achar <a.manjunatha@samsung.com>
Cc: Iqbal Shareef <iqbal.ams@samsung.com>
Cc: Hakgoo Lee <goodguy.lee@samsung.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agoext4fs write support
Uma Shankar [Fri, 25 May 2012 15:52:49 +0000 (21:22 +0530)]
ext4fs write support

Signed-off-by: Uma Shankar <uma.shankar@samsung.com>
Signed-off-by: Manjunatha C Achar <a.manjunatha@samsung.com>
Signed-off-by: Iqbal Shareef <iqbal.ams@samsung.com>
Signed-off-by: Hakgoo Lee <goodguy.lee@samsung.com>
9 years agoext4fs ls load support
Uma Shankar [Fri, 25 May 2012 15:51:44 +0000 (21:21 +0530)]
ext4fs ls load support

Signed-off-by: Uma Shankar <uma.shankar@samsung.com>
Signed-off-by: Manjunatha C Achar <a.manjunatha@samsung.com>
Signed-off-by: Iqbal Shareef <iqbal.ams@samsung.com>
Signed-off-by: Hakgoo Lee <goodguy.lee@samsung.com>
Conflicts:
include/ext2fs.h

9 years agoFAT: Fix file contents listed as directory
Benoît Thébaudeau [Fri, 20 Jul 2012 03:20:29 +0000 (03:20 +0000)]
FAT: Fix file contents listed as directory

With:
fatls mmc 0 /dir/file
dir: regular directory
file: regular file

The previous code read the contents of file as if it were directory entries to
list. This patch refuses to list file contents as if it were a folder.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agoubifs: Fix ubifsload when using ZLIB
Veli-Pekka Peltola [Wed, 5 Sep 2012 15:05:14 +0000 (18:05 +0300)]
ubifs: Fix ubifsload when using ZLIB

Using ZLIB compression with UBIFS fails if last data node is not a size of
UBIFS_BLOCK_SIZE (4096 bytes).

Easiest way to test this is trying to read a file smaller than 4k:
=> ubifsload 41000000 /etc/fstab
Loading file '/etc/fstab' to addr 0x41000000 with size 704 (0x000002c0)...
UBIFS error (pid 0): read_block: bad data node (block 0, inode 2506)
UBIFS error (pid 0): do_readpage: cannot read page 0 of inode 2506, error -22
Error reading file '/etc/fstab'
/etc/fstab not found!
exit not allowed from main input shell.
=>

With this patch:

=> ubifsload 41000000 /etc/fstab
Loading file '/etc/fstab' to addr 0x41000000 with size 704 (0x000002c0)...
Done
=>

Signed-off-by: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>
Cc: kmpark@infradead.org
Tested-by: Andreas Bießmann <andreas.devel@googlemail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
9 years agoubifs: Fix memory leak in ubifs_finddir
Stefan Roese [Tue, 28 Aug 2012 12:00:24 +0000 (14:00 +0200)]
ubifs: Fix memory leak in ubifs_finddir

This patch fixes a memory leak in ubifs_finddir().

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: dev.ma.dma@gmail.com
9 years agoFAT: Simplify get_contents
Benoît Thébaudeau [Fri, 20 Jul 2012 13:21:37 +0000 (15:21 +0200)]
FAT: Simplify get_contents

One call to get_cluster can be factorized with another, so avoid
duplicating code.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agoFAT: get_cluster: Add buffer bouncing
Benoît Thébaudeau [Fri, 20 Jul 2012 13:21:08 +0000 (15:21 +0200)]
FAT: get_cluster: Add buffer bouncing

Add a buffer bouncing mechanism to get_cluster.  This can be useful
for misaligned applicative buffers passed through get_contents.
This is required for the following patches in the case of data
aligned differently relatively to buffers and clusters.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agoFAT: Fix redundant sector read
Benoît Thébaudeau [Fri, 20 Jul 2012 13:20:12 +0000 (15:20 +0200)]
FAT: Fix redundant sector read

With the previous code, the remaining prefetched sectors were read
again after each sector.  With this patch, each sector is read only
once, thus making the prefetch useful.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agoFAT: cosmetic: Remove useless assignment
Benoît Thébaudeau [Fri, 20 Jul 2012 13:19:51 +0000 (15:19 +0200)]
FAT: cosmetic: Remove useless assignment

fatlength is not used after this assignment, so it is useless and can
be removed.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agoFAT: get_fatent: Fix FAT boundary check
Benoît Thébaudeau [Fri, 20 Jul 2012 13:19:29 +0000 (15:19 +0200)]
FAT: get_fatent: Fix FAT boundary check

startblock must be taken into account in order not to read past the
end of the FAT.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agoFAT: cosmetic: Remove extra spaces
Benoît Thébaudeau [Fri, 20 Jul 2012 13:18:44 +0000 (15:18 +0200)]
FAT: cosmetic: Remove extra spaces

Remove spaces before opening parentheses in function calls.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agopart_mac: dcache: allocate cacheline-aligned buffers
Benoît Thébaudeau [Fri, 13 Jul 2012 19:31:03 +0000 (21:31 +0200)]
part_mac: dcache: allocate cacheline-aligned buffers

This patch forces the correct alignment for DMA operations of buffers used by
part_mac.c.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agou-boot yaffs2: Fix compilation warnings
Charles Manning [Tue, 14 Aug 2012 18:26:10 +0000 (18:26 +0000)]
u-boot yaffs2: Fix compilation warnings

Also remove yaffs_hweight and use the hweight in u-boot.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
9 years agozfs: Add ZFS filesystem support
Jorgen Lundman [Thu, 19 Jul 2012 20:48:25 +0000 (20:48 +0000)]
zfs: Add ZFS filesystem support

U-Boot port is based on sources forked from GRUB-0.97 by Sun in 2004,
which can be found here:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/grub/grub-0.97/stage2/zfs-include/zfs.h

Released by Sun for GRUB under the license:
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.

GRUB official releases include ZFS in version:
ftp://alpha.gnu.org/gnu/grub/grub-1.99~rc1.tar.gz

And patched against GRUB Bazaar repository for ashift fixes (4KB HDDs)
more conveniently found at github:
https://github.com/pendor/grub-zfs/commit/e7b6ef3ac3b9685ac4c394c897b1d4221b7381f1

Signed-off-by: Jorgen Lundman <lundman@lundman.net>
9 years agou-boot: Update yaffs2 file system
Charles Manning [Wed, 9 May 2012 16:55:17 +0000 (16:55 +0000)]
u-boot: Update yaffs2 file system

This patch updates the yaffs2 in u-boot to correspond to
git://www.aleph1.co.uk/yaffs2
commit id 9ee5d0643e559568dbe62215f76e0a7bd5a63d93

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
9 years agoUBIFS: Improve error message when reading superblock failed
Bernhard Walle [Mon, 2 Apr 2012 01:58:34 +0000 (01:58 +0000)]
UBIFS: Improve error message when reading superblock failed

In addition to the error message also display the error code. I had the
problem that my malloc memory was not enough (ENOMEM), and if u-boot
had displayed the error code immediately that would have saved me some
debugging.

Signed-off-by: Bernhard Walle <walle@corscience.de>
Use ubifs_err instead of printf.
Add "errno=%d" in output as suggested by Albert Aribaud.

Signed-off-by: Thomas Weber <weber@corscience.de>
9 years agoext2fs: fix warning: 'blocknxt' may be used uninitialized with gcc 4.2
Tom Rini [Tue, 7 Aug 2012 16:58:34 +0000 (09:58 -0700)]
ext2fs: fix warning: 'blocknxt' may be used uninitialized with gcc 4.2

The above warning was introduced originally in 436da3c "ext2load:
increase read speed" and fixed for newer toolchains in b803273 "ext2fs:
fix warning: 'blocknxt' may be used uninitialized".  This change did not
fix the warning with gcc 4.2, as found in ELDK 4.2.

If we rework the while loop to initalize blocknxt before entering the
warning really goes away.  Tested on am335x with an approx 7mb file and
crc32 in U-Boot befor and after this change.

Cc: Wolfgang Denk <wd@denx.de>
Cc: Eric Nelson <eric.nelson@boundarydevices.com>
Cc: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Jason Cooper <u-boot@lakedaemon.net>
Cc: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com>
Cc: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Tom Rini <trini@ti.com>
9 years agoext2fs: fix warning: 'blocknxt' may be used uninitialized
Kim Phillips [Tue, 3 Jul 2012 22:41:56 +0000 (17:41 -0500)]
ext2fs: fix warning: 'blocknxt' may be used uninitialized

This warning was introduced in 436da3c "ext2load: increase read
speed":

ext2fs.c: In function 'ext2fs_read_file':
ext2fs.c:458:19: warning: 'blocknxt' may be used uninitialized in this function [-Wuninitialized]

this change makes it go away.

Cc: Eric Nelson <eric.nelson@boundarydevices.com>
Cc: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Jason Cooper <u-boot@lakedaemon.net>
Cc: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
9 years agoext2load: increase read speed
u-boot@lakedaemon.net [Wed, 28 Mar 2012 04:37:11 +0000 (04:37 +0000)]
ext2load: increase read speed

This patch dramatically drops the amount of time u-boot needs to read a
file from an ext2 partition.  On a typical 2 to 5 MB file (kernels and
initrds) it goes from tens of seconds to a couple seconds.

All we are doing here is grouping contiguous blocks into one read.

Boot tested on Globalscale Technologies Dreamplug (Kirkwood ARM SoC)
with three different files.  sha1sums were calculated in Linux
userspace, and then confirmed after ext2load.

Signed-off-by: Jason Cooper <u-boot@lakedaemon.net>
Tested-by: Eric Nelson <eric.nelson@boundarydevices.com>
Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
Conflicts:
fs/ext2/ext2fs.c

9 years agofs: ext2: revert ext2_format
Chanho Park [Wed, 22 Jul 2015 10:43:12 +0000 (19:43 +0900)]
fs: ext2: revert ext2_format

To merge upstream patch more conventionaly, ext2_format should be
reverted.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agofs: fat: revert do_fat_format
Chanho Park [Wed, 22 Jul 2015 10:37:58 +0000 (19:37 +0900)]
fs: fat: revert do_fat_format

For convention of merging patches, revert do_fat_format formath
temporarly.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoexynos5422: merge source from xyref5422 source tree
Chanho Park [Thu, 2 Jul 2015 08:32:47 +0000 (17:32 +0900)]
exynos5422: merge source from xyref5422 source tree

This patch merges source codes from xyref5422 source tree. Current
source has a exynos5412 board which is similar with exynos5420 and 5422.
During merging the source, the exynos5412 definitions was changed to
exynos5420.

There is two types of Xyref5422 board. One is 3GB ram with 12 ram banks and
another is 2GB ram with 8 ram banks. To initialize memory, we should
define CONFIG_NR_DRAM_BANKS and SDRAM_BANK_SIZE. Unfortunately, previous
xyref5422 codes didn't use CONFIG_NR_DRAM_BANKS to decide ram size
dynamically. Thus, if you want to use xyref5422 2GB version, you should
change CONFIG_NR_DRAM_BANKS from 12 to 8.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoartik5: sync sources from exynos3250
Chanho Park [Thu, 2 Jul 2015 02:15:10 +0000 (11:15 +0900)]
artik5: sync sources from exynos3250

This patch bomb is from exynos3250 sources because we don't have any git
history for that. Instead of maintaining full git history, I just merge
the sources.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
12 years agoPrepare v2012.07
Wolfgang Denk [Mon, 30 Jul 2012 18:24:37 +0000 (20:24 +0200)]
Prepare v2012.07

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agohawkboard: Fix SPL Nand driver misconfiguration
Linu Cherian [Thu, 26 Jul 2012 22:21:53 +0000 (22:21 +0000)]
hawkboard: Fix SPL Nand driver misconfiguration

Hawkboard was using the wrong nand_read_page version for SPL image.
As a side effect, the u-boot image loaded by the SPL from nand
was getting corrupted.

Enable CONFIG_SYS_NAND_HW_ECC_OOBFIRST to select the correct nand_read_page
algorithm for SPL.

Signed-off-by: Linu Cherian <linucherian@gmail.com>
Acked-by: Sughosh Ganu <urwithsughosh@gmail.com>
Acked-by: Tom Rini <trini@ti.com>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-mips
Wolfgang Denk [Mon, 30 Jul 2012 08:07:00 +0000 (10:07 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mips

* 'master' of git://git.denx.de/u-boot-mips:
  MIPS: fix renaming of inca-swap-bytes to xway-swap-bytes

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMakefile: avoid "Generating asm-offsets.h" message with "-s"
Wolfgang Denk [Thu, 26 Jul 2012 20:52:41 +0000 (20:52 +0000)]
Makefile: avoid "Generating asm-offsets.h" message with "-s"

make would spit out a message like

Generating /tmp/build/include/generated/asm-offsets.h

even when running with option "-s".  Fix this.

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMIPS: fix renaming of inca-swap-bytes to xway-swap-bytes
Daniel Schwierzeck [Fri, 27 Jul 2012 21:44:24 +0000 (23:44 +0200)]
MIPS: fix renaming of inca-swap-bytes to xway-swap-bytes

Fix some remains of the renaming of inca-swap-bytes introduced in

commit 60b74bde9280e85f4423c05a50ecc41de56ad980

MIPS: INCA-IP: rename inca-swap-bytes host tool

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
12 years agoPrepare v2012.07-rc3
Wolfgang Denk [Fri, 27 Jul 2012 06:27:18 +0000 (08:27 +0200)]
Prepare v2012.07-rc3

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agonet: Make sure the ethaddr is updated in net_init()
Joe Hershberger [Mon, 23 Jul 2012 13:11:16 +0000 (13:11 +0000)]
net: Make sure the ethaddr is updated in net_init()

NetConsole may call NetSendUDPPacket before NetLoop is called.  This
will cause the source MAC address (NetOurEther) to be wrong.  Instead
of only changing it in NetLoop, move it to NetLoopInit so that it is
also updated when net_init() is called (especially by nc_start()).

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reported-by: Michael Walle <michael@walle.cc>
Acked-by: Michael Walle <michael@walle.cc>
12 years agoPrepare v2012.07-rc2
Wolfgang Denk [Sun, 22 Jul 2012 20:00:02 +0000 (22:00 +0200)]
Prepare v2012.07-rc2

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMinor Coding Style Cleanup.
Wolfgang Denk [Sun, 22 Jul 2012 19:58:26 +0000 (21:58 +0200)]
Minor Coding Style Cleanup.

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoBC3450 board: Remove unused CONFIG_SYS_CPU definition
Wolfgang Denk [Sun, 22 Jul 2012 07:58:47 +0000 (09:58 +0200)]
BC3450 board: Remove unused CONFIG_SYS_CPU definition

This fixes:
cmd_bc3450.c:55:0: warning: "CONFIG_SYS_CPU" redefined [enabled by default]

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
12 years agoBC3450 board: change debug code to using debug()
Wolfgang Denk [Sun, 22 Jul 2012 07:56:06 +0000 (09:56 +0200)]
BC3450 board: change debug code to using debug()

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Sat, 21 Jul 2012 22:10:39 +0000 (00:10 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

* 'master' of git://git.denx.de/u-boot-arm:
  ARM1136: Fix cache range checks
  mx6: Make pad name macro consistent with the datasheet
  mx28: Fix elftosb source link in README.mx28_common
  doc: README.mx28_common: Add missing entry into Contents

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMPC83xx, MPC85xx: compile stub cache function
Stefano Babic [Thu, 19 Jul 2012 23:00:02 +0000 (23:00 +0000)]
MPC83xx, MPC85xx: compile stub cache function

An empty flush_dcache_range() was added into MPC83xx and MPC85xx to
work with drivers shared with other architecture.  However, it is
compiled only if USB is set, but it is required for other drivers
(FSL_ESDHC), too.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Andy Fleming <afleming@gmail.com>
CC: Dirk Behme <dirk.behme@de.bosch.com>
CC: Marek Vasut <marex@denx.de>
CC: Wolfgang Denk <wd@denx.de>
Added MPC83xx version.

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoARM1136: Fix cache range checks
Benoît Thébaudeau [Thu, 19 Jul 2012 01:35:32 +0000 (01:35 +0000)]
ARM1136: Fix cache range checks

bad_cache_range actually returned true if the range was OK, but it was used
according to its name, which resulted in all valid dcache range invalidate/flush
operations being dropped. Hence, most DMA transfers resulted in garbage data.

This patch renames this function according to what it does, and it fixes the
interpretation of its return value by other functions. The chosen naming is the
same as for ARM926EJ-S in order to be consistent.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agomx6: Make pad name macro consistent with the datasheet
Ashok [Fri, 15 Jun 2012 03:48:57 +0000 (03:48 +0000)]
mx6: Make pad name macro consistent with the datasheet

Use the same name as defined in the datasheet.
DSP_CLK -> DISP_CLK

Signed-off-by: Ashok Kumar Reddy Kourla <ashokkourla2000@gmail.com>
Acked-by: Marek Vasut <marex@denx.de>
12 years agomx28: Fix elftosb source link in README.mx28_common
Anatolij Gustschin [Wed, 27 Jun 2012 04:14:29 +0000 (04:14 +0000)]
mx28: Fix elftosb source link in README.mx28_common

The documented link to elftosb package tarball is not accessible,
change to another working link.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Marek Vasut <marek.vasut@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Detlev Zundel <dzu@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
12 years agodoc: README.mx28_common: Add missing entry into Contents
Fabio Estevam [Mon, 18 Jun 2012 05:51:49 +0000 (05:51 +0000)]
doc: README.mx28_common: Add missing entry into Contents

commit 419ea2d84 (mx28: Split the README into a common part and a m28 specific part)
missed an entry in the Contents section that was part of the original file.

Add the missing entry for completeness.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Fri, 20 Jul 2012 20:38:32 +0000 (22:38 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

* 'master' of git://git.denx.de/u-boot-arm:
  ARM: lib: Remove CONFIG_ARCH_CPU_INIT dependency
  ARM: OMAP4: PANDA: Add rest of the USB module pads to essentials
  arm: armv7: add compile option -mno-unaligned-access if available
  arm: Fix to mistake clean the memory space

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-nds32
Wolfgang Denk [Fri, 20 Jul 2012 20:35:13 +0000 (22:35 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-nds32

* 'master' of git://git.denx.de/u-boot-nds32:
  nds32: split common cache access from cpu into lib

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agocommon.h: Remove include compiler.h
Marek Vasut [Fri, 20 Jul 2012 10:12:58 +0000 (10:12 +0000)]
common.h: Remove include compiler.h

Remove this as including it on global scale breaks a lot of things.
This was reported by:
Matthew McClintock <B29882@freescale.com>

Fix found by:
Tom Rini <trini@ti.com>

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
12 years agonds32: split common cache access from cpu into lib
Macpaul Lin [Sun, 15 Jul 2012 03:54:13 +0000 (11:54 +0800)]
nds32: split common cache access from cpu into lib

This commit does the following updates.
1. Split the common cache access from cpu.c into lib folder.
2. Rename the following cache api to adapt common.h
 - dcache_flush_rang -> flush_dcache_rang
 - icache_inval_range -> invalidate_icache_range
3. Add invalidate_dcache_range

Signed-off-by: Macpaul Lin <macpaul@gmail.com>
12 years agoARM: lib: Remove CONFIG_ARCH_CPU_INIT dependency
Fabio Estevam [Thu, 1 Mar 2012 04:02:38 +0000 (04:02 +0000)]
ARM: lib: Remove CONFIG_ARCH_CPU_INIT dependency

Create a weak-aliased arch_cpu_init, so that we can get rid of CONFIG_ARCH_CPU_INIT
and always call arch_cpu_init.

This way we do not need to define CONFIG_ARCH_CPU_INIT in every board file, since
arch_cpu_init() is supposed to handle common CPU level code.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agoARM: OMAP4: PANDA: Add rest of the USB module pads to essentials
SRICHARAN R [Wed, 18 Jul 2012 21:54:47 +0000 (14:54 -0700)]
ARM: OMAP4: PANDA: Add rest of the USB module pads to essentials

In commit 1a89a217f5c5ab3645c80c1247e8911a8b5ad491 we moved most of the
required pads and mux data for USB to the essential list so that later
on we could NOT enable anything that wasn't essential unless otherwise
configured.  This was however missing a few pandaboard-specific parts
which left for example USB ethernet non-functional.

Tested this on OMAP4430 ES2.2, OMAP4460 ES1.1 PANDA boards.

(Reworded by Tom Rini to be more precise about what the problem was)

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Tested-by: Gary Thomas <gary@mlbassoc.com>
Tested-by: Tom Rini <trini@ti.com>
12 years agoarm: armv7: add compile option -mno-unaligned-access if available
Tetsuyuki Kobayashi [Sun, 1 Jul 2012 23:42:10 +0000 (23:42 +0000)]
arm: armv7: add compile option -mno-unaligned-access if available

Recent compiler generates unaligned memory access in armv7 default.
But current U-Boot does not allow unaligned memory access, so it causes
data abort exception.
This patch add compile option "-mno-unaligned-access" if it is available.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Tested-by: Gary Thomas <gary@mlbassoc.com>
12 years agoarm: Fix to mistake clean the memory space
Zhong Hongbo [Sat, 7 Jul 2012 03:24:33 +0000 (03:24 +0000)]
arm: Fix to mistake clean the memory space

In currently, when __bss_start is equal to __bss_end__,
The bss loop will clear all the things in memory space.

But just only when __bss_end__ greater than __bss_start__,
we do the clear bss section operation.

Signed-off-by: Zhong Hongbo <bocui107@gmail.com>
Acked-by: Andreas Bießmann <andreas.devel@googlemail.com>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Wolfgang Denk [Fri, 20 Jul 2012 07:12:43 +0000 (09:12 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

* 'master' of git://git.denx.de/u-boot-usb:
  usb_storage: fix ehci driver max transfer size
  smsc95xx: align buffers to cache line size
  ehci-hcd: change debug() to printf() in case of errors
  usb: check return value of submit_{control, bulk}_msg
  usb: pass cache-aligned buffer to usb_get_descriptor()
  ehci-hcd: fix external buffer cache handling
  ehci-hcd.c, musb_core, usb.h: Add USB_DMA_MINALIGN define for cache alignment
  ehci-hcd: program asynclistaddr before every transfer
  common.h: Introduce DEFINE_CACHE_ALIGN_BUFFER
  ehci-omap: Do not call dcache_off from omap_ehci_hcd_init

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'sf' of git://git.denx.de/u-boot-blackfin
Wolfgang Denk [Fri, 20 Jul 2012 06:58:06 +0000 (08:58 +0200)]
Merge branch 'sf' of git://git.denx.de/u-boot-blackfin

* 'sf' of git://git.denx.de/u-boot-blackfin:
  sf: spansion: inline useless id defines
  sf: drop unused/duplicate command defines

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Wolfgang Denk [Fri, 20 Jul 2012 06:55:38 +0000 (08:55 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-net

* 'master' of git://git.denx.de/u-boot-net:
  net: link_local: fix build
  net: bootp: fix build

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agotools: clean up mingw ifdefs
Mike Frysinger [Wed, 18 Jul 2012 16:59:45 +0000 (16:59 +0000)]
tools: clean up mingw ifdefs

We have a header file specifically for mingw cruft, so keep it there
to avoid crap spreading into the main tools.  This lets our devs just
worry about *nix systems.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agosf: spansion: inline useless id defines
Mike Frysinger [Sun, 29 Jan 2012 00:32:18 +0000 (16:32 -0800)]
sf: spansion: inline useless id defines

No need for dedicated defines when these really only get used once.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agosf: drop unused/duplicate command defines
Mike Frysinger [Sun, 29 Jan 2012 00:26:03 +0000 (16:26 -0800)]
sf: drop unused/duplicate command defines

In an effort to unify the spi flash drivers further, drop all the
unused and/or duplicate command defines.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agonet: link_local: fix build
benoit.thebaudeau@advans [Thu, 19 Jul 2012 01:19:34 +0000 (01:19 +0000)]
net: link_local: fix build

Fix comment within comment build error.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
12 years agonet: bootp: fix build
benoit.thebaudeau@advans [Thu, 19 Jul 2012 01:23:21 +0000 (01:23 +0000)]
net: bootp: fix build

Fix NetSetState function name used with CONFIG_BOOTP_MAY_FAIL.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
12 years agoBlackfin: bfin_mac: drop volatile markings on packet buffers
Mike Frysinger [Thu, 19 Jul 2012 04:08:47 +0000 (00:08 -0400)]
Blackfin: bfin_mac: drop volatile markings on packet buffers

Now that common code doesn't declare these as volatile, we don't need to
either anymore.  This fixes the build warning:

bfin_mac.c: In function 'bfin_EMAC_recv':
bfin_mac.c:193:23: warning: assignment discards qualifiers from pointer target type

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agousb_storage: fix ehci driver max transfer size
Stefan Herbrechtsmeier [Mon, 9 Jul 2012 09:52:29 +0000 (09:52 +0000)]
usb_storage: fix ehci driver max transfer size

The commit 5dd95cf93dfffa1d19a1928990852aac9f55b9d9 'usb_storage:
Fix EHCI "out of buffer pointers" with CD-ROM' introduce a bug in
usb_storage as it wrongly assumes that every transfer can use
4096 bytes per qt_buffer. This is wrong if the start address of
the data is not page aligned to 4096 bytes and leads to 'EHCI
timed out on TD' messages because of 'out of buffer pointers'
in ehci_td_buffer function.

The bug appears during load of a fragmented file and
read from or write to an unaligned memory address.

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
12 years agosmsc95xx: align buffers to cache line size
Ilya Yanok [Sun, 15 Jul 2012 04:43:53 +0000 (04:43 +0000)]
smsc95xx: align buffers to cache line size

Align buffers passed to the USB code to cache line size so
they can be DMAed safely.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agoehci-hcd: change debug() to printf() in case of errors
Ilya Yanok [Sun, 15 Jul 2012 04:43:52 +0000 (04:43 +0000)]
ehci-hcd: change debug() to printf() in case of errors

Printing message could be useful if something goes really wrong.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agousb: check return value of submit_{control, bulk}_msg
Ilya Yanok [Sun, 15 Jul 2012 04:43:51 +0000 (04:43 +0000)]
usb: check return value of submit_{control, bulk}_msg

Return values of submit_{control,bulk}_msg() functions
should be checked to detect possible error.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agousb: pass cache-aligned buffer to usb_get_descriptor()
Ilya Yanok [Sun, 15 Jul 2012 04:43:50 +0000 (04:43 +0000)]
usb: pass cache-aligned buffer to usb_get_descriptor()

usb_get_descriptor passes it's buffer argument directly to
usb_control_msg() so it has to be properly aligned/padded.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agoehci-hcd: fix external buffer cache handling
Ilya Yanok [Sun, 15 Jul 2012 04:43:49 +0000 (04:43 +0000)]
ehci-hcd: fix external buffer cache handling

Buffer coming from upper layers should be cacheline aligned/padded
to perform safe cache operations. For now we don't do bounce
buffering so getting unaligned buffer is an upper layer error.
We can't check if the buffer is properly padded with current
interface so just assume it is (consider changing with in the
future). The following changes are done:

1. Remove useless length alignment check. We get actual transfer
length not the size of the underlying buffer so it's perfectly
valid for it to be unaligned.
2. Move flush_dcache_range() out of while loop or it will
flush too much.
3. Don't try to fix buffer address before calling invalidate:
if it's unaligned it's an error anyway so let cache subsystem
cry about that.
4. Fix end buffer address to be cacheline aligned assuming upper
layer reserved enough space. This is potentially dangerous
operation so upper layers should be careful about that.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agoehci-hcd.c, musb_core, usb.h: Add USB_DMA_MINALIGN define for cache alignment
Tom Rini [Sun, 15 Jul 2012 22:14:24 +0000 (22:14 +0000)]
ehci-hcd.c, musb_core, usb.h: Add USB_DMA_MINALIGN define for cache alignment

The USB spec says that 32 bytes is the minimum required alignment.
However on some platforms we have a larger minimum requirement for cache
coherency.  In those cases, use that value rather than the USB spec
minimum.  We add a cpp check to <usb.h> to define USB_DMA_MINALIGN and
make use of it in ehci-hcd.c and musb_core.h.  We cannot use MAX() here
as we are not allowed to have tests inside of align(...).

Signed-off-by: Tom Rini <trini@ti.com>
[marek.vasut]: introduce some crazy macro voodoo
Signed-off-by: Marek Vasut <marex@denx.de>
[ilya.yanok]: moved external buffer fixes to separate patch,
we use {ALLOC,DEFINE}_ALIGN_BUFFER macros with alignment of USB_DMA_MINALIGN
for qh_list, qh and qtd structures to make sure they are proper aligned
for both controller and cache operations.
Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agoehci-hcd: program asynclistaddr before every transfer
Ilya Yanok [Sun, 15 Jul 2012 22:12:08 +0000 (22:12 +0000)]
ehci-hcd: program asynclistaddr before every transfer

Move or_asynclistaddr programming to ehci_submit_async()
function to make sure queue head is properly programmed
before every transfer. This solves the problem with changing
qh address.

Also remove unneeded qh_list->qh_link reprogramming at the
end of transfer.

Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agocommon.h: Introduce DEFINE_CACHE_ALIGN_BUFFER
Marek Vasut [Sun, 15 Jul 2012 04:43:47 +0000 (04:43 +0000)]
common.h: Introduce DEFINE_CACHE_ALIGN_BUFFER

This is the out-of-function-scope counterpart of
ALLOC_CACHE_ALIGN_BUFFER.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@ti.com>
[ilya.yanok]: added missing <linux/compiler.h> include and
{DEFINE,ALLOC}_ALIGN_BUFFER macros allowing explicit alignment
specification.
Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agoehci-omap: Do not call dcache_off from omap_ehci_hcd_init
Tom Rini [Sun, 15 Jul 2012 04:43:46 +0000 (04:43 +0000)]
ehci-omap: Do not call dcache_off from omap_ehci_hcd_init

This has never been completely sufficient and now happens too late to
paper over the cache coherency problems with the current USB stack.

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
12 years agoMerge branch 'next' of git://git.denx.de/u-boot-video
Wolfgang Denk [Wed, 18 Jul 2012 08:47:03 +0000 (10:47 +0200)]
Merge branch 'next' of git://git.denx.de/u-boot-video

* 'next' of git://git.denx.de/u-boot-video:
  ipu_common: Add ldb_clk for use in parenting the pixel clock
  ipu_common: Do not hardcode the ipu_clk frequency
  ipu_common: Rename MXC_CCM_BASE
  ipu_common: Let clk_ipu_enable/disable only run on MX51 and MX53
  ipu_common: Only apply the erratum to MX51
  video: Rename CONFIG_VIDEO_MX5
  mx6: Allow mx6 to access the IPUv3 registers
  common lcd: minor coding style changes

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-nios
Wolfgang Denk [Wed, 18 Jul 2012 06:58:43 +0000 (08:58 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-nios

* 'master' of git://git.denx.de/u-boot-nios:
  nios2: move gd and bd into BSS

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agonios2: move gd and bd into BSS
Thomas Chou [Mon, 23 Apr 2012 02:55:02 +0000 (10:55 +0800)]
nios2: move gd and bd into BSS

As suggested by Graeme Russ, move gd and bd data structrures
to BSS instead of calculating the locations around the stack
and heap.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Mike Frysinger <vapier@gentoo.org>