diff options
110 files changed, 1289 insertions, 480 deletions
@@ -1,3 +1,747 @@ +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 diff --git a/MAINTAINERS b/MAINTAINERS index 98056795d2..cc88762743 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -611,7 +611,7 @@ Thomas Lange <thomas@corelatus.se> dbau1x00 MIPS32 Au1000 gth2 MIPS32 Au1000 -Vlad Lungu <vlad@comsys.ro> +Vlad Lungu <vlad.lungu@windriver.com> qemu_mips MIPS32 ######################################################################### @@ -307,6 +307,7 @@ LIST_8260=" \ TQM8260_AC \ TQM8260_AD \ TQM8260_AE \ + TQM8272 \ ZPC1900 \ " @@ -24,7 +24,7 @@ VERSION = 1 PATCHLEVEL = 3 SUBLEVEL = 3 -EXTRAVERSION = -rc3 +EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) VERSION_FILE = $(obj)include/version_autogenerated.h @@ -424,13 +424,19 @@ $(obj)System.map: $(obj)u-boot # 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 @@ -623,7 +623,6 @@ The following options need to be configured: 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 @@ -30,6 +30,7 @@ #include <command.h> #include <common.h> #include <malloc.h> +#include <environment.h> #include <linux/types.h> #include <api_public.h> @@ -40,7 +41,6 @@ /* U-Boot routines needed */ extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); -extern uchar *env_get_addr(int); /***************************************************************************** * @@ -582,7 +582,7 @@ int syscall(int call, int *retval, ...) 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; } diff --git a/board/BuS/EB+MCF-EV123/config.mk b/board/BuS/EB+MCF-EV123/config.mk index 9fe2fc5dae..f03e3962d0 100644 --- a/board/BuS/EB+MCF-EV123/config.mk +++ b/board/BuS/EB+MCF-EV123/config.mk @@ -22,7 +22,7 @@ # MA 02111-1307 USA # -sinclude $(TOPDIR)/board/$(BOARDDIR)/textbase.mk +sinclude $(OBJTREE)/board/$(BOARDDIR)/textbase.mk ifndef TEXT_BASE TEXT_BASE = 0xFE000000 endif diff --git a/board/amcc/canyonlands/canyonlands.c b/board/amcc/canyonlands/canyonlands.c index 9986e9a9c6..0f66061278 100644 --- a/board/amcc/canyonlands/canyonlands.c +++ b/board/amcc/canyonlands/canyonlands.c @@ -476,8 +476,37 @@ void ft_board_setup(void *blob, bd_t *bd) 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) */ diff --git a/board/amcc/canyonlands/config.mk b/board/amcc/canyonlands/config.mk index 1e4bbc47e6..2330cae925 100644 --- a/board/amcc/canyonlands/config.mk +++ b/board/amcc/canyonlands/config.mk @@ -24,20 +24,12 @@ # 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) diff --git a/board/amcc/kilauea/kilauea.c b/board/amcc/kilauea/kilauea.c index 37ef06ef2a..d806a412eb 100644 --- a/board/amcc/kilauea/kilauea.c +++ b/board/amcc/kilauea/kilauea.c @@ -230,14 +230,22 @@ int misc_init_r(void) 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; @@ -245,12 +253,10 @@ int board_emac_count(void) 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; @@ -259,9 +265,8 @@ static int board_pcie_count(void) 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"); diff --git a/board/atmel/at91cap9adk/Makefile b/board/atmel/at91cap9adk/Makefile index 6b4b4b035e..e33af76c02 100644 --- a/board/atmel/at91cap9adk/Makefile +++ b/board/atmel/at91cap9adk/Makefile @@ -1,6 +1,6 @@ # # (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. diff --git a/board/atmel/at91cap9adk/at91cap9adk.c b/board/atmel/at91cap9adk/at91cap9adk.c index 24861ba49d..5de52b9197 100644 --- a/board/atmel/at91cap9adk/at91cap9adk.c +++ b/board/atmel/at91cap9adk/at91cap9adk.c @@ -1,6 +1,6 @@ /* * (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 @@ -25,7 +25,7 @@ #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> diff --git a/board/atmel/at91cap9adk/led.c b/board/atmel/at91cap9adk/led.c index 04de139204..a137c2a952 100644 --- a/board/atmel/at91cap9adk/led.c +++ b/board/atmel/at91cap9adk/led.c @@ -1,6 +1,6 @@ /* * (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 diff --git a/board/atmel/at91cap9adk/nand.c b/board/atmel/at91cap9adk/nand.c index c72b0244bd..28091a4226 100644 --- a/board/atmel/at91cap9adk/nand.c +++ b/board/atmel/at91cap9adk/nand.c @@ -1,6 +1,6 @@ /* * (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 diff --git a/board/atmel/at91cap9adk/partition.c b/board/atmel/at91cap9adk/partition.c index 3bffd71a78..eb1a724ab1 100644 --- a/board/atmel/at91cap9adk/partition.c +++ b/board/atmel/at91cap9adk/partition.c @@ -1,4 +1,6 @@ /* + * (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 diff --git a/board/atmel/at91cap9adk/u-boot.lds b/board/atmel/at91cap9adk/u-boot.lds index 05a6d83d56..996f401f0b 100644 --- a/board/atmel/at91cap9adk/u-boot.lds +++ b/board/atmel/at91cap9adk/u-boot.lds @@ -1,6 +1,6 @@ /* * (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. diff --git a/board/atmel/at91rm9200dk/partition.c b/board/atmel/at91rm9200dk/partition.c index a8a5fe6aa6..975be17464 100644 --- a/board/atmel/at91rm9200dk/partition.c +++ b/board/atmel/at91rm9200dk/partition.c @@ -1,4 +1,6 @@ /* + * (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 diff --git a/board/atmel/at91sam9260ek/Makefile b/board/atmel/at91sam9260ek/Makefile index defc085193..e6e4082c73 100644 --- a/board/atmel/at91sam9260ek/Makefile +++ b/board/atmel/at91sam9260ek/Makefile @@ -1,6 +1,6 @@ # # (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. diff --git a/board/atmel/at91sam9260ek/at91sam9260ek.c b/board/atmel/at91sam9260ek/at91sam9260ek.c index a55468e30d..21479acab4 100644 --- a/board/atmel/at91sam9260ek/at91sam9260ek.c +++ b/board/atmel/at91sam9260ek/at91sam9260ek.c @@ -1,6 +1,6 @@ /* * (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 @@ -25,7 +25,7 @@ #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> diff --git a/board/atmel/at91sam9260ek/led.c b/board/atmel/at91sam9260ek/led.c index 4c53742e50..ddc375f267 100644 --- a/board/atmel/at91sam9260ek/led.c +++ b/board/atmel/at91sam9260ek/led.c @@ -1,6 +1,6 @@ /* * (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 diff --git a/board/atmel/at91sam9260ek/nand.c b/board/atmel/at91sam9260ek/nand.c index abb788afe7..7c1e6abd9a 100644 --- a/board/atmel/at91sam9260ek/nand.c +++ b/board/atmel/at91sam9260ek/nand.c @@ -1,6 +1,6 @@ /* * (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 diff --git a/board/atmel/at91sam9260ek/partition.c b/board/atmel/at91sam9260ek/partition.c index 389fb2c5c9..557d6954f4 100644 --- a/board/atmel/at91sam9260ek/partition.c +++ b/board/atmel/at91sam9260ek/partition.c @@ -1,4 +1,6 @@ /* + * (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 diff --git a/board/atmel/at91sam9260ek/u-boot.lds b/board/atmel/at91sam9260ek/u-boot.lds index 05a6d83d56..996f401f0b 100644 --- a/board/atmel/at91sam9260ek/u-boot.lds +++ b/board/atmel/at91sam9260ek/u-boot.lds @@ -1,6 +1,6 @@ /* * (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. diff --git a/board/esd/mecp5200/config.mk b/board/esd/mecp5200/config.mk index 07b5de1881..170779d6c1 100644 --- a/board/esd/mecp5200/config.mk +++ b/board/esd/mecp5200/config.mk @@ -32,7 +32,7 @@ # 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 diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c index dc39fbe8dc..efe2a3a3de 100644 --- a/board/freescale/mpc8548cds/mpc8548cds.c +++ b/board/freescale/mpc8548cds/mpc8548cds.c @@ -59,6 +59,7 @@ int checkboard (void) 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); @@ -71,12 +72,16 @@ int checkboard (void) */ 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. diff --git a/board/linkstation/Makefile b/board/linkstation/Makefile index 57c84de60e..8d92d8a6c7 100644 --- a/board/linkstation/Makefile +++ b/board/linkstation/Makefile @@ -23,18 +23,21 @@ 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 ######################################################################### diff --git a/board/linkstation/config.mk b/board/linkstation/config.mk index bdf611dc2b..d04829014e 100644 --- a/board/linkstation/config.mk +++ b/board/linkstation/config.mk @@ -35,7 +35,7 @@ # 0x07F00000 boot from RAM # -sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp +sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp ifndef TEXT_BASE # For flash image - all models diff --git a/board/munices/config.mk b/board/munices/config.mk index d226244a1c..1b573bc882 100644 --- a/board/munices/config.mk +++ b/board/munices/config.mk @@ -29,7 +29,7 @@ # 0xFFF00000 boot high (standard configuration) # -sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp +sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp ifndef TEXT_BASE TEXT_BASE = 0xFFF00000 diff --git a/board/mx31ads/lowlevel_init.S b/board/mx31ads/lowlevel_init.S index 099a7ca81b..e16605836b 100644 --- a/board/mx31ads/lowlevel_init.S +++ b/board/mx31ads/lowlevel_init.S @@ -220,7 +220,7 @@ lowlevel_init: 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 diff --git a/board/qemu-mips/README b/board/qemu-mips/README index 39570b13db..4c1f8edc9b 100644 --- a/board/qemu-mips/README +++ b/board/qemu-mips/README @@ -1,4 +1,4 @@ -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 @@ -9,3 +9,7 @@ Limitations & comments 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. diff --git a/board/qemu-mips/qemu-mips.c b/board/qemu-mips/qemu-mips.c index a6ad7b9ab3..68690743d6 100644 --- a/board/qemu-mips/qemu-mips.c +++ b/board/qemu-mips/qemu-mips.c @@ -1,6 +1,6 @@ /* * (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. diff --git a/board/sc520_cdp/sc520_cdp_asm.S b/board/sc520_cdp/sc520_cdp_asm.S index be7b2bb482..7f70d65d5f 100644 --- a/board/sc520_cdp/sc520_cdp_asm.S +++ b/board/sc520_cdp/sc520_cdp_asm.S @@ -76,8 +76,8 @@ done: movb $0x88, %al 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 diff --git a/board/sc520_spunk/Makefile b/board/sc520_spunk/Makefile index bfb77e8f8b..226c756bf4 100644 --- a/board/sc520_spunk/Makefile +++ b/board/sc520_spunk/Makefile @@ -36,7 +36,7 @@ OBJS := $(addprefix $(obj),$(COBJS)) SOBJS := $(addprefix $(obj),$(SOBJS)) $(LIB): $(obj).depend $(OBJS) $(SOBJS) - $(AR) $(ARFLAGS) $@ $(OBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) clean: rm -f $(SOBJS) $(OBJS) diff --git a/board/sc520_spunk/flash.c b/board/sc520_spunk/flash.c index 4942e598d3..0b4bf68894 100644 --- a/board/sc520_spunk/flash.c +++ b/board/sc520_spunk/flash.c @@ -33,7 +33,6 @@ #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 @@ -62,7 +61,6 @@ flash_info_t flash_info[SC520_MAX_FLASH_BANKS]; /*----------------------------------------------------------------------- */ - static u32 _probe_flash(u32 addr, u32 bw, int il) { u32 result=0; @@ -180,7 +178,6 @@ static u32 _probe_flash(u32 addr, u32 bw, int il) break; } - return result; } @@ -215,11 +212,9 @@ static int identify_flash(unsigned address, int width) enable_interrupts(); } - vendor = res >> 16; device = res & 0xffff; - return res; } @@ -385,7 +380,6 @@ void flash_print_info(flash_info_t *info) break; } - printf(" Size: %ld MB in %d Sectors\n", info->size >> 20, info->sector_count); @@ -399,13 +393,13 @@ void flash_print_info(flash_info_t *info) } printf ("\n"); - done: +done: + return; } /*----------------------------------------------------------------------- */ - static u32 _amd_erase_flash(u32 addr, u32 sector) { unsigned elapsed; @@ -467,7 +461,6 @@ static u32 _intel_erase_flash(u32 addr, u32 sector) *(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); @@ -486,7 +479,6 @@ static u32 _intel_erase_flash(u32 addr, u32 sector) return 0; } - extern int _intel_erase_flash_end; asm ("_intel_erase_flash_end:\n" ".long 0\n"); @@ -548,7 +540,6 @@ int flash_erase(flash_info_t *info, int s_first, int s_last) printf ("\n"); } - /* Start erase on unprotected sectors */ for (sect = s_first; sect<=s_last; sect++) { @@ -566,7 +557,6 @@ int flash_erase(flash_info_t *info, int s_first, int s_last) enable_interrupts(); } - if (res) { printf("Erase timed out, sector %d\n", sect); return res; @@ -576,7 +566,6 @@ int flash_erase(flash_info_t *info, int s_first, int s_last) } } - return 0; } @@ -586,11 +575,11 @@ int flash_erase(flash_info_t *info, int s_first, int s_last) * 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; @@ -601,7 +590,6 @@ static int _amd_write_word(unsigned start, unsigned dest, unsigned data) for (i = 0; i < 2; i++) { - addr2[0x5555] = 0x00AA; addr2[0x2aaa] = 0x0055; addr2[0x5555] = 0x00A0; @@ -630,7 +618,6 @@ extern int _amd_write_word_end; asm ("_amd_write_word_end:\n" ".long 0\n"); - static int _intel_write_word(unsigned start, unsigned dest, unsigned data) { int i; @@ -663,14 +650,12 @@ static int _intel_write_word(unsigned start, unsigned dest, unsigned data) return 0; - } extern int _intel_write_word_end; asm ("_intel_write_word_end:\n" ".long 0\n"); - /*----------------------------------------------------------------------- * Copy memory to flash, returns: * 0 - OK @@ -715,10 +700,8 @@ int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt) return 3; } - wp = (addr & ~3); /* get lower word aligned address */ - /* * handle unaligned start bytes */ @@ -805,5 +788,4 @@ int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt) } return rc; - } diff --git a/board/sc520_spunk/sc520_spunk_asm.S b/board/sc520_spunk/sc520_spunk_asm.S index 8b3410399b..0127076db1 100644 --- a/board/sc520_spunk/sc520_spunk_asm.S +++ b/board/sc520_spunk/sc520_spunk_asm.S @@ -73,8 +73,8 @@ done: movl $0xfffefc32,%edx 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) diff --git a/board/tqm8272/Makefile b/board/tqm8272/Makefile index 3dbf913d2e..6730263512 100644 --- a/board/tqm8272/Makefile +++ b/board/tqm8272/Makefile @@ -1,5 +1,5 @@ # -# (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 @@ -22,19 +22,26 @@ # 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 ######################################################################### diff --git a/board/v38b/config.mk b/board/v38b/config.mk index 75577fcbec..bc55fc7b29 100644 --- a/board/v38b/config.mk +++ b/board/v38b/config.mk @@ -25,7 +25,7 @@ # MarelV38B board # -sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp +sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp TEXT_BASE = 0xFF000000 diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 44f6b9f6ea..0d67132363 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -433,17 +433,6 @@ static int fit_check_kernel (const void *fit, int os_noffset, int verify) } 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); diff --git a/common/cmd_ide.c b/common/cmd_ide.c index ead7e10d66..cac99d5fe7 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -52,10 +52,6 @@ # include <status_led.h> #endif -#ifndef __PPC__ -#include <asm/io.h> -#endif - #ifdef CONFIG_IDE_8xx_DIRECT DECLARE_GLOBAL_DATA_PTR; #endif diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index dc05f68bfe..9c5d1fcb90 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -68,16 +68,6 @@ DECLARE_GLOBAL_DATA_PTR; /************************************************************************ ************************************************************************/ -/* 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) */ diff --git a/common/env_common.c b/common/env_common.c index f366fdbeb2..a49481244e 100644 --- a/common/env_common.c +++ b/common/env_common.c @@ -50,6 +50,7 @@ extern void env_relocate_spec (void); 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 @@ -181,19 +182,6 @@ uchar env_get_char_memory (int index) } #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) { @@ -227,6 +215,11 @@ void env_relocate (void) 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"); diff --git a/common/env_eeprom.c b/common/env_eeprom.c index fae87ca33f..9e1a20194d 100644 --- a/common/env_eeprom.c +++ b/common/env_eeprom.c @@ -38,9 +38,6 @@ env_t *env_ptr = NULL; char * env_name_spec = "EEPROM"; -extern uchar env_get_char_memory (int index); - - uchar env_get_char_spec (int index) { uchar c; diff --git a/common/env_nvram.c b/common/env_nvram.c index bfc8d02f85..fa77719123 100644 --- a/common/env_nvram.c +++ b/common/env_nvram.c @@ -63,8 +63,6 @@ char * env_name_spec = "NVRAM"; 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) { diff --git a/common/ft_build.c b/common/ft_build.c index 0b6c2b7334..b951178a1d 100644 --- a/common/ft_build.c +++ b/common/ft_build.c @@ -396,7 +396,6 @@ void *ft_get_prop(void *bphp, const char *propname, int *szp) /********************************************************************/ - void ft_setup(void *blob, bd_t * bd, ulong initrd_start, ulong initrd_end) { u32 *p; diff --git a/common/image.c b/common/image.c index 4a024d4dfb..67e594df69 100644 --- a/common/image.c +++ b/common/image.c @@ -23,7 +23,6 @@ * MA 02111-1307 USA */ - #ifndef USE_HOSTCC #include <common.h> #include <watchdog.h> @@ -36,10 +35,6 @@ #include <dataflash.h> #endif -#ifdef CONFIG_LOGBUFFER -#include <logbuff.h> -#endif - #if defined(CONFIG_TIMESTAMP) || defined(CONFIG_CMD_DATE) #include <rtc.h> #endif @@ -93,6 +88,7 @@ static table_entry_t uimage_arch[] = { { 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", }, @@ -241,7 +237,7 @@ void image_multi_getimg (image_header_t *hdr, ulong idx, { 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); @@ -257,19 +253,15 @@ void image_multi_getimg (image_header_t *hdr, ulong idx, 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; diff --git a/common/main.c b/common/main.c index 21e7afab61..a17b60b3aa 100644 --- a/common/main.c +++ b/common/main.c @@ -40,7 +40,7 @@ #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 @@ -67,11 +67,9 @@ static int abortboot(int); 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 */ @@ -947,11 +945,26 @@ int readline_into_buffer (const char *const prompt, char * buffer) 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 */ @@ -1047,12 +1060,13 @@ int readline_into_buffer (const char *const prompt, char * buffer) } } } -#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; @@ -1082,7 +1096,6 @@ static char * delete_char (char *buffer, char *p, int *colp, int *np, int plen) (*np)--; return (p); } -#endif /* CONFIG_CMDLINE_EDITING */ /****************************************************************************/ diff --git a/common/usb.c b/common/usb.c index 4df01eabe5..2fa5254eb4 100644 --- a/common/usb.c +++ b/common/usb.c @@ -1088,7 +1088,7 @@ int usb_hub_configure(struct usb_device *dev) /* 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; } diff --git a/cpu/74xx_7xx/cache.S b/cpu/74xx_7xx/cache.S index a793d799d1..3a745cbe03 100644 --- a/cpu/74xx_7xx/cache.S +++ b/cpu/74xx_7xx/cache.S @@ -329,14 +329,28 @@ _GLOBAL(dcache_status) 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 @@ -348,6 +362,11 @@ invl2: mtspr l2cr, r3 sync blr +inv_7450: + mfspr r3, l2cr + andis. r3, r3, L2CR_L2I@h + bne inv_7450 + blr /* * Enable L2 cache diff --git a/cpu/arm1136/mx31/generic.c b/cpu/arm1136/mx31/generic.c index 16b2cf1364..29c08c105f 100644 --- a/cpu/arm1136/mx31/generic.c +++ b/cpu/arm1136/mx31/generic.c @@ -39,7 +39,7 @@ static u32 mx31_decode_pll(u32 reg, u32 infreq) (mfd * pd)) << 10; } -u32 mx31_get_mpl_dpdgck_clk(void) +static u32 mx31_get_mpl_dpdgck_clk(void) { u32 infreq; @@ -51,7 +51,7 @@ u32 mx31_get_mpl_dpdgck_clk(void) 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 diff --git a/cpu/arm920t/s3c24x0/usb.c b/cpu/arm920t/s3c24x0/usb.c index ef5d5bf71b..421ebb4373 100644 --- a/cpu/arm920t/s3c24x0/usb.c +++ b/cpu/arm920t/s3c24x0/usb.c @@ -69,4 +69,4 @@ int usb_cpu_init_fail (void) } # 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) */ diff --git a/cpu/arm926ejs/at91sam9/Makefile b/cpu/arm926ejs/at91sam9/Makefile index 203abc28e1..44cde1a9c3 100644 --- a/cpu/arm926ejs/at91sam9/Makefile +++ b/cpu/arm926ejs/at91sam9/Makefile @@ -1,6 +1,6 @@ # # (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. diff --git a/cpu/arm926ejs/at91sam9/ether.c b/cpu/arm926ejs/at91sam9/ether.c index e4f56012aa..7e11fe4d8e 100644 --- a/cpu/arm926ejs/at91sam9/ether.c +++ b/cpu/arm926ejs/at91sam9/ether.c @@ -1,6 +1,6 @@ /* * (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 diff --git a/cpu/arm926ejs/at91sam9/lowlevel_init.S b/cpu/arm926ejs/at91sam9/lowlevel_init.S index 40a3f6aaef..ec6ad5da18 100644 --- a/cpu/arm926ejs/at91sam9/lowlevel_init.S +++ b/cpu/arm926ejs/at91sam9/lowlevel_init.S @@ -2,7 +2,7 @@ * 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 diff --git a/cpu/arm926ejs/at91sam9/timer.c b/cpu/arm926ejs/at91sam9/timer.c index 4e79466286..c79ec7e7ae 100644 --- a/cpu/arm926ejs/at91sam9/timer.c +++ b/cpu/arm926ejs/at91sam9/timer.c @@ -1,6 +1,6 @@ /* * (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 diff --git a/cpu/arm926ejs/at91sam9/usb.c b/cpu/arm926ejs/at91sam9/usb.c index d678897dc7..441349df3a 100644 --- a/cpu/arm926ejs/at91sam9/usb.c +++ b/cpu/arm926ejs/at91sam9/usb.c @@ -1,6 +1,6 @@ /* * (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. diff --git a/cpu/i386/start.S b/cpu/i386/start.S index 1a54dd10e3..51a27aa21d 100644 --- a/cpu/i386/start.S +++ b/cpu/i386/start.S @@ -55,7 +55,7 @@ early_board_init_ret: /* so we try to indicate progress */ movw $0x01, %ax movl $.progress0, %ebp - jmp __show_boot_progress + jmp show_boot_progress .progress0: /* size memory */ @@ -74,7 +74,7 @@ mem_init_ret: /* indicate (lack of) progress */ movw $0x81, %ax movl $.progress0a, %ebp - jmp __show_boot_progress + jmp show_boot_progress .progress0a: jmp die mem_ok: @@ -82,7 +82,7 @@ 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 */ @@ -104,7 +104,7 @@ no_stack: /* indicate (lack of) progress */ movw $0x82, %ax movl $.progress1a, %ebp - jmp __show_boot_progress + jmp show_boot_progress .progress1a: jmp die @@ -113,7 +113,7 @@ stack_ok: /* 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 */ @@ -136,7 +136,7 @@ data_fail: /* indicate (lack of) progress */ movw $0x83, %ax movl $.progress2a, %ebp - jmp __show_boot_progress + jmp show_boot_progress .progress2a: jmp die @@ -145,7 +145,7 @@ data_ok: /* 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 */ @@ -168,7 +168,7 @@ bss_fail: /* indicate (lack of) progress */ movw $0x84, %ax movl $.progress3a, %ebp - jmp __show_boot_progress + jmp show_boot_progress .progress3a: jmp die @@ -180,7 +180,7 @@ bss_ok: /* indicate progress */ movw $0x05, %ax movl $.progress4, %ebp - jmp __show_boot_progress + jmp show_boot_progress .progress4: call start_i386boot /* Enter, U-boot! */ @@ -188,7 +188,7 @@ bss_ok: /* indicate (lack of) progress */ movw $0x85, %ax movl $.progress4a, %ebp - jmp __show_boot_progress + jmp show_boot_progress .progress4a: die: hlt diff --git a/cpu/mips/cache.S b/cpu/mips/cache.S index 428d251bf1..1b0efc34a7 100644 --- a/cpu/mips/cache.S +++ b/cpu/mips/cache.S @@ -240,14 +240,16 @@ NESTED(mips_cache_reset, 0, ra) */ 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) diff --git a/cpu/mpc86xx/cache.S b/cpu/mpc86xx/cache.S index f316b3ec13..2e4ea0239f 100644 --- a/cpu/mpc86xx/cache.S +++ b/cpu/mpc86xx/cache.S @@ -338,7 +338,7 @@ _GLOBAL(l2cache_invalidate) invl2: mfspr r3, l2cr - andi. r3, r3, L2CR_L2I@h + andis. r3, r3, L2CR_L2I@h bne invl2 blr diff --git a/cpu/ppc4xx/cpu.c b/cpu/ppc4xx/cpu.c index 54cc256797..39f439df98 100644 --- a/cpu/ppc4xx/cpu.c +++ b/cpu/ppc4xx/cpu.c @@ -346,6 +346,26 @@ int checkcpu (void) 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"); diff --git a/disk/part.c b/disk/part.c index 3c71208a12..316e254739 100644 --- a/disk/part.c +++ b/disk/part.c @@ -109,44 +109,45 @@ void dev_print (block_dev_desc_t *dev_desc) 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) { @@ -281,20 +282,27 @@ static void print_part_header (const char *type, block_dev_desc_t * dev_desc) { 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); diff --git a/doc/README.nand-boot-ppc440 b/doc/README.nand-boot-ppc440 index a1c1d8c444..1e9c102644 100644 --- a/doc/README.nand-boot-ppc440 +++ b/doc/README.nand-boot-ppc440 @@ -9,7 +9,7 @@ The PPC440EP(x)/GR(x) cpu's can boot directly from NAND FLASH, 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) ------------------------------------------------------ diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index d22c8895da..c17dcf4371 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -1,7 +1,7 @@ /* * 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. diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 7944b6684a..b820d5e853 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -221,7 +221,7 @@ pci_dev_t pci_find_device(unsigned int vendor, unsigned int device, int index) */ 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; @@ -253,9 +253,9 @@ Done: 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; @@ -425,9 +425,6 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) 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 */ @@ -437,11 +434,10 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) 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; @@ -477,11 +473,8 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) 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, diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile index bba1ab8510..53a485d0d1 100644 --- a/drivers/pcmcia/Makefile +++ b/drivers/pcmcia/Makefile @@ -25,6 +25,7 @@ include $(TOPDIR)/config.mk LIB := $(obj)libpcmcia.a +COBJS-$(CONFIG_I82365) += i82365.o COBJS-y += mpc8xx_pcmcia.o COBJS-y += pxa_pcmcia.o COBJS-y += rpx_pcmcia.o diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c index a40fcf41c9..1e2431e497 100644 --- a/drivers/pcmcia/i82365.c +++ b/drivers/pcmcia/i82365.c @@ -31,8 +31,6 @@ #include <common.h> -#ifdef CONFIG_I82365 - #include <command.h> #include <pci.h> #include <pcmcia.h> @@ -1010,5 +1008,3 @@ static void i82365_dump_regions (pci_dev_t dev) ide[4], ide[5], ide[6], ide[7]); } #endif /* DEBUG */ - -#endif /* CONFIG_I82365 */ diff --git a/examples/.gitignore b/examples/.gitignore index 059b09641a..806425ff78 100644 --- a/examples/.gitignore +++ b/examples/.gitignore @@ -1,5 +1,9 @@ +/82559_eeprom /hello_world /interrupt +/mem_to_mem_idma2intr +/test_burst +/timer /sched /smc91111_eeprom *.bin diff --git a/include/.gitignore b/include/.gitignore index 03a533ced4..ef7dd5fc8a 100644 --- a/include/.gitignore +++ b/include/.gitignore @@ -1,7 +1,7 @@ /autoconf.mk* /asm -/asm-blackfin/arch -/asm-ppc/arch +/asm-*/arch +/asm-*/proc /bmp_logo.h /config.h /config.mk diff --git a/include/asm-arm/arch-at91sam9/at91_pio.h b/include/asm-arm/arch-at91sam9/at91_pio.h index 84c3866d30..f6ce1f924e 100644 --- a/include/asm-arm/arch-at91sam9/at91_pio.h +++ b/include/asm-arm/arch-at91sam9/at91_pio.h @@ -1,5 +1,5 @@ /* - * 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 diff --git a/include/asm-arm/arch-at91sam9/at91_pit.h b/include/asm-arm/arch-at91sam9/at91_pit.h index 5026325a5a..94dd242a5f 100644 --- a/include/asm-arm/arch-at91sam9/at91_pit.h +++ b/include/asm-arm/arch-at91sam9/at91_pit.h @@ -1,5 +1,8 @@ /* - * 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. diff --git a/include/asm-arm/arch-at91sam9/at91_pmc.h b/include/asm-arm/arch-at91sam9/at91_pmc.h index 52cd8e5dab..103be86999 100644 --- a/include/asm-arm/arch-at91sam9/at91_pmc.h +++ b/include/asm-arm/arch-at91sam9/at91_pmc.h @@ -1,5 +1,5 @@ /* - * 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 diff --git a/include/asm-arm/arch-at91sam9/at91_rstc.h b/include/asm-arm/arch-at91sam9/at91_rstc.h index fb8d1618a2..e49caef921 100644 --- a/include/asm-arm/arch-at91sam9/at91_rstc.h +++ b/include/asm-arm/arch-at91sam9/at91_rstc.h @@ -1,5 +1,8 @@ /* - * 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. diff --git a/include/asm-arm/arch-at91sam9/at91_spi.h b/include/asm-arm/arch-at91sam9/at91_spi.h index aaad92621c..30643c6092 100644 --- a/include/asm-arm/arch-at91sam9/at91_spi.h +++ b/include/asm-arm/arch-at91sam9/at91_spi.h @@ -1,5 +1,5 @@ /* - * 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 diff --git a/include/asm-arm/arch-at91sam9/at91cap9.h b/include/asm-arm/arch-at91sam9/at91cap9.h index e16909c641..d1b33a069a 100644 --- a/include/asm-arm/arch-at91sam9/at91cap9.h +++ b/include/asm-arm/arch-at91sam9/at91cap9.h @@ -1,5 +1,5 @@ /* - * 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> diff --git a/include/asm-arm/arch-at91sam9/at91cap9_matrix.h b/include/asm-arm/arch-at91sam9/at91cap9_matrix.h index a641686b6c..22b7e9b8f4 100644 --- a/include/asm-arm/arch-at91sam9/at91cap9_matrix.h +++ b/include/asm-arm/arch-at91sam9/at91cap9_matrix.h @@ -1,5 +1,5 @@ /* - * 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> diff --git a/include/asm-arm/arch-at91sam9/at91sam9260.h b/include/asm-arm/arch-at91sam9/at91sam9260.h index 1bf45989b5..920a7f3c9f 100644 --- a/include/asm-arm/arch-at91sam9/at91sam9260.h +++ b/include/asm-arm/arch-at91sam9/at91sam9260.h @@ -1,5 +1,5 @@ /* - * include/asm-arm/arch-at91/at91sam9260.h + * [origin: Linux kernel include/asm-arm/arch-at91/at91sam9260.h] * * (C) 2006 Andrew Victor * diff --git a/include/asm-arm/arch-at91sam9/at91sam9260_matrix.h b/include/asm-arm/arch-at91sam9/at91sam9260_matrix.h index a8e9fec6c7..f8b023d932 100644 --- a/include/asm-arm/arch-at91sam9/at91sam9260_matrix.h +++ b/include/asm-arm/arch-at91sam9/at91sam9260_matrix.h @@ -1,5 +1,7 @@ /* - * 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. diff --git a/include/asm-arm/arch-at91sam9/at91sam926x_mc.h b/include/asm-arm/arch-at91sam9/at91sam926x_mc.h deleted file mode 100644 index 041138f809..0000000000 --- a/include/asm-arm/arch-at91sam9/at91sam926x_mc.h +++ /dev/null @@ -1,140 +0,0 @@ -/* - * 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 diff --git a/include/asm-arm/arch-at91sam9/at91sam9_smc.h b/include/asm-arm/arch-at91sam9/at91sam9_smc.h new file mode 100644 index 0000000000..d64511b36d --- /dev/null +++ b/include/asm-arm/arch-at91sam9/at91sam9_smc.h @@ -0,0 +1,76 @@ +/* + * [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 diff --git a/include/asm-arm/arch-at91sam9/clk.h b/include/asm-arm/arch-at91sam9/clk.h index 86da9a6e09..f67b4356d9 100644 --- a/include/asm-arm/arch-at91sam9/clk.h +++ b/include/asm-arm/arch-at91sam9/clk.h @@ -1,6 +1,6 @@ /* * (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 diff --git a/include/asm-arm/arch-at91sam9/gpio.h b/include/asm-arm/arch-at91sam9/gpio.h index 2500eae2a4..c157e107e1 100644 --- a/include/asm-arm/arch-at91sam9/gpio.h +++ b/include/asm-arm/arch-at91sam9/gpio.h @@ -1,5 +1,5 @@ /* - * include/asm-arm/arch-at91/gpio.h + * [origin: Linux kernel include/asm-arm/arch-at91/gpio.h] * * Copyright (C) 2005 HP Labs * diff --git a/include/asm-arm/arch-at91sam9/hardware.h b/include/asm-arm/arch-at91sam9/hardware.h index 80b334f36e..d2fe45388b 100644 --- a/include/asm-arm/arch-at91sam9/hardware.h +++ b/include/asm-arm/arch-at91sam9/hardware.h @@ -1,5 +1,5 @@ /* - * 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 diff --git a/include/asm-arm/arch-at91sam9/io.h b/include/asm-arm/arch-at91sam9/io.h index be9e9abe56..f09b2df0e3 100644 --- a/include/asm-arm/arch-at91sam9/io.h +++ b/include/asm-arm/arch-at91sam9/io.h @@ -1,5 +1,5 @@ /* - * include/asm-arm/arch-at91/io.h + * [origin: Linux kernel include/asm-arm/arch-at91/io.h] * * Copyright (C) 2003 SAN People * diff --git a/include/asm-arm/arch-at91sam9/memory-map.h b/include/asm-arm/arch-at91sam9/memory-map.h index da98822461..8015dad6a9 100644 --- a/include/asm-arm/arch-at91sam9/memory-map.h +++ b/include/asm-arm/arch-at91sam9/memory-map.h @@ -1,6 +1,6 @@ /* * (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 diff --git a/include/asm-arm/arch-mx31/mx31.h b/include/asm-arm/arch-mx31/mx31.h index f89a401bbc..0552c27ce6 100644 --- a/include/asm-arm/arch-mx31/mx31.h +++ b/include/asm-arm/arch-mx31/mx31.h @@ -24,9 +24,7 @@ #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 */ diff --git a/include/asm-arm/dma-mapping.h b/include/asm-arm/dma-mapping.h index 8054f62b06..501ce0e680 100644 --- a/include/asm-arm/dma-mapping.h +++ b/include/asm-arm/dma-mapping.h @@ -1,6 +1,6 @@ /* * (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 diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h index 00b7ec57e4..7cc28bfe3a 100644 --- a/include/asm-ppc/io.h +++ b/include/asm-ppc/io.h @@ -251,7 +251,7 @@ extern inline void out_be32(volatile unsigned __iomem *addr, int val) static inline void * map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags) { - return (void *)paddr; + return (void *)((unsigned long)paddr); } /* diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h index 4c049a5e93..8bdfb9ddf3 100644 --- a/include/asm-ppc/processor.h +++ b/include/asm-ppc/processor.h @@ -772,10 +772,14 @@ #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 diff --git a/include/common.h b/include/common.h index a6c966cde3..d0f57040ee 100644 --- a/include/common.h +++ b/include/common.h @@ -227,7 +227,6 @@ extern ulong load_addr; /* Default Load Address */ /* 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); diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h index 6eec240e9f..f9fa535ff7 100644 --- a/include/configs/MPC8313ERDB.h +++ b/include/configs/MPC8313ERDB.h @@ -42,9 +42,12 @@ /* * 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 */ @@ -80,7 +83,7 @@ #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 @@ -209,7 +212,7 @@ /* * 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 */ @@ -523,13 +526,8 @@ */ #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 diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h index 364ffac5ea..cf552c2487 100644 --- a/include/configs/MPC8349EMDS.h +++ b/include/configs/MPC8349EMDS.h @@ -602,6 +602,16 @@ 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 diff --git a/include/configs/at91cap9adk.h b/include/configs/at91cap9adk.h index dab21d0c0a..c891fa80ed 100644 --- a/include/configs/at91cap9adk.h +++ b/include/configs/at91cap9adk.h @@ -1,6 +1,6 @@ /* * (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. diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h index 96d1b8dff3..41c418f9ab 100644 --- a/include/configs/at91sam9260ek.h +++ b/include/configs/at91sam9260ek.h @@ -1,6 +1,6 @@ /* * (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. diff --git a/include/configs/kilauea.h b/include/configs/kilauea.h index 57cc90a6de..c7c42a4cdf 100644 --- a/include/configs/kilauea.h +++ b/include/configs/kilauea.h @@ -292,6 +292,7 @@ #define CONFIG_BOOTP_BOOTPATH #define CONFIG_BOOTP_GATEWAY #define CONFIG_BOOTP_HOSTNAME +#define CONFIG_BOOTP_SUBNETMASK /* * Command line configuration. diff --git a/include/configs/makalu.h b/include/configs/makalu.h index 6556666d27..67243d4e40 100644 --- a/include/configs/makalu.h +++ b/include/configs/makalu.h @@ -1,5 +1,5 @@ /* - * (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 @@ -172,22 +172,28 @@ ":${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" \ @@ -212,6 +218,7 @@ #define CONFIG_BOOTP_BOOTPATH #define CONFIG_BOOTP_GATEWAY #define CONFIG_BOOTP_HOSTNAME +#define CONFIG_BOOTP_SUBNETMASK /* * Command line configuration. diff --git a/include/configs/ml401.h b/include/configs/ml401.h index 360e2e11d2..7e0df87019 100644 --- a/include/configs/ml401.h +++ b/include/configs/ml401.h @@ -56,9 +56,11 @@ /* 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 @@ -70,18 +72,28 @@ #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 */ @@ -195,7 +207,12 @@ #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 diff --git a/include/configs/mx31ads.h b/include/configs/mx31ads.h index 7614b95019..2ea48a6da9 100644 --- a/include/configs/mx31ads.h +++ b/include/configs/mx31ads.h @@ -28,7 +28,7 @@ #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 @@ -139,7 +139,7 @@ #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 diff --git a/include/configs/xupv2p.h b/include/configs/xupv2p.h index 30fb303c96..c738567a5f 100644 --- a/include/configs/xupv2p.h +++ b/include/configs/xupv2p.h @@ -63,9 +63,11 @@ /* 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 @@ -77,18 +79,28 @@ #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; @@ -162,7 +174,12 @@ #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 diff --git a/include/environment.h b/include/environment.h index c4f7c33be6..bf9f669127 100644 --- a/include/environment.h +++ b/include/environment.h @@ -107,4 +107,14 @@ typedef struct environment_s { 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_ */ diff --git a/include/pci.h b/include/pci.h index 8e5dacc0df..1c8e21688f 100644 --- a/include/pci.h +++ b/include/pci.h @@ -314,7 +314,7 @@ 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 */ @@ -331,7 +331,7 @@ struct pci_region { 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; @@ -432,10 +432,10 @@ extern __inline__ void pci_set_ops(struct pci_controller *hose, 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)) diff --git a/include/version.h b/include/version.h index b56d2e9900..a34291adc5 100644 --- a/include/version.h +++ b/include/version.h @@ -24,6 +24,8 @@ #ifndef __VERSION_H__ #define __VERSION_H__ +#ifndef DO_DEPS_ONLY #include "version_autogenerated.h" +#endif #endif /* __VERSION_H__ */ diff --git a/lib_generic/crc32.c b/lib_generic/crc32.c index 64f66ed6fb..83d1d1d3a0 100644 --- a/lib_generic/crc32.c +++ b/lib_generic/crc32.c @@ -14,7 +14,9 @@ #include <stdint.h> #endif +#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG) #include <watchdog.h> +#endif #include "zlib.h" #define local static diff --git a/lib_i386/bootm.c b/lib_i386/bootm.c index 107ebaaa67..d959107c73 100644 --- a/lib_i386/bootm.c +++ b/lib_i386/bootm.c @@ -37,7 +37,6 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], 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) diff --git a/lib_ppc/board.c b/lib_ppc/board.c index 1b8a8721a3..4956403cce 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -453,18 +453,7 @@ void board_init_f (ulong bootflag) */ 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 diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c index 0328baddca..9194fd8b0a 100644 --- a/lib_ppc/bootm.c +++ b/lib_ppc/bootm.c @@ -667,9 +667,8 @@ static int boot_get_fdt (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], 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"); diff --git a/nand_spl/board/amcc/canyonlands/Makefile b/nand_spl/board/amcc/canyonlands/Makefile index 1ec1112309..47c7d02c3c 100644 --- a/nand_spl/board/amcc/canyonlands/Makefile +++ b/nand_spl/board/amcc/canyonlands/Makefile @@ -30,7 +30,7 @@ AFLAGS += -DCONFIG_NAND_SPL 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 @@ -89,6 +89,12 @@ $(obj)nand_ecc.c: @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 diff --git a/post/cpu/ppc4xx/Makefile b/post/cpu/ppc4xx/Makefile index 87ecd7c907..f19dc5d3ce 100644 --- a/post/cpu/ppc4xx/Makefile +++ b/post/cpu/ppc4xx/Makefile @@ -25,6 +25,12 @@ include $(OBJTREE)/include/autoconf.mk 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 diff --git a/tools/env/Makefile b/tools/env/Makefile index ea2d5b5a01..9629ee58ef 100644 --- a/tools/env/Makefile +++ b/tools/env/Makefile @@ -26,7 +26,7 @@ include $(TOPDIR)/config.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 diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index e083a5b11e..b8bca91c38 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -1,5 +1,5 @@ /* - * (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 @@ -209,13 +209,14 @@ char *fw_getenv (char *name) * 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) { @@ -223,13 +224,13 @@ void fw_printenv (int argc, char *argv[]) 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) { @@ -239,7 +240,7 @@ void fw_printenv (int argc, char *argv[]) if (argc != 2) { fprintf (stderr, "## Error: " "`-n' option requires exactly one argument\n"); - return; + return (-1); } } else { n_flag = 0; @@ -255,7 +256,7 @@ void fw_printenv (int argc, char *argv[]) if (nxt >= &environment.data[ENV_SIZE]) { fprintf (stderr, "## Error: " "environment not terminated\n"); - return; + return (-1); } } val = envmatch (name, env); @@ -268,9 +269,13 @@ void fw_printenv (int argc, char *argv[]) break; } } - if (!val) + if (!val) { fprintf (stderr, "## Error: \"%s\" not defined\n", name); + rc = -1; + } } + + return (rc); } /* diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h index 58607ded5a..248f58c4a0 100644 --- a/tools/env/fw_env.h +++ b/tools/env/fw_env.h @@ -1,5 +1,5 @@ /* - * (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 @@ -47,7 +47,7 @@ "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[]); diff --git a/tools/env/fw_env_main.c b/tools/env/fw_env_main.c index 696e30efda..7f631c4494 100644 --- a/tools/env/fw_env_main.c +++ b/tools/env/fw_env_main.c @@ -1,5 +1,5 @@ /* - * (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 @@ -25,15 +25,16 @@ * 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" */ @@ -58,16 +59,18 @@ main(int argc, char *argv[]) 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, |