Tom Rini [Thu, 20 Dec 2012 17:53:20 +0000 (10:53 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Thu, 20 Dec 2012 14:30:27 +0000 (07:30 -0700)]
Revert "fw_env: fix building w/out a config.h"
I had missed Joe's NAK on this patch, so...
This reverts commit
92ace272d06cec1d7f1533bb9edf914fb5845fba.
Signed-off-by: Tom Rini <trini@ti.com>
Yoshihiro Shimoda [Sun, 4 Nov 2012 15:54:20 +0000 (15:54 +0000)]
serial_sh: Add support Renesas SH7752
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Yoshihiro Shimoda [Sun, 4 Nov 2012 15:53:22 +0000 (15:53 +0000)]
sh: add support for sh7752evb board
The R0P7752C00000RZ board has SH7752, 512MB DDR3-SDRAM, SPI ROM,
Gigabit Ethernet, and eMMC.
This patch supports the following functions:
- 512MB DDR3-SDRAM, SCIF4, SPI ROM, Gigabit Ethernet, eMMC
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Jens Scharsig (BuS Elektronik) [Tue, 20 Nov 2012 02:06:25 +0000 (02:06 +0000)]
coldfire: eb_cpu5282: fix: boot from internal flash
* By a sequence of unfavorable conditions in the config header file, the eb_cpu5282
booting from internal stopped after relocation. Blame it is a faulty value of
CONFIG_SYS_MONITOR_BASE. This patch fix this by replace the wrong condition in
config header with option in board.cfg
Signed-off-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
Mike Frysinger [Sat, 10 Nov 2012 19:47:47 +0000 (19:47 +0000)]
fw_env: fix building w/out a config.h
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Mike Frysinger [Sat, 10 Nov 2012 19:47:46 +0000 (19:47 +0000)]
fw_env: fix incorrect usage of open(O_CREAT)
When using open(), the O_CREAT flag must be given a mode, otherwise it
uses random garbage from the stack. Also, it can fail to build:
In file included from /usr/include/fcntl.h:290:0,
from fw_env_main.c:42:
In function 'open',
inlined from 'main' at fw_env_main.c:97:9:
/usr/include/bits/fcntl2.h:50:24: error: call to '__open_missing_mode' declared
with attribute error: open with O_CREAT in second argument needs 3 arguments
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Mike Frysinger [Sat, 10 Nov 2012 19:47:45 +0000 (19:47 +0000)]
fw_env: fix type of len
This variable is assigned by a size_t, and is printed that way, but is
incorrectly declared as an int. Which means we get warnings:
fw_env.c: In function 'fw_setenv':
fw_env.c:409:5: warning: format '%zu' expects argument of type 'size_t',
but argument 3 has type 'int' [-Wformat]
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Thu, 1 Nov 2012 16:21:14 +0000 (16:21 +0000)]
Add a simple load option to setexpr
Make setexpr accept a 2 parameter variant that will simply load a value
into a variable. This is useful for loading a value from memory.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Simon Glass [Mon, 8 Oct 2012 13:16:02 +0000 (13:16 +0000)]
spi: Add SPI flash test
It is useful to have a basic SPI flash test, which tests that the SPI chip,
the SPI bus and the driver are behaving.
This test erases part of the flash, writes data and reads it back as a
sanity check that all is well.
Use CONFIG_SF_TEST to enable it.
Signed-off-by: Simon Glass <sjg@chromium.org>
James Miller [Fri, 28 Sep 2012 14:28:00 +0000 (14:28 +0000)]
spi: Add progress percentage and write speed to `sf update`
Output a progress update only at most 10 times per second, to avoid
saturating (and waiting on) the console. Make the summary line
to fit on a single line. Make sure that cursor sits at the end of
each update line instead of the beginning.
Sample output:
SF: Detected W25Q32 with page size 4 KiB, total 4 MiB
Update SPI
1331200 bytes written, 2863104 bytes skipped in 21.912s, speed 199728 B/s
time: 21.919 seconds, 21919 ticks
Skipping verify
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: James Miller <jamesmiller@chromium.org>
Signed-off-by: Taylor Hutt <thutt@chromium.org>
[trini: Drop 'const' from bytes_per_second()]
Signed-off-by: Tom Rini <trini@ti.com>
Tom Rini [Tue, 18 Dec 2012 01:39:50 +0000 (18:39 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-net
Tom Rini [Tue, 18 Dec 2012 01:39:45 +0000 (18:39 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash
Yoshihiro Shimoda [Sun, 4 Nov 2012 15:54:30 +0000 (15:54 +0000)]
net: sh_eth: add support for SH7752
SH7752 has two fast ethernet controllers and two gigabit ethernet
controllers. It is similar to SH7757.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Joe Hershberger [Mon, 5 Nov 2012 06:13:45 +0000 (06:13 +0000)]
net: Fix endianness bug in link-local
The ip is stored in network order, so we can't test it in host order.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Kim Phillips <kim.phillips@freescale.com>
Simon Glass [Thu, 11 Oct 2012 13:57:36 +0000 (13:57 +0000)]
net: Add tftp speed indication
This prints a tftp speed indication after the download completes. This
is the 3.6 MiB/s indicator below.
Tegra2 (SeaBoard) # tftp ...
Using asx0 device
TFTP from server 172.22.72.144; our IP address is 172.22.73.81
Filename '/tftpboot/uImage-user-seaboard-1'.
Load address: 0x408000
Loading: #################################################
3.6 MiB/s
done
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
trem [Sat, 6 Oct 2012 04:25:56 +0000 (04:25 +0000)]
powerpc: remove not used CONFIG_SYS_TFTP_LOADADDR
CONFIG_SYS_TFTP_LOADADDR is defined on severals boards,
but it's never used. So we can safely removed it.
Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
Michal Simek [Tue, 7 Aug 2012 02:23:07 +0000 (02:23 +0000)]
phy: Add support for Marvell 88E1118R
Marvell 88E1118R has different uid then 88E1118.
Signed-off-by: Michal Simek <monstr@monstr.eu>
CC: Andy Fleming <afleming@freescale.com>
CC: Zang Roy-R61911 <tie-fei.zang@freescale.com>
CC: Kumar Gala <galak@kernel.crashing.org>
Ruchika Gupta [Thu, 19 Apr 2012 02:27:11 +0000 (02:27 +0000)]
e1000e : Correct Rx Threshold granularity
In e1000e driver, Rx descriptor queue is used such that hardware can add only
one descriptor at a time. So the WTHRESH granularity in RXDCTL should be set
to single descriptor. This would ensure that every time controller fills a Rx
descriptor, it is flushed to host memory. Earlier this granularity was in
cache line units i.e 2 descriptors. This leads to controller always waiting
for 2 descriptors before flushing them out. But since not more than one Rx BD
is actually available , the accumulation condition never gets hit.
Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Signed-off-by: Vakul Garg <vakul@freescale.com>
Acked-by: Roy Zang <tie-fei.zang@freescale.com>
Eric Benard [Tue, 11 Dec 2012 11:36:21 +0000 (11:36 +0000)]
m28evk/mx28evk: fix nand_update_full
- since commit
418396e212b59bf907dbccad997ff50f7eb61b16 nand write.raw
can take the number of page to be written as an argument. nand_update_full
is passing the size (in bytes) to nand write.raw. This value was previously
ignored but now breaks the write.
- this patch updates the default environment of these boards to provide a
pagecount instead of a size to nand write.raw.
- tested on a mx28evk with a 4k page NAND and on a custom board with a
2k page NAND.
Signed-off-by: Eric Bénard <eric@eukrea.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
Scott Wood [Fri, 14 Dec 2012 22:03:55 +0000 (16:03 -0600)]
Merge remote-tracking branch 'origin/master'
Tom Rini [Fri, 14 Dec 2012 21:43:22 +0000 (14:43 -0700)]
Prepare v2013.01-rc2
Signed-off-by: Tom Rini <trini@ti.com>
Tom Rini [Thu, 13 Dec 2012 20:58:27 +0000 (13:58 -0700)]
omap3_evm: Let CONFIG_EFI_PARTITION be set for SPL
The #ifdef here is not enough to stop part_efi.c from being built, only
being unused. And with recent changes this now leads to warnings. The
easiest solution here is to just let the garbage collection at link time
do its job.
Signed-off-by: Tom Rini <trini@ti.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:37 +0000 (22:16 -0600)]
env: Handle write-once ethaddr and serial# generically
Use the variable access flags to implement the protection for ethaddr
and serial# instead of hard-coding them.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:36 +0000 (22:16 -0600)]
env: Implement the env delete command
Implement a way to delete more than one variable at a time.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:35 +0000 (22:16 -0600)]
env: Add setenv force support
Now that we have support for permissions, add a way to override them.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:34 +0000 (22:16 -0600)]
env: Add support for access control to .flags
Add support for read-only, write-once, and change-default.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:33 +0000 (22:16 -0600)]
env: Add a command to display details about env flags
Similar to the env callback command, this will show details about the
options available, the static list, and the currently active variables.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:32 +0000 (22:16 -0600)]
tools/env: Add environment variable flags support
Currently just validates variable types as decimal, hexidecimal,
boolean, ip address, and mac address. Call
env_acl_validate_setenv_params() from setenv() in fw_env.c.
If the entry is not found in the env .flags, then look in the static
one. This allows the env to override the static definitions, but prevents
the need to have every definition in the environment distracting you.
Need to build in _ctype for isdigit for Linux.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:31 +0000 (22:16 -0600)]
env: Add environment variable flags
Currently just validates variable types as decimal, hexidecimal,
boolean, ip address, and mac address.
If the entry is not found in the env ".flags", then look in the static
one. This allows the env to override the static definitions, but prevents
the need to have every definition in the environment distracting you.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:30 +0000 (22:16 -0600)]
env: Add a silent env handler
The silent variable now updates the global data flag anytime it is
changed as well as after the env relocation (in case its value is
different from the default env in such cases as NAND env)
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:29 +0000 (22:16 -0600)]
env: Add a console env handler
Remove the hard-coded console handler and use a callback instead
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:28 +0000 (22:16 -0600)]
env: Add a loadaddr env handler
Remove the hard-coded loadaddr handler and use a callback instead
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:27 +0000 (22:16 -0600)]
env: Add a baudrate env handler
Remove the hard-coded baudrate handler and use a callback instead
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:26 +0000 (22:16 -0600)]
env: Add a bootfile env handler
Remove the hard-coded bootfile handler and use a callback instead
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:25 +0000 (22:16 -0600)]
env: Add a command to view callbacks
The callbacks can be bound, but are otherwise invisible. Add a command
to show what callbacks are available.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
!!! fix callback command
Joe Hershberger [Wed, 12 Dec 2012 04:16:24 +0000 (22:16 -0600)]
env: Add support for callbacks to environment vars
Add support for per-variable callbacks to the "hashtable" functions.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
!!!fix comment in callback
Joe Hershberger [Wed, 12 Dec 2012 04:16:23 +0000 (22:16 -0600)]
env: Hide '.' variables in env print by default
When printing all variables with env print, don't print variables that
begin with '.'. If env print is called with a '-a' switch, then
include variables that begin with '.' (just like the ls command).
Variables printed explicitly will be printed even without the -a.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:22 +0000 (22:16 -0600)]
env: Use getenv_yesno() more generally
Move the getenv_yesno() to env_common.c and change most checks for
'y' or 'n' to use this helper.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:21 +0000 (22:16 -0600)]
env: Refactor apply into change_ok
Move the read of the old value to inside the check function. In some
cases it can be avoided all together and at the least the code is only
called from one place.
Also name the function and the callback to more clearly describe what
it does.
Pass the ENTRY instead of just the name for direct access to the whole
data structure.
Pass an enum to the callback that specifies the operation being approved.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:20 +0000 (22:16 -0600)]
env: Consolidate common code in hsearch_r()
The same chunk of code was replicated in two places and the following
changes will make that chunk grow a bit, so combine into a static func.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:19 +0000 (22:16 -0600)]
env: Refactor do_apply to a flag
Use a flag in hsearch_r for insert mode passed from import to allow the
behavior be different based on use.
Now that "do_check" is called for all imports, ensure console init is
complete before updating the console on relocation import
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Wed, 12 Dec 2012 04:16:18 +0000 (22:16 -0600)]
Make linux kernel string funcs available to tools
isspace() and strim() are not in the typical user-mode string.h, so
put them in a separate compilation unit so that they can be built into
tools that need them independent of the other common string functions.
This allows code shared by u-boot and the linux user-mode tools to link.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Lukasz Majewski [Tue, 11 Dec 2012 10:09:48 +0000 (11:09 +0100)]
gpt: Enable support for GPT partition table restoration at Samsung's Trats
Enable support for GPT partition table restoration at Samsung's Trats
development board.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
Piotr Wilczek [Tue, 11 Dec 2012 10:09:47 +0000 (11:09 +0100)]
gpt: Support for new "gpt" command
New command - "gpt" is supported. It restores the GPT partition table.
It looks into the given environment variable for partitions definition.
It can be enabled at target configuration file with CONFIG_CMD_GPT.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Lukasz Majewski [Tue, 11 Dec 2012 10:09:46 +0000 (11:09 +0100)]
gpt: Support for GPT (GUID Partition Table) restoration
The restoration of GPT table (both primary and secondary) is now possible.
Function 'gpt_restore' presents example of partition restoration process.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Chang Hyun Park [Tue, 11 Dec 2012 10:09:45 +0000 (11:09 +0100)]
gpt: The leXX_to_int() calls replaced with ones defined at <compiler.h>
Custom definitions of le_XX_to_int functions have been replaced with
standard ones, defined at <compiler.h>
Replacement of several GPT related structures members with ones
indicating its endianness and proper size.
Signed-off-by: Chang Hyun Park <heartinpiece@outlook.com>
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Lukasz Majewski [Tue, 11 Dec 2012 10:09:44 +0000 (11:09 +0100)]
gpt:doc: GPT (GUID Partition Table) documentation
Documentation of the GPT format.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Lukasz Majewski [Tue, 11 Dec 2012 10:09:43 +0000 (11:09 +0100)]
part:efi: Move part_efi.h file to ./include
This move is necessary to export gpt header and GPT partition entries to be
used with other commands or subsystems.
Additionally the part_efi.h file has been cleaned-up to supress checkpatch's
warnings.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Lukasz Majewski [Tue, 11 Dec 2012 10:09:42 +0000 (11:09 +0100)]
vsprintf:fix: Change type returned by ustrtoul
The ustrtoul shall convert string defined size (e.g. 1GiB) to unsigned
long type (as its name implies).
Up till now it had returned int, which might cause problems with large
numbers (GiB range), when interpreted as U2 signed numbers.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tom Rini [Wed, 12 Dec 2012 13:51:02 +0000 (06:51 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-mips
Joe Hershberger [Tue, 11 Dec 2012 17:52:50 +0000 (17:52 +0000)]
mips: serial: Fix busted manual relocation
serial_initialize() must be called after relocation to adjust the
pointers to putc(), getc(), etc. This is busted ever since the
serial driver-model-ification series.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Daniel Schwierzeck [Wed, 12 Dec 2012 12:13:48 +0000 (13:13 +0100)]
MIPS: constify mips_io_port_base
mips_io_port_base is exported as 'extern const unsigned long mips_io_port_base;'
in arch/mips/include/asm/io.h. Thus make the variable const too.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wolfram Sang [Wed, 5 Dec 2012 10:48:47 +0000 (10:48 +0000)]
mtd: nand: mxs: reset BCH earlier, too, to avoid NAND startup problems
It could happen (1 out of 100 times) that NAND did not start up correctly after
warm rebooting, so we end up with various failures or DMA timed out due to a
stalled BCH. When resetting BCH together with GPMI, the issue could not be
observed anymore (after 10000+ reboots). We probably need the consistent state
already before sending commands to NAND. This behaviour was observed in barebox
and kernel, so I assume it affects U-Boot as well. I chose to keep the extra
reset for BCH when changing the flash layout to be on the safe side.
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Marek Vasut <marex@denx.de>
Łukasz Majewski [Thu, 6 Dec 2012 05:23:38 +0000 (05:23 +0000)]
cmd:spl:fix: Prevent from a build error on boards, which don't support FDT
Do not compile in FDT related code, when it is not supported.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Stefano Babic <sbabic@denx.de>
Simon Glass [Wed, 5 Dec 2012 14:46:45 +0000 (14:46 +0000)]
exynos: Enable hashing functions and EDID for smdk5250
Enable SHA1/SHA256 hashing and the hash command. Also enable EDID
support for reading from an LCD.
Signed-off-by: Simon Glass <sjg@chromium.org>
Luigi Semenzato [Wed, 5 Dec 2012 14:46:44 +0000 (14:46 +0000)]
tpm: Add TPM stress test
Add a simple command to stress-test a TPM (Trusted Platform Module).
Signed-off-by: Luigi Semenzato <semenzato@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:43 +0000 (14:46 +0000)]
console: Enable function to display console info
The CONFIG_SYS_CONSOLE_INFO_QUIET option should suppress the console
information, but allow boards to display it later if required. Adjust
the code to support this.
This is used to avoid printing the information while the LCD display
is not ready, since it only becomes ready when stdio init is complete.
Signed-off-by: Simon Glass <sjg@chromium.org>
Vadim Bendebury [Wed, 5 Dec 2012 14:46:42 +0000 (14:46 +0000)]
Add console command to access io space registers
Provide u-boot console functions to access IO space registers. A no
thrills implementation, accessing one register at a time.
For example:
boot > iod 80
0080:
00000094
boot > iod.w 80
0080: 0094
boot > iod.b 80
0080: 94
boot > iow.b 0x80 12
boot > iod 0x80
0080:
00000012
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Wai-Hong Tam [Wed, 5 Dec 2012 14:46:41 +0000 (14:46 +0000)]
fdt: edid: Enable fdt_add_edid() function when CONFIG_LCD defined
This function can be used for LCDs as well as monitors.
Signed-off-by: Tom Wai-Hong Tam <waihong@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Wai-Hong Tam [Wed, 5 Dec 2012 14:46:40 +0000 (14:46 +0000)]
edid: Add I2C command for printing the EDID
Add a single command to read the EDID information over I2C.
For example:
SMDK5250 # i2c dev 7
Setting bus to 7
SMDK5250 # i2c edid 50
EDID version: 1.4
Product ID code: 305c
Manufacturer: AUO
Serial number:
00000000
Manufactured in week: 0 year: 2011
Video input definition: digital signal, voltage level 0, blank to black
Monitor is non-RGB
Maximum visible display size: 26 cm x 14 cm
Power management features: no active off, no suspend, no standby
Estabilished timings:
Standard timings:
1366x768 60 Hz (detailed)
1366x768 60 Hz (detailed)
Monitor ID: 2VD2K.B116XW
Signed-off-by: Tom Wai-Hong Tam <waihong@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Wai-Hong Tam [Wed, 5 Dec 2012 14:46:39 +0000 (14:46 +0000)]
edid: Library of EDID decode and print
This implements a library for accessing EDID data from an LCD panel.
This is used to obtain information about the panel such as its
resolution and type.
This is a tidied-up version of the original code pulled from
https://github.com/ynezz/u-boot-edid.
The changes we made are:
- removed bit fields in the struct;
- removed endianness cases in the struct;
- fixed some wrong definitions;
- fixed to fit 80 columns;
- fixed some code styles.
Signed-off-by: Tom Wai-Hong Tam <waihong@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:38 +0000 (14:46 +0000)]
Add hash command to perform hashing using various algorithms
This new command supports hashing SHA1 and SHA256. It could be extended
to others such as MD5 and the CRC algorithms. The syntax is modeled on
those:
hash <algorithm> <address> <length> [*<dest_addr> | <dest_envvar>]
to calculate a hash, and:
hash -v <algorithm> <address> <length> [*<verify_addr> | <verify_envvar>]
to verify a hash.
Use CONFIG_CMD_HASH to enable the command, CONFIG_SHA1 to enable SHA1 and
CONFIG_SHA256 to enable SHA256.
The existing sha1sum command remains.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:37 +0000 (14:46 +0000)]
sha1sum: Use generic hash layer
Update the code to use the hash layer instead of local code.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:36 +0000 (14:46 +0000)]
Add generic hash API
We have a SHA1 command and want to add a SHA256 command also. Instead of
duplicating the code, create a generic hash API which can process
commands for different algorithms.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:35 +0000 (14:46 +0000)]
Add strcasecmp() and strncasecmp()
strncasecmp() is present as strnicmp() but disabled. Make it available
and define strcasecmp() also. There is a only a small performance penalty
to having strcasecmp() call strncasecmp(), so do this instead of a
standalone function, to save code space.
Update the prototype in arch-specific headers as needed to avoid warnings.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:34 +0000 (14:46 +0000)]
sha256: Use const where possible and add watchdog function
In preparation for making the hash function common, we may as well use
const where we can.
Also add a watchdog version of the hashing function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:33 +0000 (14:46 +0000)]
sha1: Use const where possible, and unsigned for input len
In preparation for making the hash function common, we may as well use
const where we can. Also the input length cannot be negative, but may
be very large, so use unsigned.
Signed-off-by: Simon Glass <sjg@chromium.org>
Vincent Palatin [Wed, 5 Dec 2012 14:46:32 +0000 (14:46 +0000)]
stdio: remove useless strncpy
The name is already copied when we memcpy() the whole structure.
This is because struct stdio_dev has this field:
char name[16]; /* Device name */
So the data is inline, rather than being a pointer.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:31 +0000 (14:46 +0000)]
Fix use of conditional LMB
This code was not guarded with CONFIG_LMB so failed to build on x86.
Signed-off-by: Simon Glass <sjg@chromium.org>
Kenneth Waters [Wed, 5 Dec 2012 14:46:30 +0000 (14:46 +0000)]
Add a command to read raw blocks from a partition
Sometimes data is on a block device and within a partition, but not in a
particular filesystem.
This commands permits reading raw data from a partition.
Signed-off-by: Kenneth Waters <kwaters@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Anton Staaf [Wed, 5 Dec 2012 14:46:29 +0000 (14:46 +0000)]
Add gettime command
Gettime returns the current timer value. If CONFIG_SYS_HZ is defined
then the timer value is also converted to seconds.
Tegra20 (SeaBoard) # gettime
Timer val: 7754
Seconds : 7
Remainder : 754
sys_hz = 1000
There has been some discussion about whether this is useful enough to
be included in U-Boot. The following boards do not have CONFIG_SYS_HZ
defined:
M52277EVB
M52277EVB_stmicro
M53017EVB
M54418TWR
M54418TWR_nand_mii
M54418TWR_nand_rmii
M54418TWR_nand_rmii_lowfreq
M54418TWR_serial_mii
M54418TWR_serial_rmii
Signed-off-by: Anton Staaf <robotboy@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 5 Dec 2012 14:46:28 +0000 (14:46 +0000)]
Add new bootstage step for the main loop
Mark when we get to the main loop.
Signed-off-by: Simon Glass <sjg@chromium.org>
Nikita Kiryanov [Mon, 26 Nov 2012 23:06:32 +0000 (23:06 +0000)]
gpio: remove duplicate function signature
gpio_request() appears twice in asm-generic/gpio.h
Remove one of the definitions.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Armando Visconti [Thu, 6 Dec 2012 00:04:19 +0000 (00:04 +0000)]
designware_i2c.h: Define IC_CLK only if not already defined in config file
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Armando Visconti [Thu, 6 Dec 2012 00:04:18 +0000 (00:04 +0000)]
designware_i2c.h: Fixed the correct values for SCL low/high time
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Armando Visconti [Thu, 6 Dec 2012 00:04:17 +0000 (00:04 +0000)]
designware_i2c: Fixed the setting of the i2c bus speed
There are three couple (hcnt/lcnt) of registers for each
speed (SS/FS/HS). The driver needs to set the proper couple
of regs according to what speed we are setting.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Armando Visconti [Thu, 6 Dec 2012 00:04:16 +0000 (00:04 +0000)]
designware_i2c: Added s/w generation of stop bit
In the newer versions of designware i2c IP there is the possibility
of configuring it with IC_EMPTYFIFO_HOLD_MASTER_EN=1, which basically
requires the s/w to generate the stop bit condition directly, as
the h/w will not automatically generate it when TX_FIFO is empty.
To avoid generation of an extra 0x0 byte sent as data, the
IC_STOP command must be sent along with the last IC_CMD.
This patch always writes bit[9] of ic_data_cmd even in the
older versions, assuming that it is a noop there.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Armando Visconti [Thu, 6 Dec 2012 00:04:15 +0000 (00:04 +0000)]
designware_i2c.c: Added the support for MULTI_BUS
This patch adds the capability to switch between 10
different I2C busses (from 0 to 9).
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Piotr Wilczek [Tue, 20 Nov 2012 02:19:05 +0000 (02:19 +0000)]
drivers:i2c: Modify I2C driver for Exynos4
This patch modifies the S3C i2c driver to support both Exynos4 and Exynos5
Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
Piotr Wilczek [Tue, 20 Nov 2012 02:19:04 +0000 (02:19 +0000)]
exynos:pinmux: Add pinmux support for i2c
This patch add pinmux for I2C for Exynos4
Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
Piotr Wilczek [Tue, 20 Nov 2012 02:19:03 +0000 (02:19 +0000)]
exynos:cpu: Add Exynos4 I2C spacing
This patch add the spacing for i2c for Exynos4
Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
Piotr Wilczek [Tue, 20 Nov 2012 02:19:02 +0000 (02:19 +0000)]
exynos:clock: Add i2c clock
This patch adds i2c clock for Exynos4
Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
Vincent Stehlé [Mon, 3 Dec 2012 06:07:21 +0000 (06:07 +0000)]
omap24xx_i2c: Handle OMAP5 like OMAP2,3,4
OMAP5 has 8b i2c data register field, like OMAP2, 3 and 4. Handle in the same
way. This fixes the following error on OMAP5:
OMAP5430 EVM # mmc rescan
timed out in wait_for_bb: I2C_STAT=1410
twl6035: could not turn on LDO9.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Marek Vasut [Fri, 30 Nov 2012 18:17:07 +0000 (18:17 +0000)]
mxs: i2c: Implement algorithm to set up arbitrary i2c speed
This algorithm computes the values of TIMING{0,1,2} registers for the
MX28 I2C block. This algorithm was derived by using a scope, but the
result seems correct.
The resulting values programmed into the registers do not correlate
with the contents in datasheet. When using the values from the datasheet,
the I2C clock were completely wrong.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Wolfgang Denk <wd@denx.de>
Marek Vasut [Fri, 30 Nov 2012 18:17:06 +0000 (18:17 +0000)]
mxs: i2c: Restore speed setting after block reset
The I2C block reset configures the I2C bus speed to strange value.
Read the I2C speed from the block before reseting the block and
restore it afterwards, so the I2C operates correctly. This issue
can be replicated by doing unsuccessful I2C transfer, after such
transfer finishes, the I2C block clock speed is misconfigured.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Marek Vasut [Mon, 12 Nov 2012 14:34:31 +0000 (14:34 +0000)]
i2c: mxs: Fix TIMING2 register value
According to FSL, the value in the TIMING2 register shall be 0x00300030
instead of what's written in the datasheet. This new value correlates
with older STMP36xx datasheet. Issues were detected in Linux when this
register was misconfigured, so write this correct value.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Marek Vasut [Mon, 12 Nov 2012 14:34:30 +0000 (14:34 +0000)]
i2c: mxs: Use i2c_set_bus_speed() in i2c_init()
Use i2c_set_bus_speed() in i2c_init() within the mxs i2c driver
to avoid duplication of code.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Marek Vasut [Mon, 12 Nov 2012 14:34:29 +0000 (14:34 +0000)]
i2c: mxs: Implement i2c_get/set_bus_speed()
This patch implements the setup and retrieval functions for the I2C
bus speed on the MXS I2C IP.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Marek Vasut [Mon, 12 Nov 2012 14:34:28 +0000 (14:34 +0000)]
i2c: mxs: Abstract out the MXS I2C speed setup
This patch pulls out the I2C speed setup from the i2c_init() call
and implements the bus configuration lookup table with register
values that needs to be programmed into the I2C IP to run at
particular speed.
This patch is a first step towards implementing run-time I2C bus
speed configuration for the MXS I2C IP.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Marek Vasut [Mon, 12 Nov 2012 14:34:27 +0000 (14:34 +0000)]
i2c: kerneldoc: Add kerneldoc annotations to cmd_i2c.c
Add kerneldoc style documentation into cmd_i2c.c to properly describe
all overridable functions and most of the command interface.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Marek Vasut [Mon, 12 Nov 2012 14:34:26 +0000 (14:34 +0000)]
i2c: Staticize local functions in mxc i2c driver
Some functions in the MXC i2c driver were not static, fix this by
making them so.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Marek Vasut [Mon, 12 Nov 2012 14:34:25 +0000 (14:34 +0000)]
i2c: Use __weak instead of __attribute__((weak, alias))
Use __weak from linux/compiler.h instead of __attribute__((weak, alias))
to define overridable function. This patch is intended as a cleanup patch
to bring some consistency into the code.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Andreas Bießmann [Thu, 10 Feb 2011 00:30:04 +0000 (00:30 +0000)]
soft_i2c: add necessary includes for AVR32
Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
Lars Rasmusson [Tue, 11 Dec 2012 10:11:52 +0000 (11:11 +0100)]
Correct comment to show the parameters as defined in tools/mkimage.h
Signed-off-by: Lars Rasmusson <Lars.Rasmusson@sics.se>
Daniel Schwierzeck [Sat, 8 Dec 2012 20:33:44 +0000 (21:33 +0100)]
MIPS: constify address pointer in test_bit()
Fix several warnings when enabling UBIFS on MIPS:
In file included from ubifs.h:2137:0,
from ubifs.c:26:
misc.h: In function 'ubifs_zn_dirty':
misc.h:38:2: warning: passing argument 2 of 'test_bit' discards 'const' qualifier from pointer target type [enabled by default]
../include/asm/bitops.h:569:23: note: expected 'volatile void *' but argument is of type 'const long unsigned int *'
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Zhi-zhou Zhang [Sat, 24 Nov 2012 05:07:12 +0000 (05:07 +0000)]
MIPS: fix a latent bug on initialize $gp
If bal is 8 bytes aligned, the _gp will not be 8 bytes aligned.
then the following ld insntrustion generates a Adel exception.
So here make _gp be always aligned in 8 bytes.
Signed-off-by: Zhi-zhou Zhang <zhizhou.zh@gmail.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tom Rini [Fri, 7 Dec 2012 13:43:40 +0000 (06:43 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot-x86
Łukasz Majewski [Wed, 5 Dec 2012 08:06:40 +0000 (08:06 +0000)]
fs:ext4:write: Initialize cache aligned filename buffer
The filename buffer is allocated dynamically. It must be cache aligned.
Moreover, it is necessary to erase its content before we use it for
file name operations.
This prevents from corruption of written file names.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Łukasz Majewski [Wed, 5 Dec 2012 08:06:39 +0000 (08:06 +0000)]
fs:ext4:fix: Code refactoring to suppress compiler warnings
Several fixes to suppress compiler's (eldk-5.[12].x gcc 4.6)
warning [-Wunused-but-set-variable]
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>