Timur Tabi [Mon, 7 Jan 2008 19:31:19 +0000 (13:31 -0600)]
85xx: add ability to upload QE firmware
Define the layout of a binary blob that contains a QE firmware and instructions
on how to upload it. Add function qe_upload_firmware() to parse the blob and
perform the actual upload. Add command-line command "qe fw" to take a firmware
blob in memory and upload it. Update ft_cpu_setup() on 85xx to create the
'firmware' device tree node if U-Boot has uploaded a firmware. Fully define
'struct rsp' in immap_qe.h to include the actual RISC Special Registers.
Kumar Gala [Wed, 19 Dec 2007 07:18:15 +0000 (01:18 -0600)]
Reworked FSL Book-E TLB macros to be more readable
The old macros made it difficult to know what WIMGE and perm bits
were set for a TLB entry. Actually use the bit masks for these items
since they are only a single bit.
Also moved the macros into mmu.h out of e500.h since they aren't specific
to e500.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Zhang Wei [Thu, 3 Jan 2008 02:51:15 +0000 (10:51 +0800)]
Add Ctrl combo key support to usb keyboard driver.
Ctrl combo key support is added, which is very useful to input Ctrl-C
for interrupt current job.
Also add usb_event_poll() calling to usb_kbd_testc(), which can get
key input when tstc() is called.
We now have more useful version of do_mii() and everybody use it.
Gerald Van Baren says:
> When I originally wrote the mii command 6(!) years ago, I wrote a
> verbose version that printed human readable decomposition of the flags,
> etc., and a terse one that didn't print as much stuff and thus had a
> smaller memory footprint.
>
> It sounds like the terse version has withered and died, apparently
> people are only using the verbose version (which is very understandable,
> I do myself).
Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com> Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
Mike Frysinger [Tue, 18 Dec 2007 09:29:55 +0000 (04:29 -0500)]
fix easylogo on big endian dev systems
didnt realize how out of shape easylogo actually was until i tried using it.
this patch does byte swapping as need be on the input tga header since the tga
is in little endian but the host could just as well be big endian. i didnt
bother using bswap macros or such stuff from system headers as nothing in
POSIX dictates byte swapping functionality.
This patch allows u-boot to build without error in a cygwin
environment. Cygwin does not define __u64 in it's
include/asm/types.h file. The -idirafter flag in the u-boot
build causes the inclusion of the cygwin types.h file as opposed
to u-bot/include/asm/types.h file which does define __u64.
Subsequently, sha1.c compile fails due to unknown symbol.
Signed-off-by: Brian Miller <raptorbrino@netscape.net>
Fix and optimize MII operations on FEC (MPC8xx) controllers
This patch fixes several issues at least on a MPC885 based system with two
FEC interfaces used in MII mode.
1. PHY discovery should first read PHY_PHYIDR2 register and only then
PHY_PHYIDR1 like cpu/mpc8xx/fec.c::mii_discover_phy() does it,
otherwise the values read are wrong. Also notice, that PHY discovery
cannot work on MPC88x / MPC87x in setups with both FECs active at all
in its present form, because for both interfaces the registers from FEC
1 are used to communicate over MII.
2. Remove code duplication for resetting the FEC by isolating it into a
separate function.
3. Initialize MII on FEC 1 when communicating over FEC 2 in fec_init().
4. Optimize mii_init() to only reset the FEC 1 controller once.
5. Fix a typo in mii_init() using index i instead of j thus potentially
leading to unpredictable results.
It is unclear on what platforms this driver has been tested, since
noone up to now defines CONFIG_RTL8169 in the board configuration
header. Now it has been fixed for a big-endian mpc8241 based
linkstation platform. This patch presents the necessary endianness
conversion fixes.
Zhang Wei [Thu, 3 Jan 2008 02:51:15 +0000 (10:51 +0800)]
Add Ctrl combo key support to usb keyboard driver.
Ctrl combo key support is added, which is very useful to input Ctrl-C
for interrupt current job.
Also add usb_event_poll() calling to usb_kbd_testc(), which can get
key input when tstc() is called.
Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
Matthias Fuchs [Thu, 27 Dec 2007 16:12:43 +0000 (17:12 +0100)]
Add pre and post configuration callbacks for Spartan FPGAs
This patch adds a post configuration callback for Spartan2/3 FPGAs.
pre and post configuration callback are now optional and
not called when the function pointer is set to NULL.
Matthias Fuchs [Thu, 27 Dec 2007 15:57:23 +0000 (16:57 +0100)]
serial: Make default_serial_console() a weak function
With this patch it is possible to reimplement default_serial_console()
in board specific code. This will be done in the upcomming PMC440
U-Boot port. This also allows the lwmon board maintainer to
remove the '#if !defined(CONFIG_LWMON) ...' from common/serial.c.
Stefan Roese [Wed, 9 Jan 2008 09:38:58 +0000 (10:38 +0100)]
POST: Execute SPR test after relocation
On LWMON5 we now use d-cache as init-ram and stack. The SPR POST test uses
self modifying code and this doesn't work with stack in d-cache, since
I can't move the code from d-cache to i-cache. We move the SPR test to
be executed a little later, after relocation. Then stack is located in
SDRAM and this self-modifying code is no problem anymore.
Stefan Roese [Wed, 9 Jan 2008 09:25:46 +0000 (10:25 +0100)]
ppc4xx: Add CFG_POST_ALT_WORD_ADDR to support non OCM POST WORD storage
The privious 4xx POST implementation only supported storing the POST
WORD in OCM. Since we need to reserve the OCM on LWMON5 for the logbuffer
we need to store the POST WORD in some other non volatile location.
This patch adds CFG_POST_ALT_WORD_ADDR to specify an address for such
a location.
Stefan Roese [Wed, 9 Jan 2008 09:23:16 +0000 (10:23 +0100)]
ppc4xx: Add 44x cache locking to better support init-ram in d-cache
This patch adds support for locking the init-ram/stack in d-cache,
so that other regions may use d-cache as well
Note, that this current implementation locks exactly 4k of d-cache,
so please make sure that you don't define a bigger init-ram area. Take
a look at the lwmon5 440EPx implementation as a reference.
This patch updates the fw_printenv/fw_setenv userspace tool to include
the correct MTD header in order to compile against current kernel
headers. Backward compatibility is preserved by introducing an option
MTD_VERSION which can be set to "old" for compilation using the old MTD
headers. Along with this a number of warnings are fixed.
This patch updates the fw_printenv/fw_setenv userspace tool to include
the correct MTD header in order to compile against current kernel
headers. Backward compatibility is preserved by introducing an option
MTD_VERSION which can be set to "old" for compilation using the old MTD
headers. Along with this a number of warnings are fixed.
This is partial patch from the DTC/libfdt
commit 67b6b33b9b413a450a72135b5dc59c0a1e33e647
Author: David Gibson <david@gibson.dropbear.id.au>
Date: Wed Nov 21 11:56:14 2007 +1100
The patch also fixes one genuine bug caught by valgrind -
_packblocks() in fdt_rw.c was using memcpy() where it should have been
using memmove().
Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
David Gibson [Mon, 17 Dec 2007 03:42:07 +0000 (14:42 +1100)]
libfdt: Add more documentation (patch the seventh)
This patch adds more documenting comments to libfdt.h. Specifically,
these document the read/write functions (not including fdt_open_into()
and fdt_pack(), for now).
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Gerald Van Baren [Sun, 30 Dec 2007 03:45:27 +0000 (22:45 -0500)]
Fine grained per property /chosen updating.
Implement a suggestion by Scott Wood to make the /chosen handling fine
grained. Don't overwrite pre-existing properties on a per-property basis,
so if /chosen exists but a necessary /chosen/property doesn't, it gets
created. If a /chosen property exists, it is NOT overwritten unless the
"force" flag is true.
Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
Matthias Fuchs [Fri, 28 Dec 2007 10:56:30 +0000 (11:56 +0100)]
Add fdt_find_and_setprop() to fdt_support.h
fdt_find_and_setprop() is used by several 4xx boards and it's
missing in the appropriate header. This patch eliminates a
warning when building U-Boot for such boards.
Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com> Acked-by: Stefan Roese <sr@denx.de>
Kim Phillips [Thu, 20 Dec 2007 20:09:22 +0000 (14:09 -0600)]
mpc83xx: convert to using do_fixup_*()
convert to using simpler mpc85xx style fdt update code; streamline by
eliminating macros OF_SOC, OF_CPU, etc. which allows us to rm
the old school FLAT_TREE code from 83xx (since the sbc8349 was just
converted over to using libfdt).
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Paul Gortmaker [Thu, 20 Dec 2007 17:58:51 +0000 (12:58 -0500)]
sbc8349: enable libfdt by default on WRS SBC8349 board.
Make libfdt the default for the WRS SBC8349 board.
Parallel of commit 35cc4e4823668e8745854899cfaedd4489beb0ef
done for the other 83xx based boards. Also fix a typo in CONFIG_PCI.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Kim Phillips [Mon, 10 Dec 2007 20:16:22 +0000 (14:16 -0600)]
mpc83xx: supress compiler warning
mpc8360emds.c: In function ‘ft_board_setup’:
mpc8360emds.c:335: warning: assignment discards qualifiers from pointer target type
mpc8360emds.c:345: warning: assignment discards qualifiers from pointer target type
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Kim Phillips [Mon, 19 Nov 2007 18:30:09 +0000 (12:30 -0600)]
mpc83xx: fix CFG_ENV_ADDR and CFG_ENV_SECT_SIZE definitions for 837x
Fix the definitions of CFG_ENV_ADDR and CFG_ENV_SECT_SIZE for 837x.
This change guarantees that the environment will be located on the
first flash sector after the U-Boot image.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Kim Phillips [Fri, 9 Nov 2007 20:28:08 +0000 (14:28 -0600)]
mpc83xx: mpc8360 rev.2.1 erratum 2: replace rgmii-id with rgmii-rxid
u-boot itself uses GMII mode on the 8360. Fix up UCC phy-connection-type
properties in the device tree so the PHY gets configured for internal delay on
RX only by the OS, as prescribed by mpc8360 rev. 2.1 pb mds erratum #2.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Timur Tabi [Mon, 5 Nov 2007 15:34:06 +0000 (09:34 -0600)]
83xx: fix CFG_ENV_ADDR and CFG_ENV_SECT_SIZE definitions
Fix the definitions of CFG_ENV_ADDR and CFG_ENV_SECT_SIZE for all of the
currently-defined 83xx boards. This change guarantees that the environment
will be located on the first flash sector after the U-Boot image.
Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>