Merge branch 'master' of git://www.denx.de/git/u-boot into new-image

This commit is contained in:
Marian Balakowicz 2008-02-29 13:56:44 +01:00
commit e18489e8c2
52 changed files with 835 additions and 291 deletions

469
CHANGELOG
View File

@ -1,3 +1,472 @@
commit 00b48a48424894daa589d166d73277830b1c6ac4
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sat Feb 23 12:15:56 2008 +0100
ENV: remove saveenv when CFG_ENV_IS_NOWHERE is selected
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
commit b075d74efb70ff68c49a2532f26b56d6703b69c1
Author: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Date: Sat Feb 23 17:24:16 2008 +0900
Remove the __STRICT_ANSI__ check from the __u64/__s64 declaration on 32bit targets.
----------------------------------------------------------------
Olaf Hering [Wed, 17 Oct 2007 06:27:13 +0000 (23:27 -0700)]
Remove the __STRICT_ANSI__ check from the __u64/__s64 declaration on
32bit targets.
GCC can be made to warn about usage of long long types with ISO C90
(-ansi), but only with -pedantic. You can write this in a way that even
then it doesn't cause warnings, namely by:
#ifdef __GNUC__
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
#endif
The __extension__ keyword in front of this switches off any pedantic
warnings for this expression.
Signed-off-by: Olaf Hering <olh@suse.de>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
----------------------------------------------------------------
Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
commit 208acd112e6517b21fc30c420396902b103563ac
Author: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Date: Sat Feb 23 17:07:57 2008 +0900
cpu/mcf52x2/config.mk: Make needlessly deffered expansions immediate.
This will reduce the build time.
Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
commit 495a0dde7fa1b14cdc15607d86503ec2bdcd02c4
Author: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Date: Sat Feb 23 17:05:00 2008 +0900
cpu/ppc4xx/config.mk: Make a needlessly deffered expansion immediate.
This will reduce the build time.
Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
commit e682ba399a1d76f09d8cc7af1e57066f1d360d91
Author: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Date: Sat Feb 23 16:58:41 2008 +0900
cpu/mips/cofigl.mk: Make a needlessly deffered expansion immediate.
This reduces the build time by ~10%. Here's the gth2_config example.
BEFORE AFTER
real 0m31.441s 0m27.833s
user 0m24.766s 0m23.045s
sys 0m10.425s 0m7.468s
Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
commit 02409f8cf54c7cd91981f0dfec135dbf3858090c
Author: Marcel Moolenaar <marcelm@juniper.net>
Date: Fri Feb 22 10:48:07 2008 -0800
make define2mk.sed work on FreeBSD
In the thread "[1.3.2-rc1] MPC8548CDS/MPC8555CDS configs fails to link",
the define2mk.sed script was identified as the source of the link
failure on FreeBSD. The problem is that sed(1) does not always support
the '+' operator. It isn't on FreeBSD. The attach patch implements the
equivalent, using the '*' operator instead and should work everywhere.
Signed-off-by: Marcel Moolenaar <marcelm@juniper.net>
commit e5084af8ded58453cd07ec1af8b0f29f34122bbc
Author: Detlev Zundel <dzu@denx.de>
Date: Fri Feb 22 17:21:32 2008 +0100
Replace deprecated "ramdisk" with "ramdisk_size" kernel parameter.
The Linux commit fac8b209b1084bc85748bd54e13d00c1262b220f ("Remove
final traces of long-deprecated "ramdisk" kernel parm") makes these
changes neccessary.
Signed-off-by: Detlev Zundel <dzu@denx.de>
commit d01b847c5cd070895c4ba178c85cd068a95cf7cd
Author: Larry Johnson <lrj@acm.org>
Date: Thu Feb 21 13:58:16 2008 -0500
LM75 bug fix for negative temperatures
When the LM75 temperature sensor measures a temperature below 0 C, the
current driver does not perform sign extension, so the result returned is
256 C too high. This patch fixes the problem.
Signed-off-by: Larry Johnson <lrj@acm.org>
commit 5a910c224b13e413bda41922379add6d75c32da3
Author: Heiko Schocher <hs@denx.de>
Date: Thu Feb 21 18:33:45 2008 +0100
IDS8247: update MAINTAINER entry.
Signed-off-by: Heiko Schocher <hs@denx.de>
commit 79eac2bfb591f2b028ec1735049dc91e4320de4a
Author: Heiko Schocher <hs@denx.de>
Date: Thu Feb 21 18:31:15 2008 +0100
Fix device tree for mgsuvd board.
Rename the "scc" node in "ethernet" for the mgsuvd board.
Signed-off-by: Heiko Schocher <hs@denx.de>
commit 2e721094a70a52206af2e1bf1208d9a7131f6dad
Author: Yuri Tikhonov <yur@emcraft.com>
Date: Thu Feb 21 14:23:42 2008 +0100
lwmon5: enable hardware watchdog
Some boards (e.g. lwmon5) may use rather small watchdog intervals, so
causing it to reboot the board if U-Boot does a long busy-wait with
udelay(). Thus, for these boards we have to restart WD more
frequently.
This patch splits the busy-wait udelay() into smaller, predefined,
intervals, so that the watchdog timer may be resetted with the
configurable (CONFIG_WD_PERIOD) interval.
Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
commit bc77881247ee6f95d7a9ebc499d26b96bae38c9d
Author: Anatolij Gustschin <agust@denx.de>
Date: Thu Feb 21 12:52:29 2008 +0100
ppc4xx: Support for ATI Radeon 9200 card on sequoia
Adds configuration option for ATI Radeon 9200 card
support to sequoia config file. If CONFIG_VIDEO
is enabled, TEXT_BASE should be changed to 0xFFF80000.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
commit 5a9abcc317cf3c8a69559ff83081f4e5d719edb7
Author: Kumar Gala <galak@kernel.crashing.org>
Date: Mon Feb 18 08:18:07 2008 -0600
Remove duplicate defines for ARRAY_SIZE
A few duplicate of the ARRAY_SIZE macro sneaked in since we put
the define in common.h.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
commit 81d93e5c4b83d8b6dcee69de6f4a14ccf6f7114a
Author: Kumar Gala <galak@kernel.crashing.org>
Date: Mon Feb 18 08:09:37 2008 -0600
ppc: Allow boards to specify effective amount of memory
For historical reasons we limited the stack to 256M because some boards
could only map that much via BATS. However newer boards are capable of
mapping more memory (for example 85xx is capable of doing up to 2G).
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
commit 755c35f54ba7eb7687aa7935e04a02a01ef1b27b
Author: Mike Frysinger <vapier@gentoo.org>
Date: Mon Feb 18 05:24:13 2008 -0500
include autoconf.mk before any other .mk files
This bumps the autoconf.mk include step above board/cpu/arch/etc... so that
those .mk files can have make if statements based on the current config.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
commit 16fe77752eee099b9fb61ed73460e51cc94b37ba
Author: Mike Frysinger <vapier@gentoo.org>
Date: Mon Feb 18 05:10:07 2008 -0500
error check autoconf.mk generation
If any of the steps for generating autoconf.mk fail currently, they go
unnoticed. To fix, we can simply add 'set -e' to the long list of commands.
This is simpler and more robust than placing '|| exit $$?' after every line.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
commit 019895a8dee71a9f00da05c03e379f45d581b0fe
Author: Stefano Babic <sbabic@denx.de>
Date: Mon Feb 18 08:03:51 2008 +0100
Fix bug in dependency checking
By adding VERSION_FILE to the PHONY targets the script
/tools/setlocalversion is always called and version_autogenerated.h
is replaced only if the script find a modified source file.
Signed-off-by: Stefano Babic <sbabic@denx.de>
commit 98ba144ccc912eee90dd42699f023c497ce774c6
Author: Kyungmin Park <kmpark@infradead.org>
Date: Mon Feb 18 14:35:43 2008 +0900
Fix GPMC CS2 memory setup at apollon
It disables the current map first
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
commit e845e07e1e6e64f40e35688439d3cdcf01cfff4f
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sun Feb 17 23:52:46 2008 +0100
uli526x: Fix multiple differ in signedness and parentheses around comparison
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
commit beeccf7a5dc5415c202e0132a33c58fc316c2a62
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sun Feb 17 16:58:04 2008 +0100
MIPS: Fix CFG_NO_FLASH support
- Fix flash_init call when CFG_NO_FLASH is used
- Remove no more needed flash.c for qemu-mips
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
commit edfed1d91df2b2670a812ca9d1a1f9faae7dba47
Author: Mike Frysinger <vapier@gentoo.org>
Date: Sat Feb 16 02:40:18 2008 -0500
easylogo: clean up some more and add -r (rgb) support
Michael Hennerich added support for outputting an image in RGB format rather
than forcing YUYV all the time. This makes obvious sense if the display you
have takes RGB input rather than YUYV.
Rather than hack in support for options, I've converted it to use getopt and
cleaned up the argument parsing in the process.
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
commit f65c98129ccada3f7caf97d80395a95b84e911de
Author: Mike Frysinger <vapier@gentoo.org>
Date: Sat Feb 16 02:12:37 2008 -0500
Makefile: add target for $(LDSCRIPT)
If the $(LDSCRIPT) does not exist (normally it's board/$(BOARD)/u-boot.lds),
then change into the board directory and try and create it. This allows you
to generate the linker script on the fly based upon board defines (like the
Blackfin boards do).
There should be no regressions due to this change as the normal case is to
already have a u-boot.lds file. If that's the case, then there's nothing to
generate, and so make will always exit. The fix here is that if the linker
script does not exist, the implicit rules take over and attempt to guess how
to generate the file.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
commit 1ba639da5604a64b3ed884a2cbb1c5414a9fa728
Author: Michael Schwingen <michael@schwingen.org>
Date: Mon Feb 18 23:16:35 2008 +0100
CFI: Do not use uninitialized cmd_reset
Do not use uninitialized cmd_reset; issue both AMD and Intel reset
commands instead
From a short test, it looks like AMD-style flash roms treat *any* unknown
command write as a reset, at least when in CFI Query mode, so issuing the
Intel reset command to AMD-style flashs seems safe (from the small sample I
have), plus the 3-cycle magic sequence should kick the state machine into
the right state even without a reset command. Since the AMD-style flashs
require the unlock sequence for real operation, I chose to try the AMD reset
command first, so that Intel flashs do no see an invalid command prior to
the CFI query.
I have tested the patch on AM29LV320-style flashs from Fujitsu and Macronix,
plus Intel StrataFlash.
Signed-off-by: Michael Schwingen <michael@schwingen.org>
Signed-off-by: Stefan Roese <sr@denx.de>
commit e7a85f26830c9f2e78506421c2d519a2965bc7a1
Author: Rafal Jaworowski <raj@semihalf.com>
Date: Thu Feb 21 11:56:44 2008 +0100
API: Add (c) and licensing notice to the public API header.
Signed-off-by: Rafal Jaworowski <raj@semihalf.com>
commit 928d1d77f8623c120d8763e20e1ca58df9c5c4c6
Author: Yuri Tikhonov <yur@emcraft.com>
Date: Thu Feb 21 11:06:07 2008 +0100
Fix CPU POST test failure
The CPU POST test code (run from cpu_post_exec_31()) doesn't follow the
ABI carefully, at least the CR3, CR4, and CR5 fields of CR are clobbered
by it. The gcc-4.2 with its more aggressive optimization exposes this fact.
This patch just saves the CR value before running the test code, so allowing
it to do anything it wants with CR.
Signed-off-by: Dmitry Rakhchev <rda@emcraft.com>
Acked-by: Yuri Tikhonov <yur@emcraft.com>
--
commit d5908b093955415f3d340706378b991f911af671
Author: Jon Loeliger <jdl@freescale.com>
Date: Wed Feb 20 15:26:51 2008 -0600
8610HPCD: Document the flashbank selection switches.
Signed-off-by: Jon Loeliger <jdl@freescale.com>
commit a551cee99ad1d1da20fd23ad265de47448852f56
Author: Jon Loeliger <jdl@freescale.com>
Date: Wed Feb 20 14:22:26 2008 -0600
86xx: Fix GUR PCI config registers properly.
Back in commit 975a083a5ef785c414b35f9c5b8ae25b26b41524 where
I tried to "8610HPCD: Fix typos in two PCI setup registers", I
botched it due to not realizing that 8610 and 8641 had different
Global Utility Register defintions, one of which was like 85xx,
and the other wasn't. Correct this problem by introducing two
symbols, one for each 86xx SoC, but neither of which is named
anything like 85xx.
My bad. Lovely Wednesday with git bisect. You know.
Signed-off-by: Jon Loeliger <jdl@freescale.com>
commit cb06eb961bdffc8728b38c242473d802e83ab2b4
Author: Jon Loeliger <jdl@freescale.com>
Date: Wed Feb 20 12:24:11 2008 -0600
8610HPCD: Don't use VIDEO/CFB_CONSOLE by default.
Without an actual supported video card hooked up, enabling
the CONFIG_VIDEO by default just makes it look broken by
routing all console output to the video card. Don't.
Signed-off-by: Jon Loeliger <jdl@freescale.com>
commit 4d264eff4312f230776b913edade7ceb75f1b1e0
Author: TsiChungLiew <Tsi-Chung.Liew@freescale.com>
Date: Wed Jan 30 15:08:15 2008 -0600
ColdFire: Fix missing code flash size for M5485EVB
Signed-off-by: James Mahan <kmahan@freescale.com>
Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
commit c54f9263e4e11e34b1e70c160bc467ef1d8ec59d
Author: TsiChungLiew <Tsi-Chung.Liew@freescale.com>
Date: Wed Jan 30 15:04:42 2008 -0600
ColdFire: Fix 5282 and 5271 interrupt mask bit
Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
commit 975a083a5ef785c414b35f9c5b8ae25b26b41524
Author: Jon Loeliger <jdl@freescale.com>
Date: Tue Feb 19 12:31:08 2008 -0600
8610HPCD: Fix typos in two PCI setup registers.
The two symbols MPC86xx_PORDEVSR_IO_SEL and MPC86xx_PORBMSR_HA
were erroneously present as 85xx names and values, leftover from
the clone wars. Fix this by removing the 85xx cruft from the
86xx codebase.
Signed-off-by: Jon Loeliger <jdl@freescale.com>
commit 13f5433f700d4da9f6fdf2a4bb80310133a7c170
Author: Jon Loeliger <jdl@freescale.com>
Date: Mon Feb 18 14:01:56 2008 -0600
86xx: Convert sbc8641d to use libfdt.
This is the proper fix for a missing closing brace in the function
ft_cpu_setup() noticed by joe.hamman <at> embeddedspecialties.com.
The ft_cpu_setup() function in mpc8641hpcn.c should have been
removed earlier as it was under the obsolete CONFIG_OF_FLAT_TREE,
but was missed. Only, the sbc8641d was nominally still using it.
It all got ripped out, and the funcality that was in ft_board_setup()
was refactored to remove the CPU portions into the new file
cpu/mpc86xx/fdt.c instead. Make sbc8641d use this now.
Based loosely on an original patch from joe.hamman@embeddedspecialties.com
Signed-off-by: Jon Loeliger <jdl@freescale.com>
commit 04efddc87c50c84f85dad5c331c634a6ce830a83
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sun Feb 17 23:35:31 2008 +0100
mpc86xx: Fix unused variable 'config' and 'immap'
and remove useless CONFIG_DDR_INTERLEAVE
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
commit 83d1b3876695c4f21faff2b731d9ef83f38ed208
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sun Feb 17 23:03:36 2008 +0100
mpc86xx: Fix implicit declaration of functions 'init_laws' and 'disable_law'
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
commit b6f29c84c208a091f95a10cbc9852d729659ba20
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sun Feb 17 14:15:31 2008 +0100
s3c24x0: Fix unused variable 'i' in function 'serial_init_dev'
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
commit 0937b8d869fdb42d6ad4fe312958639bd62c973f
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sun Feb 17 14:15:32 2008 +0100
pxa: fix assignment from incompatible pointer type
fix mmc_bread function prototype
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
commit 64d792063fff90b8118179b092feee09fe5cae13
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sun Feb 17 14:15:30 2008 +0100
at91cap9adk: fix implicit declaration of function 'eth_init'
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
commit 375c4353db8f900f7ec772e26fab116ec00f7d3a
Author: Wolfgang Denk <wd@denx.de>
Date: Sun Feb 17 15:43:44 2008 +0100
Remove files added by mistake, update CHANGELOG.
Signed-off-by: Wolfgang Denk <wd@denx.de>
commit b738654d3c84a30f2bfd9a8d7652ff20807c890c
Author: Mike Nuss <mike@terascala.com>
Date: Wed Feb 6 11:10:11 2008 -0500

View File

@ -528,4 +528,3 @@ N: Timo Tuunainen
E: timo.tuunainen@sysart.fi
D: Support for Artila M-501 starter kit
W: http://www.sysart.fi/

View File

@ -351,7 +351,7 @@ Travis Sawyer (travis.sawyer@sandburst.com>
Heiko Schocher <hs@denx.de>
ids8247 MPC8272
ids8247 MPC8247
jupiter MPC5200
mgcoge MPC8247
mgsuvd MPC852

View File

@ -24,7 +24,7 @@
VERSION = 1
PATCHLEVEL = 3
SUBLEVEL = 2
EXTRAVERSION = -rc1
EXTRAVERSION = -rc2
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
VERSION_FILE = $(obj)include/version_autogenerated.h
@ -244,7 +244,7 @@ LIBS += libfdt/libfdt.a
LIBS += api/libapi.a
LIBS := $(addprefix $(obj),$(LIBS))
.PHONY : $(LIBS)
.PHONY : $(LIBS) $(VERSION_FILE)
# Add GCC lib
PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
@ -326,6 +326,9 @@ $(LIBS): depend $(obj)include/autoconf.mk
$(SUBDIRS): depend $(obj)include/autoconf.mk
$(MAKE) -C $@ all
$(LDSCRIPT): depend $(obj)include/autoconf.mk
$(MAKE) -C $(dir $@) $(notdir $@)
$(NAND_SPL): $(VERSION_FILE) $(obj)include/autoconf.mk
$(MAKE) -C nand_spl/board/$(BOARDDIR) all
@ -411,6 +414,7 @@ $(obj)System.map: $(obj)u-boot
# to regenerate the autoconf.mk file.
$(obj)include/autoconf.mk: $(obj)include/config.h $(VERSION_FILE)
@$(XECHO) Generating include/autoconf.mk ; \
set -e ; \
: Generate the dependancies ; \
$(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -MQ $@ include/common.h > $@.dep ; \
: Extract the config macros ; \
@ -1921,7 +1925,7 @@ M5485HFE_config : unconfig
M5485EFE_config) BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \
M5485FFE_config) BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \
M5485GFE_config) BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \
M5485HFE_config) BOOT=2;CODE=;VID=1;USB=0;RAM=64;RAM1=0;; \
M5485HFE_config) BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \
esac; \
>include/config.h ; \
echo "#define CFG_BUSCLK 100000000" > $(obj)include/config.h ; \

View File

@ -198,6 +198,8 @@ void gpmc_init(void)
sdelay(2000);
/* setup cs2 */
__raw_writel(0x0, GPMC_CONFIG7_2); /* disable current map */
sdelay(1000);
__raw_writel(APOLLON_24XX_GPMC_CONFIG1_0 | mux | mtype | mwidth,
GPMC_CONFIG1_2);
/* It's same as cs 0 */

View File

@ -39,7 +39,7 @@
#define FW_DIR "nx-fw"
#define RESCUE_IMAGE "nxrs.img"
#define LOAD_ADDR 0x400000
#define RS_BOOTARGS "ramdisk=8192K"
#define RS_BOOTARGS "ramdisk_size=8192K"
/* Main function for fwupdate */
void cm5200_fwupdate(void);

View File

@ -280,13 +280,14 @@ void pci_init_board(void)
volatile immap_t *immap = (immap_t *) CFG_CCSRBAR;
volatile ccsr_gur_t *gur = &immap->im_gur;
uint devdisr = gur->devdisr;
uint io_sel = (gur->pordevsr & MPC85xx_PORDEVSR_IO_SEL) >> 19;
uint host_agent = (gur->porbmsr & MPC85xx_PORBMSR_HA) >> 16;
uint io_sel = (gur->pordevsr & MPC8610_PORDEVSR_IO_SEL)
>> MPC8610_PORDEVSR_IO_SEL_SHIFT;
uint host_agent = (gur->porbmsr & MPC8610_PORBMSR_HA)
>> MPC8610_PORBMSR_HA_SHIFT;
printf( " pci_init_board: devdisr=%x, io_sel=%x, host_agent=%x\n",
devdisr, io_sel, host_agent);
#ifdef CONFIG_PCIE1
{
volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) CFG_PCIE1_ADDR;

View File

@ -206,7 +206,8 @@ void pci_init_board(void)
volatile immap_t *immap = (immap_t *) CFG_CCSRBAR;
volatile ccsr_gur_t *gur = &immap->im_gur;
uint devdisr = gur->devdisr;
uint io_sel = (gur->pordevsr & MPC86xx_PORDEVSR_IO_SEL) >> 16;
uint io_sel = (gur->pordevsr & MPC8641_PORDEVSR_IO_SEL)
>> MPC8641_PORDEVSR_IO_SEL_SHIFT;
#ifdef CONFIG_PCI1
{
@ -214,7 +215,8 @@ void pci_init_board(void)
extern void fsl_pci_init(struct pci_controller *hose);
struct pci_controller *hose = &pci1_hose;
#ifdef DEBUG
uint host1_agent = (gur->porbmsr & MPC86xx_PORBMSR_HA) >> 17;
uint host1_agent = (gur->porbmsr & MPC8641_PORBMSR_HA)
>> MPC8641_PORBMSR_HA_SHIFT;
uint pex1_agent = (host1_agent == 0) || (host1_agent == 1);
#endif
if ((io_sel == 2 || io_sel == 3 || io_sel == 5
@ -321,28 +323,16 @@ void pci_init_board(void)
}
#if defined(CONFIG_OF_BOARD_SETUP)
void
ft_board_setup(void *blob, bd_t *bd)
{
int node, tmp[2];
const char *path;
fdt_fixup_ethernet(blob, bd);
do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
"timebase-frequency", bd->bi_busfreq / 4, 1);
do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
"bus-frequency", bd->bi_busfreq, 1);
do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
"clock-frequency", bd->bi_intfreq, 1);
do_fixup_by_prop_u32(blob, "device_type", "soc", 4,
"bus-frequency", bd->bi_busfreq, 1);
do_fixup_by_compat_u32(blob, "ns16550",
"clock-frequency", bd->bi_busfreq, 1);
fdt_fixup_memory(blob, bd->bi_memstart, bd->bi_memsize);
ft_cpu_setup(blob, bd);
node = fdt_path_offset(blob, "/aliases");
tmp[0] = 0;

View File

@ -193,7 +193,7 @@ void ft_blob_update(void *blob, bd_t *bd)
"err:%s\n", fdt_strerror(nodeoffset));
}
/* MAC Adresse */
nodeoffset = fdt_path_offset (blob, "/soc866/cpm/scc");
nodeoffset = fdt_path_offset (blob, "/soc866/cpm/ethernet");
if (nodeoffset >= 0) {
ret = fdt_setprop(blob, nodeoffset, "mac-address", bd->bi_enetaddr,
sizeof(uchar) * 6);

View File

@ -42,4 +42,3 @@ void show_sdram_registers(void);
#endif
long int init_ppc405_sdram(unsigned int dram_size);
#endif

View File

@ -133,4 +133,3 @@ void common_misc_init_r(void)
saveenv();
}
}

View File

@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(BOARD).a
COBJS = $(BOARD).o flash.o
COBJS = $(BOARD).o
SOBJS = lowlevel_init.o
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)

View File

@ -1,40 +0,0 @@
/*
* (C) Copyright 2003
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#include <common.h>
/*-----------------------------------------------------------------------
* flash_init()
*
* sets up flash_info and returns size of FLASH (bytes)
*/
unsigned long flash_init(void)
{
printf("Skipping flash_init\n");
return(0);
}
int write_buff(void *info, uchar *src, ulong addr, ulong cnt)
{
printf("write_buff not implemented\n");
return(-1);
}

View File

@ -35,11 +35,8 @@
#include <asm/immap_86xx.h>
#include <asm/immap_fsl_pci.h>
#include <spd.h>
#if defined(CONFIG_OF_FLAT_TREE)
#include <ft_build.h>
extern void ft_cpu_setup (void *blob, bd_t * bd);
#endif
#include <libfdt.h>
#include <fdt_support.h>
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
extern void ddr_enable_ecc (unsigned int dram_size);
@ -341,18 +338,34 @@ void pci_init_board(void)
}
#if defined(CONFIG_OF_FLAT_TREE) && defined(CONFIG_OF_BOARD_SETUP)
void ft_board_setup (void *blob, bd_t * bd)
#if defined(CONFIG_OF_BOARD_SETUP)
void
ft_board_setup (void *blob, bd_t *bd)
{
u32 *p;
int len;
int node, tmp[2];
const char *path;
ft_cpu_setup (blob, bd);
ft_cpu_setup(blob, bd);
p = ft_get_prop (blob, "/memory/reg", &len);
if (p != NULL) {
*p++ = cpu_to_be32 (bd->bi_memstart);
*p = cpu_to_be32 (bd->bi_memsize);
node = fdt_path_offset(blob, "/aliases");
tmp[0] = 0;
if (node >= 0) {
#ifdef CONFIG_PCI1
path = fdt_getprop(blob, node, "pci0", NULL);
if (path) {
tmp[1] = pci1_hose.last_busno - pci1_hose.first_busno;
do_fixup_by_path(blob, path, "bus-range", &tmp, 8, 1);
}
#endif
#ifdef CONFIG_PCI2
path = fdt_getprop(blob, node, "pci1", NULL);
if (path) {
tmp[1] = pci2_hose.last_busno - pci2_hose.first_busno;
do_fixup_by_path(blob, path, "bus-range", &tmp, 8, 1);
}
#endif
}
}
#endif

View File

@ -550,10 +550,11 @@ int getenv_r (char *name, char *buf, unsigned len)
return (-1);
}
#if defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \
#if ((defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_FLASH)) \
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_NAND)) \
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))) \
&& !defined(CFG_ENV_IS_NOWHERE))
int do_saveenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
extern char * env_name_spec;
@ -605,10 +606,11 @@ U_BOOT_CMD(
" - delete environment variable 'name'\n"
);
#if defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \
#if ((defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_FLASH)) \
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_NAND)) \
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))) \
&& !defined(CFG_ENV_IS_NOWHERE))
U_BOOT_CMD(
saveenv, 1, 0, do_saveenv,
"saveenv - save environment variables to persistent storage\n",

View File

@ -69,6 +69,9 @@ PLATFORM_CPPFLAGS+= -D__ARM__
endif
endif
# Load generated board configuration
sinclude $(OBJTREE)/include/autoconf.mk
ifdef ARCH
sinclude $(TOPDIR)/$(ARCH)_config.mk # include architecture dependend rules
endif
@ -87,9 +90,6 @@ ifdef BOARD
sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rules
endif
# Load generated board configuration
sinclude $(OBJTREE)/include/autoconf.mk
#########################################################################
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \

View File

@ -61,10 +61,12 @@ davinci_timer *timer = (davinci_timer *)CFG_TIMERBASE;
#define TIMER_LOAD_VAL (CFG_HZ_CLOCK / CFG_HZ)
#define READ_TIMER timer->tim34
/* Timer runs with CFG_HZ_CLOCK, currently 27MHz. To avoid wrap
around of timestamp already after min ~159s, divide it, e.g. by 16.
timestamp will then wrap around all min ~42min */
#define DIV(x) ((x) >> 4)
/*
* Timer runs with CFG_HZ_CLOCK, currently 27MHz. To avoid wrap
* around of timestamp already after min ~159s, divide it, e.g. by 16.
* timestamp will then wrap around all min ~42min
*/
#define DIV(x) ((x) >> 4)
static ulong timestamp;
static ulong lastinc;
@ -106,20 +108,20 @@ void udelay(unsigned long usec)
void reset_timer_masked(void)
{
lastinc = DIV(READ_TIMER);
lastinc = DIV(READ_TIMER);
timestamp = 0;
}
ulong get_timer_raw(void)
{
ulong now = DIV(READ_TIMER);
ulong now = DIV(READ_TIMER);
if (now >= lastinc) {
/* normal mode */
timestamp += now - lastinc;
} else {
/* overflow ... */
timestamp += now + DIV(TIMER_LOAD_VAL) - lastinc;
timestamp += now + DIV(TIMER_LOAD_VAL) - lastinc;
}
lastinc = now;
return timestamp;
@ -127,7 +129,7 @@ ulong get_timer_raw(void)
ulong get_timer_masked(void)
{
return(get_timer_raw() / DIV(TIMER_LOAD_VAL));
return(get_timer_raw() / DIV(TIMER_LOAD_VAL));
}
void udelay_masked(unsigned long usec)

View File

@ -26,11 +26,11 @@
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
is5249=$(shell grep CONFIG_M5249 $(TOPDIR)/include/$(cfg))
is5253=$(shell grep CONFIG_M5253 $(TOPDIR)/include/$(cfg))
is5271=$(shell grep CONFIG_M5271 $(TOPDIR)/include/$(cfg))
is5272=$(shell grep CONFIG_M5272 $(TOPDIR)/include/$(cfg))
is5282=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg))
is5249:=$(shell grep CONFIG_M5249 $(TOPDIR)/include/$(cfg))
is5253:=$(shell grep CONFIG_M5253 $(TOPDIR)/include/$(cfg))
is5271:=$(shell grep CONFIG_M5271 $(TOPDIR)/include/$(cfg))
is5272:=$(shell grep CONFIG_M5272 $(TOPDIR)/include/$(cfg))
is5282:=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg))
ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)

View File

@ -77,7 +77,7 @@ void dtimer_intr_setup(void)
volatile int0_t *intp = (int0_t *) (CFG_INTR_BASE);
intp->icr0[CFG_TMRINTR_NO] = CFG_TMRINTR_PRI;
intp->imrl0 &= ~0xFFFFFFFE;
intp->imrl0 &= 0xFFFFFFFE;
intp->imrl0 &= ~CFG_TMRINTR_MASK;
}
#endif /* CONFIG_MCFTMR */

View File

@ -21,7 +21,7 @@
# MA 02111-1307 USA
#
v=$(shell $(AS) --version |grep "GNU assembler" |cut -d. -f2)
MIPSFLAGS=$(shell \
MIPSFLAGS:=$(shell \
if [ "$v" -lt "14" ]; then \
echo "-mcpu=4kc"; \
else \

View File

@ -28,13 +28,20 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(CPU).a
START = start.o #resetvec.o
START = start.o
SOBJS = cache.o
COBJS = traps.o cpu.o cpu_init.o speed.o interrupts.o \
spd_sdram.o
SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
COBJS-y += traps.o
COBJS-y += cpu.o
COBJS-y += cpu_init.o
COBJS-y += speed.o
COBJS-y += interrupts.o
COBJS-y += spd_sdram.o
COBJS-$(CONFIG_OF_LIBFDT) += fdt.o
SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
START := $(addprefix $(obj),$(START))
all: $(obj).depend $(START) $(LIB)

View File

@ -29,9 +29,6 @@
#include <mpc86xx.h>
#include <asm/fsl_law.h>
#if defined(CONFIG_OF_FLAT_TREE)
#include <ft_build.h>
#endif
int
checkcpu(void)
@ -269,64 +266,6 @@ dma_xfer(void *dest, uint count, void *src)
#endif /* CONFIG_DDR_ECC */
#ifdef CONFIG_OF_FLAT_TREE
void
ft_cpu_setup(void *blob, bd_t *bd)
{
u32 *p;
ulong clock;
int len;
clock = bd->bi_busfreq;
p = ft_get_prop(blob, "/cpus/" OF_CPU "/bus-frequency", &len);
if (p != NULL)
*p = cpu_to_be32(clock);
p = ft_get_prop(blob, "/" OF_SOC "/serial@4500/clock-frequency", &len);
if (p != NULL)
*p = cpu_to_be32(clock);
p = ft_get_prop(blob, "/" OF_SOC "/serial@4600/clock-frequency", &len);
if (p != NULL)
*p = cpu_to_be32(clock);
#if defined(CONFIG_TSEC1)
p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/mac-address", &len);
if (p != NULL)
memcpy(p, bd->bi_enetaddr, 6);
p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/local-mac-address", &len);
if (p)
memcpy(p, bd->bi_enetaddr, 6);
#endif
#if defined(CONFIG_TSEC2)
p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/mac-address", &len);
if (p != NULL)
memcpy(p, bd->bi_enet1addr, 6);
p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/local-mac-address", &len);
if (p != NULL)
memcpy(p, bd->bi_enet1addr, 6);
#endif
#if defined(CONFIG_TSEC3)
p = ft_get_prop(blob, "/" OF_SOC "/ethernet@26000/mac-address", &len);
if (p != NULL)
memcpy(p, bd->bi_enet2addr, 6);
p = ft_get_prop(blob, "/" OF_SOC "/ethernet@26000/local-mac-address", &len);
if (p != NULL)
memcpy(p, bd->bi_enet2addr, 6);
#endif
#if defined(CONFIG_TSEC4)
p = ft_get_prop(blob, "/" OF_SOC "/ethernet@27000/mac-address", &len);
if (p != NULL)
memcpy(p, bd->bi_enet3addr, 6);
p = ft_get_prop(blob, "/" OF_SOC "/ethernet@27000/local-mac-address", &len);
if (p != NULL)
memcpy(p, bd->bi_enet3addr, 6);
#endif
#endif /* CONFIG_OF_FLAT_TREE */
/*
* Print out the state of various machine registers.
* Currently prints out LAWs and BR0/OR0

View File

@ -28,6 +28,7 @@
#include <common.h>
#include <mpc86xx.h>
#include <asm/fsl_law.h>
DECLARE_GLOBAL_DATA_PTR;

35
cpu/mpc86xx/fdt.c Normal file
View File

@ -0,0 +1,35 @@
/*
* Copyright 2008 Freescale Semiconductor, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* Version 2 as published by the Free Software Foundation.
*/
#include <common.h>
#include <libfdt.h>
#include <fdt_support.h>
void ft_cpu_setup(void *blob, bd_t *bd)
{
do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
"timebase-frequency", bd->bi_busfreq / 4, 1);
do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
"bus-frequency", bd->bi_busfreq, 1);
do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
"clock-frequency", bd->bi_intfreq, 1);
do_fixup_by_prop_u32(blob, "device_type", "soc", 4,
"bus-frequency", bd->bi_busfreq, 1);
fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
#if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) \
|| defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
fdt_fixup_ethernet(blob, bd);
#endif
#ifdef CFG_NS16550
do_fixup_by_compat_u32(blob, "ns16550",
"clock-frequency", bd->bi_busfreq, 1);
#endif
}

View File

@ -943,7 +943,7 @@ unsigned int enable_ddr(unsigned int ddr_num)
spd_eeprom_t spd1,spd2;
volatile ccsr_ddr_t *ddr;
unsigned sdram_cfg_1;
unsigned char sdram_type, mem_type, config, mod_attr;
unsigned char sdram_type, mem_type, mod_attr;
unsigned char d_init;
unsigned int no_dimm1=0, no_dimm2=0;
@ -1017,6 +1017,10 @@ unsigned int enable_ddr(unsigned int ddr_num)
printf("No memory modules found for DDR controller %d!!\n", ddr_num);
return 0;
} else {
#if defined(CONFIG_DDR_ECC)
unsigned char config;
#endif
mem_type = no_dimm2 ? spd1.mem_type : spd2.mem_type;
/*
@ -1122,8 +1126,8 @@ spd_sdram(void)
int memsize_ddr1_dimm2 = 0;
int memsize_ddr1 = 0;
unsigned int law_size_ddr1;
volatile immap_t *immap = (immap_t *)CFG_IMMR;
#ifdef CONFIG_DDR_INTERLEAVE
volatile immap_t *immap = (immap_t *)CFG_IMMR;
volatile ccsr_ddr_t *ddr1 = &immap->im_ddr1;
#endif
@ -1183,7 +1187,6 @@ spd_sdram(void)
#endif
debug("Interleaved memory size is 0x%08lx\n", memsize_total);
#ifdef CONFIG_DDR_INTERLEAVE
#if (CFG_PAGE_INTERLEAVING == 1)
printf("Page ");
#elif (CFG_BANK_INTERLEAVING == 1)
@ -1192,7 +1195,6 @@ spd_sdram(void)
printf("Super-bank ");
#else
printf("Cache-line ");
#endif
#endif
printf("Interleaved");
return memsize_total * 1024 * 1024;

View File

@ -25,7 +25,7 @@ PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi -fno-strict-aliasing
PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
is440=$(shell grep CONFIG_440 $(TOPDIR)/include/$(cfg))
is440:=$(shell grep CONFIG_440 $(TOPDIR)/include/$(cfg))
ifneq (,$(findstring CONFIG_440,$(is440)))
PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440

View File

@ -65,3 +65,9 @@ Examples;
* 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio
*/
pixis-reset altbank cf 40 2.5 10
DIP Switch Settings
-------------------
To manually switch the flash banks using the DIP switch
settings, toggle both SW6:1 and SW6:2.

View File

@ -179,7 +179,13 @@ int dtt_init (void)
int dtt_get_temp(int sensor)
{
return (dtt_read(sensor, DTT_READ_TEMP) / 256);
int const ret = dtt_read(sensor, DTT_READ_TEMP);
if (ret < 0) {
printf("DTT temperature read failed.\n");
return 0;
}
return (int)((int16_t) ret / 256);
} /* dtt_get_temp() */
#endif /* CONFIG_DTT_LM75 */

View File

@ -1538,7 +1538,12 @@ static int __flash_detect_cfi (flash_info_t * info, struct cfi_qry *qry)
{
int cfi_offset;
flash_write_cmd (info, 0, 0, info->cmd_reset);
/* We do not yet know what kind of commandset to use, so we issue
the reset command in both Intel and AMD variants, in the hope
that AMD flash roms ignore the Intel command. */
flash_write_cmd (info, 0, 0, AMD_CMD_RESET);
flash_write_cmd (info, 0, 0, FLASH_CMD_RESET);
for (cfi_offset=0;
cfi_offset < sizeof(flash_offset_cfi) / sizeof(uint);
cfi_offset++) {

View File

@ -32,9 +32,9 @@
#define ULI5261_DEVICE_ID 0x5261
#define ULI5263_DEVICE_ID 0x5263
/* ULi M5261 ID*/
#define PCI_ULI5261_ID ULI5261_DEVICE_ID << 16 | ULI_VENDOR_ID
#define PCI_ULI5261_ID (ULI5261_DEVICE_ID << 16 | ULI_VENDOR_ID)
/* ULi M5263 ID*/
#define PCI_ULI5263_ID ULI5263_DEVICE_ID << 16 | ULI_VENDOR_ID
#define PCI_ULI5263_ID (ULI5263_DEVICE_ID << 16 | ULI_VENDOR_ID)
#define ULI526X_IO_SIZE 0x100
#define TX_DESC_CNT 0x10 /* Allocated Tx descriptors */
@ -281,7 +281,7 @@ static int uli526x_init_one(struct eth_device *dev, bd_t *bis)
if (db->desc_pool_ptr == NULL)
return -1;
db->buf_pool_ptr = &buf_pool[0];
db->buf_pool_ptr = (uchar *)&buf_pool[0];
db->buf_pool_dma_ptr = (dma_addr_t)&buf_pool[0];
if (db->buf_pool_ptr == NULL)
return -1;
@ -588,7 +588,7 @@ static int uli526x_rx_packet(struct eth_device *dev)
__FUNCTION__, i, rxptr->rx_buf_ptr[i]);
#endif
NetReceive(rxptr->rx_buf_ptr, rxlen);
NetReceive((uchar *)rxptr->rx_buf_ptr, rxlen);
uli526x_reuse_buf(rxptr);
} else {
@ -656,7 +656,7 @@ static void uli526x_descriptor_init(struct uli526x_board_info *db,
tmp_tx_dma = db->first_tx_desc_dma;
for (tmp_tx = db->first_tx_desc, i = 0;
i < TX_DESC_CNT; i++, tmp_tx++) {
tmp_tx->tx_buf_ptr = tmp_buf;
tmp_tx->tx_buf_ptr = (char *)tmp_buf;
tmp_tx->tdes0 = cpu_to_le32(0);
tmp_tx->tdes1 = cpu_to_le32(0x81000000); /* IC, chain */
tmp_tx->tdes2 = cpu_to_le32(tmp_buf_dma);

View File

@ -1,3 +1,54 @@
/*
* (C) Copyright 2007-2008 Semihalf
*
* Written by: Rafal Jaworowski <raj@semihalf.com>
*
* This file is dual licensed; you can use it under the terms of
* either the GPL, or the BSD license, at your option.
*
* I. GPL:
*
* This file 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.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Alternatively,
*
* II. BSD license:
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _API_PUBLIC_H_
#define _API_PUBLIC_H_

View File

@ -17,9 +17,9 @@ typedef unsigned short __u16;
typedef __signed__ int __s32;
typedef unsigned int __u32;
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#if defined(__GNUC__)
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
#endif
/*

View File

@ -39,9 +39,9 @@ typedef unsigned short __u16;
typedef __signed__ int __s32;
typedef unsigned int __u32;
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#if defined(__GNUC__)
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
#endif
#endif /* __ASSEMBLY__ */

View File

@ -50,9 +50,9 @@ typedef __signed__ int __s32;
typedef unsigned int __u32;
/* HK0617 -- Changes to unsigned long temporarily */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#if defined(__GNUC__)
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
#endif
/*

View File

@ -14,9 +14,9 @@ typedef unsigned short __u16;
typedef __signed__ int __s32;
typedef unsigned int __u32;
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#if defined(__GNUC__)
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
#endif
typedef struct {

View File

@ -33,9 +33,9 @@ typedef unsigned long __u64;
#else
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#if defined(__GNUC__)
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
#endif
#endif

View File

@ -3,7 +3,6 @@
#include <asm/io.h>
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
#define SET_LAW_ENTRY(idx, a, sz, trgt) \
{ .index = idx, .addr = a, .size = sz, .trgt_id = trgt }

View File

@ -1256,12 +1256,16 @@ typedef struct ccsr_rio {
typedef struct ccsr_gur {
uint porpllsr; /* 0xe0000 - POR PLL ratio status register */
uint porbmsr; /* 0xe0004 - POR boot mode status register */
#define MPC86xx_PORBMSR_HA 0x00060000
#define MPC85xx_PORBMSR_HA 0x00070000
#define MPC8610_PORBMSR_HA 0x00070000
#define MPC8610_PORBMSR_HA_SHIFT 16
#define MPC8641_PORBMSR_HA 0x00060000
#define MPC8641_PORBMSR_HA_SHIFT 17
uint porimpscr; /* 0xe0008 - POR I/O impedance status and control register */
uint pordevsr; /* 0xe000c - POR I/O device status regsiter */
#define MPC86xx_PORDEVSR_IO_SEL 0x000F0000
#define MPC85xx_PORDEVSR_IO_SEL 0x00380000 /* 85xx platform type */
#define MPC8610_PORDEVSR_IO_SEL 0x00380000
#define MPC8610_PORDEVSR_IO_SEL_SHIFT 19
#define MPC8641_PORDEVSR_IO_SEL 0x000F0000
#define MPC8641_PORDEVSR_IO_SEL_SHIFT 16
#define MPC86xx_PORDEVSR_CORE1TE 0x00000080 /* ASMP (Core1 addr trans) */
uint pordbgmsr; /* 0xe0010 - POR debug mode status register */
char res1[12];

View File

@ -427,7 +427,6 @@ extern void disable_tlb(u8 esel);
extern void invalidate_tlb(u8 tlb);
extern void init_tlbs(void);
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
#define SET_TLB_ENTRY(_tlb, _epn, _rpn, _perms, _wimge, _ts, _esel, _sz, _iprot) \
{ .tlb = _tlb, .epn = _epn, .rpn = _rpn, .perms = _perms, \
.wimge = _wimge, .ts = _ts, .esel = _esel, .tsize = _sz, .iprot = _iprot }

View File

@ -14,9 +14,9 @@ typedef unsigned short __u16;
typedef __signed__ int __s32;
typedef unsigned int __u32;
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#if defined(__GNUC__)
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
#endif
typedef struct {

View File

@ -19,9 +19,9 @@ typedef unsigned short __u16;
typedef __signed__ int __s32;
typedef unsigned int __u32;
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#if defined(__GNUC__)
__extension__ typedef __signed__ long long __s64;
__extension__ typedef unsigned long long __u64;
#endif
#endif /* __ASSEMBLY__ */

View File

@ -54,7 +54,7 @@
#undef CONFIG_CLOCKS_IN_MHZ /* clocks passed to Linux in Hz */
#define CONFIG_BOOTARGS "root=/dev/ram rw ramdisk=4096"
#define CONFIG_BOOTARGS "root=/dev/ram rw ramdisk_size=4096"
/*
* BOOTP options

View File

@ -24,7 +24,7 @@
#define CONFIG_FSL_DIU_FB 1 /* FSL DIU */
/* video */
#define CONFIG_VIDEO
#undef CONFIG_VIDEO
#if defined(CONFIG_VIDEO)
#define CONFIG_CFB_CONSOLE

View File

@ -47,7 +47,7 @@
#undef CONFIG_8xx_CONS_NONE
#define CONFIG_BAUDRATE 57600 /* console baudrate = 115kbps */
#define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */
#define CONFIG_BOOTARGS "ramdisk=8000 "\
#define CONFIG_BOOTARGS "ramdisk_size=8000 "\
"root=/dev/nfs rw nfsroot=10.77.77.250:/ppcroot "\
"nfsaddrs=10.77.77.20:10.77.77.250"
#define CONFIG_BOOTCOMMAND "bootm 400e0000"

View File

@ -366,12 +366,11 @@
#define CFG_PCI_SUBSYS_VENDORID 0x10e8 /* AMCC */
#define CFG_PCI_SUBSYS_ID 0xcafe /* Whatever */
#if 0
/*
* ToDo: Watchdog is not test fully, so exclude it for now
*/
#define CONFIG_HW_WATCHDOG 1 /* Use external HW-Watchdog */
#endif
#define CONFIG_WD_PERIOD 40000 /* in usec */
/*
* For booting Linux, the board info and command line data

View File

@ -268,13 +268,9 @@
/*
* Pass open firmware flat tree to kernel
*/
#define CONFIG_OF_FLAT_TREE 1
#define CONFIG_OF_BOARD_SETUP 1
#define OF_CPU "PowerPC,8641@0"
#define OF_SOC "soc@f8000000"
#define OF_TBCLK (bd->bi_busfreq / 4)
#define OF_STDOUT_PATH "/soc@f8000000/serial@4500"
#define CONFIG_OF_LIBFDT 1
#define CONFIG_OF_BOARD_SETUP 1
#define CONFIG_OF_STDOUT_VIA_ALIAS 1
#define CFG_64BIT_VSPRINTF 1
#define CFG_64BIT_STRTOUL 1

View File

@ -43,7 +43,13 @@
#define CONFIG_SYS_CLK_FREQ ((in8(CFG_BCSR_BASE + 3) & 0x80) ? \
33333333 : 33000000)
#if 0
/*
* Define this if you want support for video console with radeon 9200 pci card
* Also set TEXT_BASE to 0xFFF80000 in board/amcc/sequoia/config.mk in this case
*/
#undef CONFIG_VIDEO
#ifdef CONFIG_VIDEO
/*
* 44x dcache supported is working now on sequoia, but we don't enable
* it yet since it needs further testing
@ -58,8 +64,13 @@
* Base addresses -- Note these are effective addresses where the actual
* resources get mapped (not physical addresses).
*/
#ifndef CONFIG_VIDEO
#define CFG_MONITOR_LEN (384 * 1024) /* Reserve 384 kiB for Monitor */
#define CFG_MALLOC_LEN (256 * 1024) /* Reserve 256 kiB for malloc() */
#else
#define CFG_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Monitor */
#define CFG_MALLOC_LEN (1024 * 1024) /* Reserve 1024 kB for malloc() */
#endif
#define CFG_TLB_FOR_BOOT_FLASH 0x0003
#define CFG_BOOT_BASE_ADDR 0xf0000000
@ -571,4 +582,17 @@
#define CONFIG_OF_LIBFDT 1
#define CONFIG_OF_BOARD_SETUP 1
#ifdef CONFIG_VIDEO
#define CONFIG_BIOSEMU /* x86 bios emulator for vga bios */
#define CONFIG_ATI_RADEON_FB /* use radeon framebuffer driver */
#define VIDEO_IO_OFFSET 0xe8000000
#define CFG_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
#define CONFIG_VIDEO_SW_CURSOR
#define CONFIG_VIDEO_LOGO
#define CONFIG_CFB_CONSOLE
#define CONFIG_SPLASH_SCREEN
#define CONFIG_VGA_AS_SINGLE_DEVICE
#define CONFIG_CMD_BMP
#endif
#endif /* __CONFIG_H */

View File

@ -333,7 +333,7 @@
"nfsargs=setenv bootargs root=/dev/nfs rw" \
" nfsroot=${serverip}:${rootpath}\0" \
"ramargs=setenv bootargs root=/dev/ram rw" \
" ramdisk=${ramdisk_size}\0" \
" ramdisk_size=${ramdisk_size}\0" \
"addip=setenv bootargs ${bootargs} " \
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
":${hostname}:${netdev}:off panic=1\0" \

View File

@ -121,12 +121,13 @@ static int display_banner(void)
return (0);
}
#ifndef CFG_NO_FLASH
static void display_flash_config(ulong size)
{
puts ("Flash: ");
print_size (size, "\n");
}
#endif
static int init_baudrate (void)
{
@ -247,7 +248,7 @@ void board_init_f(ulong bootflag)
debug ("Reserving %d Bytes for Global Data at: %08lx\n",
sizeof (gd_t), addr_sp);
/* Reserve memory for boot params.
/* Reserve memory for boot params.
*/
addr_sp -= CFG_BOOTPARAMS_LEN;
bd->bi_boot_params = addr_sp;
@ -301,7 +302,9 @@ void board_init_f(ulong bootflag)
void board_init_r (gd_t *id, ulong dest_addr)
{
cmd_tbl_t *cmdtp;
#ifndef CFG_NO_FLASH
ulong size;
#endif
extern void malloc_bin_reloc (void);
#ifndef CFG_ENV_IS_NOWHERE
extern char * env_name_spec;
@ -322,7 +325,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
/*
* We have to relocate the command table manually
*/
for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) {
for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) {
ulong addr;
addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
@ -352,13 +355,16 @@ void board_init_r (gd_t *id, ulong dest_addr)
env_name_spec += gd->reloc_off;
#endif
bd = gd->bd;
#ifndef CFG_NO_FLASH
/* configure available FLASH banks */
size = flash_init();
display_flash_config (size);
bd = gd->bd;
bd->bi_flashstart = CFG_FLASH_BASE;
bd->bi_flashsize = size;
#endif
bd->bi_flashstart = CFG_FLASH_BASE;
#if CFG_MONITOR_BASE == CFG_FLASH_BASE
bd->bi_flashoffset = monitor_flash_len; /* reserved area for U-Boot */
#else

View File

@ -23,6 +23,9 @@
#include <common.h>
#ifndef CONFIG_WD_PERIOD
# define CONFIG_WD_PERIOD (10 * 1000 * 1000) /* 10 seconds default*/
#endif
/* ------------------------------------------------------------------------- */
@ -53,9 +56,14 @@ unsigned long usec2ticks(unsigned long usec)
*/
void udelay(unsigned long usec)
{
ulong ticks = usec2ticks (usec);
ulong ticks, kv;
wait_ticks (ticks);
do {
kv = usec > CONFIG_WD_PERIOD ? CONFIG_WD_PERIOD : usec;
ticks = usec2ticks (kv);
wait_ticks (ticks);
usec -= kv;
} while(usec);
}
/* ------------------------------------------------------------------------- */

View File

@ -7,6 +7,8 @@
** This is still under construction!
*/
#include <getopt.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -216,15 +218,10 @@ int image_load_tga (image_t * image, char *filename)
return 0;
}
int image_free (image_t * image)
void image_free (image_t * image)
{
if (image->data != NULL)
free (image->data);
if (image->palette != NULL)
free (image->palette);
return 0;
free (image->data);
free (image->palette);
}
int image_rgb_to_yuyv (image_t * rgb_image, image_t * yuyv_image)
@ -353,59 +350,76 @@ int image_save_header (image_t * image, char *filename, char *varname)
#define DEF_FILELEN 256
static void usage (int exit_status)
{
puts (
"EasyLogo 1.0 (C) 2000 by Paolo Scaffardi\n"
"\n"
"Syntax: easylogo [options] inputfile [outputvar [outputfile]]\n"
"\n"
"Options:\n"
" -r Output RGB instead of YUYV\n"
" -h Help output\n"
"\n"
"Where: 'inputfile' is the TGA image to load\n"
" 'outputvar' is the variable name to create\n"
" 'outputfile' is the output header file (default is 'inputfile.h')"
);
exit (exit_status);
}
int main (int argc, char *argv[])
{
int c;
bool use_rgb = false;
char inputfile[DEF_FILELEN],
outputfile[DEF_FILELEN], varname[DEF_FILELEN];
image_t rgb_logo, yuyv_logo;
switch (argc) {
case 2:
case 3:
case 4:
strcpy (inputfile, argv[1]);
if (argc > 2)
strcpy (varname, argv[2]);
else {
char *dot = strchr (inputfile, '.');
int pos = dot - inputfile;
if (dot) {
strncpy (varname, inputfile, pos);
varname[pos] = 0;
}
while ((c = getopt(argc, argv, "hr")) > 0) {
switch (c) {
case 'h':
usage (0);
break;
case 'r':
use_rgb = true;
puts ("Using 24-bit RGB Output Fromat");
break;
default:
usage (1);
break;
}
if (argc > 3)
strcpy (outputfile, argv[3]);
else {
char *dot = strchr (varname, '.');
int pos = dot - varname;
if (dot) {
char app[DEF_FILELEN];
strncpy (app, varname, pos);
app[pos] = 0;
sprintf (outputfile, "%s.h", app);
}
}
break;
default:
printf ("EasyLogo 1.0 (C) 2000 by Paolo Scaffardi\n\n");
printf("Syntax: easylogo inputfile [outputvar {outputfile}] \n");
printf("\n");
printf("Where: 'inputfile' is the TGA image to load\n");
printf(" 'outputvar' is the variable name to create\n");
printf(" 'outputfile' is the output header file (default is 'inputfile.h')\n");
return -1;
}
c = argc - optind;
if (c > 4 || c < 1)
usage (1);
strcpy (inputfile, argv[optind]);
if (c > 1)
strcpy (varname, argv[optind + 1]);
else {
/* transform "input.tga" to just "input" */
char *dot;
strcpy (varname, inputfile);
dot = strchr (varname, '.');
if (dot)
*dot = '\0';
}
if (c > 2)
strcpy (outputfile, argv[optind + 2]);
else {
/* just append ".h" to input file name */
strcpy (outputfile, inputfile);
strcat (outputfile, ".h");
}
/* Make sure the output is sent as soon as we printf() */
setbuf(stdout, NULL);
printf ("Doing '%s' (%s) from '%s'...",
outputfile, varname, inputfile);
@ -417,20 +431,23 @@ int main (int argc, char *argv[])
exit (1);
}
/* Convert it to YUYV format */
/* Convert it to YUYV format if wanted */
printf ("C");
image_rgb_to_yuyv (&rgb_logo, &yuyv_logo);
if (!use_rgb) {
printf ("C");
image_rgb_to_yuyv (&rgb_logo, &yuyv_logo);
}
/* Save it into a header format */
printf ("S");
image_save_header (&yuyv_logo, outputfile, varname);
image_save_header (use_rgb ? &rgb_logo : &yuyv_logo, outputfile, varname);
/* Free original image and copy */
image_free (&rgb_logo);
image_free (&yuyv_logo);
if (!use_rgb)
image_free (&yuyv_logo);
printf ("\n");

View File

@ -7,11 +7,11 @@
#
# Only process values prefixed with #define CONFIG_
/^#define CONFIG_[A-Za-z0-9_]\+/ {
/^#define CONFIG_[A-Za-z0-9_][A-Za-z0-9_]*/ {
# Strip the #define prefix
s/#define *//;
# Change to form CONFIG_*=VALUE
s/ \+/=/;
s/ */=/;
# Drop trailing spaces
s/ *$//;
# drop quotes around string values