summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG469
-rw-r--r--CREDITS1
-rw-r--r--MAINTAINERS2
-rw-r--r--Makefile10
-rw-r--r--board/apollon/mem.c2
-rw-r--r--board/cm5200/fwupdate.h2
-rw-r--r--board/freescale/mpc8610hpcd/mpc8610hpcd.c7
-rw-r--r--board/freescale/mpc8641hpcn/mpc8641hpcn.c24
-rw-r--r--board/mgsuvd/mgsuvd.c2
-rw-r--r--board/netstal/common/nm.h1
-rw-r--r--board/netstal/common/nm_bsp.c1
-rw-r--r--board/qemu-mips/Makefile2
-rw-r--r--board/qemu-mips/flash.c40
-rw-r--r--board/sbc8641d/sbc8641d.c41
-rw-r--r--common/cmd_nvedit.c10
-rw-r--r--config.mk6
-rw-r--r--cpu/arm926ejs/davinci/timer.c18
-rw-r--r--cpu/mcf52x2/config.mk10
-rw-r--r--cpu/mcf52x2/interrupts.c2
-rw-r--r--cpu/mips/config.mk2
-rw-r--r--cpu/mpc86xx/Makefile17
-rw-r--r--cpu/mpc86xx/cpu.c61
-rw-r--r--cpu/mpc86xx/cpu_init.c1
-rw-r--r--cpu/mpc86xx/fdt.c35
-rw-r--r--cpu/mpc86xx/spd_sdram.c10
-rw-r--r--cpu/ppc4xx/config.mk2
-rw-r--r--doc/README.mpc8610hpcd6
-rw-r--r--drivers/hwmon/lm75.c8
-rw-r--r--drivers/mtd/cfi_flash.c7
-rw-r--r--drivers/net/uli526x.c10
-rw-r--r--include/api_public.h51
-rw-r--r--include/asm-arm/types.h6
-rw-r--r--include/asm-avr32/types.h6
-rw-r--r--include/asm-blackfin/types.h6
-rw-r--r--include/asm-m68k/types.h6
-rw-r--r--include/asm-mips/types.h6
-rw-r--r--include/asm-ppc/fsl_law.h1
-rw-r--r--include/asm-ppc/immap_86xx.h12
-rw-r--r--include/asm-ppc/mmu.h1
-rw-r--r--include/asm-ppc/types.h6
-rw-r--r--include/asm-sh/types.h6
-rw-r--r--include/configs/AmigaOneG3SE.h2
-rw-r--r--include/configs/MPC8610HPCD.h2
-rw-r--r--include/configs/NX823.h2
-rw-r--r--include/configs/lwmon5.h3
-rw-r--r--include/configs/sbc8641d.h10
-rw-r--r--include/configs/sequoia.h26
-rw-r--r--include/configs/zeus.h2
-rw-r--r--lib_mips/board.c16
-rw-r--r--lib_ppc/time.c14
-rw-r--r--tools/easylogo/easylogo.c125
-rw-r--r--tools/scripts/define2mk.sed4
52 files changed, 833 insertions, 289 deletions
diff --git a/CHANGELOG b/CHANGELOG
index a5b570f..a4d7118 100644
--- a/CHANGELOG
+++ b/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
Author: Mike Nuss <mike@terascala.com>
Date: Wed Feb 6 11:10:11 2008 -0500
diff --git a/CREDITS b/CREDITS
index 7fdb8b3..1627dc7 100644
--- a/CREDITS
+++ b/CREDITS
@@ -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/
-
diff --git a/MAINTAINERS b/MAINTAINERS
index 273bfac..dc13580 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -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
diff --git a/Makefile b/Makefile
index e46ea85..bacea3e 100644
--- a/Makefile
+++ b/Makefile
@@ -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 ; \
diff --git a/board/apollon/mem.c b/board/apollon/mem.c
index c0edca5..0211c6a 100644
--- a/board/apollon/mem.c
+++ b/board/apollon/mem.c
@@ -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 */
diff --git a/board/cm5200/fwupdate.h b/board/cm5200/fwupdate.h
index 4e3f1e1..3bbcbdc 100644
--- a/board/cm5200/fwupdate.h
+++ b/board/cm5200/fwupdate.h
@@ -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);
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index 264e959..16acbbe 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -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;
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index 8278789..0e451dc 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -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;
diff --git a/board/mgsuvd/mgsuvd.c b/board/mgsuvd/mgsuvd.c
index dd7d823..9fd164b 100644
--- a/board/mgsuvd/mgsuvd.c
+++ b/board/mgsuvd/mgsuvd.c
@@ -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);
diff --git a/board/netstal/common/nm.h b/board/netstal/common/nm.h
index 9357f3a..3dff1d6 100644
--- a/board/netstal/common/nm.h
+++ b/board/netstal/common/nm.h
@@ -42,4 +42,3 @@ void show_sdram_registers(void);
#endif
long int init_ppc405_sdram(unsigned int dram_size);
#endif
-
diff --git a/board/netstal/common/nm_bsp.c b/board/netstal/common/nm_bsp.c
index 89c697c..86f491b 100644
--- a/board/netstal/common/nm_bsp.c
+++ b/board/netstal/common/nm_bsp.c
@@ -133,4 +133,3 @@ void common_misc_init_r(void)
saveenv();
}
}
-
diff --git a/board/qemu-mips/Makefile b/board/qemu-mips/Makefile
index 23be447..837b6b9 100644
--- a/board/qemu-mips/Makefile
+++ b/board/qemu-mips/Makefile
@@ -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)
diff --git a/board/qemu-mips/flash.c b/board/qemu-mips/flash.c
deleted file mode 100644
index e988272..0000000
--- a/board/qemu-mips/flash.c
+++ /dev/null
@@ -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);
-}
diff --git a/board/sbc8641d/sbc8641d.c b/board/sbc8641d/sbc8641d.c
index 7adc42f..78656e9 100644
--- a/board/sbc8641d/sbc8641d.c
+++ b/board/sbc8641d/sbc8641d.c
@@ -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
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index dd263b6..cab727f 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -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",
diff --git a/config.mk b/config.mk
index ee057b5..22d3398 100644
--- a/config.mk
+++ b/config.mk
@@ -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; \
diff --git a/cpu/arm926ejs/davinci/timer.c b/cpu/arm926ejs/davinci/timer.c
index 4a1a54d..8bb8b45 100644
--- a/cpu/arm926ejs/davinci/timer.c
+++ b/cpu/arm926ejs/davinci/timer.c
@@ -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)
diff --git a/cpu/mcf52x2/config.mk b/cpu/mcf52x2/config.mk
index f97157d..c3899c5 100644
--- a/cpu/mcf52x2/config.mk
+++ b/cpu/mcf52x2/config.mk
@@ -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)
diff --git a/cpu/mcf52x2/interrupts.c b/cpu/mcf52x2/interrupts.c
index 2ccbde5..9167cec 100644
--- a/cpu/mcf52x2/interrupts.c
+++ b/cpu/mcf52x2/interrupts.c
@@ -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 */
diff --git a/cpu/mips/config.mk b/cpu/mips/config.mk
index ad03bd6..b505a42 100644
--- a/cpu/mips/config.mk
+++ b/cpu/mips/config.mk
@@ -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 \
diff --git a/cpu/mpc86xx/Makefile b/cpu/mpc86xx/Makefile
index 6d9300e..537f62a 100644
--- a/cpu/mpc86xx/Makefile
+++ b/cpu/mpc86xx/Makefile
@@ -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)
diff --git a/cpu/mpc86xx/cpu.c b/cpu/mpc86xx/cpu.c
index e1b3c52..bf4e651 100644
--- a/cpu/mpc86xx/cpu.c
+++ b/cpu/mpc86xx/cpu.c
@@ -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
diff --git a/cpu/mpc86xx/cpu_init.c b/cpu/mpc86xx/cpu_init.c
index ab5906d..0efd855 100644
--- a/cpu/mpc86xx/cpu_init.c
+++ b/cpu/mpc86xx/cpu_init.c
@@ -28,6 +28,7 @@
#include <common.h>
#include <mpc86xx.h>
+#include <asm/fsl_law.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/cpu/mpc86xx/fdt.c b/cpu/mpc86xx/fdt.c
new file mode 100644
index 0000000..379306e
--- /dev/null
+++ b/cpu/mpc86xx/fdt.c
@@ -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
+}
diff --git a/cpu/mpc86xx/spd_sdram.c b/cpu/mpc86xx/spd_sdram.c
index e501caf..60a7818 100644
--- a/cpu/mpc86xx/spd_sdram.c
+++ b/cpu/mpc86xx/spd_sdram.c
@@ -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)
@@ -1193,7 +1196,6 @@ spd_sdram(void)
#else
printf("Cache-line ");
#endif
-#endif
printf("Interleaved");
return memsize_total * 1024 * 1024;
} else {
diff --git a/cpu/ppc4xx/config.mk b/cpu/ppc4xx/config.mk
index 311c97b..baa97a4 100644
--- a/cpu/ppc4xx/config.mk
+++ b/cpu/ppc4xx/config.mk
@@ -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
diff --git a/doc/README.mpc8610hpcd b/doc/README.mpc8610hpcd
index 949dcb2..31a9af3 100644
--- a/doc/README.mpc8610hpcd
+++ b/doc/README.mpc8610hpcd
@@ -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.
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index 63f3b75..e29b294 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -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 */
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index eb509f5..439c950 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -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++) {
diff --git a/drivers/net/uli526x.c b/drivers/net/uli526x.c
index 8460f69..d64845f 100644
--- a/drivers/net/uli526x.c
+++ b/drivers/net/uli526x.c
@@ -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);
diff --git a/include/api_public.h b/include/api_public.h
index 690975e..9bc0501 100644
--- a/include/api_public.h
+++ b/include/api_public.h
@@ -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_
diff --git a/include/asm-arm/types.h b/include/asm-arm/types.h
index 13e9806..e56f19d 100644
--- a/include/asm-arm/types.h
+++ b/include/asm-arm/types.h
@@ -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
/*
diff --git a/include/asm-avr32/types.h b/include/asm-avr32/types.h
index e6c65d9..2dbea4b 100644
--- a/include/asm-avr32/types.h
+++ b/include/asm-avr32/types.h
@@ -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__ */
diff --git a/include/asm-blackfin/types.h b/include/asm-blackfin/types.h
index 665a419..9fd8e03 100644
--- a/include/asm-blackfin/types.h
+++ b/include/asm-blackfin/types.h
@@ -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
/*
diff --git a/include/asm-m68k/types.h b/include/asm-m68k/types.h
index e673cb0..e944d3f 100644
--- a/include/asm-m68k/types.h
+++ b/include/asm-m68k/types.h
@@ -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 {
diff --git a/include/asm-mips/types.h b/include/asm-mips/types.h
index e757e22..707cbf4 100644
--- a/include/asm-mips/types.h
+++ b/include/asm-mips/types.h
@@ -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
diff --git a/include/asm-ppc/fsl_law.h b/include/asm-ppc/fsl_law.h
index 23bd505..e955c75 100644
--- a/include/asm-ppc/fsl_law.h
+++ b/include/asm-ppc/fsl_law.h
@@ -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 }
diff --git a/include/asm-ppc/immap_86xx.h b/include/asm-ppc/immap_86xx.h
index a15c6ec..7526061 100644
--- a/include/asm-ppc/immap_86xx.h
+++ b/include/asm-ppc/immap_86xx.h
@@ -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];
diff --git a/include/asm-ppc/mmu.h b/include/asm-ppc/mmu.h
index ec1ca53..5af22af 100644
--- a/include/asm-ppc/mmu.h
+++ b/include/asm-ppc/mmu.h
@@ -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 }
diff --git a/include/asm-ppc/types.h b/include/asm-ppc/types.h
index 4ebbb9e..7adf145 100644
--- a/include/asm-ppc/types.h
+++ b/include/asm-ppc/types.h
@@ -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 {
diff --git a/include/asm-sh/types.h b/include/asm-sh/types.h
index fd00dbb..7ba69d9 100644
--- a/include/asm-sh/types.h
+++ b/include/asm-sh/types.h
@@ -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__ */
diff --git a/include/configs/AmigaOneG3SE.h b/include/configs/AmigaOneG3SE.h
index d914dcc..a992498 100644
--- a/include/configs/AmigaOneG3SE.h
+++ b/include/configs/AmigaOneG3SE.h
@@ -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
diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h
index 3920147..9e70198 100644
--- a/include/configs/MPC8610HPCD.h
+++ b/include/configs/MPC8610HPCD.h
@@ -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
diff --git a/include/configs/NX823.h b/include/configs/NX823.h
index 524aa06..da1c173 100644
--- a/include/configs/NX823.h
+++ b/include/configs/NX823.h
@@ -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"
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index d8a2267..97e8bf1 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -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
diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h
index 1991a8c..18cedff 100644
--- a/include/configs/sbc8641d.h
+++ b/include/configs/sbc8641d.h
@@ -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
diff --git a/include/configs/sequoia.h b/include/configs/sequoia.h
index cd0ae6d..52952a9 100644
--- a/include/configs/sequoia.h
+++ b/include/configs/sequoia.h
@@ -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 */
diff --git a/include/configs/zeus.h b/include/configs/zeus.h
index 810a528..cd120df 100644
--- a/include/configs/zeus.h
+++ b/include/configs/zeus.h
@@ -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" \
diff --git a/lib_mips/board.c b/lib_mips/board.c
index c1a0acf..1645f2c 100644
--- a/lib_mips/board.c
+++ b/lib_mips/board.c
@@ -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->bi_flashsize = size;
+#endif
- bd = gd->bd;
bd->bi_flashstart = CFG_FLASH_BASE;
- bd->bi_flashsize = size;
#if CFG_MONITOR_BASE == CFG_FLASH_BASE
bd->bi_flashoffset = monitor_flash_len; /* reserved area for U-Boot */
#else
diff --git a/lib_ppc/time.c b/lib_ppc/time.c
index 51e8e840..2649d5f 100644
--- a/lib_ppc/time.c
+++ b/lib_ppc/time.c
@@ -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);
-
- wait_ticks (ticks);
+ ulong ticks, kv;
+
+ do {
+ kv = usec > CONFIG_WD_PERIOD ? CONFIG_WD_PERIOD : usec;
+ ticks = usec2ticks (kv);
+ wait_ticks (ticks);
+ usec -= kv;
+ } while(usec);
}
/* ------------------------------------------------------------------------- */
diff --git a/tools/easylogo/easylogo.c b/tools/easylogo/easylogo.c
index 080bea9..c20e6a7 100644
--- a/tools/easylogo/easylogo.c
+++ b/tools/easylogo/easylogo.c
@@ -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;
- }
- }
-
- 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);
- }
+ 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;
}
- 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");
+ 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';
+ }
- return -1;
+ 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");
diff --git a/tools/scripts/define2mk.sed b/tools/scripts/define2mk.sed
index 6464627..af40bfa 100644
--- a/tools/scripts/define2mk.sed
+++ b/tools/scripts/define2mk.sed
@@ -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