* Patch by Stephan Linz, 09 Mar 2004
  - Add support for the SSV ADNP/ESC1 (Nios Softcore)

* Patch by George G. Davis, 9 Mar 2004:
  fix recent build failure for SA1100 target

* Patch by Travis Sawyer, 09 Mar 2004:
  Support native interrupt mode for the IBM440GX.
  Previously it was running in 440GP compatibility mode.
diff --git a/doc/README.adnpesc1 b/doc/README.adnpesc1
new file mode 100644
index 0000000..1d3dff2
--- /dev/null
+++ b/doc/README.adnpesc1
@@ -0,0 +1,235 @@
+
+	      SSV ADNP/ESC1 Embedded Softcore Computing
+		 Nios Softcore, Altera Cyclone FPGA
+
+		    Last Update: February 27, 2004
+====================================================================
+
+This file contains information regarding U-Boot and the SSV Embedded
+Nios Softcore Computing platform ADNP/ESC1. For general Nios
+information see doc/README.nios.
+
+Most stuff of this file was borrowed and based on README.dk1s10,
+the Altera DK-1S10 related information file.
+
+For those interested in contributing ... see HELP WANTED section
+in doc/README.nios.
+
+Contents:
+
+	1. Files
+	2. Memory Organization
+	3. CPU Variations
+	4. Examples
+	5. Programming U-Boot into FLASH with GERMS
+	6. Autoboot
+	7. U-Boot environment convention and update philosophy
+
+====================================================================
+
+1. Files
+=========
+	board/ssv/adnpesc1/*
+	include/configs/ADNPESC1.h
+	include/configs/ADNPESC1_base_32.h
+
+
+2. Memory Organization
+=======================
+
+For the most part, you can put things pretty much anywhere.
+This is pretty flexible for Nios. So here we make some arbitrary
+choices & assume that the monitor is placed at the end of a memory
+resource. So you must make sure TEXT_BASE is chosen appropriately.
+This is very important if you plan to move your memory to another
+place as configured at this time!
+ 
+	-The heap is placed below the monitor (U-Boot code).
+	-Global data is placed below the heap.
+	-The stack is placed below global data (&grows down).
+
+(see doc/README.adnpesc1_base32 too)
+
+
+3. CPU Variations
+=================
+
+There are more than one NIOS CPU variation for the ADNP/ESC1 possible.
+U-Boot supports the following CPU configurations:
+
+	- SSV Basis 32 (make ADNPESC1_base_32_config)
+	- SSV Basis 32 at DNP evaluation base board 2
+	  (make ADNPESC1_DNPEVA2_base_32_config)
+
+
+4. Examples
+============
+
+The hello_world example works fine. To try out you have to change
+the default load address from 0x0100_0000 to 0x0204_0000 in
+examples/Makefile (the real SDRAM for default board configuration).
+
+
+5. Programming U-Boot into FLASH with GERMS
+============================================
+
+The current version of the ADNP/ESC1 port with the default
+configuration settings occupies about 97 KBytes of flash.
+A minimal configuration occupies less than 70 KByte
+(network, SPI, POST and board command support disabled). You
+can save more memory by deactivating the Hu-Shell support and
+long command help (CFG_HUSH_PARSER, CFG_LONGHELP).
+
+To program U-Boot into the ADNP/ESC1 flash using GERMS do the
+following:
+
+1. Download U-Boot to its target run space in SDRAM:
+
+   a. Close jumper RCM_EN# and push the reset button.
+
+   b. From the command line, download U-Boot using the
+      nios-run:
+
+	$ nios-run -r u-boot.srec
+
+      NOTE: In some cases this want fail. I don't know why,
+	    but try again.
+
+This takes about 1 minute (GERMS is not very speedy here).
+After u-boot is downloaded it will be executed. You should
+see the following:
+
+    U-Boot 1.0.2 (Jan 30 2004 - 12:59:15)
+
+    CPU: Nios-32 Rev. 3.3 (0x3038)
+    Reg file size: 512 LO_LIMIT/HI_LIMIT: 1/30
+    Board: SSV DilNetPC ADNP/ESC1
+    Conf.: SSV Base 32 (nios_32)
+    In:    serial
+    Out:   serial
+    Err:   serial
+    ADNPESC1 >
+
+
+2. Quit nios-run and start your terminal application (e.g. start
+   Hyperterminal or minicom).
+
+3. Download the u-boot code to RAM. When using Hyperterminal, do the
+   following:
+
+   a. From the u-boot command prompt start a binary download to SDRAM:
+
+      at the SSV Basis 32 to SDRAM:
+
+	==> loadb 2000100
+
+   b. Download u-boot.bin using kermit.
+
+4. From the U-Boot command prompt, erase flash:
+
+   at the SSV Basis 32 from 0x1000000 to 0x103ffff:
+
+	==> protect off 1:0-3
+	==> erase 1:0-3
+
+5. Copy the binary image from SDRAM to flash:
+
+   at the SSV Basis 32 from SDRAM:
+
+	==> cp.b 2000100 1000000 $filesize
+
+U-Boot will now automatically start when the board is powered on or
+reset using the SSV Basis 32 configuration without closed RCM jumper.
+To start U-Boot with closed RCM Jumper, enter the following GERMS
+command:
+
+    + g 1000000
+
+
+6. Autoboot
+===========
+
+U-Boot will try to boot a valid Nios application from Flash. For this
+it will use the deposited Hu-Shell script in environment variable
+'bootcmd' which is looking for a valid Nios application identifier
+string in Flash and go on at even its entry address. For more
+information see the next chapter.
+
+
+7. U-Boot environment convention and update philosophy
+======================================================
+
+U-Boot for the SSV ADNP/ESC1 target knows about many environment
+variables used to control the startup process, update process for
+raw Nios applications, and optionally file system image updates.
+In default configuration there are two Hu-Shell scripts to update
+the Nios application and/or the file system image:
+
+1. Update Nios application (ex. the uCLinux kernel):
+
+	run 'appl_update'
+
+2. Update optional file system image (ex. RomFS image used by uCLinux):
+
+	run 'fs_update'
+
+The Nios application can be any programm code generated in relation
+to the Nios application identifier -- the string "Nios" at offset
+address 0x0c. To use the scripts like described above in a secure way
+you have to check-up the next environment variables:
+
+1. update_allowed
+
+	- Update switch -- must be set to '1' (one) to allow any update
+	- default is '0' (zero)
+
+	  NOTE:	You should avoid to save this variable with non zero
+	  	value to Flash. Otherwise it would be allow any
+		update process at any time!
+
+2. appl_entry_addr
+
+	- Nios application area start address (usually in Flash)
+	- this is the startup address for autoboot 
+	- each Nios application code we want to update will be copied
+	  to this address
+	- default is CFG_ADNPESC1_NIOS_APPL_ENTRY
+
+3. appl_end_addr
+
+	- Nios application area end address (usually in Flash)
+	- will be used to unprotect/erase the Flash area while updating
+	- default is CFG_ADNPESC1_NIOS_APPL_END
+
+4. appl_ident_addr
+
+	- address of the Nios application identification string
+	- this is the address checked-up by autoboot
+	- default is CFG_ADNPESC1_NIOS_APPL_IDENT
+
+5. appl_ident_str
+
+	- the Nios application identification string itself
+	- default is CFG_ADNPESC1_NIOS_IDENTIFIER
+
+6. appl_name
+
+	- name of file we have to download/update
+	- default is ADNPESC1/base32/linux.bin
+
+7. fs_base_addr
+
+	- optionally file system area start address (usually in Flash)
+	- each file system we want to update will be copied to this address
+	- default is CFG_ADNPESC1_FILESYSTEM_BASE
+
+8. fs_end_addr
+
+	- optionally file system area end address (usually in Flash)
+	- will be used to unprotect/erase the Flash area while updating
+	- default is CFG_ADNPESC1_FILESYSTEM_END
+
+9. fs_name
+
+	- name of file we have to download/update
+	- default is ADNPESC1/base32/romfs.img