diff options
52 files changed, 830 insertions, 286 deletions
| @@ -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 @@ -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 273bfacf2..dc135802e 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 @@ -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 c0edca56e..0211c6ad2 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 4e3f1e164..3bbcbdc3c 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 264e95962..16acbbe8a 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 827878939..0e451dc35 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 dd7d8236d..9fd164b96 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 9357f3aff..3dff1d65b 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 89c697cab..86f491b34 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 23be44742..837b6b9d8 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 e98827201..000000000 --- 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 7adc42fae..78656e902 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 dd263b666..cab727f76 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", @@ -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 4a1a54dcf..8bb8b4571 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 f97157d04..c3899c507 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 2ccbde587..9167cec69 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 ad03bd61b..b505a4255 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 6d9300e22..537f62a32 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 e1b3c52dc..bf4e651aa 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 ab5906dbc..0efd855a3 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 000000000..379306ea4 --- /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 e501caf45..60a781898 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 311c97b73..baa97a412 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 949dcb265..31a9af3fe 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 63f3b7551..e29b29440 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 eb509f555..439c950cf 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 8460f6928..d64845fec 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 690975ee4..9bc050133 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 13e9806bd..e56f19d29 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 e6c65d917..2dbea4bad 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 665a419f2..9fd8e0336 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 e673cb085..e944d3fd1 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 e757e228a..707cbf42d 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 23bd5057a..e955c756e 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 a15c6ec12..7526061d5 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 ec1ca53cc..5af22af99 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 4ebbb9e02..7adf1450f 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 fd00dbb82..7ba69d970 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 d914dccfb..a992498dc 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 39201474e..9e70198e4 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 524aa0621..da1c173a4 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 d8a2267b9..97e8bf1c5 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 1991a8cc8..18cedff92 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 cd0ae6d1a..52952a9da 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 810a528d2..cd120dfbf 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 c1a0acf46..1645f2c7e 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 51e8e8406..2649d5ffd 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); +	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);  }  /* ------------------------------------------------------------------------- */ diff --git a/tools/easylogo/easylogo.c b/tools/easylogo/easylogo.c index 080bea9bb..c20e6a717 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; -			} +	while ((c = getopt(argc, argv, "hr")) > 0) { +		switch (c) { +		case 'h': +			usage (0); +			break; +		case 'r': +			use_rgb = true; +			puts ("Using 24-bit RGB Output Fromat"); +			break; +		default: +			usage (1); +			break;  		} +	} -		if (argc > 3) -			strcpy (outputfile, argv[3]); -		else { -			char *dot = strchr (varname, '.'); -			int pos = dot - varname; - -			if (dot) { -				char app[DEF_FILELEN]; +	c = argc - optind; +	if (c > 4 || c < 1) +		usage (1); -				strncpy (app, varname, pos); -				app[pos] = 0; -				sprintf (outputfile, "%s.h", app); -			} -		} -		break; +	strcpy (inputfile, argv[optind]); -	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"); +	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 6464627ea..af40bfaf2 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 |