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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Tom Rini [Tue, 25 Sep 2012 23:18:22 +0000 (16:18 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-video
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Allen Martin [Wed, 29 Aug 2012 11:08:59 +0000 (11:08 +0000)]
MAKEALL: fix per arch board lists
The LIST_arm rule included the Atmel boards twice (by virtue of
including both LIST_at91 and LIST_ARM9) and was missing all the
arm720t, arm946es, and arm1176 boards. Change this list to use
boards_by_arch() which is less error prone. After this change
"./MAKEALL arm" and "./MAKEALL -a arm" build the same boards.
Also fix up some missing and duplicate boards to arm, mips, and m68k.
Signed-off-by: Allen Martin <amartin@nvidia.com>
Acked-by: Tom Rini <trini@ti.com>
Stephen Warren [Sat, 1 Sep 2012 16:27:56 +0000 (16:27 +0000)]
ARM: arm1176: Define arch_cpu_init() at the SoC level
Commit
86c6326 "ARM: arm1176: enable instruction cache in
arch_cpu_init()" defined arch_cpu_init() in a file that is shared across
all arm1176 SoCs. tnetv107x already implemented this function, which
caused linking to break. Move the new conflicting arch_cpu_init() into
arm1176/bcm2835/init.c so that it doesn't conflict; grep indicates this
function is usually defined at the SoC-level, not the CPU-level, at least
for ARM.
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Marek Vasut <marex@denx.de>
Tom Rini [Tue, 25 Sep 2012 19:23:55 +0000 (12:23 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Anatolij Gustschin [Sat, 22 Sep 2012 06:55:53 +0000 (06:55 +0000)]
common/lcd: fix build breakage for at91sam9x5ek and trats boards
Commit
203c37b8c5556aad1901ce4954792afd718c7d42
(common lcd: simplify core functions)
and commit
bfdcc65e1163b4891643c2a670570c478b9af2a4
(common lcd: simplify lcd_display_bitmap)
caused build breakage for at91sam9x5ek board configurations
and for trats board. Fix these build errors.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
Tom Rini [Sat, 22 Sep 2012 00:18:28 +0000 (17:18 -0700)]
Prepare v2012.10-rc1
Signed-off-by: Tom Rini <trini@ti.com>
Tom Rini [Fri, 21 Sep 2012 23:22:18 +0000 (16:22 -0700)]
Merge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging
Kumar Gala [Wed, 19 Sep 2012 04:47:36 +0000 (04:47 +0000)]
pci: fix some warnings related to assumptions about
The following commit introduced some warnings associated with using
pci_addr_t instead of a proper 32-bit data type.
commit
af778c6d9e2b945ee03cbc53bb976238a3374f33
Author: Andrew Sharp <andywyse6@gmail.com>
Date: Wed Aug 1 12:27:16 2012 +0000
pci: fix errant data types and corresponding access functions
On some platforms pci_addr_t is defined as a 64-bit data type so its not
proper to use with pci_{read,write}_config_dword.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Tom Rini [Fri, 21 Sep 2012 21:53:13 +0000 (14:53 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-arm
Timur Tabi [Mon, 17 Sep 2012 11:12:42 +0000 (11:12 +0000)]
video/powerpc: don't touch DIU registers that we don't need
Several DIU registers were being initialized either unnecessarily or to
wrong values.
1) All interrupts were enabled even though there's no interrupt handler.
Interrupts were left enabled when booting Linux.
2) Don't configure a dummy area descriptor, since we don't support ADs
in U-Boot.
3) Don't configure any write-back buffer registers, since we don't use
that mode.
4) The default values for the THRESHOLDS, SYN_POL, and PLUT registers
should be used, so don't touch those registers either.
Signed-off-by: Timur Tabi <timur@freescale.com>
Nikita Kiryanov [Sun, 19 Aug 2012 19:32:30 +0000 (19:32 +0000)]
common/lcd: add protection from null bmp pointer
If the bmp pointer is null then U-Boot will get stuck when trying
to load the image.
What's worse, it will get stuck before the U-Boot shell becomes
available to the user, thus making it difficult to correct the
situation.
To protect from the above scenario, check if the pointer is valid.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Simon Glass [Thu, 12 Jul 2012 05:25:02 +0000 (05:25 +0000)]
fdt: Add header guard to fdtdec.h
This makes it easier to include this header from other headers.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Simon Glass [Thu, 12 Jul 2012 05:25:01 +0000 (05:25 +0000)]
fdt: Tidy debugging, add to fdtdec_get_int/addr()
The new debugging shows the value of integers and addresses read
from the device tree and tidy up GPIO output.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 13 Jun 2012 06:19:37 +0000 (06:19 +0000)]
Add gpio_request() to asm-generic header
This function should also be part of the GPIO API, so add it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Rini [Fri, 21 Sep 2012 16:29:38 +0000 (09:29 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Fri, 21 Sep 2012 15:14:05 +0000 (08:14 -0700)]
Revert "memsize: Fix for bug in memory sizing code"
After further investigation this change is not correct and results in
get_ram_size returning incorrectly large values. Reported first by
Gerlando Falauto.
This reverts commit
b8496cced856ff411f1eb2e4eff20f5abe7080b0.
Signed-off-by: Tom Rini <trini@ti.com>
Albert ARIBAUD [Thu, 20 Sep 2012 22:26:19 +0000 (00:26 +0200)]
Merge remote-tracking branch 'u-boot-imx/master'
Lucas Stach [Thu, 6 Sep 2012 06:00:13 +0000 (08:00 +0200)]
usb: do explicit unaligned accesses
usb_hub_descriptor has to be packed as it's used for
communication with the device. Member wHubCharacteristics
violates the natural alignment rules.
Use explicit unaligned access functions for this member.
Fixes ARMv7 traping while using USB.
v2: fix typo found by Thomas Langer
v3: rebased on top of u-boot-usb/master
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Łukasz Majewski [Thu, 23 Aug 2012 23:33:56 +0000 (23:33 +0000)]
dfu:usb:fix: Read the "filesize" environment variable only when file read
The "filesize" environment variable shall be read only when relevant
file is read.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Łukasz Majewski [Thu, 23 Aug 2012 23:33:55 +0000 (23:33 +0000)]
dfu:usb: Support for ext4
Support for ext4 file system handling at DFU.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tom Rini [Thu, 20 Sep 2012 18:27:35 +0000 (11:27 -0700)]
Merge branch 'ext4'
Update Makefile change for LIBS -> LIBS-y change.
Conflicts:
Makefile
Signed-off-by: Tom Rini <trini@ti.com>
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>
Jason Jin [Thu, 20 Sep 2012 06:17:46 +0000 (14:17 +0800)]
Flex bus definition update for Coldfire 5253.
originally work by Jate Sujjavanich <jsujjavanich@syntech-fuelmaster.com>
----
The defines in arch/m68k/include/coldfire/flexbus.h are not compatible with
the 5235 processor. The registers in struct fbcs are different sizes from
those in the 5235. Also, the defines are a little different.
This is what I have so far. Comments?
----
Reformat the patch manually by Jason Jin
Signed-off-by: Jate Sujjavanich <jsujjavanich@syntech-fuelmaster.com>
Signed-off-by: Jason Jin <Jason.jin@freescale.com>
Richard Retanubun [Thu, 24 Mar 2011 08:58:11 +0000 (08:58 +0000)]
ColdFire: Queued SPI driver
This patch adds a driver for Freescale Colfire Queued SPI bus.
Coded to work with 8 bits per transfer to use with SPI flash.
CPOL, CPHA, and CS_ACTIVE_HIGH can be configured.
Tested with MCF5270 which have 4 chip selects.
Activate by #define CONFIG_CF_QSPI in board config.
Signed-off-by: Richard Retanubun <richardretanubun@ruggedcom.com>
Alison Wang [Mon, 26 Mar 2012 21:49:08 +0000 (21:49 +0000)]
ColdFire: Clean up checkpatch warnings for MCF54451 and MCF54455
Signed-off-by: Alison Wang <b18965@freescale.com>
Alison Wang [Mon, 26 Mar 2012 21:49:07 +0000 (21:49 +0000)]
ColdFire: Clean up checkpatch warnings for MCF547x and MCF548x
Signed-off-by: Alison Wang <b18965@freescale.com>
Alison Wang [Mon, 26 Mar 2012 21:49:06 +0000 (21:49 +0000)]
ColdFire: Clean up checkpatch warnings for MCF523x
Signed-off-by: Alison Wang <b18965@freescale.com>
Alison Wang [Mon, 26 Mar 2012 21:49:05 +0000 (21:49 +0000)]
ColdFire: Clean up checkpatch warnings for MCF532x/MCF537x/MCF5301x
Signed-off-by: Alison Wang <b18965@freescale.com>
Alison Wang [Mon, 26 Mar 2012 21:49:04 +0000 (21:49 +0000)]
ColdFire: Clean up checkpatch warnings for MCF52x2
Signed-off-by: Alison Wang <b18965@freescale.com>
Alison Wang [Mon, 26 Mar 2012 21:49:03 +0000 (21:49 +0000)]
ColdFire: Clean up checkpatch warnings for MCF5227x
Signed-off-by: Alison Wang <b18965@freescale.com>
Alison Wang [Mon, 26 Mar 2012 21:49:02 +0000 (21:49 +0000)]
ColdFire: Add clear and set bits macros for ColdFire platform
Signed-off-by: Alison Wang <b18965@freescale.com>
Alison Wang [Sun, 25 Mar 2012 19:18:49 +0000 (19:18 +0000)]
ColdFire: Update the bitops for ColdFire platform
This patch uses the general ffs definition to replace the
platform ffs definition.
This patch also fixes the build error by adding hweightN
definition for m5329evb and m5373evb.
Signed-off-by: Jason Jin <Jason.jin@freescale.com>
Signed-off-by: Alison Wang <b18965@freescale.com>
Alison Wang [Sun, 25 Mar 2012 19:18:14 +0000 (19:18 +0000)]
ColdFire: Rename NANDFLASH_SIZE into CONFIG_NANDFLASH_SIZE for MCF537x
This patch fixes the build error for MCF537x. As the NANDFLASH_SIZE is
redefined in boards.cfg, it is needed to rename NANDFLASH_SIZE into
CONFIG_NANDFLASH_SIZE in include/configs/M5373EVB.h.
Signed-off-by: Alison Wang <b18965@freescale.com>
Tom Rini [Tue, 18 Sep 2012 21:56:31 +0000 (14:56 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx
Ira W. Snyder [Wed, 12 Sep 2012 21:17:35 +0000 (14:17 -0700)]
mpc8308rdb: add support for eSDHC MMC controller
Add support for the onboard eSDHC MMC controller. The hardware on the
MPC8308RDB has the following errata:
- ESDHC111: manual asynchronous CMD12 is broken
- DMA is broken (PIO works)
Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
[added include fsl_esdhc header to prevent implicit declarations of
fsl_esdhc_mmc_init() and fdt_fixup_esdhc()]
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Ira W. Snyder [Wed, 12 Sep 2012 21:17:34 +0000 (14:17 -0700)]
mpc8308rdb: add support for FIT images
This is very useful on a modern system.
Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Ira W. Snyder [Wed, 12 Sep 2012 21:17:32 +0000 (14:17 -0700)]
mpc8308rdb: add support for Spansion SPI flash on header J8
The SPI pins are routed to header J8 for testing SPI functionality. A
Spansion flash has been wired up and tested on this header.
This patch breaks support for the second TSEC interface, since the GPIO
pin used as a chip select is pinmuxed with some of the TSEC pins.
Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Ira W. Snyder [Wed, 12 Sep 2012 21:17:31 +0000 (14:17 -0700)]
mpc8xxx_spi: fix SPI support on MPC8308RDB
The MPC8308RDB Reference Manual states that no bits in the SPMODE
register are allowed to change while the enable (EN) bit is set.
This driver changes the character length bits (LEN) while the enable
(EN) bit is set. Clearing the EN bit while changing the LEN bits makes
the driver work correctly on MPC8308RDB.
Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
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>
Gerlando Falauto [Sun, 26 Aug 2012 21:53:00 +0000 (21:53 +0000)]
env: delete selected vars not present in imported env
When variables explicitly specified on the command line are not present
in the imported env, delete them from the running env.
If the variable is also missing from the running env, issue a warning.
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Gerlando Falauto [Fri, 24 Aug 2012 00:11:41 +0000 (00:11 +0000)]
env: make "env default" selective, check and apply
Change the syntax (user API) for "env default":
-f: override write-once variables
var... : accept individual variable(s)
-a: all (resetting the whole env is NOT the default behavior)
Enable variable checking and make changes effective by
enabling do_apply argument to himport_r().
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Gerlando Falauto [Fri, 24 Aug 2012 00:11:40 +0000 (00:11 +0000)]
env: check and apply changes on delete/destroy
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Gerlando Falauto [Fri, 24 Aug 2012 00:11:39 +0000 (00:11 +0000)]
env: add check/apply logic to himport_r()
Change hashtable so that a callback function will decide whether a
variable can be overwritten, and possibly apply the changes.
So add a new field to struct hsearch_data:
o "apply" callback function to check whether a variable can be
overwritten, and possibly immediately apply the changes;
when NULL, no check is performed.
And a new argument to himport_r():
o "do_apply": whether to call the apply callback function
NOTE: This patch does not change the current behavior.
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Gerlando Falauto [Fri, 24 Aug 2012 00:11:38 +0000 (00:11 +0000)]
env: make himport_r() selective on variables
Add 2 new arguments to himport_r():
o "nvars", "vars": number and list of variables to take into account
(0 means ALL)
NOTE: This patch does not change the current behaviour.
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Gerlando Falauto [Fri, 24 Aug 2012 00:11:37 +0000 (00:11 +0000)]
env: unify logic to check and apply changes
The logic of checking special parameters (e.g. baudrate, stdin, stdout,
for a valid value and/or whether can be overwritten) and applying the
new value to the running system is now all within a single function
env_check_apply() which can be called whenever changes are made
to the environment, no matter if by set, default or import.
With this patch env_check_apply() is only called by "env set",
retaining previous behavior.
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Gerlando Falauto [Fri, 24 Aug 2012 00:11:36 +0000 (00:11 +0000)]
env: cosmetic: drop assignment i = iomux_doenv()
iomux_doenv() can only return 0 or 1.
So there is no need to save its return value in variable i, as checking
its truth value within an if statement is enough.
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Benoît Thébaudeau [Fri, 10 Aug 2012 07:45:15 +0000 (07:45 +0000)]
fw_env: Add env vars describing U-Boot target board
Commit
5e724ca did the same thing for env_common and env_embedded, but forgot
fw_env.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
Benoît Thébaudeau [Fri, 10 Aug 2012 07:45:31 +0000 (07:45 +0000)]
env_common: Add missing ethprime
The ethprime env var was missing from env_common.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
Benoît Thébaudeau [Fri, 10 Aug 2012 07:45:44 +0000 (07:45 +0000)]
env import/export: Remove from help if disabled
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Iwo Mergler [Sun, 9 Sep 2012 20:16:58 +0000 (20:16 +0000)]
memsize: Fix for bug in memory sizing code
The original memory sizing code in get_ram_size clobbers the word
at the base address, but forgets to restore it.
Signed-off-by: Iwo Mergler <Iwo.Mergler@netcommwireless.com>
Stephen Warren [Fri, 7 Sep 2012 09:15:33 +0000 (09:15 +0000)]
env_nand: fix incorrect size parameter to ALLOC_CACHE_ALIGN_BUFFER
The third parameter to ALLOC_CACHE_ALIGN_BUFFER is not size (as named),
but rather count (number of elements of the type to allocate). The
current code ends up allocating one copy of env_t for each byte in its
size, which quite possibly ends up overflowing RAM.
This fixes a bug in commit
3801a15 "env_nand: align NAND buffers".
Reported-by: Prabhakar Lad <prabhakar.csengg@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reported-by: Prabhakar Lad <prabhakar.lad@ti.com>
Marek Vasut [Wed, 5 Sep 2012 17:16:55 +0000 (17:16 +0000)]
ARM: Remove apollon board
This board is the only board that still sticks to OneNAND IPL.
Remove this board, since we have SPL around for a while and
OneNAND is well supported in the SPL framework. The board can
be revived if necessary.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Tom Rini <trini@ti.com>
Marek Vasut [Wed, 5 Sep 2012 17:09:08 +0000 (17:09 +0000)]
IPL: Remove remains of OneNAND IPL
After removing the Apollon board, remove the OneNAND IPL too.
There are no users for it any more.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Minkyu Kang <promsoft@gmail.com>
Cc: Tom Rini <trini@ti.com>
Acked-by: Minkyu Kang <mk7.kang@samsung.com>
Tyler Olmstead [Wed, 8 Aug 2012 16:24:13 +0000 (16:24 +0000)]
spl: remove forced linking of commands into SPL
Remove linker command line options from the SPL makefile
that force the inclusion of unreferenced command code from
linked object files. As commands are not used in the SPL,
these options resulted in an unnecessary increase in the
image size, in addition to introducing the possibility of
tricky link errors in the case where the command code
contained symbols that were not resolved by linking in the
limited objects compiled in the SPL build.
Signed-off-by: Tyler Olmstead <tyler.j.olmstead@gmail.com>
Acked-by: Tom Rini <trini@ti.com>
Marek Vasut [Fri, 27 Jul 2012 08:04:34 +0000 (08:04 +0000)]
dm: sparc: Fixup the compile warnings in sparc code
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Hellstrom <daniel@gaisler.com>
Cc: u-boot-dm@lists.denx.de