+commit 16bedc661de0dae767b1377d8413373a3fbcfa79
+Author: Stefan Roese <sr@denx.de>
+Date: Mon May 19 07:14:38 2008 +0200
+
+ ppc4xx: Canyonlands: Disable PCIe0/SATA in dev-tree depending on selection
+
+ When SATA is selected (via jumper J6) we need to disable the first PCIe
+ node in the device tree, so that Linux doesn't initialize it. Otherwise
+ the Linux SATA driver will fail to detect the devices.
+
+ The same goes the other way around too. So if PCIe is selected we need
+ to disable the SATA node in the device tree.
+
+ This is because PCIe port 0 and SATA on 460EX share the same pins
+ (multiplexed) and we have to configure in U-Boot which peripheral is
+ enabled.
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 3cc27b426aeefe2930f911692e9df3143fb2565f
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sun May 18 19:09:58 2008 +0200
+
+ i386: Fix multiple definitions of __show_boot_progress
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 311f3446930c1e64c12026c1cfd00500b05be52d
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sun May 18 19:09:57 2008 +0200
+
+ sc530_spunk: add missing SOBJS entry
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit a559317143b4f95927b08cd388707e6f077e95fa
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sun May 18 19:09:56 2008 +0200
+
+ sc520_spunk: Fix flash
+
+ flash.c:593: warning: dereferencing type-punned pointer will break strict-aliasing rules
+ flash.c:398: error: label at end of compound statement
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 91f221317af64191ee8caf303ea9305943158691
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sun May 18 19:09:49 2008 +0200
+
+ drivers/pcmcia: add missing i82365
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit dd223944132f97ffa52977ea95e5a52428f5cc2f
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sun May 18 19:09:47 2008 +0200
+
+ i386/bootm: remove unused var
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit a9da341df19b32ad2ecb58ce529f7e4fada7814e
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sun May 18 19:09:45 2008 +0200
+
+ example/gitignore: update with all generated examples
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit a38dc3ea8614f8b0c41e432b445a9959b9711295
+Author: Wolfgang Denk <wd@denx.de>
+Date: Thu May 15 00:42:45 2008 +0200
+
+ TQM8272: fix out-of-tree building
+
+ ...and add to MAKEALL script
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit 4f805c1e3a60b9263da8ec3bcd1f45edcefa7dcf
+Author: Wolfgang Denk <wd@denx.de>
+Date: Wed May 14 23:34:53 2008 +0200
+
+ environment: fix bug introduced by commit a8409f4f1ac8
+
+ env_get_char is not a function, but a pointer to one.
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit cda2a4a9961fd4341b7db305cb22fc05957e8b77
+Author: Wolfgang Denk <wd@denx.de>
+Date: Wed May 14 13:55:30 2008 +0200
+
+ Fix config files for out-of-tree building
+
+ Several board/<...>/config.mk files include dynamically built (by
+ the Makefile) config files but used the wrong file name of
+ $(TOPDIR)/board/$(BOARDDIR)/config.tmp
+ instead if the correct
+ $(OBJTREE)/board/$(BOARDDIR)/config.tmp
+
+ The bug is nasty because the build result is correct for the (normal)
+ in-tree builds, and because 'sinclude' is used no errors get raised
+ even for out-of-tree build tests. But out-of-tree builds use an
+ incomplete and thus usually incorrect configuration...
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit 2dd7082e06d580404010b06fe4e0e8b7038a00c8
+Author: Stefan Roese <sr@denx.de>
+Date: Wed May 14 13:40:03 2008 +0200
+
+ ppc4xx: Fix bogus Canyonlands config.mk
+
+ This patch fixes the canyonlands config.mk file to enable correct
+ out-of-tree builds. Thanks to Wolfgang Denk for spotting this.
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit fdd1247a66d788a3446244f6fde9955a93c26322
+Author: Stefan Roese <sr@denx.de>
+Date: Wed May 14 10:32:32 2008 +0200
+
+ ppc4xx: Individual handling of ddr2_fixed.c for canyonlands_nand build
+
+ Canyonlands has a file ddr2_fixed.c which needs special treatment when
+ building in separate directory. It has to be linked to build directory
+ otherwise it is not seen.
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit a8409f4f1ac84c36273c1a1e341189662521bcfb
+Author: Wolfgang Denk <wd@denx.de>
+Date: Wed May 14 12:22:49 2008 +0200
+
+ environment: cleanup prototype declarations of env functions.
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit cf39b07948015c480b72a6e732cf7d839aa93a9e
+Author: Wolfgang Denk <wd@denx.de>
+Date: Wed May 14 12:21:48 2008 +0200
+
+ linkstation_HGLAN: Fix out of tree building.
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit 085551c05ca09e6c491ea11a1c6727a36776a545
+Author: Stefan Roese <sr@denx.de>
+Date: Wed May 14 10:32:32 2008 +0200
+
+ ppc4xx: Individual handling of ddr2_fixed.c for canyonlands_nand build
+
+ Canyonlands has a file ddr2_fixed.c which needs special treatment when
+ building in separate directory. It has to be linked to build directory
+ otherwise it is not seen.
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 1510b82d50615f344e89d42533e8224cce067dc0
+Author: Wolfgang Denk <wd@denx.de>
+Date: Tue May 13 23:15:52 2008 +0200
+
+ Makefile: fix "error: version_autogenerated.h: No such file or directory"
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit 70fab1908fc1734a403711eaabbef546bc4b77dc
+Author: Stefan Roese <sr@denx.de>
+Date: Tue May 13 20:22:01 2008 +0200
+
+ ppc4xx: Add 405EX(r) revision C PVR definitions and detection code
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 65dcfa79204f4750b905a173a5365e0b2eb6c2f6
+Author: Wolfgang Denk <wd@denx.de>
+Date: Mon May 12 01:11:21 2008 +0200
+
+ Revert "pci: Add CONFIG_PCI_SKIP_HOST_BRIDGE config option"
+
+ This reverts commit 55774b512fdf63c0516d441cc5da7c54bbffb7f2
+ which broke many PowerPC boards.
+
+commit ee0cfa70803a3e629ea581a9b216f8ecef402bfc
+Author: Wolfgang Denk <wd@denx.de>
+Date: Mon May 12 00:56:28 2008 +0200
+
+ Revert "Avoid initrd and logbuffer area overlaps"
+
+ This reverts commit 1b5605ca57fbb364f4d78eeee28b974ed875e888
+ which breaks building on all PPC boards that don't use a log buffer.
+
+commit 02b9b22446e3d7ad6a6382be17a1ce79a7de589b
+Author: Nick Spence <nick.spence@freescale.com>
+Date: Sat May 10 14:02:04 2008 -0700
+
+ Fix offset calculation for multi-type legacy images.
+
+ Calculation of tail was incorrect when size % 4 == 0.
+
+ New code removes the conditional and does the same thing but with arithmetic
+
+ Signed-off-by: Nick Spence <nick.spence@freescale.com>
+
+commit c9dca3c3f37d2647aec4509b24b16d15882ae3e4
+Author: Wolfgang Denk <wd@denx.de>
+Date: Mon May 12 00:40:58 2008 +0200
+
+ Revert "Change env_get_char from a global function ptr to a function."
+
+ This reverts commit c0559be371b2a64b1a817088c3308688e2182f93
+ which is known to break booting from dataflash and NAND.
+
+commit 20e5ed137483823aaea5178169f3b144c7a4d9e0
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sun May 11 23:13:57 2008 +0200
+
+ API: remove duplicate syscall check
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 79dd1712689d6a5031d7cbff54957049680751c7
+Author: Markus Klotzbücher <mk@denx.de>
+Date: Thu May 8 16:00:55 2008 +0200
+
+ ppc4xx: Kilauea: Add CONFIG_BOOTP_SUBNETMASK to Kilauea board config
+
+ When using dhcp/bootp the "netmask" environment variable is not set
+ because CONFIG_BOOTP_SUBNETMASK is not defined. But usually this is
+ desireable, so the following patch adds this this option to the board
+ config.
+
+ Signed-off-by: Markus Klotzbuecher <mk@denx.de>
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 869d14b4cc2e47de2ddcb117bad0407a44436684
+Author: Stefan Roese <sr@denx.de>
+Date: Sat May 10 10:30:36 2008 +0200
+
+ ppc4xx: Update Makalu defconfig to use device-tree booting as default
+
+ This patch reworks the default environment on Makalu. Now "net_nfs" for
+ example uses the device-tree style booting formerly know as "net_nfs_fdt".
+ Also the addresses in RAM were changed because of the new image booting
+ support, which check for image overwriting. So the addresses needed to
+ get adjusted.
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit f3612a7b199cab3942f60d9c1392eb39d58cc699
+Author: Becky Bruce <bgill@freescale.com>
+Date: Wed May 7 13:28:16 2008 -0500
+
+ PPC: fix map_physmem build warning
+
+ map_physmem currently generates a warning when CONFIG_PHYS_64BIT is
+ enabled. This quiets the warning.
+
+ Signed-off-by: Becky Bruce <Becky.Bruce@freescale.com>
+
+commit 36f32675f40292002ee1fed252c180a43022d2d4
+Author: Becky Bruce <bgill@freescale.com>
+Date: Wed May 7 13:24:57 2008 -0500
+
+ Update pci code to use phys_addr_t
+
+ Physical addrs need to be represented by phys_addr_t, not
+ unsigned long. Otherwise, systems that use CONFIG_PHYS_64BIT
+ are going to fail mightily.
+
+ Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
+
+commit 91a616741fc128cdb88f39bddcd4d72fe17466d0
+Author: Nick Spence <nick.spence@freescale.com>
+Date: Thu May 8 22:32:22 2008 -0700
+
+ Support legacy multi-type images without FDT section.
+
+ This patch enables legacy multi-type images containing only a Linux kernel
+ and root file system to be loaded, maintaining compatibility with previous
+ versions of u-boot.
+
+ This is required when using old image files such as a Linux 2.4 kernel /
+ filesystem.
+
+ Signed-off-by: Nick Spence <nick.spence@freescale.com>
+ Acked-by: Bartlomiej Sieka <tur@semihalf.com>
+
+commit 881031d9732783b7aeae2198fc7eb480ae8974a6
+Author: Wolfgang Denk <wd@denx.de>
+Date: Sat May 10 00:38:02 2008 +0200
+
+ Update CHANGELOG.
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit e5e9d6c9c08160be7e5a36e04d125ccce99b8774
+Author: Wolfgang Denk <wd@denx.de>
+Date: Sat May 10 00:36:09 2008 +0200
+
+ post/cpu/ppc4xx/Makefile: line length cleanup
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit cce9cfdabcf416ecd2aacc3681c91e5378c75a3d
+Author: Stelian Pop <stelian@popies.net>
+Date: Thu May 8 22:52:09 2008 +0200
+
+ Fix @ -> <at> substitution
+
+ When applying the AT91CAP9 patches upstream, something transformed
+ the '@' character into the ' <at> ' sequence.
+
+ The patch below restores the original form in all the places where
+ it has been modified (the AT91CAP9 files, the AT91SAM9260 files which
+ were copied from AT91CAP9, and a couple of other files where the
+ ' <at> ' sequence was present).
+
+ Signed-off-by: Stelian Pop <stelian@popies.net>
+
+commit 9606b3c81b3c47a1d58514e9a232c6f461a17597
+Author: Stelian Pop <stelian@popies.net>
+Date: Thu May 8 22:52:10 2008 +0200
+
+ Update origin and copyright information in arch-at91sam9 header files
+
+ When doing the AT91CAP9/AT91SAM9 port, a number of header files were
+ copied from the Linux kernel sources. This patch explicitly specifies
+ this origin for all the copied headers, and for those missing copyright
+ information, adds it.
+
+ Additionaly, the header file 'at91sam926x_mc.h' has been superceeded
+ in the latest kernel sources by 'at91sam9_smc.h'.
+
+ The copyright information has been confirmed by the AT91 Linux kernel
+ maintainer, Andrew Victor <avictor.za@gmail.com>.
+
+ Signed-off-by: Stelian Pop <stelian@popies.net>
+
+commit ceb6b4fbe1dcc40bb672ef8133ddf4813e97cbb1
+Author: Stelian Pop <stelian@popies.net>
+Date: Thu May 8 22:52:11 2008 +0200
+
+ Add copyright information in Atmel boards partition.c
+
+ When Ulf did the dataflash.c cleanup, he didn't add his copyright on
+ the new created files. This patch fixes the problem.
+
+ Signed-off-by: Stelian Pop <stelian@popies.net>
+
+commit 2ab02fd456d8ef92ae9f5439618d1fa7ca16e5f3
+Author: Guennadi Liakhovetski <lg@denx.de>
+Date: Thu May 8 10:09:27 2008 +0200
+
+ mx31ads: fix 32kHz clock handling
+
+ According to schematics and to RedBoot sources, the MX31ADS uses a 32768Hz
+ oscillator as a SKIL source. Fix previously wrongly assumed 32000Hz value.
+ Also fix a typo when verifying a jumper configuration. While at it, make
+ two needlessly global functions static.
+
+ Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
+
+commit 1b5605ca57fbb364f4d78eeee28b974ed875e888
+Author: Marian Balakowicz <m8@semihalf.com>
+Date: Wed May 7 13:10:04 2008 +0200
+
+ Avoid initrd and logbuffer area overlaps
+
+ Add logbuffer to reserved LMB areas to prevent initrd allocation
+ from overlaping with it.
+
+ Make sure to use correct logbuffer base address.
+
+ Signed-off-by: Marian Balakowicz <m8@semihalf.com>
+
+commit c59518e15949b3403df5c5b0c2c48ea0e5bea24b
+Author: Marian Balakowicz <m8@semihalf.com>
+Date: Wed May 7 13:08:54 2008 +0200
+
+ ppc: Cleanup get_effective_memsize() use
+
+ Removed duplicated effective memory size calculation code.
+
+ Signed-off-by: Marian Balakowicz <m8@semihalf.com>
+
+commit 273c37d843d5b581090378016cd12dd9c586907b
+Author: Marian Balakowicz <m8@semihalf.com>
+Date: Wed May 7 09:03:53 2008 +0200
+
+ Fix build errors when CONFIG_LOGBUFFER and CONFIG_FIT are enabled
+
+ Recent modifcations to LOGBUFFER handling code were incorrecly
+ introduced to fit_check_kernel() routine during
+ "Merge branch 'new-image' of git://www.denx.de/git/u-boot-testing",
+ commit 27f33e9f45ef7f9685cbdc65066a1828e85dde4f.
+
+ This patch cleans up this merge issue.
+
+ Signed-off-by: Marian Balakowicz <m8@semihalf.com>
+
+commit bc11756daff89a3de09ca80adac962b88cf06e6e
+Author: Grant Erickson <gerickson@nuovations.com>
+Date: Tue May 6 20:16:15 2008 -0700
+
+ Propagate Error Status to the Shell on fw_printenv Errors
+
+ Changed implementation such that fw_printenv returns failure status
+ when one or more specified variables do not exist or when incorrect
+ command syntax is used.
+
+ This aids scripting fw_printenv such that the script can key of the
+ return status rather than relying on standard error "scraping".
+
+ Signed-off-by: Grant Erickson <gerickson@nuovations.com>
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit f3b6d528e4dd719640a4bfcd954f4e4c7f5db0d6
+Author: Grant Erickson <gerickson@nuovations.com>
+Date: Tue May 6 16:18:00 2008 -0700
+
+ Fix Compilation Errors with 'tools/env/fw_printenv'
+
+ In the current top-of-tree, 1.3.3.-rc2, the optional tool
+ 'tools/env/fw_printenv' fails to compile for two reasons:
+
+ 1) The header watchdog.h cannot be found.
+ 2) The header zlib.h is picked up from the tool chain rather than the
+ project causing a prototype conflict for crc32.
+
+ This patch addresses both of these issues.
+
+ Platforms Tested On:
+ - AMCC "Kilauea"
+
+ Signed-off-by: Grant Erickson <gerickson@nuovations.com>
+
+commit 597f6c26a18b389903a64692bacbf9a1ca69355b
+Author: James Yang <James.Yang@freescale.com>
+Date: Mon May 5 10:22:53 2008 -0500
+
+ Fix readline_into_buffer() with CONFIG_CMDLINE_EDITING before relocating
+
+ When CONFIG_CMDLINE_EDITING is enabled, readline_into_buffer() doesn't
+ work before relocating to RAM because command history is written into
+ a global array that is not writable before relocation. This patch
+ defers to the no-editing and no-history code in readline_into_buffer()
+ if it is called before relocation.
+
+ Signed-off-by: James Yang <James.Yang@freescale.com>
+ Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit 726c0f1e5f108dccea052965123b95837d2bd402
+Author: Detlev Zundel <dzu@denx.de>
+Date: Mon May 5 16:11:22 2008 +0200
+
+ cosmetic: Adjust coding style for switch statements to be consistent
+
+ Signed-off-by: Detlev Zundel <dzu@denx.de>
+
+commit 574b319512b13e10800f0045e39b993f4ca25e42
+Author: Detlev Zundel <dzu@denx.de>
+Date: Mon May 5 16:11:21 2008 +0200
+
+ Fix disk type output in disk/part.c
+
+ Signed-off-by: Detlev Zundel <dzu@denx.de>
+
+commit 045b4d2d7168ef09c7349dcf6ecebe7432b74171
+Author: Vlad Lungu <vlad.lungu@windriver.com>
+Date: Mon May 5 14:20:03 2008 +0300
+
+ Mail address change, documentation modified
+
+ Signed-off-by: Vlad Lungu <vlad.lungu@windrvier.com>
+
+commit 4d49b28038e2819088e8356a77212fc95a89ce5a
+Author: Michal Simek <monstr@monstr.eu>
+Date: Sun May 4 15:42:41 2008 +0200
+
+ microblaze: Repare intc handling
+
+ Signed-off-by: Michal Simek <monstr@monstr.eu>
+
+commit 878b3b1e193e570caf3e96ad8e31e561f68d0287
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sun May 4 15:17:52 2008 +0200
+
+ include/gitignore: update to all architectures
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 1df368aed3b8bc240fe1595d290b0e91b22961da
+Author: Marcel Ziswiler <marcel@ziswiler.com>
+Date: Mon May 5 02:12:06 2008 +0200
+
+ ide: Remove spurious second include of io.h
+
+ Removed the second include, with all the #ifdef around as suggested by Wolfgang.
+
+ Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
+
+commit 8fbc985bdad09b23b7eb4df1d2ea589619d8db4c
+Author: Adrian Filipi <adrian.filipi@eurotech.com>
+Date: Tue May 6 16:46:37 2008 -0400
+
+ Fix some typos
+
+ This patch fixes three typos.
+ The first is a repetition of CONFIG_CMD_BSP.
+ The second makes the #endif comment match its #if.
+ The third is a spelling error.
+
+ Signed-off-by: Adrian Filipi <adrian.filipi@eurotech.com>
+
+commit e419e12d04ae3b280c99a87a2ea4ad7a40628bcb
+Author: Grant Erickson <gerickson@nuovations.com>
+Date: Sun May 4 16:45:01 2008 -0700
+
+ Recognize 'powerpc' As an Alias for IH_ARCH_PPC
+
+ Add support for the recognition of 'powerpc' as an alias for the PowerPC
+ architecture type since Linux is already trending in that direction,
+ preferring 'powerpc' to 'ppc'.
+
+ Signed-off-by: Grant Erickson <gerickson@nuovations.com>
+
+commit f5a24259190c388c2527bdc49fee34577d862cc7
+Author: Wheatley Travis <Travis.Wheatley@freescale.com>
+Date: Fri May 2 13:35:15 2008 -0700
+
+ 7450 and 86xx L2 cache invalidate bug corrections
+
+ The 7610 and related parts have an L2IP bit in the L2CR that is
+ monitored to signal when the L2 cache invalidate is complete whereas the
+ 7450 and related parts utilize L2I for this purpose. However, the
+ current code does not account for this difference. Additionally the 86xx
+ L2 cache invalidate code used an "andi" instruction where an "andis"
+ instruction should have been used.
+
+ This patch addresses both of these bugs.
+
+ Signed-off-by: Travis Wheatley <travis.wheatley@freescale.com>
+ Acked-By: Jon Loeliger <jdl@freescale.com>
+
+commit 4d31cdc45d3592a5545a649fb5a24b458a4e4b72
+Author: Wolfgang Denk <wd@denx.de>
+Date: Fri May 9 10:16:13 2008 +0200
+
+ Avoid infinite loop "Generating include/autoconf.mk"
+
+ Fix a bogus circular dependency that caused an infinite loop of
+ "Generating include/autoconf.mk" again and again.
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit ef2642625cbfb1c3695e3478d08ae515052a4950
+Author: Stefan Roese <sr@denx.de>
+Date: Thu May 8 11:10:46 2008 +0200
+
+ ppc4xx: Kilauea: Fix incorrect FPGA FIFO address
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit a00eccfebc954ad9485161efeca7d9aaf626d530
+Author: Stefan Roese <sr@denx.de>
+Date: Thu May 8 11:05:15 2008 +0200
+
+ ppc4xx: Add fdt support to all remaining AMCC PPC4xx eval boards
+
+ This patch adds fdt (flattened device tree) support to all remaining AMCC
+ eval boards. Most newer boards already support device tree. With this patch,
+ all AMCC boards now enable device tree passing from U-Boot to Linux
+ arch/powerpc kernels.
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit cb5d88b9611e0c35c53543ad3b4ab99fa82203e3
+Author: Stefan Roese <sr@denx.de>
+Date: Thu May 8 11:01:09 2008 +0200
+
+ ppc4xx: Add weak default ft_board_setup() routine
+
+ This patch adds a default ft_board_setup() routine to the 4xx fdt code.
+ This routine is defined as weak and can be overwritten by a board specific
+ one if needed.
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit d1c1ba85c7915053adf6a8d14a08ac6fcb750d01
+Author: Stefan Roese <sr@denx.de>
+Date: Thu May 8 10:48:58 2008 +0200
+
+ ppc4xx: acadia: Add fdt support and fix section overlap problem
+
+ This patch adds fdt (flattened device tree) support to the AMCC
+ Acadia eval board. This increases the image size and it doesn't
+ fit anymore into 256kByte. Since we didn't want to remove features
+ from the configuration, we decided to increase the U-Boot image size
+ (add one flash sector).
+
+ Also changed the default environment definition to make it
+ independent of such changes.
+
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 4adb3023de75bc150f088c8935db340930ad38c8
+Author: Ira Snyder <iws@ovro.caltech.edu>
+Date: Tue Apr 29 11:18:54 2008 -0700
+
+ ppc4xx: Add device tree support to AMCC Yosemite
+
+ Add support for booting with a device tree blob. This is needed to boot
+ ARCH=powerpc kernels. Also add support for setting the eth0 mac address
+ via the ethaddr variable.
+
+ Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit b9bbefce1a653ea35f74a66ec117cdda2e043a4b
+Author: Dave Mitchell <dmitchell@amcc.com>
+Date: Wed May 7 09:00:23 2008 -0700
+
+ ppc4xx: Fix typos in 460GT/EX FBDV array
+
+ Corrected two typos in the 460GT/EX FBDV array.
+
+ Signed-off-by: Dave Mitchell <dmitchell@amcc.com>
+ Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 66f5fa9263629271edc86178b1f224e3c9aab2b3
+Author: Andy Fleming <afleming@freescale.com>
+Date: Wed May 7 16:54:31 2008 -0500
+
+ 85xx: Limit CPU2 workaround to parts that have the errata
+
+ Signed-off-by: Ebony Zhu <ebony.zhu@freescale.com>
+ Signed-off-by: Andy Fleming <afleming@freescale.com>
+
+commit a5fe514e8ace564300d2c1d73846ddff49654243
+Author: Lee Nipper <lee.nipper@freescale.com>
+Date: Fri Apr 25 15:44:45 2008 -0500
+
+ mpc83xx: system performance settings for MPC8349EMDS.
+
+ These same settings are used on MPC8349ITX, and
+ improve performance on MPC8349EMDS.
+
+ Signed-off-by: Lee Nipper <lee.nipper@freescale.com>
+ Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
+
+commit 49387dba910e485640b575e920ee463b7e611dc3
+Author: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
+Date: Tue May 6 13:22:52 2008 +0900
+
+ [MIPS] cpu/mips/cache.S: Fix build warning
+
+ Some old GNU assemblers, such as v2.14 (ELDK 3.1.1), v2.16 (ELDK 4.1.0),
+ warns illegal global symbol references by bal (and jal also) instruction.
+ This does not happen with the latest binutils v2.18.
+
+ Here's an example on gth2_config:
+
+ mips_4KC-gcc -D__ASSEMBLY__ -g -Os -D__KERNEL__ -DTEXT_BASE=0x90000000 -I/home/skuribay/devel/u-boot.git/include -fno-builtin -ffreestanding -nostdinc -isy
+ stem /opt/eldk311/usr/bin/../lib/gcc-lib/mips-linux/3.3.3/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -mabicalls -fpic -pipe -msoft-float -march=4kc -mtune=4k
+ c -EB -c -o cache.o cache.S
+ cache.S: Assembler messages:
+ cache.S:243: Warning: Pretending global symbol used as branch target is local.
+ cache.S:250: Warning: Pretending global symbol used as branch target is local.
+
+ In principle, gas might be sensitive to global symbol references in PIC
+ code because they should be processed through GOT (global offset table).
+ But if `bal' instruction is used, it results in PC-based offset jump.
+ This is the cause of this warning.
+
+ In practice, we know it doesn't matter whether PC-based reference or GOT-
+ based. As for this case, both will work before/after relocation. But let's
+ fix the code.
+
+ This patch explicitly sets up a target address, then jump there.
+ Here's an example of disassembled code with/without this patch.
+
+ 90000668: 1485ffef bne a0,a1,90000628 <mips_cache_reset+0x20>
+ 9000066c: ac80fffc sw zero,-4(a0)
+ 90000670: 01402821 move a1,t2
+ -90000674: 0411ffba bal 90000560 <mips_init_icache>
+ -90000678: 01803021 move a2,t4
+ -9000067c: 01602821 move a1,t3
+ -90000680: 0411ffcc bal 900005b4 <mips_init_dcache>
+ -90000684: 01a03021 move a2,t5
+ -90000688: 03000008 jr t8
+ -9000068c: 00000000 nop
+ +90000674: 01803021 move a2,t4
+ +90000678: 8f8f83ec lw t7,-31764(gp)
+ +9000067c: 01e0f809 jalr t7
+ +90000680: 00000000 nop
+ +90000684: 01602821 move a1,t3
+ +90000688: 01a03021 move a2,t5
+ +9000068c: 8f8f81e0 lw t7,-32288(gp)
+ +90000690: 01e0f809 jalr t7
+ +90000694: 00000000 nop
+ +90000698: 03000008 jr t8
+ +9000069c: 00000000 nop
+
+ Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
+
+commit 0f8c62a14b523c56874ebcb67c1a16c99aad48b3
+Author: Vlad Lungu <vlad.lungu@windriver.com>
+Date: Mon May 5 14:04:00 2008 +0300
+
+ Allow building mips versions with ELDK 3.1.1
+
+ .gpword works only with local symbols on certain binutils versions
+
+ Signed-off-by: Vlad Lungu <vlad.lungu@windrvier.com>
+
+commit 12a67a9e51f6b3ec26cb0f077fb5685a447c359d
+Author: Wolfgang Denk <wd@denx.de>
+Date: Mon May 5 12:52:36 2008 +0200
+
+ MAKEALL: add inka4x0 board
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit b83dcc13ae7b2dab394bfef6f699750d11490ee2
+Author: Wolfgang Denk <wd@denx.de>
+Date: Sun May 4 21:34:23 2008 +0200
+
+ kb9202 board: fix build problem.
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit 6adf61dc4cb5c53a2df990cbc8df2bceacbfd869
+Author: Wolfgang Denk <wd@denx.de>
+Date: Sun May 4 12:10:33 2008 +0200
+
+ Prepare for v1.3.3-rc3
+
+ Update ChNAGELOG, minor white space cleanup.
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
commit 7c0773fde6100b61be2558cb5d8c442a3194aecb
Author: Wolfgang Denk <wd@denx.de>
Date: Sun May 4 00:35:15 2008 +0200
dbau1x00 MIPS32 Au1000
gth2 MIPS32 Au1000
-Vlad Lungu <vlad@comsys.ro>
+Vlad Lungu <vlad.lungu@windriver.com>
qemu_mips MIPS32
#########################################################################
TQM8260_AC \
TQM8260_AD \
TQM8260_AE \
+ TQM8272 \
ZPC1900 \
"
VERSION = 1
PATCHLEVEL = 3
SUBLEVEL = 3
-EXTRAVERSION = -rc3
+EXTRAVERSION =
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
VERSION_FILE = $(obj)include/version_autogenerated.h
# This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.
# the dep file is only include in this top level makefile to determine when
# to regenerate the autoconf.mk file.
-$(obj)include/autoconf.mk: $(obj)include/config.h $(VERSION_FILE)
- @$(XECHO) Generating include/autoconf.mk ; \
+$(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h
+ @$(XECHO) Generating $@ ; \
set -e ; \
: Generate the dependancies ; \
- $(CC) -x c -M $(HOST_CFLAGS) $(CPPFLAGS) -MQ $@ include/common.h > $@.dep ; \
+ $(CC) -x c -DDO_DEPS_ONLY -M $(HOST_CFLAGS) $(CPPFLAGS) \
+ -MQ $(obj)include/autoconf.mk include/common.h > $@
+
+$(obj)include/autoconf.mk: $(obj)include/config.h
+ @$(XECHO) Generating $@ ; \
+ set -e ; \
: Extract the config macros ; \
- $(CPP) $(CFLAGS) -dM include/common.h | sed -n -f tools/scripts/define2mk.sed > $@
+ $(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \
+ sed -n -f tools/scripts/define2mk.sed > $@
sinclude $(obj)include/autoconf.mk.dep
CONFIG_CMD_SPI * SPI serial bus support
CONFIG_CMD_USB * USB support
CONFIG_CMD_VFD * VFD support (TRAB)
- CONFIG_CMD_BSP * Board SPecific functions
CONFIG_CMD_CDP * Cisco Discover Protocol support
CONFIG_CMD_FSL * Microblaze FSL support
#include <command.h>
#include <common.h>
#include <malloc.h>
+#include <environment.h>
#include <linux/types.h>
#include <api_public.h>
/* U-Boot routines needed */
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-extern uchar *env_get_addr(int);
/*****************************************************************************
*
va_list ap;
int rv;
- if (call < 0 || call >= calls_no || calls_table[call] == NULL) {
+ if (call < 0 || call >= calls_no) {
debugf("invalid call #%d\n", call);
return 0;
}
# MA 02111-1307 USA
#
-sinclude $(TOPDIR)/board/$(BOARDDIR)/textbase.mk
+sinclude $(OBJTREE)/board/$(BOARDDIR)/textbase.mk
ifndef TEXT_BASE
TEXT_BASE = 0xFE000000
endif
val[3] = gd->bd->bi_flashsize;
rc = fdt_find_and_setprop(blob, "/plb/opb/ebc", "ranges",
val, sizeof(val), 1);
- if (rc)
+ if (rc) {
printf("Unable to update property NOR mapping, err=%s\n",
fdt_strerror(rc));
+ }
+
+ if (gd->board_type == BOARD_CANYONLANDS_SATA) {
+ /*
+ * When SATA is selected we need to disable the first PCIe
+ * node in the device tree, so that Linux doesn't initialize
+ * it.
+ */
+ rc = fdt_find_and_setprop(blob, "/plb/pciex@d00000000", "status",
+ "disabled", sizeof("disabled"), 1);
+ if (rc) {
+ printf("Unable to update property status in PCIe node, err=%s\n",
+ fdt_strerror(rc));
+ }
+ }
+
+ if (gd->board_type == BOARD_CANYONLANDS_PCIE) {
+ /*
+ * When PCIe is selected we need to disable the SATA
+ * node in the device tree, so that Linux doesn't initialize
+ * it.
+ */
+ rc = fdt_find_and_setprop(blob, "/plb/sata@bffd1000", "status",
+ "disabled", sizeof("disabled"), 1);
+ if (rc) {
+ printf("Unable to update property status in PCIe node, err=%s\n",
+ fdt_strerror(rc));
+ }
+ }
}
#endif /* defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) */
# AMCC 460EX/460GT Evaluation Board (Canyonlands) board
#
-sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp
+sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
ifndef TEXT_BASE
TEXT_BASE = 0xFFFA0000
endif
-ifeq ($(CONFIG_NAND_U_BOOT),y)
-LDSCRIPT = $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
-endif
-
-ifeq ($(CONFIG_PCIBOOT_U_BOOT),y)
-LDSCRIPT = $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
-endif
-
PLATFORM_CPPFLAGS += -DCONFIG_440=1
ifeq ($(debug),1)
return 0;
}
-int board_emac_count(void)
+static int is_405exr(void)
{
u32 pvr = get_pvr();
+ if (pvr & 0x00000004)
+ return 0; /* bit 2 set -> 405EX */
+
+ return 1; /* bit 2 cleared -> 405EXr */
+}
+
+int board_emac_count(void)
+{
/*
* 405EXr only has one EMAC interface, 405EX has two
*/
- if ((pvr == PVR_405EXR1_RA) || (pvr == PVR_405EXR2_RA))
+ if (is_405exr())
return 1;
else
return 2;
static int board_pcie_count(void)
{
- u32 pvr = get_pvr();
-
/*
* 405EXr only has one EMAC interface, 405EX has two
*/
- if ((pvr == PVR_405EXR1_RA) || (pvr == PVR_405EXR2_RA))
+ if (is_405exr())
return 1;
else
return 2;
int checkboard (void)
{
char *s = getenv("serial#");
- u32 pvr = get_pvr();
- if ((pvr == PVR_405EXR1_RA) || (pvr == PVR_405EXR2_RA))
+ if (is_405exr())
printf("Board: Haleakala - AMCC PPC405EXr Evaluation Board");
else
printf("Board: Kilauea - AMCC PPC405EX Evaluation Board");
#
# (C) Copyright 2003-2008
-# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# See file CREDITS for list of people who contributed to this
# project.
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
#include <common.h>
#include <asm/arch/at91cap9.h>
#include <asm/arch/at91cap9_matrix.h>
-#include <asm/arch/at91sam926x_mc.h>
+#include <asm/arch/at91sam9_smc.h>
#include <asm/arch/at91_pmc.h>
#include <asm/arch/at91_rstc.h>
#include <asm/arch/gpio.h>
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* (C) Copyright 2006 ATMEL Rousset, Lacressonniere Nicolas
/*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <ulf@atmel.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
/*
* (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>
+ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
/*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <ulf@atmel.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
#
# (C) Copyright 2003-2008
-# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# See file CREDITS for list of people who contributed to this
# project.
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
#include <common.h>
#include <asm/arch/at91sam9260.h>
#include <asm/arch/at91sam9260_matrix.h>
-#include <asm/arch/at91sam926x_mc.h>
+#include <asm/arch/at91sam9_smc.h>
#include <asm/arch/at91_pmc.h>
#include <asm/arch/at91_rstc.h>
#include <asm/arch/gpio.h>
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* (C) Copyright 2006 ATMEL Rousset, Lacressonniere Nicolas
/*
+ * (C) Copyright 2008
+ * Ulf Samuelsson <ulf@atmel.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
/*
* (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>
+ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
# 0x00100000 boot from RAM (for testing only)
#
-sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp
+sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
ifndef TEXT_BASE
## Standard: boot high
uint pci_slot = get_pci_slot ();
uint cpu_board_rev = get_cpu_board_revision ();
+ uint svr;
printf ("Board: CDS Version 0x%02x, PCI Slot %d\n",
get_board_version (), pci_slot);
*/
local_bus_init ();
+ svr = get_svr();
+
/*
* Fix CPU2 errata: A core hang possible while executing a
* msync instruction and a snoopable transaction from an I/O
* master tagged to make quick forward progress is present.
+ * Fixed in Silicon Rev.2.1
*/
- ecm->eebpcr |= (1 << 16);
+ if (!(SVR_MAJ(svr) >= 2 && SVR_MIN(svr) >= 1))
+ ecm->eebpcr |= (1 << 16);
/*
* Hack TSEC 3 and 4 IO voltages.
include $(TOPDIR)/config.mk
-LIB = lib$(BOARD).a
+LIB = $(obj)lib$(BOARD).a
OBJS = $(BOARD).o ide.o hwctl.o avr.o
-$(LIB): .depend $(OBJS) $(SOBJS)
- $(AR) crv $@ $(OBJS) $(SOBJS)
+SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS := $(addprefix $(obj),$(OBJS))
+
+$(LIB): $(obj).depend $(OBJS)
+ $(AR) crv $@ $(OBJS)
#########################################################################
-.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
- $(CC) -M $(CFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
-sinclude .depend
+sinclude $(obj).depend
#########################################################################
# 0x07F00000 boot from RAM
#
-sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp
+sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
ifndef TEXT_BASE
# For flash image - all models
# 0xFFF00000 boot high (standard configuration)
#
-sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp
+sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
ifndef TEXT_BASE
TEXT_BASE = 0xFFF00000
mov r1, #CS4_BASE
ldrh r1, [r1, #0x2]
/* Is 27MHz switch set? */
- ands r1, r1, #0x16
+ ands r1, r1, #0x10
/* 532-133-66.5 */
ldr r0, =CCM_BASE
-By Vlad Lungu vlad@comsys.ro 2007-Oct-01
+By Vlad Lungu vlad.lungu@windriver.com 2007-Oct-01
----------------------------------------
Qemu is a full system emulator. See
Supports the "-m mips" configuration of qemu: serial,NE2000,IDE.
Support is big endian only for now (or at least this is what I tested).
Derived from au1x00 with a lot of things cut out.
+
+Supports emulated flash (patch Jean-Christophe PLAGNIOL-VILLARD) with
+recent qemu versions. When using emulated flash, launch with
+-pflash <filename> and erase mips_bios.bin.
/*
* (C) Copyright 2007
- * Vlad Lungu vlad@comsys.ro
+ * Vlad Lungu vlad.lungu@windriver.com
*
* See file CREDITS for list of people who contributed to this
* project.
jmp *%ebp /* return to caller */
-.globl __show_boot_progress
-__show_boot_progress:
+.globl show_boot_progress
+show_boot_progress:
out %al, $0x80
xchg %al, %ah
movw $0x680, %dx
SOBJS := $(addprefix $(obj),$(SOBJS))
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
- $(AR) $(ARFLAGS) $@ $(OBJS)
+ $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
clean:
rm -f $(SOBJS) $(OBJS)
#define PROBE_BUFFER_SIZE 1024
static unsigned char buffer[PROBE_BUFFER_SIZE];
-
#define SC520_MAX_FLASH_BANKS 1
#define SC520_FLASH_BANK0_BASE 0x38000000 /* BOOTCS */
#define SC520_FLASH_BANKSIZE 0x8000000
/*-----------------------------------------------------------------------
*/
-
static u32 _probe_flash(u32 addr, u32 bw, int il)
{
u32 result=0;
break;
}
-
return result;
}
enable_interrupts();
}
-
vendor = res >> 16;
device = res & 0xffff;
-
return res;
}
break;
}
-
printf(" Size: %ld MB in %d Sectors\n",
info->size >> 20, info->sector_count);
}
printf ("\n");
- done:
+done:
+ return;
}
/*-----------------------------------------------------------------------
*/
-
static u32 _amd_erase_flash(u32 addr, u32 sector)
{
unsigned elapsed;
*(volatile u16*)(addr + sector) = 0x0020; /* erase setup */
*(volatile u16*)(addr + sector) = 0x00D0; /* erase confirm */
-
/* Wait at least 80us - let's wait 1 ms */
__udelay(1000);
return 0;
}
-
extern int _intel_erase_flash_end;
asm ("_intel_erase_flash_end:\n"
".long 0\n");
printf ("\n");
}
-
/* Start erase on unprotected sectors */
for (sect = s_first; sect<=s_last; sect++) {
enable_interrupts();
}
-
if (res) {
printf("Erase timed out, sector %d\n", sect);
return res;
}
}
-
return 0;
}
* 1 - write timeout
* 2 - Flash not erased
*/
-static int _amd_write_word(unsigned start, unsigned dest, unsigned data)
+static int _amd_write_word(unsigned start, unsigned dest, u16 data)
{
- volatile u16 *addr2 = (u16*)start;
- volatile u16 *dest2 = (u16*)dest;
- volatile u16 *data2 = (u16*)&data;
+ volatile u16 *addr2 = (volatile u16*)start;
+ volatile u16 *dest2 = (volatile u16*)dest;
+ volatile u16 *data2 = (volatile u16*)&data;
int i;
unsigned elapsed;
for (i = 0; i < 2; i++) {
-
addr2[0x5555] = 0x00AA;
addr2[0x2aaa] = 0x0055;
addr2[0x5555] = 0x00A0;
asm ("_amd_write_word_end:\n"
".long 0\n");
-
static int _intel_write_word(unsigned start, unsigned dest, unsigned data)
{
int i;
return 0;
-
}
extern int _intel_write_word_end;
asm ("_intel_write_word_end:\n"
".long 0\n");
-
/*-----------------------------------------------------------------------
* Copy memory to flash, returns:
* 0 - OK
return 3;
}
-
wp = (addr & ~3); /* get lower word aligned address */
-
/*
* handle unaligned start bytes
*/
}
return rc;
-
}
jmp *%ebp /* return to caller */
-.globl __show_boot_progress
-__show_boot_progress:
+.globl show_boot_progress
+show_boot_progress:
movl $0xfffefc32,%edx
xorw $0xffff, %ax
movw %ax,(%edx)
#
-# (C) Copyright 2001
+# (C) Copyright 2001-2008
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# See file CREDITS for list of people who contributed to this
#
include $(TOPDIR)/config.mk
+ifneq ($(OBJTREE),$(SRCTREE))
+$(shell mkdir -p $(obj)../tqm8xx/)
+endif
-LIB = lib$(BOARD).a
+LIB = $(obj)lib$(BOARD).a
-OBJS = $(BOARD).o ../tqm8xx/load_sernum_ethaddr.o
+COBJS = $(BOARD).o ../tqm8xx/load_sernum_ethaddr.o
-$(LIB): .depend $(OBJS)
- $(AR) crv $@ $(OBJS)
+SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS := $(addprefix $(obj),$(COBJS))
+SOBJS := $(addprefix $(obj),$(SOBJS))
+
+$(LIB): $(obj).depend $(OBJS)
+ $(AR) $(ARFLAGS) $@ $(OBJS)
#########################################################################
-.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
- $(CC) -M $(CFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
-sinclude .depend
+sinclude $(obj).depend
#########################################################################
# MarelV38B board
#
-sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp
+sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
TEXT_BASE = 0xFF000000
}
show_boot_progress (105);
-#ifdef CONFIG_LOGBUFFER
-#ifndef CONFIG_ALT_LB_ADDR
- kbd=gd->bd;
- /* Prevent initrd from overwriting logbuffer */
- if (initrd_high < (kbd->bi_memsize-LOGBUFF_LEN-LOGBUFF_OVERHEAD))
- initrd_high = kbd->bi_memsize-LOGBUFF_LEN-LOGBUFF_OVERHEAD;
- debug ("## Logbuffer at 0x%08lX ", kbd->bi_memsize-LOGBUFF_LEN);
-#else
- debug ("## Logbuffer at 0x%08lX ", CONFIG_ALT_LB_ADDR);
-#endif
-#endif
if (!fit_image_check_target_arch (fit, os_noffset)) {
puts ("Unsupported Architecture\n");
show_boot_progress (-105);
# include <status_led.h>
#endif
-#ifndef __PPC__
-#include <asm/io.h>
-#endif
-
#ifdef CONFIG_IDE_8xx_DIRECT
DECLARE_GLOBAL_DATA_PTR;
#endif
/************************************************************************
************************************************************************/
-/* Function that returns a pointer to a value from the environment */
-/* (Only memory version supported / needed). */
-extern uchar *env_get_addr(int);
-
-/* Function that updates CRC of the enironment */
-extern void env_crc_update (void);
-
-/************************************************************************
-************************************************************************/
-
/*
* Table with supported baudrates (defined in config_xyz.h)
*/
extern uchar env_get_char_spec(int);
static uchar env_get_char_init (int index);
+uchar (*env_get_char)(int) = env_get_char_init;
/************************************************************************
* Default settings to be used when no valid environment is found
}
#endif
-uchar env_get_char (int index)
-{
- uchar c;
-
- /* if relocated to RAM */
- if (gd->flags & GD_FLG_RELOC)
- c = env_get_char_memory(index);
- else
- c = env_get_char_init(index);
-
- return (c);
-}
-
uchar *env_get_addr (int index)
{
if (gd->env_valid) {
DEBUGF ("%s[%d] malloced ENV at %p\n", __FUNCTION__,__LINE__,env_ptr);
#endif
+ /*
+ * After relocation to RAM, we can always use the "memory" functions
+ */
+ env_get_char = env_get_char_memory;
+
if (gd->env_valid == 0) {
#if defined(CONFIG_GTH) || defined(CFG_ENV_IS_NOWHERE) /* Environment not changable */
puts ("Using default environment\n\n");
char * env_name_spec = "EEPROM";
-extern uchar env_get_char_memory (int index);
-
-
uchar env_get_char_spec (int index)
{
uchar c;
extern uchar default_environment[];
extern int default_environment_size;
-extern uchar env_get_char_memory (int index);
-
#ifdef CONFIG_AMIGAONEG3SE
uchar env_get_char_spec (int index)
{
/********************************************************************/
-
void ft_setup(void *blob, bd_t * bd, ulong initrd_start, ulong initrd_end)
{
u32 *p;
* MA 02111-1307 USA
*/
-
#ifndef USE_HOSTCC
#include <common.h>
#include <watchdog.h>
#include <dataflash.h>
#endif
-#ifdef CONFIG_LOGBUFFER
-#include <logbuff.h>
-#endif
-
#if defined(CONFIG_TIMESTAMP) || defined(CONFIG_CMD_DATE)
#include <rtc.h>
#endif
{ IH_ARCH_MIPS64, "mips64", "MIPS 64 Bit", },
{ IH_ARCH_NIOS, "nios", "NIOS", },
{ IH_ARCH_NIOS2, "nios2", "NIOS II", },
+ { IH_ARCH_PPC, "powerpc", "PowerPC", },
{ IH_ARCH_PPC, "ppc", "PowerPC", },
{ IH_ARCH_S390, "s390", "IBM S390", },
{ IH_ARCH_SH, "sh", "SuperH", },
{
int i;
uint32_t *size;
- ulong offset, tail, count, img_data;
+ ulong offset, count, img_data;
/* get number of component */
count = image_multi_count (hdr);
if (idx < count) {
*len = uimage_to_cpu (size[idx]);
offset = 0;
- tail = 0;
/* go over all indices preceding requested component idx */
for (i = 0; i < idx; i++) {
- /* add up i-th component size */
- offset += uimage_to_cpu (size[i]);
-
- /* add up alignment for i-th component */
- tail += (4 - uimage_to_cpu (size[i]) % 4);
+ /* add up i-th component size, rounding up to 4 bytes */
+ offset += (uimage_to_cpu (size[i]) + 3) & ~3 ;
}
/* calculate idx-th component data address */
- *data = img_data + offset + tail;
+ *data = img_data + offset;
} else {
*len = 0;
*data = 0;
#include <post.h>
-#if defined(CONFIG_SILENT_CONSOLE) || defined(CONFIG_POST)
+#if defined(CONFIG_SILENT_CONSOLE) || defined(CONFIG_POST) || defined(CONFIG_CMDLINE_EDITING)
DECLARE_GLOBAL_DATA_PTR;
#endif
char console_buffer[CFG_CBSIZE]; /* console I/O buffer */
-#ifndef CONFIG_CMDLINE_EDITING
static char * delete_char (char *buffer, char *p, int *colp, int *np, int plen);
static char erase_seq[] = "\b \b"; /* erase sequence */
static char tab_seq[] = " "; /* used to expand TABs */
-#endif /* CONFIG_CMDLINE_EDITING */
#ifdef CONFIG_BOOT_RETRY_TIME
static uint64_t endtime = 0; /* must be set, default is instant timeout */
initted = 1;
}
- puts (prompt);
- rc = cread_line(prompt, p, &len);
- return rc < 0 ? rc : len;
-#else
+ /*
+ * History uses a global array which is not
+ * writable until after relocation to RAM.
+ * Revert to non-history version if still
+ * running from flash.
+ */
+ if (gd->flags & GD_FLG_RELOC) {
+ if (!initted) {
+ hist_init();
+ initted = 1;
+ }
+
+ puts (prompt);
+
+ rc = cread_line(prompt, p, &len);
+ return rc < 0 ? rc : len;
+
+ } else {
+#endif /* CONFIG_CMDLINE_EDITING */
char * p_buf = p;
int n = 0; /* buffer index */
int plen = 0; /* prompt length */
}
}
}
-#endif /* CONFIG_CMDLINE_EDITING */
+#ifdef CONFIG_CMDLINE_EDITING
+ }
+#endif
}
/****************************************************************************/
-#ifndef CONFIG_CMDLINE_EDITING
static char * delete_char (char *buffer, char *p, int *colp, int *np, int plen)
{
char *s;
(*np)--;
return (p);
}
-#endif /* CONFIG_CMDLINE_EDITING */
/****************************************************************************/
/* silence compiler warning if USB_BUFSIZ is > 256 [= sizeof(char)] */
i = descriptor->bLength;
if (i > USB_BUFSIZ) {
- USB_HUB_PRINTF("usb_hub_configure: failed to get hub descriptor - too long: %d\N",
+ USB_HUB_PRINTF("usb_hub_configure: failed to get hub descriptor - too long: %d\n",
descriptor->bLength);
return -1;
}
blr
/*
- * Invalidate L2 cache using L2I and polling L2IP
+ * Invalidate L2 cache using L2I and polling L2IP or L2I
*/
_GLOBAL(l2cache_invalidate)
sync
+ mfspr r3, l2cr
oris r3, r3, L2CR_L2I@h
sync
mtspr l2cr, r3
sync
+ mfspr r3, PVR
+ sync
+ rlwinm r3, r3, 16,16,31
+ cmpli 0,r3,0x8000 /* 7451, 7441 */
+ beq 0,inv_7450
+ cmpli 0,r3,0x8001 /* 7455, 7445 */
+ beq 0,inv_7450
+ cmpli 0,r3,0x8002 /* 7457, 7447 */
+ beq 0,inv_7450
+ cmpli 0,r3,0x8003 /* 7447A */
+ beq 0,inv_7450
+ cmpli 0,r3,0x8004 /* 7448 */
+ beq 0,inv_7450
invl2:
mfspr r3, l2cr
andi. r3, r3, L2CR_L2IP
mtspr l2cr, r3
sync
blr
+inv_7450:
+ mfspr r3, l2cr
+ andis. r3, r3, L2CR_L2I@h
+ bne inv_7450
+ blr
/*
* Enable L2 cache
(mfd * pd)) << 10;
}
-u32 mx31_get_mpl_dpdgck_clk(void)
+static u32 mx31_get_mpl_dpdgck_clk(void)
{
u32 infreq;
return mx31_decode_pll(__REG(CCM_MPCTL), infreq);
}
-u32 mx31_get_mcu_main_clk(void)
+static u32 mx31_get_mcu_main_clk(void)
{
/* For now we assume mpl_dpdgck_clk == mcu_main_clk
* which should be correct for most boards
}
# endif /* defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) */
-#endif /* defined(CONFIG_USB_OHCI) && defined(CFG_USB_OHCI_CPU_INIT) */
+#endif /* defined(CONFIG_USB_OHCI_NEW) && defined(CFG_USB_OHCI_CPU_INIT) */
#
# (C) Copyright 2000-2008
-# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# See file CREDITS for list of people who contributed to this
# project.
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
* AT91CAP9/SAM9 setup stuff
*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
/*
* (C) Copyright 2006
- * DENX Software Engineering <mk <at> denx.de>
+ * DENX Software Engineering <mk@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
/* so we try to indicate progress */
movw $0x01, %ax
movl $.progress0, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress0:
/* size memory */
/* indicate (lack of) progress */
movw $0x81, %ax
movl $.progress0a, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress0a:
jmp die
mem_ok:
/* indicate progress */
movw $0x02, %ax
movl $.progress1, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress1:
/* create a stack after the bss */
/* indicate (lack of) progress */
movw $0x82, %ax
movl $.progress1a, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress1a:
jmp die
/* indicate progress */
movw $0x03, %ax
movl $.progress2, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress2:
/* copy data section to ram, size must be 4-byte aligned */
/* indicate (lack of) progress */
movw $0x83, %ax
movl $.progress2a, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress2a:
jmp die
/* indicate progress */
movw $0x04, %ax
movl $.progress3, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress3:
/* clear bss section in ram, size must be 4-byte aligned */
/* indicate (lack of) progress */
movw $0x84, %ax
movl $.progress3a, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress3a:
jmp die
/* indicate progress */
movw $0x05, %ax
movl $.progress4, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress4:
call start_i386boot /* Enter, U-boot! */
/* indicate (lack of) progress */
movw $0x85, %ax
movl $.progress4a, %ebp
- jmp __show_boot_progress
+ jmp show_boot_progress
.progress4a:
die: hlt
*/
move a1, t2
move a2, t4
- bal mips_init_icache
+ PTR_LA t7, mips_init_icache
+ jalr t7
/*
* then initialize D-cache.
*/
move a1, t3
move a2, t5
- bal mips_init_dcache
+ PTR_LA t7, mips_init_dcache
+ jalr t7
jr RA
END(mips_cache_reset)
invl2:
mfspr r3, l2cr
- andi. r3, r3, L2CR_L2I@h
+ andis. r3, r3, L2CR_L2I@h
bne invl2
blr
strcpy(addstr, "No Security support");
break;
+ case PVR_405EX1_RC:
+ puts("EX Rev. C");
+ strcpy(addstr, "Security support");
+ break;
+
+ case PVR_405EX2_RC:
+ puts("EX Rev. C");
+ strcpy(addstr, "No Security support");
+ break;
+
+ case PVR_405EXR1_RC:
+ puts("EXr Rev. C");
+ strcpy(addstr, "Security support");
+ break;
+
+ case PVR_405EXR2_RC:
+ puts("EXr Rev. C");
+ strcpy(addstr, "No Security support");
+ break;
+
#if defined(CONFIG_440)
case PVR_440GP_RB:
puts("GP Rev. B");
lbaint_t lba512;
#endif
- if (dev_desc->type==DEV_TYPE_UNKNOWN) {
- puts ("not available\n");
- return;
- }
- if (dev_desc->if_type==IF_TYPE_SCSI) {
- printf ("(%d:%d) ", dev_desc->target,dev_desc->lun);
- }
- if (dev_desc->if_type==IF_TYPE_IDE) {
- printf ("Model: %s Firm: %s Ser#: %s\n",
+ switch (dev_desc->type) {
+ case IF_TYPE_SCSI:
+ printf ("(%d:%d) Vendor: %s Prod.: %s Rev: %s\n",
+ dev_desc->target,dev_desc->lun,
dev_desc->vendor,
- dev_desc->revision,
- dev_desc->product);
- }
- if (dev_desc->if_type==IF_TYPE_SATA) {
+ dev_desc->product,
+ dev_desc->revision);
+ break;
+ case IF_TYPE_IDE:
+ case IF_TYPE_SATA:
printf ("Model: %s Firm: %s Ser#: %s\n",
dev_desc->vendor,
dev_desc->revision,
dev_desc->product);
- } else {
- printf ("Vendor: %s Prod.: %s Rev: %s\n",
- dev_desc->vendor,
- dev_desc->product,
- dev_desc->revision);
+ break;
+ case DEV_TYPE_UNKNOWN:
+ default:
+ puts ("not available\n");
+ return;
}
puts (" Type: ");
if (dev_desc->removable)
puts ("Removable ");
switch (dev_desc->type & 0x1F) {
- case DEV_TYPE_HARDDISK: puts ("Hard Disk");
- break;
- case DEV_TYPE_CDROM: puts ("CD ROM");
- break;
- case DEV_TYPE_OPDISK: puts ("Optical Device");
- break;
- case DEV_TYPE_TAPE: puts ("Tape");
- break;
- default: printf ("# %02X #", dev_desc->type & 0x1F);
- break;
+ case DEV_TYPE_HARDDISK:
+ puts ("Hard Disk");
+ break;
+ case DEV_TYPE_CDROM:
+ puts ("CD ROM");
+ break;
+ case DEV_TYPE_OPDISK:
+ puts ("Optical Device");
+ break;
+ case DEV_TYPE_TAPE:
+ puts ("Tape");
+ break;
+ default:
+ printf ("# %02X #", dev_desc->type & 0x1F);
+ break;
}
puts ("\n");
if ((dev_desc->lba * dev_desc->blksz)>0L) {
{
puts ("\nPartition Map for ");
switch (dev_desc->if_type) {
- case IF_TYPE_IDE: puts ("IDE");
- break;
- case IF_TYPE_SATA: puts ("SATA");
- break;
- case IF_TYPE_SCSI: puts ("SCSI");
- break;
- case IF_TYPE_ATAPI: puts ("ATAPI");
- break;
- case IF_TYPE_USB: puts ("USB");
- break;
- case IF_TYPE_DOC: puts ("DOC");
- break;
- default: puts ("UNKNOWN");
- break;
+ case IF_TYPE_IDE:
+ puts ("IDE");
+ break;
+ case IF_TYPE_SATA:
+ puts ("SATA");
+ break;
+ case IF_TYPE_SCSI:
+ puts ("SCSI");
+ break;
+ case IF_TYPE_ATAPI:
+ puts ("ATAPI");
+ break;
+ case IF_TYPE_USB:
+ puts ("USB");
+ break;
+ case IF_TYPE_DOC:
+ puts ("DOC");
+ break;
+ default:
+ puts ("UNKNOWN");
+ break;
}
printf (" device %d -- Partition Type: %s\n\n",
dev_desc->dev, type);
completely without NOR FLASH. This can be done by using the NAND
boot feature of the 440 NAND flash controller (NDFC).
-Here a short desciption of the different boot stages:
+Here a short description of the different boot stages:
a) IPL (Initial Program Loader, integrated inside CPU)
------------------------------------------------------
/*
* SMSC LAN9[12]1[567] Network driver
*
- * (c) 2007 Pengutronix, Sascha Hauer <s.hauer <at> pengutronix.de>
+ * (c) 2007 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*/
unsigned long pci_hose_phys_to_bus (struct pci_controller *hose,
- unsigned long phys_addr,
+ phys_addr_t phys_addr,
unsigned long flags)
{
struct pci_region *res;
return 0;
}
-unsigned long pci_hose_bus_to_phys(struct pci_controller* hose,
- unsigned long bus_addr,
- unsigned long flags)
+phys_addr_t pci_hose_bus_to_phys(struct pci_controller* hose,
+ unsigned long bus_addr,
+ unsigned long flags)
{
struct pci_region *res;
int i;
dev < PCI_BDF(bus,PCI_MAX_PCI_DEVICES-1,PCI_MAX_PCI_FUNCTIONS-1);
dev += PCI_BDF(0,0,1))
{
-
- /* Bus 0 is not necessarily PCI bridge. */
-#if defined(CONFIG_PCI_SKIP_HOST_BRIDGE)
/* Skip our host bridge */
if ( dev == PCI_BDF(hose->first_busno,0,0) ) {
#if defined(CONFIG_PCI_CONFIG_HOST_BRIDGE) /* don't skip host bridge */
if (getenv("pciconfighost") == NULL) {
continue; /* Skip our host bridge */
}
-#else /* CONFIG_PCI_CONFIG_HOST_BRIDGE */
+#else
continue; /* Skip our host bridge */
-#endif /* CONFIG_PCI_CONFIG_HOST_BRIDGE */
+#endif
}
-#endif /* CONFIG_PCI_SKIP_HOST_BRIDGE */
if (PCI_FUNC(dev) && !found_multi)
continue;
hose->fixup_irq(hose, dev);
#ifdef CONFIG_PCI_SCAN_SHOW
-#if defined(CONFIG_PCI_SKIP_HOST_BRIDGE)
/* Skip our host bridge */
- if ( dev != PCI_BDF(hose->first_busno,0,0) )
-#endif
- {
+ if ( dev != PCI_BDF(hose->first_busno,0,0) ) {
unsigned char int_line;
pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_LINE,
LIB := $(obj)libpcmcia.a
+COBJS-$(CONFIG_I82365) += i82365.o
COBJS-y += mpc8xx_pcmcia.o
COBJS-y += pxa_pcmcia.o
COBJS-y += rpx_pcmcia.o
#include <common.h>
-#ifdef CONFIG_I82365
-
#include <command.h>
#include <pci.h>
#include <pcmcia.h>
ide[4], ide[5], ide[6], ide[7]);
}
#endif /* DEBUG */
-
-#endif /* CONFIG_I82365 */
+/82559_eeprom
/hello_world
/interrupt
+/mem_to_mem_idma2intr
+/test_burst
+/timer
/sched
/smc91111_eeprom
*.bin
/autoconf.mk*
/asm
-/asm-blackfin/arch
-/asm-ppc/arch
+/asm-*/arch
+/asm-*/proc
/bmp_logo.h
/config.h
/config.mk
/*
- * include/asm-arm/arch-at91/at91_pio.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_pio.h]
*
* Copyright (C) 2005 Ivan Kokshaysky
* Copyright (C) SAN People
/*
- * include/asm-arm/arch-at91/at91_pit.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_pit.h]
+ *
+ * Copyright (C) 2007 Andrew Victor
+ * Copyright (C) 2007 Atmel Corporation.
*
* Periodic Interval Timer (PIT) - System peripherals regsters.
* Based on AT91SAM9261 datasheet revision D.
/*
- * include/asm-arm/arch-at91/at91_pmc.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_pmc.h]
*
* Copyright (C) 2005 Ivan Kokshaysky
* Copyright (C) SAN People
/*
- * include/asm-arm/arch-at91/at91_rstc.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_rstc.h]
+ *
+ * Copyright (C) 2007 Andrew Victor
+ * Copyright (C) 2007 Atmel Corporation.
*
* Reset Controller (RSTC) - System peripherals regsters.
* Based on AT91SAM9261 datasheet revision D.
/*
- * include/asm-arm/arch-at91/at91_spi.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91_spi.h]
*
* Copyright (C) 2005 Ivan Kokshaysky
* Copyright (C) SAN People
/*
- * include/asm-arm/arch-at91/at91cap9.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91cap9.h]
*
* Copyright (C) 2007 Stelian Pop <stelian.pop@leadtechdesign.com>
* Copyright (C) 2007 Lead Tech Design <www.leadtechdesign.com>
/*
- * include/asm-arm/arch-at91/at91cap9_matrix.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91cap9_matrix.h]
*
* Copyright (C) 2007 Stelian Pop <stelian.pop@leadtechdesign.com>
* Copyright (C) 2007 Lead Tech Design <www.leadtechdesign.com>
/*
- * include/asm-arm/arch-at91/at91sam9260.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91sam9260.h]
*
* (C) 2006 Andrew Victor
*
/*
- * include/asm-arm/arch-at91/at91sam9260_matrix.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91sam9260_matrix.h]
+ *
+ * Copyright (C) 2007 Atmel Corporation.
*
* Memory Controllers (MATRIX, EBI) - System peripherals registers.
* Based on AT91SAM9260 datasheet revision B.
+++ /dev/null
-/*
- * include/asm-arm/arch-at91/at91sam926x_mc.h
- *
- * Memory Controllers (SMC, SDRAMC) - System peripherals registers.
- * Based on AT91SAM9261 datasheet revision D.
- *
- * 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.
- */
-
-#ifndef AT91SAM926x_MC_H
-#define AT91SAM926x_MC_H
-
-/* SDRAM Controller (SDRAMC) registers */
-#define AT91_SDRAMC_MR (AT91_SDRAMC + 0x00) /* SDRAM Controller Mode Register */
-#define AT91_SDRAMC_MODE (0xf << 0) /* Command Mode */
-#define AT91_SDRAMC_MODE_NORMAL 0
-#define AT91_SDRAMC_MODE_NOP 1
-#define AT91_SDRAMC_MODE_PRECHARGE 2
-#define AT91_SDRAMC_MODE_LMR 3
-#define AT91_SDRAMC_MODE_REFRESH 4
-#define AT91_SDRAMC_MODE_EXT_LMR 5
-#define AT91_SDRAMC_MODE_DEEP 6
-
-#define AT91_SDRAMC_TR (AT91_SDRAMC + 0x04) /* SDRAM Controller Refresh Timer Register */
-#define AT91_SDRAMC_COUNT (0xfff << 0) /* Refresh Timer Counter */
-
-#define AT91_SDRAMC_CR (AT91_SDRAMC + 0x08) /* SDRAM Controller Configuration Register */
-#define AT91_SDRAMC_NC (3 << 0) /* Number of Column Bits */
-#define AT91_SDRAMC_NC_8 (0 << 0)
-#define AT91_SDRAMC_NC_9 (1 << 0)
-#define AT91_SDRAMC_NC_10 (2 << 0)
-#define AT91_SDRAMC_NC_11 (3 << 0)
-#define AT91_SDRAMC_NR (3 << 2) /* Number of Row Bits */
-#define AT91_SDRAMC_NR_11 (0 << 2)
-#define AT91_SDRAMC_NR_12 (1 << 2)
-#define AT91_SDRAMC_NR_13 (2 << 2)
-#define AT91_SDRAMC_NB (1 << 4) /* Number of Banks */
-#define AT91_SDRAMC_NB_2 (0 << 4)
-#define AT91_SDRAMC_NB_4 (1 << 4)
-#define AT91_SDRAMC_CAS (3 << 5) /* CAS Latency */
-#define AT91_SDRAMC_CAS_1 (1 << 5)
-#define AT91_SDRAMC_CAS_2 (2 << 5)
-#define AT91_SDRAMC_CAS_3 (3 << 5)
-#define AT91_SDRAMC_DBW (1 << 7) /* Data Bus Width */
-#define AT91_SDRAMC_DBW_32 (0 << 7)
-#define AT91_SDRAMC_DBW_16 (1 << 7)
-#define AT91_SDRAMC_TWR (0xf << 8) /* Write Recovery Delay */
-#define AT91_SDRAMC_TRC (0xf << 12) /* Row Cycle Delay */
-#define AT91_SDRAMC_TRP (0xf << 16) /* Row Precharge Delay */
-#define AT91_SDRAMC_TRCD (0xf << 20) /* Row to Column Delay */
-#define AT91_SDRAMC_TRAS (0xf << 24) /* Active to Precharge Delay */
-#define AT91_SDRAMC_TXSR (0xf << 28) /* Exit Self Refresh to Active Delay */
-
-#define AT91_SDRAMC_LPR (AT91_SDRAMC + 0x10) /* SDRAM Controller Low Power Register */
-#define AT91_SDRAMC_LPCB (3 << 0) /* Low-power Configurations */
-#define AT91_SDRAMC_LPCB_DISABLE 0
-#define AT91_SDRAMC_LPCB_SELF_REFRESH 1
-#define AT91_SDRAMC_LPCB_POWER_DOWN 2
-#define AT91_SDRAMC_LPCB_DEEP_POWER_DOWN 3
-#define AT91_SDRAMC_PASR (7 << 4) /* Partial Array Self Refresh */
-#define AT91_SDRAMC_TCSR (3 << 8) /* Temperature Compensated Self Refresh */
-#define AT91_SDRAMC_DS (3 << 10) /* Drive Strenght */
-#define AT91_SDRAMC_TIMEOUT (3 << 12) /* Time to define when Low Power Mode is enabled */
-#define AT91_SDRAMC_TIMEOUT_0_CLK_CYCLES (0 << 12)
-#define AT91_SDRAMC_TIMEOUT_64_CLK_CYCLES (1 << 12)
-#define AT91_SDRAMC_TIMEOUT_128_CLK_CYCLES (2 << 12)
-
-#define AT91_SDRAMC_IER (AT91_SDRAMC + 0x14) /* SDRAM Controller Interrupt Enable Register */
-#define AT91_SDRAMC_IDR (AT91_SDRAMC + 0x18) /* SDRAM Controller Interrupt Disable Register */
-#define AT91_SDRAMC_IMR (AT91_SDRAMC + 0x1C) /* SDRAM Controller Interrupt Mask Register */
-#define AT91_SDRAMC_ISR (AT91_SDRAMC + 0x20) /* SDRAM Controller Interrupt Status Register */
-#define AT91_SDRAMC_RES (1 << 0) /* Refresh Error Status */
-
-#define AT91_SDRAMC_MDR (AT91_SDRAMC + 0x24) /* SDRAM Memory Device Register */
-#define AT91_SDRAMC_MD (3 << 0) /* Memory Device Type */
-#define AT91_SDRAMC_MD_SDRAM 0
-#define AT91_SDRAMC_MD_LOW_POWER_SDRAM 1
-
-/* Static Memory Controller (SMC) registers */
-#define AT91_SMC_SETUP(n) (AT91_SMC + 0x00 + ((n)*0x10)) /* Setup Register for CS n */
-#define AT91_SMC_NWESETUP (0x3f << 0) /* NWE Setup Length */
-#define AT91_SMC_NWESETUP_(x) ((x) << 0)
-#define AT91_SMC_NCS_WRSETUP (0x3f << 8) /* NCS Setup Length in Write Access */
-#define AT91_SMC_NCS_WRSETUP_(x) ((x) << 8)
-#define AT91_SMC_NRDSETUP (0x3f << 16) /* NRD Setup Length */
-#define AT91_SMC_NRDSETUP_(x) ((x) << 16)
-#define AT91_SMC_NCS_RDSETUP (0x3f << 24) /* NCS Setup Length in Read Access */
-#define AT91_SMC_NCS_RDSETUP_(x) ((x) << 24)
-
-#define AT91_SMC_PULSE(n) (AT91_SMC + 0x04 + ((n)*0x10)) /* Pulse Register for CS n */
-#define AT91_SMC_NWEPULSE (0x7f << 0) /* NWE Pulse Length */
-#define AT91_SMC_NWEPULSE_(x) ((x) << 0)
-#define AT91_SMC_NCS_WRPULSE (0x7f << 8) /* NCS Pulse Length in Write Access */
-#define AT91_SMC_NCS_WRPULSE_(x)((x) << 8)
-#define AT91_SMC_NRDPULSE (0x7f << 16) /* NRD Pulse Length */
-#define AT91_SMC_NRDPULSE_(x) ((x) << 16)
-#define AT91_SMC_NCS_RDPULSE (0x7f << 24) /* NCS Pulse Length in Read Access */
-#define AT91_SMC_NCS_RDPULSE_(x)((x) << 24)
-
-#define AT91_SMC_CYCLE(n) (AT91_SMC + 0x08 + ((n)*0x10)) /* Cycle Register for CS n */
-#define AT91_SMC_NWECYCLE (0x1ff << 0 ) /* Total Write Cycle Length */
-#define AT91_SMC_NWECYCLE_(x) ((x) << 0)
-#define AT91_SMC_NRDCYCLE (0x1ff << 16) /* Total Read Cycle Length */
-#define AT91_SMC_NRDCYCLE_(x) ((x) << 16)
-
-#define AT91_SMC_MODE(n) (AT91_SMC + 0x0c + ((n)*0x10)) /* Mode Register for CS n */
-#define AT91_SMC_READMODE (1 << 0) /* Read Mode */
-#define AT91_SMC_WRITEMODE (1 << 1) /* Write Mode */
-#define AT91_SMC_EXNWMODE (3 << 4) /* NWAIT Mode */
-#define AT91_SMC_EXNWMODE_DISABLE (0 << 4)
-#define AT91_SMC_EXNWMODE_FROZEN (2 << 4)
-#define AT91_SMC_EXNWMODE_READY (3 << 4)
-#define AT91_SMC_BAT (1 << 8) /* Byte Access Type */
-#define AT91_SMC_BAT_SELECT (0 << 8)
-#define AT91_SMC_BAT_WRITE (1 << 8)
-#define AT91_SMC_DBW (3 << 12) /* Data Bus Width */
-#define AT91_SMC_DBW_8 (0 << 12)
-#define AT91_SMC_DBW_16 (1 << 12)
-#define AT91_SMC_DBW_32 (2 << 12)
-#define AT91_SMC_TDF (0xf << 16) /* Data Float Time. */
-#define AT91_SMC_TDF_(x) ((x) << 16)
-#define AT91_SMC_TDFMODE (1 << 20) /* TDF Optimization - Enabled */
-#define AT91_SMC_PMEN (1 << 24) /* Page Mode Enabled */
-#define AT91_SMC_PS (3 << 28) /* Page Size */
-#define AT91_SMC_PS_4 (0 << 28)
-#define AT91_SMC_PS_8 (1 << 28)
-#define AT91_SMC_PS_16 (2 << 28)
-#define AT91_SMC_PS_32 (3 << 28)
-
-#if defined(AT91_SMC1) /* The AT91SAM9263 has 2 Static Memory contollers */
-#define AT91_SMC1_SETUP(n) (AT91_SMC1 + 0x00 + ((n)*0x10)) /* Setup Register for CS n */
-#define AT91_SMC1_PULSE(n) (AT91_SMC1 + 0x04 + ((n)*0x10)) /* Pulse Register for CS n */
-#define AT91_SMC1_CYCLE(n) (AT91_SMC1 + 0x08 + ((n)*0x10)) /* Cycle Register for CS n */
-#define AT91_SMC1_MODE(n) (AT91_SMC1 + 0x0c + ((n)*0x10)) /* Mode Register for CS n */
-#endif
-
-#endif
--- /dev/null
+/*
+ * [origin: Linux kernel include/asm-arm/arch-at91/at91sam9_smc.h]
+ *
+ * Copyright (C) 2007 Andrew Victor
+ * Copyright (C) 2007 Atmel Corporation.
+ *
+ * Static Memory Controllers (SMC) - System peripherals registers.
+ * Based on AT91SAM9261 datasheet revision D.
+ *
+ * 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.
+ */
+
+#ifndef AT91SAM9_SMC_H
+#define AT91SAM9_SMC_H
+
+#define AT91_SMC_SETUP(n) (AT91_SMC + 0x00 + ((n)*0x10)) /* Setup Register for CS n */
+#define AT91_SMC_NWESETUP (0x3f << 0) /* NWE Setup Length */
+#define AT91_SMC_NWESETUP_(x) ((x) << 0)
+#define AT91_SMC_NCS_WRSETUP (0x3f << 8) /* NCS Setup Length in Write Access */
+#define AT91_SMC_NCS_WRSETUP_(x) ((x) << 8)
+#define AT91_SMC_NRDSETUP (0x3f << 16) /* NRD Setup Length */
+#define AT91_SMC_NRDSETUP_(x) ((x) << 16)
+#define AT91_SMC_NCS_RDSETUP (0x3f << 24) /* NCS Setup Length in Read Access */
+#define AT91_SMC_NCS_RDSETUP_(x) ((x) << 24)
+
+#define AT91_SMC_PULSE(n) (AT91_SMC + 0x04 + ((n)*0x10)) /* Pulse Register for CS n */
+#define AT91_SMC_NWEPULSE (0x7f << 0) /* NWE Pulse Length */
+#define AT91_SMC_NWEPULSE_(x) ((x) << 0)
+#define AT91_SMC_NCS_WRPULSE (0x7f << 8) /* NCS Pulse Length in Write Access */
+#define AT91_SMC_NCS_WRPULSE_(x)((x) << 8)
+#define AT91_SMC_NRDPULSE (0x7f << 16) /* NRD Pulse Length */
+#define AT91_SMC_NRDPULSE_(x) ((x) << 16)
+#define AT91_SMC_NCS_RDPULSE (0x7f << 24) /* NCS Pulse Length in Read Access */
+#define AT91_SMC_NCS_RDPULSE_(x)((x) << 24)
+
+#define AT91_SMC_CYCLE(n) (AT91_SMC + 0x08 + ((n)*0x10)) /* Cycle Register for CS n */
+#define AT91_SMC_NWECYCLE (0x1ff << 0 ) /* Total Write Cycle Length */
+#define AT91_SMC_NWECYCLE_(x) ((x) << 0)
+#define AT91_SMC_NRDCYCLE (0x1ff << 16) /* Total Read Cycle Length */
+#define AT91_SMC_NRDCYCLE_(x) ((x) << 16)
+
+#define AT91_SMC_MODE(n) (AT91_SMC + 0x0c + ((n)*0x10)) /* Mode Register for CS n */
+#define AT91_SMC_READMODE (1 << 0) /* Read Mode */
+#define AT91_SMC_WRITEMODE (1 << 1) /* Write Mode */
+#define AT91_SMC_EXNWMODE (3 << 4) /* NWAIT Mode */
+#define AT91_SMC_EXNWMODE_DISABLE (0 << 4)
+#define AT91_SMC_EXNWMODE_FROZEN (2 << 4)
+#define AT91_SMC_EXNWMODE_READY (3 << 4)
+#define AT91_SMC_BAT (1 << 8) /* Byte Access Type */
+#define AT91_SMC_BAT_SELECT (0 << 8)
+#define AT91_SMC_BAT_WRITE (1 << 8)
+#define AT91_SMC_DBW (3 << 12) /* Data Bus Width */
+#define AT91_SMC_DBW_8 (0 << 12)
+#define AT91_SMC_DBW_16 (1 << 12)
+#define AT91_SMC_DBW_32 (2 << 12)
+#define AT91_SMC_TDF (0xf << 16) /* Data Float Time. */
+#define AT91_SMC_TDF_(x) ((x) << 16)
+#define AT91_SMC_TDFMODE (1 << 20) /* TDF Optimization - Enabled */
+#define AT91_SMC_PMEN (1 << 24) /* Page Mode Enabled */
+#define AT91_SMC_PS (3 << 28) /* Page Size */
+#define AT91_SMC_PS_4 (0 << 28)
+#define AT91_SMC_PS_8 (1 << 28)
+#define AT91_SMC_PS_16 (2 << 28)
+#define AT91_SMC_PS_32 (3 << 28)
+
+#if defined(AT91_SMC1) /* The AT91SAM9263 has 2 Static Memory contollers */
+#define AT91_SMC1_SETUP(n) (AT91_SMC1 + 0x00 + ((n)*0x10)) /* Setup Register for CS n */
+#define AT91_SMC1_PULSE(n) (AT91_SMC1 + 0x04 + ((n)*0x10)) /* Pulse Register for CS n */
+#define AT91_SMC1_CYCLE(n) (AT91_SMC1 + 0x08 + ((n)*0x10)) /* Cycle Register for CS n */
+#define AT91_SMC1_MODE(n) (AT91_SMC1 + 0x0c + ((n)*0x10)) /* Mode Register for CS n */
+#endif
+
+#endif
/*
* (C) Copyright 2007
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
/*
- * include/asm-arm/arch-at91/gpio.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/gpio.h]
*
* Copyright (C) 2005 HP Labs
*
/*
- * include/asm-arm/arch-at91/hardware.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/hardware.h]
*
* Copyright (C) 2003 SAN People
* Copyright (C) 2003 ATMEL
/*
- * include/asm-arm/arch-at91/io.h
+ * [origin: Linux kernel include/asm-arm/arch-at91/io.h]
*
* Copyright (C) 2003 SAN People
*
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
#ifndef __ASM_ARCH_MX31_H
#define __ASM_ARCH_MX31_H
-u32 mx31_get_mpl_dpdgck_clk(void);
-u32 mx31_get_mcu_main_clk(void);
-u32 mx31_get_ipg_clk(void);
-void mx31_gpio_mux(unsigned long mode);
+extern u32 mx31_get_ipg_clk(void);
+extern void mx31_gpio_mux(unsigned long mode);
#endif /* __ASM_ARCH_MX31_H */
/*
* (C) Copyright 2007
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* See file CREDITS for list of people who contributed to this
static inline void *
map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags)
{
- return (void *)paddr;
+ return (void *)((unsigned long)paddr);
}
/*
#define PVR_405EP_RA 0x51210950
#define PVR_405GPR_RB 0x50910951
#define PVR_405EZ_RA 0x41511460
-#define PVR_405EXR1_RA 0x12911473 /* 405EXr rev A with Security */
-#define PVR_405EXR2_RA 0x12911471 /* 405EXr rev A without Security */
-#define PVR_405EX1_RA 0x12911477 /* 405EX rev A with Security */
-#define PVR_405EX2_RA 0x12911475 /* 405EX rev A without Security */
+#define PVR_405EXR1_RA 0x12911473 /* 405EXr rev A/B with Security */
+#define PVR_405EXR2_RA 0x12911471 /* 405EXr rev A/B without Security */
+#define PVR_405EX1_RA 0x12911477 /* 405EX rev A/B with Security */
+#define PVR_405EX2_RA 0x12911475 /* 405EX rev A/B without Security */
+#define PVR_405EXR1_RC 0x1291147B /* 405EXr rev C with Security */
+#define PVR_405EXR2_RC 0x12911479 /* 405EXr rev C without Security */
+#define PVR_405EX1_RC 0x1291147F /* 405EX rev C with Security */
+#define PVR_405EX2_RC 0x1291147D /* 405EX rev C without Security */
#define PVR_440GP_RB 0x40120440
#define PVR_440GP_RC 0x40120481
#define PVR_440EP_RA 0x42221850
/* common/cmd_nvedit.c */
int env_init (void);
void env_relocate (void);
-uchar env_get_char (int);
int envmatch (uchar *, int);
char *getenv (char *);
int getenv_r (char *name, char *buf, unsigned len);
/*
* On-board devices
+ *
+ * TSEC1 is VSC switch
+ * TSEC2 is SoC TSEC
*/
#define CONFIG_VSC7385_ENET
-
+#define CONFIG_TSEC2
#ifdef CFG_66MHZ
#define CONFIG_83XX_CLKIN 66666667 /* in Hz */
#ifdef CONFIG_VSC7385_ENET
-#define CONFIG_TSEC2
+#define CONFIG_TSEC1
/* The flash address and size of the VSC7385 firmware image */
#define CONFIG_VSC7385_IMAGE 0xFE7FE000
/*
* Local Bus LCRR and LBCR regs
*/
-#define CFG_LCRR LCRR_EADC_1 | LCRR_CLKDIV_2 /* 0x00010002 */
+#define CFG_LCRR LCRR_EADC_1 | LCRR_CLKDIV_4
#define CFG_LBC_LBCR ( 0x00040000 /* TODO */ \
| (0xFF << LBCR_BMT_SHIFT) \
| 0xF ) /* 0x0004ff0f */
*/
#define CONFIG_ENV_OVERWRITE
-#ifdef CONFIG_HAS_ETH0
#define CONFIG_ETHADDR 00:E0:0C:00:95:01
-#endif
-
-#ifdef CONFIG_HAS_ETH1
#define CONFIG_ETH1ADDR 00:E0:0C:00:95:02
-#endif
#define CONFIG_IPADDR 10.0.0.2
#define CONFIG_SERVERIP 10.0.0.1
HRCWH_TSEC2M_IN_GMII )
#endif
+/*
+ * System performance
+ */
+#define CFG_ACR_PIPE_DEP 3 /* Arbiter pipeline depth (0-3) */
+#define CFG_ACR_RPTCNT 3 /* Arbiter repeat count (0-7) */
+#define CFG_SPCR_TSEC1EP 3 /* TSEC1 emergency priority (0-3) */
+#define CFG_SPCR_TSEC2EP 3 /* TSEC2 emergency priority (0-3) */
+#define CFG_SCCR_TSEC1CM 1 /* TSEC1 clock mode (0-3) */
+#define CFG_SCCR_TSEC2CM 1 /* TSEC2 & I2C0 clock mode (0-3) */
+
/* System IO Config */
#define CFG_SICRH SICRH_TSOBI1
#define CFG_SICRL SICRL_LDP_A
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* Configuation settings for the AT91CAP9ADK board.
/*
* (C) Copyright 2007-2008
- * Stelian Pop <stelian.pop <at> leadtechdesign.com>
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com>
*
* Configuation settings for the AT91SAM9260EK board.
#define CONFIG_BOOTP_BOOTPATH
#define CONFIG_BOOTP_GATEWAY
#define CONFIG_BOOTP_HOSTNAME
+#define CONFIG_BOOTP_SUBNETMASK
/*
* Command line configuration.
/*
- * (C) Copyright 2007
+ * (C) Copyright 2007-2008
* Stefan Roese, DENX Software Engineering, sr@denx.de.
*
* See file CREDITS for list of people who contributed to this
":${hostname}:${netdev}:off panic=1\0" \
"addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\
"addmisc=setenv bootargs ${bootargs} rtc-x1205.probe=0,0x6f\0" \
- "net_nfs=tftp 200000 ${bootfile};" \
+ "flash_self_old=run ramargs addip addtty addmisc;" \
+ "bootm ${kernel_addr} ${ramdisk_addr}\0" \
+ "flash_self=run ramargs addip addtty addmisc;" \
+ "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
+ "flash_nfs_old=run nfsargs addip addtty addmisc;" \
+ "bootm ${kernel_addr}\0" \
+ "flash_nfs=run nfsargs addip addtty addmisc;" \
+ "bootm ${kernel_addr} - ${fdt_addr}\0" \
+ "net_nfs_old=tftp ${kernel_addr_r} ${bootfile};" \
"run nfsargs addip addtty addmisc;" \
- "bootm 200000\0" \
- "net_nfs_fdt=tftp 200000 ${bootfile};" \
- "tftp ${fdt_addr} ${fdt_file};" \
+ "bootm ${kernel_addr_r}\0" \
+ "net_nfs=tftp ${kernel_addr_r} ${bootfile}; " \
+ "tftp ${fdt_addr_r} ${fdt_file}; " \
"run nfsargs addip addtty addmisc;" \
- "bootm 200000 - ${fdt_addr}\0" \
- "flash_nfs=run nfsargs addip addtty addmisc;" \
- "bootm ${kernel_addr}\0" \
- "flash_self=run ramargs addip addtty addmisc;" \
- "bootm ${kernel_addr} ${ramdisk_addr}\0" \
+ "bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
"rootpath=/opt/eldk/ppc_4xx\0" \
"bootfile=makalu/uImage\0" \
"fdt_file=makalu/makalu.dtb\0" \
- "fdt_addr=400000\0" \
+ "kernel_addr_r=400000\0" \
+ "fdt_addr_r=800000\0" \
"kernel_addr=fc000000\0" \
+ "fdt_addr=fc1e0000\0" \
"ramdisk_addr=fc200000\0" \
"initrd_high=30000000\0" \
"load=tftp 200000 makalu/u-boot.bin\0" \
#define CONFIG_BOOTP_BOOTPATH
#define CONFIG_BOOTP_GATEWAY
#define CONFIG_BOOTP_HOSTNAME
+#define CONFIG_BOOTP_SUBNETMASK
/*
* Command line configuration.
/* ethernet */
#ifdef XILINX_EMAC_BASEADDR
#define CONFIG_XILINX_EMAC 1
+#define CFG_ENET
#else
#ifdef XILINX_EMACLITE_BASEADDR
#define CONFIG_XILINX_EMACLITE 1
+#define CFG_ENET
#endif
#endif
#undef ET_DEBUG
#endif
/* interrupt controller */
+#ifdef XILINX_INTC_BASEADDR
#define CFG_INTC_0 1
#define CFG_INTC_0_ADDR XILINX_INTC_BASEADDR
#define CFG_INTC_0_NUM XILINX_INTC_NUM_INTR_INPUTS
+#endif
/* timer */
+#ifdef XILINX_TIMER_BASEADDR
+#if (XILINX_TIMER_IRQ != -1)
#define CFG_TIMER_0 1
#define CFG_TIMER_0_ADDR XILINX_TIMER_BASEADDR
#define CFG_TIMER_0_IRQ XILINX_TIMER_IRQ
#define FREQUENCE XILINX_CLOCK_FREQ
#define CFG_TIMER_0_PRELOAD ( FREQUENCE/1000 )
+#endif
+#else
+#ifdef XILINX_CLOCK_FREQ
#define CONFIG_XILINX_CLOCK_FREQ XILINX_CLOCK_FREQ
-
+#else
+#error BAD CLOCK FREQ
+#endif
+#endif
/* FSL */
/* #define CFG_FSL_2 */
/* #define FSL_INTR_2 1 */
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_MFSL
-#define CONFIG_CMD_PING
+
+#ifndef CFG_ENET
+ #undef CONFIG_CMD_NET
+#else
+ #define CONFIG_CMD_PING
+#endif
#if defined(CONFIG_SYSTEMACE)
#define CONFIG_CMD_EXT2
#define CONFIG_ARM1136 1 /* This is an arm1136 CPU core */
#define CONFIG_MX31 1 /* in a mx31 */
#define CONFIG_MX31_HCLK_FREQ 26000000 /* RedBoot says 26MHz */
-#define CONFIG_MX31_CLK32 32000
+#define CONFIG_MX31_CLK32 32768
#define CONFIG_DISPLAY_CPUINFO
#define CONFIG_DISPLAY_BOARDINFO
#define CFG_LOAD_ADDR CONFIG_LOADADDR
-#define CFG_HZ 32000
+#define CFG_HZ CONFIG_MX31_CLK32 /* use 32kHz clock as source */
#define CONFIG_CMDLINE_EDITING 1
/* ethernet */
#ifdef XILINX_EMAC_BASEADDR
#define CONFIG_XILINX_EMAC 1
+#define CFG_ENET
#else
#ifdef XILINX_EMACLITE_BASEADDR
#define CONFIG_XILINX_EMACLITE 1
+#define CFG_ENET
#endif
#endif
#undef ET_DEBUG
#endif
/* interrupt controller */
+#ifdef XILINX_INTC_BASEADDR
#define CFG_INTC_0 1
#define CFG_INTC_0_ADDR XILINX_INTC_BASEADDR
#define CFG_INTC_0_NUM XILINX_INTC_NUM_INTR_INPUTS
+#endif
/* timer */
+#ifdef XILINX_TIMER_BASEADDR
+#if (XILINX_TIMER_IRQ != -1)
#define CFG_TIMER_0 1
#define CFG_TIMER_0_ADDR XILINX_TIMER_BASEADDR
#define CFG_TIMER_0_IRQ XILINX_TIMER_IRQ
#define FREQUENCE XILINX_CLOCK_FREQ
#define CFG_TIMER_0_PRELOAD ( FREQUENCE/1000 )
+#endif
+#else
+#ifdef XILINX_CLOCK_FREQ
#define CONFIG_XILINX_CLOCK_FREQ XILINX_CLOCK_FREQ
-
+#else
+#error BAD CLOCK FREQ
+#endif
+#endif
/*
* memory layout - Example
* TEXT_BASE = 0x3600_0000;
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_IRQ
-#define CONFIG_CMD_PING
+
+#ifndef CFG_ENET
+ #undef CONFIG_CMD_NET
+#else
+ #define CONFIG_CMD_PING
+#endif
#ifdef XILINX_SYSACE_BASEADDR
#define CONFIG_CMD_EXT2
unsigned char data[ENV_SIZE]; /* Environment data */
} env_t;
+/* Pointer to function that returns a character from the environment */
+extern unsigned char (*env_get_char)(int);
+
+/* Function that returns a pointer to a value from the environment */
+unsigned char *env_get_addr(int);
+unsigned char env_get_char_memory (int index);
+
+/* Function that updates CRC of the enironment */
+void env_crc_update (void);
+
#endif /* _ENVIRONMENT_H_ */
struct pci_region {
unsigned long bus_start; /* Start on the bus */
- unsigned long phys_start; /* Start in physical address space */
+ phys_addr_t phys_start; /* Start in physical address space */
unsigned long size; /* Size */
unsigned long flags; /* Resource flags */
extern __inline__ void pci_set_region(struct pci_region *reg,
unsigned long bus_start,
- unsigned long phys_start,
+ phys_addr_t phys_start,
unsigned long size,
unsigned long flags) {
reg->bus_start = bus_start;
extern void pci_setup_indirect(struct pci_controller* hose, u32 cfg_addr, u32 cfg_data);
-extern unsigned long pci_hose_bus_to_phys(struct pci_controller* hose,
- unsigned long addr, unsigned long flags);
+extern phys_addr_t pci_hose_bus_to_phys(struct pci_controller* hose,
+ unsigned long addr, unsigned long flags);
extern unsigned long pci_hose_phys_to_bus(struct pci_controller* hose,
- unsigned long addr, unsigned long flags);
+ phys_addr_t addr, unsigned long flags);
#define pci_phys_to_bus(dev, addr, flags) \
pci_hose_phys_to_bus(pci_bus_to_hose(PCI_BUS(dev)), (addr), (flags))
#ifndef __VERSION_H__
#define __VERSION_H__
+#ifndef DO_DEPS_ONLY
#include "version_autogenerated.h"
+#endif
#endif /* __VERSION_H__ */
#include <stdint.h>
#endif
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
#include <watchdog.h>
+#endif
#include "zlib.h"
#define local static
void *base_ptr;
ulong os_data, os_len;
ulong initrd_start, initrd_end;
- ulong ep;
image_header_t *hdr;
int ret;
#if defined(CONFIG_FIT)
*/
gd->ram_size -= CFG_MEM_TOP_HIDE;
-#ifndef CONFIG_MAX_MEM_MAPPED
-#define CONFIG_MAX_MEM_MAPPED (256 << 20)
-#endif
-
-#ifndef CONFIG_VERY_BIG_RAM
addr = CFG_SDRAM_BASE + get_effective_memsize();
-#else
- /* only allow stack below 256M */
- addr = CFG_SDRAM_BASE +
- (gd->ram_size > CONFIG_MAX_MEM_MAPPED) ?
- CONFIG_MAX_MEM_MAPPED : get_effective_memsize();
-#endif
#ifdef CONFIG_LOGBUFFER
#ifndef CONFIG_ALT_LB_ADDR
goto error;
}
} else {
- fdt_error ("Did not find a Flattened Device Tree "
- "in a legacy multi-component image");
- goto error;
+ debug ("## No Flattened Device Tree\n");
+ return 0;
}
} else {
debug ("## No Flattened Device Tree\n");
CFLAGS += -DCONFIG_NAND_SPL
SOBJS := start.o
-SOBJS += init.o resetvec.o
+SOBJS += init.o
SOBJS += resetvec.o
COBJS := ddr2_fixed.o
COBJS += nand_boot.o
@rm -f $(obj)nand_ecc.c
ln -s $(SRCTREE)/drivers/mtd/nand/nand_ecc.c $(obj)nand_ecc.c
+ifneq ($(OBJTREE), $(SRCTREE))
+$(obj)ddr2_fixed.c:
+ @rm -f $(obj)ddr2_fixed.c
+ ln -s $(SRCTREE)/nand_spl/board/$(BOARDDIR)/ddr2_fixed.c $(obj)ddr2_fixed.c
+endif
+
#########################################################################
$(obj)%.o: $(obj)%.S
LIB = libpostppc4xx.a
AOBJS-$(CONFIG_HAS_POST) += cache_4xx.o
-COBJS-$(CONFIG_HAS_POST) += cache.o denali_ecc.o ether.o fpu.o spr.o uart.o watchdog.o
+COBJS-$(CONFIG_HAS_POST) += cache.o
+COBJS-$(CONFIG_HAS_POST) += denali_ecc.o
+COBJS-$(CONFIG_HAS_POST) += ether.o
+COBJS-$(CONFIG_HAS_POST) += fpu.o
+COBJS-$(CONFIG_HAS_POST) += spr.o
+COBJS-$(CONFIG_HAS_POST) += uart.o
+COBJS-$(CONFIG_HAS_POST) += watchdog.o
include $(TOPDIR)/post/rules.mk
SRCS := $(obj)crc32.c fw_env.c fw_env_main.c
HEADERS := fw_env.h
-CPPFLAGS := -Wall -DUSE_HOSTCC
+CPPFLAGS := -Wall -DUSE_HOSTCC -I$(SRCTREE)/include
ifeq ($(MTD_VERSION),old)
CPPFLAGS += -DMTD_OLD
/*
- * (C) Copyright 2000-2003
+ * (C) Copyright 2000-2008
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
* Print the current definition of one, or more, or all
* environment variables
*/
-void fw_printenv (int argc, char *argv[])
+int fw_printenv (int argc, char *argv[])
{
char *env, *nxt;
int i, n_flag;
+ int rc = 0;
if (env_init ())
- return;
+ return (-1);
if (argc == 1) { /* Print all env variables */
for (env = environment.data; *env; env = nxt + 1) {
if (nxt >= &environment.data[ENV_SIZE]) {
fprintf (stderr, "## Error: "
"environment not terminated\n");
- return;
+ return (-1);
}
}
printf ("%s\n", env);
}
- return;
+ return (0);
}
if (strcmp (argv[1], "-n") == 0) {
if (argc != 2) {
fprintf (stderr, "## Error: "
"`-n' option requires exactly one argument\n");
- return;
+ return (-1);
}
} else {
n_flag = 0;
if (nxt >= &environment.data[ENV_SIZE]) {
fprintf (stderr, "## Error: "
"environment not terminated\n");
- return;
+ return (-1);
}
}
val = envmatch (name, env);
break;
}
}
- if (!val)
+ if (!val) {
fprintf (stderr, "## Error: \"%s\" not defined\n", name);
+ rc = -1;
+ }
}
+
+ return (rc);
}
/*
/*
- * (C) Copyright 2002
+ * (C) Copyright 2002-2008
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
"bootm"
-extern void fw_printenv(int argc, char *argv[]);
+extern int fw_printenv(int argc, char *argv[]);
extern char *fw_getenv (char *name);
extern int fw_setenv (int argc, char *argv[]);
/*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2008
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
* Command line user interface to firmware (=U-Boot) environment.
*
* Implements:
- * fw_printenv [ name ... ]
- * - prints the values of the environment variables
- * "name", or the whole environment if no names are
- * specified
+ * fw_printenv [[ -n name ] | [ name ... ]]
+ * - prints the value of a single environment variable
+ * "name", the ``name=value'' pairs of one or more
+ * environment variables "name", or the whole
+ * environment if no names are specified.
* fw_setenv name [ value ... ]
* - If a name without any values is given, the variable
* with this name is deleted from the environment;
* otherwise, all "value" arguments are concatenated,
- * separated by sinlge blank characters, and the
+ * separated by single blank characters, and the
* resulting string is assigned to the environment
* variable "name"
*/
if (strcmp(cmdname, CMD_PRINTENV) == 0) {
- fw_printenv (argc, argv);
+ if (fw_printenv (argc, argv) != 0)
+ return (EXIT_FAILURE);
- return (EXIT_SUCCESS);
+ return (EXIT_SUCCESS);
} else if (strcmp(cmdname, CMD_SETENV) == 0) {
- if (fw_setenv (argc, argv) != 0)
- return (EXIT_FAILURE);
+ if (fw_setenv (argc, argv) != 0)
+ return (EXIT_FAILURE);
+
+ return (EXIT_SUCCESS);
- return (EXIT_SUCCESS);
}
fprintf (stderr,