diff options
| -rw-r--r-- | CHANGELOG | 541 | ||||
| -rw-r--r-- | Makefile | 6 | ||||
| -rw-r--r-- | board/amcc/luan/luan.c | 17 | ||||
| -rw-r--r-- | board/at91rm9200dk/led.c | 2 | ||||
| -rw-r--r-- | board/cm5200/cm5200.c | 1 | ||||
| -rw-r--r-- | common/cmd_fpga.c | 2 | ||||
| -rw-r--r-- | cpu/arm720t/serial.c | 2 | ||||
| -rw-r--r-- | cpu/arm920t/start.S | 128 | ||||
| -rw-r--r-- | cpu/ppc4xx/440spe_pcie.c | 10 | ||||
| -rw-r--r-- | cpu/ppc4xx/4xx_enet.c | 16 | ||||
| -rw-r--r--[-rwxr-xr-x] | drivers/at45.c | 316 | ||||
| -rw-r--r-- | drivers/usb_ohci.c | 1 | ||||
| -rw-r--r-- | include/config_cmd_all.h | 2 | ||||
| -rw-r--r-- | include/configs/TQM5200.h | 41 | ||||
| -rw-r--r-- | include/configs/TQM85xx.h | 2 | ||||
| -rw-r--r-- | include/configs/ads5121.h | 9 | ||||
| -rw-r--r-- | include/configs/lwmon5.h | 16 | ||||
| -rw-r--r-- | include/configs/stxssa.h | 20 | ||||
| -rw-r--r-- | include/led.h | 45 | ||||
| -rw-r--r-- | include/status_led.h | 21 | ||||
| -rw-r--r-- | lib_arm/board.c | 21 | ||||
| -rw-r--r-- | net/bootp.c | 2 | 
22 files changed, 855 insertions, 366 deletions
| @@ -1,3 +1,497 @@ +commit e1893815b0999410d7a327589611c7b38e95299e +Author: Wolfgang Denk <wd@denx.de> +Date:	Fri Oct 12 15:49:39 2007 +0200 + +    GP3 SSA: enable RTC + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit 8002012041f1ff9f997a5727abe5015f70cd2e46 +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Tue Oct 9 13:58:24 2007 +0200 + +    [ads5121] EEPROM support added. + +    Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com> + +commit 2b2a587d6d3076387d22ac740f44044bf46e2cb8 +Author: Marian Balakowicz <m8@semihalf.com> +Date:	Fri Oct 5 10:40:54 2007 +0200 + +    tqm5200: Fix CONFIG_CMD_PCI typo in board config file. + +    Signed-off-by: Marian Balakowicz <m8@semihalf.com> + +commit 92869195ef8210758d2176230c0a36897afd50ed +Author: Bartlomiej Sieka <tur@semihalf.com> +Date:	Fri Oct 5 09:46:06 2007 +0200 + +    CM5200: Fix missing null-termination in hostname manipulation code + +    Signed-off-by: Bartlomiej Sieka <tur@semihalf.com> + +commit 738815c0cc44aa329097f868dc1efc49ede9c5ba +Author: Stefan Roese <sr@denx.de> +Date:	Tue Oct 2 11:44:46 2007 +0200 + +    ppc4xx: Coding style cleanup + +    Signed-off-by: Stefan Roese <sr@denx.de> + +commit 87c1833a39e944db66385286fd5e28f9b3fcdd50 +Author: Stefan Roese <sr@denx.de> +Date:	Tue Oct 2 11:44:19 2007 +0200 + +    ppc4xx: lwmon5: Remove watchdog for now, since not fully tested yet + +    Signed-off-by: Stefan Roese <sr@denx.de> + +commit 2db64784061bfc34f4ba70ef1d2fbe7133b55670 +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Mon Oct 1 09:51:50 2007 +0200 + +    Program EPLD to force full duplex mode for PHY. + +    EPLD forces modes of PHY operation. By default full duplex is turned off. +    This fix turns it on. + +    Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com> + +commit 86ec86c04326c3913178a7679aa910de071da75d +Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> +Date:	Thu Sep 27 23:27:47 2007 +0200 + +    Fix missing DECLARE_GLOBAL_DATA_PTR on CONFIG_LPC2292 in serial + +    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> + +commit 3e954beb614b5b190d7f4f4c3b641437a0132e35 +Author: Stefan Roese <sr@denx.de> +Date:	Tue Sep 11 14:12:55 2007 +0200 + +    ppc4xx: lwmon5: Change GPIO 58 to default to low (watchdog test) + +    Signed-off-by: Stefan Roese <sr@denx.de> + +commit 0d38effc6e359e6b1b0c78d66e8bc1a4dc15a2ae +Author: Grant Likely <grant.likely@secretlab.ca> +Date:	Tue Sep 25 15:48:05 2007 -0600 + +    Fpga: fix incorrect test of CFG_FPGA_XILINX macro + +    CFG_FPGA_XILINX is a bit value used to test against the value in +    CONFIG_FPGA.  Testing for a value will always return TRUE.	I don't +    think that is the intention in this code. + +    Signed-off-by: Grant Likely <grant.likely@secretlab.ca> + +commit 66dcad3a9a53e0766d90e0084123bd8529522fb0 +Author: Wolfgang Denk <wd@denx.de> +Date:	Thu Sep 20 00:04:14 2007 +0200 + +    v1.3.0-rc2 + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit 135e19bc2773ebca487e9a8371f67e1ba202313a +Author: Wolfgang Denk <wd@denx.de> +Date:	Tue Sep 18 21:36:35 2007 +0200 + +    Avoid compiler warning. + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit 8a783a65851bc7421ab69f442261215e21b8891a +Author: Grant Likely <grant.likely@secretlab.ca> +Date:	Tue Sep 18 12:24:57 2007 -0600 + +    Bugfix: remove embedded null (\0) from CFG_BOOTFILE macro in TQM8540_config + +    /bin/bash and /bin/dash (which /bin/sh is linked to on ubuntu) handle embedded +    nulls in a string differently.  For example, the following statement: +	echo "this is a string\0" > afile +    Will produce the following with /bin/bash: +	"this is a string\0" +    But with /bin/dash, will produce: +	"this is a string + +    Bug fixed by moving the embedded null out of the makefile and into the +    config header.  Also renamed the macro to avoid usage colision with the same +    macro used by other board ports. + +    Signed-off-by: Grant Likely <grant.likely@secretlab.ca> + +commit f8d3ca7b6fa322ac57e8e831f07dbeea039a9f35 +Author: Wolfgang Denk <wd@denx.de> +Date:	Tue Sep 18 17:40:27 2007 +0200 + +    MCC200: fix build warning + +    The MCC200 board config file includes version.h for some customer- +    specific setting, which causes warnings with "make depend"; build +    version.h before depend. + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit bd86220f58b99d6896198c385fda132f0c980915 +Author: Peter Pearse <peter.pearse@arm.com> +Date:	Tue Sep 18 13:07:54 2007 +0100 + +    Move coloured led API to status_led.h +    Improve indentation in drivers/at45.c + +commit 97213f32416ead885deafea86774e912ffd60ad0 +Author: David Saada <David.Saada@ecitele.com> +Date:	Mon Sep 17 17:04:47 2007 +0200 + +    Description: Add NEC's PCI OHCI module ID to the USB OHCI driver + +    Signed-off-by: David Saada <david.saada@ecitele.com> + +commit 67c31036acaaaa992fc346cc89db0909a7e733c4 +Author: Wolfgang Denk <wd@denx.de> +Date:	Sun Sep 16 17:10:04 2007 +0200 + +    TQM8xx[LM]: Fix broken environment alignment. + +    With recent toolchains, the environment sectors were no longer aligned to +    sector boundaries. The reason was a combination of two bugs: + +    1) common/environment.c assumed that CONFIG_TQM8xxL would be defined +       for all TQM8xxL and TQM8xxM boards. But "include/common.h", where +       this gets defined, is not included here (and cannot be included +       without causing lots of problems). + +       Added a new #define CFG_USE_PPCENV for all boards which really +       want to put the environment is a ".ppcenv" section. + +    2) The linker scripts just include environment.o, silently assuming +       that the objects in that file are really in the order in which +       they are coded in the C file, i. e. "environment" first, then +       "redundand_environment", and "env_size" last. However, current +       toolchains (GCC-4.x) reorder the objects, causing the environment +       data not to start on a flash sector boundary: + +       Instead of:					we got: + +	40008000 T environment			40008000 T env_size +	4000c000 T redundand_environment	40008004 T redundand_environment +	40010000 T env_size			4000c004 T environment + +       Note: this patch fixes just the first part, and cures the alignment +       problem by making sure that "env_size" gets placed correctly. However, +       we still have a potential issue because primary and redundant +       environment sectors are actually swapped, i. e. we have now: + +	40008000 T redundand_environment +	4000c000 T environment +	40010000 T env_size + +       This shall be fixed in the next version. + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit eb6da8050797c204c9d010548424186c7ce32fc1 +Author: Wolfgang Denk <wd@denx.de> +Date:	Sun Sep 16 02:39:35 2007 +0200 + +    TQM8xx/FPS8xx: adjust flash partitions for 2.6 ARCH=powerpc kernels + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit cd2d1602c54cc6957bdef3872272a4b264893960 +Author: urwithsughosh@gmail.com <urwithsughosh@gmail.com> +Date:	Mon Sep 10 14:54:56 2007 -0400 + +    Typo fix in tsec.c + +    Fixup for the break statement in wrong place. + +    [Patch by urwithsughosh@gmail.com] +    Acked-by: Andy Fleming <afleming@freescale.com> +    Signed-off-by:	Wolfgang Denk <wd@denx.de> + +commit 5bd7fe9aeb76906371f40b8fd07613f10922e3e7 +Author: Matthias Fuchs <matthias.fuchs@esd-electronics.com> +Date:	Tue Sep 11 17:04:00 2007 +0200 + +    Fix do_div() usage in nand process output + +    Fix usage of do_div() in nand erase|read|write process output. + +    The last patch to nand_util.c introduced do_div() instead of libgcc's +    implementation. But do_div() returns the quotient in its first +    macro parameter and not as result. + +    Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com> + +commit c750d2e6692a000a82f29de7bf24e3dc21239161 +Author: Matthias Fuchs <matthias.fuchs@esd-electronics.com> +Date:	Wed Sep 12 12:36:53 2007 +0200 + +    NAND: Add CFG_NAND_QUIET option + +    This config option sets the default for the progress information +    output behavior that can also be configured through the 'quiet' +    environment variable. + +    The legacy NAND code does not print the current progress info +    on the console. So this option is for backward compatibility for +    units that are in the field and where setting the quiet variable +    is not an option. With CFG_NAND_QUIET set to '1' the console +    progress info is turned off. This can still be overwritten +    through the environment variable. + +    Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com> + +commit dcb88630290d2bcd803386dd4c2be73142994c4f +Author: Liew Tsi Chung-r5aahp <Tsi-chung.Liew@freescale.com> +Date:	Thu Sep 13 16:06:05 2007 -0700 + +    ColdFire: fix build error becasue of bad type of mii_init() + +    Signed-off-by: TsiChungLiew <Tsi-Chung.Liew@freescale.com> + +commit 314d5b6ce52a4ed19dd295d1364e246c5e605017 +Author: Liew Tsi Chung-r5aahp <Tsi-chung.Liew@freescale.com> +Date:	Thu Sep 13 16:04:05 2007 -0700 + +    ColdFire: Fix build error caused by pixis.c + +    Moved the #include <asm/cache.h> inside the #ifdef CONFIG_FSL_PIXIS. + +    Signed-off-by: TsiChungLiew <Tsi-Chung.Liew@freescale.com> + +commit e21659e30660a1377c42af135a6114efe39801d9 +Author: Sam Sparks <SSparks@twacs.com> +Date:	Fri Sep 14 11:14:42 2007 -0600 + +    Update MPC8349ITX*_config to place config.tmp in right place. + +    MPC834ITX*_config does not store config.tmp at the correct locatation, +    causing MPC8349ITXGP to have the wrong TEXT_BASE. + +    Signed-off-by: Sam Sparks <SSparks@twacs.com> +    Signed-off-by: Grant Likely <grant.likely@secretlab.ca> + +commit 1218abf1b5817a39a82399b4b928b00750575bda +Author: Wolfgang Denk <wd@denx.de> +Date:	Sat Sep 15 20:48:41 2007 +0200 + +    Fix cases where DECLARE_GLOBAL_DATA_PTR was not declared as global + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit 66b3f24d665be678a9dbb125b1e84185400f63b5 +Author: Dirk Behme <dirk.behme@googlemail.com> +Date:	Sat Sep 15 11:55:42 2007 +0200 + +    Make DECLARE_GLOBAL_DATA_PTR global for DaVinci + +    As discussed in [1], DECLARE_GLOBAL_DATA_PTR has to be global and not +    function local. + +    Signed-off-by: Dirk Behme <dirk.behme@gmail.com> + +    [1] http://article.gmane.org/gmane.comp.boot-loaders.u-boot/31805 + +commit 6e7b7b6ea1b6d04dbe96242eb6a0c1c664c98e8c +Author: Bartlomiej Sieka <tur@semihalf.com> +Date:	Thu Sep 13 18:21:48 2007 +0200 + +    cm5200: Fix a typo introduced by afaac86fe2948ac84cd9a12bbed883b3c683e7d9 + +    Signed-off-by: Marian Balakowicz <m8@semihalf.com> + +commit e1f601b572db5de9aa81a0b77c68a86994fe24c4 +Author: Bartlomiej Sieka <tur@semihalf.com> +Date:	Thu Sep 13 16:33:59 2007 +0200 + +    tqm5200: Restore customary env. variable boot commands for powerpc kernels + +    - update default definitions of kernel_addr and fdt_addr env. variables +    - make arch/powerpc booting the default scenario +    - update MTD partition layout to match the above + +    Signed-off-by: Bartlomiej Sieka <tur@semihalf.com> + +commit f34024d4a328e6edd906456da98d2c537155c4f7 +Author: Wolfgang Denk <wd@denx.de> +Date:	Wed Sep 12 00:48:57 2007 +0200 + +    Fix memory corruption problem on STX GP3 SSA Board. + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit d94c79e47011af5e8dd10ed6163c09b4cfc743cc +Author: Peter Pearse <peter.pearse@arm.com> +Date:	Tue Sep 11 15:35:01 2007 +0100 + +    Final tidy + +commit 38ad82da0c1180ecdeb212a8f4245e945bcc546e +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Tue Sep 11 15:42:11 2007 +0200 + +    [GP3SSA] Add define CONFIG_MPC85XX_PCI2 in config file to allow u-boot to +    scan on second pci bus. + +    Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com> + +commit 6c2f4f388e8181655ea8b69343ea00b68aa6e8d0 +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Tue Sep 11 12:57:52 2007 +0200 + +    [ppc4xx] Individual handling of sdram.c for bamboo_nand build + +    Bamboo has a file sdram.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: Grzegorz Bernacki <gjb@semihalf.com> + +commit 38c1ef728d19950414a8ab1ccfc53767848fa346 +Author: Sean MCGOOGAN <sean.mcgoogan@st.com> +Date:	Mon Sep 10 16:55:59 2007 +0100 + +    Allocate CPU Architecture Code for STMicroelectronics' ST200. + +    Signed-off-by: Sean McGoogan <Sean.McGoogan@st.com> +    --------------------------------------------------- + +commit 754bac48156f8958d8f6a53a51eda88ab5758929 +Author: Wolfgang Denk <wd@denx.de> +Date:	Mon Sep 10 20:42:31 2007 +0200 + +    Update version to match current state. + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit 7a888d6b3c32a126dbb504ef146bb4c26574ca7b +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Mon Sep 10 17:39:08 2007 +0200 + +    [MPC512x] Streamline frame handling in the FEC driver + +    - convert frame size settings to be derived from a single base +    - set frame size to the recommended default value + +    Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com> + +commit e251e00d0db4b36d1d2b7e38fec43a7296b529a2 +Author: Kyungmin Park <kmpark@infradead.org> +Date:	Mon Sep 10 11:34:00 2007 +0900 + +    Remove compiler warning: target CPU does not support interworking + +    Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> + +commit 1d9e31e04911a6bb7cc66dd91132c699101c32e2 +Author: Wolfgang Denk <wd@denx.de> +Date:	Sun Sep 9 21:21:33 2007 +0200 + +    Fix compile error in spc1920 config. + +    Signed-off-by: Markus Klotzbücher <mk@denx.de> +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit a7d7eca791a37f452c9da10fef4b31dd7aa9a622 +Author: Grant Likely <grant.likely@secretlab.ca> +Date:	Fri Sep 7 09:25:07 2007 -0600 + +    Bugfix: make bootm+libfdt compile on boards with no flash + +    Signed-off-by: Grant Likely <grant.likely@secretlab.ca> + +commit 6efc1fc0b63e55f94c5bc61d8dd23c918e3bc778 +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Fri Sep 7 18:35:37 2007 +0200 + +    [PPC440SPe] PCIe environment settings for Katmai and Yucca + +    - 'pciconfighost' is set by default in order to be able to scan bridges +    behind the primary host/PCIe + +    - 'pciscandelay' env variable is recognized to allow for user-controlled +    delay before the PCIe bus enumeration; some peripheral devices require a +    significant delay before they can be scanned (e.g. LSI8408E); without the +    delay they are not detected + +    Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com> + +commit 7f1913938984ef6c6a46cb53e003719196d9c5de +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Fri Sep 7 18:20:23 2007 +0200 + +    [PPC440SPe] Improve PCIe configuration space access + +    - correct configuration space mapping +    - correct bus numbering +    - better access to config space + +    Prior to this patch, the 440SPe host/PCIe bridge was able to configure only the +    first device on the first bus. We now allow to configure up to 16 buses; +    also, scanning for devices behind the PCIe-PCIe bridge is supported, so +    peripheral devices farther in hierarchy can be identified. + +    Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com> + +commit 15ee4734e4e08003d73d9ead3ca80e2a0672e427 +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Fri Sep 7 17:46:18 2007 +0200 + +    [PPC440SPe] Convert machine check exceptions handling + +    Convert using fixup mechanism to suppressing MCK for the duration of config +    read/write transaction: while fixups work fine with the case of a precise +    exception, we identified a major drawback with this approach when there's +    an imprecise case. In this scenario there is the following race condition: +    the fixup is (by design) set to catch the instruction following the one +    actually causing the exception; if an interrupt (e.g. decrementer) happens +    between those two instructions, the ISR code is executed before the fixup +    handler the machine check is no longer protected by the fixup handler as it +    appears as within the ISR code. In consequence the fixup approach is being +    phased out and replaced with explicit suppressing of MCK during a PCIe +    config read/write cycle. + +    Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com> + +commit ff7640c9ead8806b5d827f2b29f9cb2632add729 +Author: Wolfgang Denk <wd@denx.de> +Date:	Fri Sep 7 17:43:36 2007 +0200 + +    Fix typo in MAKEALL script. + +    Signed-off-by: Wolfgang Denk <wd@denx.de> + +commit 08e2e5fcd2e06670b62e1680a3934c0e55c72810 +Author: Grzegorz Bernacki <gjb@semihalf.com> +Date:	Fri Sep 7 17:09:21 2007 +0200 + +    [MPC512x] Proper handling of larger frames in the FEC driver + +    When frame larger than local RX buffer is received, it is split and handled +    by two buffer descriptors. Prior to this patch the FEC driver discarded +    contents of a buffer descriptor without the 'LAST' bit set, so the first +    part of the frame was lost in case of larger frames. This fix allows to +    safely combine the two pieces into the whole frame. + +    Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com> + +commit 8d17979d0359492a822a0a409d26e3a3549b4cd4 +Author: Rafal Jaworowski <raj@semihalf.com> +Date:	Fri Sep 7 17:05:36 2007 +0200 + +    [MPC512x] Correct fixup relocation + +    Signed-off-by: Rafal Jaworowski <raj@semihalf.com> + +commit a89cbbd27a60e6740772000fd0688ffba1c2576a +Author: Wolfgang Denk <wd@denx.de> +Date:	Fri Sep 7 01:21:25 2007 +0200 + +    Update CHANGELOG, minor coding style cleanup. +  commit 5e5803e119de3bebd76fc9a57baac0b5aeccc8a3  Author: stefano babic <sbabic@denx.de>  Date:	Thu Aug 30 23:01:49 2007 +0200 @@ -141,6 +635,14 @@ Date:	Thu Sep 6 09:46:17 2007 -0600      Signed-off-by: Grant Likely <grant.likely@secretlab.ca> +commit 80767a6cead9990d9e77e62be947843c2c72f469 +Author: Peter Pearse <peter.pearse@arm.com> +Date:	Wed Sep 5 16:04:41 2007 +0100 + +    Changed API name to coloured_led.h +    Removed code using deprecated ifdef CONFIG_BOOTBINFUNC +    Tidied other cpu/arm920t/start.S code +  commit 56a9270521baaa00e12639a978302a67f61ef060  Author: Kumar Gala <galak@kernel.crashing.org>  Date:	Thu Aug 30 16:18:18 2007 -0500 @@ -166,6 +668,31 @@ Date:	Thu Aug 30 01:58:48 2007 -0500      Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> +commit 9f5c3d3720e777a572dcdc8af2008b44c7243885 +Author: Peter Pearse <peter.pearse@arm.com> +Date:	Tue Sep 4 16:18:38 2007 +0100 + +    Add coloured led interface for ARM boards. +    Use it in cpu/arm920t/start.S to indicate U-Boot code has been entered. + +commit 7462fe0d5a9d40cde083fb1a3cd73911996b5ecb +Author: Peter Pearse <peter.pearse@arm.com> +Date:	Tue Sep 4 14:49:28 2007 +0100 + +    Move include/led.h to board/at91rm9200dk + +commit 6e4bf9b24e57c15abc6542e685d06380bc64af27 +Author: Peter Pearse <peter.pearse@arm.com> +Date:	Tue Sep 4 14:25:51 2007 +0100 + +    Ran Lindent on drivers/at45.c + +commit 557ab89d294f08dd532f21d19861b40093200a33 +Author: Peter Pearse <peter.pearse@arm.com> +Date:	Tue Sep 4 14:23:50 2007 +0100 + +    Rename CONFIG_CMD_MUX to CONFIG_CMD_AT91_SPIMUX +  commit 81b73dec16fd1227369a191e725e10044a9d56b8  Author: Gary Jennejohn <garyj@denx.de>  Date:	Fri Aug 31 15:21:46 2007 +0200 @@ -241,6 +768,20 @@ Date:	Wed Aug 29 18:26:24 2007 -0600      Signed-off-by: Grant Likely <grant.likely@secretlab.ca> +commit 04625764cc93ce8a61625ac19d7fe2a2ceee8143 +Author: Stefan Roese <sr@denx.de> +Date:	Wed Aug 29 16:31:18 2007 +0200 + +    ppc4xx: Change lwmon5 default environment to support Linux RTC + +    The Linux PCF8563 RTC driver doesn't do autoprobing, so we need +    to supply the RTC I2C address as bootline parameter. This patch +    adds support for this rtc probing parameter to the bootargs: + +    "rtc-pcf8563.probe=0,0x51" + +    Signed-off-by: Stefan Roese <sr@denx.de> +  commit 2602a5c40ae37ab965a4e240854fdaffb51328a4  Author: Kim Phillips <kim.phillips@freescale.com>  Date:	Wed Aug 29 09:06:05 2007 -0500 @@ -24,7 +24,7 @@  VERSION = 1  PATCHLEVEL = 3  SUBLEVEL = 0 -EXTRAVERSION = -rc1 +EXTRAVERSION = -rc2  U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)  VERSION_FILE = $(obj)include/version_autogenerated.h @@ -320,7 +320,7 @@ updater:  env:  		$(MAKE) -C tools/env all || exit 1 -depend dep: +depend dep:	version  		for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done  tags ctags: @@ -1962,7 +1962,7 @@ TQM8560_config:		unconfig  	echo "#define CONFIG_TQM$${CTYPE}">>$(obj)include/config.h; \  	echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \  	echo "#define CONFIG_BOARDNAME \"TQM$${CTYPE}\"">>$(obj)include/config.h; \ -	echo "#define CFG_BOOTFILE \"bootfile=/tftpboot/tqm$${CTYPE}/uImage\0\"">>$(obj)include/config.h +	echo "#define CFG_BOOTFILE_PATH \"/tftpboot/tqm$${CTYPE}/uImage\"">>$(obj)include/config.h  	@$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx  ######################################################################### diff --git a/board/amcc/luan/luan.c b/board/amcc/luan/luan.c index 7b16f8a39..0067ce0e7 100644 --- a/board/amcc/luan/luan.c +++ b/board/amcc/luan/luan.c @@ -39,8 +39,6 @@ extern flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips */   ************************************************************************/  int board_early_init_f(void)  { -	volatile epld_t *x = (epld_t *) CFG_EPLD_BASE; -  	mtebc( pb0ap,  0x03800000 );	/* set chip selects */  	mtebc( pb0cr,  0xffc58000 );	/* ebc0_b0cr, 4MB at 0xffc00000 CS0 */  	mtebc( pb1ap,  0x03800000 ); @@ -66,8 +64,6 @@ int board_early_init_f(void)  	mtdcr( uic0sr, 0x00000000 );	/* clear all interrupts */  	mtdcr( uic0sr, 0xffffffff ); -	x->ethuart &= ~EPLD2_RESET_ETH_N; /* put Ethernet+PHY in reset */ -  	return  0;  } @@ -79,7 +75,18 @@ int board_early_init_f(void)  int misc_init_r(void)  {  	volatile epld_t *x = (epld_t *) CFG_EPLD_BASE; -	x->ethuart |= EPLD2_RESET_ETH_N; /* take Ethernet+PHY out of reset */ + +	/* set modes of operation */ +	x->ethuart |= EPLD2_ETH_MODE_10 | EPLD2_ETH_MODE_100 | +		EPLD2_ETH_MODE_1000 | EPLD2_ETH_DUPLEX_MODE; +	/* clear ETHERNET_AUTO_NEGO bit to turn on autonegotiation */ +	x->ethuart &= ~EPLD2_ETH_AUTO_NEGO; + +	/* put Ethernet+PHY in reset */ +	x->ethuart &= ~EPLD2_RESET_ETH_N; +	udelay(10000); +	/* take Ethernet+PHY out of reset */ +	x->ethuart |= EPLD2_RESET_ETH_N;  	return  0;  } diff --git a/board/at91rm9200dk/led.c b/board/at91rm9200dk/led.c index 051891883..47a3bfce6 100644 --- a/board/at91rm9200dk/led.c +++ b/board/at91rm9200dk/led.c @@ -66,7 +66,7 @@ void	red_LED_off(void)  } -void LED_init (void) +void coloured_LED_init (void)  {  	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;  	AT91PS_PMC	PMC	= AT91C_BASE_PMC; diff --git a/board/cm5200/cm5200.c b/board/cm5200/cm5200.c index b74ac08bc..e2ab5b8e2 100644 --- a/board/cm5200/cm5200.c +++ b/board/cm5200/cm5200.c @@ -397,6 +397,7 @@ int misc_init_r(void)  					"operational\n");  	/* set the hostname appropriate to the module we're running on */ +	hostname[0] = 0x00;  	compose_hostname(hw_id, hostname);  	setenv("hostname", hostname); diff --git a/common/cmd_fpga.c b/common/cmd_fpga.c index 3fc4fca9a..cce23ad70 100644 --- a/common/cmd_fpga.c +++ b/common/cmd_fpga.c @@ -60,6 +60,7 @@ static int fpga_get_op (char *opstr);  /* Convert bitstream data and load into the fpga */  int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)  { +#if (CONFIG_FPGA & CFG_FPGA_XILINX)  	unsigned int length;  	unsigned char* swapdata;  	unsigned int swapsize; @@ -72,7 +73,6 @@ int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)  	dataptr = (unsigned char *)fpgadata; -#if CFG_FPGA_XILINX  	/* skip the first bytes of the bitsteam, their meaning is unknown */  	length = (*dataptr << 8) + *(dataptr+1);  	dataptr+=2; diff --git a/cpu/arm720t/serial.c b/cpu/arm720t/serial.c index 27eb73ad8..1b0e147e1 100644 --- a/cpu/arm720t/serial.c +++ b/cpu/arm720t/serial.c @@ -125,6 +125,8 @@ serial_puts (const char *s)  #elif defined(CONFIG_LPC2292) +DECLARE_GLOBAL_DATA_PTR; +  #include <asm/arch/hardware.h>  void serial_setbrg (void) diff --git a/cpu/arm920t/start.S b/cpu/arm920t/start.S index b9c364bc6..aefcdd155 100644 --- a/cpu/arm920t/start.S +++ b/cpu/arm920t/start.S @@ -27,9 +27,7 @@  #include <config.h>  #include <version.h> -#if	defined(CONFIG_AT91RM9200DK) || defined(CONFIG_AT91RM9200EK) || defined(CONFIG_AT91RM9200DF) -#include	<led.h> -#endif +#include <status_led.h>  /*   ************************************************************************* @@ -41,7 +39,7 @@  .globl _start -_start:	b       reset +_start:	b       start_code  	ldr	pc, _undefined_instruction  	ldr	pc, _software_interrupt  	ldr	pc, _prefetch_abort @@ -64,7 +62,7 @@ _fiq:			.word fiq  /*   *************************************************************************   * - * Startup Code (reset vector) + * Startup Code (called from the ARM reset exception vector)   *   * do important init only if we don't start from memory!   * relocate armboot to ram @@ -106,10 +104,10 @@ FIQ_STACK_START:  /* - * the actual reset code + * the actual start code   */ -reset: +start_code:  	/*  	 * set the cpu to SVC32 mode  	 */ @@ -118,58 +116,12 @@ reset:  	orr	r0,r0,#0xd3  	msr	cpsr,r0 -#if	CONFIG_AT91RM9200 -#if	defined(CONFIG_AT91RM9200DK) || defined(CONFIG_AT91RM9200EK) || defined(CONFIG_AT91RM9200DF) -	bl LED_init +	bl coloured_LED_init  	bl red_LED_on -#endif - -#ifdef CONFIG_BOOTBINFUNC -/* code based on entry.S from ATMEL */ -#define AT91C_BASE_CKGR 0xFFFFFC20 -#define CKGR_MOR 0 -	/* Get the CKGR Base Address */ -	ldr     r1, =AT91C_BASE_CKGR -/* Main oscillator Enable register	APMC_MOR : Enable main oscillator , OSCOUNT = 0xFF */ -/*	ldr 	r0, = AT91C_CKGR_MOSCEN:OR:AT91C_CKGR_OSCOUNT */ -	ldr 	r0, =0x0000FF01 -	str     r0, [r1, #CKGR_MOR] -	/* Add loop to compensate Main Oscillator startup time */ -	ldr 	r0, =0x00000010 -LoopOsc: -	subs    r0, r0, #1 -	bhi     LoopOsc -	/* scratch stack */ -	ldr 	r1, =0x00204000 -	/* Insure word alignment */ -	bic     r1, r1, #3 -	/* Init stack SYS	 */ -	mov     sp, r1 -	/* -	 * This does a lot more than just set up the memory, which -	 * is why it's called lowlevelinit -	 */ -	bl	lowlevelinit /* in memsetup.S */ -	bl	icache_enable; -	/* ------------------------------------ -	 * Read/modify/write CP15 control register -	 * ------------------------------------- -	 * read cp15 control register (cp15 r1) in r0 -	 * ------------------------------------ -	 */ -	mrc     p15, 0, r0, c1, c0, 0 -	/* Reset bit :Little Endian end fast bus mode */ -	ldr     r3, =0xC0000080 -	/* Set bit :Asynchronous clock mode, Not Fast Bus */ -	ldr     r4, =0xC0000000 -	bic     r0, r0, r3 -	orr     r0, r0, r4 -	/* write r0 in cp15 control register (cp15 r1) */ -	mcr     p15, 0, r0, c1, c0, 0 -#endif /* CONFIG_BOOTBINFUNC */ +#if	defined(CONFIG_AT91RM9200DK) || defined(CONFIG_AT91RM9200EK) || defined(CONFIG_AT91RM9200DF)  	/* -	 * relocate exeception table +	 * relocate exception table  	 */  	ldr	r0, =_start  	ldr	r1, =0x0 @@ -181,19 +133,20 @@ copyex:  	bne	copyex  #endif -/* turn off the watchdog */ -#if defined(CONFIG_S3C2400) -# define pWTCON		0x15300000 -# define INTMSK		0x14400008	/* Interupt-Controller base addresses */ -# define CLKDIVN	0x14800014	/* clock divisor register */ -#elif defined(CONFIG_S3C2410) -# define pWTCON		0x53000000 -# define INTMSK		0x4A000008	/* Interupt-Controller base addresses */ -# define INTSUBMSK	0x4A00001C -# define CLKDIVN	0x4C000014	/* clock divisor register */ -#endif -  #if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) +	/* turn off the watchdog */ + +# if defined(CONFIG_S3C2400) +#  define pWTCON		0x15300000 +#  define INTMSK		0x14400008	/* Interupt-Controller base addresses */ +#  define CLKDIVN	0x14800014	/* clock divisor register */ +#else +#  define pWTCON		0x53000000 +#  define INTMSK		0x4A000008	/* Interupt-Controller base addresses */ +#  define INTSUBMSK	0x4A00001C +#  define CLKDIVN	0x4C000014	/* clock divisor register */ +# endif +  	ldr     r0, =pWTCON  	mov     r1, #0x0  	str     r1, [r0] @@ -226,25 +179,7 @@ copyex:  #endif  #ifdef	CONFIG_AT91RM9200 -#ifdef CONFIG_BOOTBINFUNC -relocate:				/* relocate U-Boot to RAM	    */ -	adr	r0, _start		/* r0 <- current position of code   */ -	ldr	r1, _TEXT_BASE		/* test if we run from flash or RAM */ -	cmp     r0, r1                  /* don't reloc during debug         */ -	beq     stack_setup - -	ldr	r2, _armboot_start -	ldr	r3, _bss_start -	sub	r2, r3, r2		/* r2 <- size of armboot            */ -	add	r2, r0, r2		/* r2 <- source end address         */ -copy_loop: -	ldmia	r0!, {r3-r10}		/* copy from source address [r0]    */ -	stmia	r1!, {r3-r10}		/* copy to   target address [r1]    */ -	cmp	r0, r2			/* until source end addreee [r2]    */ -	ble	copy_loop -#endif /* CONFIG_BOOTBINFUNC */ -#else  #ifndef CONFIG_SKIP_RELOCATE_UBOOT  relocate:				/* relocate U-Boot to RAM	    */  	adr	r0, _start		/* r0 <- current position of code   */ @@ -284,27 +219,6 @@ clbss_l:str	r2, [r0]		/* clear loop...                    */  	cmp	r0, r1  	ble	clbss_l -#if 0 -	/* try doing this stuff after the relocation */ -	ldr     r0, =pWTCON -	mov     r1, #0x0 -	str     r1, [r0] - -	/* -	 * mask all IRQs by setting all bits in the INTMR - default -	 */ -	mov	r1, #0xffffffff -	ldr	r0, =INTMR -	str	r1, [r0] - -	/* FCLK:HCLK:PCLK = 1:2:4 */ -	/* default FCLK is 120 MHz ! */ -	ldr	r0, =CLKDIVN -	mov	r1, #3 -	str	r1, [r0] -	/* END stuff after relocation */ -#endif -  	ldr	pc, _start_armboot  _start_armboot:	.word start_armboot diff --git a/cpu/ppc4xx/440spe_pcie.c b/cpu/ppc4xx/440spe_pcie.c index 158f1c559..3eac0ae62 100644 --- a/cpu/ppc4xx/440spe_pcie.c +++ b/cpu/ppc4xx/440spe_pcie.c @@ -104,7 +104,7 @@ static int pcie_read_config(struct pci_controller *hose, unsigned int devfn,  	if ((!((PCI_FUNC(devfn) == 0) && (PCI_DEV(devfn) == 0))) &&  		((PCI_BUS(devfn) == 0) || (PCI_BUS(devfn) == 1)))  		return 0; -		 +  	address = pcie_get_base(hose, devfn);  	offset += devfn << 4; @@ -136,12 +136,12 @@ static int pcie_write_config(struct pci_controller *hose, unsigned int devfn,  	int offset, int len, u32 val) {  	u8 *address; -	 +  	/*  	 * Bus numbers are relative to hose->first_busno  	 */  	devfn -= PCI_BDF(hose->first_busno, 0, 0); -	 +  	/*  	 * Same constraints as in pcie_read_config().  	 */ @@ -151,7 +151,7 @@ static int pcie_write_config(struct pci_controller *hose, unsigned int devfn,  	if ((!((PCI_FUNC(devfn) == 0) && (PCI_DEV(devfn) == 0))) &&  		((PCI_BUS(devfn) == 0) || (PCI_BUS(devfn) == 1)))  		return 0; -	 +  	address = pcie_get_base(hose, devfn);  	offset += devfn << 4; @@ -926,7 +926,7 @@ void ppc440spe_setup_pcie_rootpoint(struct pci_controller *hose, int port)  		 in_le16((u16 *)(mbase + PCI_COMMAND)) |  		 PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);  	printf("PCIE:%d successfully set as rootpoint\n",port); -	 +  	/* Set Device and Vendor Id */  	switch (port) {  	case 0: diff --git a/cpu/ppc4xx/4xx_enet.c b/cpu/ppc4xx/4xx_enet.c index cc8e7346d..71a9e372d 100644 --- a/cpu/ppc4xx/4xx_enet.c +++ b/cpu/ppc4xx/4xx_enet.c @@ -138,7 +138,8 @@  #define BI_PHYMODE_MII   7  #endif -#if defined(CONFIG_440SPE) || defined(CONFIG_440EPX) || defined(CONFIG_440GRX) +#if defined(CONFIG_440SPE) || defined(CONFIG_440EPX) || \ +	defined(CONFIG_440GRX) || defined(CONFIG_440SP)  #define SDR0_MFR_ETH_CLK_SEL_V(n)	((0x01<<27) / (n+1))  #endif @@ -408,7 +409,8 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis)  	int ethgroup = -1;  #endif  #endif -#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || defined(CONFIG_440SPE) +#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \ +    defined(CONFIG_440SP) || defined(CONFIG_440SPE)  	unsigned long mfr;  #endif @@ -500,7 +502,8 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis)  	__asm__ volatile ("eieio");  	/* reset emac so we have access to the phy */ -#if defined(CONFIG_440SPE) || defined(CONFIG_440EPX) || defined(CONFIG_440GRX) +#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \ +    defined(CONFIG_440SP) || defined(CONFIG_440SPE)  	/* provide clocks for EMAC internal loopback  */  	mfsdr (sdr_mfr, mfr);  	mfr |= SDR0_MFR_ETH_CLK_SEL_V(devnum); @@ -518,7 +521,8 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis)  	if (failsafe <= 0)  		printf("\nProblem resetting EMAC!\n"); -#if defined(CONFIG_440SPE) || defined(CONFIG_440EPX) || defined(CONFIG_440GRX) +#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \ +    defined(CONFIG_440SP) || defined(CONFIG_440SPE)  	/* remove clocks for EMAC internal loopback  */  	mfsdr (sdr_mfr, mfr);  	mfr &= ~SDR0_MFR_ETH_CLK_SEL_V(devnum); @@ -920,8 +924,8 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis)  	/* set speed */  	if (speed == _1000BASET) { -#if defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \ -    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) +#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \ +    defined(CONFIG_440SP) || defined(CONFIG_440SPE)  		unsigned long pfc1;  		mfsdr (sdr_pfc1, pfc1); diff --git a/drivers/at45.c b/drivers/at45.c index 507ff36d4..dac987a43 100755..100644 --- a/drivers/at45.c +++ b/drivers/at45.c @@ -27,33 +27,31 @@  /*   * spi.c API   */ -extern unsigned int	AT91F_SpiWrite (AT91PS_DataflashDesc pDesc); -extern void 		AT91F_SpiEnable(int cs); +extern unsigned int AT91F_SpiWrite(AT91PS_DataflashDesc pDesc); +extern void AT91F_SpiEnable(int cs);  #define AT91C_TIMEOUT_WRDY			200000 -  /*----------------------------------------------------------------------*/  /* \fn    AT91F_DataFlashSendCommand					*/  /* \brief Generic function to send a command to the dataflash		*/  /*----------------------------------------------------------------------*/ -AT91S_DataFlashStatus AT91F_DataFlashSendCommand( -	AT91PS_DataFlash pDataFlash, -	unsigned char OpCode, -	unsigned int CmdSize, -	unsigned int DataflashAddress) +AT91S_DataFlashStatus AT91F_DataFlashSendCommand(AT91PS_DataFlash pDataFlash, +						 unsigned char OpCode, +						 unsigned int CmdSize, +						 unsigned int DataflashAddress)  {  	unsigned int adr; -	if ( (pDataFlash->pDataFlashDesc->state) != IDLE) +	if ((pDataFlash->pDataFlashDesc->state) != IDLE)  		return DATAFLASH_BUSY;  	/* process the address to obtain page address and byte address */  	adr = ((DataflashAddress / (pDataFlash->pDevice->pages_size)) << -		pDataFlash->pDevice->page_offset) + (DataflashAddress % -		(pDataFlash->pDevice->pages_size)); +		pDataFlash->pDevice->page_offset) + +			(DataflashAddress % (pDataFlash->pDevice->pages_size)); -	/* fill the  command  buffer */ +	/* fill the command buffer */  	pDataFlash->pDataFlashDesc->command[0] = OpCode;  	if (pDataFlash->pDevice->pages_number >= 16384) {  		pDataFlash->pDataFlashDesc->command[1] = @@ -78,16 +76,16 @@ AT91S_DataFlashStatus AT91F_DataFlashSendCommand(  	pDataFlash->pDataFlashDesc->command[7] = 0;  	/* Initialize the SpiData structure for the spi write fuction */ -	pDataFlash->pDataFlashDesc->tx_cmd_pt   = +	pDataFlash->pDataFlashDesc->tx_cmd_pt =  		pDataFlash->pDataFlashDesc->command; -	pDataFlash->pDataFlashDesc->tx_cmd_size =  CmdSize; -	pDataFlash->pDataFlashDesc->rx_cmd_pt   = +	pDataFlash->pDataFlashDesc->tx_cmd_size = CmdSize; +	pDataFlash->pDataFlashDesc->rx_cmd_pt =  		pDataFlash->pDataFlashDesc->command; -	pDataFlash->pDataFlashDesc->rx_cmd_size =  CmdSize; +	pDataFlash->pDataFlashDesc->rx_cmd_size = CmdSize;  	/* send the command and read the data */ -	return AT91F_SpiWrite (pDataFlash->pDataFlashDesc); } - +	return AT91F_SpiWrite(pDataFlash->pDataFlashDesc); +}  /*----------------------------------------------------------------------*/  /* \fn    AT91F_DataFlashGetStatus					*/ @@ -98,50 +96,49 @@ AT91S_DataFlashStatus AT91F_DataFlashGetStatus(AT91PS_DataflashDesc pDesc)  	AT91S_DataFlashStatus status;  	/* if a transfert is in progress ==> return 0 */ -	if( (pDesc->state) != IDLE) +	if ((pDesc->state) != IDLE)  		return DATAFLASH_BUSY;  	/* first send the read status command (D7H) */  	pDesc->command[0] = DB_STATUS;  	pDesc->command[1] = 0; -	pDesc->DataFlash_state  = GET_STATUS; -	pDesc->tx_data_size 	= 0;	/* Transmit the command */ -					/* and receive response */ -	pDesc->tx_cmd_pt 		= pDesc->command; -	pDesc->rx_cmd_pt 		= pDesc->command; -	pDesc->rx_cmd_size 		= 2; -	pDesc->tx_cmd_size 		= 2; -	status = AT91F_SpiWrite (pDesc); +	pDesc->DataFlash_state = GET_STATUS; +	pDesc->tx_data_size = 0;	/* Transmit the command */ +	/* and receive response */ +	pDesc->tx_cmd_pt = pDesc->command; +	pDesc->rx_cmd_pt = pDesc->command; +	pDesc->rx_cmd_size = 2; +	pDesc->tx_cmd_size = 2; +	status = AT91F_SpiWrite(pDesc); -	pDesc->DataFlash_state = *( (unsigned char *) (pDesc->rx_cmd_pt) +1); +	pDesc->DataFlash_state = *((unsigned char *)(pDesc->rx_cmd_pt) + 1);  	return status;  } -  /*----------------------------------------------------------------------*/  /* \fn    AT91F_DataFlashWaitReady					*/  /* \brief wait for dataflash ready (bit7 of the status register == 1)	*/  /*----------------------------------------------------------------------*/  AT91S_DataFlashStatus AT91F_DataFlashWaitReady(AT91PS_DataflashDesc -pDataFlashDesc, unsigned int timeout) +						pDataFlashDesc, +						unsigned int timeout)  {  	pDataFlashDesc->DataFlash_state = IDLE;  	do {  		AT91F_DataFlashGetStatus(pDataFlashDesc);  		timeout--; -	} while( ((pDataFlashDesc->DataFlash_state & 0x80) != 0x80) && -			(timeout > 0) ); +	} while (((pDataFlashDesc->DataFlash_state & 0x80) != 0x80) && +		 (timeout > 0)); -	if((pDataFlashDesc->DataFlash_state & 0x80) != 0x80) +	if ((pDataFlashDesc->DataFlash_state & 0x80) != 0x80)  		return DATAFLASH_ERROR;  	return DATAFLASH_OK;  } -  /*--------------------------------------------------------------------------*/  /* Function Name       : AT91F_DataFlashContinuousRead 			    */  /* Object              : Continuous stream Read 			    */ @@ -151,17 +148,17 @@ pDataFlashDesc, unsigned int timeout)  /*                     : <sizeToRead> = data buffer size		    */  /* Return value		: State of the dataflash			    */  /*--------------------------------------------------------------------------*/ -AT91S_DataFlashStatus AT91F_DataFlashContinuousRead ( -	AT91PS_DataFlash pDataFlash, -	int src, -	unsigned char *dataBuffer, -	int sizeToRead ) +AT91S_DataFlashStatus AT91F_DataFlashContinuousRead( +				AT91PS_DataFlash pDataFlash, +				int src, +				unsigned char *dataBuffer, +				int sizeToRead)  {  	AT91S_DataFlashStatus status;  	/* Test the size to read in the device */ -	if ( (src + sizeToRead) > -		(pDataFlash->pDevice->pages_size * -		(pDataFlash->pDevice->pages_number))) +	if ((src + sizeToRead) > +			(pDataFlash->pDevice->pages_size * +				(pDataFlash->pDevice->pages_number)))  		return DATAFLASH_MEMORY_OVERFLOW;  	pDataFlash->pDataFlashDesc->rx_data_pt = dataBuffer; @@ -169,13 +166,12 @@ AT91S_DataFlashStatus AT91F_DataFlashContinuousRead (  	pDataFlash->pDataFlashDesc->tx_data_pt = dataBuffer;  	pDataFlash->pDataFlashDesc->tx_data_size = sizeToRead; -	status = AT91F_DataFlashSendCommand -			(pDataFlash, DB_CONTINUOUS_ARRAY_READ, 8, src); +	status = AT91F_DataFlashSendCommand( +			pDataFlash, DB_CONTINUOUS_ARRAY_READ, 8, src);  	/* Send the command to the dataflash */ -	return(status); +	return (status);  } -  /*---------------------------------------------------------------------------*/  /* Function Name       : AT91F_DataFlashPagePgmBuf			     */  /* Object              : Main memory page program thru buffer 1 or buffer 2  */ @@ -185,11 +181,10 @@ AT91S_DataFlashStatus AT91F_DataFlashContinuousRead (  /*                     : <SizeToWrite> = data buffer size		     */  /* Return value		: State of the dataflash			     */  /*---------------------------------------------------------------------------*/ -AT91S_DataFlashStatus AT91F_DataFlashPagePgmBuf( -	AT91PS_DataFlash pDataFlash, -	unsigned char *src, -	unsigned int dest, -	unsigned int SizeToWrite) +AT91S_DataFlashStatus AT91F_DataFlashPagePgmBuf(AT91PS_DataFlash pDataFlash, +						unsigned char *src, +						unsigned int dest, +						unsigned int SizeToWrite)  {  	int cmdsize;  	pDataFlash->pDataFlashDesc->tx_data_pt = src; @@ -201,9 +196,9 @@ AT91S_DataFlashStatus AT91F_DataFlashPagePgmBuf(  	/* Send the command to the dataflash */  	if (pDataFlash->pDevice->pages_number >= 16384)  		cmdsize = 5; -	return(AT91F_DataFlashSendCommand (pDataFlash, DB_PAGE_PGM_BUF1, -cmdsize, dest)); } - +	return (AT91F_DataFlashSendCommand( +			pDataFlash, DB_PAGE_PGM_BUF1, cmdsize, dest)); +}  /*---------------------------------------------------------------------------*/  /* Function Name       : AT91F_MainMemoryToBufferTransfert		     */ @@ -214,26 +209,29 @@ cmdsize, dest)); }  /* Return value		: State of the dataflash			     */  /*---------------------------------------------------------------------------*/  AT91S_DataFlashStatus AT91F_MainMemoryToBufferTransfert( -	AT91PS_DataFlash pDataFlash, -	unsigned char BufferCommand, -	unsigned int page) +					AT91PS_DataFlash +					pDataFlash, +					unsigned char +					BufferCommand, +					unsigned int page)  {  	int cmdsize;  	/* Test if the buffer command is legal */ -	if ((BufferCommand != DB_PAGE_2_BUF1_TRF) -		&& (BufferCommand != DB_PAGE_2_BUF2_TRF)) +	if ((BufferCommand != DB_PAGE_2_BUF1_TRF) && +			(BufferCommand != DB_PAGE_2_BUF2_TRF)) {  		return DATAFLASH_BAD_COMMAND; +	}  	/* no data to transmit or receive */  	pDataFlash->pDataFlashDesc->tx_data_size = 0;  	cmdsize = 4;  	if (pDataFlash->pDevice->pages_number >= 16384)  		cmdsize = 5; -	return(AT91F_DataFlashSendCommand (pDataFlash, BufferCommand, cmdsize, -page*pDataFlash->pDevice->pages_size)); +	return (AT91F_DataFlashSendCommand( +			pDataFlash, BufferCommand, cmdsize, +			page * pDataFlash->pDevice->pages_size));  } -  /*-------------------------------------------------------------------------- */  /* Function Name       : AT91F_DataFlashWriteBuffer			     */  /* Object              : Write data to the internal sram buffer 1 or 2	     */ @@ -244,58 +242,61 @@ page*pDataFlash->pDevice->pages_size));  /*                     : <SizeToWrite> = data buffer size		     */  /* Return value		: State of the dataflash			     */  /*---------------------------------------------------------------------------*/ -AT91S_DataFlashStatus AT91F_DataFlashWriteBuffer ( -	AT91PS_DataFlash pDataFlash, -	unsigned char BufferCommand, -	unsigned char *dataBuffer, -	unsigned int bufferAddress, -	int SizeToWrite ) +AT91S_DataFlashStatus AT91F_DataFlashWriteBuffer( +					AT91PS_DataFlash pDataFlash, +					unsigned char BufferCommand, +					unsigned char *dataBuffer, +					unsigned int bufferAddress, +					int SizeToWrite)  {  	int cmdsize;  	/* Test if the buffer command is legal */ -	if ((BufferCommand != DB_BUF1_WRITE) -		&& (BufferCommand != DB_BUF2_WRITE)) +	if ((BufferCommand != DB_BUF1_WRITE) && +			(BufferCommand != DB_BUF2_WRITE)) {  		return DATAFLASH_BAD_COMMAND; +	}  	/* buffer address must be lower than page size */  	if (bufferAddress > pDataFlash->pDevice->pages_size)  		return DATAFLASH_BAD_ADDRESS; -	if ( (pDataFlash->pDataFlashDesc->state)  != IDLE) +	if ((pDataFlash->pDataFlashDesc->state) != IDLE)  		return DATAFLASH_BUSY;  	/* Send first Write Command */  	pDataFlash->pDataFlashDesc->command[0] = BufferCommand;  	pDataFlash->pDataFlashDesc->command[1] = 0;  	if (pDataFlash->pDevice->pages_number >= 16384) { -	    	pDataFlash->pDataFlashDesc->command[2] = 0; -	    	pDataFlash->pDataFlashDesc->command[3] = +		pDataFlash->pDataFlashDesc->command[2] = 0; +		pDataFlash->pDataFlashDesc->command[3] =  			(unsigned char)(((unsigned int)(bufferAddress & -				pDataFlash->pDevice->byte_mask)) >> 8); -	    	pDataFlash->pDataFlashDesc->command[4] = -			(unsigned char)((unsigned int)bufferAddress  & 0x00FF); +							pDataFlash->pDevice-> +							byte_mask)) >> 8); +		pDataFlash->pDataFlashDesc->command[4] = +			(unsigned char)((unsigned int)bufferAddress & 0x00FF);  		cmdsize = 5;  	} else { -	    	pDataFlash->pDataFlashDesc->command[2] = +		pDataFlash->pDataFlashDesc->command[2] =  			(unsigned char)(((unsigned int)(bufferAddress & -				pDataFlash->pDevice->byte_mask)) >> 8); -	    	pDataFlash->pDataFlashDesc->command[3] = -			(unsigned char)((unsigned int)bufferAddress  & 0x00FF); -	    	pDataFlash->pDataFlashDesc->command[4] = 0; +							pDataFlash->pDevice-> +							byte_mask)) >> 8); +		pDataFlash->pDataFlashDesc->command[3] = +			(unsigned char)((unsigned int)bufferAddress & 0x00FF); +		pDataFlash->pDataFlashDesc->command[4] = 0;  		cmdsize = 4;  	} -	pDataFlash->pDataFlashDesc->tx_cmd_pt 	 = +	pDataFlash->pDataFlashDesc->tx_cmd_pt =  		pDataFlash->pDataFlashDesc->command;  	pDataFlash->pDataFlashDesc->tx_cmd_size = cmdsize; -	pDataFlash->pDataFlashDesc->rx_cmd_pt 	 = +	pDataFlash->pDataFlashDesc->rx_cmd_pt =  		pDataFlash->pDataFlashDesc->command;  	pDataFlash->pDataFlashDesc->rx_cmd_size = cmdsize; -	pDataFlash->pDataFlashDesc->rx_data_pt 	= dataBuffer; -	pDataFlash->pDataFlashDesc->tx_data_pt 	= dataBuffer; -	pDataFlash->pDataFlashDesc->rx_data_size 	= SizeToWrite; -	pDataFlash->pDataFlashDesc->tx_data_size 	= SizeToWrite; +	pDataFlash->pDataFlashDesc->rx_data_pt = dataBuffer; +	pDataFlash->pDataFlashDesc->tx_data_pt = dataBuffer; +	pDataFlash->pDataFlashDesc->rx_data_size = SizeToWrite; +	pDataFlash->pDataFlashDesc->tx_data_size = SizeToWrite;  	return AT91F_SpiWrite(pDataFlash->pDataFlashDesc);  } @@ -309,22 +310,22 @@ AT91S_DataFlashStatus AT91F_DataFlashWriteBuffer (  /* Return value		: State of the dataflash			     */  /*---------------------------------------------------------------------------*/  AT91S_DataFlashStatus AT91F_PageErase( -	AT91PS_DataFlash pDataFlash, -	unsigned int page) +					AT91PS_DataFlash pDataFlash, +					unsigned int page)  {  	int cmdsize;  	/* Test if the buffer command is legal */  	/* no data to transmit or receive */ -    	pDataFlash->pDataFlashDesc->tx_data_size = 0; +	pDataFlash->pDataFlashDesc->tx_data_size = 0;  	cmdsize = 4;  	if (pDataFlash->pDevice->pages_number >= 16384)  		cmdsize = 5; -	return(AT91F_DataFlashSendCommand (pDataFlash, DB_PAGE_ERASE, cmdsize, -page*pDataFlash->pDevice->pages_size)); +	return (AT91F_DataFlashSendCommand(pDataFlash, +				DB_PAGE_ERASE, cmdsize, +				page * pDataFlash->pDevice->pages_size));  } -  /*---------------------------------------------------------------------------*/  /* Function Name       : AT91F_BlockErase                                    */  /* Object              : Erase a Block 					     */ @@ -334,18 +335,19 @@ page*pDataFlash->pDevice->pages_size));  /* Return value		: State of the dataflash			     */  /*---------------------------------------------------------------------------*/  AT91S_DataFlashStatus AT91F_BlockErase( -	AT91PS_DataFlash pDataFlash, -	unsigned int block) +				AT91PS_DataFlash pDataFlash, +				unsigned int block)  {  	int cmdsize;  	/* Test if the buffer command is legal */  	/* no data to transmit or receive */ -    	pDataFlash->pDataFlashDesc->tx_data_size = 0; +	pDataFlash->pDataFlashDesc->tx_data_size = 0;  	cmdsize = 4;  	if (pDataFlash->pDevice->pages_number >= 16384)  		cmdsize = 5; -	return(AT91F_DataFlashSendCommand (pDataFlash, DB_BLOCK_ERASE,cmdsize, -block*8*pDataFlash->pDevice->pages_size)); +	return (AT91F_DataFlashSendCommand(pDataFlash, DB_BLOCK_ERASE, cmdsize, +					block * 8 * +					pDataFlash->pDevice->pages_size));  }  /*---------------------------------------------------------------------------*/ @@ -356,17 +358,16 @@ block*8*pDataFlash->pDevice->pages_size));  /*                     : <dest> = main memory address			     */  /* Return value		: State of the dataflash			     */  /*---------------------------------------------------------------------------*/ -AT91S_DataFlashStatus AT91F_WriteBufferToMain ( -	AT91PS_DataFlash pDataFlash, -	unsigned char BufferCommand, -	unsigned int dest ) +AT91S_DataFlashStatus AT91F_WriteBufferToMain(AT91PS_DataFlash pDataFlash, +					unsigned char BufferCommand, +					unsigned int dest)  {  	int cmdsize;  	/* Test if the buffer command is correct */  	if ((BufferCommand != DB_BUF1_PAGE_PGM) && -	    (BufferCommand != DB_BUF1_PAGE_ERASE_PGM) && -	    (BufferCommand != DB_BUF2_PAGE_PGM) && -	    (BufferCommand != DB_BUF2_PAGE_ERASE_PGM) ) +			(BufferCommand != DB_BUF1_PAGE_ERASE_PGM) && +			(BufferCommand != DB_BUF2_PAGE_PGM) && +			(BufferCommand != DB_BUF2_PAGE_ERASE_PGM))  		return DATAFLASH_BAD_COMMAND;  	/* no data to transmit or receive */ @@ -376,9 +377,9 @@ AT91S_DataFlashStatus AT91F_WriteBufferToMain (  	if (pDataFlash->pDevice->pages_number >= 16384)  		cmdsize = 5;  	/* Send the command to the dataflash */ -	return(AT91F_DataFlashSendCommand (pDataFlash, BufferCommand, cmdsize, -						dest)); } - +	return (AT91F_DataFlashSendCommand(pDataFlash, BufferCommand, +						cmdsize, dest)); +}  /*---------------------------------------------------------------------------*/  /* Function Name       : AT91F_PartialPageWrite				     */ @@ -387,11 +388,10 @@ AT91S_DataFlashStatus AT91F_WriteBufferToMain (  /*			: <AdrInpage> = adr to begin the fading		     */  /*                     : <length> = Number of bytes to erase		     */  /*---------------------------------------------------------------------------*/ -AT91S_DataFlashStatus AT91F_PartialPageWrite ( -	AT91PS_DataFlash pDataFlash, -	unsigned char *src, -	unsigned int dest, -	unsigned int size) +AT91S_DataFlashStatus AT91F_PartialPageWrite(AT91PS_DataFlash pDataFlash, +					unsigned char *src, +					unsigned int dest, +					unsigned int size)  {  	unsigned int page;  	unsigned int AdrInPage; @@ -400,10 +400,9 @@ AT91S_DataFlashStatus AT91F_PartialPageWrite (  	AdrInPage = dest % (pDataFlash->pDevice->pages_size);  	/* Read the contents of the page in the Sram Buffer */ -	AT91F_MainMemoryToBufferTransfert(pDataFlash, -						DB_PAGE_2_BUF1_TRF, page); +	AT91F_MainMemoryToBufferTransfert(pDataFlash, DB_PAGE_2_BUF1_TRF, page);  	AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, -						AT91C_TIMEOUT_WRDY); +				 AT91C_TIMEOUT_WRDY);  	/*Update the SRAM buffer */  	AT91F_DataFlashWriteBuffer(pDataFlash, DB_BUF1_WRITE, src,  					AdrInPage, size); @@ -416,12 +415,13 @@ AT91S_DataFlashStatus AT91F_PartialPageWrite (  		AT91F_PageErase(pDataFlash, page);  		/* Rewrite the modified Sram Buffer in the main memory */  		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, -						AT91C_TIMEOUT_WRDY); +					 AT91C_TIMEOUT_WRDY);  	}  	/* Rewrite the modified Sram Buffer in the main memory */ -	return(AT91F_WriteBufferToMain(pDataFlash, DB_BUF1_PAGE_ERASE_PGM, -				(page*pDataFlash->pDevice->pages_size))); +	return (AT91F_WriteBufferToMain(pDataFlash, DB_BUF1_PAGE_ERASE_PGM, +					(page * +					 pDataFlash->pDevice->pages_size)));  }  /*---------------------------------------------------------------------------*/ @@ -431,11 +431,9 @@ AT91S_DataFlashStatus AT91F_PartialPageWrite (  /*                     : <dest> = dataflash adress			     */  /*                     : <size> = data buffer size			     */  /*---------------------------------------------------------------------------*/ -AT91S_DataFlashStatus AT91F_DataFlashWrite( -	AT91PS_DataFlash pDataFlash, -	unsigned char *src, -	int dest, -	int size ) +AT91S_DataFlashStatus AT91F_DataFlashWrite(AT91PS_DataFlash pDataFlash, +						unsigned char *src, +						int dest, int size)  {  	unsigned int length;  	unsigned int page; @@ -443,26 +441,24 @@ AT91S_DataFlashStatus AT91F_DataFlashWrite(  	AT91F_SpiEnable(pDataFlash->pDevice->cs); -	if ( (dest + size) > (pDataFlash->pDevice->pages_size * -					(pDataFlash->pDevice->pages_number))) +	if ((dest + size) > (pDataFlash->pDevice->pages_size * +			(pDataFlash->pDevice->pages_number)))  		return DATAFLASH_MEMORY_OVERFLOW;  	/* If destination does not fit a page start address */ -	if ((dest % ((unsigned int)(pDataFlash->pDevice->pages_size)))  != 0 ) -	{ -		length = pDataFlash->pDevice->pages_size - -				(dest % -				((unsigned int) -				(pDataFlash->pDevice->pages_size))); +	if ((dest % ((unsigned int)(pDataFlash->pDevice->pages_size))) != 0) { +		length = +			pDataFlash->pDevice->pages_size - +			(dest % ((unsigned int)(pDataFlash->pDevice->pages_size)));  		if (size < length)  			length = size; -		if(!AT91F_PartialPageWrite(pDataFlash,src, dest, length)) +		if (!AT91F_PartialPageWrite(pDataFlash, src, dest, length))  			return DATAFLASH_ERROR;  		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, -			AT91C_TIMEOUT_WRDY); +					 AT91C_TIMEOUT_WRDY);  		/* Update size, source and destination pointers */  		size -= length; @@ -470,78 +466,77 @@ AT91S_DataFlashStatus AT91F_DataFlashWrite(  		src += length;  	} -	while (( size - pDataFlash->pDevice->pages_size ) >= 0 ) { +	while ((size - pDataFlash->pDevice->pages_size) >= 0) {  		/* program dataflash page */  		page = (unsigned int)dest / (pDataFlash->pDevice->pages_size);  		status = AT91F_DataFlashWriteBuffer(pDataFlash, -				DB_BUF1_WRITE, src, 0, -				pDataFlash->pDevice->pages_size); +					DB_BUF1_WRITE, src, 0, +					pDataFlash->pDevice-> +					pages_size);  		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, -						AT91C_TIMEOUT_WRDY); +					 AT91C_TIMEOUT_WRDY);  		status = AT91F_PageErase(pDataFlash, page);  		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, -						AT91C_TIMEOUT_WRDY); +					 AT91C_TIMEOUT_WRDY);  		if (!status)  			return DATAFLASH_ERROR; -		status = AT91F_WriteBufferToMain (pDataFlash, -						DB_BUF1_PAGE_PGM, dest); -		if(!status) +		status = AT91F_WriteBufferToMain(pDataFlash, +					 DB_BUF1_PAGE_PGM, dest); +		if (!status)  			return DATAFLASH_ERROR;  		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, -						AT91C_TIMEOUT_WRDY); +					 AT91C_TIMEOUT_WRDY);  		/* Update size, source and destination pointers */  		size -= pDataFlash->pDevice->pages_size;  		dest += pDataFlash->pDevice->pages_size; -		src  += pDataFlash->pDevice->pages_size; +		src += pDataFlash->pDevice->pages_size;  	}  	/* If still some bytes to read */ -	if ( size > 0 ) { +	if (size > 0) {  		/* program dataflash page */ -		if(!AT91F_PartialPageWrite(pDataFlash, src, dest, size) ) +		if (!AT91F_PartialPageWrite(pDataFlash, src, dest, size))  			return DATAFLASH_ERROR;  		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, -						AT91C_TIMEOUT_WRDY); +					 AT91C_TIMEOUT_WRDY);  	}  	return DATAFLASH_OK;  } -  /*---------------------------------------------------------------------------*/  /* Function Name       : AT91F_DataFlashRead 				     */  /* Object              : Read a block in dataflash			     */  /* Input Parameters    : 						     */  /* Return value		: 						     */  /*---------------------------------------------------------------------------*/ -int AT91F_DataFlashRead( -	AT91PS_DataFlash pDataFlash, -	unsigned long addr, -	unsigned long size, -	char *buffer) +int AT91F_DataFlashRead(AT91PS_DataFlash pDataFlash, +			unsigned long addr, unsigned long size, char *buffer)  {  	unsigned long SizeToRead;  	AT91F_SpiEnable(pDataFlash->pDevice->cs); -	if(AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, +	if (AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,  					AT91C_TIMEOUT_WRDY) != DATAFLASH_OK)  		return -1;  	while (size) { -		SizeToRead = (size < 0x8000)? size:0x8000; +		SizeToRead = (size < 0x8000) ? size : 0x8000;  		if (AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, -					AT91C_TIMEOUT_WRDY) != DATAFLASH_OK) +					AT91C_TIMEOUT_WRDY) != +						DATAFLASH_OK)  			return -1; -		if (AT91F_DataFlashContinuousRead (pDataFlash, addr, -				(uchar *) buffer, SizeToRead) != DATAFLASH_OK) +		if (AT91F_DataFlashContinuousRead(pDataFlash, addr, +						(uchar *) buffer, +						SizeToRead) != DATAFLASH_OK)  			return -1;  		size -= SizeToRead; @@ -558,9 +553,10 @@ int AT91F_DataFlashRead(  /* Input Parameters    : 						     */  /* Return value	       : Dataflash status register			     */  /*---------------------------------------------------------------------------*/ -int AT91F_DataflashProbe(int cs, AT91PS_DataflashDesc pDesc) { +int AT91F_DataflashProbe(int cs, AT91PS_DataflashDesc pDesc) +{  	AT91F_SpiEnable(cs);  	AT91F_DataFlashGetStatus(pDesc); -	return((pDesc->command[1] == 0xFF)? 0: pDesc->command[1] & 0x3C); +	return ((pDesc->command[1] == 0xFF) ? 0 : pDesc->command[1] & 0x3C);  }  #endif diff --git a/drivers/usb_ohci.c b/drivers/usb_ohci.c index 14984a5f3..7ddcab63e 100644 --- a/drivers/usb_ohci.c +++ b/drivers/usb_ohci.c @@ -93,6 +93,7 @@  #ifdef CONFIG_PCI_OHCI  static struct pci_device_id ohci_pci_ids[] = {  	{0x10b9, 0x5237},	/* ULI1575 PCI OHCI module ids */ +	{0x1033, 0x0035},	/* NEC PCI OHCI module ids */  	/* Please add supported PCI OHCI controller ids here */  	{0, 0}  }; diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h index f8eca87a8..d7ef65d5d 100644 --- a/include/config_cmd_all.h +++ b/include/config_cmd_all.h @@ -77,6 +77,6 @@  #define CONFIG_CMD_USB		/* USB Support			*/  #define CONFIG_CMD_VFD		/* VFD support (TRAB)		*/  #define CONFIG_CMD_XIMG		/* Load part of Multi Image	*/ -#define CONFIG_CMD_MUX		/* AT91 MMC/SPI Mux Support     */ +#define CONFIG_CMD_AT91_SPIMUX	/* AT91 MMC/SPI Mux Support     */  #endif	/* _CONFIG_CMD_ALL_H */ diff --git a/include/configs/TQM5200.h b/include/configs/TQM5200.h index e0c9d81be..d55340404 100644 --- a/include/configs/TQM5200.h +++ b/include/configs/TQM5200.h @@ -188,7 +188,7 @@  #endif  #ifdef CONFIG_PCI -#define CONFIG_CMD_CMD_PCI +#define CONFIG_CMD_PCI  #endif  #if defined(CONFIG_MINIFAP) || defined(CONFIG_STK52XX) || defined(CONFIG_FO300) @@ -238,13 +238,13 @@  		"protect on FC000000 +${filesize}\0"  #endif -#ifndef CONFIG_CAM5200 +#if defined(CONFIG_TQM5200)  #define CUSTOM_ENV_SETTINGS						\ +	"hostname=tqm5200\0"						\  	"bootfile=/tftpboot/tqm5200/uImage\0"				\ -	"bootfile_fdt=/tftpboot/tqm5200/uImage_fdt\0"			\  	"fdt_file=/tftpboot/tqm5200/tqm5200.dtb\0"			\  	"u-boot=/tftpboot/tqm5200/u-boot.bin\0" -#else +#elif defined(CONFIG_CAM5200)  #define CUSTOM_ENV_SETTINGS						\  	"bootfile=cam5200/uImage\0"					\  	"u-boot=cam5200/u-boot.bin\0"					\ @@ -252,11 +252,13 @@  #endif  #define CONFIG_EXTRA_ENV_SETTINGS					\ -	"console=ttyS0\0"						\ -	"kernel_addr=200000\0"						\ -	"fdt_addr=400000\0"						\ -	"hostname=tqm5200\0"						\  	"netdev=eth0\0"							\ +	"console=ttyPSC0\0"						\ +	"fdt_addr=FC0A0000\0"						\ +	"kernel_addr=FC0C0000\0"					\ +	"ramdisk_addr=FC300000\0"					\ +	"kernel_addr_r=200000\0"					\ +	"fdt_addr_r=400000\0"						\  	"rootpath=/opt/eldk/ppc_6xx\0"					\  	"ramargs=setenv bootargs root=/dev/ram rw\0"			\  	"nfsargs=setenv bootargs root=/dev/nfs rw "			\ @@ -266,16 +268,20 @@  		":${hostname}:${netdev}:off panic=1\0"			\  	"addcons=setenv bootargs ${bootargs} "				\  		"console=${console},${baudrate}\0"			\ -	"flash_self=run ramargs addip addcons;"				\ +	"flash_self_old=sete console ttyS0; run ramargs addip addcons;"	\  		"bootm ${kernel_addr} ${ramdisk_addr}\0"		\ -	"flash_nfs=run nfsargs addip addcons;"				\ +	"flash_self=run ramargs addip addcons;"				\ +		"bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\ +	"flash_nfs_old=sete console ttyS0; run nfsargs addip addcons;"	\  		"bootm ${kernel_addr}\0"				\ -	"net_nfs=tftp ${kernel_addr} ${bootfile};"			\ -		"run nfsargs addip addcons;bootm\0"			\ -	"net_nfs_fdt=tftp ${kernel_addr} ${bootfile_fdt};"		\ -		"tftp ${fdt_addr} ${fdt_file};setenv console ttyPSC0;"	\ -		"run nfsargs addip addcons;"				\ +	"flash_nfs=run nfsargs addip addcons;"				\  		"bootm ${kernel_addr} - ${fdt_addr}\0"			\ +	"net_nfs_old=tftp ${kernel_addr_r} ${bootfile};"		\ +		"sete console ttyS0; run nfsargs addip addcons;bootm\0"	\ +	"net_nfs=tftp ${kernel_addr_r} ${bootfile}; "			\ +		"tftp ${fdt_addr_r} ${fdt_file}; "			\ +		"run nfsargs addip addcons; "				\ +		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"		\  	CUSTOM_ENV_SETTINGS						\  	"load=tftp 200000 ${u-boot}\0"					\  	ENV_UPDT							\ @@ -408,11 +414,12 @@  #  endif /* CFG_LOWBOOT */  # else	/* !CONFIG_TQM5200_B */  #   define MTDPARTS_DEFAULT	"mtdparts=TQM5200-0:640k(firmware),"	\ -						"1408k(kernel),"	\ +						"128k(dtb),"		\ +						"2304k(kernel),"	\  						"2m(initrd),"		\  						"4m(small-fs),"		\  						"8m(misc),"		\ -						"16m(big-fs)" +						"15m(big-fs)"  # endif /* CONFIG_TQM5200_B */  #elif defined (CONFIG_CAM5200)  #   define MTDPARTS_DEFAULT	"mtdparts=TQM5200-0:768k(firmware),"	\ diff --git a/include/configs/TQM85xx.h b/include/configs/TQM85xx.h index 2f23c5049..6dbd3924b 100644 --- a/include/configs/TQM85xx.h +++ b/include/configs/TQM85xx.h @@ -449,7 +449,7 @@  #undef	CONFIG_BOOTARGS		/* the boot command will set bootargs	*/  #define	CONFIG_EXTRA_ENV_SETTINGS					\ -	CFG_BOOTFILE							\ +	"bootfile="CFG_BOOTFILE_PATH"\0"				\  	"netdev=eth0\0"							\  	"consdev=ttyS0\0"						\  	"nfsargs=setenv bootargs root=/dev/nfs rw "			\ diff --git a/include/configs/ads5121.h b/include/configs/ads5121.h index 22eac1b4b..bb1efdf6d 100644 --- a/include/configs/ads5121.h +++ b/include/configs/ads5121.h @@ -235,6 +235,14 @@  #endif  /* + * EEPROM configuration + */ +#define CFG_I2C_EEPROM_ADDR_LEN		2	/* 16-bit EEPROM address */ +#define CFG_I2C_EEPROM_ADDR		0x50	/* Atmel: AT24C32A-10TQ-2.7 */ +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS	10	/* 10ms of delay */ +#define CFG_EEPROM_PAGE_WRITE_BITS	5	/* 32-Byte Page Write Mode */ + +/*   * Ethernet configuration   */  #define CONFIG_MPC512x_FEC	1 @@ -275,6 +283,7 @@  #define CONFIG_CMD_NFS  #define CONFIG_CMD_PING  #define CONFIG_CMD_REGINFO +#define CONFIG_CMD_EEPROM  #if defined(CONFIG_PCI)  #define CONFIG_CMD_PCI diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h index be483245b..00c34d5d7 100644 --- a/include/configs/lwmon5.h +++ b/include/configs/lwmon5.h @@ -200,12 +200,13 @@  		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"	\  		":${hostname}:${netdev}:off panic=1\0"			\  	"addtty=setenv bootargs ${bootargs} console=ttyS1,${baudrate}\0"\ -	"flash_nfs=run nfsargs addip addtty;"				\ +	"addmisc=setenv bootargs ${bootargs} rtc-pcf8563.probe=0,0x51\0"\ +	"flash_nfs=run nfsargs addip addtty addmisc;"			\  		"bootm ${kernel_addr}\0"				\ -	"flash_self=run ramargs addip addtty;"				\ +	"flash_self=run ramargs addip addtty addmisc;"			\  		"bootm ${kernel_addr} ${ramdisk_addr}\0"		\ -	"net_nfs=tftp 200000 ${bootfile};run nfsargs addip addtty;"     \ -	        "bootm\0"						\ +	"net_nfs=tftp 200000 ${bootfile};"				\ +		"run nfsargs addip addtty addmisc;bootm\0"		\  	"rootpath=/opt/eldk/ppc_4xxFP\0"				\  	"bootfile=/tftpboot/lwmon5/uImage\0"				\  	"kernel_addr=FC000000\0"					\ @@ -338,7 +339,12 @@  #define CFG_PCI_SUBSYS_VENDORID 0x10e8	/* AMCC				*/  #define CFG_PCI_SUBSYS_ID       0xcafe	/* Whatever			*/ +#if 0 +/* + * ToDo: Watchdog is not test fully, so exclude it for now + */  #define CONFIG_HW_WATCHDOG	1	/* Use external HW-Watchdog	*/ +#endif  /*   * For booting Linux, the board info and command line data @@ -472,7 +478,7 @@  {GPIO1_BASE, GPIO_OUT, GPIO_SEL , GPIO_OUT_1}, /* GPIO55  Unselect via TraceSelect Bit	*/	\  {GPIO1_BASE, GPIO_OUT, GPIO_SEL , GPIO_OUT_0}, /* GPIO56  Unselect via TraceSelect Bit	*/	\  {GPIO1_BASE, GPIO_OUT, GPIO_SEL , GPIO_OUT_1}, /* GPIO57  Unselect via TraceSelect Bit	*/	\ -{GPIO1_BASE, GPIO_OUT, GPIO_SEL , GPIO_OUT_1}, /* GPIO58  Unselect via TraceSelect Bit	*/	\ +{GPIO1_BASE, GPIO_OUT, GPIO_SEL , GPIO_OUT_0}, /* GPIO58  Unselect via TraceSelect Bit	*/	\  {GPIO1_BASE, GPIO_OUT, GPIO_SEL , GPIO_OUT_0}, /* GPIO59  Unselect via TraceSelect Bit	*/	\  {GPIO1_BASE, GPIO_OUT, GPIO_SEL , GPIO_OUT_0}, /* GPIO60  Unselect via TraceSelect Bit	*/	\  {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO61  Unselect via TraceSelect Bit	*/	\ diff --git a/include/configs/stxssa.h b/include/configs/stxssa.h index b41dafaf9..c6e795320 100644 --- a/include/configs/stxssa.h +++ b/include/configs/stxssa.h @@ -189,20 +189,21 @@  #define CFG_PROMPT_HUSH_PS2 "> "  #endif -/* I2C */ +/* + * I2C + */  #define CONFIG_FSL_I2C			/* Use FSL common I2C driver */  #define  CONFIG_HARD_I2C		/* I2C with hardware support*/  #undef	CONFIG_SOFT_I2C			/* I2C bit-banged */  #define CFG_I2C_SPEED		400000	/* I2C speed and slave address	*/  #define CFG_I2C_SLAVE		0x7F -#if 0 -#define CFG_I2C_NOPROBES	{0x00}	/* Don't probe these addrs */ -#else -/* I did the 'if 0' so we could keep the syntax above if ever needed. */  #undef CFG_I2C_NOPROBES -#endif  #define CFG_I2C_OFFSET		0x3000 +/* I2C RTC */ +#define CONFIG_RTC_DS1337		/* This is really a DS1339 RTC	*/ +#define CFG_I2C_RTC_ADDR	0x68	/* at address 0x68		*/ +  /* I2C EEPROM.	AT24C32, we keep our environment in here.  */  #define CFG_I2C_EEPROM_ADDR		0x51	/* 1010001x		*/ @@ -341,8 +342,13 @@   */  #include <config_cmd_default.h> -#define CONFIG_CMD_PING +#define CONFIG_CMD_DATE +#define CONFIG_CMD_DHCP +#define CONFIG_CMD_EEPROM  #define CONFIG_CMD_I2C +#define CONFIG_CMD_NFS +#define CONFIG_CMD_PING +#define CONFIG_CMD_SNTP  #if defined(CONFIG_PCI)      #define CONFIG_CMD_PCI diff --git a/include/led.h b/include/led.h deleted file mode 100644 index 57c2b4a37..000000000 --- a/include/led.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * (C) Copyright 2006 - * Atmel Nordic AB <www.atmel.com> - * Ulf Samuelsson <ulf@atmel.com> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#ifndef __LED_H -#define __LED_H - -#ifndef	__ASSEMBLY__ -extern void	LED_init (void); -extern void	red_LED_on(void); -extern void	red_LED_off(void); -extern void	green_LED_on(void); -extern void	green_LED_off(void); -extern void	yellow_LED_on(void); -extern void	yellow_LED_off(void); -#else -	.extern LED_init -	.extern red_LED_on -	.extern red_LED_off -	.extern yellow_LED_on -	.extern yellow_LED_off -	.extern green_LED_on -	.extern green_LED_off -#endif -#endif diff --git a/include/status_led.h b/include/status_led.h index a64681425..d12bb67c2 100644 --- a/include/status_led.h +++ b/include/status_led.h @@ -383,6 +383,27 @@ extern void __led_set (led_id_t mask, int state);  # include <asm/status_led.h>  #endif +/* + * Coloured LEDs API + */ +#ifndef	__ASSEMBLY__ +extern void	coloured_LED_init (void); +extern void	red_LED_on(void); +extern void	red_LED_off(void); +extern void	green_LED_on(void); +extern void	green_LED_off(void); +extern void	yellow_LED_on(void); +extern void	yellow_LED_off(void); +#else +	.extern LED_init +	.extern red_LED_on +	.extern red_LED_off +	.extern yellow_LED_on +	.extern yellow_LED_off +	.extern green_LED_on +	.extern green_LED_off +#endif +  #endif	/* CONFIG_STATUS_LED	*/  #endif	/* _STATUS_LED_H_	*/ diff --git a/lib_arm/board.c b/lib_arm/board.c index 634e4d943..7e97f1347 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -116,6 +116,26 @@ void *sbrk (ptrdiff_t increment)  }  /************************************************************************ + * Coloured LED functionality + ************************************************************************ + * May be supplied by boards if desired + */ +void inline __coloured_LED_init (void) {} +void inline coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init"))); +void inline __red_LED_on (void) {} +void inline red_LED_on (void) __attribute__((weak, alias("__red_LED_on"))); +void inline __red_LED_off(void) {} +void inline red_LED_off(void)	     __attribute__((weak, alias("__red_LED_off"))); +void inline __green_LED_on(void) {} +void inline green_LED_on(void) __attribute__((weak, alias("__green_LED_on"))); +void inline __green_LED_off(void) {} +void inline green_LED_off(void)__attribute__((weak, alias("__green_LED_off"))); +void inline __yellow_LED_on(void) {} +void inline yellow_LED_on(void)__attribute__((weak, alias("__yellow_LED_on"))); +void inline __yellow_LED_off(void) {} +void inline yellow_LED_off(void)__attribute__((weak, alias("__yellow_LED_off"))); + +/************************************************************************   * Init Utilities							*   ************************************************************************   * Some of this code should be moved into the core functions, @@ -189,7 +209,6 @@ static void display_flash_config (ulong size)  }  #endif /* CFG_NO_FLASH */ -  /*   * Breathe some life into the board...   * diff --git a/net/bootp.c b/net/bootp.c index be1ee332a..749d3e5e0 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -730,7 +730,7 @@ static void DhcpOptionsProcess (uchar * popt, Bootp_t *bp)  			break;  #if defined(CONFIG_CMD_SNTP) && defined(CONFIG_BOOTP_TIMEOFFSET)  		case 2:		/* Time offset	*/ -			NetCopyLong (&NetTimeOffset, (ulong *) (popt + 2)); +			NetCopyLong ((ulong *)&NetTimeOffset, (ulong *) (popt + 2));  			NetTimeOffset = ntohl (NetTimeOffset);  			break;  #endif |