mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-09 20:18:54 -04:00
Merge branch 'master' of git://www.denx.de/git/u-boot into new-image
This commit is contained in:
commit
e18489e8c2
469
CHANGELOG
469
CHANGELOG
@ -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
|
commit b738654d3c84a30f2bfd9a8d7652ff20807c890c
|
||||||
Author: Mike Nuss <mike@terascala.com>
|
Author: Mike Nuss <mike@terascala.com>
|
||||||
Date: Wed Feb 6 11:10:11 2008 -0500
|
Date: Wed Feb 6 11:10:11 2008 -0500
|
||||||
|
1
CREDITS
1
CREDITS
@ -528,4 +528,3 @@ N: Timo Tuunainen
|
|||||||
E: timo.tuunainen@sysart.fi
|
E: timo.tuunainen@sysart.fi
|
||||||
D: Support for Artila M-501 starter kit
|
D: Support for Artila M-501 starter kit
|
||||||
W: http://www.sysart.fi/
|
W: http://www.sysart.fi/
|
||||||
|
|
||||||
|
@ -351,7 +351,7 @@ Travis Sawyer (travis.sawyer@sandburst.com>
|
|||||||
|
|
||||||
Heiko Schocher <hs@denx.de>
|
Heiko Schocher <hs@denx.de>
|
||||||
|
|
||||||
ids8247 MPC8272
|
ids8247 MPC8247
|
||||||
jupiter MPC5200
|
jupiter MPC5200
|
||||||
mgcoge MPC8247
|
mgcoge MPC8247
|
||||||
mgsuvd MPC852
|
mgsuvd MPC852
|
||||||
|
10
Makefile
10
Makefile
@ -24,7 +24,7 @@
|
|||||||
VERSION = 1
|
VERSION = 1
|
||||||
PATCHLEVEL = 3
|
PATCHLEVEL = 3
|
||||||
SUBLEVEL = 2
|
SUBLEVEL = 2
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc2
|
||||||
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
||||||
VERSION_FILE = $(obj)include/version_autogenerated.h
|
VERSION_FILE = $(obj)include/version_autogenerated.h
|
||||||
|
|
||||||
@ -244,7 +244,7 @@ LIBS += libfdt/libfdt.a
|
|||||||
LIBS += api/libapi.a
|
LIBS += api/libapi.a
|
||||||
|
|
||||||
LIBS := $(addprefix $(obj),$(LIBS))
|
LIBS := $(addprefix $(obj),$(LIBS))
|
||||||
.PHONY : $(LIBS)
|
.PHONY : $(LIBS) $(VERSION_FILE)
|
||||||
|
|
||||||
# Add GCC lib
|
# Add GCC lib
|
||||||
PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
|
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
|
$(SUBDIRS): depend $(obj)include/autoconf.mk
|
||||||
$(MAKE) -C $@ all
|
$(MAKE) -C $@ all
|
||||||
|
|
||||||
|
$(LDSCRIPT): depend $(obj)include/autoconf.mk
|
||||||
|
$(MAKE) -C $(dir $@) $(notdir $@)
|
||||||
|
|
||||||
$(NAND_SPL): $(VERSION_FILE) $(obj)include/autoconf.mk
|
$(NAND_SPL): $(VERSION_FILE) $(obj)include/autoconf.mk
|
||||||
$(MAKE) -C nand_spl/board/$(BOARDDIR) all
|
$(MAKE) -C nand_spl/board/$(BOARDDIR) all
|
||||||
|
|
||||||
@ -411,6 +414,7 @@ $(obj)System.map: $(obj)u-boot
|
|||||||
# to regenerate the autoconf.mk file.
|
# to regenerate the autoconf.mk file.
|
||||||
$(obj)include/autoconf.mk: $(obj)include/config.h $(VERSION_FILE)
|
$(obj)include/autoconf.mk: $(obj)include/config.h $(VERSION_FILE)
|
||||||
@$(XECHO) Generating include/autoconf.mk ; \
|
@$(XECHO) Generating include/autoconf.mk ; \
|
||||||
|
set -e ; \
|
||||||
: Generate the dependancies ; \
|
: Generate the dependancies ; \
|
||||||
$(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -MQ $@ include/common.h > $@.dep ; \
|
$(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -MQ $@ include/common.h > $@.dep ; \
|
||||||
: Extract the config macros ; \
|
: 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;; \
|
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;; \
|
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;; \
|
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; \
|
esac; \
|
||||||
>include/config.h ; \
|
>include/config.h ; \
|
||||||
echo "#define CFG_BUSCLK 100000000" > $(obj)include/config.h ; \
|
echo "#define CFG_BUSCLK 100000000" > $(obj)include/config.h ; \
|
||||||
|
@ -198,6 +198,8 @@ void gpmc_init(void)
|
|||||||
sdelay(2000);
|
sdelay(2000);
|
||||||
|
|
||||||
/* setup cs2 */
|
/* setup cs2 */
|
||||||
|
__raw_writel(0x0, GPMC_CONFIG7_2); /* disable current map */
|
||||||
|
sdelay(1000);
|
||||||
__raw_writel(APOLLON_24XX_GPMC_CONFIG1_0 | mux | mtype | mwidth,
|
__raw_writel(APOLLON_24XX_GPMC_CONFIG1_0 | mux | mtype | mwidth,
|
||||||
GPMC_CONFIG1_2);
|
GPMC_CONFIG1_2);
|
||||||
/* It's same as cs 0 */
|
/* It's same as cs 0 */
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
#define FW_DIR "nx-fw"
|
#define FW_DIR "nx-fw"
|
||||||
#define RESCUE_IMAGE "nxrs.img"
|
#define RESCUE_IMAGE "nxrs.img"
|
||||||
#define LOAD_ADDR 0x400000
|
#define LOAD_ADDR 0x400000
|
||||||
#define RS_BOOTARGS "ramdisk=8192K"
|
#define RS_BOOTARGS "ramdisk_size=8192K"
|
||||||
|
|
||||||
/* Main function for fwupdate */
|
/* Main function for fwupdate */
|
||||||
void cm5200_fwupdate(void);
|
void cm5200_fwupdate(void);
|
||||||
|
@ -280,13 +280,14 @@ void pci_init_board(void)
|
|||||||
volatile immap_t *immap = (immap_t *) CFG_CCSRBAR;
|
volatile immap_t *immap = (immap_t *) CFG_CCSRBAR;
|
||||||
volatile ccsr_gur_t *gur = &immap->im_gur;
|
volatile ccsr_gur_t *gur = &immap->im_gur;
|
||||||
uint devdisr = gur->devdisr;
|
uint devdisr = gur->devdisr;
|
||||||
uint io_sel = (gur->pordevsr & MPC85xx_PORDEVSR_IO_SEL) >> 19;
|
uint io_sel = (gur->pordevsr & MPC8610_PORDEVSR_IO_SEL)
|
||||||
uint host_agent = (gur->porbmsr & MPC85xx_PORBMSR_HA) >> 16;
|
>> 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",
|
printf( " pci_init_board: devdisr=%x, io_sel=%x, host_agent=%x\n",
|
||||||
devdisr, io_sel, host_agent);
|
devdisr, io_sel, host_agent);
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_PCIE1
|
#ifdef CONFIG_PCIE1
|
||||||
{
|
{
|
||||||
volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) CFG_PCIE1_ADDR;
|
volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) CFG_PCIE1_ADDR;
|
||||||
|
@ -206,7 +206,8 @@ void pci_init_board(void)
|
|||||||
volatile immap_t *immap = (immap_t *) CFG_CCSRBAR;
|
volatile immap_t *immap = (immap_t *) CFG_CCSRBAR;
|
||||||
volatile ccsr_gur_t *gur = &immap->im_gur;
|
volatile ccsr_gur_t *gur = &immap->im_gur;
|
||||||
uint devdisr = gur->devdisr;
|
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
|
#ifdef CONFIG_PCI1
|
||||||
{
|
{
|
||||||
@ -214,7 +215,8 @@ void pci_init_board(void)
|
|||||||
extern void fsl_pci_init(struct pci_controller *hose);
|
extern void fsl_pci_init(struct pci_controller *hose);
|
||||||
struct pci_controller *hose = &pci1_hose;
|
struct pci_controller *hose = &pci1_hose;
|
||||||
#ifdef DEBUG
|
#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);
|
uint pex1_agent = (host1_agent == 0) || (host1_agent == 1);
|
||||||
#endif
|
#endif
|
||||||
if ((io_sel == 2 || io_sel == 3 || io_sel == 5
|
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)
|
#if defined(CONFIG_OF_BOARD_SETUP)
|
||||||
|
|
||||||
void
|
void
|
||||||
ft_board_setup(void *blob, bd_t *bd)
|
ft_board_setup(void *blob, bd_t *bd)
|
||||||
{
|
{
|
||||||
int node, tmp[2];
|
int node, tmp[2];
|
||||||
const char *path;
|
const char *path;
|
||||||
|
|
||||||
fdt_fixup_ethernet(blob, bd);
|
ft_cpu_setup(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);
|
|
||||||
|
|
||||||
node = fdt_path_offset(blob, "/aliases");
|
node = fdt_path_offset(blob, "/aliases");
|
||||||
tmp[0] = 0;
|
tmp[0] = 0;
|
||||||
|
@ -193,7 +193,7 @@ void ft_blob_update(void *blob, bd_t *bd)
|
|||||||
"err:%s\n", fdt_strerror(nodeoffset));
|
"err:%s\n", fdt_strerror(nodeoffset));
|
||||||
}
|
}
|
||||||
/* MAC Adresse */
|
/* MAC Adresse */
|
||||||
nodeoffset = fdt_path_offset (blob, "/soc866/cpm/scc");
|
nodeoffset = fdt_path_offset (blob, "/soc866/cpm/ethernet");
|
||||||
if (nodeoffset >= 0) {
|
if (nodeoffset >= 0) {
|
||||||
ret = fdt_setprop(blob, nodeoffset, "mac-address", bd->bi_enetaddr,
|
ret = fdt_setprop(blob, nodeoffset, "mac-address", bd->bi_enetaddr,
|
||||||
sizeof(uchar) * 6);
|
sizeof(uchar) * 6);
|
||||||
|
@ -42,4 +42,3 @@ void show_sdram_registers(void);
|
|||||||
#endif
|
#endif
|
||||||
long int init_ppc405_sdram(unsigned int dram_size);
|
long int init_ppc405_sdram(unsigned int dram_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -133,4 +133,3 @@ void common_misc_init_r(void)
|
|||||||
saveenv();
|
saveenv();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
|
|||||||
|
|
||||||
LIB = $(obj)lib$(BOARD).a
|
LIB = $(obj)lib$(BOARD).a
|
||||||
|
|
||||||
COBJS = $(BOARD).o flash.o
|
COBJS = $(BOARD).o
|
||||||
SOBJS = lowlevel_init.o
|
SOBJS = lowlevel_init.o
|
||||||
|
|
||||||
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||||
|
@ -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);
|
|
||||||
}
|
|
@ -35,11 +35,8 @@
|
|||||||
#include <asm/immap_86xx.h>
|
#include <asm/immap_86xx.h>
|
||||||
#include <asm/immap_fsl_pci.h>
|
#include <asm/immap_fsl_pci.h>
|
||||||
#include <spd.h>
|
#include <spd.h>
|
||||||
|
#include <libfdt.h>
|
||||||
#if defined(CONFIG_OF_FLAT_TREE)
|
#include <fdt_support.h>
|
||||||
#include <ft_build.h>
|
|
||||||
extern void ft_cpu_setup (void *blob, bd_t * bd);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
||||||
extern void ddr_enable_ecc (unsigned int dram_size);
|
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 node, tmp[2];
|
||||||
int len;
|
const char *path;
|
||||||
|
|
||||||
ft_cpu_setup (blob, bd);
|
ft_cpu_setup(blob, bd);
|
||||||
|
|
||||||
p = ft_get_prop (blob, "/memory/reg", &len);
|
node = fdt_path_offset(blob, "/aliases");
|
||||||
if (p != NULL) {
|
tmp[0] = 0;
|
||||||
*p++ = cpu_to_be32 (bd->bi_memstart);
|
if (node >= 0) {
|
||||||
*p = cpu_to_be32 (bd->bi_memsize);
|
#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
|
#endif
|
||||||
|
@ -550,10 +550,11 @@ int getenv_r (char *name, char *buf, unsigned len)
|
|||||||
return (-1);
|
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_FLASH)) \
|
||||||
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_NAND)) \
|
|| (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[])
|
int do_saveenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
extern char * env_name_spec;
|
extern char * env_name_spec;
|
||||||
@ -605,10 +606,11 @@ U_BOOT_CMD(
|
|||||||
" - delete environment variable 'name'\n"
|
" - 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_FLASH)) \
|
||||||
|| (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_NAND)) \
|
|| (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(
|
U_BOOT_CMD(
|
||||||
saveenv, 1, 0, do_saveenv,
|
saveenv, 1, 0, do_saveenv,
|
||||||
"saveenv - save environment variables to persistent storage\n",
|
"saveenv - save environment variables to persistent storage\n",
|
||||||
|
@ -69,6 +69,9 @@ PLATFORM_CPPFLAGS+= -D__ARM__
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Load generated board configuration
|
||||||
|
sinclude $(OBJTREE)/include/autoconf.mk
|
||||||
|
|
||||||
ifdef ARCH
|
ifdef ARCH
|
||||||
sinclude $(TOPDIR)/$(ARCH)_config.mk # include architecture dependend rules
|
sinclude $(TOPDIR)/$(ARCH)_config.mk # include architecture dependend rules
|
||||||
endif
|
endif
|
||||||
@ -87,9 +90,6 @@ ifdef BOARD
|
|||||||
sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rules
|
sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rules
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Load generated board configuration
|
|
||||||
sinclude $(OBJTREE)/include/autoconf.mk
|
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
|
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
|
||||||
|
@ -61,10 +61,12 @@ davinci_timer *timer = (davinci_timer *)CFG_TIMERBASE;
|
|||||||
#define TIMER_LOAD_VAL (CFG_HZ_CLOCK / CFG_HZ)
|
#define TIMER_LOAD_VAL (CFG_HZ_CLOCK / CFG_HZ)
|
||||||
#define READ_TIMER timer->tim34
|
#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.
|
* Timer runs with CFG_HZ_CLOCK, currently 27MHz. To avoid wrap
|
||||||
timestamp will then wrap around all min ~42min */
|
* around of timestamp already after min ~159s, divide it, e.g. by 16.
|
||||||
#define DIV(x) ((x) >> 4)
|
* timestamp will then wrap around all min ~42min
|
||||||
|
*/
|
||||||
|
#define DIV(x) ((x) >> 4)
|
||||||
|
|
||||||
static ulong timestamp;
|
static ulong timestamp;
|
||||||
static ulong lastinc;
|
static ulong lastinc;
|
||||||
@ -106,20 +108,20 @@ void udelay(unsigned long usec)
|
|||||||
|
|
||||||
void reset_timer_masked(void)
|
void reset_timer_masked(void)
|
||||||
{
|
{
|
||||||
lastinc = DIV(READ_TIMER);
|
lastinc = DIV(READ_TIMER);
|
||||||
timestamp = 0;
|
timestamp = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ulong get_timer_raw(void)
|
ulong get_timer_raw(void)
|
||||||
{
|
{
|
||||||
ulong now = DIV(READ_TIMER);
|
ulong now = DIV(READ_TIMER);
|
||||||
|
|
||||||
if (now >= lastinc) {
|
if (now >= lastinc) {
|
||||||
/* normal mode */
|
/* normal mode */
|
||||||
timestamp += now - lastinc;
|
timestamp += now - lastinc;
|
||||||
} else {
|
} else {
|
||||||
/* overflow ... */
|
/* overflow ... */
|
||||||
timestamp += now + DIV(TIMER_LOAD_VAL) - lastinc;
|
timestamp += now + DIV(TIMER_LOAD_VAL) - lastinc;
|
||||||
}
|
}
|
||||||
lastinc = now;
|
lastinc = now;
|
||||||
return timestamp;
|
return timestamp;
|
||||||
@ -127,7 +129,7 @@ ulong get_timer_raw(void)
|
|||||||
|
|
||||||
ulong get_timer_masked(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)
|
void udelay_masked(unsigned long usec)
|
||||||
|
@ -26,11 +26,11 @@
|
|||||||
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
|
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
|
||||||
|
|
||||||
cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
|
cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
|
||||||
is5249=$(shell grep CONFIG_M5249 $(TOPDIR)/include/$(cfg))
|
is5249:=$(shell grep CONFIG_M5249 $(TOPDIR)/include/$(cfg))
|
||||||
is5253=$(shell grep CONFIG_M5253 $(TOPDIR)/include/$(cfg))
|
is5253:=$(shell grep CONFIG_M5253 $(TOPDIR)/include/$(cfg))
|
||||||
is5271=$(shell grep CONFIG_M5271 $(TOPDIR)/include/$(cfg))
|
is5271:=$(shell grep CONFIG_M5271 $(TOPDIR)/include/$(cfg))
|
||||||
is5272=$(shell grep CONFIG_M5272 $(TOPDIR)/include/$(cfg))
|
is5272:=$(shell grep CONFIG_M5272 $(TOPDIR)/include/$(cfg))
|
||||||
is5282=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg))
|
is5282:=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg))
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)
|
ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)
|
||||||
|
@ -77,7 +77,7 @@ void dtimer_intr_setup(void)
|
|||||||
volatile int0_t *intp = (int0_t *) (CFG_INTR_BASE);
|
volatile int0_t *intp = (int0_t *) (CFG_INTR_BASE);
|
||||||
|
|
||||||
intp->icr0[CFG_TMRINTR_NO] = CFG_TMRINTR_PRI;
|
intp->icr0[CFG_TMRINTR_NO] = CFG_TMRINTR_PRI;
|
||||||
intp->imrl0 &= ~0xFFFFFFFE;
|
intp->imrl0 &= 0xFFFFFFFE;
|
||||||
intp->imrl0 &= ~CFG_TMRINTR_MASK;
|
intp->imrl0 &= ~CFG_TMRINTR_MASK;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_MCFTMR */
|
#endif /* CONFIG_MCFTMR */
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
# MA 02111-1307 USA
|
# MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
v=$(shell $(AS) --version |grep "GNU assembler" |cut -d. -f2)
|
v=$(shell $(AS) --version |grep "GNU assembler" |cut -d. -f2)
|
||||||
MIPSFLAGS=$(shell \
|
MIPSFLAGS:=$(shell \
|
||||||
if [ "$v" -lt "14" ]; then \
|
if [ "$v" -lt "14" ]; then \
|
||||||
echo "-mcpu=4kc"; \
|
echo "-mcpu=4kc"; \
|
||||||
else \
|
else \
|
||||||
|
@ -28,13 +28,20 @@ include $(TOPDIR)/config.mk
|
|||||||
|
|
||||||
LIB = $(obj)lib$(CPU).a
|
LIB = $(obj)lib$(CPU).a
|
||||||
|
|
||||||
START = start.o #resetvec.o
|
START = start.o
|
||||||
SOBJS = cache.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)
|
COBJS-y += traps.o
|
||||||
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
|
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))
|
START := $(addprefix $(obj),$(START))
|
||||||
|
|
||||||
all: $(obj).depend $(START) $(LIB)
|
all: $(obj).depend $(START) $(LIB)
|
||||||
|
@ -29,9 +29,6 @@
|
|||||||
#include <mpc86xx.h>
|
#include <mpc86xx.h>
|
||||||
#include <asm/fsl_law.h>
|
#include <asm/fsl_law.h>
|
||||||
|
|
||||||
#if defined(CONFIG_OF_FLAT_TREE)
|
|
||||||
#include <ft_build.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
int
|
||||||
checkcpu(void)
|
checkcpu(void)
|
||||||
@ -269,64 +266,6 @@ dma_xfer(void *dest, uint count, void *src)
|
|||||||
#endif /* CONFIG_DDR_ECC */
|
#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.
|
* Print out the state of various machine registers.
|
||||||
* Currently prints out LAWs and BR0/OR0
|
* Currently prints out LAWs and BR0/OR0
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <mpc86xx.h>
|
#include <mpc86xx.h>
|
||||||
|
#include <asm/fsl_law.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
35
cpu/mpc86xx/fdt.c
Normal file
35
cpu/mpc86xx/fdt.c
Normal 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
|
||||||
|
}
|
@ -943,7 +943,7 @@ unsigned int enable_ddr(unsigned int ddr_num)
|
|||||||
spd_eeprom_t spd1,spd2;
|
spd_eeprom_t spd1,spd2;
|
||||||
volatile ccsr_ddr_t *ddr;
|
volatile ccsr_ddr_t *ddr;
|
||||||
unsigned sdram_cfg_1;
|
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 char d_init;
|
||||||
unsigned int no_dimm1=0, no_dimm2=0;
|
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);
|
printf("No memory modules found for DDR controller %d!!\n", ddr_num);
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
#if defined(CONFIG_DDR_ECC)
|
||||||
|
unsigned char config;
|
||||||
|
#endif
|
||||||
mem_type = no_dimm2 ? spd1.mem_type : spd2.mem_type;
|
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_dimm2 = 0;
|
||||||
int memsize_ddr1 = 0;
|
int memsize_ddr1 = 0;
|
||||||
unsigned int law_size_ddr1;
|
unsigned int law_size_ddr1;
|
||||||
volatile immap_t *immap = (immap_t *)CFG_IMMR;
|
|
||||||
#ifdef CONFIG_DDR_INTERLEAVE
|
#ifdef CONFIG_DDR_INTERLEAVE
|
||||||
|
volatile immap_t *immap = (immap_t *)CFG_IMMR;
|
||||||
volatile ccsr_ddr_t *ddr1 = &immap->im_ddr1;
|
volatile ccsr_ddr_t *ddr1 = &immap->im_ddr1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1183,7 +1187,6 @@ spd_sdram(void)
|
|||||||
#endif
|
#endif
|
||||||
debug("Interleaved memory size is 0x%08lx\n", memsize_total);
|
debug("Interleaved memory size is 0x%08lx\n", memsize_total);
|
||||||
|
|
||||||
#ifdef CONFIG_DDR_INTERLEAVE
|
|
||||||
#if (CFG_PAGE_INTERLEAVING == 1)
|
#if (CFG_PAGE_INTERLEAVING == 1)
|
||||||
printf("Page ");
|
printf("Page ");
|
||||||
#elif (CFG_BANK_INTERLEAVING == 1)
|
#elif (CFG_BANK_INTERLEAVING == 1)
|
||||||
@ -1192,7 +1195,6 @@ spd_sdram(void)
|
|||||||
printf("Super-bank ");
|
printf("Super-bank ");
|
||||||
#else
|
#else
|
||||||
printf("Cache-line ");
|
printf("Cache-line ");
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
printf("Interleaved");
|
printf("Interleaved");
|
||||||
return memsize_total * 1024 * 1024;
|
return memsize_total * 1024 * 1024;
|
||||||
|
@ -25,7 +25,7 @@ PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi -fno-strict-aliasing
|
|||||||
PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
|
PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
|
||||||
|
|
||||||
cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
|
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)))
|
ifneq (,$(findstring CONFIG_440,$(is440)))
|
||||||
PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440
|
PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440
|
||||||
|
@ -65,3 +65,9 @@ Examples;
|
|||||||
* 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio
|
* 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio
|
||||||
*/
|
*/
|
||||||
pixis-reset altbank cf 40 2.5 10
|
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.
|
||||||
|
@ -179,7 +179,13 @@ int dtt_init (void)
|
|||||||
|
|
||||||
int dtt_get_temp(int sensor)
|
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() */
|
} /* dtt_get_temp() */
|
||||||
|
|
||||||
#endif /* CONFIG_DTT_LM75 */
|
#endif /* CONFIG_DTT_LM75 */
|
||||||
|
@ -1538,7 +1538,12 @@ static int __flash_detect_cfi (flash_info_t * info, struct cfi_qry *qry)
|
|||||||
{
|
{
|
||||||
int cfi_offset;
|
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;
|
for (cfi_offset=0;
|
||||||
cfi_offset < sizeof(flash_offset_cfi) / sizeof(uint);
|
cfi_offset < sizeof(flash_offset_cfi) / sizeof(uint);
|
||||||
cfi_offset++) {
|
cfi_offset++) {
|
||||||
|
@ -32,9 +32,9 @@
|
|||||||
#define ULI5261_DEVICE_ID 0x5261
|
#define ULI5261_DEVICE_ID 0x5261
|
||||||
#define ULI5263_DEVICE_ID 0x5263
|
#define ULI5263_DEVICE_ID 0x5263
|
||||||
/* ULi M5261 ID*/
|
/* 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*/
|
/* 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 ULI526X_IO_SIZE 0x100
|
||||||
#define TX_DESC_CNT 0x10 /* Allocated Tx descriptors */
|
#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)
|
if (db->desc_pool_ptr == NULL)
|
||||||
return -1;
|
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];
|
db->buf_pool_dma_ptr = (dma_addr_t)&buf_pool[0];
|
||||||
if (db->buf_pool_ptr == NULL)
|
if (db->buf_pool_ptr == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
@ -588,7 +588,7 @@ static int uli526x_rx_packet(struct eth_device *dev)
|
|||||||
__FUNCTION__, i, rxptr->rx_buf_ptr[i]);
|
__FUNCTION__, i, rxptr->rx_buf_ptr[i]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NetReceive(rxptr->rx_buf_ptr, rxlen);
|
NetReceive((uchar *)rxptr->rx_buf_ptr, rxlen);
|
||||||
uli526x_reuse_buf(rxptr);
|
uli526x_reuse_buf(rxptr);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -656,7 +656,7 @@ static void uli526x_descriptor_init(struct uli526x_board_info *db,
|
|||||||
tmp_tx_dma = db->first_tx_desc_dma;
|
tmp_tx_dma = db->first_tx_desc_dma;
|
||||||
for (tmp_tx = db->first_tx_desc, i = 0;
|
for (tmp_tx = db->first_tx_desc, i = 0;
|
||||||
i < TX_DESC_CNT; i++, tmp_tx++) {
|
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->tdes0 = cpu_to_le32(0);
|
||||||
tmp_tx->tdes1 = cpu_to_le32(0x81000000); /* IC, chain */
|
tmp_tx->tdes1 = cpu_to_le32(0x81000000); /* IC, chain */
|
||||||
tmp_tx->tdes2 = cpu_to_le32(tmp_buf_dma);
|
tmp_tx->tdes2 = cpu_to_le32(tmp_buf_dma);
|
||||||
|
@ -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_
|
#ifndef _API_PUBLIC_H_
|
||||||
#define _API_PUBLIC_H_
|
#define _API_PUBLIC_H_
|
||||||
|
|
||||||
|
@ -17,9 +17,9 @@ typedef unsigned short __u16;
|
|||||||
typedef __signed__ int __s32;
|
typedef __signed__ int __s32;
|
||||||
typedef unsigned int __u32;
|
typedef unsigned int __u32;
|
||||||
|
|
||||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
#if defined(__GNUC__)
|
||||||
typedef __signed__ long long __s64;
|
__extension__ typedef __signed__ long long __s64;
|
||||||
typedef unsigned long long __u64;
|
__extension__ typedef unsigned long long __u64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -39,9 +39,9 @@ typedef unsigned short __u16;
|
|||||||
typedef __signed__ int __s32;
|
typedef __signed__ int __s32;
|
||||||
typedef unsigned int __u32;
|
typedef unsigned int __u32;
|
||||||
|
|
||||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
#if defined(__GNUC__)
|
||||||
typedef __signed__ long long __s64;
|
__extension__ typedef __signed__ long long __s64;
|
||||||
typedef unsigned long long __u64;
|
__extension__ typedef unsigned long long __u64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
@ -50,9 +50,9 @@ typedef __signed__ int __s32;
|
|||||||
typedef unsigned int __u32;
|
typedef unsigned int __u32;
|
||||||
|
|
||||||
/* HK0617 -- Changes to unsigned long temporarily */
|
/* HK0617 -- Changes to unsigned long temporarily */
|
||||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
#if defined(__GNUC__)
|
||||||
typedef __signed__ long long __s64;
|
__extension__ typedef __signed__ long long __s64;
|
||||||
typedef unsigned long long __u64;
|
__extension__ typedef unsigned long long __u64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -14,9 +14,9 @@ typedef unsigned short __u16;
|
|||||||
typedef __signed__ int __s32;
|
typedef __signed__ int __s32;
|
||||||
typedef unsigned int __u32;
|
typedef unsigned int __u32;
|
||||||
|
|
||||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
#if defined(__GNUC__)
|
||||||
typedef __signed__ long long __s64;
|
__extension__ typedef __signed__ long long __s64;
|
||||||
typedef unsigned long long __u64;
|
__extension__ typedef unsigned long long __u64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -33,9 +33,9 @@ typedef unsigned long __u64;
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
#if defined(__GNUC__)
|
||||||
typedef __signed__ long long __s64;
|
__extension__ typedef __signed__ long long __s64;
|
||||||
typedef unsigned long long __u64;
|
__extension__ typedef unsigned long long __u64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
|
||||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
|
||||||
#define SET_LAW_ENTRY(idx, a, sz, trgt) \
|
#define SET_LAW_ENTRY(idx, a, sz, trgt) \
|
||||||
{ .index = idx, .addr = a, .size = sz, .trgt_id = trgt }
|
{ .index = idx, .addr = a, .size = sz, .trgt_id = trgt }
|
||||||
|
|
||||||
|
@ -1256,12 +1256,16 @@ typedef struct ccsr_rio {
|
|||||||
typedef struct ccsr_gur {
|
typedef struct ccsr_gur {
|
||||||
uint porpllsr; /* 0xe0000 - POR PLL ratio status register */
|
uint porpllsr; /* 0xe0000 - POR PLL ratio status register */
|
||||||
uint porbmsr; /* 0xe0004 - POR boot mode status register */
|
uint porbmsr; /* 0xe0004 - POR boot mode status register */
|
||||||
#define MPC86xx_PORBMSR_HA 0x00060000
|
#define MPC8610_PORBMSR_HA 0x00070000
|
||||||
#define MPC85xx_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 porimpscr; /* 0xe0008 - POR I/O impedance status and control register */
|
||||||
uint pordevsr; /* 0xe000c - POR I/O device status regsiter */
|
uint pordevsr; /* 0xe000c - POR I/O device status regsiter */
|
||||||
#define MPC86xx_PORDEVSR_IO_SEL 0x000F0000
|
#define MPC8610_PORDEVSR_IO_SEL 0x00380000
|
||||||
#define MPC85xx_PORDEVSR_IO_SEL 0x00380000 /* 85xx platform type */
|
#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) */
|
#define MPC86xx_PORDEVSR_CORE1TE 0x00000080 /* ASMP (Core1 addr trans) */
|
||||||
uint pordbgmsr; /* 0xe0010 - POR debug mode status register */
|
uint pordbgmsr; /* 0xe0010 - POR debug mode status register */
|
||||||
char res1[12];
|
char res1[12];
|
||||||
|
@ -427,7 +427,6 @@ extern void disable_tlb(u8 esel);
|
|||||||
extern void invalidate_tlb(u8 tlb);
|
extern void invalidate_tlb(u8 tlb);
|
||||||
extern void init_tlbs(void);
|
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) \
|
#define SET_TLB_ENTRY(_tlb, _epn, _rpn, _perms, _wimge, _ts, _esel, _sz, _iprot) \
|
||||||
{ .tlb = _tlb, .epn = _epn, .rpn = _rpn, .perms = _perms, \
|
{ .tlb = _tlb, .epn = _epn, .rpn = _rpn, .perms = _perms, \
|
||||||
.wimge = _wimge, .ts = _ts, .esel = _esel, .tsize = _sz, .iprot = _iprot }
|
.wimge = _wimge, .ts = _ts, .esel = _esel, .tsize = _sz, .iprot = _iprot }
|
||||||
|
@ -14,9 +14,9 @@ typedef unsigned short __u16;
|
|||||||
typedef __signed__ int __s32;
|
typedef __signed__ int __s32;
|
||||||
typedef unsigned int __u32;
|
typedef unsigned int __u32;
|
||||||
|
|
||||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
#if defined(__GNUC__)
|
||||||
typedef __signed__ long long __s64;
|
__extension__ typedef __signed__ long long __s64;
|
||||||
typedef unsigned long long __u64;
|
__extension__ typedef unsigned long long __u64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -19,9 +19,9 @@ typedef unsigned short __u16;
|
|||||||
typedef __signed__ int __s32;
|
typedef __signed__ int __s32;
|
||||||
typedef unsigned int __u32;
|
typedef unsigned int __u32;
|
||||||
|
|
||||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
#if defined(__GNUC__)
|
||||||
typedef __signed__ long long __s64;
|
__extension__ typedef __signed__ long long __s64;
|
||||||
typedef unsigned long long __u64;
|
__extension__ typedef unsigned long long __u64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
#undef CONFIG_CLOCKS_IN_MHZ /* clocks passed to Linux in Hz */
|
#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
|
* BOOTP options
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#define CONFIG_FSL_DIU_FB 1 /* FSL DIU */
|
#define CONFIG_FSL_DIU_FB 1 /* FSL DIU */
|
||||||
|
|
||||||
/* video */
|
/* video */
|
||||||
#define CONFIG_VIDEO
|
#undef CONFIG_VIDEO
|
||||||
|
|
||||||
#if defined(CONFIG_VIDEO)
|
#if defined(CONFIG_VIDEO)
|
||||||
#define CONFIG_CFB_CONSOLE
|
#define CONFIG_CFB_CONSOLE
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
#undef CONFIG_8xx_CONS_NONE
|
#undef CONFIG_8xx_CONS_NONE
|
||||||
#define CONFIG_BAUDRATE 57600 /* console baudrate = 115kbps */
|
#define CONFIG_BAUDRATE 57600 /* console baudrate = 115kbps */
|
||||||
#define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */
|
#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 "\
|
"root=/dev/nfs rw nfsroot=10.77.77.250:/ppcroot "\
|
||||||
"nfsaddrs=10.77.77.20:10.77.77.250"
|
"nfsaddrs=10.77.77.20:10.77.77.250"
|
||||||
#define CONFIG_BOOTCOMMAND "bootm 400e0000"
|
#define CONFIG_BOOTCOMMAND "bootm 400e0000"
|
||||||
|
@ -366,12 +366,11 @@
|
|||||||
#define CFG_PCI_SUBSYS_VENDORID 0x10e8 /* AMCC */
|
#define CFG_PCI_SUBSYS_VENDORID 0x10e8 /* AMCC */
|
||||||
#define CFG_PCI_SUBSYS_ID 0xcafe /* Whatever */
|
#define CFG_PCI_SUBSYS_ID 0xcafe /* Whatever */
|
||||||
|
|
||||||
#if 0
|
|
||||||
/*
|
/*
|
||||||
* ToDo: Watchdog is not test fully, so exclude it for now
|
* ToDo: Watchdog is not test fully, so exclude it for now
|
||||||
*/
|
*/
|
||||||
#define CONFIG_HW_WATCHDOG 1 /* Use external HW-Watchdog */
|
#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
|
* For booting Linux, the board info and command line data
|
||||||
|
@ -268,13 +268,9 @@
|
|||||||
/*
|
/*
|
||||||
* Pass open firmware flat tree to kernel
|
* Pass open firmware flat tree to kernel
|
||||||
*/
|
*/
|
||||||
#define CONFIG_OF_FLAT_TREE 1
|
#define CONFIG_OF_LIBFDT 1
|
||||||
#define CONFIG_OF_BOARD_SETUP 1
|
#define CONFIG_OF_BOARD_SETUP 1
|
||||||
|
#define CONFIG_OF_STDOUT_VIA_ALIAS 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 CFG_64BIT_VSPRINTF 1
|
#define CFG_64BIT_VSPRINTF 1
|
||||||
#define CFG_64BIT_STRTOUL 1
|
#define CFG_64BIT_STRTOUL 1
|
||||||
|
@ -43,7 +43,13 @@
|
|||||||
#define CONFIG_SYS_CLK_FREQ ((in8(CFG_BCSR_BASE + 3) & 0x80) ? \
|
#define CONFIG_SYS_CLK_FREQ ((in8(CFG_BCSR_BASE + 3) & 0x80) ? \
|
||||||
33333333 : 33000000)
|
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
|
* 44x dcache supported is working now on sequoia, but we don't enable
|
||||||
* it yet since it needs further testing
|
* it yet since it needs further testing
|
||||||
@ -58,8 +64,13 @@
|
|||||||
* Base addresses -- Note these are effective addresses where the actual
|
* Base addresses -- Note these are effective addresses where the actual
|
||||||
* resources get mapped (not physical addresses).
|
* resources get mapped (not physical addresses).
|
||||||
*/
|
*/
|
||||||
|
#ifndef CONFIG_VIDEO
|
||||||
#define CFG_MONITOR_LEN (384 * 1024) /* Reserve 384 kiB for Monitor */
|
#define CFG_MONITOR_LEN (384 * 1024) /* Reserve 384 kiB for Monitor */
|
||||||
#define CFG_MALLOC_LEN (256 * 1024) /* Reserve 256 kiB for malloc() */
|
#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_TLB_FOR_BOOT_FLASH 0x0003
|
||||||
#define CFG_BOOT_BASE_ADDR 0xf0000000
|
#define CFG_BOOT_BASE_ADDR 0xf0000000
|
||||||
@ -571,4 +582,17 @@
|
|||||||
#define CONFIG_OF_LIBFDT 1
|
#define CONFIG_OF_LIBFDT 1
|
||||||
#define CONFIG_OF_BOARD_SETUP 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 */
|
#endif /* __CONFIG_H */
|
||||||
|
@ -333,7 +333,7 @@
|
|||||||
"nfsargs=setenv bootargs root=/dev/nfs rw" \
|
"nfsargs=setenv bootargs root=/dev/nfs rw" \
|
||||||
" nfsroot=${serverip}:${rootpath}\0" \
|
" nfsroot=${serverip}:${rootpath}\0" \
|
||||||
"ramargs=setenv bootargs root=/dev/ram rw" \
|
"ramargs=setenv bootargs root=/dev/ram rw" \
|
||||||
" ramdisk=${ramdisk_size}\0" \
|
" ramdisk_size=${ramdisk_size}\0" \
|
||||||
"addip=setenv bootargs ${bootargs} " \
|
"addip=setenv bootargs ${bootargs} " \
|
||||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
|
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
|
||||||
":${hostname}:${netdev}:off panic=1\0" \
|
":${hostname}:${netdev}:off panic=1\0" \
|
||||||
|
@ -121,12 +121,13 @@ static int display_banner(void)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef CFG_NO_FLASH
|
||||||
static void display_flash_config(ulong size)
|
static void display_flash_config(ulong size)
|
||||||
{
|
{
|
||||||
puts ("Flash: ");
|
puts ("Flash: ");
|
||||||
print_size (size, "\n");
|
print_size (size, "\n");
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int init_baudrate (void)
|
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",
|
debug ("Reserving %d Bytes for Global Data at: %08lx\n",
|
||||||
sizeof (gd_t), addr_sp);
|
sizeof (gd_t), addr_sp);
|
||||||
|
|
||||||
/* Reserve memory for boot params.
|
/* Reserve memory for boot params.
|
||||||
*/
|
*/
|
||||||
addr_sp -= CFG_BOOTPARAMS_LEN;
|
addr_sp -= CFG_BOOTPARAMS_LEN;
|
||||||
bd->bi_boot_params = addr_sp;
|
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)
|
void board_init_r (gd_t *id, ulong dest_addr)
|
||||||
{
|
{
|
||||||
cmd_tbl_t *cmdtp;
|
cmd_tbl_t *cmdtp;
|
||||||
|
#ifndef CFG_NO_FLASH
|
||||||
ulong size;
|
ulong size;
|
||||||
|
#endif
|
||||||
extern void malloc_bin_reloc (void);
|
extern void malloc_bin_reloc (void);
|
||||||
#ifndef CFG_ENV_IS_NOWHERE
|
#ifndef CFG_ENV_IS_NOWHERE
|
||||||
extern char * env_name_spec;
|
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
|
* 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;
|
ulong addr;
|
||||||
|
|
||||||
addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
|
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;
|
env_name_spec += gd->reloc_off;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
bd = gd->bd;
|
||||||
|
|
||||||
|
#ifndef CFG_NO_FLASH
|
||||||
/* configure available FLASH banks */
|
/* configure available FLASH banks */
|
||||||
size = flash_init();
|
size = flash_init();
|
||||||
display_flash_config (size);
|
display_flash_config (size);
|
||||||
|
|
||||||
bd = gd->bd;
|
|
||||||
bd->bi_flashstart = CFG_FLASH_BASE;
|
|
||||||
bd->bi_flashsize = size;
|
bd->bi_flashsize = size;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bd->bi_flashstart = CFG_FLASH_BASE;
|
||||||
#if CFG_MONITOR_BASE == CFG_FLASH_BASE
|
#if CFG_MONITOR_BASE == CFG_FLASH_BASE
|
||||||
bd->bi_flashoffset = monitor_flash_len; /* reserved area for U-Boot */
|
bd->bi_flashoffset = monitor_flash_len; /* reserved area for U-Boot */
|
||||||
#else
|
#else
|
||||||
|
@ -23,6 +23,9 @@
|
|||||||
|
|
||||||
#include <common.h>
|
#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)
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
** This is still under construction!
|
** This is still under construction!
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <getopt.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -216,15 +218,10 @@ int image_load_tga (image_t * image, char *filename)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int image_free (image_t * image)
|
void image_free (image_t * image)
|
||||||
{
|
{
|
||||||
if (image->data != NULL)
|
free (image->data);
|
||||||
free (image->data);
|
free (image->palette);
|
||||||
|
|
||||||
if (image->palette != NULL)
|
|
||||||
free (image->palette);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int image_rgb_to_yuyv (image_t * rgb_image, image_t * yuyv_image)
|
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
|
#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 main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
int c;
|
||||||
|
bool use_rgb = false;
|
||||||
char inputfile[DEF_FILELEN],
|
char inputfile[DEF_FILELEN],
|
||||||
outputfile[DEF_FILELEN], varname[DEF_FILELEN];
|
outputfile[DEF_FILELEN], varname[DEF_FILELEN];
|
||||||
|
|
||||||
image_t rgb_logo, yuyv_logo;
|
image_t rgb_logo, yuyv_logo;
|
||||||
|
|
||||||
switch (argc) {
|
while ((c = getopt(argc, argv, "hr")) > 0) {
|
||||||
case 2:
|
switch (c) {
|
||||||
case 3:
|
case 'h':
|
||||||
case 4:
|
usage (0);
|
||||||
strcpy (inputfile, argv[1]);
|
break;
|
||||||
|
case 'r':
|
||||||
if (argc > 2)
|
use_rgb = true;
|
||||||
strcpy (varname, argv[2]);
|
puts ("Using 24-bit RGB Output Fromat");
|
||||||
else {
|
break;
|
||||||
char *dot = strchr (inputfile, '.');
|
default:
|
||||||
int pos = dot - inputfile;
|
usage (1);
|
||||||
|
break;
|
||||||
if (dot) {
|
|
||||||
strncpy (varname, inputfile, pos);
|
|
||||||
varname[pos] = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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'...",
|
printf ("Doing '%s' (%s) from '%s'...",
|
||||||
outputfile, varname, inputfile);
|
outputfile, varname, inputfile);
|
||||||
|
|
||||||
@ -417,20 +431,23 @@ int main (int argc, char *argv[])
|
|||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert it to YUYV format */
|
/* Convert it to YUYV format if wanted */
|
||||||
|
|
||||||
printf ("C");
|
if (!use_rgb) {
|
||||||
image_rgb_to_yuyv (&rgb_logo, &yuyv_logo);
|
printf ("C");
|
||||||
|
image_rgb_to_yuyv (&rgb_logo, &yuyv_logo);
|
||||||
|
}
|
||||||
|
|
||||||
/* Save it into a header format */
|
/* Save it into a header format */
|
||||||
|
|
||||||
printf ("S");
|
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 */
|
/* Free original image and copy */
|
||||||
|
|
||||||
image_free (&rgb_logo);
|
image_free (&rgb_logo);
|
||||||
image_free (&yuyv_logo);
|
if (!use_rgb)
|
||||||
|
image_free (&yuyv_logo);
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
|
@ -7,11 +7,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Only process values prefixed with #define CONFIG_
|
# 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
|
# Strip the #define prefix
|
||||||
s/#define *//;
|
s/#define *//;
|
||||||
# Change to form CONFIG_*=VALUE
|
# Change to form CONFIG_*=VALUE
|
||||||
s/ \+/=/;
|
s/ */=/;
|
||||||
# Drop trailing spaces
|
# Drop trailing spaces
|
||||||
s/ *$//;
|
s/ *$//;
|
||||||
# drop quotes around string values
|
# drop quotes around string values
|
||||||
|
Loading…
x
Reference in New Issue
Block a user