summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG650
-rwxr-xr-xMAKEALL52
-rw-r--r--Makefile6
-rw-r--r--board/linkstation/ide.c12
-rw-r--r--board/mx31ads/Makefile47
-rw-r--r--board/mx31ads/config.mk1
-rw-r--r--board/mx31ads/lowlevel_init.S281
-rw-r--r--board/mx31ads/mx31ads.c94
-rw-r--r--board/mx31ads/u-boot.lds70
-rw-r--r--common/cmd_bootm.c1
-rw-r--r--include/asm-arm/arch-mx31/mx31-regs.h14
-rw-r--r--include/configs/mx31ads.h181
-rwxr-xr-xtools/setlocalversion14
13 files changed, 1393 insertions, 30 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 7a503d0..143f061 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,653 @@
+commit 92bad20ad74b70adf3839df9a0a47cce000ac3d7
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Tue Apr 8 14:00:57 2008 -0400
+
+ Add support for u-boot in svn and localversion-* files
+
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+commit d23ff6827decf121461fbc5622612fd7effe207e
+Author: Guennadi Liakhovetski <lg@denx.de>
+Date: Thu Apr 3 17:04:22 2008 +0200
+
+ MX31ADS network and flash updates
+
+ This patch allows U-Boot to use buffered writes to the Spansion NOR
+ flash installed on this board, and eliminates long delays in network
+ transfers after the board startup.
+
+ Also modify flash layout to embed main and redundant environment
+ blocks in the U-Boot image.
+
+ Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
+
+commit b5dc9b304d289831f291843ff88a45cbdf1a6290
+Author: Guennadi Liakhovetski <lg@denx.de>
+Date: Mon Apr 14 10:53:12 2008 +0200
+
+ Support for the MX31ADS evaluation board from Freescale
+
+ This patch adds support for the MX31ADS evaluation board from Freescale,
+ initialization code is copied from RedBoot sources, also provided by
+ Freescale.
+
+ Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
+
+commit 5e3dca577b7c1bf58bd2b48449b18b7e7dcd8e04
+Author: Anatolij Gustschin <agust@denx.de>
+Date: Thu Apr 17 18:18:00 2008 +0200
+
+ Fix crash on sequoia in ppc_4xx_eth_init
+
+ Currently U-Boot crashes in ppc_4xx_eth_init on sequoia
+ with cache enabled (TLB Parity exeption). This patch
+ fixes the problem.
+
+ Signed-off-by: Anatolij Gustschin <agust@denx.de>
+
+commit accf7355767dc7f6b85d88bb1c75c9d95e84ba5b
+Author: Anatolij Gustschin <agust@denx.de>
+Date: Thu Apr 17 18:15:27 2008 +0200
+
+ ppc4xx: Fix crash on sequoia with cache enabled
+
+ Currently U-Boot crashes on sequoia board in CPU POST if
+ cache is enabled (CONFIG_4xx_DCACHE defined). The cache
+ won't be disabled by change_tlb before CPU POST because
+ there is an insufficient adress range check since
+ CFG_MEM_TOP_HIDE was introduced. This patch tries to fix
+ this problem.
+
+ Signed-off-by: Anatolij Gustschin <agust@denx.de>
+
+commit 43c509254fab375c49936498da944658117ed07c
+Author: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
+Date: Thu Apr 17 23:35:13 2008 +0900
+
+ Use jr as register jump instruction
+
+ Current assembler codes are inconsistent in the way of register jump
+ instruction usage; some use jr, some use j. Of course GNU as allows both
+ usages, but as can be expected from `Jump Register' the mnemonic `jr' is
+ more intuitive than `j'. For example, Linux doesn't have `j <reg>' usage
+ at all.
+
+ Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
+
+commit 7ce63709828d37b08866e537339a169bd0db2bd3
+Author: Guennadi Liakhovetski <lg@denx.de>
+Date: Tue Apr 15 14:15:30 2008 +0200
+
+ RTC driver for MC13783
+
+ MC13783 is a multifunction IS with an SPI interface to the host. This
+ driver handles the RTC controller in this chip.
+
+ Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
+
+commit 38254f45b0b412332726c90d3184ad47479fcffb
+Author: Guennadi Liakhovetski <lg@denx.de>
+Date: Tue Apr 15 14:14:25 2008 +0200
+
+ New i.MX31 SPI driver
+
+ This is an SPI driver for i.MX and MXC based SoCs from Freescale. So far
+ only implemented and tested on i.MX31, can with a modified register layout
+ and definitions be used for i.MX27, I think, MXC CPUs have similar SPI
+ controllers too.
+
+ Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
+
+commit 7064122c2eef92f02a03ef37a1a1c07e70cd4e38
+Author: Magnus Lilja <lilja.magnus@gmail.com>
+Date: Tue Apr 15 19:09:10 2008 +0200
+
+ Fix name of i.MX31 boards in config file header
+
+ Correct the name of the i.MX31 Litekit and phyCORE boards in config files.
+
+ Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
+
+commit a49864593e083a5d0779fb9ca98e5a0f2053183d
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Sun Apr 13 19:42:19 2008 -0400
+
+ allow ports to override go behavior
+
+ Split the arch-specific logic out of the common go code and into a dedicated
+ weak function called do_go_exec() that lives in cpu directories. This will
+ need review from i386/nios people to make sure I didn't break them.
+
+commit 017e9b7925f74878d0e9475388cca9bda5ef9482
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Sun Apr 13 19:42:18 2008 -0400
+
+ allow ports to override bootelf behavior
+
+ Change the bootelf setup function into a dedicated weak function called
+ do_bootelf_exec. This way ports can control the behavior however they
+ like before/after calling the ELF entry point.
+
+commit a4b46ed6b3502335c3f3a5d672abe0bcb44f20b7
+Author: Ulf Samuelsson <ulf@atmel.com>
+Date: Sat Apr 12 20:56:03 2008 +0200
+
+ Reorder ARM boards in Makefile
+
+ Rearrange ARM boards in Makefile so that ARM926EJ-S boards
+ are no longer under ARM92xT header.
+
+ Signed-off-by: Ulf Samuelsson <ulf@atmel.com>
+ Ack-By Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit c3a60cb3bd67e120fc99b6ba88d9295c3c07f688
+Author: Ulf Samuelsson <ulf@atmel.com>
+Date: Sat Apr 12 20:29:44 2008 +0200
+
+ Clean up dataflash partitioning
+
+ This patch removes the board dependent parts from
+ "drivers/mtd/dataflash.c".
+ Each board relying on this, will have the appropriate
+ code in a new file, "partition.c" in the board directory.
+ board Makefiles updated to use the file.
+
+ The dataflash partitions are aligned on sector/page boundaries.
+
+ The CONFIG_NEW_DF_PARTITION was used to create named partitions
+ This is now the default operation, and the CONFIG variable is removed.
+
+ Signed-off-by: Ulf Samuelsson <ulf@atmel.com>
+
+commit 51ecde946fec511a16346e498204ca10ad71080d
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Sat Apr 12 14:08:45 2008 +0200
+
+ gitignore: udpate stgit generated and .patch file
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 66e39818e95f51ee1c1dd2094407a8929543fa6d
+Author: Wolfgang Denk <wd@denx.de>
+Date: Fri Apr 18 00:15:36 2008 -0700
+
+ Get rid of redundant copy of renamed header file.
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit c3aafd8cf814e33a77de81c2f22b8c772216a3cc
+Author: Vlad Lungu <vlad@comsys.ro>
+Date: Fri Apr 11 21:20:14 2008 +0300
+
+ Fix dependency generation for older gcc versions
+
+ With gcc 3.3.3 at least, compilation fails with
+
+ Generating include/autoconf.mk
+ gcc: compilation of header file requested
+ make: *** [include/autoconf.mk] Error 1
+
+ since commit 16fe77752eee099b9fb61ed73460e51cc94b37ba.
+
+ Signed-off-by: Vlad Lungu <vlad@comsys.ro>
+
+commit cb1c4896905ab22fcd982e6a8a539f0031942e71
+Author: Marian Balakowicz <m8@semihalf.com>
+Date: Fri Apr 11 11:07:49 2008 +0200
+
+ Restore the ability to continue booting after legacy image overwrite
+
+ Before new uImage code was merged, bootm code allowed for the kernel image to
+ get overwritten during decompresion. new uImage introduced a check for image
+ overwrites and refused to boot the image that got overwritten. This patch
+ restores the old behavior. It also adds a warning when the image overwriten is
+ a multi-image file, because in such case accessing componentes other than the
+ first one will fail.
+
+ Signed-off-by: Marian Balakowicz <m8@semihalf.com>
+
+commit de2b3216e6b4f3b2fe93759c05b17504f9dfe036
+Author: Marian Balakowicz <m8@semihalf.com>
+Date: Fri Apr 11 11:07:43 2008 +0200
+
+ ppc: Fix ftd_blob variable init when processing raw blob
+
+ Set fdt_blob variable before its value is printed out.
+
+ Signed-off-by: Marian Balakowicz <m8@semihalf.com>
+
+commit 3d36be030043cd841a2551d00a395135e363a64b
+Author: Jason Wessel <jason.wessel@windriver.com>
+Date: Thu Apr 10 14:30:16 2008 -0500
+
+ Remove all the search paths from the .lds files.
+
+ The cross compiler is responsible for providing the correct libraries
+ and the logic to find the linking libraries.
+
+ Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
+
+commit 7d721e34ae6be7d7db63e8d060a246278bb7ae58
+Author: Bartlomiej Sieka <tur@semihalf.com>
+Date: Mon Apr 14 15:44:16 2008 +0200
+
+ Boot-related documentation update
+
+ - document 'bootm_low' and 'bootm_size' environment variables
+ - update inaccurate CFG_BOOTMAPSZ entry
+
+ Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
+
+commit a6f0bd9f2b1971e2a61ac0fd1fc2c96cb7a4b67a
+Author: Guennadi Liakhovetski <lg@denx.de>
+Date: Wed Apr 9 17:34:08 2008 +0200
+
+ Fix regression introduced by a typo in "Tidied other cpu/arm920t/start.S code"
+
+ Restore logic reverted by commit
+
+ 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
+
+ Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
+
+commit e25cb8d3f4fcc265a9cdf8e9d577b59bdb64bbaf
+Author: Mike Frysinger <vapier@gentoo.org>
+Date: Tue Apr 8 10:24:24 2008 -0400
+
+ Remove conflicting NAND ID
+
+ There are two NAND entries with ID 0xDC and this obviously causes problems.
+ In the kernel, they punted the first entry, so we should do the same.
+
+ See this upstream e-mail for more info:
+ http://lists.infradead.org/pipermail/linux-mtd/2007-July/018795.html
+
+ Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+commit 188e94c370621708d13547d58dbc6ed3c5602aa8
+Author: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
+Date: Tue Apr 8 16:20:35 2008 +0900
+
+ cpu/mips/cpu.c: Fix flush_cache bug
+
+ Cache operations have to take line address (addr), not start_addr.
+ I noticed this bug when debugging ping failure.
+
+ Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
+
+commit 8f2a68a07c058fca1d413e54f71c2e7e78a74ed4
+Author: Martin Krause <martin.krause@tqs.de>
+Date: Thu Apr 3 14:29:01 2008 +0200
+
+ TQM5200: fix default IDE reset level
+
+ Before the first call of ide_reset(), the level of the IDE reset
+ signal on the TQM5200 is low (reset asserted). This patch sets the
+ default value to high (reset not asserted).
+
+ Currently this patch fixes no real problem, but it is cleaner to
+ assert the reset signal only on demand, and not permanently.
+
+ Signed-off-by: Martin Krause <martin.krause@tqs.de>
+
+commit c61e033d6e8abb7b4060ee36060961e1399f6079
+Author: Detlev Zundel <dzu@denx.de>
+Date: Thu Apr 3 14:18:48 2008 +0200
+
+ mgcoge, mgsuv: realign CONFIG_EXTRA_ENV_SETTING
+
+ Signed-off-by: Detlev Zundel <dzu@denx.de>
+
+commit f308572e19eb7fe63aa3d41f214cde4c23c9800f
+Author: Detlev Zundel <dzu@denx.de>
+Date: Thu Apr 3 14:18:47 2008 +0200
+
+ mgcoge, mgsuv: rename 'addcon' to 'addcons'
+
+ The latter name with 13 users is already established, so we will use
+ that.
+
+ Signed-off-by: Detlev Zundel <dzu@denx.de>
+
+commit e175eacc87c3a9e4dad0799fee0e95732520afc7
+Author: Martin Krause <martin.krause@tqs.de>
+Date: Thu Apr 3 13:37:56 2008 +0200
+
+ IDE: fix bug in reset sequence
+
+ According to the ata (ata5) specification the RESET- signal
+ shall be asserted for at least 25 us. Without this patch,
+ the RESET- signal is asserted on some boards for only < 1 us
+ (e. g. on the TQM5200). This patch adds a general delay of
+ 25 us to the RESET- signal.
+
+ Without this patch a Platinum 4 GiB CF card is not recognised
+ properly on boards with a TQM5200 (STK52xx, TB5200).
+
+ Signed-off-by: Martin Krause <martin.krause@tqs.de>
+
+commit 813bea96a960916c72b4a3a7df840151529c26ce
+Author: Sascha Laue <Sascha.Laue@gmx.biz>
+Date: Thu Apr 3 14:43:11 2008 +0200
+
+ lwmon5: disable CONFIG_ZERO_BOOTDELAY
+
+ Signed-off-by: Sascha Laue <sascha.laue@liebherr.com>
+
+commit 53eec6f1d25932e76d63ccb14082792b0b96bf41
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Wed Apr 2 08:03:58 2008 +0200
+
+ ds174x: Fix warning on return in rtc_get and rtc_set functions
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit a253b38bf50c85227c33ca0febc870ee49d1588e
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Wed Apr 2 08:03:57 2008 +0200
+
+ cmd_log.c: Fix assignment differ in signedness
+
+ In function 'logbuff_init_ptrs':
+ cmd_log.c:79: warning: pointer targets in assignment differ in signedness
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit 6c0e9a8f1cc090fbfbc6f86b6b4fd17a1628f3df
+Author: Gururaja Hebbar K R <gururajakr@sanyo.co.in>
+Date: Wed Apr 2 11:04:43 2008 +0530
+
+ Remove duplicate #undef SHOW_INFO in drivers/usb/usb_ohci.c
+
+ Signed-off-by: gururaja hebbar <gururajakr@sanyo.co.in>
+
+commit 478d5ec9ae3cbcc6040241d2d73dbbc61fe9b49d
+Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Date: Tue Apr 1 14:07:10 2008 +0200
+
+ s3c4510b_eth: fix 'packed' attribute ignored for fields of MACFrame
+
+ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+
+commit c08fb3ea36d19b1640b7906264581e9105534399
+Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+Date: Tue Apr 15 10:24:14 2008 +0200
+
+ Additional PCI IDs for IDE and network controllers
+
+ These PCI IDs are required by the Linkstation platforms.
+
+ Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+
+commit c0559be371b2a64b1a817088c3308688e2182f93
+Author: Joakim Tjernlund <joakim.tjernlund@transmode.se>
+Date: Mon Apr 14 23:01:50 2008 +0200
+
+ Change env_get_char from a global function ptr to a function.
+
+ This avoids an early global data reference.
+
+ Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
+
+commit 3e0f331c05d72f140715c1e9fca991927e44d422
+Author: Guennadi Liakhovetski <lg@denx.de>
+Date: Tue Apr 29 12:35:08 2008 +0000
+
+ Clean up smsc911x driver
+
+ Replace direct register address derefencing with accessor functions.
+ Restrict explicitly 32-bit bus-width, extend affected configurations
+ respectively.
+
+ Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
+ Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
+
+commit de1b686b763aa8b87a86f6748ce9169e7fc0e4cd
+Author: Sascha Hauer <s.hauer@pengutronix.de>
+Date: Tue Apr 15 00:08:20 2008 -0400
+
+ This patch adds a driver for the following smsc network controllers:
+ LAN9115
+ LAN9116
+ LAN9117
+ LAN9215
+ LAN9216
+ LAN9217
+
+ Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
+ Signed-off-by: Guennadi Liakhovetski<lg@denx.de>
+ Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
+
+commit 3dfd4aab929cccddb63d9ea509967861e1333b52
+Author: Sascha Laue <Sascha.Laue@gmx.biz>
+Date: Tue Apr 1 15:13:03 2008 +0200
+
+ Fix watchdog POST for lwmon5
+
+ If the hardware watchdog detects a voltage error, the watchdog sets
+ GPIO62 to low. The watchdog POST has to detect this low level.
+
+ Signed-off-by: Sascha Laue <leglas0@legpc180.leg.liebherr.i>
+
+commit 24b448448a917e52806f82660a5c9d47608894fb
+Author: Dave Liu <r63238@freescale.com>
+Date: Tue Apr 1 15:22:11 2008 +0800
+
+ ata: update the libata.h from ata.h of linux kernel
+
+ Current libata.h of u-boot is out of sync from linux kernel,
+ this patch make it be consistent with linux kernel.
+
+ Signed-off-by: Dave Liu <daveliu@freescale.com>
+ Signed-off-by: Tor Krill <tor@excito.com>
+
+commit f8f9dc98883f66f59eb0601da65808e6b139c87c
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date: Mon Mar 31 11:59:27 2008 -0500
+
+ Allow use of ARCH=powerpc when building
+
+ The linux kernel is now mostly ARCH=powerpc, so to make life easier
+ allow use to use ARCH=powerpc and convert it to ARCH=ppc.
+
+ Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit 8af657d2c6d1ca4f2f76973531394d4578ba2ef0
+Author: Kyungmin Park <kmpark@infradead.org>
+Date: Mon Mar 31 10:40:54 2008 +0900
+
+ Add apollon board MAINTAINERS entry
+
+ Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
+
+commit 77e475cc0ed1832160017d364be32a0be9ff02a9
+Author: Kyungmin Park <kmpark@infradead.org>
+Date: Mon Mar 31 10:40:36 2008 +0900
+
+ Fix OneNAND read
+
+ It should access with 16-bit instead of 8-bit
+
+ Now it uses the generic memcpy with 8-bit access. It means it reads wrong data from OneNAND.
+
+ Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
+
+commit a9da2b41079d230db3a5641625311983f85ce1fb
+Author: Kyungmin Park <kmpark@infradead.org>
+Date: Mon Mar 31 10:40:19 2008 +0900
+
+ Fix OneNAND erase command
+
+ It mis-calculates the block address.
+ Also fix DECLARE_GLOBAL_DATA_PTR in env_onenand.
+
+ Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
+
+commit 61525f2ffa156665a66908fda47dbf29d65ea579
+Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+Date: Mon Mar 31 01:32:15 2008 +0200
+
+ Support for LinkStation / KuroBox HD and HG PPC models
+
+ This patch is based on the port by Mihai Georgian (see linkstation.c for
+ Copyright information) and implements support for LinkStation / KuroBox HD
+ and HG PPC models from Buffalo Technology, whereby HD is deactivated at
+ the moment, pending network driver fixing.
+
+ Notice to users: this is pretty much a barebone port. Support for network
+ on HG models is already in the U-Boot mainline, but you might also want
+ patches to switch fan / phy modes depending on the negotiated ethernet
+ parameters. This patch also doesn't support console switching, booting EM
+ mode, Buffalo specific ext2 magic number. So, if you want to use any of
+ those, you need additional patches. Otherwise this patche provides a fully
+ functional u-boot with a network console on your system.
+
+ Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
+
+commit 0f3ba7e9783f352318f197a3148f6d5cc3d75bea
+Author: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+Date: Sun Mar 30 01:22:13 2008 -0500
+
+ Add CONFIG_MII_INIT support to related boards
+
+ Replace CONFIG_8xx and CONFIG_MCF532x to CONFIG_MII_INIT in
+ cmd_init.c. Add CONFIG_MII_INIT to board configuration files
+ that use mii_init() in cmd_init.c.
+
+ Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+ Acked-by: Ben Warren <biggerbadderben@gmail.com>
+
+commit f33fca22e76f20e4e4793810ca7a06a4805a6cf4
+Author: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+Date: Sun Mar 30 01:19:06 2008 -0500
+
+ Update CONFIG_PCIAUTO_SKIP_HOST_BRIDGE to related boards
+
+ Remove test for CONFIG_MPC5200 in drivers/pci/pci_auto.c and define
+ CONFIG_PCIAUTO_SKIP_HOST_BRIDGE in related board configuration files.
+
+ Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+
+commit e99ccb488181d012248c6be30b2093e950319fc5
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date: Thu Mar 27 11:46:38 2008 -0500
+
+ Introduce phys_size_t and move phys_addr_t into asm/types.h
+
+ Also add CONFIG_PHYS_64BIT on powerpc to deal with 32-bit ppc's
+ that have larger physical addresses like 44x, 85xx, and 86xx.
+
+ Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit 20a14a42a25f72e379f38460b8a8484667536795
+Author: Andy Fleming <afleming@freescale.com>
+Date: Wed Apr 2 16:19:07 2008 -0500
+
+ Rename include/md5.h to include/u-boot/md5.h
+
+ Some systems have md5.h installed in /usr/include/. This isn't the
+ desired file (we want the one in include/md5.h). This will avoid the
+ conflict. This fixes the host tools building problem by creating a new
+ directory for U-Boot specific header files.
+
+ [Patch by Andy Fleming, modified to use separate directory by Wolfgang
+ Denk]
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+ Signed-off-by: Andy Fleming <afleming@freescale.com>
+ Acked-by: Timur Tabi <timur@freescale.com>
+
+commit f297b7a1ec87433f66320d89d993e1bc738c66b8
+Author: Dave Liu <r63238@freescale.com>
+Date: Thu Mar 27 18:51:17 2008 +0800
+
+ drivers: code clean up
+
+ Signed-off-by: Dave Liu <daveliu@freescale.com>
+
+commit 0ff7cba4a2e51c90827f6d21a0b28b4d67109597
+Author: Dave Liu <r63238@freescale.com>
+Date: Thu Mar 27 18:50:41 2008 +0800
+
+ drivers: clean up the ata_piix.h
+
+ Signed-off-by: Dave Liu <daveliu@freescale.com>
+
+commit e8f7ba404f1409606962815ecc955a06984b08b3
+Author: Dave Liu <r63238@freescale.com>
+Date: Thu Mar 27 18:49:56 2008 +0800
+
+ doc: english polishing for README.sata
+
+ according to gvb's suggestion, polishing for the doc.
+
+ Signed-off-by: Jerry Van Baren <gerald.vanbaren@ge.com>
+ Signed-off-by: Dave Liu <daveliu@freescale.com>
+
+commit 3e3f766a5274d204780460e1879723b565296d34
+Author: Kumar Gala <galak@kernel.crashing.org>
+Date: Wed Mar 26 18:53:28 2008 -0500
+
+ Fix warnings introduced by I2C bus speed setting patch
+
+ Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+
+commit 3c735e7437150e8615f26930c7819db85634276d
+Author: eran liberty <eran.liberty@gmail.com>
+Date: Thu Mar 27 00:50:49 2008 +0100
+
+ Altera Stratix II support
+
+ Adds Support for Altera's Stratix II.
+
+ Within your board specific init file you will have to call
+
+ 1. fpga_init (/* relocated code offset. usually => */ gd->reloc_off);
+ 2. fpga_add (fpga_altera, (Altera_desc*)&altera_desc);
+
+ Altera_desc* contines (for example):
+ {
+ Altera_StratixII, /* part type */
+ passive_serial, /* interface type */
+ 1, /* bytes of data part can accept */
+ (void *)(&funcs), /* interface function table */
+ 0L, /* base interface address */
+ 0 /* implementation specific cookie */
+ }
+
+ funcs is the interface. It is of type altera_board_specific_func.
+ It looks like this:
+ altera_board_specific_func func = {
+ pre_fn,
+ config_fn,
+ status_fn,
+ done_fn,
+ clk_fn,
+ data_fn,
+ abort_fn,
+ post_fn,
+ };
+
+ you will have to implement these functions, which is usually bit
+ banging some gpio.
+
+ Signed-off-by: Eran Liberty <liberty@extricom.com>
+
+commit 5ece9ec9f6cd52950ab848e2fe422dacf1d3a335
+Author: Wolfgang Denk <wd@denx.de>
+Date: Sun Apr 13 14:32:54 2008 -0700
+
+ Update CHANGELOG
+
+ Signed-off-by: Wolfgang Denk <wd@denx.de>
+
commit 5ad862166aa24d62a69aa9c708f6b2f5c0d28fb7
Author: Sascha Hauer <s.hauer@pengutronix.de>
Date: Wed Mar 26 20:41:17 2008 +0100
diff --git a/MAKEALL b/MAKEALL
index 8241f45..38911ed 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -386,12 +386,6 @@ LIST_74xx=" \
ZUMA \
"
-LIST_TSEC=" \
- ${LIST_85xx} \
- ${LIST_86xx} \
- ${LIST_83xx} \
-"
-
LIST_7xx=" \
BAB7xx \
CPCI750 \
@@ -400,6 +394,16 @@ LIST_7xx=" \
ppmc7xx \
"
+#########################################################################
+## PowerPC groups
+#########################################################################
+
+LIST_TSEC=" \
+ ${LIST_83xx} \
+ ${LIST_85xx} \
+ ${LIST_86xx} \
+"
+
LIST_ppc=" \
${LIST_5xx} \
${LIST_512x} \
@@ -510,6 +514,7 @@ LIST_ARM11=" \
apollon \
imx31_litekit \
imx31_phycore \
+ mx31ads \
"
#########################################################################
@@ -544,6 +549,9 @@ LIST_ixp=" \
scpu \
"
+#########################################################################
+## ARM groups
+#########################################################################
LIST_arm=" \
${LIST_SA} \
@@ -704,6 +712,11 @@ LIST_blackfin=" \
## SH Systems
#########################################################################
+LIST_sh3=" \
+ mpr2 \
+ ms7720se \
+"
+
LIST_sh4=" \
ms7750se \
ms7722se \
@@ -712,11 +725,6 @@ LIST_sh4=" \
r2dplus \
"
-LIST_sh3=" \
- mpr2 \
- ms7720se \
-"
-
LIST_sh=" \
${LIST_sh3} \
${LIST_sh4} \
@@ -754,17 +762,17 @@ build_target() {
for arg in $@
do
case "$arg" in
- arm|SA|ARM7|ARM9|ARM10|ARM11|ixp|pxa| \
- avr32| \
- sparc| \
- blackfin| \
- coldfire| \
- microblaze| \
- mips|mips_el| \
- nios|nios2| \
- ppc|5xx|5xxx|512x|8xx|8220|824x|8260|83xx|85xx|86xx|4xx|7xx|74xx| \
- x86|I486|TSEC| \
- sh|sh4|sh3 \
+ arm|SA|ARM7|ARM9|ARM10|ARM11|ixp|pxa \
+ |avr32 \
+ |blackfin \
+ |coldfire \
+ |microblaze \
+ |mips|mips_el \
+ |nios|nios2 \
+ |ppc|5xx|5xxx|512x|8xx|8220|824x|8260|83xx|85xx|86xx|4xx|7xx|74xx|TSEC \
+ |sh|sh3|sh4 \
+ |sparc \
+ |x86|I486 \
)
for target in `eval echo '$LIST_'${arg}`
do
diff --git a/Makefile b/Makefile
index b67a2e1..94c21cc 100644
--- a/Makefile
+++ b/Makefile
@@ -2639,6 +2639,9 @@ imx31_litekit_config : unconfig
imx31_phycore_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm1136 imx31_phycore NULL mx31
+mx31ads_config : unconfig
+ @$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads NULL mx31
+
#========================================================================
# i386
#========================================================================
@@ -2971,7 +2974,8 @@ clean:
$(obj)board/{integratorap,integratorcp}/u-boot.lds \
$(obj)board/{bf533-ezkit,bf533-stamp,bf537-stamp,bf561-ezkit}/u-boot.lds \
$(obj)cpu/blackfin/bootrom-asm-offsets.[chs]
- @rm -f $(obj)include/bmp_logo.h $(obj)nand_spl/{u-boot-spl,u-boot-spl.map}
+ @rm -f $(obj)include/bmp_logo.h
+ @rm -f $(obj)nand_spl/{u-boot-spl,u-boot-spl.map,System.map}
@rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl-2k.bin,ipl-4k.bin,ipl.map}
@rm -f $(obj)api_examples/demo $(VERSION_FILE)
@find $(OBJTREE) -type f \
diff --git a/board/linkstation/ide.c b/board/linkstation/ide.c
index 37d9b57..02086a0 100644
--- a/board/linkstation/ide.c
+++ b/board/linkstation/ide.c
@@ -81,12 +81,12 @@ int ide_preinit (void)
#endif
pci_write_config_dword(devbusfn, IT8212_PCI_IdeBusSkewCONTROL, 0x02040204);
/* __LS_COMMENT__ BUFFALO changed 2004.11.10 changed for EMI */
- pci_write_config_byte(devbusfn, IT8212_PCI_IdeDrivingCURRENT, 0x36); /* 10mA */
-/* pci_write_config_byte(dev, IT8212_PCI_IdeDrivingCURRENT, 0x09); */ /* 4mA */
-/* pci_write_config_byte(dev, IT8212_PCI_IdeDrivingCURRENT, 0x12); */ /* 6mA */
-/* pci_write_config_byte(dev, IT8212_PCI_IdeDrivingCURRENT, 0x24); */ /* 6mA,2mA */
-/* pci_write_config_byte(dev, IT8212_PCI_IdeDrivingCURRENT, 0x2D); */ /* 8mA,4mA */
- pci_write_config_byte(devbusfn, PCI_LATENCY_TIMER, 0x00);
+ pci_write_config_byte(devbusfn, IT8212_PCI_IdeDrivingCURRENT, 0x36); /* 10mA */
+/* pci_write_config_byte(dev, IT8212_PCI_IdeDrivingCURRENT, 0x09); */ /* 4mA */
+/* pci_write_config_byte(dev, IT8212_PCI_IdeDrivingCURRENT, 0x12); */ /* 6mA */
+/* pci_write_config_byte(dev, IT8212_PCI_IdeDrivingCURRENT, 0x24); */ /* 6mA,2mA */
+/* pci_write_config_byte(dev, IT8212_PCI_IdeDrivingCURRENT, 0x2D); */ /* 8mA,4mA */
+ pci_write_config_byte(devbusfn, PCI_LATENCY_TIMER, 0x00);
}
return (status);
diff --git a/board/mx31ads/Makefile b/board/mx31ads/Makefile
new file mode 100644
index 0000000..dfadd96
--- /dev/null
+++ b/board/mx31ads/Makefile
@@ -0,0 +1,47 @@
+#
+# Copyright (C) 2008, Guennadi Liakhovetski <lg@denx.de>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB = $(obj)lib$(BOARD).a
+
+COBJS := mx31ads.o
+SOBJS := lowlevel_init.o
+
+SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS := $(addprefix $(obj),$(COBJS))
+SOBJS := $(addprefix $(obj),$(SOBJS))
+
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
+ $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+
+clean:
+ rm -f $(SOBJS) $(OBJS)
+
+distclean: clean
+ rm -f $(LIB) core *.bak .depend
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/mx31ads/config.mk b/board/mx31ads/config.mk
new file mode 100644
index 0000000..d34dc02
--- /dev/null
+++ b/board/mx31ads/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0x87f00000
diff --git a/board/mx31ads/lowlevel_init.S b/board/mx31ads/lowlevel_init.S
new file mode 100644
index 0000000..099a7ca
--- /dev/null
+++ b/board/mx31ads/lowlevel_init.S
@@ -0,0 +1,281 @@
+/*
+ * Copyright (C) 2008, Guennadi Liakhovetski <lg@denx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <asm/arch/mx31-regs.h>
+
+.macro REG reg, val
+ ldr r2, =\reg
+ ldr r3, =\val
+ str r3, [r2]
+.endm
+
+.macro REG8 reg, val
+ ldr r2, =\reg
+ ldr r3, =\val
+ strb r3, [r2]
+.endm
+
+.macro DELAY loops
+ ldr r2, =\loops
+1:
+ subs r2, r2, #1
+ nop
+ bcs 1b
+.endm
+
+/* RedBoot: AIPS setup - Only setup MPROTx registers.
+ * The PACR default values are good.*/
+.macro init_aips
+ /*
+ * Set all MPROTx to be non-bufferable, trusted for R/W,
+ * not forced to user-mode.
+ */
+ ldr r0, =0x43F00000
+ ldr r1, =0x77777777
+ str r1, [r0, #0x00]
+ str r1, [r0, #0x04]
+ ldr r0, =0x53F00000
+ str r1, [r0, #0x00]
+ str r1, [r0, #0x04]
+
+ /*
+ * Clear the on and off peripheral modules Supervisor Protect bit
+ * for SDMA to access them. Did not change the AIPS control registers
+ * (offset 0x20) access type
+ */
+ ldr r0, =0x43F00000
+ ldr r1, =0x0
+ str r1, [r0, #0x40]
+ str r1, [r0, #0x44]
+ str r1, [r0, #0x48]
+ str r1, [r0, #0x4C]
+ ldr r1, [r0, #0x50]
+ and r1, r1, #0x00FFFFFF
+ str r1, [r0, #0x50]
+
+ ldr r0, =0x53F00000
+ ldr r1, =0x0
+ str r1, [r0, #0x40]
+ str r1, [r0, #0x44]
+ str r1, [r0, #0x48]
+ str r1, [r0, #0x4C]
+ ldr r1, [r0, #0x50]
+ and r1, r1, #0x00FFFFFF
+ str r1, [r0, #0x50]
+.endm /* init_aips */
+
+/* RedBoot: MAX (Multi-Layer AHB Crossbar Switch) setup */
+.macro init_max
+ ldr r0, =0x43F04000
+ /* MPR - priority is M4 > M2 > M3 > M5 > M0 > M1 */
+ ldr r1, =0x00302154
+ str r1, [r0, #0x000] /* for S0 */
+ str r1, [r0, #0x100] /* for S1 */
+ str r1, [r0, #0x200] /* for S2 */
+ str r1, [r0, #0x300] /* for S3 */
+ str r1, [r0, #0x400] /* for S4 */
+ /* SGPCR - always park on last master */
+ ldr r1, =0x10
+ str r1, [r0, #0x010] /* for S0 */
+ str r1, [r0, #0x110] /* for S1 */
+ str r1, [r0, #0x210] /* for S2 */
+ str r1, [r0, #0x310] /* for S3 */
+ str r1, [r0, #0x410] /* for S4 */
+ /* MGPCR - restore default values */
+ ldr r1, =0x0
+ str r1, [r0, #0x800] /* for M0 */
+ str r1, [r0, #0x900] /* for M1 */
+ str r1, [r0, #0xA00] /* for M2 */
+ str r1, [r0, #0xB00] /* for M3 */
+ str r1, [r0, #0xC00] /* for M4 */
+ str r1, [r0, #0xD00] /* for M5 */
+.endm /* init_max */
+
+/* RedBoot: M3IF setup */
+.macro init_m3if
+ /* Configure M3IF registers */
+ ldr r1, =0xB8003000
+ /*
+ * M3IF Control Register (M3IFCTL)
+ * MRRP[0] = L2CC0 not on priority list (0 << 0) = 0x00000000
+ * MRRP[1] = L2CC1 not on priority list (0 << 0) = 0x00000000
+ * MRRP[2] = MBX not on priority list (0 << 0) = 0x00000000
+ * MRRP[3] = MAX1 not on priority list (0 << 0) = 0x00000000
+ * MRRP[4] = SDMA not on priority list (0 << 0) = 0x00000000
+ * MRRP[5] = MPEG4 not on priority list (0 << 0) = 0x00000000
+ * MRRP[6] = IPU1 on priority list (1 << 6) = 0x00000040
+ * MRRP[7] = IPU2 not on priority list (0 << 0) = 0x00000000
+ * ------------
+ * 0x00000040
+ */
+ ldr r0, =0x00000040
+ str r0, [r1] /* M3IF control reg */
+.endm /* init_m3if */
+
+/* RedBoot: To support 133MHz DDR */
+.macro init_drive_strength
+ /*
+ * Disable maximum drive strength SDRAM/DDR lines by clearing DSE1 bits
+ * in SW_PAD_CTL registers
+ */
+
+ /* SDCLK */
+ ldr r1, =0x43FAC200
+ ldr r0, [r1, #0x6C]
+ bic r0, r0, #(1 << 12)
+ str r0, [r1, #0x6C]
+
+ /* CAS */
+ ldr r0, [r1, #0x70]
+ bic r0, r0, #(1 << 22)
+ str r0, [r1, #0x70]
+
+ /* RAS */
+ ldr r0, [r1, #0x74]
+ bic r0, r0, #(1 << 2)
+ str r0, [r1, #0x74]
+
+ /* CS2 (CSD0) */
+ ldr r0, [r1, #0x7C]
+ bic r0, r0, #(1 << 22)
+ str r0, [r1, #0x7C]
+
+ /* DQM3 */
+ ldr r0, [r1, #0x84]
+ bic r0, r0, #(1 << 22)
+ str r0, [r1, #0x84]
+
+ /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 (0x288..0x2DC) */
+ ldr r2, =22 /* (0x2E0 - 0x288) / 4 = 22 */
+pad_loop:
+ ldr r0, [r1, #0x88]
+ bic r0, r0, #(1 << 22)
+ bic r0, r0, #(1 << 12)
+ bic r0, r0, #(1 << 2)
+ str r0, [r1, #0x88]
+ add r1, r1, #4
+ subs r2, r2, #0x1
+ bne pad_loop
+.endm /* init_drive_strength */
+
+/* CPLD on CS4 setup */
+.macro init_cs4
+ ldr r0, =WEIM_BASE
+ ldr r1, =0x0000D843
+ str r1, [r0, #0x40]
+ ldr r1, =0x22252521
+ str r1, [r0, #0x44]
+ ldr r1, =0x22220A00
+ str r1, [r0, #0x48]
+.endm /* init_cs4 */
+
+.globl lowlevel_init
+lowlevel_init:
+
+ /* Redboot initializes very early AIPS, what for?
+ * Then it also initializes Multi-Layer AHB Crossbar Switch,
+ * M3IF */
+ /* Also setup the Peripheral Port Remap register inside the core */
+ ldr r0, =0x40000015 /* start from AIPS 2GB region */
+ mcr p15, 0, r0, c15, c2, 4
+
+ init_aips
+
+ init_max
+
+ init_m3if
+
+ init_drive_strength
+
+ init_cs4
+
+ /* Image Processing Unit: */
+ /* Too early to switch display on? */
+ REG IPU_CONF, IPU_CONF_DI_EN /* Switch on Display Interface */
+ /* Clock Control Module: */
+ REG CCM_CCMR, 0x074B0BF5 /* Use CKIH, MCU PLL off */
+
+ DELAY 0x40000
+
+ REG CCM_CCMR, 0x074B0BF5 | CCMR_MPE /* MCU PLL on */
+ REG CCM_CCMR, (0x074B0BF5 | CCMR_MPE) & ~CCMR_MDS /* Switch to MCU PLL */
+
+ /* PBC CPLD on CS4 */
+ mov r1, #CS4_BASE
+ ldrh r1, [r1, #0x2]
+ /* Is 27MHz switch set? */
+ ands r1, r1, #0x16
+
+ /* 532-133-66.5 */
+ ldr r0, =CCM_BASE
+ ldr r1, =0xFF871D58
+ /* PDR0 */
+ str r1, [r0, #0x4]
+ ldreq r1, MPCTL_PARAM_532
+ ldrne r1, MPCTL_PARAM_532_27
+ /* MPCTL */
+ str r1, [r0, #0x10]
+
+ /* Set UPLL=240MHz, USB=60MHz */
+ ldr r1, =0x49FCFE7F
+ /* PDR1 */
+ str r1, [r0, #0x8]
+ ldreq r1, UPCTL_PARAM_240
+ ldrne r1, UPCTL_PARAM_240_27
+ /* UPCTL */
+ str r1, [r0, #0x14]
+ /* default CLKO to 1/8 of the ARM core */
+ mov r1, #0x000002C0
+ add r1, r1, #0x00000006
+ /* COSR */
+ str r1, [r0, #0x1c]
+
+ /* RedBoot sets 0x1ff, 7, 3, 5, 1, 3, 0 */
+/* REG CCM_PDR0, PDR0_CSI_PODF(0x1ff) | PDR0_PER_PODF(7) | PDR0_HSP_PODF(2) | PDR0_NFC_PODF(6) | PDR0_IPG_PODF(1) | PDR0_MAX_PODF(2) | PDR0_MCU_PODF(0)*/
+
+ /* Redboot: 0, 51, 10, 12 / 0, 14, 9, 13 */
+/* REG CCM_MPCTL, PLL_PD(0) | PLL_MFD(0x33) | PLL_MFI(7) | PLL_MFN(0x23)*/
+ /* Default: 1, 4, 12, 1 */
+ REG CCM_SPCTL, PLL_PD(1) | PLL_MFD(4) | PLL_MFI(12) | PLL_MFN(1)
+
+ /* B8xxxxxx - NAND, 8xxxxxxx - CSD0 RAM */
+ REG 0xB8001010, 0x00000004
+ REG 0xB8001004, 0x006ac73a
+ REG 0xB8001000, 0x92100000
+ REG 0x80000f00, 0x12344321
+ REG 0xB8001000, 0xa2100000
+ REG 0x80000000, 0x12344321
+ REG 0x80000000, 0x12344321
+ REG 0xB8001000, 0xb2100000
+ REG8 0x80000033, 0xda
+ REG8 0x81000000, 0xff
+ REG 0xB8001000, 0x82226080
+ REG 0x80000000, 0xDEADBEEF
+ REG 0xB8001010, 0x0000000c
+
+ mov pc, lr
+
+MPCTL_PARAM_532:
+ .word (((1-1) << 26) + ((52-1) << 16) + (10 << 10) + (12 << 0))
+MPCTL_PARAM_532_27:
+ .word (((1-1) << 26) + ((15-1) << 16) + (9 << 10) + (13 << 0))
+UPCTL_PARAM_240:
+ .word (((2-1) << 26) + ((13-1) << 16) + (9 << 10) + (3 << 0))
+UPCTL_PARAM_240_27:
+ .word (((2-1) << 26) + ((9 -1) << 16) + (8 << 10) + (8 << 0))
diff --git a/board/mx31ads/mx31ads.c b/board/mx31ads/mx31ads.c
new file mode 100644
index 0000000..5a7d8c9
--- /dev/null
+++ b/board/mx31ads/mx31ads.c
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2008, Guennadi Liakhovetski <lg@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/mx31.h>
+#include <asm/arch/mx31-regs.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int dram_init (void)
+{
+ gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+
+ return 0;
+}
+
+int board_init (void)
+{
+ int i;
+
+ /* CS0: Nor Flash */
+ /*
+ * CS0L and CS0A values are from the RedBoot sources by Freescale
+ * and are also equal to those used by Sascha Hauer for the Phytec
+ * i.MX31 board. CS0U is just a slightly optimized hardware default:
+ * the only non-zero field "Wait State Control" is set to half the
+ * default value.
+ */
+ __REG(CSCR_U(0)) = 0x00000f00;
+ __REG(CSCR_L(0)) = 0x10000D03;
+ __REG(CSCR_A(0)) = 0x00720900;
+
+ /* setup pins for UART1 */
+ mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX);
+ mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX);
+ mx31_gpio_mux(MUX_RTS1__UART1_RTS_B);
+ mx31_gpio_mux(MUX_RTS1__UART1_CTS_B);
+
+ /* PBC setup */
+ /* Enable UART transceivers also reset the Ethernet/external UART */
+ readw(CS4_BASE + 4);
+
+ writew(0x8023, CS4_BASE + 4);
+
+ /* RedBoot also has an empty loop with 100000 iterations here -
+ * clock doesn't run yet */
+ for (i = 0; i < 100000; i++)
+ ;
+
+ /* Clear the reset, toggle the LEDs */
+ writew(0xDF, CS4_BASE + 6);
+
+ /* clock still doesn't run */
+ for (i = 0; i < 100000; i++)
+ ;
+
+ /* See 1.5.4 in IMX31ADSE_PERI_BUS_CNTRL_CPLD_RM.pdf */
+ readb(CS4_BASE + 8);
+ readb(CS4_BASE + 7);
+ readb(CS4_BASE + 8);
+ readb(CS4_BASE + 7);
+
+ gd->bd->bi_arch_number = 447; /* board id for linux */
+ gd->bd->bi_boot_params = 0x80000100; /* adress of boot parameters */
+
+ return 0;
+}
+
+int checkboard (void)
+{
+ printf("Board: MX31ADS\n");
+ return 0;
+}
diff --git a/board/mx31ads/u-boot.lds b/board/mx31ads/u-boot.lds
new file mode 100644
index 0000000..49713d4
--- /dev/null
+++ b/board/mx31ads/u-boot.lds
@@ -0,0 +1,70 @@
+/*
+ * January 2004 - Changed to support H4 device
+ * Copyright (c) 2004 Texas Instruments
+ *
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+ . = 0x00000000;
+
+ . = ALIGN(4);
+ .text :
+ {
+ /* WARNING - the following is hand-optimized to fit within */
+ /* the sector layout of our flash chips! XXX FIXME XXX */
+
+ cpu/arm1136/start.o (.text)
+ board/mx31ads/libmx31ads.a (.text)
+ lib_arm/libarm.a (.text)
+ net/libnet.a (.text)
+ drivers/mtd/libmtd.a (.text)
+
+ . = DEFINED(env_offset) ? env_offset : .;
+ common/environment.o(.text)
+
+ *(.text)
+ }
+
+ . = ALIGN(4);
+ .rodata : { *(.rodata) }
+
+ . = ALIGN(4);
+ .data : { *(.data) }
+
+ . = ALIGN(4);
+ .got : { *(.got) }
+
+ . = .;
+ __u_boot_cmd_start = .;
+ .u_boot_cmd : { *(.u_boot_cmd) }
+ __u_boot_cmd_end = .;
+
+ . = ALIGN(4);
+ __bss_start = .;
+ .bss : { *(.bss) }
+ _end = .;
+}
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 3a0c83d..ae9c21b 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -100,7 +100,6 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
int do_bootelf (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
#endif
#if defined(CONFIG_ARTOS) && defined(CONFIG_PPC)
-extern uchar (*env_get_char)(int); /* Returns a character from the environment */
static boot_os_fn do_bootm_artos;
#endif
diff --git a/include/asm-arm/arch-mx31/mx31-regs.h b/include/asm-arm/arch-mx31/mx31-regs.h
index d04072e..02b7dcb 100644
--- a/include/asm-arm/arch-mx31/mx31-regs.h
+++ b/include/asm-arm/arch-mx31/mx31-regs.h
@@ -138,5 +138,19 @@
#define MUX_CSPI2_MOSI__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MOSI)
#define MUX_CSPI2_MISO__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MISO)
+/*
+ * Memory regions and CS
+ */
+#define IPU_MEM_BASE 0x70000000
+#define CSD0_BASE 0x80000000
+#define CSD1_BASE 0x90000000
+#define CS0_BASE 0xA0000000
+#define CS1_BASE 0xA8000000
+#define CS2_BASE 0xB0000000
+#define CS3_BASE 0xB2000000
+#define CS4_BASE 0xB4000000
+#define CS4_PSRAM_BASE 0xB5000000
+#define CS5_BASE 0xB6000000
+#define PCMCIA_MEM_BASE 0xC0000000
#endif /* __ASM_ARCH_MX31_REGS_H */
diff --git a/include/configs/mx31ads.h b/include/configs/mx31ads.h
new file mode 100644
index 0000000..78e2545
--- /dev/null
+++ b/include/configs/mx31ads.h
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2008, Guennadi Liakhovetski <lg@denx.de>
+ *
+ * Configuration settings for the MX31ADS Freescale board.
+ *
+ * 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 __CONFIG_H
+#define __CONFIG_H
+
+#include <asm/arch/mx31-regs.h>
+
+ /* High Level Configuration Options */
+#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_DISPLAY_CPUINFO
+#define CONFIG_DISPLAY_BOARDINFO
+
+/*
+ * Disabled for now due to build problems under Debian and a significant increase
+ * in the final file size: 144260 vs. 109536 Bytes.
+ */
+#if 0
+#define CONFIG_OF_LIBFDT 1
+#define CONFIG_FIT 1
+#define CONFIG_FIT_VERBOSE 1
+#endif
+
+#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
+#define CONFIG_SETUP_MEMORY_TAGS 1
+#define CONFIG_INITRD_TAG 1
+
+/*
+ * Size of malloc() pool
+ */
+#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128 * 1024)
+#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
+
+/*
+ * Hardware drivers
+ */
+
+#define CONFIG_MX31_UART 1
+#define CFG_MX31_UART1 1
+
+/* allow to overwrite serial and ethaddr */
+#define CONFIG_ENV_OVERWRITE
+#define CONFIG_CONS_INDEX 1
+#define CONFIG_BAUDRATE 115200
+#define CFG_BAUDRATE_TABLE {9600, 19200, 38400, 57600, 115200}
+
+/***********************************************************
+ * Command definition
+ ***********************************************************/
+
+#include <config_cmd_default.h>
+
+#define CONFIG_CMD_PING
+
+#define CONFIG_BOOTDELAY 3
+
+#define CONFIG_NETMASK 255.255.255.0
+#define CONFIG_IPADDR 192.168.23.168
+#define CONFIG_SERVERIP 192.168.23.2
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "bootargs_base=setenv bootargs console=ttymxc0,115200\0" \
+ "bootargs_nfs=setenv bootargs $(bootargs) root=/dev/nfs ip=dhcp nfsroot=$(serverip):$(nfsrootfs),v3,tcp\0" \
+ "bootcmd=run bootcmd_net\0" \
+ "bootcmd_net=run bootargs_base bootargs_mtd bootargs_nfs; tftpboot 0x80000000 uImage-mx31; bootm\0" \
+ "prg_uboot=tftpboot 0x80000000 u-boot-mx31ads.bin; protect off 0xa0000000 0xa001ffff; erase 0xa0000000 0xa001ffff; cp.b 0x80000000 0xa0000000 $(filesize)\0"
+
+
+#define CONFIG_DRIVER_CS8900 1
+#define CS8900_BASE 0xb4020300
+#define CS8900_BUS16 1 /* follow the Linux driver */
+
+/*
+ * The MX31ADS board seems to have a hardware "peculiarity" confirmed under
+ * U-Boot, RedBoot and Linux: the ethernet Rx signal is reaching the CS8900A
+ * controller inverted. The controller is capable of detecting and correcting
+ * this, but it needs 4 network packets for that. Which means, at startup, you
+ * will not receive answers to the first 4 packest, unless there have been some
+ * broadcasts on the network, or your board is on a hub. Reducing the ARP
+ * timeout from default 5 seconds to 200ms we speed up the initial TFTP
+ * transfer, should the user wish one, significantly.
+ */
+#define CONFIG_ARP_TIMEOUT 200UL
+
+/*
+ * Miscellaneous configurable options
+ */
+#define CFG_LONGHELP /* undef to save memory */
+#define CFG_PROMPT "=> "
+#define CFG_CBSIZE 256 /* Console I/O Buffer Size */
+/* Print Buffer Size */
+#define CFG_PBSIZE (CFG_CBSIZE + sizeof(CFG_PROMPT) + 16)
+#define CFG_MAXARGS 16 /* max number of command args */
+#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
+
+#define CFG_MEMTEST_START 0 /* memtest works on */
+#define CFG_MEMTEST_END 0x10000
+
+#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */
+
+#define CFG_LOAD_ADDR CSD0_BASE /* default load address */
+
+#define CFG_HZ 32000
+
+#define CONFIG_CMDLINE_EDITING 1
+
+/*-----------------------------------------------------------------------
+ * Stack sizes
+ *
+ * The stack sizes are set up in start.S using the settings below
+ */
+#define CONFIG_STACKSIZE (128 * 1024) /* regular stack */
+
+/*-----------------------------------------------------------------------
+ * Physical Memory Map
+ */
+#define CONFIG_NR_DRAM_BANKS 1
+#define PHYS_SDRAM_1 CSD0_BASE
+#define PHYS_SDRAM_1_SIZE (128 * 1024 * 1024)
+
+/*-----------------------------------------------------------------------
+ * FLASH and environment organization
+ */
+#define CFG_FLASH_BASE CS0_BASE
+#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
+#define CFG_MAX_FLASH_SECT 262 /* max number of sectors on one chip */
+#define CFG_MONITOR_BASE CFG_FLASH_BASE /* Monitor at beginning of flash */
+#define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256KiB */
+
+#define CFG_ENV_IS_IN_FLASH 1
+#define CFG_ENV_SECT_SIZE (32 * 1024)
+#define CFG_ENV_SIZE CFG_ENV_SECT_SIZE
+
+/* Address and size of Redundant Environment Sector */
+#define CFG_ENV_OFFSET_REDUND (CFG_ENV_OFFSET + CFG_ENV_SIZE)
+#define CFG_ENV_SIZE_REDUND CFG_ENV_SIZE
+
+/* S29WS256N NOR flash has 4 32KiB small sectors at the beginning and at the end.
+ * The rest of 32MiB is in 128KiB big sectors. U-Boot occupies the low 4 sectors,
+ * if we put environment next to it, we will have to occupy 128KiB for it.
+ * Putting it at the top of flash we use only 32KiB. */
+#define CFG_ENV_ADDR (CFG_MONITOR_BASE + CFG_ENV_SECT_SIZE)
+
+/*-----------------------------------------------------------------------
+ * CFI FLASH driver setup
+ */
+#define CFG_FLASH_CFI 1 /* Flash memory is CFI compliant */
+#define CFG_FLASH_CFI_DRIVER 1 /* Use drivers/cfi_flash.c */
+#define CONFIG_FLASH_SPANSION_S29WS_N 1 /* A non-standard buffered write algorithm */
+#define CFG_FLASH_USE_BUFFER_WRITE 1 /* Use buffered writes (~10x faster) */
+#define CFG_FLASH_PROTECTION 1 /* Use hardware sector protection */
+
+/*
+ * JFFS2 partitions
+ */
+#undef CONFIG_JFFS2_CMDLINE
+#define CONFIG_JFFS2_DEV "nor0"
+
+#endif /* __CONFIG_H */
diff --git a/tools/setlocalversion b/tools/setlocalversion
index 9bbdafd..bbb2ab2 100755
--- a/tools/setlocalversion
+++ b/tools/setlocalversion
@@ -22,4 +22,18 @@ if head=`git rev-parse --verify HEAD 2>/dev/null`; then
| read dummy; then
printf '%s' -dirty
fi
+
+ # Is this git on svn?
+ if git config --get svn-remote.svn.url >/dev/null; then
+ printf -- '-svn%s' "`git-svn find-rev $head`"
+ fi
fi
+
+# Check for svn and a svn repo.
+if rev=`svn info 2>/dev/null` ; then
+ rev=`echo "${rev}" | grep '^Revision' | awk '{print $NF}'`
+ printf -- '-svn%s' $rev
+fi
+
+# Check for any localversion-* files
+printf '%s' "`cat localversion-* 2>/dev/null`"