]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge branch 'master' of git://www.denx.de/git/u-boot into new-image
authorMarian Balakowicz <m8@semihalf.com>
Fri, 29 Feb 2008 12:56:44 +0000 (13:56 +0100)
committerMarian Balakowicz <m8@semihalf.com>
Fri, 29 Feb 2008 12:56:44 +0000 (13:56 +0100)
52 files changed:
CHANGELOG
CREDITS
MAINTAINERS
Makefile
board/apollon/mem.c
board/cm5200/fwupdate.h
board/freescale/mpc8610hpcd/mpc8610hpcd.c
board/freescale/mpc8641hpcn/mpc8641hpcn.c
board/mgsuvd/mgsuvd.c
board/netstal/common/nm.h
board/netstal/common/nm_bsp.c
board/qemu-mips/Makefile
board/qemu-mips/flash.c [deleted file]
board/sbc8641d/sbc8641d.c
common/cmd_nvedit.c
config.mk
cpu/arm926ejs/davinci/timer.c
cpu/mcf52x2/config.mk
cpu/mcf52x2/interrupts.c
cpu/mips/config.mk
cpu/mpc86xx/Makefile
cpu/mpc86xx/cpu.c
cpu/mpc86xx/cpu_init.c
cpu/mpc86xx/fdt.c [new file with mode: 0644]
cpu/mpc86xx/spd_sdram.c
cpu/ppc4xx/config.mk
doc/README.mpc8610hpcd
drivers/hwmon/lm75.c
drivers/mtd/cfi_flash.c
drivers/net/uli526x.c
include/api_public.h
include/asm-arm/types.h
include/asm-avr32/types.h
include/asm-blackfin/types.h
include/asm-m68k/types.h
include/asm-mips/types.h
include/asm-ppc/fsl_law.h
include/asm-ppc/immap_86xx.h
include/asm-ppc/mmu.h
include/asm-ppc/types.h
include/asm-sh/types.h
include/configs/AmigaOneG3SE.h
include/configs/MPC8610HPCD.h
include/configs/NX823.h
include/configs/lwmon5.h
include/configs/sbc8641d.h
include/configs/sequoia.h
include/configs/zeus.h
lib_mips/board.c
lib_ppc/time.c
tools/easylogo/easylogo.c
tools/scripts/define2mk.sed

index a5b570ffcec9ce45d1e979f62d9d446f944291ae..a4d7118ed8eea2b772f566df7c121a30c5df4542 100644 (file)
--- 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 7fdb8b3dcf1ba53a627f605e2ac4b65e2ea34ef9..1627dc7f0af0808143ef702c750045121da6cd1a 100644 (file)
--- 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/
-
index 273bfacf211ed6527fc14232414fcfd8bdabf3ae..dc135802efcd53975dedc5c03e7b24267ed37086 100644 (file)
@@ -351,7 +351,7 @@ Travis Sawyer (travis.sawyer@sandburst.com>
 
 Heiko Schocher <hs@denx.de>
 
-       ids8247                 MPC8272
+       ids8247                 MPC8247
        jupiter                 MPC5200
        mgcoge                  MPC8247
        mgsuvd                  MPC852
index e46ea8502cb5613f231272093d23010e618a96bd..bacea3e3d318610d36e8bde085e6955a9d35fbd6 100644 (file)
--- 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 ; \
index c0edca56e19f618a901454de5745346000eef49a..0211c6ad2ef7bb92effa3b52549a1e7c036adde7 100644 (file)
@@ -198,6 +198,8 @@ void gpmc_init(void)
        sdelay(2000);
 
        /* setup cs2 */
+       __raw_writel(0x0, GPMC_CONFIG7_2);      /* disable current map */
+       sdelay(1000);
        __raw_writel(APOLLON_24XX_GPMC_CONFIG1_0 | mux | mtype | mwidth,
                     GPMC_CONFIG1_2);
        /* It's same as cs 0 */
index 4e3f1e164aa74a828e750dd464b3189de366985f..3bbcbdc3ca2e67a11477d72daa6f90c596d87d80 100644 (file)
@@ -39,7 +39,7 @@
 #define FW_DIR         "nx-fw"
 #define RESCUE_IMAGE   "nxrs.img"
 #define LOAD_ADDR      0x400000
-#define RS_BOOTARGS    "ramdisk=8192K"
+#define RS_BOOTARGS    "ramdisk_size=8192K"
 
 /* Main function for fwupdate */
 void cm5200_fwupdate(void);
index 264e95962c70ff77c6f3e8377d6a43e32c0c1bd3..16acbbe8ad52b61767c0b2166b56a011f8f6b903 100644 (file)
@@ -280,13 +280,14 @@ void pci_init_board(void)
        volatile immap_t *immap = (immap_t *) CFG_CCSRBAR;
        volatile ccsr_gur_t *gur = &immap->im_gur;
        uint devdisr = gur->devdisr;
-       uint io_sel = (gur->pordevsr & MPC85xx_PORDEVSR_IO_SEL) >> 19;
-       uint host_agent = (gur->porbmsr & MPC85xx_PORBMSR_HA) >> 16;
+       uint io_sel = (gur->pordevsr & MPC8610_PORDEVSR_IO_SEL)
+               >> MPC8610_PORDEVSR_IO_SEL_SHIFT;
+       uint host_agent = (gur->porbmsr & MPC8610_PORBMSR_HA)
+               >> MPC8610_PORBMSR_HA_SHIFT;
 
        printf( " pci_init_board: devdisr=%x, io_sel=%x, host_agent=%x\n",
                devdisr, io_sel, host_agent);
 
-
 #ifdef CONFIG_PCIE1
  {
        volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) CFG_PCIE1_ADDR;
index 827878939d2f6f0f3bb2025ca485993dc4157381..0e451dc35a99bc7e4706b4b17ec3217370636604 100644 (file)
@@ -206,7 +206,8 @@ void pci_init_board(void)
        volatile immap_t *immap = (immap_t *) CFG_CCSRBAR;
        volatile ccsr_gur_t *gur = &immap->im_gur;
        uint devdisr = gur->devdisr;
-       uint io_sel = (gur->pordevsr & MPC86xx_PORDEVSR_IO_SEL) >> 16;
+       uint io_sel = (gur->pordevsr & MPC8641_PORDEVSR_IO_SEL)
+               >> MPC8641_PORDEVSR_IO_SEL_SHIFT;
 
 #ifdef CONFIG_PCI1
 {
@@ -214,7 +215,8 @@ void pci_init_board(void)
        extern void fsl_pci_init(struct pci_controller *hose);
        struct pci_controller *hose = &pci1_hose;
 #ifdef DEBUG
-       uint host1_agent = (gur->porbmsr & MPC86xx_PORBMSR_HA) >> 17;
+       uint host1_agent = (gur->porbmsr & MPC8641_PORBMSR_HA)
+               >> MPC8641_PORBMSR_HA_SHIFT;
        uint pex1_agent = (host1_agent == 0) || (host1_agent == 1);
 #endif
        if ((io_sel == 2 || io_sel == 3 || io_sel == 5
@@ -321,28 +323,16 @@ void pci_init_board(void)
 
 }
 
+
 #if defined(CONFIG_OF_BOARD_SETUP)
+
 void
 ft_board_setup(void *blob, bd_t *bd)
 {
        int node, tmp[2];
        const char *path;
 
-       fdt_fixup_ethernet(blob, bd);
-
-       do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
-                            "timebase-frequency", bd->bi_busfreq / 4, 1);
-       do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
-                            "bus-frequency", bd->bi_busfreq, 1);
-       do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
-                            "clock-frequency", bd->bi_intfreq, 1);
-       do_fixup_by_prop_u32(blob, "device_type", "soc", 4,
-                            "bus-frequency", bd->bi_busfreq, 1);
-
-       do_fixup_by_compat_u32(blob, "ns16550",
-                              "clock-frequency", bd->bi_busfreq, 1);
-
-       fdt_fixup_memory(blob, bd->bi_memstart, bd->bi_memsize);
+       ft_cpu_setup(blob, bd);
 
        node = fdt_path_offset(blob, "/aliases");
        tmp[0] = 0;
index dd7d8236d5742b6101a41d31bbb5958ac49e697c..9fd164b96ecbf721c54bf3ef9ed0ecdf7bf4b97d 100644 (file)
@@ -193,7 +193,7 @@ void ft_blob_update(void *blob, bd_t *bd)
                "err:%s\n", fdt_strerror(nodeoffset));
        }
        /* MAC Adresse */
-       nodeoffset = fdt_path_offset (blob, "/soc866/cpm/scc");
+       nodeoffset = fdt_path_offset (blob, "/soc866/cpm/ethernet");
        if (nodeoffset >= 0) {
                ret = fdt_setprop(blob, nodeoffset, "mac-address", bd->bi_enetaddr,
                                        sizeof(uchar) * 6);
index 9357f3aff2206d634c395db58997832b13885488..3dff1d65b3265fcb71214bbcfde087a3e0697add 100644 (file)
@@ -42,4 +42,3 @@ void show_sdram_registers(void);
 #endif
 long int init_ppc405_sdram(unsigned int dram_size);
 #endif
-
index 89c697cabe9bda887529449f72b4e50812b9917f..86f491b34ec49e2564172ef8502d2130c600f8df 100644 (file)
@@ -133,4 +133,3 @@ void common_misc_init_r(void)
                saveenv();
        }
 }
-
index 23be4474204d07a838d0f131be26736c78e89246..837b6b9d88d0c134c0a4bfcebb5bd64438028d49 100644 (file)
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 LIB    = $(obj)lib$(BOARD).a
 
-COBJS  = $(BOARD).o flash.o
+COBJS  = $(BOARD).o
 SOBJS  = lowlevel_init.o
 
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
diff --git a/board/qemu-mips/flash.c b/board/qemu-mips/flash.c
deleted file mode 100644 (file)
index e988272..0000000
+++ /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);
-}
index 7adc42faec101539f6d6e056224e9c72269e5b8c..78656e9024af207526c309f18d7878ba55917f62 100644 (file)
 #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
index dd263b6666318b60db83de3de767e0ec8f0501fa..cab727f76ca21dd9cbf79836886b24f04bd5c943 100644 (file)
@@ -550,10 +550,11 @@ int getenv_r (char *name, char *buf, unsigned len)
        return (-1);
 }
 
-#if defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \
+#if ((defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \
     || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_FLASH)) \
     || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_NAND)) \
-    || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))
+    || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))) \
+    && !defined(CFG_ENV_IS_NOWHERE))
 int do_saveenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
        extern char * env_name_spec;
@@ -605,10 +606,11 @@ U_BOOT_CMD(
        "    - delete environment variable 'name'\n"
 );
 
-#if defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \
+#if ((defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) \
     || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_FLASH)) \
     || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_NAND)) \
-    || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))
+    || (defined(CONFIG_CMD_ENV) && defined(CONFIG_CMD_ONENAND))) \
+    && !defined(CFG_ENV_IS_NOWHERE))
 U_BOOT_CMD(
        saveenv, 1, 0,  do_saveenv,
        "saveenv - save environment variables to persistent storage\n",
index ee057b5c735ff11049d00820dcc98c892b9a0fde..22d3398ca4f1bd30caafcc60b8060140198068fe 100644 (file)
--- 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; \
index 4a1a54dcf1777675707a8610817c44df8f66b28c..8bb8b45713a2dc078536bf7b899df78224d4fa2a 100644 (file)
@@ -61,10 +61,12 @@ davinci_timer               *timer = (davinci_timer *)CFG_TIMERBASE;
 #define TIMER_LOAD_VAL (CFG_HZ_CLOCK / CFG_HZ)
 #define READ_TIMER     timer->tim34
 
-/* Timer runs with CFG_HZ_CLOCK, currently 27MHz. To avoid wrap 
-   around of timestamp already after min ~159s, divide it, e.g. by 16.
-   timestamp will then wrap around all min ~42min */
-#define DIV(x)          ((x) >> 4)
+/*
+ * Timer runs with CFG_HZ_CLOCK, currently 27MHz. To avoid wrap
+ * around of timestamp already after min ~159s, divide it, e.g. by 16.
+ * timestamp will then wrap around all min ~42min
+ */
+#define DIV(x)         ((x) >> 4)
 
 static ulong timestamp;
 static ulong lastinc;
@@ -106,20 +108,20 @@ void udelay(unsigned long usec)
 
 void reset_timer_masked(void)
 {
-        lastinc = DIV(READ_TIMER);
+       lastinc = DIV(READ_TIMER);
        timestamp = 0;
 }
 
 ulong get_timer_raw(void)
 {
-        ulong now = DIV(READ_TIMER);
+       ulong now = DIV(READ_TIMER);
 
        if (now >= lastinc) {
                /* normal mode */
                timestamp += now - lastinc;
        } else {
                /* overflow ... */
-               timestamp += now + DIV(TIMER_LOAD_VAL) - lastinc;
+               timestamp += now + DIV(TIMER_LOAD_VAL) - lastinc;
        }
        lastinc = now;
        return timestamp;
@@ -127,7 +129,7 @@ ulong get_timer_raw(void)
 
 ulong get_timer_masked(void)
 {
-        return(get_timer_raw() / DIV(TIMER_LOAD_VAL));
+       return(get_timer_raw() / DIV(TIMER_LOAD_VAL));
 }
 
 void udelay_masked(unsigned long usec)
index f97157d041eee31fab996511348e3272f2c138bc..c3899c507ec9e12e4a5efed15193a45f1ec7d7ea 100644 (file)
 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)
index 2ccbde587e59169c368b7d728caf4bac28a62a0b..9167cec69884cb711541e804e09ef36cb4155a0b 100644 (file)
@@ -77,7 +77,7 @@ void dtimer_intr_setup(void)
        volatile int0_t *intp = (int0_t *) (CFG_INTR_BASE);
 
        intp->icr0[CFG_TMRINTR_NO] = CFG_TMRINTR_PRI;
-       intp->imrl0 &= ~0xFFFFFFFE;
+       intp->imrl0 &= 0xFFFFFFFE;
        intp->imrl0 &= ~CFG_TMRINTR_MASK;
 }
 #endif                         /* CONFIG_MCFTMR */
index ad03bd61ba5dbcbad2b154f39fb8efe4a7a4b9cb..b505a42550c2845e035ae976d711088a25346e71 100644 (file)
@@ -21,7 +21,7 @@
 # MA 02111-1307 USA
 #
 v=$(shell $(AS) --version |grep "GNU assembler" |cut -d. -f2)
-MIPSFLAGS=$(shell \
+MIPSFLAGS:=$(shell \
 if [ "$v" -lt "14" ]; then \
        echo "-mcpu=4kc"; \
 else \
index 6d9300e22e7e18e7b71d09f4c4ba56d2ae2efc7b..537f62a3238688d8e80070456a0960bfddf5e513 100644 (file)
@@ -28,13 +28,20 @@ include $(TOPDIR)/config.mk
 
 LIB    = $(obj)lib$(CPU).a
 
-START  = start.o #resetvec.o
+START  = start.o
 SOBJS  = cache.o
-COBJS  = traps.o cpu.o cpu_init.o speed.o interrupts.o \
-         spd_sdram.o
 
-SRCS   := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
+COBJS-y        += traps.o
+COBJS-y        += cpu.o
+COBJS-y        += cpu_init.o
+COBJS-y        += speed.o
+COBJS-y        += interrupts.o
+COBJS-y        += spd_sdram.o
+
+COBJS-$(CONFIG_OF_LIBFDT) += fdt.o
+
+SRCS   := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 START  := $(addprefix $(obj),$(START))
 
 all:   $(obj).depend $(START) $(LIB)
index e1b3c52dcdc5e485d9c9ff828de86bd38b6bce63..bf4e651aaf2baa8f02845d18de0b474e64b9310b 100644 (file)
@@ -29,9 +29,6 @@
 #include <mpc86xx.h>
 #include <asm/fsl_law.h>
 
-#if defined(CONFIG_OF_FLAT_TREE)
-#include <ft_build.h>
-#endif
 
 int
 checkcpu(void)
@@ -269,64 +266,6 @@ dma_xfer(void *dest, uint count, void *src)
 #endif /* CONFIG_DDR_ECC */
 
 
-#ifdef CONFIG_OF_FLAT_TREE
-void
-ft_cpu_setup(void *blob, bd_t *bd)
-{
-       u32 *p;
-       ulong clock;
-       int len;
-
-       clock = bd->bi_busfreq;
-       p = ft_get_prop(blob, "/cpus/" OF_CPU "/bus-frequency", &len);
-       if (p != NULL)
-               *p = cpu_to_be32(clock);
-
-       p = ft_get_prop(blob, "/" OF_SOC "/serial@4500/clock-frequency", &len);
-       if (p != NULL)
-               *p = cpu_to_be32(clock);
-
-       p = ft_get_prop(blob, "/" OF_SOC "/serial@4600/clock-frequency", &len);
-       if (p != NULL)
-               *p = cpu_to_be32(clock);
-
-#if defined(CONFIG_TSEC1)
-       p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/mac-address", &len);
-       if (p != NULL)
-               memcpy(p, bd->bi_enetaddr, 6);
-       p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/local-mac-address", &len);
-       if (p)
-               memcpy(p, bd->bi_enetaddr, 6);
-#endif
-
-#if defined(CONFIG_TSEC2)
-       p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/mac-address", &len);
-       if (p != NULL)
-               memcpy(p, bd->bi_enet1addr, 6);
-       p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/local-mac-address", &len);
-       if (p != NULL)
-               memcpy(p, bd->bi_enet1addr, 6);
-#endif
-
-#if defined(CONFIG_TSEC3)
-       p = ft_get_prop(blob, "/" OF_SOC "/ethernet@26000/mac-address", &len);
-       if (p != NULL)
-               memcpy(p, bd->bi_enet2addr, 6);
-       p = ft_get_prop(blob, "/" OF_SOC "/ethernet@26000/local-mac-address", &len);
-       if (p != NULL)
-               memcpy(p, bd->bi_enet2addr, 6);
-#endif
-
-#if defined(CONFIG_TSEC4)
-       p = ft_get_prop(blob, "/" OF_SOC "/ethernet@27000/mac-address", &len);
-       if (p != NULL)
-               memcpy(p, bd->bi_enet3addr, 6);
-       p = ft_get_prop(blob, "/" OF_SOC "/ethernet@27000/local-mac-address", &len);
-       if (p != NULL)
-               memcpy(p, bd->bi_enet3addr, 6);
-#endif
-#endif /* CONFIG_OF_FLAT_TREE */
-
 /*
  * Print out the state of various machine registers.
  * Currently prints out LAWs and BR0/OR0
index ab5906dbc0a230b60cc9ef60323c1b1086fa465e..0efd855a396ac3ed59fea7d5a3068440a94cbf2f 100644 (file)
@@ -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 (file)
index 0000000..379306e
--- /dev/null
@@ -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
+}
index e501caf457af39dc4864bd84e24182fbbf8d737c..60a7818989898d9b897d3b22265b17eaafd63b3a 100644 (file)
@@ -943,7 +943,7 @@ unsigned int enable_ddr(unsigned int ddr_num)
        spd_eeprom_t spd1,spd2;
        volatile ccsr_ddr_t *ddr;
        unsigned sdram_cfg_1;
-       unsigned char sdram_type, mem_type, config, mod_attr;
+       unsigned char sdram_type, mem_type, mod_attr;
        unsigned char d_init;
        unsigned int no_dimm1=0, no_dimm2=0;
 
@@ -1017,6 +1017,10 @@ unsigned int enable_ddr(unsigned int ddr_num)
                printf("No memory modules found for DDR controller %d!!\n", ddr_num);
                return 0;
        } else {
+
+#if defined(CONFIG_DDR_ECC)
+               unsigned char config;
+#endif
                mem_type = no_dimm2 ? spd1.mem_type : spd2.mem_type;
 
                /*
@@ -1122,8 +1126,8 @@ spd_sdram(void)
        int memsize_ddr1_dimm2 = 0;
        int memsize_ddr1 = 0;
        unsigned int law_size_ddr1;
-       volatile immap_t *immap = (immap_t *)CFG_IMMR;
 #ifdef CONFIG_DDR_INTERLEAVE
+       volatile immap_t *immap = (immap_t *)CFG_IMMR;
        volatile ccsr_ddr_t *ddr1 = &immap->im_ddr1;
 #endif
 
@@ -1183,7 +1187,6 @@ spd_sdram(void)
 #endif
                debug("Interleaved memory size is 0x%08lx\n", memsize_total);
 
-#ifdef CONFIG_DDR_INTERLEAVE
 #if (CFG_PAGE_INTERLEAVING == 1)
                printf("Page ");
 #elif (CFG_BANK_INTERLEAVING == 1)
@@ -1192,7 +1195,6 @@ spd_sdram(void)
                printf("Super-bank ");
 #else
                printf("Cache-line ");
-#endif
 #endif
                printf("Interleaved");
                return memsize_total * 1024 * 1024;
index 311c97b732391f796549f5a205dd8934ec2e7f81..baa97a4122ae2e2dfc477ad65ea85478056c8830 100644 (file)
@@ -25,7 +25,7 @@ PLATFORM_RELFLAGS += -fPIC -ffixed-r14 -meabi -fno-strict-aliasing
 PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
 
 cfg=$(shell grep configs $(OBJTREE)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
-is440=$(shell grep CONFIG_440 $(TOPDIR)/include/$(cfg))
+is440:=$(shell grep CONFIG_440 $(TOPDIR)/include/$(cfg))
 
 ifneq (,$(findstring CONFIG_440,$(is440)))
 PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440
index 949dcb265cff1228e948273012986d3f005b1c17..31a9af3fee17b16f8a5ef2891770f711ac323495 100644 (file)
@@ -65,3 +65,9 @@ Examples;
         * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio
         */
        pixis-reset altbank cf 40 2.5 10
+
+
+DIP Switch Settings
+-------------------
+To manually switch the flash banks using the DIP switch
+settings, toggle both SW6:1 and SW6:2.
index 63f3b7551e9be6a73abe6dd2f8a24fadc04db293..e29b29440f237aa537321bc388abce9c86014822 100644 (file)
@@ -179,7 +179,13 @@ int dtt_init (void)
 
 int dtt_get_temp(int sensor)
 {
-    return (dtt_read(sensor, DTT_READ_TEMP) / 256);
+    int const ret = dtt_read(sensor, DTT_READ_TEMP);
+
+    if (ret < 0) {
+       printf("DTT temperature read failed.\n");
+       return 0;
+    }
+    return (int)((int16_t) ret / 256);
 } /* dtt_get_temp() */
 
 #endif /* CONFIG_DTT_LM75 */
index eb509f55571a4cf3d9fc60511f3c3c579dd955da..439c950cf22837b8874887a010189b3b5ccd5f32 100644 (file)
@@ -1538,7 +1538,12 @@ static int __flash_detect_cfi (flash_info_t * info, struct cfi_qry *qry)
 {
        int cfi_offset;
 
-       flash_write_cmd (info, 0, 0, info->cmd_reset);
+       /* We do not yet know what kind of commandset to use, so we issue
+          the reset command in both Intel and AMD variants, in the hope
+          that AMD flash roms ignore the Intel command. */
+       flash_write_cmd (info, 0, 0, AMD_CMD_RESET);
+       flash_write_cmd (info, 0, 0, FLASH_CMD_RESET);
+
        for (cfi_offset=0;
             cfi_offset < sizeof(flash_offset_cfi) / sizeof(uint);
             cfi_offset++) {
index 8460f6928de3ea5819623e0ab341a5d53e0550d7..d64845fec8506ababe404f768645af671c90e8c5 100644 (file)
@@ -32,9 +32,9 @@
 #define ULI5261_DEVICE_ID      0x5261
 #define ULI5263_DEVICE_ID      0x5263
 /* ULi M5261 ID*/
-#define PCI_ULI5261_ID         ULI5261_DEVICE_ID << 16 | ULI_VENDOR_ID
+#define PCI_ULI5261_ID         (ULI5261_DEVICE_ID << 16 | ULI_VENDOR_ID)
 /* ULi M5263 ID*/
-#define PCI_ULI5263_ID         ULI5263_DEVICE_ID << 16 | ULI_VENDOR_ID
+#define PCI_ULI5263_ID         (ULI5263_DEVICE_ID << 16 | ULI_VENDOR_ID)
 
 #define ULI526X_IO_SIZE        0x100
 #define TX_DESC_CNT    0x10            /* Allocated Tx descriptors */
@@ -281,7 +281,7 @@ static int uli526x_init_one(struct eth_device *dev, bd_t *bis)
        if (db->desc_pool_ptr == NULL)
                return -1;
 
-       db->buf_pool_ptr = &buf_pool[0];
+       db->buf_pool_ptr = (uchar *)&buf_pool[0];
        db->buf_pool_dma_ptr = (dma_addr_t)&buf_pool[0];
        if (db->buf_pool_ptr == NULL)
                return -1;
@@ -588,7 +588,7 @@ static int uli526x_rx_packet(struct eth_device *dev)
                                        __FUNCTION__, i, rxptr->rx_buf_ptr[i]);
 #endif
 
-                               NetReceive(rxptr->rx_buf_ptr, rxlen);
+                               NetReceive((uchar *)rxptr->rx_buf_ptr, rxlen);
                                uli526x_reuse_buf(rxptr);
 
                        } else {
@@ -656,7 +656,7 @@ static void uli526x_descriptor_init(struct uli526x_board_info *db,
        tmp_tx_dma = db->first_tx_desc_dma;
        for (tmp_tx = db->first_tx_desc, i = 0;
                        i < TX_DESC_CNT; i++, tmp_tx++) {
-               tmp_tx->tx_buf_ptr = tmp_buf;
+               tmp_tx->tx_buf_ptr = (char *)tmp_buf;
                tmp_tx->tdes0 = cpu_to_le32(0);
                tmp_tx->tdes1 = cpu_to_le32(0x81000000);        /* IC, chain */
                tmp_tx->tdes2 = cpu_to_le32(tmp_buf_dma);
index 690975ee40d441c12e687290b0c1a9d0ae6dcfd1..9bc0501334a713760f4d5d3d30c2182c60a2fe66 100644 (file)
@@ -1,3 +1,54 @@
+/*
+ * (C) Copyright 2007-2008 Semihalf
+ *
+ * Written by: Rafal Jaworowski <raj@semihalf.com>
+ *
+ * This file is dual licensed; you can use it under the terms of
+ * either the GPL, or the BSD license, at your option.
+ *
+ * I. GPL:
+ *
+ * This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ * Alternatively,
+ *
+ * II. BSD license:
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
 #ifndef _API_PUBLIC_H_
 #define _API_PUBLIC_H_
 
index 13e9806bdc02c06a2f654bb0ea36cf182022b593..e56f19d29be1643bae1781438ff93af9e331b5ed 100644 (file)
@@ -17,9 +17,9 @@ typedef unsigned short __u16;
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
+#if defined(__GNUC__)
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
 #endif
 
 /*
index e6c65d9179b36aa958b43ad67a87191ef61c020f..2dbea4bad35a716f427eef66cccf92310a0ba2cd 100644 (file)
@@ -39,9 +39,9 @@ typedef unsigned short __u16;
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
+#if defined(__GNUC__)
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
 #endif
 
 #endif /* __ASSEMBLY__ */
index 665a419f2bcd0d51917894586dc849db37317229..9fd8e03360448b4c03eee8a5dde6190818728d37 100644 (file)
@@ -50,9 +50,9 @@ typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
 /* HK0617   -- Changes to unsigned long temporarily */
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
+#if defined(__GNUC__)
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
 #endif
 
 /*
index e673cb085d053f9af1263b09047533475c45c4d3..e944d3fd19239ab022cd4a385b3239d1e2cda35d 100644 (file)
@@ -14,9 +14,9 @@ typedef unsigned short __u16;
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
+#if defined(__GNUC__)
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
 #endif
 
 typedef struct {
index e757e228ac23f15333f3880bef92c37948287719..707cbf42dc206516c3431edae9f04a1ec678a912 100644 (file)
@@ -33,9 +33,9 @@ typedef unsigned long __u64;
 
 #else
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
+#if defined(__GNUC__)
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
 #endif
 
 #endif
index 23bd5057a71a5bf8477e4e7710c628a000d07331..e955c756e8946609fb64f0b5aec4a3b63f0b17fc 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <asm/io.h>
 
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
 #define SET_LAW_ENTRY(idx, a, sz, trgt) \
        { .index = idx, .addr = a, .size = sz, .trgt_id = trgt }
 
index a15c6ec12ab0633f54588f270673571c3ff102e0..7526061d5ab7c11240561785701b489523198142 100644 (file)
@@ -1256,12 +1256,16 @@ typedef struct ccsr_rio {
 typedef struct ccsr_gur {
        uint    porpllsr;       /* 0xe0000 - POR PLL ratio status register */
        uint    porbmsr;        /* 0xe0004 - POR boot mode status register */
-#define MPC86xx_PORBMSR_HA      0x00060000
-#define MPC85xx_PORBMSR_HA             0x00070000
+#define MPC8610_PORBMSR_HA      0x00070000
+#define MPC8610_PORBMSR_HA_SHIFT       16
+#define MPC8641_PORBMSR_HA      0x00060000
+#define MPC8641_PORBMSR_HA_SHIFT       17
        uint    porimpscr;      /* 0xe0008 - POR I/O impedance status and control register */
        uint    pordevsr;       /* 0xe000c - POR I/O device status regsiter */
-#define MPC86xx_PORDEVSR_IO_SEL                0x000F0000
-#define MPC85xx_PORDEVSR_IO_SEL                0x00380000 /* 85xx platform type */
+#define MPC8610_PORDEVSR_IO_SEL                0x00380000
+#define MPC8610_PORDEVSR_IO_SEL_SHIFT          19
+#define MPC8641_PORDEVSR_IO_SEL                0x000F0000
+#define MPC8641_PORDEVSR_IO_SEL_SHIFT          16
 #define MPC86xx_PORDEVSR_CORE1TE       0x00000080 /* ASMP (Core1 addr trans) */
        uint    pordbgmsr;      /* 0xe0010 - POR debug mode status register */
        char    res1[12];
index ec1ca53cc165dd4379b8587554d9ba1e4e7a63e1..5af22af9955f56aec859044d1848404eac4afb6f 100644 (file)
@@ -427,7 +427,6 @@ extern void disable_tlb(u8 esel);
 extern void invalidate_tlb(u8 tlb);
 extern void init_tlbs(void);
 
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
 #define SET_TLB_ENTRY(_tlb, _epn, _rpn, _perms, _wimge, _ts, _esel, _sz, _iprot) \
        { .tlb = _tlb, .epn = _epn, .rpn = _rpn, .perms = _perms, \
          .wimge = _wimge, .ts = _ts, .esel = _esel, .tsize = _sz, .iprot = _iprot }
index 4ebbb9e028b3116a52d243e671f56793c9ff343d..7adf1450f250f29c7ff473784e0518053f04fd1f 100644 (file)
@@ -14,9 +14,9 @@ typedef unsigned short __u16;
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
+#if defined(__GNUC__)
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
 #endif
 
 typedef struct {
index fd00dbb82f84ff8122784d663578dd5ca935d8fa..7ba69d9707eff7eecc876b345469ee81a8461866 100644 (file)
@@ -19,9 +19,9 @@ typedef unsigned short __u16;
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
+#if defined(__GNUC__)
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
 #endif
 
 #endif /* __ASSEMBLY__ */
index d914dccfbb4d922830dc77314897f19c7dca7b0b..a992498dc084c144c1db39817c09bf95b555978a 100644 (file)
@@ -54,7 +54,7 @@
 
 #undef CONFIG_CLOCKS_IN_MHZ            /* clocks passed to Linux in Hz */
 
-#define CONFIG_BOOTARGS                "root=/dev/ram rw ramdisk=4096"
+#define CONFIG_BOOTARGS                "root=/dev/ram rw ramdisk_size=4096"
 
 /*
  * BOOTP options
index 39201474e91ee1cee16624860daeb52c4fc45f4b..9e70198e421af161e552e378496f8aa3e6fd4a1a 100644 (file)
@@ -24,7 +24,7 @@
 #define CONFIG_FSL_DIU_FB      1       /* FSL DIU */
 
 /* video */
-#define CONFIG_VIDEO
+#undef CONFIG_VIDEO
 
 #if defined(CONFIG_VIDEO)
 #define CONFIG_CFB_CONSOLE
index 524aa0621b945862f8bbe703cffe7f3419d75f84..da1c173a431b21858539cac55e22b23539081175 100644 (file)
@@ -47,7 +47,7 @@
 #undef CONFIG_8xx_CONS_NONE
 #define CONFIG_BAUDRATE 57600  /* console baudrate = 115kbps   */
 #define CONFIG_BOOTDELAY       2       /* autoboot after 2 seconds */
-#define CONFIG_BOOTARGS                "ramdisk=8000 "\
+#define CONFIG_BOOTARGS                "ramdisk_size=8000 "\
                                "root=/dev/nfs rw nfsroot=10.77.77.250:/ppcroot "\
                                "nfsaddrs=10.77.77.20:10.77.77.250"
 #define CONFIG_BOOTCOMMAND     "bootm 400e0000"
index d8a2267b9a5c85240037c36abe73ba08006ac0c3..97e8bf1c50291db57a138a292fffefb7c1eec8ba 100644 (file)
 #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
index 1991a8cc873e889069014c4a0ddb709b00dd4587..18cedff929e5cf3d5809ddb071e27b93f9104262 100644 (file)
 /*
  * 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
index cd0ae6d1a82c34a6a81135ed3f40a5b09a46b592..52952a9da0cba250f37984b450a748b449e26a15 100644 (file)
 #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
  * 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
 #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 */
index 810a528d2497ae1d424085518ff2ea988eac22d8..cd120dfbf1344ee0a9c93c1a5f104743bf386279 100644 (file)
        "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"                  \
index c1a0acf46986e00e229be005c054f46fba497182..1645f2c7e0c5cb55eed90d7d418ec72139a39ab3 100644 (file)
@@ -121,12 +121,13 @@ static int display_banner(void)
        return (0);
 }
 
+#ifndef CFG_NO_FLASH
 static void display_flash_config(ulong size)
 {
        puts ("Flash: ");
        print_size (size, "\n");
 }
-
+#endif
 
 static int init_baudrate (void)
 {
@@ -247,7 +248,7 @@ void board_init_f(ulong bootflag)
        debug ("Reserving %d Bytes for Global Data at: %08lx\n",
                        sizeof (gd_t), addr_sp);
 
-       /* Reserve memory for boot params.
+       /* Reserve memory for boot params.
         */
        addr_sp -= CFG_BOOTPARAMS_LEN;
        bd->bi_boot_params = addr_sp;
@@ -301,7 +302,9 @@ void board_init_f(ulong bootflag)
 void board_init_r (gd_t *id, ulong dest_addr)
 {
        cmd_tbl_t *cmdtp;
+#ifndef CFG_NO_FLASH
        ulong size;
+#endif
        extern void malloc_bin_reloc (void);
 #ifndef CFG_ENV_IS_NOWHERE
        extern char * env_name_spec;
@@ -322,7 +325,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
        /*
         * We have to relocate the command table manually
         */
-       for (cmdtp = &__u_boot_cmd_start; cmdtp !=  &__u_boot_cmd_end; cmdtp++) {
+       for (cmdtp = &__u_boot_cmd_start; cmdtp !=  &__u_boot_cmd_end; cmdtp++) {
                ulong addr;
 
                addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
@@ -352,13 +355,16 @@ void board_init_r (gd_t *id, ulong dest_addr)
        env_name_spec += gd->reloc_off;
 #endif
 
+       bd = gd->bd;
+
+#ifndef CFG_NO_FLASH
        /* configure available FLASH banks */
        size = flash_init();
        display_flash_config (size);
+       bd->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
index 51e8e8406dc318f69492ac147889d81007fb5e45..2649d5ffdca9b0bfe6162b5bdd7cf9925c769f42 100644 (file)
@@ -23,6 +23,9 @@
 
 #include <common.h>
 
+#ifndef CONFIG_WD_PERIOD
+# define CONFIG_WD_PERIOD      (10 * 1000 * 1000)      /* 10 seconds default*/
+#endif
 
 /* ------------------------------------------------------------------------- */
 
@@ -53,9 +56,14 @@ unsigned long usec2ticks(unsigned long usec)
  */
 void udelay(unsigned long usec)
 {
-       ulong ticks = usec2ticks (usec);
-
-       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);
 }
 
 /* ------------------------------------------------------------------------- */
index 080bea9bb8cfe5259746874a90d187cd4159b23e..c20e6a717c4d9333ebc6032b01bf071895b0d844 100644 (file)
@@ -7,6 +7,8 @@
 ** This is still under construction!
 */
 
+#include <getopt.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -216,15 +218,10 @@ int image_load_tga (image_t * image, char *filename)
        return 0;
 }
 
-int image_free (image_t * image)
+void image_free (image_t * image)
 {
-       if (image->data != NULL)
-               free (image->data);
-
-       if (image->palette != NULL)
-               free (image->palette);
-
-       return 0;
+       free (image->data);
+       free (image->palette);
 }
 
 int image_rgb_to_yuyv (image_t * rgb_image, image_t * yuyv_image)
@@ -353,59 +350,76 @@ int image_save_header (image_t * image, char *filename, char *varname)
 
 #define DEF_FILELEN    256
 
+static void usage (int exit_status)
+{
+       puts (
+               "EasyLogo 1.0 (C) 2000 by Paolo Scaffardi\n"
+               "\n"
+               "Syntax:        easylogo [options] inputfile [outputvar [outputfile]]\n"
+               "\n"
+               "Options:\n"
+               "  -r     Output RGB instead of YUYV\n"
+               "  -h     Help output\n"
+               "\n"
+               "Where: 'inputfile'   is the TGA image to load\n"
+               "       'outputvar'   is the variable name to create\n"
+               "       'outputfile'  is the output header file (default is 'inputfile.h')"
+       );
+       exit (exit_status);
+}
+
 int main (int argc, char *argv[])
 {
+       int c;
+       bool use_rgb = false;
        char inputfile[DEF_FILELEN],
                outputfile[DEF_FILELEN], varname[DEF_FILELEN];
 
        image_t rgb_logo, yuyv_logo;
 
-       switch (argc) {
-       case 2:
-       case 3:
-       case 4:
-               strcpy (inputfile, argv[1]);
-
-               if (argc > 2)
-                       strcpy (varname, argv[2]);
-               else {
-                       char *dot = strchr (inputfile, '.');
-                       int pos = dot - inputfile;
-
-                       if (dot) {
-                               strncpy (varname, inputfile, pos);
-                               varname[pos] = 0;
-                       }
-               }
-
-               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");
 
index 6464627ea437e1d0d7b0c0edb8d669804f96809a..af40bfaf2e8758607d5e64072063b883301ca40e 100644 (file)
@@ -7,11 +7,11 @@
 #
 
 # Only process values prefixed with #define CONFIG_
-/^#define CONFIG_[A-Za-z0-9_]\+/ {
+/^#define CONFIG_[A-Za-z0-9_][A-Za-z0-9_]*/ {
        # Strip the #define prefix
        s/#define *//;
        # Change to form CONFIG_*=VALUE
-       s/ \+/=/;
+       s/  */=/;
        # Drop trailing spaces
        s/ *$//;
        # drop quotes around string values